/* Layout: a pinned photographic stage whose line opens once, onto the film,
   then white paper. Inner pages open on a photograph and continue on paper.
   Type: one heavy grotesque, set solid and in outline, as in the logo. Black and white only. */
@font-face{font-family:'Archivo';src:url(archivo-latin.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:block}
:root{
  --ink:#141414;
  --paper:#ffffff;
  --soft:#383838;
  --mute:#6b6b6b;
  --hair:#dcdcdc;
  --acc:#7b2d21;
  --wash:#f3f3f3;
  --on:#ffffff;
  --on-soft:rgba(255,255,255,.8);
  --on-mute:rgba(255,255,255,.6);
  --on-hair:rgba(255,255,255,.28);
  --font:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --gutter:clamp(22px,4.2vw,60px);
  /* the page edge: the gutter, or the edge of the 1280px column on a wide screen */
  --edge:max(var(--gutter),calc((100vw - 1280px)/2 + var(--gutter)));
  --hdr:72px;
  --t-label:.78rem;
  --t-body:1.0625rem;
  --t-h3:1.3rem;
  --t-h2:clamp(1.9rem,3.6vw,3.1rem);
  --t-h1:clamp(2.6rem,6.4vw,5.6rem);
  color-scheme:light;
  /* names kept for markup written earlier */
  --t-2xl:var(--t-h2);--lx-band-fg:var(--on);--lx-band-muted:var(--on-mute);--lx-ink:currentColor;--lx-text-muted:var(--mute);
  --logo-h:url(lexaero-horizontal.png);
  --logo-p:url(lexaero-primary.png);
  --logo-m:url(lexaero-monogram.png);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:auto;scroll-padding-top:calc(var(--hdr) + 14px)}
html.has-fab{scroll-padding-bottom:5.75rem}
.rt{position:absolute;width:0;height:0}
.print-head{display:none}
html.menu-lock{overflow:hidden}
/* a deep link shows its own page from the first paint */
html[data-route] #p-home{display:none}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.58 var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.btn:focus-visible,.film-btn:focus-visible,.copy:focus-visible,.menu-btn:focus-visible,.nav-cta:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--on);padding:0 var(--gutter);z-index:60;height:var(--hdr);display:flex;align-items:center;font-weight:700}
.skip:focus{left:0;right:0}

/* ---------- type ---------- */
.label{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase}
.kicker{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.display{font:800 var(--t-h1)/.98 var(--font);letter-spacing:-.035em;text-wrap:balance}
.h-page{font:800 var(--t-h2)/1.04 var(--font);letter-spacing:-.03em;text-wrap:balance;max-width:20ch}
.h-page.wide{max-width:26ch}
.h3{font:800 var(--t-h3)/1.2 var(--font);letter-spacing:-.02em}
.h4{font:700 1.06rem/1.3 var(--font);letter-spacing:-.01em}
.lede{font-size:clamp(1.12rem,1.5vw,1.32rem);line-height:1.48;max-width:56ch}
.muted{color:var(--mute)}
.small{font-size:.94rem;line-height:1.55}
.prose{max-width:64ch;display:grid;gap:1rem}
.prose a,.tlink{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.prose a:hover,.tlink:hover{text-decoration-thickness:2px}
/* outline setting, after the AERO of the logo */
.em,.ol{color:transparent;-webkit-text-stroke:max(1.25px,.022em) currentColor;-webkit-text-stroke-color:var(--stroke,var(--ink))}
.on-photo .em,.on-photo .ol,.band .em,.band .ol{--stroke:var(--on)}
@supports not (-webkit-text-stroke:1px black){.em,.ol{color:inherit}}
.arr{display:inline-block;width:1.05em;height:.7em;flex:none;transition:transform .2s ease}
a:hover>.arr,button:hover>.arr{transform:translateX(4px)}

/* ---------- logo (masks, so it takes the current colour) ---------- */
.mark{display:block;background-color:currentColor;-webkit-mask:var(--m) left center/contain no-repeat;mask:var(--m) left center/contain no-repeat}
.mark-h{--m:var(--logo-h);width:9.4rem;aspect-ratio:414/142}
.mark-p{--m:var(--logo-p);width:12.5rem;aspect-ratio:480/407}
.mark-m{--m:var(--logo-m);width:4.5rem;aspect-ratio:1}

/* ---------- header ---------- */
.top{position:fixed;left:0;right:0;top:0;z-index:40;height:calc(var(--hdr) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--edge) 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;color:var(--on);transition:background .3s ease,box-shadow .3s ease}
.top .brand,.top .nav,.top .menu-btn{transition:color .3s ease}
.top[data-tone="light"]{color:var(--ink)}
.top[data-tone="solid"]{color:var(--ink);background:var(--paper);box-shadow:0 1px 0 var(--hair)}
.top[data-tone="ink"]{color:var(--on);background:var(--ink)}
.top[data-tone="split"] .nav,.top[data-tone="split"] .menu-btn{color:var(--ink)}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none}
/* with enlarged text on a small phone the logo gives way, so the menu button stays on screen */
.top .brand .mark-h{width:min(9.4rem,calc((var(--hdr) - 10px)*2.915),calc(100vw - 2*var(--edge) - 7.4rem))}
.menu-btn{flex:none}
.nav{display:flex;align-items:center;gap:.15rem}
.nav a{font:600 .95rem/1 var(--font);text-decoration:none;padding:.7rem .8rem;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;position:relative}
.nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .nav-cta{border:1.5px solid currentColor;margin-left:.7rem;padding:.72rem 1.05rem}
.nav .nav-cta::after{display:none}
.nav .nav-cta:hover{box-shadow:inset 0 0 0 1.5px currentColor}
.nav .nav-sub,.nav .nav-foot{display:none}
.menu-btn{display:none;font:600 .95rem/1 var(--font);background:none;border:1.5px solid currentColor;padding:.65rem .9rem;min-height:44px;cursor:pointer}
@media (max-width:1000px){
  :root{--hdr:62px}
  .menu-btn{display:inline-flex;align-items:center;position:relative;z-index:2}
  .top[data-tone="split"]:not(.menu-open) .menu-btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
  .brand{position:relative;z-index:2}
  .nav{display:none;position:fixed;inset:0;background:var(--ink);color:var(--on);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 1.5rem) var(--gutter) 2rem;overflow:auto}
  .top.menu-open{color:var(--on)!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .top.menu-open .nav,.top.menu-open .menu-btn,.top.menu-open .brand{color:var(--on)!important}
  .top.menu-open .nav{display:flex}
  .nav a{font:800 1.9rem/1.1 var(--font);letter-spacing:-.03em;padding:1rem 0;border-bottom:1px solid var(--on-hair);justify-content:space-between;width:100%;white-space:normal;text-align:left}
  .nav a::after{display:none}
  .nav .nav-cta{margin:1.75rem 0 1.25rem;border:1.5px solid var(--on);justify-content:center;font-size:1.15rem;letter-spacing:0;padding:1.1rem}
  .nav a.nav-sub{display:flex;font:600 1.05rem/1.2 var(--font);letter-spacing:0;padding:.85rem 0;border-bottom:0;color:var(--on-soft)}
  .nav .nav-foot{display:block;margin-top:auto;padding-top:2rem;font:600 var(--t-label)/1.7 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--on-mute)}
}

/* ---------- buttons and links ---------- */
.btn{display:inline-flex;align-items:center;gap:.7rem;font:700 1rem/1 var(--font);text-decoration:none;padding:1.05rem 1.4rem;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .2s ease,color .2s ease}
.btn:hover{outline:1.5px solid var(--acc);outline-offset:3px}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper);outline:0}
.on-photo .btn,.band .btn{border-color:var(--on);background:var(--on);color:var(--ink)}
.on-photo .btn:hover,.band .btn:hover{outline-color:var(--on)}
.on-photo .btn.ghost,.band .btn.ghost{background:transparent;color:var(--on)}
.on-photo .btn.ghost:hover,.band .btn.ghost:hover{background:var(--on);color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}
.more{font:700 1rem/1.2 var(--font);text-decoration:none;display:inline-flex;gap:.6rem;align-items:center;border-bottom:1.5px solid var(--acc);padding:.35rem 0 .3rem}
.more .arr{color:var(--acc)}
.more:hover{box-shadow:0 1.5px 0 var(--acc)}
.on-photo .more,.band .more,.closing .more{border-bottom-color:currentColor}.on-photo .more .arr,.band .more .arr,.closing .more .arr{color:inherit}
@media (max-width:900px),(pointer:coarse){.more{min-height:44px;align-items:flex-end}}
.more-row{display:flex;flex-wrap:wrap;gap:.9rem 2.25rem;align-items:center}

