/* Concept D: the Ariadne Labs site after godaylight.com, in Ariadne's palette.
   Preview only (copied into dist outside production by tools/build.mjs). */
:root{
  --navy:#0D1B2A; --navy-2:#102539; --blue:#185FA5; --blue-2:#3B82F6; --blue-tint:#D5E3F3;
  --teal:#22C7B4; --gold:#E6B450; --gold-deep:#B9862A; --gold-tint:#F3DFAE;
  --cream:#F7F2E6; --paper:#FCFAF5; --line:rgba(13,27,42,.14); --ink:#0D1B2A; --ink-2:#3C4A5A; --ink-3:#56616E;
  --serif:'Literata',Georgia,serif; --sans:'Inter',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --wrap:1240px; --gut:clamp(20px,4vw,48px);
}
/* Light only, always: forced-dark modes (Brave Night Mode, Chrome/Edge/Opera auto dark theme, Samsung
   Internet, in-app WebViews) leave a page alone that declares it. The meta tag in each page says it before
   any stylesheet arrives; this survives if the meta is ever dropped. Dark Reader reads its own meta tag. */
:root{color-scheme:only light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul{padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.label{font:500 .7rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.serif{font-family:var(--serif);font-weight:300;letter-spacing:-.025em;line-height:1.04}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.4em;border-radius:6px;font:500 .92rem var(--sans);text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:#F0C56A}
.btn-paper{background:var(--paper);color:var(--navy)}
.btn-paper:hover{background:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--blue)}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* the floating white bar, centred */
.bar{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 24px);z-index:50;display:flex;align-items:center;gap:6px;
  padding:6px 6px 6px 16px;background:#fff;border-radius:10px;box-shadow:0 10px 30px -14px rgba(13,27,42,.35)}
.bar .logo{display:flex;align-items:center;gap:8px;text-decoration:none;margin-right:10px}
.bar .logo img{height:17px;width:auto}
.bar .logo b{font:700 .95rem var(--sans);letter-spacing:-.01em}
.bar nav.main{display:flex;gap:2px}
.bar nav.main a{padding:.5em .8em;border-radius:6px;font-size:.86rem;color:var(--ink-2);text-decoration:none}
.bar nav.main a:hover,.bar nav.main a[aria-current]{color:var(--ink);background:var(--cream)}
.bar .btn{padding:.6em 1.05em;font-size:.86rem;white-space:nowrap;flex:none}
.bar nav.main a,.bar .logo{white-space:nowrap;flex:none}

/* full-bleed photograph with centred words */
.photo{position:relative;isolation:isolate;min-height:100vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}
.photo > img,.photo > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photo > video.film{opacity:0;transition:opacity 1.2s ease}
.photo > video.film.ready{opacity:1}
.photo::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 45% at 50% 52%,rgba(13,27,42,.55),rgba(13,27,42,0) 100%),linear-gradient(180deg,rgba(13,27,42,.35),rgba(13,27,42,.25) 40%,rgba(13,27,42,.6))}
.photo p{text-shadow:0 1px 18px rgba(13,27,42,.6)}
.photo .wrap{padding-block:140px 90px}
.photo .label{color:rgba(255,255,255,.85)}
.photo h1,.photo h2{margin:18px auto 0;max-width:15ch;font-size:clamp(2.8rem,7vw,5.6rem)}
.photo h2{max-width:18ch;font-size:clamp(2.4rem,5.6vw,4.6rem)}
.photo p{margin:22px auto 0;max-width:56ch;font-size:clamp(1rem,1.4vw,1.12rem);color:rgba(255,255,255,.92)}
.photo .btn{margin-top:30px}
.photo.short{min-height:78vh}

/* how it works: the gold band, numbered columns strung on a line */
.how{background:var(--gold);color:var(--navy);padding-block:clamp(70px,9vw,120px) clamp(60px,8vw,110px)}
.how .head{text-align:center}
.how .head h2{margin-top:14px;font-size:clamp(2.2rem,5vw,4rem)}
.steps{margin-top:clamp(36px,5vw,60px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}}
@media (max-width:600px){.steps{grid-template-columns:1fr;row-gap:40px}.step .pic{height:auto;margin-inline:0}}
.step h3{font:300 clamp(1.35rem,2vw,1.6rem)/1.15 var(--serif);letter-spacing:-.02em;padding-bottom:12px;border-bottom:1px solid rgba(13,27,42,.5);position:relative}
.step h3::after{content:"";position:absolute;left:0;bottom:-4px;width:7px;height:7px;border-radius:50%;background:var(--navy)}
.step .pic{margin:14px 0 0;height:clamp(110px,11vw,160px);display:flex;align-items:center}
.step .pic img{width:100%;height:100%;object-fit:contain}
.step p{margin-top:14px;font-size:.93rem;color:rgba(13,27,42,.82)}

