/* gyg-site-builder-cm v4 engine - cinematic one-pager
   Design system: display serif + clean sans, dark cinematic hero with video loop,
   bento image-overlay cards, dark "destination" chapter, sticky-heading FAQ,
   parallax CTA. Retheme = edit the :root tokens only. */
:root{
  /* "Risograph" (design.md): federal blue on grainy off-white paper, fluorescent pink as the one action colour.
     Flat on purpose: no gradients; radius 2/4/8. Space Grotesk for display, headings and text; Space Mono for labels.
     Contrast (WCAG): primary blue #1D3FA6 7.8:1 on the page and 8.4:1 on cards (headlines and core text); captions
     #4A63A8 5.0:1 (AA on page, alt and cards); the design secondary #6680C2 is 3.4:1: borders and rules only; button
     text deep navy #14172B on pink #FF4FB4 5.9:1 (the spec's paper on pink is 2.2:1 and fails AA); links in deepened
     pink #B0166E (5.7:1 page, 6.1:1 cards); paper on the blue band 8.4:1; light pink #FFB3DE eyebrows on blue 5.5:1. */
  --deep:#1D3FA6;        /* riso blue as a band: dark chapter, banners, footer */
  --deep-2:#16318A;
  --ink:#1D3FA6;         /* primary: headlines and core text */
  --ink-soft:#4A63A8;    /* captions and metadata */
  --paper:#F2EEE4;       /* neutral: the grainy page */
  --sand:#E9E3D5;        /* alt sections, one step down */
  --sand-2:#DFD7C4;      /* chips and pills (ink text only) */
  --card:#FAF6EC;        /* surface: cards */
  --line:rgba(102,128,194,.42);
  --line-dark:rgba(250,246,236,.24);
  --secondary:#6680C2;   /* borders, rules */
  --accent:#FF4FB4;      /* tertiary fluorescent pink: the sole interaction colour */
  --accent-hover:#FF6FC2;
  --on-accent:#14172B;
  --accent-ink:#B0166E;  /* pink deepened for text and links (AA) */
  --glow:#FAF6EC;
  --mint:#FFB3DE;        /* eyebrows on the blue band (5.5:1) */
  --star:#B0166E;        /* rating stars */
  --maxw:1180px;
  --r-xl:8px; --r-lg:8px; --r-md:4px; --r-sm:2px;
  --font-display:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-em:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-hand:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-body:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --font-label:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --head-h:74px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.62;font-size:1.02rem;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:var(--accent-ink)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0 0 .5em;font-optical-sizing:auto}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h3{font-size:1.2rem;line-height:1.2}
h2 em,h1 em{font-style:italic;font-weight:400}
.center{text-align:center}
.section-pad{padding:92px 0}
.section-sm{padding:64px 0}
.alt{background:var(--sand)}
section[id]{scroll-margin-top:80px}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-body);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 1.1em}
.eyebrow:before{content:"";width:1.6rem;height:1px;background:currentColor}
.center .eyebrow,.eyebrow.center{justify-content:center}
.dark .eyebrow,.eyebrow.on-dark{color:var(--mint)}
.sub{color:var(--ink-soft);max-width:62ch;margin:0 0 2em;font-size:1.04rem}
.center .sub,.sub.center{margin-left:auto;margin-right:auto}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:34px}
.head-row h2{margin:0;max-width:18ch}
.head-row .sub{margin:0;max-width:46ch}
.head-row .sub.sm{font-size:.9rem;line-height:1.6;max-width:52ch}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;background:var(--accent);color:var(--on-accent);font-family:var(--font-body);font-weight:700;font-size:.95rem;letter-spacing:.01em;padding:15px 26px;border-radius:var(--r-md);text-decoration:none;border:0;cursor:pointer;transition:background .2s,transform .2s var(--ease),box-shadow .2s}
.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn .ar{transition:transform .2s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.16);box-shadow:none}
.btn-line{background:transparent;color:var(--accent-ink);border:1.5px solid var(--accent);padding:10px 18px;font-size:.88rem}
.btn-line:hover{background:var(--accent);color:var(--on-accent);box-shadow:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* ---------- header: transparent over the hero, solid after scrolling */
.site-head{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-head .wrap{display:flex;align-items:center;gap:18px;height:var(--head-h)}
.site-head.solid,.site-head.plain{background:rgba(242,238,228,.97);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.logo{display:flex;align-items:center}
.logo img{width:40px;height:40px;border-radius:var(--r-sm);box-shadow:0 2px 10px rgba(0,0,0,.18)}
.nav{margin-left:auto;display:flex;gap:26px;align-items:center}
.nav a,.dd-btn{color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.25);transition:color .2s}
.solid .nav a,.plain .nav a,.solid .dd-btn,.plain .dd-btn{color:var(--ink);text-shadow:none}
.nav a:hover,.dd-btn:hover{color:var(--glow)}
.solid .nav a:hover,.plain .nav a:hover,.solid .dd-btn:hover,.plain .dd-btn:hover{color:var(--accent-ink)}
.nav a.btn{color:#fff;text-shadow:none;padding:11px 20px;font-size:.88rem}
.nav a.btn:hover{color:#fff}
.nav-toggle{display:none;margin-left:auto;background:rgba(250,246,236,.12);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:var(--r-sm);padding:8px 12px;font-size:1.05rem;cursor:pointer}
.solid .nav-toggle,.plain .nav-toggle{background:none;color:var(--ink);border-color:var(--line)}
@media(max-width:920px){
  .nav{display:none;position:absolute;top:var(--head-h);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:16px 22px 22px;gap:15px;align-items:flex-start;box-shadow:0 14px 30px rgba(0,0,0,.12)}
  .nav.open{display:flex}
  .nav a,.dd-btn{color:var(--ink);text-shadow:none}
  .nav-toggle{display:block}
  .site-head.open{background:var(--paper)}
  .site-head.open .nav-toggle{color:var(--ink);border-color:var(--line)}
}
/* guides dropdown: desktop hover with .5s grace, mobile click */
.dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:.9rem;padding:0}
.dd-btn .car{font-size:.7rem;transform:translateY(1px)}
.dd-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(6px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 18px 40px rgba(0,0,0,.18);padding:8px;min-width:250px;z-index:60;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility 0s linear .5s}
.dd-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.dd-menu a{display:block;padding:10px 13px;border-radius:0;font-weight:600;font-size:.88rem;color:var(--ink)!important;text-shadow:none!important;text-decoration:none;white-space:nowrap}
.dd-menu a:hover{background:var(--sand);color:var(--accent-ink)!important}
@media(min-width:921px){
  .dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition:opacity .18s,transform .18s,visibility 0s}
}
@media(max-width:920px){
  .dd-menu{position:static;transform:none;opacity:1;visibility:visible;display:none;box-shadow:none;border:0;padding:6px 0 0 10px;min-width:0;transition:none}
  .dd-menu:before{display:none}
  .dd-menu.open{display:block}
}

/* ---------- hero: full-bleed, video loop, parallax + pointer drift */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);color:#fff;isolation:isolate}
.hero-layer{position:absolute;inset:0 0 auto 0;height:114%;will-change:transform;z-index:-2}
.hero-layer img,.hero-layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero-layer video{display:none;opacity:0;transition:opacity 1.4s ease}
.hero-layer video.playing{opacity:1}
@media(min-width:768px){.hero-layer video{display:block}}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:rgba(20,23,43,.42)}   /* flat tint (design.md: no gradients) */
.hero-inner>.wrap{width:100%}
.hero-inner{flex:1;display:flex;align-items:center;padding-top:calc(var(--head-h) + 40px);padding-bottom:110px;position:relative;width:100%}
.hero-content{max-width:40rem;will-change:transform}
.hero h1{font-size:clamp(2.7rem,6.2vw,5rem);line-height:.96;letter-spacing:-.035em;margin:0 0 .32em;font-weight:600}
.hero h1 em{display:block;color:var(--glow)}
.hero .lede{max-width:36rem;font-size:clamp(1.02rem,1.5vw,1.16rem);line-height:1.62;color:rgba(255,255,255,.86);margin:0 0 1.4em}
.hero .ticks{list-style:none;padding:0;margin:0 0 1.9em;display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:600;font-size:.92rem}
.hero .ticks li{display:flex;align-items:center;gap:9px}
.hero .ticks li:before{content:"\2713";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--mint);color:var(--mint);font-size:.68rem}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero .trust{margin:2em 0 0;font-size:.84rem;color:rgba(255,255,255,.72);line-height:1.45;border-left:2px solid var(--glow);padding-left:14px;max-width:34rem}
.hero .trust span{display:block}
.hero .trust b{display:block;color:#fff;font-weight:700}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:grid;place-items:center;color:#fff;text-decoration:none;font-size:1.05rem;animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
/* starburst "from" price badge */
.star-badge{position:absolute;right:6%;bottom:13%;width:12.5rem;height:12.5rem;display:grid;place-items:center;text-decoration:none;transition:transform .3s var(--ease);animation:spin-in 1.1s var(--ease) .6s both}
.star-badge:hover{transform:scale(1.06) rotate(-4deg)}
.star-badge svg{position:absolute;inset:0;width:100%;height:100%}
.star-badge .txt{position:relative;text-align:center;color:var(--on-accent);line-height:1}
.star-badge small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}
.star-badge strong{display:block;font-family:var(--font-display);font-size:2.35rem;font-weight:700;letter-spacing:-.02em}
.star-badge span{display:block;font-size:.66rem;font-weight:600;margin-top:.35rem;opacity:.8}
@keyframes spin-in{from{opacity:0;transform:scale(.6) rotate(-40deg)}to{opacity:1;transform:none}}
@media(max-width:1020px){.star-badge{width:9.5rem;height:9.5rem;right:4%;bottom:5%}.star-badge strong{font-size:1.8rem}.star-badge small,.star-badge span{font-size:.58rem}}
@media(max-width:767px){
  .hero-inner{padding-bottom:180px;align-items:flex-end}
  .star-badge{bottom:26px;right:16px;width:8.2rem;height:8.2rem}
  .star-badge strong{font-size:1.55rem}
  .scroll-cue{display:none}
  .hero-overlay{background:rgba(20,23,43,.68)}
}