/* =====================================================================
   HOME: the line opens once, onto the film
   ===================================================================== */
.journey{position:relative;height:215vh;background:var(--ink)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ink);color:var(--on)}
.sky{position:absolute;inset:0}
.clip{position:absolute;inset:0;overflow:hidden;background:var(--ink)}
/* the film stays out of sight until the script opens the line */
.clip[data-k="1"]{visibility:hidden}
.ph{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:cover;transform-origin:50% 50%;backface-visibility:hidden}
.hero-shade{display:none}

/* hero: the headline is cut by the line, solid on one side and outlined on the other */
.hero{position:absolute;inset:0;z-index:4;color:#fff}
.hero-h{position:absolute;left:0;right:0;top:44%;transform:translateY(-50%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:11vw;font:800 clamp(2.6rem,6.6vw,7rem)/.9 var(--font);letter-spacing:-.04em;text-transform:uppercase}
.hero-h span{display:block}
.hero-h .a{text-align:right}
.hero-h .b{text-align:left;color:transparent;-webkit-text-stroke:max(1.25px,.02em) var(--ink)}
.hero-foot{position:absolute;left:var(--edge);right:var(--edge);bottom:clamp(40px,8vh,84px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(28px,5.5vw,96px);align-items:end}
.hero-lede{max-width:min(31rem,39vw,calc(45vw - var(--edge)));display:grid;gap:1.4rem;justify-items:start}
.hero-lede p{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.45}
.hero-lede .btn{border-color:#fff;background:#fff;color:#000}
.hero-lede .btn:hover{outline-color:#fff}
.hero-next{display:none}
.hero-lede .btn.ghost{background:transparent;color:#fff}
.hero-lede .btn.ghost:hover{background:#fff;color:#000}
.hero-side{justify-self:end;text-align:right;display:grid;gap:.9rem;justify-items:end;color:var(--ink)}
.hero-side .cue i{background:rgba(20,20,20,.25)}
.hero-side .cue i::after{background:var(--ink)}
.clip[data-k="0"]::after{content:"";position:absolute;left:0;bottom:0;width:46%;height:62%;background:linear-gradient(0deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.5) 45%,rgba(8,8,8,0) 100%);pointer-events:none}
.cue{display:inline-flex;align-items:center;gap:.9rem}
.cue i{position:relative;width:1.5px;height:46px;background:rgba(255,255,255,.3);overflow:hidden}
.cue i::after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:#fff;animation:fall 2s cubic-bezier(.6,0,.4,1) infinite}
@keyframes fall{to{top:100%}}

/* the film, behind the line */
.film-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.56) 28%,rgba(8,8,8,0) 60%),linear-gradient(180deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,0) 24%)}
.film{position:absolute;inset:0;z-index:4;opacity:0;visibility:hidden;padding:0 var(--edge) calc(clamp(22px,4vh,40px) + env(safe-area-inset-bottom,0px));display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(1.1rem,3vh,2rem)}
.beats{position:relative;min-height:0}
.beat{position:absolute;left:0;bottom:0;width:min(52rem,100%);display:grid;gap:clamp(.7rem,1.6vh,1.1rem);justify-items:start;opacity:0;transform:translate3d(0,16px,0);transition:opacity .55s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.beat.on{opacity:1;transform:none}
.beat .label{display:flex;align-items:center;gap:.9rem;color:var(--on)}
.beat .label::before{content:"";width:2.6rem;height:1.5px;background:currentColor}
.beat .bt{font:800 clamp(2.3rem,6.6vw,6.4rem)/.92 var(--font);letter-spacing:-.04em;text-transform:uppercase;text-wrap:balance}
.beat .bt .ol{--stroke:var(--on);display:block}
.beat .bs{font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.42;color:var(--on);max-width:36rem;text-shadow:0 1px 14px rgba(0,0,0,.55)}
.beat .mark{width:clamp(8rem,11vw,11rem)}
.beat.end{width:min(66rem,100%)}
.beat.end .mark{width:clamp(9rem,13vw,13rem)}
.film-bar{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem 1rem}
.film-skip{color:var(--on);text-decoration:none;white-space:nowrap;min-height:44px;min-width:44px;justify-content:center;display:inline-flex;align-items:center;position:relative}
.film-skip::after{content:"";position:absolute;left:0;right:0;bottom:.55rem;height:1.5px;background:currentColor}
.film-skip:hover::after{height:3px}
.film-ai{position:absolute;right:var(--edge);top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 1rem);color:var(--on-soft);font-size:.68rem;text-shadow:0 1px 10px rgba(0,0,0,.6);pointer-events:none}
.film-btn{appearance:none;background:none;border:1.5px solid var(--on);color:var(--on);font:700 var(--t-label)/1 var(--font);letter-spacing:.14em;text-transform:uppercase;padding:.7rem .9rem;min-height:44px;cursor:pointer;min-width:min(5.6rem,24vw);white-space:nowrap}
.film-btn:hover{background:var(--on);color:var(--ink)}
.film-btn.solid{background:var(--on);color:var(--ink)}
.film-btn.solid:hover{background:transparent;color:var(--on)}
.film-btn.solid.is-on{background:transparent;color:var(--on)}
.film-btn[disabled]{opacity:.6;cursor:default;background:none!important;color:var(--on)!important}
@media (max-width:520px){.film-bar{grid-template-columns:auto auto minmax(0,1fr) auto}.film-time{display:none}}
@media (max-width:440px){.film-skip .x{display:none}.film-bar{gap:.75rem .7rem}}
/* enlarged text narrows the bar in its own terms */
.film-bar{container-type:inline-size}
@container (max-width:26rem){.film-skip .x{display:none}.film-time{display:none}}
@container (max-width:19rem){.film-track{visibility:hidden}}
.film-track{height:1.5px;background:rgba(255,255,255,.3)}
.film-track i{display:block;height:100%;width:0;background:#fff}
.film-time{color:var(--on-soft);font-variant-numeric:tabular-nums}
/* tall screens: the film runs as a band, with its captions on ink beneath */
.is-band .stage{--band:min(100vw,calc(100svh - var(--hdr) - 22rem))}
.is-band .clip[data-k="1"] .ph{left:0;top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 1rem);width:100%;height:var(--band)}
.is-band .film-scrim{display:none}
.is-band .film{padding-top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 1rem + var(--band) + 1.2rem)}
.is-band .beat{top:0;bottom:0;align-content:center}
.is-band .film-ai{top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 1.6rem)}
/* shown only while the browser is holding the sound back */
.film-hint{position:absolute;right:var(--edge);top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 2.5rem);color:var(--on);font-size:.72rem;text-shadow:0 1px 10px rgba(0,0,0,.75);pointer-events:none;display:flex;align-items:center;gap:.6rem}
.film-hint::before{content:"";width:1.6rem;height:1.5px;background:currentColor}
.is-band .film-hint{top:calc(var(--hdr) + env(safe-area-inset-top,0px) + 3.1rem)}
.is-band .beat .bt{font-size:clamp(1.6rem,min(8.5vw,4.6vh),3.2rem)}
.is-band .beat .bs{font-size:clamp(.98rem,2.1vh,1.15rem)}

