.advent-calendar,.advent-teaser {
  --advent-night:#171433;
  --advent-paper:#fff1db;
  --advent-pink:#fb9fb9;
  --advent-cherry:#a72250;
  --advent-light:#ffdf7d;
  --advent-display:"Barlow Condensed",Impact,sans-serif;
  color:var(--advent-night);
}
.advent-calendar {max-width:950px;margin:12px auto 56px}
.advent-board-heading {margin:0 0 18px}
.advent-kicker {
  margin:0 0 7px;
  font:800 .83rem/1.2 "Nunito Sans",Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.magazine-paper-page #contenuto.site-page .advent-calendar :is(h1,h2),
.advent-teaser .advent-teaser-copy h2 {
  margin:0;
  font:900 italic clamp(2.7rem,7vw,6rem)/.92 var(--advent-display);
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.magazine-paper-page #contenuto.site-page .advent-board h1.site-page-title {
  display:block;
  max-width:none;
  padding:0;
  background:none;
  color:var(--advent-cherry);
}
.magazine-paper-page #contenuto.site-page .advent-board h1.site-page-title::before,
.magazine-paper-page #contenuto.site-page .advent-board h1.site-page-title::after {display:none}
.advent-intro {margin:12px 0 6px}
.advent-start {font-weight:800;margin:5px 0}
.advent-sky {
  display:grid;
  justify-items:center;
  overflow:hidden;
  padding:clamp(20px,5vw,52px) clamp(10px,3vw,32px) 0;
  background:
    radial-gradient(circle at 9% 16%,#ffeea8 0 2px,transparent 3px),
    radial-gradient(circle at 88% 20%,#ffeea8 0 3px,transparent 4px),
    radial-gradient(circle at 90% 51%,#ffcce1 0 1px,transparent 2px),
    radial-gradient(circle at 17% 43%,#ffcce1 0 1px,transparent 2px),
    radial-gradient(ellipse at bottom,#684568,var(--advent-night) 73%);
}
.advent-building {
  position:relative;
  width:min(92%,700px);
  margin-top:clamp(13px,4vw,44px);
  padding:clamp(12px,3vw,30px) clamp(8px,3vw,34px) 0;
  border:4px solid #742143;
  border-bottom:0;
  background:repeating-linear-gradient(0deg,transparent 0 40px,#76224425 41px 43px),linear-gradient(90deg,#e984a4,var(--advent-pink) 16% 84%,#e984a4);
  box-shadow:14px 0 0 #12102b70;
}
.advent-building::before {
  content:"";
  position:absolute;
  inset:auto -5% calc(100% - 1px);
  height:clamp(17px,6vw,65px);
  background:repeating-linear-gradient(105deg,#6e2347 0 10px,#8c2c52 11px 13px);
  clip-path:polygon(0 100%,12% 19%,43% 19%,50% 0,57% 19%,88% 19%,100% 100%);
  border-bottom:4px solid #4f1735;
}
.advent-grid,.advent-mini-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:clamp(6px,1.7vw,20px);
  margin:0;
  padding:0;
  list-style:none;
}
.advent-grid li {min-width:0;list-style:none;margin:0}
.advent-door,.advent-mini-grid i {
  position:relative;
  display:grid;
  place-content:center;
  border:3px solid #7a2850;
  border-bottom-width:5px;
  border-radius:40% 40% 2px 2px / 20% 20% 2px 2px;
  background:linear-gradient(90deg,transparent 48%,#8a355028 49% 52%,transparent 53%),linear-gradient(#fff2c2,var(--advent-light));
  color:#44152c;
  text-align:center;
  text-decoration:none;
  box-shadow:0 0 12px #fff3ba8a;
}
.advent-door {min-height:clamp(53px,8.5vw,98px);transition:transform .18s ease}
.advent-door-number {font:900 clamp(1.25rem,4.3vw,3.1rem)/.95 var(--advent-display)}
.advent-locked,.advent-mini-grid i:not(.lit) {background:#39264d;color:#fff1dc;box-shadow:none}
.advent-grid a.advent-door:is(:hover,:focus-visible) {transform:translateY(-3px)}
.advent-grid a.advent-door[aria-current] {outline:3px solid #fff3bc;outline-offset:2px}
.advent-door-today {font:900 .63rem/1.1 "Nunito Sans",Arial,sans-serif;text-transform:uppercase}
.advent-entry {
  display:grid;
  place-items:center;
  width:clamp(35px,12%,80px);
  min-height:clamp(34px,7vw,76px);
  margin:clamp(9px,2vw,20px) auto 0;
  border:4px solid #772343;
  border-bottom:0;
  border-radius:48% 48% 0 0 / 27% 27% 0 0;
  color:#ffe6b7;
  background:#583053;
}
.advent-entry span {font:900 italic clamp(1.05rem,3.5vw,2.5rem)/1 var(--advent-display)}
.advent-entry-lit .advent-entry {color:#53162f;background:var(--advent-light);box-shadow:0 0 22px #ffeeae}
.advent-teaser {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:stretch;
  margin:0 0 clamp(19px,3vw,36px);
  background:var(--advent-night);
  color:var(--advent-paper);
}
.advent-teaser-copy {
  display:grid;
  align-content:center;
  justify-items:start;
  gap:9px;
  padding:clamp(16px,4.5vw,53px);
}
.advent-teaser-copy p {margin:0;color:var(--advent-paper)}
.advent-teaser-copy .advent-kicker {color:#ffacd0}
.advent-teaser .advent-teaser-copy h2 {color:var(--advent-light);font-size:clamp(2rem,5.7vw,5.9rem);overflow-wrap:anywhere}
.advent-mini {align-items:end;padding-top:23px}
.advent-mini-grid {gap:clamp(2px,.7vw,9px)}
.advent-mini-grid i {aspect-ratio:1;min-height:0;border-width:2px}
.advent-mini .advent-building {width:min(100%,330px);padding:clamp(5px,1.5vw,17px) clamp(4px,1.2vw,15px) 0}
.advent-mini .advent-entry {min-height:32px;margin-top:7px}
.advent-action,.advent-card figcaption :is(a,button) {
  display:inline-block;
  padding:10px 14px;
  border:2px solid #5e163c;
  background:var(--advent-light);
  color:#431332;
  font:900 .9rem/1.25 "Nunito Sans",Arial,sans-serif;
  text-decoration:none;
}
.advent-action:hover,.advent-card figcaption :is(a,button):hover {background:#fff2c2}
.advent-teaser .advent-action {margin-top:3px;border-color:var(--advent-light)}
.advent-content {
  margin:22px 0 0;
  padding:clamp(18px,4vw,40px);
  border:2px solid #8a2153;
  background:#ffe6f1;
  scroll-margin-top:22px;
}
.advent-content time {display:inline-block;margin-bottom:12px;color:#7b204b;font-weight:900}
.advent-content :is(p,blockquote) {max-width:65ch;line-height:1.55}
.advent-content .advent-gospel {margin:18px 0;padding:10px 15px;border-left:3px solid var(--advent-cherry)}
.advent-gospel cite {display:block;font-size:.85rem}
.advent-message {padding:15px;background:#fff6e1}
.advent-message p {margin:5px 0 12px}
.advent-extra {margin-top:18px}
.advent-extra summary,.advent-card button {cursor:pointer}
.advent-card {margin:18px 0 0}
.advent-card img {display:block;width:min(100%,380px);height:auto}
.advent-card figcaption {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}
.advent-card button[hidden] {display:none}
:is(.advent-calendar,.advent-teaser) :focus-visible {outline:3px solid #a72250;outline-offset:3px}
.advent-teaser :focus-visible {outline-color:#fff}
@media(max-width:660px) {
  .advent-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
  .advent-teaser {grid-template-columns:1.25fr 1fr}
  .advent-mini {padding-inline:6px}
  .advent-mini .advent-building {margin-top:9px;border-width:2px}
  .advent-mini-grid i {border-width:1px}
}
@media(prefers-reduced-motion:reduce) {.advent-door {transition:none}}
