/*! ETEK NOTIONS theme styles. Fonts: DM Sans and Schibsted Grotesk, SIL Open Font License 1.1 (see assets/fonts). */
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/dm-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/dm-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/dm-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/schibsted-grotesk-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/schibsted-grotesk-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/schibsted-grotesk-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Layout: the name set as a monument across the first screen, then a calm 12-column page on near-black,
   gold used only for actions and the one live estimate. Single dark look, by brand choice. */
:root{
  --bg:#121212; --surface:#1A1A19; --surface-2:#22211E; --ink:#F5F2EB; --muted:#ABA597;
  --gold:#D4A017; --gold-soft:#E6BC4C; --line:rgba(245,242,235,.16);
  --paper:#ECEAE5; --paper-ink:#141310; --paper-muted:#5B5649;
  --display:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --text:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --s-13:13px; --s-15:15px; --s-17:17px; --s-20:20px; --s-28:clamp(24px,2.4vw,30px); --s-44:clamp(32px,3.6vw,48px); --s-72:clamp(44px,6.4vw,96px);
  --gutter:clamp(20px,3.2vw,48px);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --r:2px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 var(--s-17)/1.6 var(--text);margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold);color:#121212}
input,select,textarea{caret-color:var(--gold)}
html{scrollbar-color:#3a3833 var(--bg)}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#3a3833;border-radius:10px}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
main p{max-width:68ch}
.wrap{max-width:1440px;margin-inline:auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.section{padding-block:clamp(96px,11vw,168px)}
.h-section{font-size:var(--s-44);max-width:18ch}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}

/* Buttons: one shape, square-ish, gold for the primary action only */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r);font:500 var(--s-15)/1 var(--text);letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn-gold{background:var(--gold);color:#141310}
.btn-ghost{border-color:rgba(245,242,235,.38);color:var(--ink);background:transparent}
.btn-dark{background:var(--paper-ink);color:var(--paper)}
@media (hover:hover) and (pointer:fine){
  .btn-gold:hover{background:var(--gold-soft)}
  .btn-ghost:hover{border-color:var(--ink);background:rgba(245,242,235,.06)}
  .btn-dark:hover{background:#2b2924}
}
.btn svg{width:16px;height:16px;flex:none}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(245,242,235,.35);padding-bottom:3px;transition:border-color 200ms ease,gap 200ms var(--ease-out)}
.link-arrow svg{width:14px;height:14px}
@media (hover:hover){.link-arrow:hover{border-color:var(--gold);gap:12px}}

/* Header + mega menu */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
.site-header{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;transition:background-color 300ms ease}
.site-header::before{content:"";position:absolute;inset:0;background:rgba(18,18,18,.86);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);opacity:0;transition:opacity 300ms ease;pointer-events:none}
.site-header.scrolled::before,.site-header.mega-open::before{opacity:1}
.site-header.mega-open::before{background:var(--surface)}
.bar{position:relative;display:flex;align-items:center;gap:28px;height:84px;transition:height 300ms var(--ease-out)}
.site-header.scrolled .bar{height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:30px;height:auto}
.brand span{font:600 15px/1 var(--display);letter-spacing:.18em;white-space:nowrap}
.menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.menu-trigger,.menu-link{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;min-height:44px;font:400 var(--s-15)/1 var(--text);color:var(--muted);cursor:pointer;border-radius:var(--r);transition:color 200ms ease}
.menu-trigger:hover,.menu-link:hover,.menu-trigger[aria-expanded="true"]{color:var(--ink)}
.menu-trigger:focus-visible,.menu-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.chev{width:12px;height:12px;transition:transform 250ms var(--ease-out)}
.menu-trigger[aria-expanded="true"] .chev{transform:rotate(180deg)}
.lang{display:flex;border:1px solid var(--line);border-radius:var(--r)}
.head-cta{min-height:44px;padding:0 18px}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);min-height:44px;padding:0 14px;border-radius:var(--r);font:500 14px/1 var(--text);cursor:pointer}