/* narrow or tall screens: the headline stands on the shaded foot of the photograph, clear of the line */
.is-tall .hero{display:flex;flex-direction:column;justify-content:flex-end;gap:1.1rem;padding:0 var(--gutter) calc(28px + env(safe-area-inset-bottom,0px))}
.is-tall .hero-h{position:static;transform:none;display:block;text-align:left;font-size:clamp(2.3rem,11.4vw,4.6rem);line-height:.92}
.is-tall .hero-h .a,.is-tall .hero-h .b{text-align:left}
.is-tall .hero-h .b{-webkit-text-stroke-color:#fff}
.is-tall .clip[data-k="0"]::after{display:none}
.is-tall .hero-foot{position:static;grid-template-columns:minmax(0,1fr)}
.is-tall .hero-side{display:none}
.is-tall .hero-next{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.72);font-size:.68rem}
.is-tall .hero-next::before{content:"";width:1.5px;height:1.1rem;background:currentColor}
.is-tall .hero-lede{max-width:34rem;gap:1.1rem}
.is-tall .hero-shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,0) calc(var(--shade,55%) - 27%),rgba(15,15,15,.82) var(--shade,55%),rgba(15,15,15,.96) 100%),radial-gradient(75% 150px at 0 0,rgba(15,15,15,.66) 0%,rgba(15,15,15,.4) 45%,rgba(15,15,15,0) 100%)}
@media (max-height:480px) and (orientation:landscape){
  .is-tall .hero{gap:.6rem;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .is-tall .hero-h{font-size:clamp(1.5rem,9.5vh,2.5rem)}
  .is-tall .hero-h span{display:inline}
  .is-tall .hero-lede{gap:.7rem;max-width:44rem}
  .is-tall .hero-lede p{font-size:.95rem;line-height:1.35}
  .is-tall .hero-lede .btn{padding:.7rem 1rem}
  .is-tall .hero-shade{background:linear-gradient(180deg,rgba(15,15,15,.35) 0%,rgba(15,15,15,.86) 45%,rgba(15,15,15,.96) 100%)}
  .is-tall .hero-next{display:none}
}
/* enlarged text or a very small screen: the opening tightens so nothing runs under the header */
.is-tight .hero{gap:.7rem}
.is-tight .hero-h{font-size:min(2.3rem,9.4vw)}
.is-tight .hero-lede{gap:.8rem}
.is-tight .hero-lede p{font-size:min(1rem,4.2vw);line-height:1.38}
.is-tight .hero-lede .btn{padding:.75rem 1rem;font-size:min(1rem,4.2vw)}
.is-tight .hero-next{display:none}
/* a short, wide window: the headline moves up and tightens so it clears the text below it */
@media (max-height:720px) and (min-width:1001px){
  html:not(.is-tall) .hero-h{top:36%;font-size:clamp(2.4rem,min(5.9vw,11.5vh),7rem)}
  html:not(.is-tall) .hero-lede p{font-size:1.02rem}
}

/* ---------- paper sections ---------- */
.paper{background:var(--paper);color:var(--ink);position:relative;z-index:2}
.sec{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1.25rem 3rem;padding-block:clamp(3.25rem,7.5vw,6rem);border-top:1px solid var(--hair)}
.sec.first{border-top:0}
.phero + .wrap > .sec:first-child{border-top:0}
.sec-n{font:800 clamp(1.5rem,3vw,2.6rem)/1 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
@media (max-width:900px){.sec-n{font-size:1.5rem}}
.sec-k{display:grid;gap:.6rem;align-content:start;padding-top:.55rem}
.sec-k .kicker{display:flex;align-items:center;gap:.8rem;color:var(--acc)}
.sec-k .kicker::before{content:"";width:1.6rem;height:1.5px;background:currentColor;flex:none;transform-origin:left}
.sec-b{min-width:0;display:grid;gap:2rem}
@media (max-width:900px){.sec{grid-template-columns:minmax(0,1fr)}.sec-k{padding-top:0}}

/* four facts, straight after the film */
.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem 2.5rem;padding-block:clamp(2.5rem,5vw,4rem) clamp(1.75rem,4vw,2.5rem)}
.quick>div{border-top:1.5px solid var(--ink);padding-top:1rem;display:grid;gap:.45rem;align-content:start;min-width:0}
.quick p{color:var(--soft);font-size:1rem;line-height:1.5;max-width:34ch}
@media (max-width:1000px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.quick{gap:1.25rem 1.25rem}.quick p{font-size:.96rem}}

/* a section that runs the full width, with its heading above */
.sec.wide{grid-template-columns:minmax(0,1fr);gap:clamp(2rem,4vw,3rem)}
.kicker.line{display:flex;align-items:center;gap:.8rem;color:var(--acc)}
.kicker.line::before{content:"";width:1.6rem;height:1.5px;background:currentColor;flex:none;transform-origin:left}

/* coverage: a route, then four areas that open in place */
.cov{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.75rem,3.6vw,2.75rem)}
.cov-head{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;max-width:54rem}
.route{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;padding:1.1rem 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--hair);position:relative}
.route .label{color:var(--mute);white-space:nowrap}
.route-leg{display:inline-flex;align-items:center;gap:.5rem .9rem;flex-wrap:wrap;min-width:0}
.pick{appearance:none;-webkit-appearance:none;font:700 clamp(1.05rem,1.6vw,1.3rem)/1.3 var(--font);letter-spacing:-.015em;color:var(--ink);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23141414' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .1em center/.55em auto;border:0;border-bottom:1.5px solid var(--ink);border-radius:0;padding:.3rem 1.3em .3rem 0;margin:0;min-height:44px;cursor:pointer;max-width:100%;text-overflow:ellipsis}
.pick:hover{background-color:var(--wash)}
.pick option{font:500 1rem/1.4 var(--font);letter-spacing:0}
.pick-size{position:absolute;left:0;top:0;visibility:hidden;white-space:nowrap;pointer-events:none;font:700 clamp(1.05rem,1.6vw,1.3rem)/1.3 var(--font);letter-spacing:-.015em}
.route-arr{width:2.4rem;height:1rem;flex:none;color:var(--ink)}
.route-hint{margin-left:0;flex-basis:100%}
@media (max-width:620px){.route{gap:.35rem 1rem}.route-leg{flex-basis:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:0;justify-items:start}.route-leg .label{font-size:.7rem}.route-arr{display:none}}
.cov-lead{font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.5;max-width:60ch;color:var(--soft)}
.cov-lead:empty{display:none}
.covs{display:grid;border-bottom:1.5px solid var(--ink)}
.cv{border-top:1.5px solid var(--ink)}
.cv-h{margin:0;font:inherit}
.cv-btn{appearance:none;background:none;border:0;margin:0;width:100%;text-align:left;color:inherit;cursor:pointer;display:grid;grid-template-columns:clamp(2.6rem,5vw,4.4rem) minmax(0,1fr) auto auto;gap:.5rem clamp(1rem,2.6vw,2.25rem);align-items:center;padding:clamp(1.15rem,2.3vw,1.75rem) 0;font-family:var(--font)}
.cv-n{font:800 clamp(1.5rem,3vw,2.6rem)/1 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cv-t{font:800 clamp(1.25rem,2.4vw,1.95rem)/1.08 var(--font);letter-spacing:-.035em;text-wrap:balance}
.cv-d{color:var(--soft);font-size:1.02rem;line-height:1.5;max-width:44ch;transition:opacity .3s ease}
.cv-pic{width:clamp(4.6rem,8vw,7rem);height:auto;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}
@media (hover:hover){.cv-btn:hover .cv-pic{transform:scale(1.05);filter:brightness(1.06)}}
@media (hover:hover){.cv-btn:hover .cv-t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}}
.cv.picked .cv-n{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.16em}
.cv-x{position:relative;width:1.35rem;height:1.35rem;flex:none}
.cv-x::before,.cv-x::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;transition:transform .35s ease}
.cv-x::after{transform:rotate(90deg)}
.cv.open .cv-x::after{transform:rotate(0)}
.cv.open{border-top-color:var(--acc)}
.cv.open .cv-x{color:var(--acc)}
.cv-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.cv.open .cv-body{grid-template-rows:1fr}
.cv-in{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s .5s}
.cv.open .cv-in{visibility:visible;transition-delay:0s}
/* a situation: a tick, a number, a sentence; it opens to four answers and the local detail */
.cv[data-m]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.cv[data-m] .cv-body{grid-column:1/-1}
.cv-tick{position:relative;display:grid;place-items:center;width:44px;min-height:44px;align-self:stretch;margin-right:clamp(.35rem,1.4vw,1.1rem);cursor:pointer}
.cv-tick input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cv-tick i{width:1.45rem;height:1.45rem;border:1.5px solid var(--ink);display:block;position:relative;transition:background .15s ease}
.cv-tick i::after{content:"";position:absolute;left:.44rem;top:.14rem;width:.36rem;height:.72rem;border:solid var(--paper);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);opacity:0}
.cv-tick input:checked + i{background:var(--ink)}
.cv-tick input:checked + i::after{opacity:1}
.cv-tick input:focus-visible + i{outline:2px solid var(--ink);outline-offset:3px}
.cv-tick:hover i{box-shadow:inset 0 0 0 1.5px var(--ink)}
.cv{--in:calc(44px + clamp(.35rem,1.4vw,1.1rem) + clamp(2.6rem,5vw,4.4rem) + clamp(1rem,2.6vw,2.25rem))}
.mo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem clamp(1.25rem,2.6vw,2.5rem);padding:.4rem 0 1.75rem var(--in)}
.mo>div{display:grid;gap:.5rem;align-content:start;border-top:1.5px solid var(--ink);padding-top:.85rem;min-width:0}
.mo dt{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.mo dd{font-size:1rem;line-height:1.52;color:var(--soft)}
.mo .mo-lx dt{color:var(--ink)}
.mo .mo-lx dd{color:var(--ink);font-weight:600}
@media (max-width:1100px){.mo{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,4rem);padding:0 0 0 var(--in)}
.pts-h{grid-column:1/-1;font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-bottom:.6rem}
.pts-none{grid-column:1/-1;color:var(--soft);font-size:1rem;border-top:1px solid var(--hair);padding:1rem 0 1.2rem;max-width:60ch}
.cv-else{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 clamp(1rem,2.6vw,2.25rem);align-items:start;padding:clamp(1.15rem,2.3vw,1.75rem) 0 clamp(1.3rem,2.5vw,1.9rem) calc(44px + clamp(.35rem,1.4vw,1.1rem))}
#situation:focus{outline:0}
.cv-else .cv-n{width:clamp(2.6rem,5vw,4.4rem)}
.cv-else>div{display:grid;gap:.5rem}
.cv-else p{color:var(--soft);max-width:60ch}
/* what leaving it costs: four figures on ink */
.cost{background:var(--ink);color:var(--on);padding:clamp(1.75rem,4.2vw,3.25rem);margin-block:clamp(.5rem,2vw,1.5rem) 0;display:grid;gap:clamp(1.5rem,3vw,2.25rem)}
.cost + .sec{border-top:0}
.cost .kicker{color:var(--on-soft)}
.cost-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,1.1fr) minmax(0,.9fr);gap:1.75rem clamp(1.25rem,3vw,2.75rem)}
.cost-grid>div{display:grid;gap:.7rem;align-content:start;border-top:1.5px solid var(--on);padding-top:1rem;min-width:0}
.cost-grid{margin:0}
.cost-grid dt{font:800 clamp(1.7rem,2.9vw,2.6rem)/1 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cost-grid dd{color:var(--on-soft);font-size:1rem;line-height:1.5}
@media (max-width:360px){.cost-grid dt{white-space:normal;overflow-wrap:anywhere}}
.cost-note{color:var(--on-mute);font-size:.86rem;line-height:1.5;max-width:92ch}
@media (max-width:1000px){.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.cost-grid{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1100px){.pts[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pt{display:grid;gap:.5rem;align-content:start;padding:1rem 0 1.3rem;border-top:1px solid var(--hair);min-width:0}
.pt h4{font:800 1.12rem/1.2 var(--font);letter-spacing:-.02em;margin:0}
.pt p{color:var(--soft);font-size:1rem;line-height:1.55;max-width:52ch}
.pt .pt-at b,.pt .pt-lx b{display:block;font:600 var(--t-label)/1.6 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:.15rem}
.pt .pt-lx{color:var(--ink);border-left:2px solid var(--ink);padding-left:.95rem}
.pt .pt-lx small{display:block;margin-top:.35rem;font-size:.92rem;color:var(--mute)}
/* a situation on its own page: the four answers, then the detail country by country */
.mo-page{padding:0}
@media (min-width:1101px){.mo-page{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem clamp(1.5rem,4vw,3.75rem)}.mo-page dd{max-width:52ch}}
.blist h2.bt,.blist h3.bt{margin:0}
.sitd{border-top:1.5px solid var(--ink);padding:1.15rem 0 1.9rem;display:grid;gap:1rem}
.sitd-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem clamp(1.5rem,4vw,3.75rem)}
.sitd-l>div{display:grid;gap:.3rem;align-content:start;min-width:0}
.sitd-l dt{font:600 var(--t-label)/1.6 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.sitd-l dd,.sitd-any{color:var(--soft);font-size:1rem;line-height:1.55;max-width:56ch}
.sitd-note{border-top:1px solid var(--hair);padding-top:1.1rem;max-width:74ch}
@media (max-width:700px){.sitd-l{grid-template-columns:minmax(0,1fr)}}
.cv-more{padding:.9rem 0 1.9rem var(--in);display:flex;flex-wrap:wrap;gap:.6rem 2.25rem;align-items:center}
.cv-more .more{padding-block:.6rem .5rem}
button.more{appearance:none;background:none;border:0;border-bottom:1.5px solid currentColor;color:inherit;cursor:pointer;border-radius:0}
.cov-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2.5rem}
.cov-notes{display:grid;gap:.45rem;flex:1 1 26rem;max-width:66ch}
@media (max-width:900px){
  .cv-btn{grid-template-columns:2.2rem minmax(0,1fr) auto auto;align-items:center}
  .cv-else .cv-n{width:2.2rem}
  .cv-pic{width:3.9rem}
  .pts,.pts[data-n="3"]{grid-template-columns:minmax(0,1fr);padding-left:0}
  .mo{padding-left:0}
  .cv-more{padding-left:0}
}
@media (max-width:620px){.mo{grid-template-columns:minmax(0,1fr);gap:1.1rem}.cv-tick{margin-right:.15rem;margin-left:-.5rem}.cv-else{padding-left:calc(44px - .35rem)}}
@media (max-width:480px){.cv-pic{display:none}.cv-btn{grid-template-columns:2rem minmax(0,1fr) auto}.cv-else .cv-n{width:2rem}.cv-t{font-size:1.16rem;letter-spacing:-.025em}.cv-n{font-size:1.25rem}}
@media (prefers-reduced-motion: reduce){.cv-body,.cv-x::before,.cv-x::after,.cv-pic{transition:none}}

/* briefings */
.blist a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem 1.5rem;align-items:start;text-decoration:none;padding-block:1.5rem;border-top:1.5px solid var(--ink)}
.blist li:last-child a{border-bottom:1.5px solid var(--ink)}
.blist .b-pic{grid-column:1;grid-row:1/4;width:clamp(4.2rem,8vw,6.5rem);height:auto;aspect-ratio:16/10;object-fit:cover;align-self:start;margin-top:.2rem;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.blist a:hover .b-pic{transform:scale(1.05)}}
@media (hover:hover){.blist a:hover .bt{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em;text-decoration-color:var(--acc)}}
.blist .kicker{grid-column:2/-1}
.blist .bt{grid-column:2}
.blist .bt{font:800 clamp(1.35rem,2.4vw,2rem)/1.08 var(--font);letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word;min-width:0}
.blist .bd{grid-column:2;color:var(--soft);max-width:58ch}
.blist .arr{grid-column:3;grid-row:2;margin-top:.5rem;width:1.5rem;height:1rem}
.blist a:hover .arr{transform:translateX(6px)}

/* generic grids */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1.5px solid var(--ink)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 3.5rem}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem 2.75rem}
@media (max-width:1000px){.grid3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.cols3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.grid2{grid-template-columns:minmax(0,1fr)}}
.card{padding:1.6rem 1.6rem 1.8rem 0;display:grid;gap:1rem;align-content:start;min-width:0}
.grid3 .card+.card{border-left:1px solid var(--hair);padding-left:1.6rem}
@media (max-width:1000px){.grid3 .card+.card{border-left:0;padding-left:0;border-top:1px solid var(--hair)}}
.card .tag{font:600 var(--t-label)/1.4 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.card .h3{font:800 1.5rem/1.08 var(--font);letter-spacing:-.03em}
.card .more{justify-self:start;margin-top:.25rem}
.dash{display:grid;gap:.55rem}
.dash li{padding-left:1.5rem;position:relative}
.dash li::before{content:"";position:absolute;left:0;top:.8em;width:.9rem;height:2px;background:currentColor}
.item{display:grid;gap:.55rem;align-content:start;min-width:0;border-top:1.5px solid var(--ink);padding-top:1rem}
.item p{color:var(--soft);max-width:52ch}
.rules{display:grid}
.rules>li{border-top:1px solid var(--hair);padding-block:1.2rem}
.rules>li:first-child{border-top:1.5px solid var(--ink)}

/* facts */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid currentColor}
.facts>div{padding:1.2rem 1.25rem 0 0;display:grid;gap:.4rem}
.facts>div+div{border-left:1px solid var(--line,var(--hair));padding-left:1.25rem}
.facts b{font:800 clamp(1.7rem,3.8vw,3rem)/1 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0}
.facts>div{min-width:0}
.on-photo .facts,.band .facts{--line:var(--on-hair)}
.on-photo .facts .kicker,.band .kicker{color:var(--on-mute)}
@media (max-width:560px){.facts{grid-template-columns:minmax(0,1fr)}.facts>div{padding-bottom:1.1rem}.facts>div+div{border-left:0;border-top:1px solid var(--line,var(--hair));padding-left:0}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;counter-reset:st}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps li{counter-increment:st;display:grid;gap:.55rem;align-content:start;border-top:1.5px solid currentColor;padding-top:1.1rem;min-width:0}
.steps li::before{content:counter(st,decimal-leading-zero);font:800 2.2rem/1 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.steps.timed li::before{content:none}
.steps .when{font:600 var(--t-label)/1.4 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.steps p{color:var(--soft);font-size:1rem}
.band .steps .when{color:var(--on-mute)}
.band .steps p{color:var(--on-soft)}
@media (max-width:900px){.steps,.steps.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps,.steps.three{grid-template-columns:minmax(0,1fr)}}

/* ink band, optionally over a photograph */
.band{position:relative;background:var(--ink);color:var(--on);overflow:hidden;z-index:2}
.band-in{position:relative;padding-block:clamp(4rem,9vw,7.5rem);display:grid;gap:2rem}
.band .lede{color:var(--on-soft)}

/* closing call */
.closing{position:relative;background:var(--ink);color:var(--on);overflow:hidden;z-index:2}
.closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.closing-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,12,.64) 0%,rgba(12,12,12,.56) 55%,rgba(12,12,12,.52) 100%)}
.closing-in{position:relative;padding-block:clamp(5rem,11vw,9rem) clamp(7rem,15vw,13rem);display:grid;gap:2rem}
.closing h2{font:800 var(--t-h1)/.98 var(--font);letter-spacing:-.04em;max-width:17ch;text-wrap:balance}
.copyline{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem}
.copyline .val{font:800 clamp(1.35rem,3.6vw,2.6rem)/1.1 var(--font);letter-spacing:-.03em;overflow-wrap:anywhere;user-select:all;-webkit-user-select:all}
.copy{font:700 var(--t-label)/1 var(--font);letter-spacing:.14em;text-transform:uppercase;padding:.7rem .85rem;min-height:44px;border:1.5px solid currentColor;background:transparent;cursor:pointer;display:inline-flex;align-items:center;color:inherit;text-decoration:none;white-space:nowrap}
.copy:hover{box-shadow:inset 0 0 0 1.5px currentColor}