/* a simple start: three gold cards on a photograph */
.start{position:relative;isolation:isolate;padding:clamp(80px,10vw,130px) 0 clamp(60px,8vw,100px);color:#fff;overflow:hidden}
.start > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.start::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,27,42,.55),rgba(13,27,42,.15) 45%,rgba(13,27,42,.45))}
.start h2{margin-top:14px;font-size:clamp(2.4rem,5.4vw,4.4rem);max-width:12ch}
.cards{margin-top:clamp(120px,22vh,240px);display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.card{background:var(--gold);color:var(--navy);border-radius:6px;padding:24px 24px 26px;position:relative}
.card + .card::before{content:"\203A";position:absolute;left:-14px;top:50%;transform:translateY(-50%);color:#fff;font-size:1.3rem}
.card .label{display:block;margin-bottom:16px}
.card li{position:relative;padding-left:16px;font-size:.92rem;line-height:1.45;margin-top:9px}
.card li::before{content:"\203A";position:absolute;left:0;top:0;color:rgba(13,27,42,.6)}

/* the cream grid with a centred statement */
.grid{background:var(--cream);border-block:1px solid var(--line)}
.grid .cells{display:grid;grid-template-columns:1fr 2fr 1fr;grid-template-rows:minmax(80px,auto) minmax(300px,auto) minmax(150px,auto)}
.grid .cells > div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.grid .cells > div:nth-child(3n){border-right:0}
.grid .cells > div:nth-last-child(-n+3){border-bottom:0}
.grid .centre{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 28px}
.grid .centre .label{color:var(--ink-3)}
.grid .centre h2{margin-top:18px;font:400 clamp(1.8rem,3.4vw,2.7rem)/1.12 var(--sans);letter-spacing:-.025em;max-width:16ch}
.grid .centre p{margin-top:16px;color:var(--ink-2);max-width:42ch;font-size:.96rem}
.grid .img img{width:100%;height:100%;object-fit:cover}
.grid .img.vis-cell{display:grid;place-items:center;padding:12px}
.grid .img.vis-cell img{height:auto;object-fit:contain}

/* split: a colour panel beside a photograph with a block of colour laid over it */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:min(92vh,820px)}
.split .panel{padding:clamp(90px,10vw,130px) clamp(24px,5vw,72px) clamp(40px,6vw,72px);display:flex;flex-direction:column}
.split .panel h2{font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98}
.split .panel h2.long{font-size:clamp(2.4rem,4.4vw,4rem);line-height:1.02}
.split .panel .low{margin-top:auto;display:grid;grid-template-columns:60px 1fr;gap:18px;padding-top:48px}
.split .panel .low p{margin-top:10px;font-size:1.02rem;max-width:38ch}
.split .panel .low .btn{margin-top:26px;justify-self:start}
.split .mark{width:44px;height:28px}
.split .pic{position:relative;overflow:hidden}
.split .pic > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .pic::before,.split .pic::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:33.33% 33.33%;opacity:.55}
.split .pic::after{display:none}
.split .tile{position:absolute;z-index:1;left:16.66%;top:33.33%;width:50%;height:33.33%;background:var(--blue);opacity:.9;mix-blend-mode:multiply}
.split .tile.gold{background:var(--gold);mix-blend-mode:normal;opacity:.92}
.split.blue .panel{background:var(--blue-tint);color:var(--navy)}
.split.blue .panel h2{color:var(--blue)}
.split.navy .panel{background:var(--navy);color:#fff}
.split.navy .panel h2{color:var(--gold)}
.split.navy .panel .label{color:rgba(255,255,255,.7)}
.split.flip .pic{order:-1}
.split.flip .panel{justify-content:flex-start}
.split .cols{margin-top:auto;padding-top:48px;display:grid;grid-template-columns:1fr 2fr;gap:24px}
.split .cols p{font-size:.98rem;line-height:1.6}
.split .who{margin-top:18px;display:grid;gap:10px}
.split .who li{padding-top:10px;border-top:1px solid rgba(13,27,42,.18);font-size:.94rem}
.split .who b{font-weight:600}

/* where it works: four countries */
.where{padding-block:clamp(80px,10vw,130px);background:var(--paper)}
.where .head{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:end}
.where h2{font-size:clamp(2.2rem,5vw,4rem)}
.where .head p{color:var(--ink-2);max-width:48ch}
.countries{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.country{padding:22px 20px 0 0}
.country + .country{padding-left:20px;border-left:1px solid var(--line)}
.country h3{font:300 1.7rem/1.1 var(--serif);letter-spacing:-.02em}
.country .route{margin-top:14px;font-size:.92rem;color:var(--ink-2)}
.country .route b{display:block;font-weight:500;color:var(--ink)}
.country .who-decides{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.country .who-decides span{font:500 .66rem var(--mono);letter-spacing:.06em;padding:.35em .6em;border:1px solid var(--line);border-radius:4px;color:var(--ink-2)}

/* questions */
.faq{background:var(--cream);padding-block:clamp(80px,10vw,130px)}
.faq h2{margin-top:14px;font-size:clamp(2.4rem,5.4vw,4.4rem)}
.faq h2 em{font-style:normal;color:#9A6C17}
.faq .list{margin-top:44px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ink-3);font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"\00D7";color:var(--gold-deep)}
.faq details p{padding:0 0 22px;color:var(--ink-2);max-width:72ch}

/* footer: navy, the thread drawn across it, bracketed links */
.foot{position:relative;isolation:isolate;background:var(--navy);color:#fff;min-height:min(86vh,720px);display:grid;overflow:hidden}
.foot svg.threads{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.foot .wrap{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-block:120px 40px}
.foot .brand{display:flex;align-items:center;gap:12px}
.foot .brand img{height:30px;width:auto}
.foot .brand b{font:700 1.6rem var(--sans)}
.foot .links{display:grid;gap:14px;text-align:center;align-content:center}
.foot .links a{font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.88)}
.foot .links a::before{content:"[ "}.foot .links a::after{content:" ]"}
.foot .links a:hover{color:var(--gold)}
.foot .say{justify-self:end;font:300 clamp(1.8rem,3.4vw,2.8rem)/1.05 var(--serif);letter-spacing:-.02em}
.foot .base{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;align-self:end;margin-top:60px;font:500 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.foot .base a{text-decoration:none;margin-right:22px}
.foot .base a:hover{color:#fff}

/* inner pages: modules, alternating */
.modules{background:var(--paper)}
.module{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(60px,8vw,110px);border-bottom:1px solid var(--line)}
.module:nth-child(even) .vis{order:-1}
.module .label{color:#875F12}
.module h2{margin-top:14px;font-size:clamp(2rem,3.8vw,3.1rem)}
.module p{margin-top:16px;color:var(--ink-2)}
.module ul{margin-top:18px;display:grid;gap:8px}
.module li{position:relative;padding-left:18px;font-size:.95rem;color:var(--ink-2)}
.module li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.vis img{display:block;width:100%;height:auto}
.module.solo{grid-template-columns:minmax(0,1fr)}
.module.solo > div{max-width:760px}
.shot{border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 30px 60px -40px rgba(13,27,42,.45)}
.shot img{width:100%;height:auto}
.addons{background:var(--navy);color:#fff;padding-block:clamp(80px,10vw,120px)}
.addons h2{margin-top:14px;font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:18ch}
.addons .label{color:var(--gold)}
.addons .row{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.addons .row > div{background:var(--navy);padding:24px}
.addons h3{font:300 1.5rem/1.1 var(--serif)}
.addons .st{display:inline-block;margin-bottom:14px;font:500 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.addons .st.on{color:var(--gold)}
.addons p{margin-top:10px;color:rgba(255,255,255,.75);font-size:.92rem}
.story{padding-block:clamp(80px,10vw,130px);background:var(--paper)}
.story .cols{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(30px,6vw,90px)}
.story h2{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.story .text p{margin-top:18px;color:var(--ink-2);font-size:1.04rem;max-width:62ch}
.story .text p:first-child{margin-top:0;font:300 clamp(1.3rem,2vw,1.6rem)/1.35 var(--serif);color:var(--ink)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:56px}
.facts > div{padding:22px 22px 0 0}
.facts > div + div{padding-left:22px;border-left:1px solid var(--line)}
.facts h3{font:300 1.5rem/1.15 var(--serif)}
.facts p{margin-top:10px;color:var(--ink-2);font-size:.94rem}
.form-wrap{display:grid;grid-template-columns:1fr 1.1fr;min-height:100vh}
.form-wrap .panel{background:var(--gold);color:var(--navy);padding:clamp(110px,12vw,150px) clamp(24px,5vw,72px) 60px}
.form-wrap .panel h1{margin-top:14px;font-size:clamp(3rem,6.4vw,5.4rem)}
.form-wrap .panel p{margin-top:20px;max-width:40ch;font-size:1.04rem}
.form-wrap .panel ul{margin-top:34px;display:grid;gap:12px}
.form-wrap .panel li{padding-top:12px;border-top:1px solid rgba(13,27,42,.25);font-size:.95rem}
.form-wrap form{padding:clamp(110px,12vw,150px) clamp(24px,5vw,72px) 60px;display:grid;gap:16px;align-content:start;background:var(--paper)}
.form-wrap label{display:grid;gap:6px;font:500 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.form-wrap input,.form-wrap select,.form-wrap textarea{font:400 1rem var(--sans);padding:.8em .9em;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-transform:none;letter-spacing:0}
.form-wrap textarea{min-height:120px;resize:vertical}
.form-wrap .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-wrap button{justify-self:start;cursor:pointer;margin-top:6px}
.form-wrap .small{font-size:.82rem;color:var(--ink-3)}

/* phones */
@media (max-width:900px){
  .cards{grid-template-columns:1fr;margin-top:60px}
  .card + .card::before{display:none}
  .grid .cells{grid-template-columns:1fr;grid-template-rows:none}
  .grid .cells > div{border-right:0}
  .grid .cells > .img:not(.keep){display:none}
  .split,.form-wrap{grid-template-columns:1fr}
  .split .pic{min-height:360px}
  .split.flip .pic{order:0}
  .split .cols{grid-template-columns:1fr}
  .where .head{grid-template-columns:1fr}
  .countries{grid-template-columns:1fr 1fr}
  .country:nth-child(3){padding-left:0;border-left:0}
  .country{padding-bottom:22px}
  .module{grid-template-columns:1fr}
  .module:nth-child(even) .vis{order:0}
  .addons .row{grid-template-columns:1fr 1fr}
  .story .cols,.facts{grid-template-columns:1fr}
  .facts > div + div{padding-left:0;border-left:0}
  .foot .wrap{grid-template-columns:1fr;text-align:left}
  .foot .links{text-align:left}
  .foot .say{justify-self:start}
  .foot .base{flex-direction:column}
}
@media (max-width:680px){.bar nav.main,.bar .langs{display:none}.bar .menu{display:block}}
@media (max-width:520px){
  .bar{left:12px;right:12px;width:auto;max-width:none;transform:none;justify-content:space-between}
  .countries,.addons .row{grid-template-columns:1fr}
  .country + .country{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .form-wrap .two{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* technologies (list generated from data/site-data.json; photo where an honest one exists) */
.techs{padding-bottom:0}
.tech-list{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px 20px}
.tech-list li{display:flex;flex-direction:column;gap:14px}
.tech-list .tile-pic{aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--navy)}
.tech-list .tile-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.tech-list li:hover .tile-pic img{transform:scale(1.04)}
.tech-list .tile-pic.plain{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0D1B2A,#185FA5)}
.tech-list .tile-pic.plain .mark{width:38%;height:auto}
.tech-list .tn{font:300 1.45rem/1.15 var(--serif);letter-spacing:-.015em;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:900px){.tech-list{grid-template-columns:repeat(2,1fr);gap:28px 14px}.tech-list .tn{font-size:1.15rem}}
/* hooks: short silent loops that play only while on screen (daylight.js) */
.hook{position:relative;overflow:hidden;background:var(--navy)}
.hook img,.hook video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hook video{opacity:0;transition:opacity .9s ease}
.hook video.ready{opacity:1}

/* highlights: an Apple-style strip of rounded film cards, the next one peeking in */
.hl{padding:110px 0 40px;overflow:hidden}
.hl-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:36px}
.hl-head h2{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.02em}
.hl-head .more{color:var(--blue);font-size:1rem;white-space:nowrap}
.hl-track{list-style:none;margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:min(82vw,980px);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));scrollbar-width:none}
.hl-track::-webkit-scrollbar{display:none}
.hl-card{scroll-snap-align:center;position:relative;border-radius:26px;overflow:hidden;aspect-ratio:16/9;background:var(--navy);transition:opacity .5s ease}
.hl-card .hook{position:absolute;inset:0}
.hl-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,0) 45%,rgba(13,27,42,.72));pointer-events:none}
.hl-cap{position:absolute;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);bottom:clamp(18px,3vw,36px);z-index:1;color:#fff}
.hl-cap .label{color:rgba(255,255,255,.8)}
.hl-cap .t{margin-top:8px;font:400 clamp(1.5rem,3vw,2.5rem)/1.08 var(--serif);letter-spacing:-.015em;max-width:22ch}
.hl-ctrl{max-width:var(--wrap);margin:26px auto 0;padding-inline:var(--gut);display:flex;align-items:center;justify-content:space-between}
.hl-dots{display:flex;gap:10px}
.hl-dots button{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:rgba(13,27,42,.22);cursor:pointer;transition:width .35s ease,background .35s ease}
.hl-dots button[aria-current="true"]{width:30px;background:var(--navy)}
.hl-arrows{display:flex;gap:10px}
.hl-arrows button{width:42px;height:42px;border-radius:50%;border:0;background:rgba(13,27,42,.08);color:var(--navy);font-size:1.6rem;line-height:1;cursor:pointer}
.hl-arrows button:hover{background:rgba(13,27,42,.16)}

/* a film on each market card */
.country .hook{height:clamp(150px,12vw,180px);border-radius:4px;margin-bottom:18px}
@media (max-width:900px){.hl{padding-top:72px}.hl-track{grid-auto-columns:86vw;gap:14px}.hl-card{border-radius:18px;aspect-ratio:4/5}.hl-head .more{display:none}}

/* the myth: a full-width film, a gold thread that draws itself, one line */
.myth{position:relative;isolation:isolate;min-height:92vh;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:var(--navy)}
.myth > .hook{position:absolute;inset:0;z-index:-2}
.myth::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(62% 40% at 50% 56%,rgba(13,27,42,.5),rgba(13,27,42,0) 100%),linear-gradient(180deg,rgba(13,27,42,.18),rgba(13,27,42,0) 35%,rgba(13,27,42,0) 70%,rgba(13,27,42,.28))}
.myth .wrap{padding-block:120px}
.myth .label{color:#fff;text-shadow:0 1px 14px rgba(13,27,42,.5)}
.myth h2{text-shadow:0 2px 30px rgba(13,27,42,.45)}
.myth h2{margin:20px auto 0;max-width:13ch;font-size:clamp(2.7rem,6.6vw,5.6rem);line-height:1.02;letter-spacing:-.025em}
.myth p{margin:24px auto 0;max-width:50ch;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.6;color:rgba(255,255,255,.9);text-shadow:0 1px 16px rgba(13,27,42,.6)}
.myth .btn{margin-top:32px}
.myth-line{position:absolute;left:0;right:0;bottom:5%;width:100%;height:130px;z-index:-1;pointer-events:none;opacity:.9}
.myth-line path{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:2400;stroke-dashoffset:2400;transition:stroke-dashoffset 3.2s cubic-bezier(.4,0,.2,1)}
.myth.in .myth-line path{stroke-dashoffset:0}
@media (prefers-reduced-motion:reduce){.myth-line path{stroke-dashoffset:0;transition:none}}
@media (max-width:680px){.myth{min-height:84vh}.myth-line{height:80px;bottom:3%}}

/* language switch and phone menu: native <details>, so both work by keyboard and without script */
.bar details{position:relative}
.bar summary{list-style:none;cursor:pointer;border-radius:6px;padding:.5em .7em;font-size:.86rem;color:var(--ink-2);white-space:nowrap}
.bar summary::-webkit-details-marker{display:none}
.bar summary:hover,.bar details[open] > summary{color:var(--ink);background:var(--cream)}
.bar .langs summary{font:500 .74rem var(--mono);letter-spacing:.08em}
.bar .langs summary::after,.bar .menu summary::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}
.bar .drop{position:absolute;right:0;top:calc(100% + 10px);min-width:180px;margin:0;padding:6px;list-style:none;background:#fff;border-radius:10px;box-shadow:0 18px 40px -16px rgba(13,27,42,.45)}
.bar .drop a,.bar .menu nav a{display:flex;justify-content:space-between;gap:16px;padding:.6em .8em;border-radius:6px;font-size:.9rem;color:var(--ink);text-decoration:none}
.bar .drop a:hover,.bar .menu nav a:hover{background:var(--cream)}
.bar .drop a[aria-current] ,.bar .menu .lang-list a[aria-current]{font-weight:600}
.bar .drop a span,.bar .menu .lang-list a span{font:500 .7rem var(--mono);color:var(--ink-2);letter-spacing:.08em}
.bar .menu{display:none}
@media (max-width:680px){.bar .menu{display:block}}
.bar .menu nav{position:absolute;right:0;top:calc(100% + 10px);width:min(280px,calc(100vw - 24px));padding:6px;background:#fff;border-radius:10px;box-shadow:0 18px 40px -16px rgba(13,27,42,.45);display:block}
.bar .menu .lang-list{margin:6px 0 0;padding:6px 0 0;border-top:1px solid var(--line);list-style:none}
@media (max-width:520px){.bar{padding-left:12px;gap:4px}.bar .logo{margin-right:0}.bar .btn{padding:.6em .8em}}
@media (max-width:360px){.bar .logo b{display:none}}

/* the lower-commitment way in, under the start cards */
.start .lite{margin-top:26px;max-width:62ch;font-size:.98rem;color:rgba(255,255,255,.92);text-shadow:0 1px 14px rgba(13,27,42,.6)}
.start .lite a{color:#fff;text-decoration-color:var(--gold);text-underline-offset:3px}
.faq .list p a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:3px}

/* footer: the site's own pages, then the resources that live on the main site */
.foot .links.more a{letter-spacing:.1em;color:rgba(255,255,255,.7)}
.foot .wrap{grid-template-columns:auto 1fr 1fr auto}
@media (max-width:1000px){.foot .wrap{grid-template-columns:1fr}}

/* the form: one message per field, read out when it appears; a status line for the send */
.form-wrap .err{display:block;margin-top:6px;font-size:.84rem;color:#9B2C1F}
.form-wrap [aria-invalid="true"]{border-color:#9B2C1F;box-shadow:0 0 0 1px #9B2C1F}
.form-wrap .status{margin-top:16px;padding:14px 16px;border-radius:6px;font-size:.95rem;line-height:1.45}
.form-wrap .status.ok{background:#E7F4EC;color:#14532D}
.form-wrap .status.bad{background:#FBEAE7;color:#7A1F12}
.form-wrap .status a{color:inherit}
.form-wrap button[aria-busy="true"]{opacity:.7;cursor:progress}
.form-wrap .fine a{color:inherit;text-underline-offset:3px}
.form-wrap .field{display:grid;gap:6px;align-content:start}
.form-wrap .field label{display:block}
.form-wrap .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.thanks{min-height:78vh;display:grid;align-items:center;padding:clamp(130px,14vw,170px) 0 80px;background:var(--paper)}
.thanks h1{font-size:clamp(2.6rem,6vw,4.6rem);margin-top:14px}
.thanks p{margin-top:20px;max-width:52ch;font-size:1.08rem}
.thanks .go{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.btn-line{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.btn-line:hover{background:#fff}
/* about: plain, checkable facts */
.trust{padding:clamp(70px,9vw,120px) 0;background:var(--cream)}
.trust h2{margin-top:14px;font-size:clamp(2rem,4vw,3.2rem);max-width:20ch}
.trust dl{margin:44px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.trust dl > div{padding:20px 0;border-top:1px solid var(--line)}
.trust dt{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.trust dd{margin:8px 0 0;font-size:1rem;line-height:1.55;max-width:56ch}
.trust a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:3px}
.trust .more-link{margin-top:24px;font-size:.95rem}
@media (max-width:760px){.trust dl{grid-template-columns:1fr}}
.hl-track:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
/* tap targets of at least 24px (WCAG 2.2, 2.5.8) without changing what is drawn */
.hl-dots{gap:0}
.hl-dots button{box-sizing:content-box;padding:8px;background-clip:content-box}
.foot .links a{padding-block:5px;display:inline-block}
.bar .logo{padding-block:3px}
/* phones: the menu is an icon (its name stays "Menu" for screen readers) and its panel hangs
   from the bar's right edge, so a long walkthrough label in any language still fits */
@media (max-width:680px){
  .bar .menu{position:static;flex:none}
  .bar .menu summary{width:40px;height:36px;padding:0;display:grid;place-items:center}
  .bar .menu summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .bar .menu summary::after{content:"";width:18px;height:2px;margin:0;border:0;transform:none;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
  .bar .menu nav{right:0;top:calc(100% + 8px)}
  .bar .btn{min-width:0}
}
@media (max-width:420px){.bar .btn{font-size:.8rem;padding:.6em .7em}.bar .logo img{height:15px}}
.where .head p b{display:block;margin-bottom:8px;font-weight:500;color:var(--ink)}
