/* The invitation sits beside the introduction and overlaps the poster on phones. */
.series-feature{display:grid;grid-template-columns:minmax(0,1fr) 240px;grid-template-areas:'heading promo' 'poster poster' 'programme programme';column-gap:48px;row-gap:28px;align-items:center}
.series-heading{grid-area:heading;min-width:0}
.series-heading .series-eyebrow{width:100%;max-width:none;margin:0 0 12px}
.series-heading .hero-launch{width:100%;max-width:none;margin:0;padding:0}
.calendar-promo{grid-area:promo;position:relative;top:auto;right:auto;justify-self:end;align-self:center;width:240px;margin:0;padding:27px;gap:11px}
.calendar-promo strong{font-size:24px}
.calendar-promo .promo-description{font-size:12px}
.poster-figure{grid-area:poster}
.programme-link{grid-area:programme;justify-self:end;width:fit-content;margin:0 0 0 auto}
.channel-link{display:inline-flex;width:fit-content;margin:22px auto 0;padding:13px 25px}
.calendar-section .section-heading .calendar-kicker{display:inline-block;font-family:'Caveat Brush',cursive;font-size:34px;font-weight:400;line-height:1.25;letter-spacing:0;text-transform:none;transform:rotate(-4deg);transform-origin:center;margin:0 auto 23px}
.calendar-section .section-heading>p:last-child{max-width:660px;margin-inline:auto}

