/* Inter, self-hosted (no third-party requests). Variable: weight 200-500, optical size 14-32. */
@font-face{font-family:"Inter";font-style:normal;font-weight:200 500;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:200 500;font-display:swap;src:url(../fonts/inter-latin.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* =====================================================================
   WOLF X GROUP — shared styles
   Concept: Aperture. Photography is revealed through openings that widen,
   close and travel. Porcelain daylight carries the editorial pages; inky
   navy carries the cinematic chapters. Champagne is the only metal.
   ===================================================================== */
:root{
  --ink:#081D32; --ink-2:#11294A; --navy:#11294A; --porcelain:#E4E8EC; --paper:#F4F5F6; --bone:#E4E8EC;
  --graph:#081D32; --slate:#667688; --steel:#93A0AF; --mist:#667688; --champ:#B49A6C; --champ-2:#756446;
  --bg:#E4E8EC; --fg:#081D32; --fg-2:#516275; --line:rgba(8,29,50,.14);
  --nf:#F4F5F6; --nx:#93A0AF; --nbg:#081D32;
  --f:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1); --ease-io:cubic-bezier(.77,0,.18,1);
  --gl:max(clamp(16px,4.4vw,80px),env(safe-area-inset-left,0px));
  --gr:max(clamp(16px,4.4vw,80px),env(safe-area-inset-right,0px));
  --t-display:clamp(48px,8.4vw,168px);
  --t-hero:clamp(46px,6.4vw,124px);
  --t-h1:clamp(42px,6vw,112px);
  --t-h2:clamp(32px,4.2vw,76px);
  --t-h3:clamp(24px,2.2vw,36px);
  --t-lead:clamp(17px,1.3vw,20px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;font-feature-settings:"ss01","cv11"}
h1,h2,h3,h4,p,blockquote,figure,dl,dd,ol,ul{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img,svg,video{display:block;max-width:100%}
img{height:auto}
:focus-visible{outline:1px solid var(--champ);outline-offset:4px;border-radius:2px}
::selection{background:var(--champ);color:var(--ink)}
.wrap{padding-left:var(--gl);padding-right:var(--gr)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* Tones. Sections paint themselves; the motion layer may override per section. */
[data-tone=ink]{--fg:#F4F5F6;--fg-2:#93A0AF;--line:rgba(244,245,246,.15);background:var(--ink);color:var(--fg);color-scheme:dark}
[data-tone=navy]{--fg:#F4F5F6;--fg-2:#93A0AF;--line:rgba(244,245,246,.15);background:var(--navy);color:var(--fg);color-scheme:dark}
[data-tone=porcelain]{--fg:#081D32;--fg-2:#516275;--line:rgba(8,29,50,.14);background:var(--porcelain);color:var(--fg)}
[data-tone=paper]{--fg:#081D32;--fg-2:#516275;--line:rgba(8,29,50,.13);background:var(--paper);color:var(--fg)}
section,footer{position:relative}

/* ---------- Type ---------- */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.display{font-size:var(--t-display);font-weight:200;letter-spacing:-.055em;line-height:.9}
.h1{font-size:var(--t-h1);font-weight:200;letter-spacing:-.05em;line-height:.94;text-wrap:balance}
.h2{font-size:var(--t-h2);font-weight:300;letter-spacing:-.04em;line-height:.98;text-wrap:balance}
.h3{font-size:var(--t-h3);font-weight:300;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
.lead{font-size:var(--t-lead);line-height:1.55;color:var(--fg-2);max-width:38ch}
.body{color:var(--fg-2);max-width:62ch}
.note{font-size:14px;color:var(--fg-2);letter-spacing:.01em}
.label{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.tbc{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 10px;border:1px dashed color-mix(in srgb,var(--fg) 34%,transparent);border-radius:999px;color:var(--fg-2);white-space:nowrap}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em .02em .26em;margin:-.04em -.02em -.26em}
.w>i{display:inline-block;font-style:normal;will-change:transform}
.ln{display:block;overflow:hidden;padding:.04em .04em .28em;margin:-.04em -.04em -.28em}
.ln>span{display:block}

/* ---------- Monogram ---------- */
.mark{height:auto;color:currentColor}

/* ---------- Buttons & links ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;height:54px;padding:0 26px;border-radius:999px;font-size:14px;font-weight:500;
  letter-spacing:.02em;overflow:hidden;isolation:isolate;white-space:nowrap;transition:color .5s var(--ease)}
.btn .bt{position:relative;display:block;overflow:hidden;height:1.3em;line-height:1.3em}
.btn .bt span{display:block;position:relative;transition:transform .55s var(--ease)}
.btn .bt span::after{content:attr(data-t);position:absolute;left:0;top:100%}
.btn:hover .bt span,.btn:focus-visible .bt span{transform:translateY(-100%)}
.btn .arr{width:16px;height:16px;flex:none;transition:transform .55s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-solid{background:var(--fg);color:var(--on,var(--porcelain))}
[data-tone=ink] .btn-solid,[data-tone=navy] .btn-solid,.on-dark .btn-solid{--on:var(--ink)}
.btn-line{border:1px solid color-mix(in srgb,var(--fg) 32%,transparent)}
.btn-line::before{content:"";position:absolute;inset:0;background:var(--fg);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1;border-radius:inherit}
.btn-line:hover{color:var(--porcelain)}
[data-tone=ink] .btn-line:hover,[data-tone=navy] .btn-line:hover,.on-dark .btn-line:hover{color:var(--ink)}
.btn-line:hover::before{transform:translateY(0)}
.ul{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease);padding-bottom:2px}
.ul:hover,.ul:focus-visible{background-size:100% 1px}
.more{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500;letter-spacing:.02em}
.more i{display:block;width:28px;height:1px;background:currentColor;transition:width .6s var(--ease)}
.more:hover i{width:52px}

/* ---------- Photographs ---------- */
.ph{position:relative;overflow:hidden;background:var(--ink-2)}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph.light{background:var(--bone)}
.grain{position:absolute;inset:-50%;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.cap{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);margin-top:12px;display:flex;justify-content:space-between;gap:16px}

/* ---------- Loader & curtain ---------- */
.loader{position:fixed;inset:0;z-index:100;background:var(--porcelain);color:#081D32;overflow:hidden}
.loader::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 22% 30%,#F4F5F6,rgba(255,255,255,0) 70%);pointer-events:none}
.ld-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ld-svg .ld-l{stroke:#081D32;stroke-width:1;opacity:.45;vector-effect:non-scaling-stroke}
.ld-svg .ld-o{fill:none;stroke:#081D32;stroke-width:1;vector-effect:non-scaling-stroke}
.ld-svg .ld-s{stroke:#081D32;stroke-width:1;vector-effect:non-scaling-stroke}
.ld-dark{position:absolute;inset:0;background:var(--ink);color:#F4F5F6;clip-path:polygon(0 0,0 0,0 0)}
.ld-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 75% 40%,rgba(17,41,74,.55),rgba(8,29,50,0) 70%)}
.ld-dark .ld-l{stroke:#F4F5F6;opacity:.25}
.ld-word{position:absolute;right:clamp(24px,8vw,140px);bottom:clamp(60px,16vh,170px);width:clamp(180px,22vw,340px);height:auto;color:#F4F5F6;--x:#93A0AF;opacity:0}
.ld-tag{position:absolute;left:var(--gl);bottom:clamp(60px,16vh,170px);font-size:clamp(24px,2.6vw,40px);font-weight:200;letter-spacing:-.035em;line-height:1.08;opacity:0}
.ld-meta{position:absolute;left:var(--gl);right:var(--gr);top:calc(28px + env(safe-area-inset-top,0px));display:flex;justify-content:space-between;gap:16px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#516275;opacity:0}
@media (max-width:700px){.ld-meta span:last-child{display:none}.ld-word{right:var(--gr);bottom:14vh;width:170px}.ld-tag{bottom:14vh;font-size:22px}}
.curtain{position:fixed;inset:0;z-index:95;background:var(--ink);pointer-events:none;clip-path:inset(100% 0% 0% 0%);display:grid;place-items:center;color:var(--porcelain)}
.curtain .mark{width:72px;opacity:.9;--x:var(--steel)}
.curtain.cover{clip-path:inset(0% 0% 0% 0%)}

/* ---------- Nav ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--nbg)}
.nav{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;isolation:isolate;display:flex;align-items:center;gap:20px;
  padding:20px var(--gr) 20px var(--gl);color:var(--nf);transition:transform .7s var(--ease)}
.nav::before{content:"";position:absolute;inset:0;background:var(--nbg);opacity:0;transition:opacity .6s var(--ease);z-index:-1}
.nav.solid::before{opacity:.88}
.nav.solid{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nav.away{transform:translateY(-110%)}
.nav-brand{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:500;margin-right:auto}
.nav-brand .lockup{display:block;height:40px;width:auto;--x:var(--nx)}
@media (max-width:600px){.nav-brand .lockup{height:31px}}
.nav-links{display:flex;gap:2px}
.nav-links a{position:relative;font-size:13px;font-weight:500;letter-spacing:.01em;padding:8px 11px;opacity:.7;transition:opacity .4s var(--ease)}
.nav-links a::after{content:"";position:absolute;left:11px;right:11px;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current=page]{opacity:1}
.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.nav .btn{height:42px;padding:0 20px;color:var(--nf);border:1px solid color-mix(in srgb,var(--nf) 34%,transparent)}
.nav .btn::before{background:var(--nf)}
.nav .btn:hover{color:var(--nbg)}
.nav-menu{display:none;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:10px 0}
@media (max-width:1180px){.nav-links,.nav>.btn{display:none}.nav-menu{display:block}}

.menu{position:fixed;inset:0;z-index:70;background:var(--ink);color:var(--porcelain);overflow:auto;
  padding:calc(100px + env(safe-area-inset-top,0px)) var(--gr) calc(32px + env(safe-area-inset-bottom,0px)) var(--gl);display:flex;flex-direction:column;gap:6px}
.menu .mi{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid rgba(244,245,246,.12);padding:14px 0}
.menu .mi b{display:block;overflow:hidden;font-size:clamp(34px,8vw,60px);font-weight:200;letter-spacing:-.035em;line-height:1.08}
.menu .mi b span{display:block}
.menu .mi small{font-size:13px;color:var(--steel);margin-top:4px}
.menu .mi[aria-current=page] b{color:var(--champ)}
.menu .m-foot{margin-top:auto;padding-top:28px;font-size:13px;color:var(--steel)}
.menu-close{position:absolute;top:calc(26px + env(safe-area-inset-top,0px));right:var(--gr);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Page heads (inner pages) ---------- */
.phead{padding-block:calc(160px + env(safe-area-inset-top,0px)) clamp(64px,8vw,120px)}
.phead .h1{margin-top:28px;max-width:14ch}
.phead .lead{margin-top:32px}
.phead-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.phead-grid>div:first-child{grid-column:1/span 8}
.phead-grid>.lead{grid-column:9/span 4;margin:0}
@media (max-width:900px){.phead-grid>div:first-child,.phead-grid>.lead{grid-column:1/-1}}

/* ---------- Footer ---------- */
.foot{padding-block:clamp(100px,12vw,170px) calc(28px + env(safe-area-inset-bottom,0px));overflow:hidden}
.ft-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.ft-line{grid-column:1/span 5;font-size:clamp(30px,3.4vw,56px);font-weight:200;letter-spacing:-.04em;line-height:1.04}
.ft-nav{grid-column:7/span 6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ft-nav h3{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);margin-bottom:16px}
.ft-nav ul{display:grid;gap:8px;font-size:15px}
.ft-nav .p{color:var(--fg-2);font-style:italic}
.ft-sig{margin-top:clamp(72px,8vw,128px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px 40px;padding-top:clamp(32px,3.4vw,48px);border-top:1px solid var(--line);position:relative}
.ft-sig::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--champ);transform:scaleX(var(--ft-line,1));transform-origin:left;opacity:.55}
.ft-lock{display:flex;align-items:center;gap:clamp(18px,2vw,28px)}
.ft-mark{display:block;width:clamp(240px,24vw,380px);overflow:hidden;padding-bottom:1px}
.ft-mark .lockup{display:block;width:100%;height:auto;color:#F4F5F6;--x:#93A0AF}
.ft-word{display:grid;gap:4px;padding-left:clamp(18px,2vw,28px);border-left:1px solid var(--line)}
.ft-word b{font-size:clamp(22px,1.9vw,30px);font-weight:300;letter-spacing:-.025em;line-height:1}
.ft-word small{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2)}
.ft-pill{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2)}
.ft-pill i{width:4px;height:4px;border-radius:50%;background:var(--champ);opacity:.8}
@media (max-width:700px){.ft-pill{gap:8px 12px}}

/* ---------- Legal pages ---------- */
.legal-head{padding-bottom:clamp(40px,5vw,72px)}
.legal-head .h1{margin-top:22px}
.legal-head .lead{margin-top:22px;max-width:56ch}
.legal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-bottom:clamp(100px,11vw,170px);align-items:start}
.lg-toc{grid-column:1/span 3;position:sticky;top:calc(110px + env(safe-area-inset-top,0px));display:grid;gap:2px;border-top:1px solid var(--line);padding-top:16px}
.lg-toc a{font-size:14px;color:var(--fg-2);padding:6px 0;transition:color .3s var(--ease)}
.lg-toc a:hover{color:var(--fg)}
.lg-body{grid-column:5/span 7;max-width:72ch;font-size:16px;line-height:1.7}
.lg-body h2{font-size:clamp(22px,1.8vw,28px);font-weight:300;letter-spacing:-.02em;line-height:1.2;margin:56px 0 16px;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:110px}
.lg-body h2:first-child{margin-top:0}
.lg-body p{color:var(--fg-2);margin-bottom:14px}
.lg-body a.ul{color:var(--fg)}
.lg-ul{display:grid;gap:10px;margin-bottom:14px}
.lg-ul li{position:relative;padding-left:22px;color:var(--fg-2)}
.lg-ul li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--champ-2)}
.lg-dl{display:grid;grid-template-columns:200px minmax(0,1fr);border-top:1px solid var(--line);margin-bottom:8px}
.lg-dl dt,.lg-dl dd{padding:12px 0;border-bottom:1px solid var(--line)}
.lg-dl dt{color:var(--fg-2);font-size:14px}
.lg-dl small{color:var(--fg-2);font-size:13px}
.req{display:inline-block;background:color-mix(in srgb,var(--champ) 26%,transparent);color:var(--fg);font-size:13px;font-weight:500;padding:1px 8px;border-radius:2px}
.lg-date{margin-top:40px}
@media (max-width:900px){.lg-toc{display:none}.lg-body{grid-column:1/-1}.lg-dl{grid-template-columns:1fr}.lg-dl dt{border-bottom:0;padding-bottom:0}}
.ct-pp{margin-top:14px}
.m-foot span{display:block;margin-top:8px;font-size:13px;opacity:.7}
.ft-base{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:13px;color:var(--fg-2)}
.ft-base nav{display:flex;gap:24px;flex-wrap:wrap}
@media (max-width:900px){.ft-line,.ft-nav{grid-column:1/-1}.ft-nav{grid-template-columns:1fr 1fr}}

/* ---------- CTA band ---------- */
.band{padding-block:clamp(110px,12vw,180px)}
.band-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.band-grid .h2{grid-column:1/span 7}
.band-grid .band-side{grid-column:9/span 4;display:grid;gap:22px}
@media (max-width:900px){.band-grid .h2,.band-grid .band-side{grid-column:1/-1}}

/* ---------- Drawer ---------- */
.drawer{position:fixed;inset:0;z-index:80}
.dr-scrim{position:absolute;inset:0;background:rgba(8,29,50,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.dr-panel{position:absolute;top:0;right:0;bottom:0;width:min(600px,100%);background:var(--paper);color:var(--graph);--fg:#081D32;--fg-2:#516275;--line:rgba(8,29,50,.14);
  overflow:auto;display:flex;flex-direction:column}
.dr-panel .ph{aspect-ratio:16/10;flex:none}
.dr-body{padding:32px var(--gr) calc(40px + env(safe-area-inset-bottom,0px)) 40px;display:flex;flex-direction:column;gap:20px}
.dr-body h3,.dr-title{font-size:clamp(38px,4vw,58px);font-weight:200;letter-spacing:-.045em;line-height:1}
.dr-body dl{border-top:1px solid var(--line)}
.dr-body dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.dr-body dt{color:var(--fg-2)}
.dr-close{position:absolute;top:calc(18px + env(safe-area-inset-top,0px));right:18px;z-index:2;height:40px;padding:0 16px;border-radius:999px;background:var(--paper);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:520px){.dr-body{padding-left:var(--gl)}.dr-body dl div{grid-template-columns:1fr;gap:4px}}

/* ---------- Forms ---------- */
.fld{position:relative;border-bottom:1px solid var(--line)}
.fld::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.fld:focus-within::after{transform:scaleX(1)}
.fld input,.fld textarea{width:100%;background:transparent;border:0;outline:0;font:inherit;font-size:20px;font-weight:300;letter-spacing:-.01em;color:var(--fg);padding:34px 0 14px}
.fld textarea{min-height:150px;resize:vertical;line-height:1.5}
.fld label{position:absolute;left:0;top:34px;font-size:20px;font-weight:300;color:var(--fg-2);pointer-events:none;transform-origin:left top;transition:transform .5s var(--ease),color .4s}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{transform:translateY(-24px) scale(.6);color:var(--fg)}
.fld.bad{border-color:#9b4a3f}
.fld .err{display:block;font-size:12px;color:#9b4a3f;padding-bottom:6px}
.chips{border:0;margin:0;padding:6px 0 12px;min-width:0}
.chips legend{font-size:13px;color:var(--fg-2);margin-bottom:14px;padding:0}
.chips div{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-size:14px;cursor:pointer;transition:background .4s var(--ease),color .4s,border-color .4s}
.chips label:hover{border-color:color-mix(in srgb,var(--fg) 45%,transparent)}
.chips input:checked+label{background:var(--fg);color:var(--porcelain);border-color:var(--fg)}
.chips input:focus-visible+label{outline:1px solid var(--champ);outline-offset:3px}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition-duration:.01ms!important;animation:none!important}}

/* ---------- Asia–Europe route: explanatory points (home + Asia–Europe page) ---------- */
.mg-path{position:absolute;left:6%;width:88%;top:16%;height:12%;pointer-events:none}
.mg-pt{position:absolute;width:0;height:0}
.mg-pt i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--champ);box-shadow:0 0 0 5px rgba(180,154,108,.16)}
.mg-pt em{position:absolute;left:0;bottom:16px;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#F4F5F6;text-shadow:0 1px 12px rgba(8,29,50,.6)}
.mg-km{position:absolute;transform:translate(-50%,16px);white-space:nowrap;font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--champ);font-variant-numeric:tabular-nums}
.mg-dist{color:var(--champ)!important}
.mg-steps{display:none;counter-reset:s;gap:6px}
.mg-steps li{counter-increment:s;display:flex;gap:12px;font-size:14px;font-weight:500;color:#F4F5F6}
.mg-steps li::before{content:counter(s,decimal-leading-zero);color:var(--champ);font-size:12px;letter-spacing:.1em;padding-top:2px}
@media (max-width:900px){.mg-path{display:none}.mg-steps{display:grid}}
@media (min-width:901px){.mg-dist{display:none}}

/* ---------- Social links ---------- */
.soc{display:flex;gap:10px;align-items:center}
.soc a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--fg);transition:background .45s var(--ease),color .45s,border-color .45s,transform .5s var(--ease)}
.soc a:hover,.soc a:focus-visible{background:var(--fg);color:var(--bg,#081D32);border-color:var(--fg);transform:translateY(-2px)}
.soc svg{width:17px;height:17px}
.foot .soc a:hover{color:#081D32}
.ct-soc{margin-top:28px}
.ct-soc a:hover{color:var(--porcelain)}
.m-soc{margin-top:auto;padding-top:24px}
.m-soc a{border-color:rgba(244,245,246,.25);color:#F4F5F6}
.m-soc a:hover{color:#081D32;background:#F4F5F6}

/* ---------- Company logos (official files only) ---------- */
.lg{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}
.lg img{display:block;position:static!important;inset:auto!important;width:auto!important;height:1em!important;object-fit:contain;transform:none!important;transition:none!important}
.lg-m img{height:1.1em!important;border-radius:22%}
.dr-logo{font-size:38px;margin-bottom:22px;min-height:0}
.dr-logo:empty{display:none}

/* ---------- Launch mode helpers ---------- */
.ix-st i{font-style:normal;opacity:.5}
#drNote[hidden]{display:none}

/* ---------- Shared: questions (FAQ) ---------- */
.faq{padding-block:clamp(40px,5vw,80px) clamp(100px,11vw,160px)}
.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.faq-grid>.eyebrow{grid-column:1/span 3;align-self:start}
.faq-list{grid-column:5/span 8;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-size:clamp(19px,1.5vw,24px);font-weight:300;letter-spacing:-.015em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{flex:none;position:relative;width:14px;height:14px}
.faq-list summary i::before,.faq-list summary i::after{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.faq-list summary i::after{transform:rotate(90deg)}
.faq-list details[open] summary i::after{transform:rotate(0)}
.faq-list details p{padding:0 0 26px;max-width:62ch;color:var(--fg-2)}
@media (max-width:900px){.faq-grid>.eyebrow,.faq-list{grid-column:1/-1}}

@media (max-width:600px){body{font-size:16px}}

/* ---------- languages ---------- */
.lang{position:relative;font-size:13px;font-weight:500}
.lang summary{list-style:none;display:flex;align-items:center;gap:7px;height:42px;padding:0 6px;cursor:pointer;opacity:.75;transition:opacity .3s var(--ease);letter-spacing:.06em}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover,.lang[open] summary{opacity:1}
.lang summary svg{width:15px;height:15px;stroke-width:1.2}
.lang ul{position:absolute;right:0;top:calc(100% + 8px);margin:0;padding:8px;list-style:none;min-width:168px;background:var(--nbg);color:var(--nf);
  border:1px solid color-mix(in srgb,var(--nf) 16%,transparent);border-radius:14px;box-shadow:0 24px 60px -24px rgba(0,0,0,.45)}
.lang li a{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:8px;opacity:.72;transition:opacity .25s,background .25s}
.lang li a:hover{opacity:1;background:color-mix(in srgb,var(--nf) 8%,transparent)}
.lang li a[aria-current]{opacity:1}
.lang li a[aria-current]::after{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
@media (max-width:1180px){.nav>.lang{display:none}}
.m-lang{display:flex;gap:6px;flex-wrap:wrap;margin:26px 0 0;padding:0;list-style:none}
.m-lang a{display:block;padding:8px 13px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:99px;font-size:12px;font-weight:500;letter-spacing:.08em;opacity:.75}
.m-lang a[aria-current]{color:inherit;background:color-mix(in srgb,currentColor 14%,transparent)}

/* German, Dutch: long compounds in big type */
html:is([lang=de],[lang=nl]) :is(h1,h2,h3,.h1,.h2,.h3,.hl,.display){hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media (max-width:600px){html:is([lang=de],[lang=nl],[lang=es]) p{hyphens:auto;-webkit-hyphens:auto}}
/* Chinese: Inter for Latin, the reader's system Chinese face for Han characters (nothing is downloaded) */
html[lang=zh]{--f:"Inter","PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",system-ui,sans-serif}
html[lang=zh] body{line-height:1.8}
html[lang=zh] :is(h1,h2,h3,.h1,.h2,.h3,.hl,.display,.lead,.label,.note){letter-spacing:0!important}
html[lang=zh] :is(h1,h2,.h1,.h2,.hl,.display){line-height:1.18}
html[lang=zh] .label{text-transform:none}
/* longer menu labels: tighten the header before it would wrap */
@media (min-width:1181px) and (max-width:1400px){.nav{gap:14px}.nav-links a{padding:8px 8px}.nav-links a::after{left:8px;right:8px}}
@media (max-width:1260px){html[lang=es] :is(.nav-links,.nav>.btn,.nav>.lang){display:none}html[lang=es] .nav-menu{display:block}}

/* ---------- briefings (Industry Mind articles) ---------- */
.brf-h{position:relative;min-height:78vh;min-height:78svh;display:grid;align-items:end;background:var(--ink);color:#F4F5F6;--fg-2:#93A0AF;overflow:hidden}
.brf-h .ph{position:absolute;inset:0;border-radius:0}
.brf-h .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.brf-h .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,29,50,.7),rgba(8,29,50,.15) 30%,rgba(8,29,50,.88) 82%,var(--ink))}
.brf-hin{position:relative;z-index:1;display:grid;gap:24px;padding-top:calc(150px + env(safe-area-inset-top,0px));padding-bottom:clamp(44px,5vw,72px)}
.brf-h h1{font-size:clamp(40px,5.2vw,96px);font-weight:200;letter-spacing:-.05em;line-height:1;max-width:18ch;text-wrap:balance}
.brf-h .lead{color:#C0C8D1;max-width:58ch}
.brf-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#93A0AF}
.brf-meta span+span::before{content:"·";margin-right:22px;color:var(--champ)}
.brf{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:clamp(80px,9vw,140px)}
.brf-side{grid-column:1/span 4;align-self:start;position:sticky;top:110px;display:grid;gap:12px}
.brf-key{background:var(--ink);color:#F4F5F6;border-radius:4px;padding:26px 26px 28px;display:grid;gap:14px}
.brf-key p.eyebrow{color:var(--champ)}
.brf-key dl{margin:0;display:grid;gap:0}
.brf-key dt{font-size:clamp(22px,1.8vw,30px);font-weight:200;letter-spacing:-.03em;padding-top:16px;border-top:1px solid rgba(244,245,246,.14);font-variant-numeric:tabular-nums}
.brf-key dt:first-child{border-top:0;padding-top:4px}
.brf-key dd{margin:6px 0 16px;color:#93A0AF;font-size:14px;line-height:1.5}
.brf-side .note{padding:0 4px}
.brf-body{grid-column:6/span 7;max-width:68ch}
.brf-body h2{font-size:clamp(24px,2.2vw,34px);font-weight:300;letter-spacing:-.03em;line-height:1.15;margin:56px 0 16px}
.brf-body h2:first-child{margin-top:0}
.brf-body p{color:var(--fg-2);margin:0 0 16px}
.brf-body p.brf-in{font-size:clamp(19px,1.5vw,23px);line-height:1.5;color:var(--fg);font-weight:300;letter-spacing:-.01em}
.brf-body ul,.brf-body ol{margin:0 0 16px;padding-left:1.2em;color:var(--fg-2)}
.brf-body li{margin:0 0 10px;padding-left:4px}
.brf-body li b{color:var(--fg);font-weight:500}
.brf-do{list-style:none;padding:0!important;counter-reset:d;border-top:1px solid var(--line)}
.brf-do li{counter-increment:d;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;margin:0;border-bottom:1px solid var(--line)}
.brf-do li::before{content:counter(d,decimal-leading-zero);font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--champ-2);padding-top:4px}
.brf-view{border-left:2px solid var(--champ-2);padding:4px 0 4px 20px;margin:28px 0}
.brf-view p{color:var(--fg)!important;margin:0}
.brf-view small{display:block;margin-top:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.brf-src{margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.brf-src h2{font-size:12px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;margin:0 0 14px!important;color:var(--fg-2)}
.brf-src ol{font-size:14px}
.brf-src a{word-break:break-word}
.brf-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:48px}
.brf-more a{display:grid;gap:8px;padding:22px 24px;border:1px solid var(--line);border-radius:4px;transition:border-color .4s,background .4s}
.brf-more a:hover{border-color:var(--fg);background:var(--paper)}
.brf-more small{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--champ-2)}
.brf-more span{font-size:17px;letter-spacing:-.01em}
@media (max-width:1000px){.brf-side{grid-column:1/-1;position:static}.brf-body{grid-column:1/-1}}
@media (max-width:600px){.brf-more{grid-template-columns:1fr}}
/* briefing list (Industry Mind and other pages) */
.bl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bl a{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--paper);transition:border-color .4s}
.bl a:hover{border-color:var(--fg)}
.bl .ph{aspect-ratio:16/10;border-radius:0}
.bl .ph img{transition:transform 1.2s var(--ease)}
.bl a:hover .ph img{transform:scale(1.04)}
.bl div.bl-t{padding:22px 24px 26px;display:grid;gap:10px;align-content:start}
.bl small{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--champ-2)}
.bl h3{font-size:clamp(20px,1.6vw,24px);font-weight:300;letter-spacing:-.02em;line-height:1.2}
.bl p{font-size:15px;color:var(--fg-2)}
@media (max-width:1000px){.bl{grid-template-columns:1fr}}
.brf-h .eyebrow{color:#C0C8D1}.brf-h .eyebrow a{color:#F4F5F6}
@media (max-width:700px){html:is([lang=de],[lang=nl],[lang=es]) main :is(h1,h2,h3,p,span,b,li,a){hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}}
main :is(.ivh-txt,.csh-txt,.csh-side,.lp-txt,.rc-head,.ivc-head)>*{min-width:0}main .ivh-txt{min-width:0}
@media (max-width:600px){.brf-meta span+span::before{content:none}.brf-meta{gap:6px 18px}}

/* ---------- photography: one consistent dark grade ----------
   Every photo sits slightly under Midnight; page heroes sit deeper so headlines always read. */
main .ph img:not(.lg img),main figure img:not(.lg img){filter:brightness(.8) saturate(.92)}
main>section:first-child img:not(.lg img){filter:brightness(.62) saturate(.9)}
main>section:first-child .ph::before,main>section:first-child>.ph::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(8,29,50,.28);pointer-events:none}
.pp-ph img{filter:brightness(.8) saturate(.85)!important}