/* ---------- reveal on scroll (JS adds .js to <html>) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .stagger>.reveal:nth-child(2){transition-delay:.12s}
.js .stagger>.reveal:nth-child(3){transition-delay:.24s}
.js .stagger>.reveal:nth-child(4){transition-delay:.36s}
.js .stagger>.reveal:nth-child(5){transition-delay:.48s}
.js .stagger>.reveal:nth-child(6){transition-delay:.6s}

/* ---------- proof strip */
.proof{border-bottom:1px solid var(--line);background:var(--sand)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.proof .it{display:flex;gap:14px;align-items:flex-start;padding:24px 20px;border-right:1px solid var(--line)}
.proof .it:last-child{border-right:0}
.proof .ic{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent-ink);background:var(--card)}
.proof .ic svg{width:18px;height:18px}
.proof b{display:block;font-size:.93rem;line-height:1.3}
.proof span{display:block;font-size:.8rem;color:var(--ink-soft);line-height:1.4;margin-top:3px}
@media(max-width:900px){.proof .wrap{grid-template-columns:1fr 1fr}.proof .it:nth-child(2){border-right:0}.proof .it:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.proof .wrap{grid-template-columns:1fr;padding:0}.proof .it{border-right:0;border-bottom:1px solid var(--line)}.proof .it:last-child{border-bottom:0}}

/* ---------- ticket cards (3-up, flagship centre) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;margin-top:10px}
@media(max-width:1020px){.cards{grid-template-columns:1fr 1fr}.tcard.featured{order:-1}}
@media(max-width:680px){.cards{grid-template-columns:1fr}}
.tcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.tcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.16)}
.tcard.featured{border:2px solid var(--accent);box-shadow:none}
@media(min-width:1021px){.tcard.featured{margin-top:-14px;margin-bottom:-14px}.cards{padding-bottom:14px}}
.tcard .thumb{position:relative;display:block;height:300px;overflow:hidden;color:#fff;text-decoration:none}
.tcard.featured .thumb{height:330px}
.tcard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tcard:hover .thumb img{transform:scale(1.05)}
.tcard .thumb:after{content:"";position:absolute;inset:0;background:rgba(20,23,43,.16)}
.tcard .chip{position:absolute;top:16px;left:16px;z-index:2;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:7px 12px;border-radius:var(--r-sm)}
.tcard.featured .chip{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tcard .ov{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.tcard .ov .m{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:.5em;display:flex;flex-wrap:wrap;gap:4px 10px}
.tcard .ov .m .st{color:var(--glow)}
.tcard .ov h3{color:#fff;font-size:1.42rem;margin:0;line-height:1.14}
.tcard .body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.tcard .chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 .9em}
.tcard .chips span{background:var(--sand);color:var(--ink-soft);font-size:.74rem;font-weight:600;padding:5px 10px;border-radius:var(--r-sm)}
.tcard p{margin:0 0 1em;font-size:.95rem;color:var(--ink-soft)}
.tcard details{margin:0 0 1.1em;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tcard summary{cursor:pointer;list-style:none;font-weight:700;font-size:.88rem;color:var(--accent-ink);padding:11px 0;display:flex;justify-content:space-between}
.tcard summary::-webkit-details-marker{display:none}
.tcard summary:after{content:"+";font-size:1.1rem;line-height:1}
.tcard details[open] summary:after{content:"\2212"}
.tcard details ul{margin:0;padding:0 0 12px 18px;font-size:.9rem;color:var(--ink-soft)}
.tcard details li{margin-bottom:.3em}
.tcard .row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.price{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);line-height:1.1}
.price b{display:block;font-family:var(--font-display);font-size:2rem;letter-spacing:-.02em;color:var(--ink);text-transform:none;font-weight:700;margin-top:2px}
.price i{display:block;font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;font-size:.72rem;margin-top:2px}

/* ---------- shortlist bento (more tours, image-overlay cards) */
.bento-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:70px 0 18px;border-bottom:1px solid var(--line);padding-bottom:12px}
.bento-head h3{font-size:1.45rem;margin:0}
.bento-head span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:16px}
.bento .oc:first-child{grid-column:span 2}
@media(min-width:901px){.bento .oc.wide{grid-column:span 2}}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr}.bento .oc:first-child{grid-column:span 2}}
@media(max-width:560px){.bento{grid-template-columns:1fr;grid-auto-rows:260px}.bento .oc:first-child{grid-column:auto}}
.oc{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;text-decoration:none;display:block;background:var(--deep);isolation:isolate}
.oc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.oc:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(20,23,43,.16)}
.oc:hover img{transform:scale(1.06)}
.oc .chip{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;border-radius:var(--r-sm)}
.oc .in{position:absolute;left:18px;right:18px;bottom:16px}
.oc .m{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:.45em;display:flex;flex-wrap:wrap;gap:3px 9px}
.oc .m .st{color:var(--glow)}
.oc h4{font-size:1.18rem;margin:0 0 .6em;color:#fff;line-height:1.15}
.oc:first-child h4{font-size:1.5rem}
.oc .ft{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.22);padding-top:10px;font-size:.78rem;font-weight:700}
.oc .ft b{font-family:var(--font-display);font-size:1.2rem;color:var(--glow);margin-left:4px}
.oc .ft small{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}