.mega{position:absolute;left:0;right:0;top:100%;background:var(--surface);visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);transition:clip-path 380ms var(--ease-out),opacity 220ms ease,visibility 0s linear 380ms;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.mega.open{visibility:visible;opacity:1;clip-path:inset(0 0 0 0);transition:clip-path 420ms var(--ease-out),opacity 200ms ease,visibility 0s}
.mega.instant,.mega.instant *{transition:none!important}
.mega-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:clamp(32px,4vw,72px);padding-block:40px 48px}
.mega-cols{display:grid;gap:36px 32px}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mcol{display:flex;flex-direction:column;gap:2px}
.mcol a,.mcol .mhead{text-decoration:none;color:var(--muted);font-size:var(--s-15);padding:5px 0;transition:color 160ms ease,transform 260ms var(--ease-out)}
.mcol a:hover{color:var(--ink);transform:translateX(3px)}
.mcol .mhead{color:var(--ink);font:600 var(--s-15)/1.3 var(--display);letter-spacing:.01em;margin-bottom:6px}
.mcol a.mhead:hover{color:var(--gold-soft);transform:none}
.handle{font-size:var(--s-13);color:var(--gold-soft);margin-top:8px}
.mega-feature{display:grid;gap:8px;text-decoration:none;align-content:start}
.mega-feature{overflow:hidden}
.mega-feature strong{font:500 var(--s-20)/1.25 var(--display)}
.mega-feature span{color:var(--muted);font-size:var(--s-15)}
.go-line{font-style:normal;display:inline-flex;align-items:center;gap:8px;font-size:var(--s-15);margin-top:6px;color:var(--gold-soft)}
.go-line svg{width:14px;height:14px;transition:transform 250ms var(--ease-out)}
.mega-feature:hover .go-line svg{transform:translateX(4px)}
.mega-cars{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mcar{display:grid;gap:6px;text-decoration:none}
.mcar strong{font:500 var(--s-20)/1.2 var(--display)}
.mcar span{color:var(--muted);font-size:var(--s-15)}
.mcol-side{padding-top:2px}
.mega-reg{display:grid;gap:12px;align-content:start;background:var(--bg);padding:24px}
.mega-reg .mhead{font:600 var(--s-15)/1.3 var(--display)}
.mega-reg dl{margin:0;display:grid;gap:10px}
.mega-reg dl div{display:flex;justify-content:space-between;gap:16px;font-size:var(--s-15)}
.mega-reg dt{color:var(--muted)}.mega-reg dd{margin:0}
/* staggered entry of columns, only on first open */
.mega .mcol,.mega .mega-feature,.mega .mcar,.mega .mega-reg{opacity:0;transform:translateY(8px);transition:opacity 300ms ease,transform 420ms var(--ease-out)}
.mega.open .mcol,.mega.open .mega-feature,.mega.open .mcar,.mega.open .mega-reg{opacity:1;transform:none}
.mega.open .mcol:nth-child(2),.mega.open .mcar:nth-child(2){transition-delay:30ms}
.mega.open .mcol:nth-child(3){transition-delay:60ms}.mega.open .mcol:nth-child(4){transition-delay:90ms}.mega.open .mcol:nth-child(5){transition-delay:120ms}.mega.open .mcol:nth-child(6){transition-delay:150ms}
.mega.open .mega-feature,.mega.open .mega-reg,.mega.open .mcol-side{transition-delay:120ms}
.scrim{position:fixed;inset:0;z-index:40;background:rgba(8,8,8,.55);opacity:0;visibility:hidden;transition:opacity 300ms ease,visibility 0s linear 300ms}
.scrim.on{opacity:1;visibility:visible;transition:opacity 300ms ease,visibility 0s}

.mobile-nav{display:none}
@media (max-width:1080px){
  .nav,.head-cta{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .mega,.scrim{display:none}
  .mobile-nav{position:fixed;inset:0;z-index:45;background:var(--bg);padding:calc(100px + env(safe-area-inset-top,0px)) max(var(--gutter),env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(var(--gutter),env(safe-area-inset-left,0px));flex-direction:column;gap:0;overflow-y:auto;display:flex;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity 260ms ease,transform 360ms var(--ease-out),visibility 0s linear 360ms}
  .mobile-nav.open{visibility:visible;opacity:1;transform:none;transition:opacity 260ms ease,transform 360ms var(--ease-out),visibility 0s}
  .mobile-nav details{border-bottom:1px solid var(--line)}
  .mobile-nav summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font:500 28px/1.2 var(--display);letter-spacing:-.02em;padding:16px 0;cursor:pointer}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav summary .chev{width:18px;height:18px}
  .mobile-nav details[open] summary .chev{transform:rotate(180deg)}
  .m-links{display:grid;gap:2px;padding:0 0 18px}
  .m-links a{text-decoration:none;color:var(--muted);font-size:var(--s-17);padding:8px 0}
  .m-top{font:500 28px/1.2 var(--display);letter-spacing:-.02em;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--line)}
  .mobile-nav .btn{margin-top:28px;align-self:flex-start;font-size:16px}
  .m-foot{margin-top:auto;padding-top:32px;color:var(--muted);font-size:var(--s-15)}
}
@media (max-width:480px){.brand span{font-size:13px;letter-spacing:.14em}.lang button{padding:9px 8px}}

/* Hero: the name as a monument with a line drawing set into it */
.hero{display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(clamp(150px,22vh,230px) + env(safe-area-inset-top,0px));padding-bottom:clamp(18px,2.4vw,36px);position:relative;isolation:isolate}
.hero-top{align-items:end;row-gap:40px;margin-bottom:clamp(40px,7vh,96px)}
.hero-copy{grid-column:1 / span 6}
.hero-lead{font-size:clamp(19px,1.7vw,24px);line-height:1.45;max-width:31ch;color:var(--ink)}
.hero-lead b{font-weight:500}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-index{grid-column:9 / span 4;list-style:none;margin:0;padding:0;display:grid;gap:2px}
.hero-index button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:1fr;align-items:baseline;gap:16px;width:100%;padding:12px 0;cursor:pointer;color:var(--muted);transition:color 250ms ease}
.hero-index button span:first-child{font:500 var(--s-20)/1.2 var(--display);letter-spacing:-.01em}
.hero-index button[aria-pressed="true"]{color:var(--ink)}
.hero-index button[aria-pressed="true"] span:first-child::before{content:"";display:inline-block;width:8px;height:8px;background:var(--gold);margin-right:12px;vertical-align:middle;transform:translateY(-2px)}
.hero-index button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.hero-index .caption{font-size:var(--s-15);color:var(--muted);padding-top:14px;min-height:3.2em;max-width:36ch}
.monument{font:500 clamp(40px,11.2vw,214px)/.8 var(--display);letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap;display:flex;width:max-content;max-width:none;align-items:flex-end;gap:.06em;margin:0;font-kerning:normal}
.monument .word{display:inline-block;overflow:hidden;padding-bottom:.02em;margin-bottom:-.02em}
.monument .word > span{display:inline-block;animation:rise 1000ms var(--ease-out) both}
.monument .word + .frame + .word > span{animation-delay:110ms}
.frame{position:relative;display:inline-block;width:1.06em;height:.79em;margin-inline:.04em .02em;overflow:hidden;background:var(--surface);align-self:flex-end;margin-bottom:.0em;animation:wipe 1100ms var(--ease-io) 200ms both}
.monument.stack{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:end;row-gap:.06em}
.monument.stack .word:last-child{grid-column:1 / -1}
@keyframes rise{from{transform:translateY(102%)}to{transform:translateY(0)}}
@keyframes wipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
.hero-copy > *{animation:fadeUp 700ms var(--ease-out) 650ms both}
.hero-index{animation:fadeUp 700ms var(--ease-out) 750ms both}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .hero{min-height:auto;padding-top:calc(112px + env(safe-area-inset-top,0px))}
  .hero-copy,.hero-index{grid-column:1 / -1}
  .hero-index{margin-top:8px}
  .monument{order:-1;margin-bottom:40px}
  .hero-top{margin-bottom:0}
}