/* =====================================================================
   INNER PAGES
   ===================================================================== */
.page.enter{animation:rise .4s ease both}
@keyframes rise{from{opacity:.4}to{opacity:1}}
.page.enter .phero-in>*,[data-site="pages"] .phero-in>*{animation:lift .7s cubic-bezier(.2,.7,.2,1) both}
.page.enter .phero-in>*:nth-child(2),[data-site="pages"] .phero-in>*:nth-child(2){animation-delay:.06s}
.page.enter .phero-in>*:nth-child(3),[data-site="pages"] .phero-in>*:nth-child(3){animation-delay:.12s}
.page.enter .phero-in>*:nth-child(n+4),[data-site="pages"] .phero-in>*:nth-child(n+4){animation-delay:.18s}
@keyframes lift{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}
.page.enter .phero-img,[data-site="pages"] .phero-img{animation:settle 18s cubic-bezier(.2,.7,.2,1) both}
@keyframes settle{0%{scale:1.06}30%{scale:1}100%{scale:1.035}}
.page:focus{outline:none}
.phero{position:relative;background:var(--ink);color:var(--on);overflow:hidden;min-height:min(78vh,760px);display:flex;align-items:flex-end}
.phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.74) 0%,rgba(12,12,12,.5) 42%,rgba(12,12,12,.08) 78%),linear-gradient(180deg,rgba(12,12,12,.6) 0%,rgba(12,12,12,.12) 30%,rgba(12,12,12,.62) 100%)}
.ai-tag{position:absolute;right:var(--edge);bottom:.9rem;font:600 .64rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);text-shadow:0 1px 8px rgba(0,0,0,.6);pointer-events:none}
.phero.light .ai-tag{color:var(--mute);text-shadow:none}
.phero-in{position:relative;width:100%;padding-block:calc(var(--hdr) + 3.5rem) clamp(2.5rem,6vw,4.5rem);display:grid;gap:1.5rem}
.phero .kicker{color:var(--on-soft);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem}
.phero .kicker::before{content:"";width:2.6rem;height:1.5px;background:currentColor}
.phero .display{font-size:clamp(2.6rem,6.9vw,6.2rem);max-width:15ch!important}
.phero .h-page{font-size:clamp(2.2rem,5.2vw,4.4rem)!important;max-width:19ch!important;line-height:1}
.phero .lede{color:var(--on-soft)}
.phero.short{min-height:min(60vh,560px)}
.phero.light{background:var(--paper);color:var(--ink);min-height:min(74vh,720px)}
.phero.light .phero-img{inset:0 0 auto 0;height:186%;object-position:50% 50%}
.phero.light .phero-in{padding-bottom:clamp(5.5rem,13vh,8.5rem)}
.phero.light .phero-scrim{background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,0) 40%)}
.phero.light .kicker{color:var(--soft)}
.phero.light .lede{color:var(--soft)}
.phero.light .em{--stroke:var(--ink)}
.phero.plain{background:var(--paper);color:var(--ink);min-height:0;border-bottom:1.5px solid var(--ink)}
.phero.plain .kicker,.phero.plain .lede{color:var(--soft)}
.phero.plain .em{--stroke:var(--ink)}
.back{font:700 .92rem/1.4 var(--font);text-decoration:none;color:inherit;opacity:.8;justify-self:start;display:inline-flex;align-items:center;gap:.5rem;padding-block:.5rem;margin-block:-.5rem}
.back:hover{opacity:1}
.back .arr{transform:scaleX(-1)}
.back:hover .arr{transform:scaleX(-1) translateX(4px)}

