@font-face{font-family:"Commissioner";src:url("/assets/fonts/commissioner.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
:root{
  --bone:#E7E2D8; --bone-2:#DFD9CD; --fg:#12202E; --muted:#4A5562; --line:#C4BCAE;
  --ink:#0A1420; --ink-2:#101E2E; --ink-fg:#E9EEF3; --ink-muted:#9FB0C0; --ink-line:rgba(233,238,243,.16);
  --accent:#2C5C92; --ink-accent:#8DB5E3; --on-accent:#fff;
  --bg:var(--bone); --surface:var(--bone-2);
  --sans:"Commissioner","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --maxw:1440px; --gutter:clamp(20px,4vw,64px); --header-h:68px; --r:3px;
  --logo-light:block; --logo-dark:none; --tile:#F6F4F0; --tile-line:#D9D2C6;
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  box-sizing:border-box;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bone:#0A1420; --bone-2:#101E2E; --fg:#E9EEF3; --muted:#9FB0C0; --line:rgba(233,238,243,.14);
  --accent:#8DB5E3; --on-accent:#0A1420; --logo-light:none; --logo-dark:block; --tile:#E9E6E0; --tile-line:transparent; color-scheme:dark;}}
:root[data-theme="dark"]{
  --bone:#0A1420; --bone-2:#101E2E; --fg:#E9EEF3; --muted:#9FB0C0; --line:rgba(233,238,243,.14);
  --accent:#8DB5E3; --on-accent:#0A1420; --logo-light:none; --logo-dark:block; --tile:#E9E6E0; --tile-line:transparent; color-scheme:dark;}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.025em;line-height:1.04;text-wrap:balance}
p{margin:0;text-wrap:pretty}
button{font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ink{background:var(--ink);color:var(--ink-fg);color-scheme:dark}
.ink :focus-visible{outline-color:var(--ink-accent)}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:99;background:var(--ink-accent);color:var(--ink);padding:10px 14px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}


/* header */
.hdr{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;color:#E9EEF3;transition:background-color .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}
.hdr.is-stuck{background:rgba(10,20,32,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--ink-line)}
.hdr-in{display:flex;align-items:center;gap:clamp(10px,2vw,32px);height:var(--header-h)}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto;text-decoration:none;color:inherit}
.brand img{height:32px;width:auto}
.brand b{font-weight:600;font-size:16px;letter-spacing:.02em;white-space:nowrap}
.brand b span{font-weight:400;opacity:.62}
.nav{display:none;gap:clamp(14px,1.6vw,26px)}
.nav a{font-size:14.5px;color:rgba(233,238,243,.72);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover{color:#E9EEF3;border-bottom-color:var(--ink-accent)}
.iconbtn{display:inline-grid;place-items:center;width:38px;height:38px;border:0;background:none;color:rgba(233,238,243,.72);cursor:pointer;border-radius:var(--r)}
.iconbtn:hover{color:#fff;background:rgba(233,238,243,.09)}
.iconbtn svg{width:20px;height:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:var(--r);font:600 14.5px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.btn--fill{background:var(--accent);color:var(--on-accent)}
.btn--fill:hover{filter:brightness(1.12)}
.ink .btn--fill,.hdr .btn--fill,.hero .btn--fill,.page-hero .btn--fill,.sheet .btn--fill{background:var(--ink-accent);color:#0A1420}
.btn--line{border-color:currentColor;color:inherit;background:none}
.btn--line:hover{background:rgba(127,127,127,.12)}
.hdr .btn{min-height:38px;padding:0 15px;font-size:13.5px}
.hdr .btn--fill{display:none}
@media (min-width:1080px){.nav{display:flex}.hdr .btn--fill{display:inline-flex}.menubtn{display:none}}
@media (max-width:419px){.brand b span{display:none}}
.sheet{position:fixed;inset:calc(var(--header-h) + env(safe-area-inset-top,0px)) 0 0 0;z-index:45;background:var(--ink);color:var(--ink-fg);padding:26px var(--gutter);overflow:auto}
.sheet[hidden]{display:none}
.sheet nav a{display:block;padding:16px 0;border-bottom:1px solid var(--ink-line);font-size:26px;font-weight:500;letter-spacing:-.02em;text-decoration:none}
.sheet .btn{width:100%;margin-top:26px}

/* hero */
.hero{position:relative;min-height:clamp(540px,94svh,940px);display:flex;align-items:flex-end;background:var(--ink);color:var(--ink-fg);overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,32,.72) 0%,rgba(10,20,32,.12) 38%,rgba(10,20,32,.86) 100%)}
.hero-in{position:relative;padding-bottom:clamp(48px,7vh,96px);padding-top:calc(var(--header-h) + 40px)}
.hero h1{font-size:clamp(2.6rem,1.2rem + 5.6vw,5.6rem);max-width:15ch;font-weight:450}
.hero p{margin-top:24px;max-width:46ch;font-size:clamp(1.02rem,.96rem + .4vw,1.3rem);color:rgba(233,238,243,.82)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
@media (max-width:479px){.hero-cta .btn{flex:1 1 100%}}

/* capability blocks */
.caps{background:var(--ink);color:var(--ink-fg);padding-bottom:clamp(40px,6vw,88px)}
.caps-head{padding-block:clamp(56px,8vw,120px) clamp(28px,4vw,52px)}
.caps-head h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);max-width:20ch}
.caps-head p{margin-top:18px;max-width:52ch;color:var(--ink-muted)}
.cap{position:relative;margin-top:clamp(16px,2vw,28px)}
.cap-media{position:relative;height:clamp(300px,46vw,520px);overflow:hidden}
.cap-media img{width:100%;height:100%;object-fit:cover}
.cap-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,32,0) 18%,rgba(10,20,32,.45) 52%,rgba(10,20,32,.93) 100%),linear-gradient(90deg,rgba(10,20,32,.55) 0%,rgba(10,20,32,0) 62%)}
.cap-over{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 0 clamp(20px,3vw,36px)}
.cap-over h3{font-size:clamp(1.5rem,1.1rem + 1.8vw,2.5rem)}
.cap-over p{margin-top:10px;max-width:46ch;color:rgba(233,238,243,.82);font-size:clamp(.95rem,.92rem + .2vw,1.08rem)}
.cap-toggle{margin-top:18px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(233,238,243,.4);background:rgba(10,20,32,.35);color:#E9EEF3;padding:11px 17px;border-radius:var(--r);cursor:pointer;font-weight:600;font-size:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.cap-toggle:hover{background:rgba(233,238,243,.14)}
.cap-toggle i{width:11px;height:11px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s}
.cap[open] .cap-toggle i{transform:rotate(225deg) translate(-2px,-2px)}
.cap-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1);background:var(--ink-2)}
.cap[open] .cap-panel{grid-template-rows:1fr}
.cap-panel > div{overflow:hidden;min-height:0}
.cap-grid{display:grid;gap:26px 60px;padding-block:clamp(24px,3vw,40px)}
@media (min-width:760px){.cap-grid{grid-template-columns:1fr 1fr}}
.cap-grid h4{margin:0 0 12px;font-size:13.5px;font-weight:600;color:var(--ink-muted);letter-spacing:.01em}
.cap-grid ul{margin:0;padding:0;list-style:none}
.cap-grid li{position:relative;padding:10px 0 10px 20px;border-top:1px solid var(--ink-line);font-size:15.5px}
.cap-grid li::before{content:"";position:absolute;left:0;top:1.15em;width:7px;height:1.5px;background:var(--ink-accent)}
.cap-grid .out li::before{width:7px;height:7px;top:1em;background:none;border:1.5px solid var(--ink-accent);transform:rotate(45deg)}

/* route */
.route{background:var(--surface);padding:clamp(56px,8vw,120px) 0}
.route h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);max-width:18ch}
.route-lead{margin-top:18px;max-width:54ch;color:var(--muted)}
.picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.picker button{border:1px solid var(--line);background:none;color:var(--muted);padding:11px 16px;border-radius:999px;cursor:pointer;font-size:14.5px;font-weight:500;transition:.2s}
.picker button:hover{color:var(--fg);border-color:var(--fg)}
.picker button[aria-checked="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.rail-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 20px;margin-top:38px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rail-count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.rail-nav{display:flex;gap:8px}
.rail-nav button{width:40px;height:40px;border:1px solid var(--line);background:none;color:var(--fg);border-radius:var(--r);cursor:pointer;display:grid;place-items:center}
.rail-nav button:hover:not(:disabled){border-color:var(--fg)}
.rail-nav button:disabled{opacity:.35;cursor:default}
.rail-nav svg{width:16px;height:16px}
.rail{display:grid;gap:0;margin-top:0}
@media (min-width:860px){.rail{grid-auto-flow:column;grid-auto-columns:1fr}}
.stage{position:relative;border-bottom:1px solid var(--line);text-align:left;background:none;border-top:0;border-left:0;border-right:0;padding:18px 14px 18px 0;cursor:pointer;color:var(--muted);transition:color .2s}
@media (min-width:860px){.stage{border-bottom:2px solid var(--line);padding:18px 16px 16px 0}}
.stage:hover{color:var(--fg)}
.stage.is-on{color:var(--fg);border-bottom-color:var(--accent)}
.stage-n{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}
.stage-t{display:block;margin-top:6px;font-size:16px;font-weight:500;letter-spacing:-.01em;line-height:1.25}
.detail{display:grid;gap:26px 60px;padding:clamp(26px,3.4vw,44px) 0 0}
@media (min-width:860px){.detail{grid-template-columns:1.1fr .9fr}}
.detail h3{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem)}
.detail .what{margin-top:14px;color:var(--muted);font-size:1.05rem}
.detail .help{margin-top:16px}
.detail .help b{color:var(--accent)}
.out-card{border:1px solid var(--line);padding:22px;border-radius:var(--r);align-self:start;background:var(--bg)}
.out-card h4{margin:0;font-size:13px;font-weight:600;color:var(--muted)}
.out-card p{margin-top:8px;font-size:1.15rem;font-weight:500;letter-spacing:-.015em}
.summary{margin-top:clamp(32px,4vw,52px);padding-top:26px;border-top:1px solid var(--line);display:grid;gap:20px 40px}
@media (min-width:860px){.summary{grid-template-columns:1fr auto;align-items:center}}
.summary ol{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14.5px;color:var(--muted)}
.summary li{display:flex;gap:8px}
.summary li::after{content:"/";opacity:.45}
.summary li:last-child::after{content:""}
.summary h3{font-size:1.2rem}
.summary-act{display:flex;flex-wrap:wrap;gap:10px}
.note{margin-top:14px;font-size:13.5px;color:var(--muted)}