/* Intro */
.intro .grid{align-items:start;row-gap:48px}
.intro-text{grid-column:1 / span 5;display:grid;gap:22px;font-size:var(--s-17)}
.intro-text h2{font-size:var(--s-28);margin-bottom:6px}
.intro-text p{color:var(--muted)}
.intro-text p.first{color:var(--ink);font-weight:500;font-size:var(--s-20);line-height:1.5}
.intro-photo{grid-column:7 / span 6;position:relative}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.facts dt{font-size:var(--s-13);color:var(--muted);letter-spacing:.02em}
.facts dd{margin:4px 0 0;font:500 var(--s-17)/1.35 var(--display)}
@media (max-width:900px){.intro-text,.intro-photo{grid-column:1 / -1}.intro-text{max-width:60ch}.facts{grid-template-columns:1fr 1fr}}

/* Services index: names at one size, a fixed panel describes the hovered group */
.services{background:var(--surface)}
.services-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:72px}
.services-head p{max-width:46ch;color:var(--muted)}
.svc-grid{row-gap:64px}
.svc{grid-column:span 3;display:flex;flex-direction:column;gap:18px}
.svc h3{font-size:var(--s-20);font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.svc ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.svc li{color:var(--muted);font-size:var(--s-17);line-height:1.3;transition:color 200ms ease}
.svc:hover li,.svc:focus-within li{color:var(--ink)}
.svc .price{font-size:var(--s-15);color:var(--gold-soft);font-variant-numeric:tabular-nums}
.svc .handle{margin-top:-10px}
.svc .summary{display:none;font-size:var(--s-15);color:var(--muted)}
.svc a.more{margin-top:auto;align-self:flex-start;font-size:var(--s-15)}
.svc-panel{grid-column:10 / span 3;grid-row:1 / span 2;align-self:start;position:sticky;top:110px;min-height:260px}
.svc-panel h4{font-size:var(--s-28);margin-bottom:14px}
.svc-panel p{color:var(--muted);font-size:var(--s-17)}
@media (max-width:1080px){.svc{grid-column:span 6}.svc-panel{display:none}.svc .summary{display:block}}
@media (max-width:640px){.svc{grid-column:1 / -1}}

/* Fleet */
.fleet-head{margin-bottom:56px;display:grid;gap:18px}
.fleet-list{margin-top:64px;display:grid;gap:8px}
.car-row{display:grid;grid-template-columns:200px minmax(0,1fr) auto auto;gap:32px;align-items:center;padding:16px 24px 16px 16px;background:var(--surface);text-decoration:none;transition:background-color 250ms ease}
@media (hover:hover){.car-row:hover{background:var(--surface-2)}}
.car-row h3{font-size:var(--s-28)}
.car-row .spec{color:var(--muted);font-size:var(--s-15);margin-top:6px}
.car-row .rate{font:500 var(--s-20)/1 var(--display);text-align:right}
.car-row .rate small{display:block;font:400 var(--s-13)/1.4 var(--text);color:var(--muted);margin-top:6px}
.car-row .go{width:52px;height:52px;border:1px solid var(--line);display:grid;place-items:center;border-radius:var(--r);transition:background-color 200ms ease,border-color 200ms ease,transform 300ms var(--ease-out)}
.car-row .go svg{width:18px;height:18px}
@media (hover:hover){.car-row:hover .go{background:var(--gold);border-color:var(--gold);color:#141310;transform:translateX(4px)}}
@media (max-width:760px){.car-row{grid-template-columns:96px minmax(0,1fr);gap:16px}.car-row .rate{grid-column:2;text-align:left}.car-row .go{display:none}}

/* Estimator: the one live thing */
.estimator{margin-top:56px;background:var(--surface);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0}
.est-form{padding:clamp(24px,3vw,44px);display:grid;gap:26px}
.est-form h3{font-size:var(--s-28)}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;font-size:var(--s-15);transition:border-color 200ms ease,background-color 200ms ease,color 200ms ease}
.seg input:checked + span{border-color:var(--ink);background:var(--ink);color:#141310}
.seg input:focus-visible + span{outline:2px solid var(--gold);outline-offset:3px}
.field-label{font-size:var(--s-13);color:var(--muted);letter-spacing:.03em;margin-bottom:10px;display:block}
.range-row{display:flex;align-items:center;gap:18px}
input[type=range]{flex:1;accent-color:var(--gold);height:44px}
.range-row output{font:500 var(--s-20)/1 var(--display);min-width:5.5ch;text-align:right}
.est-result{background:var(--gold);color:#141310;padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.est-result .label{font-size:var(--s-15)}
.est-result .est-total{max-width:none;font:500 clamp(48px,6vw,88px)/.95 var(--display);letter-spacing:-.04em}
.est-result p{font-size:var(--s-15);max-width:40ch}
.est-result .btn{align-self:flex-start}
@media (max-width:860px){.estimator{grid-template-columns:1fr}}

/* How it works */
.how .grid{row-gap:48px}
.how-side{grid-column:1 / span 5}
.how-side .sticky{position:sticky;top:110px;display:grid;gap:28px}
.how-side img{width:100%;aspect-ratio:4/5;object-fit:cover}
.steps{grid-column:7 / span 6;list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 20px;padding:0 0 48px}
.steps li::before{counter-increment:s;content:counter(s);font:500 var(--s-44)/1 var(--display);color:var(--gold);grid-row:span 2;letter-spacing:-.03em}
.steps h3{font-size:var(--s-20);font-weight:600;letter-spacing:-.01em}
.steps p{color:var(--muted);max-width:52ch}
@media (max-width:900px){.how-side,.steps{grid-column:1 / -1}.how-side .sticky{position:static}.how-side img{aspect-ratio:16/10}}

/* Etek Luxury */
.luxury .grid{row-gap:48px;align-items:start}
.lux-photo{grid-column:1 / span 7}
.lux-photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
.lux-photo .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.lux-photo .pair img{aspect-ratio:1/1}
.lux-text{grid-column:9 / span 4;display:grid;gap:24px}
.lux-text h2{font-size:var(--s-44)}
.lux-text p{color:var(--muted)}
.lux-cats{list-style:none;padding:0;margin:0;font:500 var(--s-20)/1.5 var(--display);letter-spacing:-.01em}
.provenance{background:var(--surface-2);padding:24px;display:grid;gap:10px}
.provenance h3{font-size:var(--s-17);font-weight:600;color:var(--gold-soft);letter-spacing:0}
.provenance p{color:var(--ink);font-size:var(--s-15)}
@media (max-width:900px){.lux-photo,.lux-text{grid-column:1 / -1}}
.houses{background:var(--surface-2);contain:paint;width:100%;height:clamp(140px,26vh,260px);display:flex;align-items:center;overflow:hidden;margin-top:clamp(80px,9vw,140px)}
.houses-track{display:flex;align-items:center;flex:none;animation:marquee 46s linear infinite;white-space:nowrap;font:500 clamp(56px,8vw,128px)/1 var(--display)}
.houses-track span{letter-spacing:-.04em;padding-inline:.32em;color:var(--ink)}
.houses-track i{display:inline-block;width:.16em;height:.16em;border-radius:50%;background:var(--gold);flex:none}
@keyframes marquee{to{transform:translateX(-50%)}}
.houses-note{margin-top:18px;color:var(--muted);font-size:var(--s-15);max-width:70ch}

/* Director */
.about .grid{row-gap:40px;align-items:start}
.about-head{grid-column:1 / span 6;display:grid;gap:24px}
.about-line{font:500 var(--s-28)/1.3 var(--display);letter-spacing:-.015em;max-width:24ch}
.about-text{grid-column:8 / span 5;display:grid;gap:18px;color:var(--muted)}
.about-text p:first-child{color:var(--ink);font-size:var(--s-20);line-height:1.5}
.about .core{font:600 var(--s-15)/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin-top:10px}
@media (max-width:900px){.about-head,.about-text{grid-column:1 / -1}}
.director{padding-top:0}
.director .grid{align-items:center;row-gap:40px}
.director figure{grid-column:1 / span 5;margin:0;overflow:hidden}
.director img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.director blockquote{grid-column:3 / span 9;margin:0}
.director blockquote p{font:500 clamp(24px,2.5vw,36px)/1.25 var(--display);letter-spacing:-.02em;max-width:26ch}
.director cite{display:block;margin-top:28px;font-style:normal;color:var(--muted)}
.director cite b{color:var(--ink);font-weight:500;display:block}
@media (max-width:900px){.director figure{grid-column:1 / span 8}.director blockquote{grid-column:1 / -1}}

/* Prices: giant word, filled bars */
.prices .col{max-width:760px;margin-inline:auto;container-type:inline-size}
.giant{font:600 21.5cqw/.8 var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:0 0 22px;white-space:nowrap}
.bars{display:grid;gap:6px}
.bars details{background:var(--surface-2);border-radius:var(--r)}
.bars summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:0 20px;cursor:pointer;font-weight:500}
.bars summary::-webkit-details-marker{display:none}
.bars summary .plus{width:14px;height:14px;position:relative;flex:none}
.bars summary .plus::before,.bars summary .plus::after{content:"";position:absolute;inset:6px 0 auto;height:2px;background:currentColor;transition:transform 250ms var(--ease-out)}
.bars summary .plus::after{transform:rotate(90deg)}
.bars details[open] summary .plus::after{transform:rotate(0)}
.bars .items{padding:4px 20px 22px;display:grid;gap:14px}
.bars .item{display:flex;justify-content:space-between;gap:24px;font-size:var(--s-17)}
.bars .item span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--gold-soft)}
.bars .item small{display:block;color:var(--muted);font-size:var(--s-13)}
.price-note{margin-top:22px;color:var(--muted);font-size:var(--s-15)}

/* Compliance */
.trust{background:var(--surface)}
.trust .grid{row-gap:56px}
.trust-head{grid-column:1 / span 12;display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:24px}
.trust-head p{max-width:50ch;color:var(--muted)}
.registry{grid-column:1 / span 6;display:grid;margin:0}
.registry div{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.registry dt{color:var(--muted);font-size:var(--s-15)}
.registry dd{margin:0;font:500 var(--s-20)/1.35 var(--display);letter-spacing:-.005em}
.funds{grid-column:8 / span 5;display:grid;gap:26px;align-content:start}
.funds .statement{background:var(--bg);padding:28px;display:grid;gap:12px}
.funds .statement h3{font-size:var(--s-20)}
.funds .statement p{color:var(--ink);font-size:var(--s-17)}
.commit{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.commit li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;color:var(--muted);font-size:var(--s-15)}
.commit svg{width:18px;height:18px;color:var(--gold);margin-top:3px}
.policies{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:var(--s-15)}
@media (max-width:900px){.registry,.funds{grid-column:1 / -1}.registry div{grid-template-columns:1fr;gap:4px}}


/* FAQ */
.faq h2{font-size:clamp(40px,5.5vw,88px);max-width:14ch;letter-spacing:-.035em}
.faq-list{margin-top:80px;display:grid;gap:8px}
.faq details{grid-column:5 / span 8;border-radius:var(--r);transition:background-color 250ms ease;margin-inline:-24px;padding-inline:24px}
.faq details[open]{background:var(--surface)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;font:400 var(--s-20)/1.3 var(--display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:18px;height:18px;flex:none;transition:transform 250ms var(--ease-out)}
.faq details[open] summary svg{transform:rotate(180deg)}
.faq .answer{padding:0 0 26px;color:var(--muted);max-width:60ch}
@media (max-width:900px){.faq details{grid-column:1 / -1;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}}

/* CTA + enquiry, inverted */
.cta{background:var(--paper);color:var(--paper-ink)}
.cta h2{font-size:clamp(40px,6.4vw,104px);line-height:.95;letter-spacing:-.045em;max-width:none}
.cta h2 span{display:block}
.cta .grid{row-gap:56px;margin-top:72px}
.cta-copy{grid-column:1 / span 4;display:grid;gap:18px;align-content:start}
.cta-copy p{color:var(--paper-muted);font-size:var(--s-17)}
.cta-copy .contact{font:500 var(--s-20)/1.5 var(--display);color:var(--paper-ink)}
.cta-copy .contact a{text-decoration:none}
form.enquiry{grid-column:6 / span 7;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.f{display:grid;gap:8px}
.f.full{grid-column:1 / -1}
.f label{font-size:var(--s-13);color:var(--paper-muted);letter-spacing:.03em;font-weight:500}
.f input,.f select,.f textarea{font:400 var(--s-17)/1.4 var(--text);color:var(--paper-ink);background:transparent;border:0;border-bottom:1px solid #b9b2a2;border-radius:0;padding:10px 0;min-height:48px;width:100%;transition:border-color 200ms ease}
.f select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23141310' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-bottom-color:var(--paper-ink);box-shadow:0 1px 0 var(--paper-ink)}
.f .err{font-size:var(--s-13);color:#9b2c1e;min-height:0}
.f.invalid input,.f.invalid select,.f.invalid textarea{border-bottom-color:#9b2c1e}
.cta .consent{grid-column:1 / -1;display:flex;gap:12px;align-items:flex-start;font-size:var(--s-15);color:var(--paper-muted)}
.cta .consent input{accent-color:var(--paper-ink);width:18px;height:18px;margin-top:3px;flex:none}
.cta .actions{grid-column:1 / -1;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.form-status{font-size:var(--s-15);color:var(--paper-ink)}
.cta ::selection{background:var(--paper-ink);color:var(--paper)}
.cta :focus-visible{outline-color:var(--paper-ink)}
@media (max-width:900px){.cta-copy,form.enquiry{grid-column:1 / -1}form.enquiry{grid-template-columns:1fr}}

/* Footer */
.site-footer{padding-top:96px;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));display:grid;gap:clamp(72px,12vw,180px)}
.foot-cols{row-gap:40px}
.foot-cols > div{grid-column:span 3;display:grid;gap:8px;align-content:start;font-size:var(--s-15);color:var(--muted)}
.foot-cols > div strong{color:var(--ink);font-weight:500;margin-bottom:6px}
.foot-cols a{text-decoration:none;color:var(--muted);transition:color 200ms ease}
.foot-cols a:hover{color:var(--ink)}
.legal-line{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:var(--s-13);color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.site-footer > div{min-width:0}
.wordmark{margin:0;min-width:0;width:100%;max-width:none;font:500 15.4vw/.86 var(--display);letter-spacing:-.05em;white-space:nowrap;color:var(--ink);overflow:hidden;padding-bottom:.04em}
.wordmark span{display:inline-block;letter-spacing:-.05em}
.legal-line a{color:inherit;text-decoration:none;transition:color 200ms ease}
.legal-line a:hover{color:var(--ink)}
@media (max-width:900px){.foot-cols > div{grid-column:span 6}}

/* Reveal on scroll: only content that starts below the fold */
.js .mask-pending{clip-path:inset(0 0 100% 0);transform:translateY(36%)}
.js .mask-revealed{clip-path:inset(-20% -5% -25% -5%);transform:none;transition:clip-path 1100ms var(--ease-out),transform 1100ms var(--ease-out)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.js .pending{opacity:0;transform:translateY(28px)}
.js .revealed{opacity:1;transform:none;transition:opacity 900ms var(--ease-out),transform 900ms var(--ease-out)}


/* Line drawings: gold and cream strokes that draw themselves in, replacing all photography */
.art{position:relative;display:grid;place-items:center;background:var(--surface);overflow:hidden}
.art-svg{display:block;width:100%;height:auto;overflow:visible}
.art-svg *{stroke:rgba(245,242,235,.5);stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:0;transition:stroke-dashoffset 1.9s var(--ease-io) calc(var(--i,0) * 130ms)}
.art-svg .g{stroke:var(--gold)}
.art-svg .thin{stroke-width:.8;stroke:rgba(245,242,235,.3)}
.art-svg .g.thin{stroke:rgba(212,160,23,.72)}
.art-svg text{stroke:none;fill:var(--muted);font:500 11px/1 var(--text);letter-spacing:.32em;transition:opacity 1s ease 1s}
.art-svg .hand{stroke-width:2.2;transition:stroke-dashoffset 1.2s var(--ease-out) 1.4s}
.js .art:not(.drawn) .art-svg *{stroke-dashoffset:1}
.js .art:not(.drawn) .art-svg text{opacity:0}
.art-cap{margin-top:14px;color:var(--muted);font-size:var(--s-15)}
.intro-art{aspect-ratio:5/4;padding:7% 0 0;align-items:end;justify-items:center}
.intro-art .art-svg{height:93%;width:auto;max-width:86%}
/* hero: the drawing set inside the name */
.frame{background:transparent}
.frame-art{position:absolute;inset:0;background:var(--surface);padding:12% 10%;opacity:0;transition:opacity 500ms ease}
.frame-art.on{opacity:1}
.frame-art .art-svg *{stroke-width:1.1}
/* services panel */
.panel-arts{position:relative;aspect-ratio:4/3;margin-bottom:22px}
.panel-art{position:absolute;inset:0;padding:14%;opacity:0;transition:opacity 400ms ease}
.panel-art.on{opacity:1}
/* mega menu */
.mega-art{aspect-ratio:16/9;margin-bottom:8px;padding:6% 30% 0;align-items:end;background:var(--bg)}
.mcar-art{aspect-ratio:16/9;margin-bottom:8px;padding:8% 6%;background:var(--bg);transition:background-color 250ms ease}
.mcar:hover .mcar-art{background:#0d0d0d}
/* fleet drawing board */
.board{background:var(--surface);padding:clamp(20px,3vw,40px);display:grid;gap:28px}
.board-tabs{display:flex;flex-wrap:wrap;gap:8px}
.board-tabs button{all:unset;box-sizing:border-box;cursor:pointer;min-height:44px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r);font:500 var(--s-15)/1 var(--text);color:var(--muted);transition:color 200ms ease,border-color 200ms ease,background-color 200ms ease}
.board-tabs button[aria-selected="true"]{background:var(--ink);color:#141310;border-color:var(--ink)}
.board-tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.board-stage{position:relative;aspect-ratio:820/300;max-width:1100px;width:100%;margin-inline:auto}
.board-art{position:absolute;inset:0;background:transparent;opacity:0;transition:opacity 500ms ease}
.board-art.on{opacity:1}
.callouts{list-style:none;margin:0;padding:0;position:absolute;inset:0;pointer-events:none}
.callouts li{position:absolute;left:var(--x);top:var(--y);font-size:var(--s-13);color:var(--ink);letter-spacing:.02em;white-space:nowrap;transform:translate(-50%,-50%);opacity:0;transition:opacity 600ms ease 1.6s}
.callouts li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:middle}
.board.drawn .callouts li{opacity:1}
.board-specs{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.board-specs dt{color:var(--muted);font-size:var(--s-13)}
.board-specs dd{margin:4px 0 0;font:500 var(--s-20)/1.2 var(--display)}
@media (max-width:760px){.board-specs{grid-template-columns:1fr 1fr}.callouts{display:none}}
.row-art{width:200px;aspect-ratio:3/2;padding:10px;background:var(--bg)}
@media (max-width:760px){.row-art{width:96px;padding:4px}}
/* how it works: a large step counter follows the reader */
.step-count{font:500 clamp(120px,16vw,240px)/.85 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--gold);margin-top:12px;font-variant-numeric:tabular-nums}
.step-count .of{font-size:.3em;-webkit-text-stroke:0;color:var(--muted);letter-spacing:0;margin-left:.2em}
.steps{position:relative}
.steps::before{content:"";position:absolute;left:31px;top:8px;bottom:48px;width:1px;background:var(--line)}
.steps::after{content:"";position:absolute;left:31px;top:8px;width:1px;height:calc((100% - 56px) * var(--prog,0));background:var(--gold);transition:height 200ms linear}
.steps li::before{position:relative;z-index:1;background:var(--bg);text-align:center}
@media (max-width:900px){.step-count{display:none}}
/* luxury: live Paris watch */
.watch-art{aspect-ratio:1/1;padding:12%}
.watch-art .art-svg{max-width:520px}
.watch-art .hand-h,.watch-art .hand-m,.watch-art .hand-s{transform-box:view-box}
/* director, vehicle */
.director .quote-mark{grid-column:1 / span 2;justify-self:end}
.quote-mark{font:500 clamp(160px,20vw,300px)/.7 var(--display);color:var(--gold);margin:0;height:.5em}
.director figure{display:none}
.v-layout .gallery .main{display:block;position:relative;aspect-ratio:820/320;background:var(--surface)}
.v-art{position:absolute;inset:0;padding:6%;opacity:0;transition:opacity 400ms ease}
.v-art.on{opacity:1}

.vehicle{padding-top:calc(116px + env(safe-area-inset-top,0px));padding-bottom:120px}
.crumbs{font-size:var(--s-13);color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;letter-spacing:.02em}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--ink)}
.v-title{margin-top:28px;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.v-title h1{font-size:var(--s-72);letter-spacing:-.045em;line-height:.92}
.v-title p{color:var(--muted);margin-top:14px}
.v-title .v-rate{color:var(--ink)}
.v-rate{font:500 var(--s-44)/1 var(--display);letter-spacing:-.03em;text-align:right}
.v-rate small{display:block;font:400 var(--s-15)/1.4 var(--text);color:var(--muted);letter-spacing:0;margin-top:8px}
.v-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;column-gap:clamp(28px,3.4vw,56px);margin-top:44px;align-items:start}
.v-layout .gallery{grid-column:1;grid-row:1}.v-layout .v-body{grid-column:1;grid-row:2}.v-layout .booking{grid-column:2;grid-row:1 / span 2}
.gallery .main{position:relative;overflow:hidden;background:var(--surface);aspect-ratio:3/2}
.gallery .main img{width:100%;height:100%;object-fit:cover;transition:opacity 400ms ease}
.thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}
.thumbs button{all:unset;cursor:pointer;aspect-ratio:1/1;overflow:hidden;position:relative;opacity:.55;transition:opacity 250ms ease}
.thumbs button[aria-current="true"]{opacity:1;box-shadow:inset 0 -3px 0 var(--gold)}
.thumbs button:hover{opacity:.9}
.thumbs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.thumbs img{width:100%;height:100%;object-fit:cover}
.v-body{margin-top:56px;display:grid;gap:56px}
.v-body h2{font-size:var(--s-28);margin-bottom:22px}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0}
.specs div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.specs dt{color:var(--muted);font-size:var(--s-15)}
.specs dd{margin:0;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.v-desc p{color:var(--muted);max-width:64ch}
.v-desc p + p{margin-top:16px}
.ticks{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px}
.ticks li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;font-size:var(--s-15)}
.ticks svg{width:16px;height:16px;color:var(--gold);margin-top:4px}
.booking{position:sticky;top:96px;background:var(--surface);padding:28px;display:grid;gap:20px}
.booking h2{font-size:var(--s-20);font-weight:600;letter-spacing:-.01em}
.b-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bf{display:grid;gap:7px}
.bf label{font-size:var(--s-13);color:var(--muted);letter-spacing:.02em}
.bf input,.bf select{font:400 var(--s-15)/1.3 var(--text);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);min-height:46px;padding:0 12px;width:100%;transition:border-color 200ms ease}
.bf input:focus,.bf select:focus{outline:none;border-color:var(--gold)}
.bf.invalid input,.bf.invalid select{border-color:#e0705c}
.bf .err{font-size:var(--s-13);color:#ef8b78}
.bf input[type=date]::-webkit-calendar-picker-indicator,.bf input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.85)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:var(--s-15);color:var(--muted)}
.check input{accent-color:var(--gold);width:18px;height:18px;margin-top:2px;flex:none}
.check a{color:var(--ink)}
.summary{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--line);font-size:var(--s-15)}
.summary div{display:flex;justify-content:space-between;gap:16px;font-variant-numeric:tabular-nums}
.summary div span:first-child{color:var(--muted)}
.summary .total{font:500 var(--s-28)/1 var(--display);letter-spacing:-.02em;padding-top:8px}
.summary .total span:first-child{color:var(--ink);font:500 var(--s-17)/1 var(--text);letter-spacing:0;align-self:end}
.booking .btn{width:100%}
.secure{display:flex;gap:10px;align-items:center;font-size:var(--s-13);color:var(--muted)}
.secure svg{width:16px;height:16px;flex:none}
.b-status{font-size:var(--s-15);background:var(--bg);padding:16px;border-left:2px solid var(--gold)}
.b-status[hidden]{display:none}
@media (max-width:1000px){.v-layout{grid-template-columns:minmax(0,1fr)}.v-layout .booking{grid-column:1;grid-row:2;position:static;margin-top:32px}.v-layout .v-body{grid-row:3}}
@media (max-width:560px){.specs,.ticks{grid-template-columns:1fr}.b-row{grid-template-columns:1fr}.v-rate{text-align:left}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  .car-row .go,.link-arrow{transition:none!important;transform:none!important}
  .houses-track{animation:none}
  .js .art:not(.drawn) .art-svg *{stroke-dashoffset:0}
  .js .art:not(.drawn) .art-svg text{opacity:1}
  .js .pending,.js .img-pending,.js .mask-pending{opacity:1;transform:none;clip-path:none}
  [data-par]{transform:none!important}
}

/* ---------- WordPress pages ---------- */
.skip{position:fixed;left:12px;top:12px;z-index:100;background:var(--gold);color:#141310;padding:12px 18px;border-radius:var(--r);font-weight:500;text-decoration:none;transform:translateY(-160%);transition:transform 200ms var(--ease-out)}
.skip:focus{transform:none}
.lang a{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;color:var(--muted);font:500 13px/1 var(--text);letter-spacing:.08em;text-decoration:none;transition:color 200ms ease,background-color 200ms ease}
.lang a:hover{color:var(--ink)}
.lang a[aria-current="true"]{color:#141310;background:var(--ink)}
@media (max-width:480px){.lang a{padding:0 8px}}
.has-mega{display:flex}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.page-top{height:calc(84px + env(safe-area-inset-top,0px))}
.fleet-page,.how-page{padding-top:clamp(40px,6vw,72px)}

/* inner page title */
.page-hero{padding-top:calc(clamp(132px,16vh,180px) + env(safe-area-inset-top,0px));padding-bottom:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:40px;align-items:end}
.ph-text{grid-column:1 / span 8;display:grid;gap:24px;justify-items:start}
.page-hero:not(.has-art) .ph-text{grid-column:1 / span 10}
.ph-title{font-size:var(--s-72);line-height:.95;letter-spacing:-.045em;max-width:16ch}
.ph-lead{font-size:clamp(19px,1.6vw,23px);line-height:1.45;max-width:46ch;color:var(--ink)}
.ph-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:8px}
.ph-price{font:500 var(--s-20)/1 var(--display);color:var(--gold-soft);margin-right:12px}
.ph-art{grid-column:9 / span 4;aspect-ratio:1/1;padding:12%}
@media (max-width:900px){.ph-text,.page-hero:not(.has-art) .ph-text{grid-column:1 / -1}.ph-art{grid-column:1 / -1;aspect-ratio:16/9;padding:8% 22%;order:-1;display:none}}
.page-body{padding-bottom:clamp(96px,10vw,152px)}

/* long-form text */
.prose{max-width:72ch;color:var(--ink)}
.prose > * + *{margin-top:1.1em}
.prose > h2{margin-top:2.2em}.prose > h3{margin-top:1.8em}
.prose p,.prose li{color:#CFCAC0}
.prose .lead{font-size:clamp(19px,1.5vw,22px);line-height:1.5;color:var(--ink)}
.prose .updated{font-size:var(--s-13);color:var(--muted);letter-spacing:.02em}
.prose h2{font-size:var(--s-28);margin-top:2.2em;scroll-margin-top:110px}
.prose h3{font-size:var(--s-20);margin-top:1.8em;scroll-margin-top:110px}
.prose h2 + *,.prose h3 + *{margin-top:.8em}
.prose ul,.prose ol{padding-left:1.2em;display:grid;gap:.45em}
.prose li::marker{color:var(--gold)}
.prose a{color:var(--ink);text-decoration-color:var(--gold)}
.prose a:hover{color:var(--gold-soft)}
.prose strong{color:var(--ink);font-weight:500}
.prose table{width:100%;border-collapse:collapse;font-size:var(--s-15)}
.prose th,.prose td{text-align:left;padding:12px 16px 12px 0;border-top:1px solid var(--line);vertical-align:top}
.prose th{color:var(--muted);font-weight:500}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:2px solid var(--gold)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose figure{margin:1.6em 0}

/* legal pages: list of sections beside the text */
.legal-layout{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:start}
.toc{position:sticky;top:110px;font-size:var(--s-15)}
.toc-h{color:var(--muted);font-size:var(--s-13);letter-spacing:.04em;margin-bottom:14px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--line)}
.toc a{display:block;padding:6px 0 6px 16px;margin-left:-1px;border-left:1px solid transparent;color:var(--muted);text-decoration:none;line-height:1.35;transition:color 200ms ease,border-color 200ms ease}
.toc a:hover{color:var(--ink);border-left-color:var(--gold)}
.legal-layout .prose > h2:first-child,.legal-layout .prose > .updated + h2{margin-top:1.4em}
@media (max-width:900px){.legal-layout{grid-template-columns:1fr}.toc{position:static}.toc-spacer{display:none}}

/* service page */
.included{background:var(--surface);padding-block:clamp(80px,9vw,136px)}
.inc-list{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px clamp(24px,3vw,48px)}
.inc-list li{display:grid;gap:10px;align-content:start;padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:120px}
.inc-list h3{font-size:var(--s-20);font-weight:500;letter-spacing:-.01em}
.inc-list p{color:var(--muted);font-size:var(--s-15)}
.inc-list li:target{border-top-color:var(--gold)}
.inc-list li:target h3{color:var(--gold-soft)}
@media (max-width:900px){.inc-list{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.inc-list{grid-template-columns:1fr}}
.service-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(40px,6vw,112px);align-items:start;padding-top:clamp(80px,9vw,136px)}
.service-side{position:sticky;top:110px;display:grid;gap:24px}
.service-side .provenance{scroll-margin-top:120px}
.side-prices{background:var(--surface);padding:24px;display:grid;gap:14px}
.side-prices h3{font-size:var(--s-17);font-weight:600;letter-spacing:0}
.side-prices .item{display:flex;justify-content:space-between;gap:20px;font-size:var(--s-15);padding-top:12px;border-top:1px solid var(--line)}
.side-prices .item span:last-child{color:var(--gold-soft);white-space:nowrap;font-variant-numeric:tabular-nums}
.side-prices .item small{display:block;color:var(--muted);font-size:var(--s-13);margin-top:2px}
.side-prices .price-note{margin-top:4px;font-size:var(--s-13)}
@media (max-width:1000px){.service-body{grid-template-columns:1fr}.service-side{position:static}}

/* fleet board: each car is a drawing, its callouts and its figures */
.board-stage{aspect-ratio:auto;display:grid}
.board-car{grid-area:1 / 1;display:grid;gap:28px;align-content:start;opacity:0;visibility:hidden;transition:opacity 400ms ease,visibility 0s linear 400ms}
.board-car.on{opacity:1;visibility:visible;transition:opacity 400ms ease,visibility 0s}
.board-car > .board-art,.board-car > .callouts{grid-area:1 / 1}
.board-car .board-art{position:relative;inset:auto;opacity:1;aspect-ratio:820/300}
.board-car .callouts{position:relative;inset:auto}
.board-car .callouts li{opacity:0;transition:opacity 500ms ease}
.board-car .board-art.drawn ~ .callouts li{opacity:1;transition-delay:1.5s}
.board-car .board-specs{grid-area:2 / 1}
.fleet-intro{max-width:52ch}

/* vehicle page */
.notice-line{margin-top:24px;background:var(--surface);border-left:2px solid var(--gold);padding:16px 20px;font-size:var(--s-15);max-width:none}
.ticks .ticks-h{grid-column:1 / -1;display:block;color:var(--muted);font-size:var(--s-13);letter-spacing:.03em}
.v-desc .prose{max-width:64ch}
.booking-off p{color:var(--muted);font-size:var(--s-15)}
.cf-turnstile{min-height:65px}

/* booking confirmation */
.confirm{padding-top:calc(clamp(132px,16vh,180px) + env(safe-area-inset-top,0px));padding-bottom:clamp(96px,10vw,152px);max-width:1000px;display:grid;gap:22px;justify-items:start}
.confirm-art{width:100%;aspect-ratio:820/300;background:transparent;margin-bottom:16px}
.confirm-ref{font-size:var(--s-13);letter-spacing:.12em;color:var(--gold-soft)}
.confirm-specs{width:100%;margin-top:20px}
.confirm-next{color:var(--muted);font-size:var(--s-15)}

/* 404 and search */
.giant-404{font:500 clamp(120px,22vw,320px)/.8 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--gold);margin-bottom:12px}
.result-list{list-style:none;padding:0;margin:0;display:grid}
.result-list li{padding:20px 0;border-top:1px solid var(--line)}
.result-list a{font:500 var(--s-20)/1.3 var(--display);text-decoration:none}
.result-list p{color:var(--muted);margin-top:6px;font-size:var(--s-15)}

/* small pieces */
.how-intro{margin-top:20px;max-width:44ch}
.bar-link{margin-top:6px;align-self:flex-start;font-size:var(--s-15)}
.link-arrow.dark{color:var(--paper-ink);border-bottom-color:rgba(20,19,16,.35)}
@media (hover:hover){.link-arrow.dark:hover{border-color:var(--paper-ink)}}
.cta .crumbs,.cta .crumbs a{color:var(--paper-muted)}
.cta .crumbs{margin-bottom:28px}
.cta .crumbs a:hover{color:var(--paper-ink)}
h1#cta-h{font-size:clamp(40px,6.4vw,104px);line-height:.95;letter-spacing:-.045em}
h1#cta-h span{display:block}

/* cookie banner */
.etek-consent{position:fixed;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;max-width:560px;background:var(--surface-2);color:var(--ink);padding:20px 22px;border-radius:var(--r);box-shadow:0 24px 60px -20px rgba(0,0,0,.7);display:grid;gap:16px;font-size:var(--s-15);animation:fadeUp 500ms var(--ease-out) both}
.etek-consent[hidden]{display:none}
.etek-consent p{color:var(--muted);max-width:none}
.etek-consent strong{color:var(--ink);font-weight:600;margin-right:4px}
.etek-consent a{color:var(--ink)}
.etek-consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.etek-consent button{all:unset;box-sizing:border-box;cursor:pointer;min-height:44px;padding:0 20px;display:inline-flex;align-items:center;border-radius:var(--r);font:500 var(--s-15)/1 var(--text);border:1px solid rgba(245,242,235,.38);color:var(--ink);transition:background-color 200ms ease,border-color 200ms ease}
.etek-consent button[data-consent="all"]{background:var(--ink);color:#141310;border-color:var(--ink)}
.etek-consent button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (hover:hover){.etek-consent button:hover{border-color:var(--ink)}}
.foot-cols button[data-cookie-settings],.foot-cols a[data-cookie-settings]{all:unset;cursor:pointer;color:var(--muted)}
.foot-cols [data-cookie-settings]:hover{color:var(--ink)}

/* WordPress core classes */
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{margin-inline:auto}
.wp-caption-text,figcaption{color:var(--muted);font-size:var(--s-13);margin-top:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto}

.svc li a{text-decoration:none;color:inherit;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size 300ms var(--ease-out)}
@media (hover:hover){.svc li a:hover{background-size:100% 1px}}
.h-section.h-page{font-size:var(--s-72);line-height:.95;letter-spacing:-.045em;max-width:16ch;margin-top:24px}
.faq h1{font-size:clamp(40px,5.5vw,88px);line-height:1.02;max-width:14ch;letter-spacing:-.035em;margin-top:24px}
/* the band pauses when someone wants to read it */
.houses:hover .houses-track{animation-play-state:paused}
/* readable measure for long text (about 75 characters a line) */
.prose{max-width:64ch}
.v-desc .prose{max-width:60ch}
.f input::placeholder,.f textarea::placeholder{color:var(--paper-muted);opacity:1}
.bf input::placeholder{color:var(--muted);opacity:1}
.bars .bar-link{justify-self:start}

/* quote mark on phones: same left edge as the quote, sized to the text */
@media (max-width:900px){
  .director .quote-mark{grid-column:1 / -1;justify-self:start;font-size:112px;height:.46em;margin-left:0}
  .director .grid{row-gap:12px}
}
/* small phones: keep the name, the language switch and the menu button apart */
@media (max-width:400px){
  .bar{gap:14px}
  .brand{gap:9px}
  .brand img{width:26px}
  .brand span{font-size:12px;letter-spacing:.12em}
  .lang a{padding:0 8px}
  .menu-btn{padding:0 12px}
}
@media (max-width:340px){.brand span{display:none}.brand img{width:30px}}