.article{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1.25rem 3rem;padding-block:clamp(2.75rem,6vw,4.5rem) clamp(3.5rem,8vw,6rem)}
.article-side{display:grid;gap:1.25rem;align-content:start}
.article-side dl{display:grid;gap:0;border-bottom:1.5px solid var(--ink)}
.article-side dl>div{border-top:1.5px solid var(--ink);padding:.85rem 0 1rem}
.article-side dt{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:.25rem}
.article-side dd{font-size:.98rem;line-height:1.45;font-weight:500}
.article-body{min-width:0;display:grid;gap:2.75rem}
.article-body>*{min-width:0}
.article-body h2{font:800 clamp(1.5rem,2.6vw,2.1rem)/1.08 var(--font);letter-spacing:-.03em;margin-bottom:.95rem;max-width:26ch}
.article-body h3{font:800 clamp(1.25rem,2vw,1.6rem)/1.1 var(--font);letter-spacing:-.025em;margin-bottom:.8rem;max-width:30ch}
.article-body section>*+*{margin-top:1rem}
.article-body p,.article-body .dash{max-width:64ch}
@media (max-width:900px){.article{grid-template-columns:minmax(0,1fr)}}
.box{background:var(--ink);color:var(--on);padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:1.1rem;max-width:calc(64ch + 4.4rem)}
.article-body .box h2{margin-bottom:0}
.box .h3{font:800 1.5rem/1.1 var(--font);letter-spacing:-.03em}
.box ol{display:grid;counter-reset:bx}
.box ol li{counter-increment:bx;padding:.85rem 0 .85rem 3rem;position:relative;max-width:60ch;border-top:1px solid var(--on-hair)}
.box ol li::before{content:counter(bx,decimal-leading-zero);position:absolute;left:0;top:.8rem;font:800 1.25rem/1.3 var(--font);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sources{border-top:1.5px solid var(--ink);padding-top:1.25rem;display:grid;gap:.6rem}
.sources ul{display:grid;gap:.1rem;font-size:.98rem}
.sources li{padding-block:.3rem}
.sources a{display:inline-block;padding-block:.15rem}
/* what Lexaero does about the subject of a briefing */
.next{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:clamp(1.5rem,3vw,2.25rem) 0;display:grid;gap:1rem;max-width:calc(64ch + 4.4rem)}
.article-body .next h2{margin-bottom:0}
.next p{max-width:60ch}
.next .btn-row{margin-top:.4rem}

.tl{display:grid;border-top:1.5px solid var(--ink)}
.tl>li{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:.3rem 1.25rem;padding-block:1rem;border-bottom:1px solid var(--hair);align-items:baseline}
.tl .d{font:800 1.05rem/1.4 var(--font);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.tl .st{font:700 var(--t-label)/1 var(--font);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--mute)}
.tl .st.on{color:var(--ink)}
.tl .st.on::before{content:"";display:inline-block;width:.55rem;height:.55rem;background:var(--ink);margin-right:.5rem}
.tl>li.now{grid-template-columns:minmax(0,1fr);padding:0;border:0;height:0;position:relative;z-index:1}
.tl>li.now span{position:absolute;z-index:1;left:0;top:-.72rem;background:var(--ink);color:var(--on);font:700 var(--t-label)/1 var(--font);letter-spacing:.14em;text-transform:uppercase;padding:.42rem .6rem}
.tl>li.now::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1.5px;background:var(--ink)}
.tl>li.now+li{padding-top:1.6rem}
@media (max-width:600px){.tl>li{grid-template-columns:minmax(0,1fr) auto}.tl .d{grid-column:1}.tl .w{grid-column:1/-1;grid-row:2}}