/* ---------- compare table */
.tbl-wrap{overflow-x:auto;margin-top:8px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
table.cmp{border-collapse:collapse;width:100%;min-width:820px;font-size:.9rem}
.cmp th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--sand)}
.cmp td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.cmp tr:last-child td{border-bottom:0}
.cmp tr.feat td{background:rgba(102,128,194,.10)}
.cmp .st{color:var(--star)}
.tbl-note{font-size:.84rem;color:var(--ink-soft);margin:14px 0 0}

/* ---------- dark destination chapter */
.dark{background:var(--deep);color:var(--ink);position:relative;overflow:hidden}
.dark:before{content:"";position:absolute;right:-10%;top:-20%;width:60%;height:80%;background:none;pointer-events:none}
.dark h2,.dark h3{color:#fff}
.dark h2 em{color:var(--glow)}
.dark p{color:rgba(250,246,236,.82)}
.dark a{color:var(--glow)}
.dest{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;position:relative}
@media(max-width:900px){.dest{grid-template-columns:1fr;gap:40px}}
.frame{position:relative}
.frame:before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--line-dark);border-radius:var(--r-lg)}
.frame img{position:relative;border-radius:var(--r-lg);width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.frame figcaption{font-size:.78rem;color:rgba(250,246,236,.6);margin-top:24px;padding-left:34px;position:relative}
.frame figcaption:before{content:"";position:absolute;left:0;top:.7em;width:24px;height:1px;background:currentColor}
.statrow{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line-dark);padding-top:22px;margin-top:26px}
.statrow .big{font-family:var(--font-display);font-size:3.6rem;line-height:1;color:var(--mint);letter-spacing:-.03em;font-weight:600}
.statrow p{margin:0;font-size:.88rem;max-width:30ch}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tags span{border:1px solid var(--line-dark);border-radius:var(--r-sm);padding:6px 13px;font-size:.78rem;color:rgba(250,246,236,.85)}
.ess{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid var(--line-dark)}
.ess>div{padding:26px 22px 0 0;margin-right:22px;border-right:1px solid var(--line-dark)}
.ess>div:last-child{border-right:0;margin-right:0}
.ess .n{display:block;font-family:var(--font-display);font-style:italic;color:var(--glow);font-size:.95rem;margin-bottom:.6em}
.ess h3{font-size:1.08rem}
.ess p{font-size:.9rem;margin:0}
@media(max-width:900px){.ess{grid-template-columns:1fr 1fr}.ess>div{border-right:0;margin-right:0;padding-right:10px}}
@media(max-width:520px){.ess{grid-template-columns:1fr}}

/* ---------- steps (big numerals) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:10px;position:relative}
.steps:before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--line)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps:before{display:none}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative}
.step .n{display:inline-block;font-family:var(--font-display);font-size:4.2rem;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--accent);background:var(--paper);padding-right:12px;letter-spacing:-.04em}
.alt .step .n{background:var(--sand)}
.step h3{margin:.4em 0 .4em}
.step p{font-size:.93rem;color:var(--ink-soft);margin:0 0 .6em}
.step .t{font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink)}

/* ---------- gallery bento with lightbox */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:12px;margin-top:56px}
.gal a{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;color:#fff;text-decoration:none}
.gal a:first-child{grid-column:span 2;grid-row:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gal a:hover img{transform:scale(1.06)}
.gal a:after{content:"";position:absolute;inset:0;background:rgba(20,23,43,.08)}
.gal span{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;font-size:.78rem;font-weight:600;line-height:1.3}
@media(max-width:820px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}
.gal-note{font-size:.78rem;color:var(--ink-soft);margin-top:12px}
.lb{position:fixed;inset:0;background:rgba(20,23,43,.94);display:flex;align-items:center;justify-content:center;z-index:99;flex-direction:column;padding:30px}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:80vh;border-radius:var(--r-sm)}
.lb .cap{color:var(--ink-soft);font-size:.88rem;margin-top:14px;text-align:center}
.lb .x{position:absolute;top:16px;right:22px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}

/* ---------- tabs */
.tabs{max-width:900px;margin:0 auto}
.tabbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px}
.tabbar button{font:inherit;font-weight:700;font-size:.86rem;padding:10px 18px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;transition:all .2s}
.tabbar button:hover{border-color:var(--accent)}
.tabbar button.on{background:var(--deep);border-color:var(--deep);color:#fff}
.tabpanel{display:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px}
.tabpanel.on{display:block;animation:fade .4s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tabpanel ul{margin:0;padding-left:20px}
.tabpanel li{margin-bottom:.6em}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:880px){.events{grid-template-columns:1fr}}
.ev{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 18px 16px;position:relative}
.ev .p{position:absolute;top:16px;right:16px;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);background:var(--sand);padding:4px 9px;border-radius:var(--r-sm)}
.ev b{display:block;font-family:var(--font-display);font-size:1.08rem;margin:0 70px .3em 0;line-height:1.2}
.ev span{font-size:.86rem;color:var(--ink-soft)}