/* record */
.record{padding:clamp(56px,8vw,120px) 0}
.record-grid{display:grid;gap:clamp(30px,4vw,64px)}
@media (min-width:900px){.record-grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}}
.record h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem)}
.record .lead{margin-top:18px;color:var(--muted);max-width:44ch}
.ledger{margin:0;border-top:1px solid var(--line)}
.ledger div{display:flex;align-items:baseline;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.ledger dd{order:-1;margin:0;min-width:3.6em;font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem);font-weight:500;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums}
.ledger dt{font-size:15.5px}

/* cases */
.cases{padding:clamp(56px,8vw,120px) 0}
.cases h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem)}
.case-list{display:grid;gap:clamp(28px,3vw,40px);margin-top:clamp(30px,4vw,54px)}
@media (min-width:900px){.case-list{grid-template-columns:1fr 1fr}}
.case{display:flex;flex-direction:column;background:var(--ink);color:var(--ink-fg)}
.case img{width:100%;height:clamp(200px,26vw,300px);object-fit:cover}
.case-b{padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;flex:1}
.case-tag{font-size:13.5px;font-weight:600;color:var(--ink-accent)}
.case h3{margin-top:12px;font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem)}
.case p{margin-top:14px;color:var(--ink-muted);font-size:15.5px}
.case dl{display:flex;flex-wrap:wrap;gap:16px 28px;margin:auto 0 0;padding-top:24px}
.case dt{font-size:12.5px;color:var(--ink-muted)}
.case dd{margin:3px 0 0;font-size:15.5px;font-weight:500}
.partner{margin-top:clamp(28px,3vw,40px);border:1px solid var(--line);padding:clamp(20px,2.6vw,32px);display:grid;gap:16px 40px;align-items:center}
@media (min-width:900px){.partner{grid-template-columns:auto 1fr auto}}
.partner h3{font-size:1.4rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips li{border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-size:13.5px;white-space:nowrap}

/* clients + insights */
.clients{padding:clamp(48px,7vw,96px) 0;background:var(--surface)}
.clients h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem)}
.names{display:flex;flex-wrap:wrap;gap:4px 0;margin:26px 0 0;padding:0;list-style:none;color:var(--muted)}
.names li{font-size:clamp(1rem,.95rem + .35vw,1.25rem)}
.names li:not(:last-child)::after{content:"/";margin:0 .5em;opacity:.45}
.insight{padding-block:clamp(48px,7vw,96px);display:grid;gap:24px 60px;align-items:center}
@media (min-width:900px){.insight{grid-template-columns:1fr auto}}
.insight h2{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem)}
.insight p{margin-top:12px;color:var(--muted);max-width:56ch}