.table-wrap{max-width:100%;overflow-x:auto;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:1rem;line-height:1.5}
th,td{text-align:left;vertical-align:top;padding:1rem 1.5rem 1rem 0;border-bottom:1px solid var(--hair)}
tr:last-child td,tr:last-child th{border-bottom:0}
thead th{font:800 1.5rem/1 var(--font);letter-spacing:-.03em;border-bottom:1.5px solid var(--ink);padding-block:1.1rem}
thead th:first-child{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);vertical-align:bottom}
tbody th{font:700 1rem/1.45 var(--font);width:22%}
@media (max-width:700px){
  table{min-width:0}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  tbody tr{display:grid;gap:.7rem;padding:1.2rem 0;border-bottom:1px solid var(--hair)}
  tbody tr:last-child{border-bottom:0}
  tbody th,tbody td{display:block;padding:0;border:0;width:auto}
  tbody th{font:800 1.3rem/1.1 var(--font);letter-spacing:-.03em}
  tbody td::before{content:attr(data-label);display:block;font:600 var(--t-label)/1.7 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
}

.kv{display:grid;grid-template-columns:10rem minmax(0,1fr);border-bottom:1.5px solid var(--ink)}
.kv dt,.kv dd{border-top:1.5px solid var(--ink);padding:1rem 0}
.kv dt{font:600 var(--t-label)/2.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.kv dd{font-weight:600;font-size:1.1rem}
@media (max-width:520px){.kv{grid-template-columns:minmax(0,1fr)}.kv dd{border-top:0;padding-top:0}.kv dt{padding-bottom:.1rem}}
.cta{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem 3rem;align-items:end}
.cta>div{display:grid;gap:1.1rem;min-width:0}
@media (max-width:900px){.cta{grid-template-columns:minmax(0,1fr)}}
.about-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem 3rem;align-items:start}
.about-mark{display:grid;place-items:start}
.about-mark .mark-m{width:6rem}
@media (max-width:600px){.about-grid{grid-template-columns:minmax(0,1fr)}.about-mark{justify-self:start}}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:var(--on);position:relative;z-index:2}
.site-footer .wrap{padding-block:clamp(3rem,6vw,4.5rem) 2rem;display:grid;gap:2.75rem}
.foot-top{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(2,minmax(0,.6fr));gap:2rem 3rem}
.foot-top h2{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--on-mute);margin-bottom:.9rem}
.foot-top ul{display:grid;gap:.1rem}
.foot-top a{text-decoration:none;font:700 1.02rem/1.3 var(--font);display:inline-block;padding-block:.4rem;max-width:100%;overflow-wrap:anywhere}
.foot-top a:hover{text-decoration:underline;text-underline-offset:.2em}
.foot-brand{display:grid;gap:1.4rem;align-content:start}
.foot-brand p{color:var(--on-soft);max-width:30ch}
.foot-legal{border-top:1px solid var(--on-hair);padding-top:1.5rem;display:grid;gap:.6rem;color:var(--on-mute);font-size:.88rem;line-height:1.55}
.foot-legal p{max-width:92ch}
@media (max-width:760px){.foot-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot-brand{grid-column:1/-1}}
@media (max-width:440px){.foot-top{grid-template-columns:minmax(0,1fr)}}

