/* Original supplied artwork with its navy background removed (transparent PNG), so it sits on any dark background;
   brand/book-a-santa-call-dark.png keeps the background for places that need one (search results). */
.brand-logo{display:block;width:132px;height:auto;aspect-ratio:1600 / 1167;object-fit:contain;flex-shrink:0}
a:has(> .brand-logo){display:inline-flex;flex-shrink:0;text-decoration:none;line-height:1}
footer .brand-logo{width:180px;margin-bottom:18px}
@media(max-width:600px){.brand-logo{width:104px}footer .brand-logo{width:160px}}
header button.mobile-menu-toggle{display:none}
@media(max-width:1000px){
 header [data-nav-container],header[data-nav-container]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0}
 header button.mobile-menu-toggle{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-width:108px;min-height:48px;padding:12px 16px;border:1px solid #58657c;border-radius:12px;background:#141d30;color:#fff;font:800 16px 'Nunito Sans',system-ui,sans-serif;cursor:pointer}
 .mobile-menu-icon{position:relative;width:18px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
 .mobile-menu-icon::after{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}
 .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon{border:0}
 .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::before,.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::after{content:"";position:absolute;left:0;right:0;top:6px;border-top:2px solid currentColor;transform:rotate(45deg)}
 .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon::after{transform:rotate(-45deg)}
 header nav[data-mobile-nav]{display:none;flex:1 0 100%;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:12px 18px 18px;border:1px solid #35425b;border-radius:18px;background:#111a2c;box-shadow:0 16px 36px #0004;max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}
 header nav[data-mobile-nav][data-expanded="true"]{display:flex;flex-direction:column;align-items:stretch;gap:0}
 header nav[data-mobile-nav] a,header nav[data-mobile-nav] button{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;min-height:54px;min-width:0;padding:14px 8px;margin:0;border:0;border-bottom:1px solid #2b374d;border-radius:0;background:transparent;color:#f8f6ef;font:700 18px/1.4 'Nunito Sans',system-ui,sans-serif;letter-spacing:0;text-align:left;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
 header nav[data-mobile-nav] a::after{content:"›";color:#afbad0;font-size:24px;line-height:1;margin-left:16px}
 header nav[data-mobile-nav] a:hover,header nav[data-mobile-nav] a[aria-current="page"]{color:#ffdb7b;background:#1b2840}
 header nav[data-mobile-nav] a[href="/book"]{justify-content:center;gap:16px;min-height:56px;margin-top:16px;padding:14px 20px;background:#c62332;color:#fff;border:1px solid #f16b72;border-radius:12px;font-weight:800;box-shadow:0 4px 12px #0003}
 header nav[data-mobile-nav] a[href="/book"]::after{content:"→";color:inherit;margin:0;font-size:22px}
 header nav[data-mobile-nav] [hidden]{display:none}
 .mobile-menu-toggle:focus-visible,header nav[data-mobile-nav] a:focus-visible,header nav[data-mobile-nav] button:focus-visible{outline:3px solid #ffdb7b;outline-offset:3px}

}
@media(max-width:600px){
 input,select,textarea{font-size:16px}
 .d125{padding-top:32px;gap:32px}
 .d134,.d135{height:auto;min-height:52px;padding:14px 22px;text-align:center;justify-content:center}
 .d131{font-size:clamp(34px,10vw,46px)}
 .d132{font-size:17px}
 .d139{border-radius:14% / 19%}
}

.instant-call-card{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:24px;margin:0 0 28px;border:1px solid #927038;border-radius:22px;background:linear-gradient(120deg,#19243a,#211c29);color:#f8f5ec}.instant-call-card>div{flex:1 1 320px}.instant-call-card h2{font:700 30px 'Playfair Display',Georgia,serif;margin:6px 0 12px}.instant-call-card p{line-height:1.6;margin:0}.instant-call-card .eyebrow{color:#ffdb7b;font-size:12px;letter-spacing:.12em}.instant-call-card button{min-height:54px;padding:14px 22px;border:0;border-radius:14px;background:#d6202a;color:white;font:800 17px 'Nunito Sans',sans-serif;cursor:pointer}@media(max-width:600px){.instant-call-card button{width:100%}}

.booking-zone-summary{padding:16px 20px;margin:0;border-top:1px solid #35415e;color:#ffdb7b;font-size:15px;line-height:1.6}.zone-edit{margin:0 20px 20px;padding:12px;border:1px solid #65718a;border-radius:12px;background:#162036;color:white;font:700 15px 'Nunito Sans',sans-serif;cursor:pointer}

.timezone-help{flex-basis:100%;margin:8px 0;color:#c3cbd9;font-size:14px;line-height:1.5}.time-tabs{flex-wrap:wrap}

.instant-options{flex-basis:100%;display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid #655238;padding-top:18px}.instant-options p{flex-basis:100%}.instant-options button{font-size:15px;background:#162036;border:1px solid #65718a}.instant-options button:disabled{opacity:.5;cursor:not-allowed}
/* Cookie choice (analytics.js): a bar at the bottom that never blocks the page; both answers look the same. */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1000;box-sizing:border-box;max-width:820px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 20px;border-radius:16px;background:#111a2d;border:1px solid #22304b;box-shadow:0 14px 40px rgba(0,0,0,.5);color:#eef0f5;font:15px/1.5 'Nunito Sans',system-ui,sans-serif}
.cookie-banner p{margin:0;flex:1 1 340px}
.cookie-banner strong{color:#fff}
.cookie-banner a{color:#f5b731}
.cookie-banner-actions{display:flex;gap:10px;flex:0 0 auto}
.cookie-banner button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid #f5b731;background:transparent;color:#fff;font:800 15px 'Nunito Sans',system-ui,sans-serif;cursor:pointer}
.cookie-banner button:hover{background:#f5b731;color:#0b1120}
.cookie-banner button:focus-visible,.cookie-banner a:focus-visible{outline:3px solid #f5b731;outline-offset:3px}
@media(max-width:560px){.cookie-banner{left:12px;right:12px;padding:14px 16px}.cookie-banner-actions{width:100%}.cookie-banner button{flex:1}}
@media print{.cookie-banner,.sticky-book{display:none}}
/* Grown-up check on kids' pages (navigation.js): a Christmas card over the page, candy-cane top, everything centred. */
.grownup-gate{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);margin:auto;padding:0;border:0;border-radius:28px;background:transparent;color:#eef0f5;font-family:'Nunito Sans',system-ui,sans-serif;overflow:auto}
.grownup-gate::backdrop{background:rgba(5,9,22,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.grownup-gate[open]{animation:grownup-pop .22s ease-out}
body:has(.grownup-gate[open]){overflow:hidden}
.grownup-gate-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;padding:46px 28px 28px;border-radius:28px;text-align:center;
 background:radial-gradient(circle at 15% 12%,rgba(255,212,105,.2),transparent 45%),radial-gradient(circle at 90% 95%,rgba(61,220,132,.12),transparent 40%),linear-gradient(160deg,#8e0f17 0%,#4a0f22 45%,#111c40 100%);
 border:2px solid rgba(245,183,49,.6);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 6px rgba(245,183,49,.08),inset 0 1px 0 rgba(255,255,255,.18)}
.grownup-gate-card::before{content:'';position:absolute;left:0;right:0;top:0;height:12px;background:repeating-linear-gradient(-45deg,#d6202a 0 12px,#fff 12px 24px)}
.grownup-gate-card::after{content:'';position:absolute;inset:12px 0 0;pointer-events:none;opacity:.35;background:radial-gradient(circle at 23px 17px,rgba(255,255,255,.7) 1.2px,transparent 1.9px),radial-gradient(circle at 71px 49px,rgba(255,255,255,.7) .9px,transparent 1.6px),radial-gradient(circle at 140px 21px,rgba(255,255,255,.7) 1.4px,transparent 2.1px),radial-gradient(circle at 37px 96px,rgba(255,255,255,.7) 1px,transparent 1.7px),radial-gradient(circle at 118px 118px,rgba(255,255,255,.7) 1.3px,transparent 2px);background-size:160px 140px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 60%);mask-image:linear-gradient(180deg,#000,transparent 60%)}
.grownup-gate-card>*{position:relative;z-index:1}
.grownup-gate-icon{margin:0;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;font-size:42px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff0b0,#f5a623 60%,#a1680c);box-shadow:0 10px 22px rgba(0,0,0,.45),inset 0 -4px 8px rgba(0,0,0,.2)}
.grownup-gate-title{margin:4px 0 0;font-family:'Playfair Display',Georgia,serif;font-size:32px;line-height:1.1;font-weight:700;color:#fff}
.grownup-gate-text{margin:0;max-width:36ch;font-size:16px;line-height:1.55;color:#f1dfe3}
.grownup-gate-question{margin-top:8px;font-size:23px;line-height:1.3;font-weight:900;color:#ffd469}
.grownup-gate-answer{box-sizing:border-box;width:150px;height:66px;padding:0 12px;border:2px solid #f5b731;border-radius:18px;background:#0b1120;color:#fff;font-size:32px;font-weight:900;text-align:center;box-shadow:inset 0 3px 8px rgba(0,0,0,.4)}
.grownup-gate-answer:focus-visible{outline:3px solid #fff;outline-offset:3px}
.grownup-gate-error{margin:0;min-height:1.5em;font-size:16px;font-weight:800;color:#ffd0d3}
.grownup-gate-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.grownup-gate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}
.grownup-gate-actions button{flex:1 1 120px;min-height:56px;padding:0 22px;border-radius:999px;font:900 17px 'Nunito Sans',system-ui,sans-serif;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.grownup-gate-continue{border:0;color:#fff;background:linear-gradient(180deg,#ff5a61 0%,#e0242d 52%,#b3141c 100%);box-shadow:0 5px 0 #7d0d13,0 12px 26px rgba(214,32,42,.4),inset 0 1px 0 rgba(255,255,255,.4)}
.grownup-gate-continue:active{transform:translateY(4px);box-shadow:0 1px 0 #7d0d13,0 6px 14px rgba(214,32,42,.35),inset 0 1px 0 rgba(255,255,255,.3)}
.grownup-gate-cancel{border:2px solid rgba(255,255,255,.6);background:transparent;color:#fff}
.grownup-gate-cancel:hover{background:rgba(255,255,255,.12)}
.grownup-gate-actions button:focus-visible{outline:3px solid #ffd469;outline-offset:3px}
@keyframes grownup-pop{from{opacity:0;transform:translateY(14px) scale(.96)}}
/* Phones: nearer the top, so the number keyboard doesn't cover it. */
@media(max-width:600px){.grownup-gate{margin-top:max(16px,5vh)}.grownup-gate-card{padding:42px 20px 22px}.grownup-gate-title{font-size:28px}}
@media(prefers-reduced-motion:reduce){.grownup-gate[open]{animation:none}.grownup-gate-actions button{transition:none}}
/* Currency menu in the footer (navigation.js) and beside the booking total (booking-design.js). */
.currency-switch{display:inline-flex;align-items:center;gap:6px;margin-left:6px;white-space:nowrap}
.currency-switch select,.currency-select{min-height:32px;padding:2px 8px;border:1px solid #3a4866;border-radius:8px;background:#111a2d;color:#eef0f5;font:600 13px 'Nunito Sans',system-ui,sans-serif;cursor:pointer}
.currency-select{margin-left:8px;vertical-align:middle}

/* Phones: the footer is centred, like most sites on mobile (logo, text, link lists, badges and the small print).
   Structural selectors, because the footer's generated class names change when the design is recompiled. */
@media (max-width:760px){
 footer{text-align:center}
 footer>div>div:first-child{flex-direction:column;align-items:center}
 footer>div>div:first-child>div,footer nav{align-items:center}
 footer>div>div:first-child>div>a,footer a[href="/contact"]{justify-content:center}
 footer .brand-logo{margin-inline:auto}
 footer p{margin-inline:auto}
 footer>div>div:nth-child(2),footer>div>div:nth-child(3){justify-content:center}
}

/* Showcase call to action (homepage bottom and the Santa Tracker page): real Santa photo, checklist, big button */
.showcase-cta{max-width:1240px;margin:0 auto;padding:40px 20px 80px}
.showcase-cta-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:center;padding:52px;border-radius:36px;
 background:radial-gradient(circle at 12% 18%,rgba(255,212,105,.2),transparent 42%),radial-gradient(circle at 90% 90%,rgba(61,220,132,.12),transparent 40%),linear-gradient(135deg,#8e0f17 0%,#4a0f22 42%,#111c40 100%);
 border:1px solid rgba(245,183,49,.5);box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 6px rgba(245,183,49,.07),inset 0 1px 0 rgba(255,255,255,.15)}
.showcase-cta-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 23px 17px,rgba(255,255,255,.6) 1.2px,transparent 1.9px),radial-gradient(circle at 71px 9px,rgba(255,255,255,.6) 0.9px,transparent 1.6px),radial-gradient(circle at 140px 31px,rgba(255,255,255,.6) 1.4px,transparent 2.1px),radial-gradient(circle at 205px 12px,rgba(255,255,255,.6) 1px,transparent 1.7px),radial-gradient(circle at 37px 66px,rgba(255,255,255,.6) 1px,transparent 1.7px),radial-gradient(circle at 118px 78px,rgba(255,255,255,.6) 1.3px,transparent 2.0px),radial-gradient(circle at 182px 59px,rgba(255,255,255,.6) 0.8px,transparent 1.5px),radial-gradient(circle at 226px 92px,rgba(255,255,255,.6) 1.2px,transparent 1.9px),radial-gradient(circle at 64px 121px,rgba(255,255,255,.6) 1.4px,transparent 2.1px),radial-gradient(circle at 151px 133px,rgba(255,255,255,.6) 1px,transparent 1.7px),radial-gradient(circle at 9px 148px,rgba(255,255,255,.6) 0.9px,transparent 1.6px),radial-gradient(circle at 199px 161px,rgba(255,255,255,.6) 1.3px,transparent 2.0px),radial-gradient(circle at 98px 170px,rgba(255,255,255,.6) 0.8px,transparent 1.5px);background-size:241px 187px;
 -webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%);opacity:.35}
.showcase-cta-text,.showcase-cta-photo{position:relative}
.showcase-cta-eyebrow{margin:0;font-size:13px;font-weight:900;letter-spacing:.16em;color:#ffd469}
.showcase-cta-title{margin:12px 0 14px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4.4vw,54px);line-height:1.05;font-weight:700;color:#fff}
.showcase-cta-title span{color:#ffd469}
.showcase-cta-lead{margin:0;font-size:18px;line-height:1.6;color:#f1dfe3}
.showcase-cta-list{list-style:none;margin:22px 0 28px;padding:0;display:grid;gap:10px}
.showcase-cta-list li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:800;color:#fff}
.showcase-cta-list li::before{content:'✓';flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(180deg,#ffe08a,#f5a623);color:#3a2300;font-size:14px;font-weight:900;box-shadow:0 3px 0 #a1680c}
.showcase-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.showcase-cta-book{display:inline-flex;align-items:center;height:62px;padding:0 32px;border-radius:999px;color:#fff!important;font-size:19px;font-weight:900;text-decoration:none;
 background:linear-gradient(180deg,#ff5a61 0%,#e0242d 52%,#b3141c 100%);box-shadow:0 6px 0 #7d0d13,0 16px 34px rgba(214,32,42,.45),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .12s ease,box-shadow .12s ease}
.showcase-cta-book:hover{transform:translateY(-2px)}
.showcase-cta-book:active{transform:translateY(5px);box-shadow:0 1px 0 #7d0d13,0 8px 16px rgba(214,32,42,.35),inset 0 1px 0 rgba(255,255,255,.3)}
.showcase-cta-more{font-size:16px;font-weight:900;color:#ffd469!important;text-decoration:none;border-bottom:2px solid rgba(255,212,105,.5);padding-bottom:2px}
.showcase-cta-photo img{display:block;width:100%;height:auto;border-radius:26px;border:5px solid #fff;box-shadow:0 24px 50px rgba(0,0,0,.5);transform:rotate(2.2deg)}
.showcase-cta-live{position:absolute;top:18px;left:18px;margin:0;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#d6202a;color:#fff;font-size:12px;font-weight:900;letter-spacing:.12em;box-shadow:0 6px 16px rgba(0,0,0,.35);transform:rotate(2.2deg)}
.showcase-cta-live::before{content:'';width:8px;height:8px;border-radius:50%;background:#fff;animation:showcase-pulse 1.4s ease-in-out infinite}
@media (max-width:899px){.showcase-cta{padding:32px 12px 64px}.showcase-cta-card{grid-template-columns:1fr;gap:28px;padding:28px 22px 32px;border-radius:28px}.showcase-cta-photo{order:-1}.showcase-cta-book{width:100%;justify-content:center}}
@keyframes showcase-pulse{50%{opacity:.25;transform:scale(.7)}}

/* Two menu links stand out, in one calm colour: the Santa Tracker and the kids' activities (owner, 23 Oct 2026). */
header a:is([href="/santa-tracker"],[href="/christmas-activities-for-kids"]),.site-menu-links a:is([href="/santa-tracker"],[href="/christmas-activities-for-kids"]){color:#ffd469!important}

/* Homepage: the Santa Tracker banner low on the page, before the FAQ (whole card is the link). */
.home-tracker{max-width:1240px;margin:0 auto;padding:24px 20px 56px}
.home-tracker-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:28px;padding:44px 0 44px 52px;border-radius:36px;
 background:radial-gradient(ellipse at 75% 50%,#1d3a86 0%,#0d1838 55%,#070c1d 100%);border:1px solid #2d4a8e;box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 90px rgba(80,140,255,.12);transition:transform .2s ease,box-shadow .2s ease}
.home-tracker-card:hover{transform:translateY(-3px);box-shadow:0 36px 80px rgba(0,0,0,.55),0 0 0 4px rgba(255,212,105,.25)}
.home-stars{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.home-star{position:absolute;width:var(--s,2px);height:var(--s,2px);border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.85);animation:home-twinkle ease-in-out infinite}
.home-star[data-sparkle]{width:auto;height:auto;background:none;box-shadow:none;color:#fff3c4;font-size:15px;line-height:1;text-shadow:0 0 8px rgba(255,230,160,.9)}
@keyframes home-twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
.home-tracker-text{position:relative;z-index:1}
.home-tracker-kicker{margin:0;font-size:13px;font-weight:900;letter-spacing:.16em;color:#3ddc84}
.home-tracker-title{margin:12px 0 12px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4.8vw,60px);line-height:1.03;font-weight:700;color:#fff}
.home-tracker-title span{display:block;color:#ffd469}
.home-tracker-lead{margin:0 0 26px;max-width:520px;font-size:18px;line-height:1.6;color:#c9d3e8}
.home-tracker-button{display:inline-flex;align-items:center;height:60px;padding:0 30px;border-radius:999px;color:#2b1a00!important;font-size:19px;font-weight:900;text-decoration:none;background:linear-gradient(180deg,#ffe08a,#f5a623);box-shadow:0 6px 0 #a1680c,0 16px 30px rgba(245,166,35,.35),inset 0 1px 0 rgba(255,255,255,.5)}
.home-tracker-button::after{content:'';position:absolute;inset:0;border-radius:36px}
.home-tracker-art{position:relative;align-self:stretch;min-height:360px}
.home-tracker-art img{position:absolute;right:-30px;top:50%;width:min(560px,115%);height:auto;transform:translateY(-50%);border-radius:50%;
 -webkit-mask-image:radial-gradient(circle,#000 62%,transparent 71%);mask-image:radial-gradient(circle,#000 62%,transparent 71%)}
.home-tracker-sleigh{position:absolute;left:-6%;top:6%;width:62%;filter:drop-shadow(0 0 22px rgba(255,200,90,.55));animation:home-sleigh 5s ease-in-out infinite}
.home-tracker-sleigh svg{display:block;width:100%;height:auto}
@keyframes home-sleigh{50%{transform:translate(14px,-12px) rotate(-3deg)}}

/* Homepage cards with a Christmas feel. Structural selectors: the cards' generated class names change when the
   supplied design is recompiled. */
/* Owner, 23 Oct 2026: this part of the homepage felt noisy, and on iPad four cards fell into three plus one. One card
   style and one gold accent here, and rows that always split evenly: four, two or one across, never three plus one. */
.blend-preview :is(section[aria-labelledby="h-holidays"],section[aria-labelledby="h-how"],section[aria-labelledby="h-personal"],section[aria-labelledby="h-devices"],section[aria-labelledby="h-ai"]) h2{font-size:clamp(28px,3.2vw,40px);line-height:1.15}
/* Holiday days: four plain cards with a gold date tag; the whole card is the link. */
.blend-preview section[aria-labelledby="h-holidays"]>div{padding:0;background:none;border:0}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:first-child>div:first-child{max-width:860px}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a{gap:8px;padding:22px;border-radius:20px;background:#111a2d;border:1px solid #22304b;transition:border-color .2s ease,transform .2s ease}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a:hover{border-color:#5a4520;transform:translateY(-3px)}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a span:first-child{align-self:flex-start;padding:5px 12px;border-radius:999px;background:#2a2414;border:1px solid #5a4520;color:#ffd469;font-size:12px}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a span:last-child{margin-top:auto;padding-top:6px;color:#f5b731;font-size:14px}
.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a span:last-child::after{content:" →"}
/* How it works: a string of twinkling lights, and each step hangs like a bauble. */
.blend-preview section[aria-labelledby="h-how"] ol{position:relative;counter-reset:bauble;padding-top:64px}
.blend-preview section[aria-labelledby="h-how"] ol::before{content:'';position:absolute;left:0;right:0;top:0;height:40px;animation:xmas-twinkle 2.4s ease-in-out infinite;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cpath d='M0 6Q30 22 60 6T120 6' stroke='%23365a2a' stroke-width='2.4' fill='none'/%3E%3Crect x='27' y='13' width='6' height='5' rx='1' fill='%23786a4a'/%3E%3Cellipse cx='30' cy='24' rx='5.5' ry='7.5' fill='%23ff4a52'/%3E%3Crect x='57' y='6' width='6' height='5' rx='1' fill='%23786a4a'/%3E%3Cellipse cx='60' cy='17' rx='5.5' ry='7.5' fill='%23ffd469'/%3E%3Crect x='87' y='13' width='6' height='5' rx='1' fill='%23786a4a'/%3E%3Cellipse cx='90' cy='24' rx='5.5' ry='7.5' fill='%233ddc84'/%3E%3C/svg%3E") repeat-x 0 0/120px 40px;filter:drop-shadow(0 0 6px rgba(255,220,140,.6))}
@keyframes xmas-twinkle{50%{filter:drop-shadow(0 0 2px rgba(255,220,140,.3)) brightness(.8)}}
.blend-preview section[aria-labelledby="h-how"] ol>li{position:relative;counter-increment:bauble;padding-top:52px;overflow:visible}
.blend-preview section[aria-labelledby="h-how"] ol>li::before{content:counter(bauble);position:absolute;top:-30px;left:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:900 24px 'Nunito Sans',system-ui,sans-serif;color:#fff;
 background:radial-gradient(circle at 35% 30%,#ff9aa0,#d6202a 55%,#8e0c13);box-shadow:0 10px 20px rgba(0,0,0,.4),inset 0 -4px 8px rgba(0,0,0,.25)}
.blend-preview section[aria-labelledby="h-how"] ol>li:nth-child(2)::before{background:radial-gradient(circle at 35% 30%,#9cf5c4,#1f9d5a 55%,#0f4d2c)}
.blend-preview section[aria-labelledby="h-how"] ol>li:nth-child(3)::before{background:radial-gradient(circle at 35% 30%,#fff0b0,#f5a623 55%,#a1680c);color:#3a2300}
.blend-preview section[aria-labelledby="h-how"] ol>li::after{content:'';position:absolute;top:-38px;left:45px;width:14px;height:10px;border-radius:3px;background:linear-gradient(180deg,#ffe08a,#b8800f)}
.blend-preview section[aria-labelledby="h-how"] ol{grid-template-columns:repeat(3,minmax(0,1fr))}
/* "Answers back": four short points as a simple icon list, not boxes. */
.blend-preview section[aria-labelledby="h-personal"]>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 30px}
.blend-preview section[aria-labelledby="h-personal"]>div:last-child>div{position:relative;padding:0 0 0 58px;background:none;border:0;border-radius:0}
.blend-preview section[aria-labelledby="h-personal"]>div:last-child>div h3::before{content:"✨";position:absolute;left:0;top:-4px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#162036;border:1px solid #2a3654;font-size:20px}
.blend-preview section[aria-labelledby="h-personal"]>div:last-child>div:nth-child(2) h3::before{content:"📖"}
.blend-preview section[aria-labelledby="h-personal"]>div:last-child>div:nth-child(3) h3::before{content:"🌍"}
.blend-preview section[aria-labelledby="h-personal"]>div:last-child>div:nth-child(4) h3::before{content:"💝"}
/* Devices: one quiet row of icons under the paragraph, centred in the card. */
.blend-preview section[aria-labelledby="h-devices"]>div{flex-direction:column;align-items:center;gap:18px;text-align:center}
.blend-preview section[aria-labelledby="h-devices"]>div>div:first-child{flex:none;max-width:780px}
.blend-preview section[aria-labelledby="h-devices"]>div>div:last-child{flex:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}
.blend-preview section[aria-labelledby="h-devices"]>div>div:last-child>div{flex-direction:row;gap:10px;padding:0;background:none}
.blend-preview section[aria-labelledby="h-devices"]>div>div:last-child>div svg{width:24px;height:24px}
@media (max-width:1099px){.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:699px){.blend-preview section[aria-labelledby="h-how"] ol{grid-template-columns:1fr}}
@media (max-width:560px){.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child,.blend-preview section[aria-labelledby="h-personal"]>div:last-child{grid-template-columns:1fr}}
@media (max-width:760px){
 .blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a span:first-child{align-self:center}
 .blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a span:last-child::after{content:none}
 .blend-preview section[aria-labelledby="h-personal"]>div:last-child>div{padding:0}
 .blend-preview section[aria-labelledby="h-personal"]>div:last-child>div h3::before{position:static;margin:0 auto 10px}
 .blend-preview section[aria-labelledby="h-devices"]>div>div:last-child{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:8px 26px}
 .blend-preview section[aria-labelledby="h-devices"]>div>div:last-child>div{flex-direction:column;gap:6px}
}
/* Grandparents: a candy-cane gift tag with a red bow. */
.blend-preview section[aria-labelledby="h-gift"]>div{position:relative;overflow:visible;border:10px solid transparent;background:linear-gradient(#fff8ec,#fff8ec) padding-box,repeating-linear-gradient(45deg,#d6202a 0 14px,#fff 14px 28px) border-box}
.blend-preview section[aria-labelledby="h-gift"]>div::after{content:'';position:absolute;top:-30px;left:50%;width:76px;height:48px;transform:translateX(-50%);
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Cpath d='M32 20C22 2 4 2 6 14C8 26 24 24 32 20Z' fill='%23d6202a'/%3E%3Cpath d='M32 20C42 2 60 2 58 14C56 26 40 24 32 20Z' fill='%23d6202a'/%3E%3Cpath d='M30 20L22 38L28 36L32 24L36 36L42 38L34 20Z' fill='%23a3121a'/%3E%3Ccircle cx='32' cy='20' r='6' fill='%23ff4a52'/%3E%3C/svg%3E") no-repeat center/contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.3))}
/* Price: a gold ribbon, a bow and a dusting of snow. */
.blend-preview #pricing>div:last-child{position:relative;overflow:visible;border:2px solid #f5b731;box-shadow:0 0 0 6px rgba(245,183,49,.12),0 24px 50px rgba(0,0,0,.45)}
.blend-preview #pricing>div:last-child::before{content:'';position:absolute;left:-4px;right:-4px;top:-10px;height:24px;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath d='M0 8Q10 0 20 6T40 6T60 7T80 5T100 7T120 5T140 7T160 5T180 7T200 6V12Q190 22 182 12Q172 20 160 12Q150 24 138 12Q126 18 116 12Q104 22 94 12Q82 18 70 12Q60 22 48 12Q38 18 26 12Q16 22 6 12L0 12Z' fill='white'/%3E%3C/svg%3E") no-repeat 0 0/100% 100%}
.blend-preview #pricing>div:last-child::after{content:'';position:absolute;top:-34px;right:-18px;width:84px;height:54px;transform:rotate(14deg);
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff0b0'/%3E%3Cstop offset='1' stop-color='%23c88a12'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M32 20C22 2 4 2 6 14C8 26 24 24 32 20Z' fill='url(%23g)'/%3E%3Cpath d='M32 20C42 2 60 2 58 14C56 26 40 24 32 20Z' fill='url(%23g)'/%3E%3Cpath d='M30 20L22 38L28 36L32 24L36 36L42 38L34 20Z' fill='%23d39a1a'/%3E%3Ccircle cx='32' cy='20' r='6' fill='%23f5b731'/%3E%3C/svg%3E") no-repeat center/contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
/* FAQ: red and green ribbons down the side of the question cards (the cards themselves are styled below). */
.blend-preview section[aria-labelledby="h-faq"] .faq-item{border-left:4px solid #d6202a}
.blend-preview section[aria-labelledby="h-faq"] .faq-item:nth-of-type(even){border-left-color:#3ddc84}
@media (max-width:760px){
 .home-tracker{padding:16px 12px 40px}
 .home-tracker-card{grid-template-columns:1fr;padding:28px 22px 30px;border-radius:28px;gap:6px}
 .home-tracker-art{order:-1;min-height:260px}
 .home-tracker-art img{right:50%;transform:translate(50%,-50%);width:300px}
 .home-tracker-sleigh{left:4%;top:4%;width:70%}
 .home-tracker-button{width:100%;justify-content:center}
 .blend-preview section[aria-labelledby="h-how"] ol{padding-top:56px}
 /* Each step's bauble hangs in the middle of its card, like everything else on phones. */
 .blend-preview section[aria-labelledby="h-how"] ol>li::before{left:calc(50% - 28px)}
 .blend-preview section[aria-labelledby="h-how"] ol>li::after{left:calc(50% - 7px)}
}
@media (prefers-reduced-motion:reduce){.home-star,.home-tracker-sleigh,.blend-preview section[aria-labelledby="h-how"] ol::before{animation:none}.home-tracker-card,.blend-preview section[aria-labelledby="h-holidays"]>div>div:last-child>a{transition:none}}

/* Phones: everything centred (owner, 22 Oct 2026: "all the text and stuff to be centered throughout the website on
   mobile"), the homepage hero, icon headings, ticks, questions, the app pages and the footer included. compile.py
   centres the supplied design's left-pinned blocks; this centres the text and the rows that pair an icon with words.
   Only form fields, tables and the legal pages keep their alignment. Checked by measuring every page. */
@media (max-width:760px){
 body:not(.page-legal) :is(main,footer){text-align:center}
 main>nav[aria-label="Breadcrumb"]{text-align:center}
 main :is(table,form,fieldset,label,input,select,textarea){text-align:left}
 /* A form's own title and introduction sit centred above its fields. */
 body:not(.page-legal) main form>:is(h1,h2,h3),body:not(.page-legal) main form>:is(h1,h2,h3)+p{text-align:center}
 body:not(.page-legal) main section:not(.tracker) :is(li,summary,h2,h3,h4,p,a,span):has(>svg){justify-content:center}
 /* Words beside an icon (ticks, stars, crosses, icon headings): the icon sits just before the first word and every line
    is centred, so a line that wraps never leaves the icon hanging at the left edge. */
 body:not(.page-legal) main section:not(.tracker) :is(li,p,h2,h3):has(>svg:first-child):not(:has(>:is(h2,h3,h4,p,div,ul))),body:not(.page-legal) main aside div:has(>svg:first-child):not(:has(>:is(h2,h3,h4,p,div,ul))),body:not(.page-legal) main section:not(.tracker) div:has(>span:first-child>svg:only-child):not(:has(>:is(h2,h3,h4,p,div,ul))){display:block}
 body:not(.page-legal) main section:not(.tracker) :is(li,p,h2,h3):has(>svg:first-child):not(:has(>:is(h2,h3,h4,p,div,ul)))>svg:first-child,body:not(.page-legal) main aside div:has(>svg:first-child):not(:has(>:is(h2,h3,h4,p,div,ul)))>svg:first-child{display:inline-block;vertical-align:middle;margin:0 8px 0 0}
 body:not(.page-legal) main section:not(.tracker) div:has(>span:first-child>svg:only-child):not(:has(>:is(h2,h3,h4,p,div,ul)))>span:first-child{display:inline-flex;vertical-align:middle;margin-right:10px}
 /* A round number or icon above a card's title (the gift page's steps, the toy factory's grown-up cards) sits in the
    middle too. */
 body:not(.page-legal) main section:not(.tracker) :has(>:is(span,div):first-child+:is(h2,h3))>:is(span,div):first-child{align-self:center;margin-inline:auto}
 .showcase-cta-list li{display:block}
 .showcase-cta-list li::before{display:inline-grid;vertical-align:middle;margin:0 10px 0 0}
 /* Homepage: the Christmas countdown sits in the middle, and "CAD · per child" goes under the price when it can't fit. */
 .xmas-countdown{align-self:center}
 #pricing div:has(>span>[data-price]){flex-wrap:wrap;row-gap:0}
 /* Booking and My visits: the calendar key, part-of-day tabs and buttons sit in the middle too. */
 .calendar-key-open{margin-left:0}
 .time-tabs{display:flex;flex-wrap:wrap}.time-tabs button{flex:1 1 40%}
 .sibling-add,#dashboard-error button{justify-self:center}
 body:not(.page-legal) main section:not(.tracker) :is(ul,ol){padding-inline:0;margin-inline:auto}
 body:not(.page-legal) main section:not(.tracker) li{justify-content:center;text-align:center}
 body:not(.page-legal) main section:not(.tracker) :is(ul,ol)>li{list-style-position:inside}
 .showcase-cta-list{justify-items:center}
 .showcase-cta-actions{justify-content:center}
 body:not(.page-legal) main summary{text-align:center}
 body:not(.page-legal) footer :is(li,span,p,a,div):has(>svg){justify-content:center}
 /* Homepage hero photo: the LIVE badge and Santa's speech bubble sit centred over the picture. */
 .blend-preview main>section:first-of-type img[fetchpriority="high"]+span{left:50%;transform:translateX(-50%)}
 .blend-preview main>section:first-of-type div:has(>div>div>img[fetchpriority="high"])>div:nth-child(2){left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:340px;box-sizing:border-box;text-align:center;border-radius:18px}
}

/* Inner pages: their own Christmas kit (the homepage has presents, baubles and lights). compile.py marks the supplied
   design's cards, section labels and bands; these rules dress them everywhere except the homepage and the tracker. */
body:not(.blend-preview) main .xmas-card{position:relative;background-image:linear-gradient(180deg,rgba(124,196,255,.08),transparent 45%);box-shadow:inset 0 1px 0 rgba(190,225,255,.14);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body:not(.blend-preview) main .xmas-card::before{content:'';position:absolute;top:-11px;right:-11px;width:28px;height:28px;border-radius:50%;pointer-events:none;z-index:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg stroke='%23cfe8ff' stroke-width='1.7' stroke-linecap='round' fill='none'%3E%3Cpath d='M20 20L36.0 20.0M30.0 20.0L33.7 23.3M30.0 20.0L33.7 16.7M20 20L28.0 6.1M25.0 11.3L29.8 9.8M25.0 11.3L24.0 6.4M20 20L12.0 6.1M15.0 11.3L16.0 6.4M15.0 11.3L10.2 9.8M20 20L4.0 20.0M10.0 20.0L6.3 16.7M10.0 20.0L6.3 23.3M20 20L12.0 33.9M15.0 28.7L10.2 30.2M15.0 28.7L16.0 33.6M20 20L28.0 33.9M25.0 28.7L24.0 33.6M25.0 28.7L29.8 30.2'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.4' fill='%23cfe8ff'/%3E%3C/svg%3E") no-repeat center/18px,radial-gradient(circle,#1b2c57,#101a36);border:1.5px solid rgba(180,220,255,.55);box-shadow:0 0 10px rgba(124,196,255,.35),0 3px 8px rgba(0,0,0,.35)}
body:not(.blend-preview) main a.xmas-card:hover{transform:translateY(-3px);border-color:#4a6fa8;box-shadow:0 14px 30px rgba(0,0,0,.35),0 0 0 3px rgba(124,196,255,.12),inset 0 1px 0 rgba(190,225,255,.2)}
body:not(.blend-preview) main .xmas-label::before{content:'\2744\FE0E\00a0\00a0';color:#cfe8ff}
body:not(.blend-preview) main .xmas-label::after{content:'\00a0\00a0\2744\FE0E';color:#cfe8ff}
body:not(.blend-preview) main .xmas-band{position:relative}
body:not(.blend-preview) main .xmas-band::before{content:'';position:absolute;left:0;right:0;top:-12px;height:74px;z-index:1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 74' stroke-linecap='round'%3E%3Cpath d='M1 14l-4 -6M401 14l-4 -6M3 15l8 3M403 15l8 3M4 16l6 3M404 16l6 3M6 18l5 5M406 18l5 5M8 19l-7 -4M408 19l-7 -4M10 13l5 -6M410 13l5 -6M11 14l-4 10M411 14l-4 10M12 17l-5 -6M412 17l-5 -6M15 14l7 3M17 17l-4 8M18 16l3 -9M20 19l-10 -2M22 17l7 -1M23 21l5 7M24 20l1 -9M28 19l-3 -9M29 20l6 -9M30 22l9 4M32 25l3 -7M34 23l9 1M35 19l9 4M37 21l-8 7M38 23l-10 -3M41 27l-1 8M42 27l7 -2M44 23l1 9M46 24l8 0M48 27l9 -3M50 28l-3 -6M52 30l7 -7M53 27l7 6M54 25l2 7M56 26l7 0M58 29l10 2M60 28l0 8M62 28l6 -9M63 31l6 4M65 30l3 -6M66 35l-7 -1M69 30l-11 -2M71 35l-1 8M72 36l-10 -2M74 32l4 -10M76 37l4 -9M77 35l-4 5M78 34l-1 10M82 36l10 -4M83 36l1 7M84 35l-8 -7M87 37l-6 -8M87 38l8 -5M90 37l4 9M91 40l8 -1M93 41l-1 -7M94 35l8 -6M96 40l9 -1M98 38l5 5M101 39l-11 -2M102 41l3 -7M103 37l1 9M105 37l7 8M107 37l-9 -5M109 41l-9 0M110 34l-7 3M111 39l4 8M114 37l-4 8M116 39l7 6M117 35l1 -9M119 38l7 -4M121 36l-10 -1M123 36l-11 1M125 37l7 -3M126 38l4 -6M127 34l7 3M129 35l2 -10M131 35l-4 -6M134 36l2 11M135 32l10 -1M136 31l-8 -1M138 30l-1 -7M140 30l8 1M142 30l10 4M144 32l6 5M144 31l-1 7M147 31l3 -7M148 31l-9 -4M150 24l-3 -8M151 30l-7 -8M153 28l9 4M156 24l-10 -3M157 22l-8 -1M158 22l7 2M161 22l0 -8M163 21l-4 5M164 19l-1 -9M166 22l6 -3M168 21l-10 0M169 21l-4 -10M171 23l-3 -9M173 19l7 2M174 21l0 7M176 21l7 -7M178 17l-2 8M179 18l-1 11M183 18l0 11M183 17l8 0M185 17l3 8M186 15l7 4M188 13l-3 7M191 17l0 -9M193 19l-6 5M195 14l-2 -9M195 18l7 -6M198 18l6 7M199 18l3 -10M201 19l-4 -9M202 13l5 6M204 18l-9 -3M206 17l-7 0M208 18l-9 0M210 13l-1 -8M211 15l-1 -7M213 20l-8 0M215 18l1 -9M217 15l5 6M219 16l-6 -3M219 16l-5 -9M222 17l-9 -1M223 16l6 -5M226 23l9 1M228 23l-7 2M228 23l2 9M230 21l7 -2M233 21l7 -6M233 24l-7 1M235 22l-8 2M237 21l-4 9M238 25l4 -6M242 26l6 -5M242 24l9 0M244 24l-1 7M245 28l-2 10M247 24l-7 -1M249 30l8 -7M252 30l8 -3M253 25l-1 -9M255 30l-2 7M257 27l-8 1M258 31l8 -1M260 29l-8 -3M261 28l3 10M263 30l9 -6M265 30l2 7M267 30l1 8M269 36l0 -8M270 34l-6 6M271 32l7 -1M274 35l5 -6M275 33l-7 5M278 38l5 -5M278 37l7 -5M281 33l-8 7M283 39l8 -1M284 34l-10 -1M287 39l-6 -8M288 38l10 2M289 40l-5 -6M291 36l-6 -7M292 35l-9 -1M295 36l-5 -4M296 38l9 -2M299 38l1 8M301 39l-2 6M302 39l-7 4M304 41l1 7M305 37l-3 -7M307 39l-7 0M310 36l3 -7M310 39l-3 10M312 35l1 8M314 40l5 7M315 40l4 5M317 36l8 -6M320 39l7 -3M320 39l0 -7M323 34l-6 6M324 32l-2 8M327 32l7 -2M328 36l4 -8M329 34l-7 8M331 32l5 -4M333 35l1 -7M334 29l7 -4M337 34l-4 7M339 32l-1 10M340 29l10 0M342 31l6 -2M343 29l10 -3M345 27l-8 4M348 26l3 -9M349 29l-6 -5M350 26l1 -7M352 28l0 7M353 26l-5 10M356 28l-1 7M357 25l-2 -8M359 23l-7 -7M361 26l-4 -6M363 21l-8 -3M365 20l0 8M365 25l-7 -4M368 25l-8 0M370 22l7 0M371 22l6 -9M372 18l5 5M376 20l7 -3M377 18l-1 10M379 16l-8 -5M380 17l5 6M381 19l-4 -6M383 16l-3 -7M385 15l3 -9M386 14l-7 6M-14 14l-7 6M389 14l5 8M-11 14l5 8M390 15l-4 10M-10 15l-4 10M392 17l-5 7M-8 17l-5 7M395 20l-5 6M-5 20l-5 6M396 14l11 0M-4 14l11 0M397 18l-9 6M-3 18l-9 6M399 14l9 1M-1 14l9 1' stroke='%230f3d22' stroke-width='2.3'/%3E%3Cpath d='M1 19l7 5M401 19l7 5M2 16l4 6M402 16l4 6M5 19l6 5M405 19l6 5M7 20l2 6M407 20l2 6M9 20l-6 1M409 20l-6 1M11 16l7 -5M411 16l7 -5M12 14l2 -7M412 14l2 -7M13 19l3 -6M413 19l3 -6M15 16l-7 -1M17 16l-2 -9M18 18l0 -6M22 16l-7 -5M23 17l-7 4M24 20l-7 3M25 20l-7 0M29 22l-6 2M30 18l5 6M31 20l-6 0M34 19l-1 -9M35 19l-8 0M38 20l6 -8M40 26l3 9M41 27l6 -3M43 28l7 3M45 23l6 -4M47 23l-10 0M48 25l-7 0M49 24l5 8M52 31l4 8M53 28l-5 -6M56 29l-8 -5M57 33l-5 -6M60 29l8 0M61 32l-6 2M63 28l3 -6M65 35l-7 -4M66 29l6 1M68 33l-10 -1M69 31l-3 -5M71 33l6 5M73 35l-6 -4M76 35l6 7M77 33l7 5M80 38l-6 4M80 37l-7 -3M83 36l8 -3M84 39l8 2M86 35l9 3M87 37l6 -2M89 38l-9 0M92 35l-3 7M93 40l2 -9M95 40l0 -8M98 38l1 6M99 35l-5 8M101 40l-2 -7M103 38l2 -8M104 39l7 -1M107 34l0 7M109 41l0 -7M111 36l1 10M112 39l-5 -9M114 39l-3 -9M115 38l-7 -3M117 37l9 5M118 33l8 6M121 33l6 1M123 36l-3 -8M124 36l-6 7M127 37l9 4M129 37l5 4M129 30l5 -8M132 35l-5 -5M133 30l0 -7M135 31l7 1M137 33l-5 5M140 30l5 -7M140 30l-8 4M142 31l-7 -2M145 26l3 -6M145 26l1 -10M147 28l-9 0M149 27l-5 8M151 30l-1 7M154 26l7 5M155 27l-3 -9M158 23l-6 4M160 21l5 -4M160 22l7 -5M163 25l1 8M165 24l0 -9M166 20l5 8M168 23l4 7M170 21l6 6M173 18l3 7M174 22l4 5M175 18l-7 -1M177 17l9 -1M178 22l6 4M182 20l-1 -8M182 19l5 4M184 14l-7 5M187 17l-5 -6M188 18l-7 5M191 16l-8 -4M192 14l-2 -9M194 18l5 -7M196 16l-3 8M197 16l2 -9M199 14l-7 4M201 15l-4 -9M202 17l1 -7M205 19l8 2M206 18l8 -3M207 17l-9 -2M210 18l4 -7M212 20l2 8M213 19l7 7M215 14l-1 8M216 17l-8 4M219 16l1 9M222 19l2 9M223 17l6 7M225 20l-8 2M226 23l-5 7M229 22l-7 1M230 18l4 -6M232 20l-5 5M234 19l9 0M235 20l-3 8M237 24l-4 -6M240 26l9 3M242 26l6 7M243 21l10 1M245 23l5 4M246 28l-4 5M249 29l5 8M250 29l-5 -8M252 30l3 8M254 30l-9 4M256 27l1 7M257 26l-6 1M259 30l-9 -2M260 33l-8 2M263 34l-5 5M265 29l-6 -6M266 33l-4 -9M268 36l-8 -1M271 30l-2 -8M272 36l-5 6M274 36l2 8M275 35l3 -6M278 35l-7 0M279 39l-5 -8M281 35l-3 8M283 38l9 2M285 37l7 2M285 35l7 -4M288 39l7 -5M290 38l-3 -8M292 36l-4 -7M294 35l3 6M296 41l-4 -6M298 40l-7 -3M299 37l-3 7M301 41l8 3M302 35l3 -8M305 37l8 1M307 41l8 -1M308 35l-4 -5M309 34l9 0M311 41l8 5M313 34l-1 -7M316 34l9 3M318 39l-1 -6M319 37l-9 2M320 39l-1 -6M322 37l3 -6M324 37l5 8M326 31l-6 6M328 35l6 7M330 35l-5 -6M332 35l9 -3M334 31l9 4M336 34l-4 7M338 33l-6 -4M339 33l-6 6M341 33l3 -7M342 28l-7 4M345 31l9 2M347 31l-6 -3M349 30l-4 -9M350 24l-9 -3M351 28l6 -3M354 27l-7 1M355 27l2 -8M357 27l1 -7M359 27l6 -5M361 24l3 6M362 24l-5 6M364 22l4 5M367 20l7 5M369 18l-6 -4M370 17l10 2M372 20l-6 -3M374 19l9 -3M376 22l0 6M377 17l5 3M379 21l-9 3M382 15l-6 -4M382 21l0 8M385 20l-4 -7M386 15l10 -2M-14 15l10 -2M388 14l0 7M-12 14l0 7M391 19l3 -5M-9 19l3 -5M392 18l-6 -8M-8 18l-6 -8M393 14l0 -10M-7 14l0 -10M396 15l-8 -5M-4 15l-8 -5M397 15l0 6M-3 15l0 6M399 14l0 7M-1 14l0 7' stroke='%2317552f' stroke-width='2.1'/%3E%3Cpath d='M1 13l-1 -5M401 13l-1 -5M2 19l1 8M402 19l1 8M6 19l4 5M406 19l4 5M6 19l4 -6M406 19l4 -6M9 15l3 -6M409 15l3 -6M11 14l1 5M411 14l1 5M13 17l5 6M413 17l5 6M15 17l3 5M18 16l3 6M19 21l6 5M20 21l-3 -5M23 17l0 5M25 23l8 0M26 18l4 -3M29 19l5 -1M32 20l3 4M34 22l2 6M36 20l-5 -2M36 24l-1 -5M38 20l-5 -4M41 22l-5 -5M44 25l1 5M45 25l-1 -5M48 25l4 -6M49 23l5 -3M52 26l3 7M53 26l-5 5M54 29l-6 2M56 31l3 -7M59 31l-5 5M60 33l6 -2M63 32l-5 -1M66 30l2 5M67 35l5 1M69 31l7 1M71 34l-2 -5M74 36l5 1M75 35l-1 5M77 33l-6 -4M78 36l0 -5M82 39l-5 4M84 37l-6 5M86 36l0 6M87 40l3 -7M90 40l6 2M92 41l0 6M93 37l-5 -1M95 38l5 1M98 40l6 -3M100 41l4 -3M101 36l-2 -5M103 41l-4 -4M105 37l5 -2M107 39l5 5M110 38l-1 6M111 35l4 4M113 36l-1 5M114 37l4 -6M117 37l2 7M119 36l-5 -4M121 34l1 6M123 36l6 0M126 33l-6 -2M127 38l-2 7M128 31l4 -4M130 33l-7 3M132 31l7 -2M134 31l-4 6M137 34l3 -6M139 32l0 -6M142 31l4 -3M144 26l1 -7M145 32l-6 -3M148 30l-5 -4M149 27l-1 -6M151 27l-4 4M154 28l-6 0M154 24l4 5M157 22l5 -3M160 26l5 -1M161 26l5 0M163 23l6 -3M165 25l-6 -1M167 21l-4 5M169 24l-3 -6M170 20l-5 4M173 22l6 -1M175 20l6 0M177 21l3 5M180 20l-5 0M182 19l3 -7M184 17l3 5M185 17l2 5M187 18l-5 6M189 13l-6 4M191 18l6 0M194 17l-3 -5M195 17l-1 7M197 20l-5 -3M198 14l0 -5M200 14l-7 -1M203 18l4 2M206 15l-1 -6M206 15l6 5M209 15l-6 2M210 19l-7 -4M213 18l0 5M216 20l-3 7M218 16l-6 -5M219 21l0 6M221 16l-3 7M223 21l0 5M225 17l6 -1M227 17l-6 -1M229 17l5 5M231 19l2 5M232 18l-3 -5M234 23l5 3M238 20l-7 3M240 21l-4 6M241 27l2 8M243 23l-5 2M245 24l5 -4M247 24l-4 -3M250 24l-7 -1M251 29l-5 5M253 27l-4 3M254 31l-3 6M256 30l-4 5M259 27l-2 5M260 32l-1 6M264 34l6 -5M264 30l7 1M267 32l-6 4M269 32l3 -5M271 32l6 5M273 36l5 1M274 32l-2 6M276 34l-3 -4M280 36l-1 -5M281 37l-3 4M284 39l-1 5M286 38l5 2M286 39l2 7M289 35l-2 -6M291 40l-1 5M294 37l6 -3M295 40l-4 -5M296 39l-6 3M300 35l0 -5M301 40l0 7M304 39l-5 -2M304 37l-5 3M307 35l-2 -7M308 36l-6 -1M312 36l-2 7M312 38l-4 6M315 39l3 6M317 36l1 -7M318 35l-3 4M320 34l2 7M323 33l-3 6M325 33l4 2M328 36l6 4M330 34l5 4M331 31l-5 -1M334 33l-5 -6M335 30l0 5M336 34l3 -5M338 32l4 -6M340 32l3 -6M343 27l3 -5M345 29l-5 5M346 25l-6 -3M350 29l6 -4M351 27l3 5M353 23l-2 -5M355 29l4 3M357 22l-1 -5M360 26l1 -6M361 25l-6 -1M363 22l-4 -6M366 19l-2 6M367 20l2 5M369 21l8 -1M372 23l7 -2M374 16l-3 -6M375 20l6 -2M377 17l-4 6M378 16l-3 -6M380 19l-5 5M383 18l-6 -2M384 15l5 -4M386 20l0 5M-14 20l0 5M389 15l-7 0M-11 15l-7 0M390 17l5 4M-10 17l5 4M393 13l-4 3M-7 13l-4 3M395 19l-7 -2M-5 19l-7 -2M398 13l7 0M-2 13l7 0M398 18l-4 3M-2 18l-4 3' stroke='%2324774a' stroke-width='1.9'/%3E%3Cpath d='M3 16l1 -4M403 16l1 -4M5 13l0 4M405 13l0 4M5 17l1 4M405 17l1 4M10 16l4 -3M410 16l4 -3M13 17l5 -3M413 17l5 -3M14 19l-3 5M414 19l-3 5M18 20l3 3M21 21l-1 -4M23 16l-5 -2M24 22l-2 -4M27 19l3 -4M30 17l4 4M32 22l-1 5M36 20l3 -3M39 25l3 -1M41 21l-6 0M45 22l2 5M47 25l-4 1M50 26l4 -4M51 26l1 6M55 25l2 4M57 30l-3 3M59 31l-2 3M63 35l4 1M66 31l-1 5M67 33l-6 -1M72 31l-5 -2M74 37l-3 -4M76 33l2 -5M80 37l-2 5M82 36l-3 -3M84 36l4 2M86 40l-4 1M89 35l-2 3M91 40l-4 1M95 36l2 3M97 37l-1 -5M101 37l4 -2M102 36l-5 -3M105 40l-5 2M107 38l3 -3M110 34l2 4M114 35l-3 2M116 39l-2 -3M119 39l-3 -2M122 38l-2 3M123 35l4 -4M128 32l-3 5M130 33l-2 -4M131 33l5 1M134 32l-3 -2M137 28l4 -2M141 27l-4 -4M142 27l2 3M146 25l2 -4M148 28l-5 -2M151 25l0 -4M154 27l1 -4M157 28l-4 1M159 27l2 3M161 24l1 -4M165 20l0 -4M165 19l4 2M169 18l4 -2M171 18l0 -6M174 16l1 -4M179 18l-3 -3M181 18l-3 5M182 19l5 2M185 20l5 2M188 20l5 -2M190 15l0 5M193 14l0 -5M195 20l1 5M198 19l3 -3M202 18l-1 4M204 19l3 4M207 16l-5 -3M209 19l-3 4M213 15l4 -5M214 14l5 4M216 20l3 4M219 16l-2 -3M222 22l-1 -6M227 16l1 5M229 17l-4 0M230 18l6 1M233 24l3 3M235 22l2 5M238 25l-4 0M241 24l4 -2M243 28l4 -4M246 23l0 4M248 26l-4 3M252 24l-2 -5M255 29l-2 -6M258 31l-4 3M260 34l-3 3M262 29l4 0M266 35l0 5M268 31l1 4M272 36l3 -2M274 33l-3 -4M276 38l5 0M280 36l-5 -3M281 37l0 -5M285 36l-5 -1M287 36l-3 -4M289 38l-1 6M292 39l-5 -1M294 35l4 -2M297 38l2 -4M299 40l-5 1M304 41l2 -3M305 40l2 -4M307 36l4 3M311 37l-4 1M313 41l-2 -4M316 39l0 -4M319 35l-4 -1M321 35l-3 2M323 36l4 1M327 33l-2 4M330 31l-4 -4M331 33l1 -5M334 29l-4 2M338 30l-4 3M341 29l-4 3M344 27l5 -1M345 30l-2 3M349 27l-5 -1M352 28l5 1M353 26l2 -4M356 28l-4 2M359 26l-3 -5M361 20l-2 -4M365 24l3 3M366 24l3 2M370 21l5 2M373 20l5 2M374 20l6 0M378 16l-2 4M379 22l-1 4M382 16l3 -4M385 17l4 1M389 19l3 -3M-11 19l3 -3M390 13l-4 -1M-10 13l-4 -1M393 16l-4 -2M-7 16l-4 -2M397 14l4 -2M-3 14l4 -2M397 15l-4 -1M-3 15l-4 -1' stroke='%233a9a63' stroke-width='1.6'/%3E%3Ccircle cx='12' cy='17' r='4.6' fill='%23ffe08a' opacity='.35'/%3E%3Ccircle cx='12' cy='17' r='2.2' fill='%23ffe08a'/%3E%3Ccircle cx='38' cy='22' r='4.6' fill='%23ff8a8f' opacity='.35'/%3E%3Ccircle cx='38' cy='22' r='2.2' fill='%23ff8a8f'/%3E%3Ccircle cx='62' cy='30' r='4.6' fill='%239cf5c4' opacity='.35'/%3E%3Ccircle cx='62' cy='30' r='2.2' fill='%239cf5c4'/%3E%3Ccircle cx='88' cy='38' r='4.6' fill='%238ec5ff' opacity='.35'/%3E%3Ccircle cx='88' cy='38' r='2.2' fill='%238ec5ff'/%3E%3Ccircle cx='112' cy='36' r='4.6' fill='%23ffe08a' opacity='.35'/%3E%3Ccircle cx='112' cy='36' r='2.2' fill='%23ffe08a'/%3E%3Ccircle cx='138' cy='32' r='4.6' fill='%23ff8a8f' opacity='.35'/%3E%3Ccircle cx='138' cy='32' r='2.2' fill='%23ff8a8f'/%3E%3Ccircle cx='162' cy='24' r='4.6' fill='%239cf5c4' opacity='.35'/%3E%3Ccircle cx='162' cy='24' r='2.2' fill='%239cf5c4'/%3E%3Ccircle cx='188' cy='17' r='4.6' fill='%238ec5ff' opacity='.35'/%3E%3Ccircle cx='188' cy='17' r='2.2' fill='%238ec5ff'/%3E%3Ccircle cx='212' cy='17' r='4.6' fill='%23ffe08a' opacity='.35'/%3E%3Ccircle cx='212' cy='17' r='2.2' fill='%23ffe08a'/%3E%3Ccircle cx='238' cy='25' r='4.6' fill='%23ff8a8f' opacity='.35'/%3E%3Ccircle cx='238' cy='25' r='2.2' fill='%23ff8a8f'/%3E%3Ccircle cx='262' cy='31' r='4.6' fill='%239cf5c4' opacity='.35'/%3E%3Ccircle cx='262' cy='31' r='2.2' fill='%239cf5c4'/%3E%3Ccircle cx='288' cy='39' r='4.6' fill='%238ec5ff' opacity='.35'/%3E%3Ccircle cx='288' cy='39' r='2.2' fill='%238ec5ff'/%3E%3Ccircle cx='312' cy='35' r='4.6' fill='%23ffe08a' opacity='.35'/%3E%3Ccircle cx='312' cy='35' r='2.2' fill='%23ffe08a'/%3E%3Ccircle cx='338' cy='31' r='4.6' fill='%23ff8a8f' opacity='.35'/%3E%3Ccircle cx='338' cy='31' r='2.2' fill='%23ff8a8f'/%3E%3Ccircle cx='362' cy='23' r='4.6' fill='%239cf5c4' opacity='.35'/%3E%3Ccircle cx='362' cy='23' r='2.2' fill='%239cf5c4'/%3E%3Ccircle cx='388' cy='15' r='4.6' fill='%238ec5ff' opacity='.35'/%3E%3Ccircle cx='388' cy='15' r='2.2' fill='%238ec5ff'/%3E%3Ccircle cx='0' cy='10' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='4' cy='13' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='-4' cy='13' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='200' cy='10' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='204' cy='13' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='196' cy='13' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='400' cy='10' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='404' cy='13' r='2.8' fill='%23e3262f'/%3E%3Ccircle cx='396' cy='13' r='2.8' fill='%23e3262f'/%3E%3Cpath d='M100 42V50' stroke='%23b8800f' stroke-width='1.4'/%3E%3Crect x='97' y='49' width='6' height='4' rx='1' fill='%23c9a24a'/%3E%3Ccircle cx='100' cy='59' r='7' fill='%23f5b731'/%3E%3Ccircle cx='97.5' cy='56.5' r='2' fill='%23fff3c4'/%3E%3Cpath d='M300 42V50' stroke='%23b8800f' stroke-width='1.4'/%3E%3Crect x='297' y='49' width='6' height='4' rx='1' fill='%23c9a24a'/%3E%3Ccircle cx='300' cy='59' r='7' fill='%23d6202a'/%3E%3Ccircle cx='297.5' cy='56.5' r='2' fill='%23ffd6d6'/%3E%3C/svg%3E") repeat-x 50% 0/400px 74px;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}
body:not(.blend-preview) main .xmas-cta{background:radial-gradient(circle at 23px 17px,rgba(255,255,255,.55) 1.3px,transparent 2.0px),radial-gradient(circle at 71px 9px,rgba(255,255,255,.55) 1px,transparent 1.7px),radial-gradient(circle at 140px 31px,rgba(255,255,255,.55) 1.5px,transparent 2.2px),radial-gradient(circle at 205px 12px,rgba(255,255,255,.55) 1.1px,transparent 1.8px),radial-gradient(circle at 37px 66px,rgba(255,255,255,.55) 1.1px,transparent 1.8px),radial-gradient(circle at 118px 78px,rgba(255,255,255,.55) 1.4px,transparent 2.1px),radial-gradient(circle at 182px 59px,rgba(255,255,255,.55) 0.9px,transparent 1.6px),radial-gradient(circle at 226px 92px,rgba(255,255,255,.55) 1.3px,transparent 2.0px),radial-gradient(circle at 64px 121px,rgba(255,255,255,.55) 1.5px,transparent 2.2px),radial-gradient(circle at 151px 133px,rgba(255,255,255,.55) 1.1px,transparent 1.8px),radial-gradient(circle at 9px 148px,rgba(255,255,255,.55) 1px,transparent 1.7px),radial-gradient(circle at 199px 161px,rgba(255,255,255,.55) 1.4px,transparent 2.1px),radial-gradient(circle at 98px 170px,rgba(255,255,255,.55) 0.9px,transparent 1.6px),radial-gradient(ellipse at 50% 0%,rgba(214,32,42,.32),transparent 60%),#0e1526;background-size:241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,241px 187px,100% 100%}
body:not(.blend-preview) main>nav[aria-label="Breadcrumb"]{position:relative}
body:not(.blend-preview) main>nav[aria-label="Breadcrumb"]::after{content:'';position:absolute;top:0;right:20px;width:76px;height:92px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cg stroke='%238f9ab0' stroke-width='1'%3E%3Cpath d='M18 0V34'/%3E%3Cpath d='M50 0V54'/%3E%3Cpath d='M82 0V24'/%3E%3C/g%3E%3Cpolygon points='18.0,33.0 21.4,41.3 30.4,42.0 23.6,47.8 25.6,56.5 18.0,51.9 10.4,56.5 12.4,47.8 5.6,42.0 14.6,41.3' fill='%23f5b731'/%3E%3Cg stroke='%23e8f4ff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M50 64L59.0 64.0M50 64L54.5 56.2M50 64L45.5 56.2M50 64L41.0 64.0M50 64L45.5 71.8M50 64L54.5 71.8'/%3E%3C/g%3E%3Cpolygon points='82.0,25.0 84.9,32.0 92.5,32.6 86.7,37.5 88.5,44.9 82.0,41.0 75.5,44.9 77.3,37.5 71.5,32.6 79.1,32.0' fill='%23ffd469'/%3E%3C/svg%3E") no-repeat top/contain;transform-origin:50% 0;animation:xmas-swing 5s ease-in-out infinite}
@keyframes xmas-swing{0%,100%{rotate:-3deg}50%{rotate:3deg}}
/* Questions and answers, on every page (owner, 22 Oct 2026: "people need to understand that, truly, it is an FAQ ... the
   question is very clear, the answer is very clear, and it's easy to read"). Each question is its own bordered card,
   always open: the gold star and the question in bold, then the answer indented under a gold line. compile.py turns
   the supplied design's question dropdowns into these cards. Phones: centred, with a short gold line between the two. */
main .faq-item{margin:0;padding:22px 26px 24px;border:1px solid #2b3858;border-radius:18px;background:#111a2d linear-gradient(180deg,rgba(124,196,255,.07),transparent 45%);box-shadow:inset 0 1px 0 rgba(190,225,255,.1),0 8px 22px rgba(0,0,0,.22);text-align:left}
main .faq-q{display:flex;align-items:baseline;gap:12px;margin:0;font:800 19px/1.35 'Nunito Sans',system-ui,sans-serif;letter-spacing:0;color:#fff}
main .faq-q::before{content:'\2605';flex:none;font:18px/1 system-ui,sans-serif;color:#f5b731;text-shadow:0 0 10px rgba(245,183,49,.5)}
main .faq-a{margin:12px 0 0 8px;padding:2px 0 2px 21px;border-left:2px solid rgba(245,183,49,.5);font-size:16.5px;line-height:1.7;color:#ccd3e0}
main .faq-a>*{margin:0;font-size:inherit;line-height:inherit;color:inherit}
main .faq-a>*+*{margin-top:10px}
main .faq-a a{color:#ffd469}
@media (max-width:760px){
 main .faq-item{padding:20px 18px 22px;text-align:center}
 main .faq-q{display:block;font-size:18px}
 main .faq-q::before{display:inline-block;margin-right:8px}
 main .faq-a{position:relative;margin:14px 0 0;padding:16px 0 0;border-left:0;font-size:16px;line-height:1.6}
 main .faq-a::before{content:'';position:absolute;top:0;left:50%;width:44px;height:2px;margin-left:-22px;border-radius:2px;background:rgba(245,183,49,.65)}
}
@media (max-width:760px){body:not(.blend-preview) main .xmas-band::before{top:-8px;height:58px;background-size:314px 58px}body:not(.blend-preview) main>nav[aria-label="Breadcrumb"]::after{width:46px;height:56px;right:8px}body:not(.blend-preview) main .xmas-card::before{top:-9px;right:-9px;width:24px;height:24px;background-size:15px,auto}}
@media (prefers-reduced-motion:reduce){body:not(.blend-preview) main>nav[aria-label="Breadcrumb"]::after{animation:none}}

/* Homepage: the kids' North Pole map card, after the FAQ. */
.home-map{max-width:1240px;margin:0 auto;padding:8px 20px 24px}
.home-map-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;overflow:hidden;border-radius:28px;border:1px solid #2a3554;background:linear-gradient(120deg,#13203a,#0e1526);color:#eef0f5;text-decoration:none;box-shadow:0 20px 50px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s}
.home-map-card:hover{transform:translateY(-3px);box-shadow:0 26px 60px rgba(0,0,0,.45)}
.home-map-card:focus-visible{outline:3px solid #f5b731;outline-offset:4px}
.home-map-art{position:relative;min-height:240px;overflow:hidden}
.home-map-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%;transform:scale(1.35)}
.home-map-text{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:32px 36px}
.home-map-kicker{font-size:13px;font-weight:800;letter-spacing:.16em;color:#9fd8ff}
.home-map-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(28px,3.4vw,40px);line-height:1.1;font-weight:700}
.home-map-title span{color:#f5b731}
.home-map-lead{font-size:17px;line-height:1.6;color:#c3cad8}
.home-map-button{align-self:flex-start;margin-top:6px;padding:14px 22px;border-radius:999px;background:#2a8fd6;color:#fff;font-weight:800;box-shadow:0 6px 0 #1a5f92}
@media (max-width:760px){.home-map{padding:8px 12px 24px}.home-map-card{grid-template-columns:1fr}.home-map-art{min-height:200px}.home-map-text{padding:22px 20px 26px;text-align:center;align-items:center}.home-map-button{align-self:center}}
@media (prefers-reduced-motion:reduce){.home-map-card{transition:none}}

/* Site map page (/sitemap): every public page by group, filled in by scripts/design/seo.py. The groups flow down two
   columns, so they never leave one card alone on a row. */
[data-sitemap]{columns:2 360px;column-gap:20px}
.sitemap-group{break-inside:avoid;margin:0 0 20px;padding:26px 28px;border-radius:22px;background:#111a2d;border:1px solid #22304b}
.sitemap-group h2{margin:0 0 16px;font-family:'Playfair Display',Georgia,serif;font-size:24px;line-height:1.2;font-weight:700;color:#fff}
.sitemap-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.sitemap-list a{font-size:17px;font-weight:800;color:#f5b731;text-decoration:none}
.sitemap-list a:hover{color:#ffd469;text-decoration:underline}
.sitemap-list p{margin:4px 0 0;font-size:14px;line-height:1.55;color:#a8b1c4}
@media (max-width:760px){.sitemap-group{padding:22px 18px}}