/* contact */
.contact{padding:clamp(56px,8vw,120px) 0}
.contact-grid{display:grid;gap:clamp(34px,5vw,72px)}
@media (min-width:960px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);max-width:16ch}
.contact .lead{margin-top:18px;color:var(--ink-muted);max-width:44ch}
.channels{margin:32px 0 0;border-top:1px solid var(--ink-line)}
.channels div{display:grid;grid-template-columns:8.5em 1fr;gap:12px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--ink-line)}
.channels dt{color:var(--ink-muted);font-size:14px}
.channels dd{margin:0;font-size:1.05rem}
.channels a{text-decoration-color:rgba(141,181,227,.5);text-underline-offset:4px}
@media (max-width:480px){.channels div{grid-template-columns:1fr;gap:2px}}
.form{border:1px solid var(--ink-line);padding:clamp(20px,3vw,32px);background:var(--ink-2)}
.form h3{font-size:1.4rem}
.two{display:grid;gap:0 14px}
@media (min-width:560px){.two{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:6px;margin-top:15px}
.field label{font-size:13.5px;color:var(--ink-muted)}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid rgba(233,238,243,.24);border-radius:var(--r);background:var(--ink);color:var(--ink-fg);font:400 16px/1.4 var(--sans)}
.field textarea{min-height:110px;resize:vertical}
.form .btn{width:100%;margin-top:20px}
.status{margin-top:12px;min-height:1.3em;font-size:13.5px;color:var(--ink-muted)}
.status.err{color:#F3B9B4}

footer.ft{padding:34px 0 42px;font-size:13.5px;color:var(--muted)}
.ft-in{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--fg)}
.ft-brand img{height:56px;width:auto}
.ft-brand .l--light{display:var(--logo-light)}
.ft-brand .l--dark{display:var(--logo-dark)}
.ft small{display:block;color:var(--muted)}
.ft ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}
.ft a{text-decoration:none}
.ft a:hover{text-decoration:underline}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.lang-root[hidden]{display:none}
/* language switch */
.lang{display:inline-flex;border:1px solid rgba(233,238,243,.28);border-radius:var(--r);overflow:hidden}
.lang a,.lang button{display:inline-grid;place-items:center;min-width:36px;height:32px;padding:0 8px;border:0;background:none;color:rgba(233,238,243,.72);font:600 12px/1 var(--sans);letter-spacing:.06em;text-decoration:none;cursor:pointer}
.lang a:hover,.lang button:hover{color:#fff}
.lang [aria-current="true"]{background:rgba(233,238,243,.14);color:#fff}
.sheet .lang{margin-top:24px}
.sheet .lang a,.sheet .lang button{height:40px;min-width:52px;font-size:13px}
/* SEKPY */
.member{margin-top:22px;display:flex;gap:12px;align-items:center;font-size:15px;color:var(--fg)}
.member::before{content:"";flex:none;width:9px;height:9px;border:1.5px solid var(--accent);transform:rotate(45deg)}
/* logo wall */
.clients .lead{margin-top:14px;color:var(--muted);max-width:56ch}
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:clamp(26px,3vw,40px) 0 0;padding:0;list-style:none}
.logos li{flex:0 0 calc((100% - 20px)/3);aspect-ratio:16/9;display:grid;place-items:center;background:var(--tile);border:1px solid var(--tile-line);border-radius:var(--r)}
@media (min-width:640px){.logos li{flex-basis:calc((100% - 30px)/4)}}
@media (min-width:1000px){.logos li{flex-basis:calc((100% - 50px)/6)}}
.logos img{max-width:74%;max-height:46%;width:auto;height:auto;object-fit:contain}
@media (hover:hover){
  .logos img{filter:grayscale(1) contrast(1.05);opacity:.78;transition:filter .3s,opacity .3s}
  .logos li:hover img{filter:none;opacity:1}
}
/* FAQ */
.faq{padding:clamp(56px,8vw,112px) 0}
.faq-grid{display:grid;gap:clamp(26px,4vw,64px)}
@media (min-width:900px){.faq-grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}}
.faq h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem)}
.faq .lead{margin-top:16px;color:var(--muted);max-width:40ch}
.faq .lead a{color:var(--accent);font-weight:600;text-underline-offset:3px}
.qa{border-top:1px solid var(--line)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 0;font-size:clamp(1.02rem,.98rem + .3vw,1.2rem);font-weight:500;letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-3px,-3px);transition:transform .3s}
.qa details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.qa details p{padding:0 0 22px;color:var(--muted);max-width:62ch}
/* secondary pages */
.page-hero{background:var(--ink);color:var(--ink-fg);padding:calc(var(--header-h) + clamp(48px,8vw,110px)) 0 clamp(48px,7vw,90px)}
.page-hero h1{font-size:clamp(2.2rem,1.3rem + 3.6vw,4rem);max-width:18ch}
.page-hero p{margin-top:20px;max-width:48ch;color:var(--ink-muted);font-size:1.1rem}
.page-hero .hero-cta{margin-top:30px}
.prose{padding-block:clamp(48px,7vw,96px);max-width:46em}
.prose h2{margin-top:40px;font-size:1.45rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose address{margin-top:12px;font-style:normal}
.prose a{color:var(--accent);text-underline-offset:3px}
.prose .meta{color:var(--muted);font-size:15px}
.hdr.is-solid{background:rgba(10,20,32,.92);border-bottom-color:var(--ink-line)}

/* mobile: stages become a swipeable strip so the detail stays close */
@media (max-width:859px){
  .rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
  .rail::-webkit-scrollbar{display:none}
  .stage{flex:0 0 min(70%,260px);scroll-snap-align:start;border-bottom:2px solid var(--line);padding:16px 18px 14px 0}
}
.logos img.sq{max-height:66%;max-width:52%}
@media (hover:hover){.logos img{filter:grayscale(1) contrast(1.1) brightness(.88)}}

/* memberships band: two equal plates, each logo on the ground it was designed for */
.mship{background:var(--bone);border-bottom:1px solid var(--line);padding:clamp(30px,4vw,52px) 0}
.mship-in{display:grid;gap:20px clamp(24px,4vw,64px)}
@media (min-width:880px){.mship-in{grid-template-columns:1fr 1fr}.mship h2{grid-column:1/-1}}
.mship h2{font-size:clamp(1.05rem,.98rem + .35vw,1.3rem);font-weight:600;letter-spacing:-.01em}
.mship-card{display:flex;align-items:center;gap:22px;margin:0}
.mship-tile{flex:none;width:clamp(180px,19vw,252px);aspect-ratio:2/1;display:grid;place-items:center;border-radius:8px;border:1px solid transparent}
.mship-tile--light{background:#FFFFFF;border-color:#D6CFC2}
.mship-tile--dark{background:#0F1C2C;box-shadow:inset 0 0 0 1px rgba(233,238,243,.06)}
.mship-tile img{width:auto;height:auto;max-width:86%;max-height:82%}
.mship-tile--light img{max-width:min(70%,186px);max-height:60%}
.mship-tile .mship-word{display:inline;margin:0;font-weight:700;font-size:1.3rem;letter-spacing:.06em;color:#12202E}
.mship-tile--dark .mship-word{color:#FFFFFF}
.mship-card p{margin:0}
.mship-card b{display:block;font-weight:600;font-size:15.5px;line-height:1.3}
.mship-card p span{display:block;margin-top:4px;color:var(--muted);font-size:14.5px;line-height:1.45}
@media (max-width:559px){
  .mship-card{flex-direction:column;align-items:stretch;gap:12px}
  .mship-tile{width:100%;max-width:340px}
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mship-tile--light{background:#F4F2EE;border-color:transparent}
  :root:not([data-theme="light"]) .mship-tile--dark{background:#15283D;box-shadow:inset 0 0 0 1px rgba(233,238,243,.14)}}
:root[data-theme="dark"] .mship-tile--light{background:#F4F2EE;border-color:transparent}
:root[data-theme="dark"] .mship-tile--dark{background:#15283D;box-shadow:inset 0 0 0 1px rgba(233,238,243,.14)}

/* ---------- live hero: radar sweep over the Aegean ---------- */
.hero-stage{position:absolute;inset:0}
.hero-stage.is-live{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
.sweep{display:none;position:absolute;left:60%;top:42%;width:95.6%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.hero-stage.is-live .sweep{display:block}
.sweep-beam{position:absolute;inset:0;border-radius:50%;transform:rotate(50deg);
  background:conic-gradient(from 0deg,rgba(141,181,227,0) 0deg,rgba(141,181,227,0) 285deg,rgba(141,181,227,.06) 322deg,rgba(141,181,227,.19) 352deg,rgba(231,226,216,.5) 359.4deg,rgba(141,181,227,0) 360deg);
  -webkit-mask:radial-gradient(closest-side,#000 0,#000 80%,transparent 100%);mask:radial-gradient(closest-side,#000 0,#000 80%,transparent 100%)}
.js-motion .sweep-beam{animation:sweep 10s linear infinite;will-change:transform}
@keyframes sweep{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.blip{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#E7E2D8;opacity:.22}
.js-motion .blip{animation:blip 10s linear infinite;animation-delay:var(--t)}
@keyframes blip{0%{opacity:1;box-shadow:0 0 0 0 rgba(231,226,216,.6)}6%{box-shadow:0 0 0 10px rgba(231,226,216,0)}35%{opacity:.42}100%{opacity:.2;box-shadow:none}}
.hero.is-paused .sweep-beam,.hero.is-paused .blip{animation-play-state:paused}

/* ---------- interactive map of institutions ---------- */
.atlas{padding:clamp(56px,8vw,120px) 0}
.atlas-head h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem);max-width:20ch}
.atlas-head p{margin-top:18px;max-width:56ch;color:var(--ink-muted)}
.atlas-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px 48px;margin-top:clamp(28px,4vw,48px);align-items:start}
.atlas-grid > *{min-width:0}
@media (min-width:980px){.atlas-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}}
.atlas-map{position:relative;aspect-ratio:1600/1000;border-radius:6px;overflow:hidden;background:#0B1523;border:1px solid var(--ink-line)}
.atlas-img,.atlas-arcs{position:absolute;inset:0;width:100%;height:100%}
.arc{fill:none;stroke:rgba(141,181,227,.2);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:stroke .3s}
.arc.is-lit{stroke:rgba(141,181,227,.6)}
.arc.is-on{stroke:#E7E2D8;stroke-width:2.2;stroke-dasharray:6 8}
.js-motion .arc.is-on{animation:flow 1.1s linear infinite}
@keyframes flow{to{stroke-dashoffset:-28}}
.node{position:absolute;width:32px;height:32px;margin:-16px 0 0 -16px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.node span{width:10px;height:10px;border-radius:50%;background:#8DB5E3;box-shadow:0 0 0 3px rgba(141,181,227,.18);transition:transform .25s,background-color .25s}
.node--home span{width:12px;height:12px;background:#E7E2D8}
.node--case span{background:transparent;border:2px solid #E7E2D8}
.node:hover span{transform:scale(1.3)}
.node.is-on span{background:#E7E2D8;transform:scale(1.35)}
.node.is-on::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1.5px solid rgba(231,226,216,.7)}
.js-motion .node.is-on::after{animation:ping 1.8s ease-out infinite}
@keyframes ping{0%{transform:scale(.55);opacity:1}100%{transform:scale(1.9);opacity:0}}
@media (max-width:699px){.node{width:24px;height:24px;margin:-12px 0 0 -12px}.node span{width:8px;height:8px}.node--home span{width:10px;height:10px}}
.atlas-chips{display:flex;flex-wrap:wrap;gap:8px}
.atlas-chips button{flex:none;border:1px solid rgba(233,238,243,.24);background:none;color:var(--ink-muted);padding:10px 15px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}
.atlas-chips button:hover{color:#fff;border-color:rgba(233,238,243,.5)}
.atlas-chips button[aria-pressed="true"]{background:var(--ink-accent);border-color:var(--ink-accent);color:#0A1420}
@media (max-width:979px){.atlas-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}.atlas-chips::-webkit-scrollbar{display:none}}
.atlas-panel{margin-top:20px;padding:clamp(20px,2.4vw,28px);border:1px solid var(--ink-line);border-radius:6px;background:var(--ink-2)}
.atlas-sub{font-size:13.5px;font-weight:600;color:var(--ink-accent)}
.atlas-panel h3{margin-top:6px;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.atlas-panel ul{margin:14px 0 0;padding:0;list-style:none}
.atlas-panel li{position:relative;padding:9px 0 9px 18px;border-top:1px solid var(--ink-line);font-size:15.5px}
.atlas-panel li::before{content:"";position:absolute;left:0;top:1.15em;width:7px;height:1.5px;background:var(--ink-accent)}
.atlas-panel h4{margin:18px 0 0;font-size:13.5px;font-weight:600;color:var(--ink-muted)}
.atlas-panel h4 + p{margin-top:6px;font-size:1.02rem}

/* ---------- restrained scroll motion ---------- */
.js-motion .stage{border-bottom-width:2px;border-bottom-color:transparent}
.js-motion .stage::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--line);transform:scaleX(0);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.7,.2,1),background-color .25s;transition-delay:calc(var(--d,0) * 90ms)}
.js-motion .stage.is-on::after{background:var(--accent)}
.js-motion .rail.is-drawn .stage::after{transform:scaleX(1)}

/* ---------- form extras ---------- */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14.5px;line-height:1.45;color:var(--ink-muted);cursor:pointer}
.check input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink-accent)}
.form-note{margin-top:12px;font-size:13.5px;color:var(--ink-muted)}
.form-note a{color:var(--ink-accent);text-underline-offset:3px}
.route-added{margin-top:10px;font-size:13.5px;color:var(--ink-accent)}
.status.ok{color:#A8DDB8}
.form .btn:disabled{opacity:.7;cursor:progress}
/* ---------- privacy information bar ---------- */
.notice{position:fixed;z-index:70;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:440px;display:flex;gap:14px;align-items:center;padding:14px 16px;background:rgba(10,20,32,.95);color:#E9EEF3;border:1px solid rgba(233,238,243,.16);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;line-height:1.45}
.notice[hidden]{display:none}
.notice p{margin:0}
.notice a{color:#8DB5E3;text-underline-offset:3px}
.notice .btn{flex:none;min-height:38px;padding:0 16px;font-size:13.5px;background:#8DB5E3;color:#0A1420}
@media (max-width:559px){.notice{left:10px;right:10px;max-width:none}}

/* partner without a logo file yet: neutral name tile (not an imitation of the logo) */
.logos li.name span{padding:0 10px;text-align:center;font-weight:600;font-size:clamp(.92rem,.84rem + .35vw,1.1rem);letter-spacing:.01em;line-height:1.2;color:#2A3848}
.logos img.wide{max-width:88%}

/* ---------- route: sequence only ---------- */
.rail--static .stage{cursor:default;color:var(--fg);list-style:none}
.rail--static{margin:0;padding:0}
.rail--static .stage{border-bottom-color:var(--accent)}
.js-motion .rail--static .stage::after{background:var(--accent)}
@media (max-width:859px){
  .rail.rail--static{display:grid;overflow:visible;margin-inline:0;padding-inline:0}
  .rail--static .stage{flex:none;padding:14px 0 12px}
}
.route-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:clamp(26px,3vw,40px)}
.route-end p{margin:0;max-width:52ch;color:var(--muted);font-size:1.02rem}
/* ---------- services: one column of deliverables ---------- */
@media (min-width:760px){.cap-grid--one{grid-template-columns:minmax(0,1fr)}}
.cap-grid--one ul{columns:2;column-gap:60px}
.cap-grid--one li{break-inside:avoid}
@media (max-width:759px){.cap-grid--one ul{columns:1}}
/* ---------- glossary ---------- */
.gl-group + .gl-group{margin-top:26px}
.gl-group h3{margin:0 0 4px;font-size:13.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.gl-group details:first-of-type{border-top:1px solid var(--line)}
.qa{border-top:0}
.btn{text-align:center}
@media (max-width:559px){.route-end .btn{width:100%}}

/* ---------- route: three phases, corporate ---------- */
.route-top{display:grid;gap:22px 48px;align-items:end}
@media (min-width:980px){.route-top{grid-template-columns:minmax(0,1fr) auto}}
.route-top .route-lead{margin-top:14px}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg)}
@media (min-width:640px){.seg{grid-template-columns:repeat(4,auto)}}
.seg button{appearance:none;margin:0;border:0;background:none;padding:12px 18px;font:500 14.5px/1.2 var(--sans);color:var(--muted);cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s}
.seg button + button{border-left:1px solid var(--line)}
@media (max-width:639px){.seg button:nth-child(3){border-left:0}.seg button:nth-child(n+3){border-top:1px solid var(--line)}}
.seg button:hover{color:var(--fg)}
.seg button[aria-checked="true"]{background:var(--accent);color:var(--on-accent)}
.phases{position:relative;display:grid;gap:0;margin:clamp(34px,4vw,56px) 0 0;padding:0;list-style:none}
@media (min-width:760px){.phases{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.phase{position:relative;padding:0 0 26px 34px}
@media (min-width:760px){.phase{padding:34px 0 0}}
.phase::before{content:"";position:absolute;background:var(--accent);left:7px;top:18px;bottom:-4px;width:2px}
.phase:last-child::before{display:none}
@media (min-width:760px){.phase::before{left:18px;right:-32px;top:8px;bottom:auto;width:auto;height:2px}}
.phase .ph-node{position:absolute;left:1px;top:6px;width:14px;height:14px;border:2px solid var(--accent);background:var(--surface);transform:rotate(45deg)}
@media (min-width:760px){.phase .ph-node{left:1px;top:1px}}
.phase:last-child .ph-node{background:var(--accent)}
.ph-n{display:block;font-size:12.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.ph-t{display:block;margin-top:4px;font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);font-weight:500;letter-spacing:-.015em;line-height:1.2}
.ph-k{display:block;margin-top:8px;font-size:14.5px;color:var(--muted)}
.route-cta{margin-top:clamp(26px,3vw,40px);display:flex;justify-content:flex-end}
@media (max-width:559px){.route-cta .btn{width:100%}}
.js-motion .phases .phase{opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease;transition-delay:calc(var(--d) * 140ms)}
.js-motion .phases.is-drawn .phase{opacity:1;transform:none}
.js-motion .phases .phase::before{transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d) * 140ms + 120ms)}
@media (max-width:759px){.js-motion .phases .phase::before{transform:scaleY(0);transform-origin:top center}}
.js-motion .phases.is-drawn .phase::before{transform:none}

/* ---------- news index ---------- */
.news-note{margin-top:12px;font-size:14.5px;color:var(--muted)}
.news-wrap{padding-block:clamp(28px,4vw,48px) clamp(56px,7vw,96px)}
.news-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(22px,3vw,34px)}
.news-filter button{border:1px solid var(--line);background:none;color:var(--muted);padding:9px 15px;border-radius:999px;font:500 14px/1.2 var(--sans);cursor:pointer}
.news-filter button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.news-grid{display:grid;gap:clamp(18px,2.4vw,28px);margin:0;padding:0;list-style:none}
@media (min-width:700px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.news-card[hidden]{display:none}
.news-card a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);transition:border-color .2s,transform .2s}
.news-card a:hover{border-color:var(--accent);transform:translateY(-2px)}
.nc-media{aspect-ratio:16/9;overflow:hidden;background:#0A1420}
.nc-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.news-card a:hover .nc-media img{transform:scale(1.03)}
.nc-meta{margin:16px 18px 0;font-size:13px;color:var(--muted)}
.nc-meta span{font-weight:600;color:var(--accent)}
.news-card h2,.news-card h3{margin:8px 18px 0;font-size:1.12rem;font-weight:600;line-height:1.32;letter-spacing:-.01em}
.nc-sum{margin:8px 18px 20px;font-size:14.5px;color:var(--muted);line-height:1.5}

/* ---------- article ---------- */
.post-hero{position:relative;overflow:hidden;background:#0A1420;color:#E9EEF3;min-height:clamp(320px,46vh,460px);display:flex;align-items:flex-end}
.post-media{position:absolute;inset:0}
.post-media img{width:100%;height:100%;object-fit:cover;opacity:.75}
.post-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,32,.35) 0%,rgba(10,20,32,.55) 45%,rgba(10,20,32,.95) 100%)}
.post-hero-in{position:relative;padding-block:clamp(90px,10vw,120px) clamp(30px,4vw,48px)}
.post-back{display:inline-block;margin-bottom:18px;color:#AEBCCB;text-decoration:none;font-size:14.5px}
.post-back:hover{color:#fff}
.post-meta{margin:0;font-size:14px;color:#AEBCCB}
.post-meta span{font-weight:600;color:#8DB5E3}
.post-hero h1{margin:12px 0 0;max-width:24ch;font-size:clamp(1.8rem,1.2rem + 2.6vw,3.1rem);font-weight:500;letter-spacing:-.02em;line-height:1.1}
.post-body{max-width:760px;padding-block:clamp(34px,5vw,60px) 0}
.post-body p,.post-body li{font-size:1.06rem;line-height:1.7}
.post-body h2{margin-top:2em}
.post-body h3{margin-top:1.6em;font-size:1.15rem}
.post-body ul,.post-body ol{padding-left:1.25em}
.post-body li{margin:.35em 0}
.post-body blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--fg)}
.post-body a{color:var(--accent);text-underline-offset:3px;word-break:break-word}
.post-cta{max-width:760px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-top:clamp(34px,4vw,52px);padding-block:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.post-cta p{margin:0;font-size:1.12rem;font-weight:500}
.post-more{padding-block:clamp(40px,5vw,64px) clamp(56px,7vw,96px)}
.post-more h2{margin:0 0 22px;font-size:1.3rem;font-weight:600}
@media (min-width:1080px){.news-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- latest news: a card in the hero ---------- */
.hero-in{display:grid;gap:32px}
@media (min-width:1080px){.hero-in{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:end;column-gap:56px}}
.hero-card{display:block;max-width:440px;padding:20px 22px 18px;border:1px solid rgba(233,238,243,.16);border-top:2px solid #8DB5E3;border-radius:6px;background:rgba(8,16,27,.66);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#E9EEF3;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,.28);transition:border-color .25s,transform .25s,background-color .25s}
.hero-card:hover{border-color:rgba(141,181,227,.55);border-top-color:#8DB5E3;background:rgba(8,16,27,.78);transform:translateY(-2px)}
.hc-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:13px;font-weight:600;color:#8DB5E3}
.hc-top time{font-weight:400;color:#9FB0C0}
.hc-top time::before{content:"·";margin-right:10px;color:#6F8196}
.hc-mark{width:8px;height:8px;border:1.5px solid #8DB5E3;transform:rotate(45deg)}
.hc-title{display:block;margin-top:12px;font-size:1.2rem;font-weight:600;line-height:1.28;letter-spacing:-.01em}
.hc-sum{display:block;margin-top:8px;font-size:14.5px;line-height:1.5;color:#AEBCCB}
.hc-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;width:100%;border-top:1px solid rgba(233,238,243,.12);font-size:14px;font-weight:600;color:#E9EEF3}
.hc-more i{font-style:normal;color:#8DB5E3;transition:transform .25s}
.hero-card:hover .hc-more i{transform:translateX(4px)}
@media (max-width:1079px){.hero-card{margin-top:4px}}

@media (max-width:419px){.brand img{height:28px}}

/* ---------- footer: memberships, small and quiet ---------- */
.ft-members{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.ftm-label{font-size:13px;font-weight:600;color:var(--muted)}
.ftm{display:flex;align-items:center;gap:12px;max-width:340px;font-size:13px;line-height:1.35;color:var(--muted)}
.ftm-tile{flex:none;display:grid;place-items:center;width:84px;height:40px;border-radius:6px;border:1px solid transparent}
.ftm-tile--light{background:#FFFFFF;border-color:#D6CFC2}
.ftm-tile--dark{background:#0F1C2C}
.ftm-tile img{width:auto;height:auto;max-width:80%;max-height:74%}
.ftm-tile--light img{max-width:74%;max-height:60%}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ftm-tile--light{background:#F4F2EE;border-color:transparent}
  :root:not([data-theme="light"]) .ftm-tile--dark{background:#15283D;box-shadow:inset 0 0 0 1px rgba(233,238,243,.14)}}
:root[data-theme="dark"] .ftm-tile--light{background:#F4F2EE;border-color:transparent}
:root[data-theme="dark"] .ftm-tile--dark{background:#15283D;box-shadow:inset 0 0 0 1px rgba(233,238,243,.14)}
@media (max-width:559px){.ft-members{flex-direction:column;align-items:flex-start}}