/* A soft, feathered veil over the child, behind the glass doors. */
.nativity-soft-focus{position:absolute;left:31%;top:60%;width:51%;height:23%;pointer-events:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);mask-image:radial-gradient(ellipse at center,#000 53%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 53%,transparent 72%)}
.advent-kids-door,.advent-kids-windows>li[data-sunday=true] .advent-kids-door{background:rgb(var(--door-tint) / .22);backdrop-filter:blur(7px) saturate(.75);-webkit-backdrop-filter:blur(7px) saturate(.75)}
.advent-kids-shutters>span{background:linear-gradient(125deg,#ffffff42,transparent 38%,rgb(var(--door-tint) / .32) 70%,#ffffff15),rgb(var(--door-tint) / .37)}
.advent-kids-door time,.advent-kids-door:not([data-opened=true]) time{--date-disc:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;gap:0;width:var(--date-disc);height:var(--date-disc);padding:4px;border:1px solid #f4daa347;border-radius:50%;background:#001225c9;box-shadow:0 2px 10px #00122566,inset 0 1px 3px #fff1c412}
.advent-kids-door time strong{font-size:28px;line-height:1}
.advent-kids-door time>span{font-size:8px;line-height:1.05}
.advent-kids-door time::after{right:2px;top:0}
.advent-kids-door[data-opened=true],.advent-kids-windows>li[data-sunday=true] .advent-kids-door[data-opened=true]{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.advent-kids-door[data-opened=true] time{--date-disc:25px;border-radius:50%;padding:2px;left:4px;bottom:4px}
.advent-kids-door[data-opened=true] time strong{font-size:11px}
.advent-kids-door[data-opened=true] time>span{font-size:6px}

/* FAQ cards echo the dark, softly tinted reference cards. */
.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0;align-items:start}
.faq-list details{--faq-tint:140 61 96;position:relative;isolation:isolate;overflow:hidden;border:1px solid #b9ddf026;border-radius:15px;background:#061b29;box-shadow:0 6px 22px #00000012;transition:transform .25s,border-color .25s,box-shadow .25s}
.faq-list details:nth-child(2){--faq-tint:172 139 57}
.faq-list details:nth-child(3){--faq-tint:117 76 158}
.faq-list details:nth-child(4){--faq-tint:43 123 174}
.faq-list details::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 130% at 105% 90%,rgb(var(--faq-tint) / .28),transparent 80%);transition:opacity .3s,transform .4s}
.faq-list details:hover,.faq-list details:focus-within{transform:translateY(-3px);border-color:rgb(var(--faq-tint) / .7);box-shadow:0 12px 28px #0003}
.faq-list details:hover::before,.faq-list details[open]::before{transform:scale(1.2);opacity:.9}
.faq-list details[open]{border-color:rgb(var(--faq-tint) / .6)}
.faq-list summary{padding:23px 20px;min-height:108px;font-size:15px;font-weight:600;line-height:1.45}
.faq-list summary>span{flex:none;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#ffffff09;color:#e9d494;-webkit-text-fill-color:currentColor;filter:none;transition:transform .25s}
.faq-list details p{padding:0 20px 23px;font-size:13px;margin:0;color:#b9cbd7}
.faq-list details[open] p{animation:faq-answer-in .3s ease-out both}
@keyframes faq-answer-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.footer-association{align-items:center}
.footer-top .footer-association p{margin:0}
.footer-association img{align-self:center;object-fit:contain;flex:none}
.footer-bottom{flex-wrap:wrap;align-items:center;gap:9px 24px}
.footer-bottom nav{flex-wrap:wrap;justify-content:flex-end;gap:2px 22px}

@media(min-width:761px) and (max-width:1100px){
  .series-feature{grid-template-columns:minmax(0,1fr) 220px;column-gap:30px}
  .calendar-promo{width:220px;padding:25px;gap:9px}
  .calendar-promo>.icon{width:24px;height:24px}
  .calendar-promo strong{font-size:22px}
  .calendar-promo .promo-description{font-size:11px}
  .faq-list{grid-template-columns:1fr}
  .faq-list summary{min-height:84px}
}
@media(max-width:760px){
  .series-feature{grid-template-columns:minmax(0,480px);grid-template-areas:'heading' 'poster' 'programme';justify-content:center;gap:28px}
  .series-heading{padding-bottom:18px}
  .calendar-promo{grid-area:poster;position:relative;align-self:start;justify-self:end;width:150px;margin:-36px -5px 0 0;padding:17px;gap:6px;transform:rotate(6deg)}
  .calendar-promo::after{inset:5px}
  .calendar-promo>.icon{width:17px;height:17px}
  .calendar-promo strong{font-size:16px;letter-spacing:-.25px}
  .calendar-promo .promo-description{font-size:9px;line-height:1.35;max-width:114px}
  .poster-figure{width:100%;margin:0}
  .programme-link{font-size:11px;padding:13px 16px}
  .calendar-section .section-heading .calendar-kicker{font-size:29px;margin-bottom:22px}
  .advent-kids-door time,.advent-kids-door:not([data-opened=true]) time{--date-disc:clamp(31px,9vw,44px);padding:2px}
  .advent-kids-door time strong{font-size:clamp(20px,5.5vw,27px)}
  .advent-kids-door time>span{font-size:7px}
  .advent-kids-door[data-opened=true] time{--date-disc:23px}
  .advent-kids-door[data-opened=true] time strong{font-size:10px}
  .advent-kids-door[data-opened=true] time>span{font-size:6px}
  .nativity-soft-focus{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .faq-list{grid-template-columns:1fr}
  .faq-list summary{min-height:86px;padding:21px 19px;font-size:14px}
  .footer-bottom nav{justify-content:flex-start;gap:0 18px}
}
@media(max-width:370px){
  .calendar-promo{width:136px;padding:15px;gap:5px}
  .calendar-promo strong{font-size:15px}
  .calendar-promo .promo-description{font-size:8px}
  .calendar-promo>.icon{width:15px;height:15px}
  .programme-link{font-size:10px;padding-inline:13px}
  .footer-association img{display:block;width:28px;height:28px}
  .footer-association{gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .faq-list details,.faq-list details::before,.faq-list summary>span{transition:none}
  .faq-list details:hover,.faq-list details:focus-within,.faq-list details:hover::before,.faq-list details[open]::before{transform:none}
  .faq-list details[open] p{animation:none}
}
@media(forced-colors:active){.faq-list details{border:1px solid CanvasText}.faq-list details::before{display:none}.faq-list summary>span{color:CanvasText}.advent-kids-door time{border-color:CanvasText}}
