@font-face{font-family:"CH Sans";src:local("Segoe UI");font-weight:400 800;font-display:swap}
/* --accent-ink is the text on the accent (dark on this orange: 7:1, where
   white read at 3.3:1); --accent-text is the accent as text on the page.
   A business's own colours replace these four (travel_pages.brand_style). */
:root{--accent:#e46838;--accent-ink:#161a1d;--accent-text:#ad4f2b;--ink:#12344a;--paper:#f8f6f0;--white:#fff;--line:#d9ddd9;--muted:#52646e;--focus:#ffbf47;--radius:14px;--max:1240px}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:#10242f;font:400 17px/1.58 "CH Sans","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body::selection{background:var(--accent);color:var(--accent-ink)}
a{color:inherit;text-underline-offset:.22em}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.announcement{min-height:38px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:24px;padding:7px 24px;font-size:13px}
.announcement a{font-weight:750}
.nav-shell{max-width:var(--max);min-height:72px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--accent);color:var(--accent-ink);font-size:12px;letter-spacing:.06em}
.brand-logo{height:40px;width:auto;max-width:150px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:650}
.nav-links>a{text-decoration:none}.nav-links>a:hover{text-decoration:underline}
.language{display:flex;gap:7px}.language i{font-style:normal;color:#6b777d}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;min-height:44px;padding:0 16px}
main>section,main>article{max-width:var(--max);margin-inline:auto}
h1,h2,h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(2.8rem,5.2vw,5.4rem)}h2{font-size:clamp(2.15rem,4vw,4.15rem)}h3{font-size:clamp(1.45rem,2vw,2rem)}
p{max-width:70ch}ul{padding-left:1.15rem}

/* Hero on the photograph (2026-09-22). The photo fills the whole hero; the
   words sit on it in a paper card over the calm sea and forest on the left.
   The card is its own layer (z-index 1) and the frame keeps a min-height, so
   the editor can never collapse it. */