@media (prefers-reduced-motion: reduce){
  .cue i::after{animation:none;top:30%}
  .page.enter,.page.enter .phero-in>*,.page.enter .phero-img,[data-site="pages"] .phero-in>*,[data-site="pages"] .phero-img{animation:none}
  *{transition-duration:.01ms!important}
}

/* a strip of photograph opens each service line */
.strip{position:relative;height:clamp(7rem,17vw,13rem);overflow:hidden;background:var(--ink)}
.strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.factbar{padding-block:clamp(1.75rem,4vw,2.75rem) 0}

/* ---------- contact ---------- */
.contact-sec{grid-template-columns:minmax(0,1fr)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:2.5rem clamp(2rem,6vw,5.5rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.form{display:grid;gap:1.35rem;min-width:0}
.form .h-page{margin-bottom:0}
.form-to{color:var(--soft);margin-top:-.7rem}
.next3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink);border-bottom:1px solid var(--hair);margin-bottom:.4rem}
.next3 li{display:grid;gap:.3rem;align-content:start;padding:.9rem 1rem .95rem 0;font-size:.95rem;line-height:1.35;color:var(--soft)}
.next3 li+li{border-left:1px solid var(--hair);padding-left:1rem}
.next3 b{font:800 1.15rem/1 var(--font);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:520px){.next3{grid-template-columns:minmax(0,1fr)}.next3 li{grid-template-columns:2.2rem minmax(0,1fr);align-items:baseline;padding:.6rem 0}.next3 li+li{border-left:0;border-top:1px solid var(--hair);padding-left:0}}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
@media (max-width:620px){.row2{grid-template-columns:minmax(0,1fr)}}
.field{display:grid;gap:.5rem;min-width:0}
.field label{font:600 var(--t-label)/1.5 var(--font);letter-spacing:.12em;text-transform:uppercase}
.field .opt-l{color:var(--mute);letter-spacing:.1em;margin-left:.4rem}
.field input,.field textarea{font:500 1.08rem/1.45 var(--font);color:var(--ink);background:var(--paper);border:1.5px solid var(--ink);border-radius:0;padding:.95rem 1rem;width:100%;margin:0;-webkit-appearance:none;appearance:none}
.field textarea{min-height:12rem;resize:vertical;display:block}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.field [aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px var(--ink)}
.field .err{font:700 .94rem/1.4 var(--font);padding-left:1.5rem;position:relative}
.field .err::before{content:"";position:absolute;left:0;top:.62em;width:.9rem;height:2px;background:currentColor}
.field .hint{font-size:.94rem;line-height:1.5;color:var(--mute)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-send{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem}
.form-send .btn[disabled]{opacity:.55;cursor:default}
.form-note{font-size:.92rem;line-height:1.5;color:var(--mute);max-width:44ch;flex:1 1 18rem}
.form-status{background:var(--ink);color:var(--on);padding:1.4rem 1.5rem;display:grid;gap:.5rem}
.form-status strong{font:800 1.35rem/1.15 var(--font);letter-spacing:-.025em}
.form-status p{color:var(--on-soft);max-width:60ch}
.form-status.warn{background:var(--paper);color:var(--ink);border:1.5px solid var(--ink)}
.form-status.warn p{color:var(--soft)}
.kv.stack{grid-template-columns:minmax(0,1fr)}
.kv.stack dt{padding-bottom:0;line-height:1.6}
.kv.stack dd{border-top:0;padding-top:.2rem}
.copyline.small-line .val{font-size:clamp(1.1rem,1.8vw,1.35rem);letter-spacing:-.02em}
.copyline.small-line{gap:.5rem .8rem}
.copyline.small-line .copy{padding:.5rem .7rem}
.copyline a.val{text-decoration:none}
.copyline a.val:hover{text-decoration:underline;text-underline-offset:.18em}
.kv a,.article-side a{text-decoration:none}
.kv a:hover,.article-side a:hover{text-decoration:underline;text-underline-offset:.18em}
.toc{display:grid;gap:.5rem;padding-top:.25rem}
.toc a{font:700 .98rem/1.35 var(--font);text-decoration:none;border-bottom:1px solid var(--hair);padding-bottom:.5rem}
.toc a:hover{border-bottom-color:var(--ink)}
.foot-legal a{color:inherit}

/* jump links under a page opening */
.jump{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;padding-block:1.4rem;border-bottom:1.5px solid var(--ink);font:700 .98rem/1.3 var(--font)}
.jump a{text-decoration:none;padding:.35rem 0;border-bottom:1.5px solid transparent}
.jump a:hover{border-bottom-color:currentColor}
.jump .jump-alt{margin-left:auto;font-weight:500;color:var(--soft);border-bottom-color:var(--hair)}
@media (max-width:900px){.jump .jump-alt{margin-left:0;flex-basis:100%}}
@media (max-width:620px){.jump{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);gap:.5rem 1.4rem;-webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent)}.jump::-webkit-scrollbar{display:none}.jump a{white-space:nowrap;flex:none;padding:.6rem 0}.jump .jump-alt{flex-basis:auto;padding-right:2.5rem}}
h2.kicker{margin:0}
.carried{background:var(--wash);border-left:3px solid var(--ink);padding:.8rem 1rem;font-size:.96rem;line-height:1.5}
.carried:focus{outline:none}