/* ---------- meeting point */
.meet{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:var(--card)}
.meet iframe{width:100%;height:100%;min-height:380px;border:0}
.meet-body{padding:34px}
.meet .addr{font-weight:700;color:var(--accent-ink);font-size:.9rem}
.meet ul{padding-left:18px;font-size:.92rem;color:var(--ink-soft)}
@media(max-width:840px){.meet{grid-template-columns:1fr}.meet iframe{min-height:280px}}

/* ---------- parallax banner / final CTA */
.pbanner{position:relative;overflow:hidden;color:#fff;text-align:center;isolation:isolate;background:var(--deep)}
.pbanner .bg{position:absolute;left:0;right:0;top:-30%;height:160%;z-index:-2;will-change:transform}
.pbanner .bg img{width:100%;height:100%;object-fit:cover}
.pbanner:after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(20,23,43,.64)}
.pbanner .in{padding:130px 22px;max-width:780px;margin:0 auto}
.pbanner h2{color:#fff;font-size:clamp(1.9rem,4.4vw,3.2rem)}
.pbanner h2 em{color:var(--glow)}
.pbanner p{color:rgba(255,255,255,.82);max-width:54ch;margin:0 auto 1.8em}
.pbanner .alt-links{font-size:.88rem;margin-top:1.6em;color:rgba(255,255,255,.75)}
.pbanner .alt-links a,.pbanner .fine a{color:#fff}
.pbanner .fine{font-size:.76rem;color:rgba(255,255,255,.55);margin-top:1.4em}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ---------- reviews */
.rev-sum{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 auto 38px;flex-wrap:wrap}
.rev-sum .num{font-family:var(--font-display);font-size:4.6rem;line-height:1;font-weight:600;letter-spacing:-.04em}
.rev-sum .rs-stars{color:var(--star);font-size:1.5rem;letter-spacing:2px}
.rev-sum .rs-meta{font-size:.88rem;color:var(--ink-soft);line-height:1.4}
.quotes{columns:3;column-gap:14px}
@media(max-width:900px){.quotes{columns:2}}
@media(max-width:600px){.quotes{columns:1}}
.q{break-inside:avoid;margin:0 0 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 18px}
.q .stars{color:var(--star);letter-spacing:2px;font-size:.92rem;margin-bottom:.4em}
.q p{margin:0 0 .8em;font-family:var(--font-display);font-size:1.12rem;line-height:1.45;font-weight:500}
.q footer{font-size:.78rem;color:var(--ink-soft)}
.q footer b{color:var(--ink)}
.rev-note{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:18px}

/* ---------- cross-sell */
.gc{display:grid;grid-template-columns:1fr 1.1fr;border-radius:var(--r-xl);overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.07)}
.gc img{width:100%;height:100%;object-fit:cover;min-height:300px}
.gc .body{padding:34px}
.gc .meta{font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--ink-soft)}
.gc .meta .st{color:var(--star)}
.pill{display:inline-block;background:var(--sand);color:var(--ink-soft);font-size:.74rem;font-weight:700;padding:5px 10px;border-radius:var(--r-sm);margin:0 6px 6px 0}
@media(max-width:800px){.gc{grid-template-columns:1fr}.gc img{min-height:220px}}

/* ---------- long-form guide */
.guide{max-width:760px;margin:0 auto}
.guide .lead,.prose .lead{font-family:var(--font-display);font-size:1.3rem;line-height:1.5;color:var(--ink)}
.guide h3{font-size:1.55rem;margin-top:1.6em}
.guide figure,.gfig{margin:2em 0}
.guide figure img,.gfig img{border-radius:var(--r-lg);width:100%}
.guide figcaption,.gfig figcaption{font-size:.82rem;color:var(--ink-soft);margin-top:10px;padding-left:34px;position:relative}
.guide figcaption:before,.gfig figcaption:before{content:"";position:absolute;left:0;top:.7em;width:24px;height:1px;background:currentColor}
.tip{background:var(--sand);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;padding:18px 22px;margin:1.6em 0;font-size:.96rem}

/* ---------- guide cards */
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.gcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.gcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.1);border-color:var(--accent)}
.gcard h3{font-size:1.12rem;margin-bottom:.45em}
.gcard p{font-size:.88rem;color:var(--ink-soft);margin:0 0 1em}
.gcard .go{margin-top:auto;font-size:.8rem;font-weight:700;color:var(--accent-ink)}

/* ---------- FAQ: sticky heading left, accordion right */
.faq-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}
.faq-grid .side{position:sticky;top:100px}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr;gap:20px}.faq-grid .side{position:static}}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:600;font-size:1.1rem;padding:18px 40px 18px 0;position:relative;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:4px;top:14px;font-family:var(--font-body);font-weight:300;font-size:1.6rem;color:var(--ink-soft);transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg);color:var(--accent)}
.faq .a p{margin:0 0 18px;color:var(--ink-soft);font-size:.97rem}

/* ---------- footer */
.site-foot{background:var(--sand);border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}
.site-foot .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding:64px 0 36px}
@media(max-width:880px){.site-foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.site-foot .cols{grid-template-columns:1fr}}
.site-foot h4{font-family:var(--font-body);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 1em}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin-bottom:.55em}
.site-foot a{color:var(--ink);text-decoration:none}
.site-foot a:hover{color:var(--accent-ink);text-decoration:underline}
.foot-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);margin-bottom:.8em}
.foot-logo img{width:36px;height:36px;border-radius:var(--r-sm)}
.disclosure{font-size:.82rem;color:var(--ink-soft)}
.pop{border-top:1px solid var(--line);padding:22px 0}
.pop h4{margin-bottom:.8em}
.pop div{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.84rem}
.foot-bottom{border-top:1px solid var(--line);padding:18px 0 26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-soft)}