.hero{position:relative;max-width:none;display:flex;align-items:center;min-height:clamp(560px,calc(100vh - 110px),820px);padding:56px max(28px,calc((100vw - var(--max))/2 + 28px));background:#d8e0df;overflow:hidden}
.hero-media{position:absolute;inset:0;margin:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:68% 42%}
.hero-card{position:relative;z-index:1;width:min(560px,100%);background:var(--paper);color:#10242f;padding:clamp(28px,3.2vw,44px);border-radius:var(--radius)}
.hero-card h1{font-size:clamp(2.6rem,4.3vw,4.4rem)}
.hero-card p{margin:20px 0 28px;font-size:18px;color:#304f5c}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border:1px solid var(--ink);text-decoration:none;font-weight:800;transition:transform .18s ease,background .18s ease,color .18s ease}
.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.secondary{background:transparent;color:var(--ink)}
.split{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(420px,1.14fr);align-items:center;gap:clamp(36px,8vw,110px);padding:112px 28px}
.split.reverse{grid-template-columns:minmax(420px,1.14fr) minmax(280px,.86fr)}.split.reverse>div{order:2}.split.reverse>.split-media{order:1}
.split-media{margin:0;min-width:0}.split-media img{width:100%;height:min(560px,55vw);object-fit:cover;border-radius:var(--radius)}
.split p{color:var(--muted);font-size:18px}.split li{margin:10px 0}.text-link{display:inline-block;margin-top:12px;font-weight:800}
.popular{padding:20px 28px 112px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.section-heading h2{max-width:720px}.section-heading a{font-weight:800;white-space:nowrap}
.open-trip{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#fff;border-radius:var(--radius);padding:36px}.open-trip p{margin:0;font-size:19px;color:var(--muted)}.open-trip .btn{flex:none}
.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tour-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 42px rgba(18,52,74,.09)}
.tour-media{position:relative;display:block;height:260px;overflow:hidden}.tour-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.16,1,.3,1)}.tour-card:hover .tour-media img{transform:scale(1.025)}
.tour-card-copy{padding:24px}.tour-facts{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.tour-card h3{margin:14px 0}.tour-card p{color:var(--muted)}
.tour-price{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.tour-price span{font-size:12px;color:var(--muted);text-align:right}.next-date{font-size:14px}
.process{max-width:none;background:var(--ink);color:#fff;padding:96px max(28px,calc((100vw - var(--max))/2 + 28px));display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
.process p{color:#d7e1e5}.process ol{list-style:none;margin:0;padding:0;display:grid;gap:0}.process li{display:grid;grid-template-columns:46px 1fr;column-gap:16px;padding:22px 0;border-top:1px solid rgba(255,255,255,.25)}.process li b{grid-row:1/3;font-size:14px}.process li strong{font-size:20px}.process li span{color:#d7e1e5}
.room{padding:104px 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.room p{color:var(--muted)}
.arrange-list{display:grid;border-top:1px solid var(--line)}
.arrange-row{display:grid;grid-template-columns:minmax(170px,.8fr) 1.2fr;gap:24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}
.arrange-row strong{font:500 clamp(1.55rem,2.4vw,2.3rem)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.arrange-row span{color:var(--muted)}.arrange-row:hover strong{color:var(--accent-text)}
.visit{padding-top:80px;padding-bottom:80px}.contact-slab{background:#fff;padding:36px;border-radius:var(--radius);display:flex;flex-direction:column;gap:14px}.contact-slab a{font-weight:800}
.map-section{padding:0 28px 104px;display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,72px);align-items:center}
.map-copy h2{margin-bottom:16px}.map-copy p{color:var(--muted);margin:0 0 20px}.map-copy a{font-weight:800}
.map-canvas{overflow:hidden;border-radius:var(--radius);background:#dce8e4;min-height:320px}
.map-canvas iframe{display:block;width:100%;height:clamp(320px,34vw,440px);border:0}
.quote{padding:94px 28px;text-align:center}.quote blockquote{max-width:920px;margin:0 auto;font:500 clamp(2rem,4vw,4.2rem)/1.08 Georgia,serif;letter-spacing:-.035em}.quote p{margin:24px auto 0;color:var(--muted)}
.closing{max-width:none;background:var(--accent);color:var(--accent-ink);padding:76px max(28px,calc((100vw - var(--max))/2 + 28px));display:flex;align-items:center;justify-content:space-between;gap:34px}.closing h2{max-width:800px}.closing p{margin-bottom:0}.closing .btn{background:#fff;color:var(--ink);border-color:#fff;white-space:nowrap}
.site-footer{max-width:none;background:#fff;padding:58px max(28px,calc((100vw - var(--max))/2 + 28px)) 26px;display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:40px}.site-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.site-footer strong{font-size:20px}.site-footer p{margin:0;color:var(--muted)}.legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px!important;font-size:13px}
.page-intro{padding:90px 28px 58px}.page-intro h1{max-width:900px}.page-intro p{font-size:19px;color:var(--muted);margin-top:24px}.page-intro .btn{margin-top:8px}.page-intro.editorial{display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:end}
.catalogue{padding:0 28px 110px}.filters{display:grid;grid-template-columns:1.5fr 1fr auto;gap:14px;align-items:end;background:#fff;padding:20px;margin-bottom:18px;border-radius:var(--radius)}label{display:grid;gap:7px;font-size:14px;font-weight:750}input,select,textarea{width:100%;min-height:48px;border:1px solid #8a989e;background:#fff;color:#10242f;padding:10px 12px;border-radius:7px}textarea{min-height:110px}.filters button{min-height:48px;border:1px solid var(--ink);background:transparent;padding:8px 18px;font-weight:750}.result-count{color:var(--muted)}.empty-state{padding:60px 0}.pager{display:flex;justify-content:center;gap:8px;margin-top:36px}.pager button{min-width:44px;height:44px;border:1px solid var(--line);background:#fff}.pager button[aria-current="page"]{background:var(--ink);color:#fff}
.tour-detail{padding:72px 28px 110px}.tour-detail>header{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}.tour-detail>header img{width:100%;height:560px;object-fit:cover;border-radius:var(--radius)}.tour-detail header p{color:var(--muted);font-size:19px}.back{display:inline-block;margin-bottom:26px;font-weight:800}.detail-facts{display:flex;flex-wrap:wrap;gap:16px 24px;margin:24px 0}.detail-facts span,.detail-facts strong{padding-bottom:5px;border-bottom:1px solid var(--line)}.tour-detail>section{max-width:900px;margin-top:80px}.itinerary{list-style:none;padding:0}.itinerary li{display:grid;grid-template-columns:48px 1fr;gap:18px;border-top:1px solid var(--line);padding:22px 0}.itinerary li span{font-weight:800;color:var(--accent-text)}.itinerary p{margin:0}.departures>div{display:flex;gap:10px;flex-wrap:wrap}.departures>div span{background:#fff;padding:10px 14px;border-radius:999px}.departures p{color:var(--muted)}
.about-grid,.contact-grid{max-width:var(--max);margin:auto;padding:10px 28px 110px;display:grid;grid-template-columns:1.08fr .92fr;gap:64px}.about-grid img{width:100%;height:680px;object-fit:cover;border-radius:var(--radius)}.about-grid h2{font-size:clamp(2rem,3vw,3.1rem);margin:12px 0}.about-grid p{color:var(--muted);margin-bottom:42px}
.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;background:#fff;padding:36px;border-radius:var(--radius);align-self:start}.contact-card p{margin:0}.contact-card a{font-weight:800}
.contact-map{display:grid;gap:22px;align-content:start}.contact-map .map-copy h2{font-size:clamp(1.9rem,3vw,2.8rem)}

/* The trip request: what the traveller needs, then only the details of
   what they chose (2026-09-22). */
.request-layout{padding:82px 28px 110px;display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.request-intro>p{color:var(--muted);font-size:19px}.pending-note{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}
.request-layout form{background:#fff;padding:32px;border-radius:var(--radius);display:grid;gap:24px}
.request-layout fieldset{margin:0;padding:0;border:0;display:grid;gap:16px;min-width:0}
.request-layout legend{padding:0;margin:0 0 6px;font:500 clamp(1.35rem,2vw,1.75rem)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em;float:left;width:100%}
.trip-need,.trip-contact{border-top:1px solid var(--line)!important;padding-top:22px!important}
.service-choices{display:flex;flex-wrap:wrap;gap:10px}
.service-choice{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 16px;border:1px solid #8a989e;border-radius:999px;cursor:pointer;font-size:15px;font-weight:750;background:#fff}
.service-choice input{width:18px;min-height:18px;height:18px;margin:0;padding:0;accent-color:var(--ink)}
.service-choice:has(input:checked){border-color:var(--ink);background:var(--ink);color:#fff}
.service-choice:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{grid-template-columns:auto 1fr;align-items:start}.consent input{width:20px;min-height:20px}.form-status{margin:0;min-height:26px}.form-status.error{color:#a2231d}.form-status.success{color:#176b3a}

@media(max-width:900px){.split,.split.reverse,.process,.room,.page-intro.editorial,.tour-detail>header,.about-grid,.contact-grid,.request-layout,.map-section{grid-template-columns:1fr}.split.reverse>div,.split.reverse>.split-media{order:initial}.process{gap:38px}.room{gap:34px}.tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{grid-template-columns:1fr 1fr}.page-intro.editorial{gap:18px}.tour-detail>header img{height:480px}.request-layout{gap:38px}.open-trip{flex-direction:column;align-items:flex-start}}
@media(max-width:680px){body{font-size:16px}.announcement{justify-content:space-between;padding:7px 16px;font-size:11px}.announcement span{max-width:235px}.nav-shell{min-height:62px;padding:0 16px}.brand-mark{width:36px;height:36px}.brand>span:last-child{max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-toggle{display:block}.nav-links{display:none;position:absolute;z-index:20;left:0;right:0;top:100px;background:#fff;padding:22px 18px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.nav-links.open{display:flex}
  /* on a phone the card rests on the photo's foot: the travellers' faces
     stay in view above it */
  .hero{align-items:flex-end;min-height:calc(100svh - 100px);padding:14px}.hero-media img{object-position:76% 38%}.hero-card{padding:22px 18px 20px}.hero-card h1{font-size:2.2rem;line-height:1.02}.hero-card p{font-size:15px;line-height:1.42;margin:12px 0 16px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr}.btn{padding:11px 12px;font-size:14px}.split,.popular,.room,.visit,.quote,.page-intro,.catalogue,.tour-detail,.about-grid,.contact-grid,.request-layout,.map-section{padding-left:18px;padding-right:18px}.split{padding-top:74px;padding-bottom:74px;gap:28px}.split-media img{height:360px}.popular{padding-bottom:74px}.section-heading{align-items:flex-start;flex-direction:column}.tour-grid{grid-template-columns:1fr}.tour-media{height:240px}.process{padding:70px 18px}.room{padding-top:74px;padding-bottom:74px}.arrange-row{grid-template-columns:1fr;gap:6px}.visit{padding-top:60px;padding-bottom:60px}.map-section{padding-bottom:74px}.map-canvas iframe{height:300px}.quote{padding-top:74px;padding-bottom:74px}.closing{padding:56px 18px;align-items:flex-start;flex-direction:column}.site-footer{grid-template-columns:1fr;padding:48px 18px 24px}.legal{grid-column:auto}.page-intro{padding-top:62px;padding-bottom:38px}.filters{grid-template-columns:1fr}.tour-detail{padding-top:48px}.tour-detail>header{gap:30px}.tour-detail>header img{height:310px}.about-grid,.contact-grid{gap:28px;padding-bottom:74px}.about-grid img{height:420px}.request-layout{padding-top:54px;gap:30px}.request-layout form{padding:22px 16px}.field-pair{grid-template-columns:1fr}.open-trip{padding:26px 20px}.contact-card{padding:26px 20px}}
@media(max-width:350px){.announcement{gap:8px}.announcement span{max-width:200px}.hero-actions{grid-template-columns:1fr}.brand>span:last-child{max-width:135px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tour-media img,.btn{transition:none}}

/* Phones (2026-09-24): form fields read at 16px, so an iPhone does not
   zoom into the field a customer taps. :not(#_) lifts the rule over the
   design's own field rules without !important. */
@media (max-width: 960px) {
  input:not([type=checkbox],[type=radio],[type=file],[type=submit],[type=button],[type=reset],[type=image],[type=range],[type=color],[type=hidden]):not(#_),
  select:not(#_),
  textarea:not(#_) { font-size: 16px; }
}

/* >>> w30 look 2026-09-26 */
/* The engines' bands line up with the design's own sections (they started
   18 to 28px left of them on a computer). */
@media(min-width:681px){html:root body .eng-sec > .eng-wrap{width:min(1184px,calc(100% - 56px))}}
/* Wide screens (1920, 2000): the hero is tall enough that at most about 40%
   of the photograph is cropped away, and the photograph is anchored nearer
   its top so heads stay in the frame. */
@media(min-width:1400px){
  html:root body section[data-section="hero"]{min-height:max(clamp(560px,82vh,800px),min(40vw,900px))}
  html:root body section[data-section="hero"] > :is(figure,.hero-media) img{object-position:center 30%}
}
/* Phones: the hero photograph shows its people, not the empty side of the
   scene (the family and the group stand in the right of the photo). */
@media(max-width:699px){html:root body section[data-section="hero"] > :is(figure,.hero-media) img{object-position:78% 45%}}
/* <<< w30 look 2026-09-26 */

/* >>> standard 2026-09-25 */
/* The finished sites' standard (goal 2026-09-25): sections at most 68px a
   side (40px on a phone), the engines' bands in the page's margins, the menu
   on one row, a long footer page list in two columns. */
:root body main > section:not([data-section="hero"]):not(.eng-sec):not(.media-split):not(.map):not([data-paurtal-widget]){padding-top:clamp(40px,5vw,68px);padding-bottom:clamp(40px,5vw,68px)}
:root body main > section.media-split > div{padding-top:clamp(40px,5vw,68px);padding-bottom:clamp(40px,5vw,68px)}
:root body main > section.eng-sec{padding:clamp(40px,4.4vw,60px) 0;margin:0;max-width:none;width:auto}
:root body main > section.eng-sec + section.eng-sec{padding-top:clamp(12px,2vw,24px)}
:root body .eng-sec > .eng-wrap{width:min(1240px,calc(100% - 48px));max-width:none;margin-inline:auto;padding:0}
:root body .eng-sec .eng-head{margin-top:0}
:root body .eng-sec h2{margin-top:0}
:root body .eng-card__body > a:last-child{align-self:flex-start;width:auto;margin-top:auto}
:root body .eng-page-intro{min-height:0;padding-top:clamp(40px,6vw,84px);padding-bottom:clamp(20px,3vw,36px)}
:root body .eng-page-intro + .eng-sec{padding-top:clamp(12px,2vw,24px)}
@media(max-width:760px){
  :root body main > section:not([data-section="hero"]):not(.eng-sec):not(.media-split):not(.map):not([data-paurtal-widget]){padding-top:40px;padding-bottom:40px}
  :root body main > section.media-split > div{padding-top:40px;padding-bottom:40px}
  :root body main > section.eng-sec{padding-top:40px;padding-bottom:40px}
  :root body .eng-sec > .eng-wrap{width:calc(100% - 36px)}
}
:root body :is(footer,.site-footer) :is(div,nav):has(> a:nth-of-type(7)){display:grid;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:28px;row-gap:10px;align-content:start}
:root body :is(footer,.site-footer) :is(div,nav):has(> a:nth-of-type(7)) > :is(h2,h3,p,b,strong){grid-column:1/-1}
/* The editors: every photograph keeps its frame inside the editor's wrapper. */
:root body :is(figure,.eng-card__photo) > [data-paurtal-img-wrap]{display:block !important;width:100%;height:100%}
/* A tap beside the hero's words reaches the photograph (the editors open its
   picker): the words' empty box lets the tap through, the words do not. */
:root body section[data-section="hero"] > div{pointer-events:none}
:root body section[data-section="hero"] > div > *{pointer-events:auto}
/* The hero: the photograph across the whole width, the words on it in white
   over a dark fade from their side (the bottom on a phone, the left on a
   computer); no split panel, no card, no pale haze. */
:root body section[data-section="hero"]{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr;grid-template-rows:none;align-items:end;align-content:end;width:100%;max-width:none;min-height:max(480px,calc(100svh - 250px));margin:0;padding:0;background:#141a19;border:0;border-radius:0;box-shadow:none;overflow:hidden;gap:0;color:#fff}
:root body section[data-section="hero"]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;display:block;width:auto;height:auto;border:0;border-radius:0;transform:none;opacity:1;background:linear-gradient(0deg,rgba(12,16,15,.92) 0%,rgba(12,16,15,.78) 45%,rgba(12,16,15,.5) 80%,rgba(12,16,15,.4) 100%)}
:root body section[data-section="hero"]::after{display:none}
:root body section[data-section="hero"] > :is(figure,.hero-media){position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;min-height:0;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;clip-path:none;-webkit-mask:none;mask:none;transform:none;opacity:1;overflow:hidden;grid-area:auto;background:none;order:0}
:root body section[data-section="hero"] > :is(figure,.hero-media) picture{display:block;width:100%;height:100%}
:root body section[data-section="hero"] > :is(figure,.hero-media) img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:center 45%;border:0;border-radius:0;clip-path:none;transform:none;filter:none;opacity:1}
:root body section[data-section="hero"] > :is(.hero-copy,.hero-card,.hero-words){position:relative;z-index:1;order:1;width:100%;max-width:none;min-height:0;margin:0;padding:28px 20px 32px;background:none;border:0;border-radius:0;box-shadow:none;clip-path:none;transform:none;grid-area:auto;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
:root body section[data-section="hero"] > :is(.hero-copy,.hero-card,.hero-words)::before,:root body section[data-section="hero"] > :is(.hero-copy,.hero-card,.hero-words)::after{display:none}
:root body section[data-section="hero"] :is(h1,h1 span,p,p span,.eyebrow,.hero-context,.hero-lede,.lede,.hero-line){color:#fff}
:root body section[data-section="hero"] h1{max-width:15ch;font-size:clamp(38px,5vw,66px);line-height:1.05;text-wrap:balance}
:root body section[data-section="hero"] :is(.hero-copy,.hero-card,.hero-words) > p:not(.eyebrow):not(.hero-context){max-width:46ch;color:#e6ebe8}
:root body section[data-section="hero"] .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
:root body section[data-section="hero"] .hero-actions :is(.secondary,.btn-quiet){background:transparent;border-color:#fff;color:#fff}
:root body section[data-section="hero"] .hero-actions :is(.secondary,.btn-quiet) span{color:#fff}
@media(max-width:699px){:root body section[data-section="hero"] .hero-actions{padding-right:58px}}
@media(min-width:900px){
  :root body section[data-section="hero"]{align-items:center;align-content:center;min-height:clamp(560px,82vh,800px)}
  :root body section[data-section="hero"]::before{background:linear-gradient(90deg,rgba(12,16,15,.9) 0%,rgba(12,16,15,.72) 38%,rgba(12,16,15,.2) 70%,rgba(12,16,15,0) 86%)}
  :root body section[data-section="hero"] > :is(.hero-copy,.hero-card,.hero-words){padding:clamp(48px,8vh,96px) max(24px,calc((100% - 1240px) / 2))}
  :root body section[data-section="hero"] > :is(.hero-copy,.hero-card,.hero-words) > *{max-width:620px}
}
/* The engines take the design's own tokens. */
:root body{--primary:var(--accent);--primary-text:var(--accent-text,var(--accent));--on-primary:var(--accent-ink,#fff);--ink-soft:var(--muted);--ground:var(--surface,var(--white,#fff));--surface-2:var(--paper)}
/* The menu on one row, however many pages. */
@media(min-width:1025px){
  :root body .nav-shell{flex-wrap:nowrap;gap:clamp(14px,1.6vw,28px)}
  :root body .nav-links{flex-wrap:nowrap;gap:clamp(10px,1.05vw,20px)}
  :root body .nav-links > a{flex-shrink:0;white-space:nowrap}
  :root body .nav-links:has(> a:nth-of-type(8)) > a{font-size:12.5px;letter-spacing:0}
  :root body .nav-shell .brand{flex-shrink:0}
}
/* The business's name always shows in full: on two lines, smaller, never cut. */
:root body .brand > span:last-child{white-space:normal;overflow:visible;text-overflow:clip;max-width:17ch;line-height:1.15;overflow-wrap:break-word}
@media(max-width:699px){:root body .brand > span:last-child{max-width:22ch;font-size:13px}}
/* <<< standard 2026-09-25 */