/* text over a photograph on a narrow screen: the shade runs top to bottom, since the text spans the width */
@media (max-width:760px){
  .phero-scrim{background:linear-gradient(180deg,rgba(12,12,12,.6) 0%,rgba(12,12,12,.46) 35%,rgba(12,12,12,.82) 100%)}
  #p-aviation .phero-scrim,#p-briefing-part-is .phero-scrim{background:linear-gradient(180deg,rgba(12,12,12,.66) 0%,rgba(12,12,12,.72) 30%,rgba(12,12,12,.88) 100%)}
  #p-aviation .phero-img,#p-briefing-part-is .phero-img{object-position:70% 50%!important}
  .ai-tag{bottom:.6rem;font-size:.58rem}
}

/* the write button that follows the reader on a phone */
.fab{display:none}
@media (max-width:760px){
  .fab{display:flex;position:fixed;z-index:35;left:var(--gutter);right:var(--gutter);bottom:calc(12px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:space-between;gap:.7rem;font:700 1rem/1 var(--font);text-decoration:none;padding:1.05rem 1.25rem;background:var(--ink);color:var(--paper);border:1.5px solid var(--paper);box-shadow:0 6px 24px rgba(0,0,0,.22);transform:translate3d(0,140%,0);transition:transform .35s cubic-bezier(.2,.7,.2,1);visibility:hidden}
  .fab.on{transform:none;visibility:visible}
  .fab:not(.on){transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s .35s}
}

/* ---------- print: the text, in black on white ---------- */
@media print{
  .top,.skip,.fab,.journey,.closing,.foot-top,.back,.jump,.btn-row,.more-row,.toc,.ai-tag,.strip,.cv-pic,.b-pic,.cv-tick,.cov-foot .btn,.contact-grid .form,.next3{display:none!important}
  html,body{background:#fff}
  .page{animation:none!important}
  .phero{min-height:0!important;background:none!important;color:#000!important;display:block}
  .phero-img,.phero-scrim{display:none!important}
  .phero-in{padding-block:0 1rem!important}
  .phero-in>*{animation:none!important}
  .phero .kicker,.phero .lede{color:#000!important}
  .em,.ol,.hero-h .b{color:inherit!important;-webkit-text-stroke:0!important}
  .box{background:none!important;color:#000!important;border:1.5px solid #000}
  .box ol li{border-color:#ccc}
  .band,.cost{background:none!important;color:#000!important}
  .cost-grid>div{border-color:#000}.cost-grid dd,.cost-note,.cost .kicker{color:#000!important}
  .band .lede,.band .steps p,.band .kicker,.band .steps .when{color:#000!important}
  .site-footer{background:none!important;color:#000!important}
  .foot-legal{color:#000!important;border-color:#ccc}
  .sec{padding-block:1.5rem;break-inside:auto}
  .article-body a[href^="http"]::after{content:" (" attr(href) ")";font-size:.82em;word-break:break-all}
  h1,h2,h3,h4{break-after:avoid}
  .item,.card,.pt,.tl>li,tr{break-inside:avoid}
  .cov,.covs,.cv[data-m],.cv-body,.pts,.mo{display:block!important}
  .mo>div,.pt{margin-bottom:.8rem}
  .cv-in{visibility:visible!important;overflow:visible;min-height:auto!important}
  .cv-else{display:block;padding-left:0}
  .route{display:block!important;border:0;padding:0}
  .route .pick{border:0;padding:0;min-height:0;background:none;font-size:1rem}
  .route-arr,.route-hint,[data-ask]{display:none!important}
  .cv-body{grid-template-rows:1fr!important}
  .cv-x{display:none}
  .print-head{display:block!important;font:700 .95rem/1.4 var(--font);border-bottom:1.5px solid #000;padding-bottom:.5rem;margin-bottom:1rem}
  .grid3{display:block!important;border-top:0}
  .grid3 .card{border-left:0!important;padding:.7rem 0!important;border-top:1px solid #ccc;break-inside:avoid}
  .mo dt,.pts-h,.kicker,.tag{break-after:avoid}
  .mo>div,.box,.cost-grid>div{break-inside:avoid}
  .cov-head .lede{display:none}
  .route{margin:.5rem 0!important}
  #cov-lead{margin:.4rem 0 1.2rem!important}
  .kicker.line::before{display:none}
}

/* running text is justified and hyphenated; headings, labels, side notes and anything in a narrow column stay ragged */
.prose p,.article-body p,.item p,.lede,.mo-page dd,.sitd-l dd,.sitd-any,.sitd-note,.pt p,.rules>li,.cv-d,.blist .b-d,.b-sum,.pts-none,.contact-note,.closing p,.page-head .lede{text-align:justify;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3;text-wrap:pretty}
.article-side dd,.sec-k p,.small,.kicker,.lede.narrow,.cov-notes p,.beat p,.caption,figcaption,.foot p,.foot dd,.site-footer p,.toc a,.btn,.more,.nav a,.tag{text-align:left;hyphens:manual;-webkit-hyphens:manual}
@media (max-width:1100px){.mo-page dd{text-align:left}}
@media (max-width:700px){.lede,.page-head .lede,.closing p{text-align:left}}
@media (max-width:480px){.sitd-l dd,.cv-d{text-align:left}}

/* arrival: once the script is running (html.rv), rows, cells and list entries rise into place as they come into view */
html.rv [data-rv]{opacity:0;transform:translate3d(0,10px,0);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms)}
html.rv [data-rv].in{opacity:1;transform:none}
html.rv .sec-k .kicker::before,html.rv .kicker.line::before{transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) .15s}
html.rv .sec-k.in .kicker::before,html.rv .kicker.line.in::before{transform:scaleX(1)}
picture{display:contents}
@media (prefers-reduced-motion: reduce){html.rv [data-rv]{opacity:1;transform:none;transition:none}html.rv .sec-k .kicker::before,html.rv .kicker.line::before{transform:none;transition:none}.cv-pic,.blist .b-pic{transition:none}}
@media print{html.rv [data-rv]{opacity:1!important;transform:none!important}html.rv .sec-k .kicker::before,html.rv .kicker.line::before{transform:none!important}}