/* ---------- inner pages */
.page-top{padding-top:calc(var(--head-h) + 10px)}
.crumbs{font-size:.82rem;color:var(--ink-soft);padding-top:26px}
.crumbs a{color:var(--ink-soft)}
.prose{max-width:760px;margin:0 auto;padding:26px 22px 80px}
.prose h1{font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.05}
.prose h2{font-size:1.7rem;margin-top:1.4em}
.gcta{background:var(--deep);color:#fff;border-radius:var(--r-xl);padding:28px 30px;margin:2.4em 0}
.gcta .eyebrow{color:var(--mint)}
.gcta-note{color:rgba(255,255,255,.75);font-size:.9rem;margin:0 0 1em}
.gcta .btn-row{justify-content:flex-start}
.more-guides{border-top:1px solid var(--line);margin-top:3em;padding-top:1.6em}
.more-guides h2{font-size:1.3rem}
.more-guides ul{padding-left:18px}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
.prose table.cmp{min-width:0}
.prose .tbl-wrap{margin:1.2em 0}

/* ---------- status strip (closures / advisories; driven by STATUS in build_site.py) */
.status{background:#FFF4D6;border-bottom:1px solid #EBD9A2;color:#4A3A0A}
.status .wrap{display:flex;gap:14px;align-items:flex-start;padding-top:14px;padding-bottom:14px;font-size:.92rem;line-height:1.5}
.status .ic{flex:none;width:26px;height:26px;border-radius:50%;background:#E0A21B;color:#fff;display:grid;place-items:center;font-weight:800;font-size:.9rem;margin-top:1px}
.status b{color:#2E2406}
.status a{color:#7A4B00;font-weight:700}
.status .upd{display:block;font-size:.78rem;color:#7A6A3A;margin-top:2px}

/* ---------- guides v2: hub, article layout, sticky TOC, progress, inline CTAs */
.rprog{position:fixed;top:0;left:0;right:0;height:3px;z-index:55;pointer-events:none}
.rprog i{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
.ghead{padding-top:18px;padding-bottom:6px}
.ghead h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.04;max-width:940px;margin-bottom:.35em}
.glede{font-size:1.14rem;color:var(--ink-soft);max-width:760px;margin:0 0 .8em}
.gupd{font-size:.8rem;color:var(--ink-soft);letter-spacing:.02em;margin:0}
.ghero{margin-top:26px;margin-bottom:0}
.ghero img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:var(--r-xl);box-shadow:0 24px 50px rgba(0,0,0,.18)}
.ghero figcaption{font-size:.8rem;color:var(--ink-soft);margin-top:10px}
.glayout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:56px;align-items:start;padding-top:44px;padding-bottom:40px}
.gtoc{position:sticky;top:calc(var(--head-h) + 24px);max-height:calc(100vh - var(--head-h) - 48px);overflow:auto;border-left:1px solid var(--line);padding:4px 0 4px 18px}
.gtoc-h{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 12px}
.gtoc ol{list-style:none;margin:0;padding:0}
.gtoc li{margin:0}
.gtoc a{display:flex;gap:10px;padding:7px 10px;border-radius:0;font-size:.88rem;line-height:1.35;color:var(--ink-soft);text-decoration:none;border-left:2px solid transparent;margin-left:-12px;transition:background .2s,color .2s}
.gtoc a span{flex:none;width:18px;font-size:.72rem;font-weight:700;color:var(--ink-soft);padding-top:2px}
.gtoc a:hover{color:var(--ink);background:var(--sand)}
.gtoc a.on{color:var(--ink);font-weight:700;background:var(--sand);border-left-color:var(--accent)}
.gart{max-width:780px;font-size:1.04rem}
.gart>p{margin:0 0 1.1em}
.gbook{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 18px;background:var(--sand);border-radius:var(--r-md);font-size:.95rem}
.gbook b{margin-right:2px}
.gquick{background:var(--card);border-left:4px solid var(--deep-2);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:22px 26px;margin:1.8em 0 2.2em}
.gquick p{margin:0 0 .6em;font-size:1.06rem;line-height:1.6}
.gquick .eyebrow{margin-bottom:8px}
.gquick .gfig{margin:1.2em 0 0}
.gsec{padding-top:12px;scroll-margin-top:calc(var(--head-h) + 20px)}
.gsec h2{font-size:clamp(1.6rem,3vw,2.15rem);margin:1.4em 0 .5em}
.gans{font-size:1.07rem;line-height:1.6;margin:0 0 1em}
.gsec ul{padding-left:20px}
.gsec li{margin:.35em 0}
ul.checks{list-style:none;padding:0}
ul.checks li{position:relative;padding-left:30px}
ul.checks li:before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--deep-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.gstrip{border-left:3px solid var(--accent);padding:6px 0 6px 18px;margin:1.8em 0}
.gstrip p{margin:0 0 .7em;font-size:.93rem;color:var(--ink-soft)}
.goffer{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;background:var(--sand);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin:2em 0}
.goffer img{width:150px;height:110px;object-fit:cover;border-radius:var(--r-md)}
.goffer p{margin:0 0 .5em;font-size:.95rem}
.gmeta{font-size:.8rem !important;color:var(--ink-soft)}
.gmeta .st{color:var(--star);font-weight:700}
.gchoose{margin-top:3em;background:var(--deep);color:#fff;border-radius:var(--r-xl);padding:34px 32px}
.gchoose h2{color:#fff;margin:.2em 0 .3em}
.gchoose h2 em{color:var(--glow)}
.gchoose .eyebrow{color:var(--mint)}
.gchoose .sub{color:rgba(255,255,255,.75);margin:0 0 1.4em}
.gchs{display:grid;gap:16px}
.gchs.n2,.gchs.n3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gch{background:var(--card);color:var(--ink);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.gchs.n1 .gch{display:grid;grid-template-columns:240px 1fr}
.gch img{width:100%;aspect-ratio:3/2;object-fit:cover}
.gchs.n1 .gch img{height:100%;aspect-ratio:auto}
.gchb{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.gchb h3{font-size:1.02rem;line-height:1.25;margin:0 0 .4em}
.gchb ul{margin:.3em 0 1em;padding-left:18px;font-size:.84rem;color:var(--ink-soft)}
.gchb .gbest{font-size:.86rem;color:var(--ink-soft)}
.gchb .row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.gchb .btn{padding:10px 16px;font-size:.84rem}
.gmore{background:var(--sand);padding:64px 0;margin-top:30px}
.gmore h2{margin-bottom:1em}
.gmore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gcard2{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.gcard2:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.12)}
.gcard2 img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gcard2 span{padding:14px 16px 18px;display:flex;flex-direction:column;gap:4px}
.gcard2 b{font-family:var(--font-display);font-size:1.1rem}
.gcard2 small{color:var(--ink-soft);font-size:.86rem}
.ghub{padding:48px 0 70px;margin-top:30px}
.ghub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ghub-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ghub-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(0,0,0,.13)}
.ghub-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ghc{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.ghc b{font-family:var(--font-display);font-size:1.16rem;line-height:1.25}
.ghc small{color:var(--ink-soft);font-size:.9rem}
.ghc em{margin-top:auto;padding-top:8px;font-style:normal;font-weight:700;font-size:.86rem;color:var(--accent-ink)}
@media(max-width:980px){.glayout{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:28px}
  .gtoc{position:static;max-height:none;border-left:0;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;background:var(--card)}
  .gtoc a{margin-left:0}
  .gmore-grid,.ghub-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.gmore-grid,.ghub-grid{grid-template-columns:1fr}.goffer{grid-template-columns:1fr}.goffer img{width:100%;height:170px}
  .gchs.n1 .gch{grid-template-columns:1fr}.ghero img{aspect-ratio:4/3}.gchoose{padding:26px 20px}}

/* ---------- floating corner CTA + exit-intent dialog */
.fcta{position:fixed;right:20px;bottom:20px;width:320px;z-index:58;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 22px 50px rgba(0,0,0,.22);padding:18px 18px 18px;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.fcta.on{opacity:1;transform:none;pointer-events:auto}
.fcta p{margin:0 32px 12px 0;font-size:.95rem;line-height:1.45}
.fcta .btn{width:100%;justify-content:center}
.fx{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:0;background:transparent;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--ink)}
.fx:hover{background:var(--sand)}
@media(max-width:650px){.fcta{left:0;right:0;bottom:0;width:auto;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:14px 16px}
  .fcta p{font-size:.88rem;margin-bottom:10px}}
.xdlg{border:0;border-radius:var(--r-xl);padding:34px 34px 30px;max-width:460px;width:calc(100% - 40px);box-shadow:0 30px 80px rgba(0,0,0,.35);color:var(--ink)}
.xdlg::backdrop{background:rgba(20,23,43,.55);backdrop-filter:blur(2px)}
.xdlg h3{font-size:1.7rem;line-height:1.15;margin:0 30px .5em 0}
.xdlg p{color:var(--ink-soft);margin:0 0 1.3em}
.xdlg .btn{width:100%;justify-content:center}
.gart table.cmp,.gchoose table.cmp{min-width:0;width:100%}
.gart .tbl-wrap{margin:1.2em 0;overflow-x:auto}
.gart .cmp td,.gart .cmp th{padding:11px 12px}
.gart .cmp td{font-size:.9rem}

/* ---- HTML sitemap page (/sitemap/) ---- */
.smap-lede{font-size:1.05rem;color:var(--ink-soft)}
.smap{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px 40px;margin:1.6em 0 1em}
.smap h2{font-size:1.12rem;margin:0 0 .7em;padding-bottom:.45em;border-bottom:1px solid var(--line)}
.smap ul{list-style:none;padding:0;margin:0}
.smap li{margin:0 0 .6em;line-height:1.38}
.smap a{color:var(--ink);text-decoration:none;font-weight:500}
.smap a:hover{color:var(--accent-ink);text-decoration:underline}
.smap li small{display:block;color:var(--ink-soft);font-size:.84rem;margin-top:.1em}
.smap .wide{grid-column:1/-1}
.smap .wide ul{columns:3 250px;column-gap:40px}
.smap .wide li{break-inside:avoid}
.prose:has(.smap){max-width:1040px}

/* ---- Language dropdown (v3 header) ---- */
.lang-dd{position:relative;margin-left:18px;flex-shrink:0}
.lang-dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:5px;font-weight:700;font-size:.76rem;letter-spacing:.06em;color:#fff;padding:7px 10px;border:1px solid rgba(255,255,255,.45);border-radius:var(--r-sm);text-shadow:0 1px 8px rgba(0,0,0,.25)}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary::after{content:"▾";font-size:.62rem}
.solid .lang-dd summary,.plain .lang-dd summary,.site-head.open .lang-dd summary{color:var(--ink);border-color:var(--line);text-shadow:none}
.lang-dd .lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 14px 30px rgba(0,0,0,.16);padding:6px;display:flex;flex-direction:column;min-width:140px;z-index:80}
.lang-menu a{padding:8px 11px;border-radius:0;font-size:.84rem;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.lang-menu a:hover{background:var(--sand)}
.lang-menu a.active{color:var(--accent-ink);background:var(--sand)}
@media(max-width:1000px){.lang-dd{margin-left:10px;order:3}.nav-toggle{order:2}.lang-dd summary{padding:6px 8px;font-size:.72rem}}

/* ---------- tour pages, tours hub, blog ---------- */
.tcard .tlink{display:inline-block;font-size:.86rem;font-weight:700;margin:2px 0 12px;text-decoration:none}
.tcard .tlink:hover{text-decoration:underline}
.oc .best{display:block;font-size:.82rem;color:rgba(255,255,255,.86);margin:-.3em 0 .7em;line-height:1.35}
.cmp a.tname{color:var(--ink);text-decoration:none}
.cmp a.tname:hover b{color:var(--accent-ink);text-decoration:underline}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.bcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.12)}
.bcard img{width:100%;aspect-ratio:16/9;object-fit:cover}
.bcard>span{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
.bcard time,.ghc time{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.bcard b{font-family:var(--font-display);font-size:1.15rem;line-height:1.2}
.bcard small{color:var(--ink-soft);font-size:.88rem;line-height:1.45}
.bdate{font-size:.85rem;color:var(--ink-soft);margin:.6em 0 0}
@media(max-width:900px){.bgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bgrid{grid-template-columns:1fr}}
/* tour page */
.thead{padding-top:18px}
.thead h1{font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.05;max-width:900px;margin:.15em 0 .35em}
.thead .eyebrow{margin:0}
.tmeta{font-size:.92rem;color:var(--ink-soft);margin:.6em 0 0}
.tmeta .st{color:var(--star);font-weight:700}
.tlayout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;padding-top:28px;padding-bottom:60px}
.thero{margin:0}
.thero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-xl);box-shadow:0 22px 46px rgba(0,0,0,.16)}
.ttoc{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}
.ttoc a{font-size:.8rem;font-weight:700;text-decoration:none;color:var(--ink);background:var(--sand);border:1px solid var(--line);padding:6px 12px;border-radius:var(--r-sm)}
.ttoc a:hover{border-color:var(--accent);color:var(--accent-ink)}
.tsec{scroll-margin-top:calc(var(--head-h) + 20px);padding-top:8px}
.tsec h2{font-size:clamp(1.5rem,2.8vw,2rem);margin:1.5em 0 .55em}
.tsec p{margin:0 0 1em}
.thl{list-style:none;padding:0;margin:1.2em 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.thl li{position:relative;padding-left:26px;font-size:.96rem}
.thl li:before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.tsteps{list-style:none;padding:0;margin:0;counter-reset:ts;border-left:2px solid var(--line);margin-left:8px}
.tsteps li{position:relative;padding:0 0 22px 26px}
.tsteps li:before{content:"";position:absolute;left:-8px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--paper)}
.tsteps .tt{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.tsteps b{font-family:var(--font-display);font-size:1.12rem;font-weight:600}
.tsteps p{margin:.3em 0 0;font-size:.96rem;color:var(--ink-soft)}
.tgal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.tgal a{display:block;border-radius:var(--r-md);overflow:hidden}
.tgal img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ease)}
.tgal a:hover img{transform:scale(1.05)}
.tinc{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tinc>div{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px}
.tinc h3{font-size:1.02rem;font-family:var(--font-body);font-weight:800;margin:0 0 .6em}
.tinc ul{list-style:none;margin:0;padding:0}
.tinc li{position:relative;padding:0 0 0 24px;margin:.45em 0;font-size:.94rem}
.tinc ul.yes li:before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2.5px solid #2E8B57;border-bottom:2.5px solid #2E8B57;transform:rotate(-45deg)}
.tinc ul.no li:before,.tinc ul.no li:after{content:"";position:absolute;left:3px;top:.72em;width:12px;height:2.5px;background:#B4441A;transform:rotate(45deg)}
.tinc ul.no li:after{transform:rotate(-45deg)}
.tquotes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tquotes .q{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px}
.tquotes .q p{font-size:.96rem;margin:.4em 0 .7em}
.tquotes .q footer{font-size:.82rem;color:var(--ink-soft)}
.tquotes .stars{color:var(--star);letter-spacing:2px;font-size:.85rem}
.ttips{padding-left:20px}
.ttips li{margin:.5em 0}
.tguides{margin:1.2em 0 .3em}
.tglist{padding-left:20px;margin:0}
.tbook{margin-top:2.6em;background:var(--deep);color:#fff;border-radius:var(--r-xl);padding:30px 30px 26px}
.tbook h2{color:#fff;margin:.15em 0 .4em;font-size:clamp(1.5rem,2.8vw,2rem)}
.tbook .eyebrow{color:var(--mint)}
.tbook p{color:rgba(255,255,255,.85)}
.tcmps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcmp{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease)}
.tcmp:hover{transform:translateY(-4px)}
.tcmp img{width:100%;aspect-ratio:16/10;object-fit:cover}
.tcmp>span{display:flex;flex-direction:column;gap:5px;padding:12px 14px 16px}
.tcmp b{font-family:var(--font-display);font-size:1.02rem;line-height:1.2}
.tcmp small{font-size:.84rem;color:var(--ink-soft);line-height:1.4}
.tcmp em{font-style:normal;font-size:.78rem;font-weight:700;color:var(--ink-soft)}
.tcmp .st,.thc .st{color:var(--star)}
.tbox{position:sticky;top:calc(var(--head-h) + 20px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px 22px 18px;box-shadow:0 18px 40px rgba(0,0,0,.1)}
.tbox dl{margin:0 0 16px}
.tbox dl>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.tbox dl>div:last-child{border-bottom:0}
.tbox dt{font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding-top:2px}
.tbox dd{margin:0}
.tbox dd b{font-family:var(--font-display);font-size:1.3rem;color:var(--accent-ink)}
.tbox .st{color:var(--star);font-weight:700}
.tbox .btn{display:block;text-align:center;width:100%}
.tbox-note{font-size:.76rem;color:var(--ink-soft);margin:10px 0 0;text-align:center}
@media(max-width:980px){.tlayout{grid-template-columns:minmax(0,1fr);gap:24px}.tbox{position:static;order:-1}.tcmps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.thl,.tinc,.tquotes,.tcmps{grid-template-columns:1fr}.tgal{grid-template-columns:1fr 1fr}.tbox dl>div{grid-template-columns:92px minmax(0,1fr)}}
/* tours hub */
.tgroup{padding:40px 0 10px}
.tgroup:nth-of-type(even){background:var(--sand)}
.tgroup h2{margin-bottom:.2em}
.tgroup .sub{margin:0 0 1.4em;color:var(--ink-soft)}
.thgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:36px}
.thc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.thc:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.12)}
.thc-img{position:relative;display:block;overflow:hidden}
.thc-img img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s var(--ease)}
.thc:hover .thc-img img{transform:scale(1.05)}
.thc .chip{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.75);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:6px 11px;border-radius:var(--r-sm)}
.thc-b{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.thc-b h3{font-size:1.15rem;margin:.2em 0 .45em}
.thc-b h3 a{color:var(--ink);text-decoration:none}
.thc-b h3 a:hover{color:var(--accent-ink)}
.thc-b p{font-size:.92rem;margin:0 0 .7em;color:var(--ink-soft)}
.thc-sled{font-size:.86rem!important}
.thc .row{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.thc .row .price{margin-right:auto}
.thc .row .btn{padding:9px 14px;font-size:.84rem}
@media(max-width:900px){.thgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.thgrid{grid-template-columns:1fr}}

/* ---------- D4 (BUILD-DIRECTIVES.md): compact tour key-facts box, half the engine's height.
   Engine box at 1366x768: 10 rows, 676 px. This box: 5 rows, one column of label/value pairs, tighter spacing;
   final_gates.py G9 fails any tour page whose box is taller than 338 px or ends less than 120 px above the screen bottom. */
.tbox{padding:16px 18px 14px;border-radius:var(--r-lg)}
.tbox dl{margin:0 0 12px}
.tbox dl>div{grid-template-columns:96px minmax(0,1fr);gap:8px;padding:5px 0;font-size:.84rem;line-height:1.35}
.tbox dt{font-size:.64rem;letter-spacing:.08em;padding-top:3px}
.tbox dd b{font-size:1.12rem}
.tbox .btn{padding:11px 16px;font-size:.9rem}
.tbox-note{font-size:.72rem;margin:8px 0 0;line-height:1.4}

/* Coffee Roast (design.md): flat, no gradients, radius 0/2/4; display Cormorant 500 (5rem on the hero), h1 2.75rem 500;
   body EB Garamond 1.1rem/1.7; labels Inter .7rem .18em. One action colour (gold #FF4FB4, dark green text); text over
   photographs sits on solid hunter-green plates. */
body{line-height:1.7;font-size:1.1rem}
.eyebrow{font-family:var(--font-label);font-weight:600;font-size:.7rem;letter-spacing:.18em}
.eyebrow:before{height:2px;background:var(--secondary)}
.dark .eyebrow:before,.eyebrow.on-dark:before{background:currentColor}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.01em;line-height:1.12}
h1{font-size:clamp(2rem,4.6vw,2.75rem);font-weight:500}
h2{font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:500}
h3{font-size:1.24rem;font-weight:500}
.hero h1{font-weight:500;letter-spacing:-.015em;font-size:clamp(3.1rem,7.6vw,5rem);line-height:.98}
h1 em,h2 em,h3 em{font-family:var(--font-em);font-style:italic;font-weight:500;color:inherit}
.hero h1 em{font-style:italic;font-weight:500;color:#FAF6EC}
.dark h2 em,.pbanner h2 em,.gchoose h2 em,.tbook h2 em{color:#FAF6EC}
.btn{font-family:var(--font-label);font-weight:600;font-size:.95rem;letter-spacing:.01em;border-radius:var(--r-md);padding:12px 20px;background:var(--accent);color:var(--on-accent);box-shadow:none}
.btn:hover{background:var(--accent-hover);color:var(--on-accent);transform:none}
.btn-ghost{background:transparent;border-radius:var(--r-md)}
.nav a.btn,.nav a.btn:hover{color:var(--on-accent)}
.solid .nav a,.plain .nav a,.solid .dd-btn,.plain .dd-btn{color:var(--ink)}
.solid .nav a.btn,.plain .nav a.btn{color:var(--on-accent)}
.solid .nav-toggle,.plain .nav-toggle{color:var(--ink);border-color:var(--line);background:transparent}
.solid .lang-dd summary,.plain .lang-dd summary{color:var(--ink);border-color:var(--line);text-shadow:none}
.dd-menu a{color:var(--ink)}
.btn-line{color:var(--ink);border:1px solid var(--secondary);background:transparent}
.btn-line:hover{background:var(--deep);border-color:var(--deep);color:#FAF6EC}
.star-badge small{max-width:8rem;margin-left:auto;margin-right:auto;line-height:1.25;letter-spacing:.06em;font-family:var(--font-label);font-weight:600}
.star-badge .txt,.star-badge strong,.star-badge span{color:var(--on-accent)}
.star-badge strong{font-family:var(--font-display);font-weight:600}
@media(max-width:1020px){.star-badge small{max-width:6.4rem}}
@media(max-width:767px){.star-badge small{max-width:5.6rem;font-size:.52rem}}
.tcard .chip,.oc .chip,.thc .chip{font-family:var(--font-label);font-weight:600;letter-spacing:.06em;background:var(--deep);border-color:rgba(250,246,236,.3);color:#FAF6EC;backdrop-filter:none;border-radius:var(--r-sm)}
.tcard .thumb .ov{background:rgba(20,23,43,.88);border-radius:0;padding:10px 14px}
.oc .in{background:rgba(20,23,43,.88);border-radius:0;padding:12px 14px}
.gal span{background:rgba(20,23,43,.86);border-radius:var(--r-sm);padding:6px 9px;right:auto;max-width:calc(100% - 24px)}
.tbox dt,.cmp th{font-family:var(--font-label);font-weight:600;letter-spacing:.14em;font-size:.66rem}
.step .n{background:var(--paper)}
.alt .step .n{background:var(--sand)}
.dark{background:var(--deep);color:#FAF6EC}
.dark p{color:rgba(250,246,236,.86)}
.dark .eyebrow,.eyebrow.on-dark{color:var(--mint)}
.dark .ess h3{color:#FAF6EC}
.tabbar button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tabbar button{color:var(--ink);font-weight:600}
.chips span,.tcard .chips span,.pill{background:var(--sand-2);color:var(--ink);font-weight:600}
.tbl-wrap{border-color:var(--deep);border-width:1px 0 2px;border-radius:0;background:var(--card)}
.cmp th{color:var(--ink);background:var(--sand);text-transform:uppercase;border-bottom:2px solid var(--deep)}
.cmp td,.cmp th{border-color:var(--line)}
.cmp tr.feat td{background:rgba(20,23,43,.05)}
.site-foot{background:var(--deep);color:rgba(250,246,236,.86)}
.site-foot a,.site-foot h4,.foot-logo{color:#FAF6EC}
.site-foot .disclosure,.site-foot .plain-src,.foot-bottom{color:rgba(250,246,236,.74)}
.site-foot .pop a{color:#FAF6EC;border-color:var(--line-dark)}
.proof{background:var(--card);border-bottom:1px solid var(--line)}
.proof .ic{background:var(--paper);color:var(--ink)}
.q p{color:var(--ink)}
.q{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--deep);border-radius:var(--r-lg);box-shadow:none}
.tcard,.gc,.thc{background:var(--card);border:1px solid var(--line);box-shadow:none}
.gch{color:var(--ink)}
.tinc ul.yes li:before{border-color:#14172B}
.tinc ul.no li:before,.tinc ul.no li:after{background:#4A63A8}
.logo img{border-radius:var(--r-sm);box-shadow:none}
.faq summary{font-weight:600;font-size:1.12rem}
.price b,.rev-sum .num,.statrow .big{font-weight:600}
img{color:var(--ink-soft)}
/* TA-FIX 4: long German compounds ("Sonnenuntergangstour") spilled out of the H1 at 360 px; break and hyphenate headings by page language */
h1,h2,h3,h4{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
/* Coffee Roast: flat boxes; the wide-tracked labels need room in the 5-row key-facts box */
.tbox,.thero,.gquick,.gc,.goffer,.gch,.tcmp{box-shadow:none}
.tbox dt{letter-spacing:.08em;padding-right:10px}

/* Stable hero framing across languages: the background layer was 114% of the HERO, so a longer French or German
   lede made the hero taller and the photo re-scaled and shifted on a language switch. The layer is now sized from the
   VIEWPORT (plus room for the parallax travel), so every language frames the photo the same way; max() only takes over
   when the content is far taller than the screen. */
.hero-layer{height:max(calc(114svh + 140px),114%)}
@media(max-width:767px){.hero-layer{height:max(calc(114svh + 290px),114%)}}

/* NP-FIX 1: at 360 px the German gallery caption "Das Marmorkirchenschiff" and the MMP e-mail address in the tickets guide
   (geral.panteao@museusemonumentos.pt) were wider than their boxes; long words and addresses now break inside them. */
.gal span{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}
.prose p,.gsec p,.gart p,.tsec p{overflow-wrap:anywhere}

/* KH-FIX 1 (Coffee Roast): the button text is dark green on gold, so the ghost buttons over photos (hero, banners) need their
   own cream text; the hero tint is lighter so the golden-hour photo stays warm. */
.btn.btn-ghost,.btn.btn-ghost:hover{color:#FAF6EC;border-color:rgba(250,246,236,.7);background:rgba(250,246,236,.06)}
.btn.btn-ghost:hover{background:rgba(250,246,236,.16)}
.hero-overlay{background:rgba(20,23,43,.36)}
@media(max-width:767px){.hero-overlay{background:rgba(20,23,43,.6)}}

/* SR-FIX 1 (Risograph): Space Grotesk 700 display and headings (display 4.25rem, h1 2.25rem), Space Mono labels at
   .75rem/.04em, body 1rem/1.55; the heading accent is upright deep pink, the display headline carries a misregistered pink
   offset print (a flat text-shadow, not a gradient), and the page has a light paper grain. Photo hero keeps paper text. */
body{font-size:1rem;line-height:1.55;background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .11 0 0 0 0 .25 0 0 0 0 .65 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.03em}
h1 em,h2 em,h3 em{font-style:normal;font-weight:700;color:var(--accent-ink)}
h1{font-size:clamp(1.9rem,4.2vw,2.25rem)}
.hero h1{font-size:clamp(2.6rem,7vw,4.25rem);text-shadow:4px 4px 0 rgba(255,79,180,.9)}
.hero h1 em,.pbanner h2 em,.dark h2 em{color:#FFB3DE;font-style:normal}
.eyebrow{font-size:.75rem;letter-spacing:.04em;font-weight:700}
.btn{font-weight:700;letter-spacing:.04em}
.hero-overlay{background:rgba(20,23,43,.38)}
@media(max-width:767px){.hero-overlay{background:rgba(20,23,43,.6)}}

/* SR-FIX 2: the hero copy column is 44rem instead of 40rem, so the French and Italian first line ("Spectacle de samba",
   "Spettacolo di samba", 648 px at 68 px) stays on one line and the H1 keeps two lines like the English and German. The
   lede and the ticks keep the 40rem measure; the H1 stays inside its column (no spill). */
.hero-content{max-width:44rem}
.hero .lede,.hero .ticks{max-width:40rem}
