
:root{
  color-scheme:light;
  --bg:#F3F3F1; --bg-2:#ECECE8; --surface:#FFFFFF;
  --ink:#1C2B3A; --navy:#2B4766; --navy-deep:#16273b;
  --slate:#5E7289; --muted:#8A99AA;
  --sand:#C2A878; --sand-deep:#A98B57; --sand-soft:#EFE6D4;
  --line:#E2E2DC; --line-2:#D0D0C8;
  --maxw:1200px; --pad:28px; --ease:cubic-bezier(.22,.61,.36,1);
  box-sizing:border-box;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:90px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0; background:var(--bg); color:var(--ink);
  font-family:"Inter",system-ui,sans-serif; font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden}
h1,h2,h3{font-family:"Hanken Grotesk",sans-serif; letter-spacing:-.03em; color:var(--ink); font-weight:600; line-height:1.05}
p{margin:0 0 1em} a{color:inherit; text-decoration:none}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 var(--pad)}
.eyebrow{font-family:"Hanken Grotesk"; font-weight:600; font-size:13px; letter-spacing:.04em; color:var(--sand-deep); text-transform:uppercase; margin:0 0 20px}

/* reveal */
.rv{opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.rv.in{opacity:1; transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}
.assemble .w{display:inline-block; opacity:0; transform:translateY(.5em) rotate(4deg); transition:opacity .55s var(--ease), transform .55s var(--ease)}
.assemble.in .w{opacity:1; transform:none}
@media(prefers-reduced-motion:reduce){.rv,.assemble .w{opacity:1 !important; transform:none !important; transition:none}}

/* nav + dropdown */
.nav{position:sticky; top:0; z-index:60; background:color-mix(in srgb,var(--bg) 85%, transparent); backdrop-filter:blur(14px) saturate(160%); border-bottom:1px solid transparent; transition:border-color .3s}
.nav.scr{border-bottom-color:var(--line)}
.nav-in{display:flex; align-items:center; justify-content:space-between; height:78px; max-width:var(--maxw); margin:0 auto; padding:0 var(--pad)}
.brand{display:flex; align-items:center; gap:11px; font-family:"Hanken Grotesk"; font-weight:800; font-size:22px; letter-spacing:-.03em; cursor:pointer}
.brand .mk{width:38px; height:38px; display:grid; place-items:center; background:#fff; border-radius:50%; border:1px solid var(--line)}
.brand .mk svg{width:62%}
.brand .u{color:var(--sand-deep)}
.nav-right{display:flex; align-items:center; gap:28px}
.navtop{display:inline-flex; align-items:center; gap:6px; background:none; border:0; cursor:pointer; font-family:"Inter",sans-serif; color:var(--slate); font-size:15px; font-weight:500; padding:8px 0; transition:color .2s}
.navtop:hover,.navtop.on{color:var(--ink)}
.navtop svg{width:12px; height:12px; opacity:.5; transition:transform .2s}
.has-menu{position:relative}
.has-menu:hover .navtop svg{transform:rotate(180deg)}
.menu{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(4px); margin-top:8px; min-width:230px; max-width:280px; background:var(--surface); border:1px solid var(--line); border-radius:14px; box-shadow:0 2px 8px rgba(23,41,61,.05),0 20px 44px rgba(23,41,61,.1); padding:7px; opacity:0; visibility:hidden; transition:opacity .15s, transform .15s; z-index:70}
.has-menu:hover .menu,.has-menu:focus-within .menu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.menu a{display:block; padding:9px 13px; border-radius:9px; font-family:"Hanken Grotesk"; font-weight:600; font-size:14.5px; color:var(--ink); line-height:1.3; transition:background .15s,color .15s}
.menu a:hover{background:var(--bg-2); color:var(--navy)}
.menu a small{display:block; font-family:"Inter"; font-weight:400; font-size:12px; color:var(--muted); margin-top:1px}
.menu .sep{height:1px; background:var(--line); margin:6px 8px}
.lang{display:inline-flex; gap:1px; background:var(--bg-2); border:1px solid var(--line); border-radius:999px; padding:3px; margin-left:4px}
.lang a{font-family:"Hanken Grotesk"; font-weight:700; font-size:12.5px; color:var(--slate); padding:5px 12px; border-radius:999px; transition:.2s}
.lang a.on{background:var(--navy); color:#fff}
.lang a:not(.on):hover{color:var(--ink)}
.btn{display:inline-flex; align-items:center; gap:9px; font-family:"Hanken Grotesk"; font-weight:600; font-size:15.5px; padding:13px 26px; border-radius:999px; cursor:pointer; border:1px solid transparent; transition:transform .2s var(--ease), background .2s, box-shadow .2s, border-color .2s; line-height:1}
.btn-dark{background:var(--navy); color:#fff}
.btn-dark:hover{transform:translateY(-1px); box-shadow:0 10px 26px rgba(43,71,102,.25)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--slate)}
.btn-lg{padding:17px 34px; font-size:16.5px}
.hamb{display:none; width:44px; height:44px; border:1px solid var(--line-2); border-radius:12px; background:var(--surface); cursor:pointer; place-items:center; color:var(--ink)}
.hamb svg{width:20px}
#mnav{position:fixed; left:0; right:0; top:78px; bottom:0; background:var(--bg); z-index:55; padding:16px var(--pad) 48px; overflow:auto; display:none}
#mnav.open{display:block}
#mnav a{display:block; padding:13px 4px; border-bottom:1px solid var(--line); font-family:"Hanken Grotesk"; font-weight:600; font-size:18px; color:var(--ink)}
#mnav .grp{font-size:11.5px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; margin:22px 4px 2px; font-weight:700}
#mnav a.cta{border:0; margin-top:22px; text-align:center; background:var(--navy); color:#fff; border-radius:999px; padding:15px}
body.noscroll{overflow:hidden}
@media(max-width:940px){.nav-right .navtop,.nav-right .has-menu,.nav-right .btn{display:none}.hamb{display:grid}}

/* views */
.view{display:none}
.view.active{display:block; animation:vin .4s var(--ease)}
@keyframes vin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.view.active{animation:none}}

/* hero */
.hero{padding:92px 0 46px}
.hero h1{font-size:clamp(46px,8vw,104px); font-weight:600; letter-spacing:-.04em; margin:0; max-width:15ch}
.hero .sub{font-size:clamp(18px,1.6vw,22px); color:var(--slate); max-width:50ch; margin:34px 0 0; line-height:1.5}
.hero .row{display:flex; flex-wrap:wrap; gap:14px; margin-top:40px; align-items:center}
.scrollcue{display:flex; align-items:center; gap:10px; color:var(--muted); font-size:13px; font-family:"Hanken Grotesk"; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-top:60px}
.scrollcue .ln{width:44px; height:1px; background:var(--line-2); position:relative; overflow:hidden}
.scrollcue .ln::after{content:""; position:absolute; inset:0; width:40%; background:var(--sand); animation:slide 2.4s var(--ease) infinite}
@keyframes slide{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
@media(prefers-reduced-motion:reduce){.scrollcue .ln::after{animation:none}}

/* media */
.showcase{padding:30px 0 20px}
.media{position:relative; border-radius:26px; overflow:hidden; background:var(--navy-deep); box-shadow:0 40px 90px rgba(23,41,61,.18)}
.media .bar{height:44px; background:#1f3148; display:flex; align-items:center; gap:8px; padding:0 18px}
.media .bar i{width:11px; height:11px; border-radius:50%; background:rgba(255,255,255,.18)}
.media img{width:100%; display:block}

/* statement */
.statement{padding:140px 0; text-align:center}
.statement .big{font-family:"Hanken Grotesk"; font-weight:600; font-size:clamp(34px,6vw,76px); letter-spacing:-.04em; line-height:1.05; max-width:16ch; margin:0 auto}
.statement .big .accent{color:var(--sand-deep)}
@media(max-width:700px){.statement{padding:88px 0}}

/* journey dial */
.journey{padding:40px 0 110px; text-align:center}
.journey h2{font-size:clamp(28px,3.4vw,44px); font-weight:600; letter-spacing:-.03em; max-width:20ch; margin:0 auto 10px}
.journey .lede{color:var(--slate); max-width:50ch; margin:0 auto; font-size:17px}
.dial-wrap{position:relative; max-width:720px; margin:52px auto 0}
.dial-wrap svg{width:100%; height:auto; display:block; overflow:visible}
.track{fill:none !important; stroke:var(--line-2); stroke-width:2}
.prog{fill:none !important; stroke:var(--navy); stroke-width:3; stroke-linecap:round}
.tick{stroke:var(--line-2); stroke-width:2; opacity:0; transition:opacity .4s var(--ease), stroke .4s}
.tick.lit{opacity:1; stroke:var(--sand-deep)}
.dial-draw{stroke-dasharray:var(--len); stroke-dashoffset:var(--len); transition:stroke-dashoffset 1.8s var(--ease)}
.dial-wrap.in .dial-draw{stroke-dashoffset:0}
.dial-center{position:absolute; left:0; right:0; bottom:6%; text-align:center}
.dial-center .n{font-family:"Hanken Grotesk"; font-weight:600; font-size:clamp(44px,6vw,78px); letter-spacing:-.04em; color:var(--navy); line-height:.9}
.dial-center .l{font-family:"Hanken Grotesk"; font-weight:600; font-size:14px; color:var(--slate); margin-top:6px}
.dlabels{display:grid; grid-template-columns:repeat(5,1fr); gap:10px; max-width:720px; margin:22px auto 0}
.dlab{font-family:"Hanken Grotesk"; font-weight:600; font-size:12.5px; color:var(--slate); opacity:0; transform:translateY(8px); transition:opacity .5s var(--ease), transform .5s var(--ease)}
.dlabels.in .dlab{opacity:1; transform:none}
.dlabels.in .dlab:nth-child(2){transition-delay:.12s}.dlabels.in .dlab:nth-child(3){transition-delay:.24s}
.dlabels.in .dlab:nth-child(4){transition-delay:.36s}.dlabels.in .dlab:nth-child(5){transition-delay:.48s}
.dlab small{display:block; color:var(--muted); font-weight:500; font-size:11px; margin-top:2px}
@media(max-width:620px){.dlabels{grid-template-columns:1fr 1fr 1fr; gap:14px 8px}}

/* stats */
.stats{padding:30px 0 100px}
.stat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
.stat{border-top:2px solid var(--ink); padding-top:26px}
.stat .n{font-family:"Hanken Grotesk"; font-weight:600; font-size:clamp(50px,6.5vw,86px); letter-spacing:-.04em; line-height:.9; color:var(--navy)}
.stat .l{font-family:"Hanken Grotesk"; font-weight:600; font-size:17px; margin:20px 0 8px}
.stat p{color:var(--slate); font-size:15px; margin:0; max-width:34ch}
@media(max-width:820px){.stat-grid{grid-template-columns:1fr; gap:18px}.stats{padding:20px 0 66px}}

/* generic section */
.sec{padding:60px 0}
.sec-head{max-width:40ch}
.sec-head h2{font-size:clamp(32px,4.6vw,58px); font-weight:600; letter-spacing:-.035em}
.sec-head .lede{color:var(--slate); font-size:clamp(17px,1.5vw,20px); margin-top:22px; max-width:52ch; line-height:1.5}

/* idea */
.idea{background:var(--navy-deep); color:#fff; border-radius:30px; padding:clamp(48px,6vw,96px); margin:40px 0; position:relative; overflow:hidden}
.idea::after{content:""; position:absolute; right:-80px; top:-80px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(194,168,120,.22),transparent 68%)}
.idea h2{color:#fff; font-size:clamp(30px,4.4vw,56px); font-weight:600; max-width:18ch; letter-spacing:-.035em; position:relative}
.idea p{color:#c3d0de; font-size:clamp(17px,1.5vw,20px); max-width:56ch; margin-top:24px; position:relative; line-height:1.55}
.chips{display:flex; gap:10px; flex-wrap:wrap; margin-top:34px; position:relative}
.chip{font-family:"Hanken Grotesk"; font-weight:600; font-size:14px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); padding:9px 18px; border-radius:999px}

/* arrow list */
.arrowlist{margin-top:46px; border-top:1px solid var(--line-2)}
.arow{display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; padding:30px 6px; border-bottom:1px solid var(--line-2); cursor:pointer; transition:padding-left .3s var(--ease)}
.arow:hover{padding-left:20px}
.arow .idx{font-family:"Hanken Grotesk"; font-weight:600; font-size:14px; color:var(--muted); min-width:28px}
.arow .nm{font-family:"Hanken Grotesk"; font-weight:600; font-size:clamp(22px,2.6vw,34px); letter-spacing:-.025em; color:var(--ink); transition:color .25s}
.arow .ds{color:var(--slate); font-size:15px; margin-top:4px; max-width:54ch; display:none}
.arow:hover .nm{color:var(--navy)}
.arow .rowarr{width:30px; height:30px; color:var(--muted); transition:transform .3s var(--ease), color .25s}
.arow:hover .rowarr{transform:translateX(8px); color:var(--sand-deep)}
.arow .mid{display:flex; flex-direction:column}
@media(min-width:720px){.arow .ds{display:block}}

/* trust */
.trust{padding:66px 0; text-align:center}
.trust .lab{font-family:"Hanken Grotesk"; font-weight:600; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:28px}
.trust .items{display:flex; flex-wrap:wrap; gap:16px 44px; justify-content:center; align-items:center}
.trust .items span{font-family:"Hanken Grotesk"; font-weight:600; font-size:17px; color:var(--slate)}
.trust .items .dot{width:5px; height:5px; border-radius:50%; background:var(--sand); display:inline-block}

/* team */
.team{display:grid; grid-template-columns:repeat(2,minmax(0,300px)); gap:46px; margin-top:46px}
.member img{width:88px; height:88px; border-radius:50%; object-fit:cover; border:1px solid var(--line); margin-bottom:18px}
.member b{font-family:"Hanken Grotesk"; font-weight:600; font-size:19px; display:block}
.member .role{color:var(--sand-deep); font-weight:600; font-size:13.5px; font-family:"Hanken Grotesk"; margin:4px 0 10px}
.member p{color:var(--slate); font-size:15px; margin:0; line-height:1.55}
@media(max-width:620px){.team{grid-template-columns:1fr; gap:34px}}

/* testimonials */
.quotes{padding:60px 0}
.qgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:46px}
.q{background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:34px 32px; display:flex; flex-direction:column}
.q .mark{font-family:"Hanken Grotesk"; font-weight:800; font-size:48px; line-height:.6; color:var(--sand); height:28px}
.q p{font-size:16.5px; color:var(--ink); line-height:1.55; margin:14px 0 24px}
.q .who{display:flex; align-items:center; gap:13px; margin-top:auto}
.q .who img{width:46px; height:46px; border-radius:50%; object-fit:cover; border:1px solid var(--line)}
.q .who b{font-family:"Hanken Grotesk"; font-weight:600; font-size:15px; display:block}
.q .who span{color:var(--muted); font-size:13px}
@media(max-width:820px){.qgrid{grid-template-columns:1fr}}

/* cta */
.cta{text-align:center; padding:118px 0 40px}
.cta h2{font-size:clamp(38px,6vw,82px); font-weight:600; letter-spacing:-.04em; max-width:16ch; margin:0 auto 10px}
.cta .sub{color:var(--slate); font-size:clamp(17px,1.5vw,20px); max-width:50ch; margin:24px auto 36px}

/* contact form */
.tm-direct-mail{margin:0 auto 28px; max-width:50ch; color:var(--slate); font-size:clamp(16px,1.4vw,18px)}
.tm-direct-mail a{color:var(--navy); font-weight:600; text-decoration:underline; text-underline-offset:3px}
.tm-direct-mail a:hover{color:var(--ink)}
.tm-form{max-width:560px; margin:8px auto 0; text-align:left; display:grid; gap:14px}
.tm-form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media(max-width:640px){.tm-form-row{grid-template-columns:1fr}}
.tm-form label{display:grid; gap:7px; font-family:"Hanken Grotesk"; font-size:13.5px; font-weight:600; color:var(--ink)}
.tm-form label span em{font-style:normal; font-weight:500; color:var(--muted)}
.tm-form input,.tm-form textarea{width:100%; border:1px solid var(--line-2); background:var(--surface); border-radius:14px; padding:14px 16px; font:500 15.5px/1.4 Inter,system-ui,sans-serif; color:var(--ink); outline:none; transition:border-color .2s, box-shadow .2s}
.tm-form input:focus,.tm-form textarea:focus{border-color:var(--navy); box-shadow:0 0 0 3px rgba(43,71,102,.12)}
.tm-form textarea{resize:vertical; min-height:120px}
.tm-form .btn{justify-self:start; margin-top:6px; border:0}
.tm-form-notice{max-width:560px; margin:0 auto 18px; padding:14px 18px; border-radius:14px; font-size:15px; text-align:left}
.tm-form-notice.success{background:#E8F5EE; color:#1F6B45; border:1px solid #B9DFC8}
.tm-form-notice.error{background:#FBECEC; color:#8B2E2E; border:1px solid #E7B6B6}
.tm-hp{position:absolute; left:-9999px; height:0; overflow:hidden}

/* sub-page hero + detail */
.pagehead{padding:64px 0 10px}
.pagehead .kick{font-family:"Hanken Grotesk"; font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--sand-deep); margin:0 0 16px}
.pagehead h1{font-size:clamp(38px,6vw,78px); font-weight:600; letter-spacing:-.04em; line-height:1.02; margin:0; max-width:16ch}
.pagehead .sub{color:var(--slate); font-size:clamp(18px,1.6vw,22px); max-width:52ch; margin:28px 0 0; line-height:1.5}
.detail{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:start; padding:64px 0 10px}
@media(max-width:860px){.detail{grid-template-columns:1fr; gap:34px}}
.detail .body p{color:var(--slate); font-size:16.5px; line-height:1.65; margin:0 0 16px; max-width:54ch}
.detail .note{font-size:13.5px; color:var(--muted); border-left:2px solid var(--sand); padding-left:14px; margin-top:24px; max-width:54ch}
.card{background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:32px 30px; box-shadow:0 1px 2px rgba(23,41,61,.03),0 18px 40px rgba(23,41,61,.05)}
.card .cic{width:54px; height:54px; border-radius:15px; background:var(--sand-soft); display:grid; place-items:center; color:var(--navy); margin-bottom:22px}
.card .cic svg{width:27px}
.card .clab{font-family:"Hanken Grotesk"; font-weight:600; font-size:13px; color:var(--sand-deep); margin:0 0 18px; text-transform:uppercase; letter-spacing:.03em}
.checks{list-style:none; margin:0; padding:0; display:grid; gap:15px}
.checks li{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; color:var(--ink); font-size:15.5px; line-height:1.45}
.checks .ck{width:21px; height:21px; border-radius:50%; background:rgba(194,168,120,.2); display:grid; place-items:center; flex:none; margin-top:1px}
.checks .ck svg{width:12px; color:var(--sand-deep)}
.backlink{display:inline-flex; align-items:center; gap:8px; color:var(--slate); font-size:14.5px; font-weight:600; font-family:"Hanken Grotesk"; margin-top:40px}
.backlink:hover{color:var(--ink)}

/* posts */
.posts{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:12px}
.post{display:block; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:28px; transition:transform .25s var(--ease), border-color .25s}
.post:hover{transform:translateY(-3px); border-color:var(--sand)}
.post .tagline{font-family:"Hanken Grotesk"; font-weight:600; font-size:12px; color:var(--sand-deep); margin-bottom:12px; text-transform:uppercase; letter-spacing:.03em}
.post b{font-family:"Hanken Grotesk"; font-weight:600; font-size:20px; display:block; line-height:1.25; margin-bottom:8px; letter-spacing:-.02em}
.post p{color:var(--slate); font-size:14.5px; margin:0; line-height:1.5}
@media(max-width:720px){.posts{grid-template-columns:1fr}}

/* legal */
.legal{max-width:660px; padding-top:20px}
.legal p{color:var(--slate); font-size:15.5px; line-height:1.65; margin:0 0 4px}
.legal h3{font-family:"Hanken Grotesk"; font-weight:600; font-size:15px; color:var(--ink); margin:28px 0 6px}
.legal a{color:var(--navy); text-decoration:underline; text-underline-offset:2px}

/* footer */
footer{background:var(--navy-deep); color:#cdd9e6; border-radius:30px 30px 0 0; padding:70px 0 44px; margin-top:60px}
.foot-grid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px}
footer .brand{color:#fff}
footer a{color:#cdd9e6; font-size:15px}
footer a:hover{color:#fff}
.fcols{display:flex; gap:60px; flex-wrap:wrap}
.fcol{display:grid; gap:11px}
.fcol b{font-family:"Hanken Grotesk"; color:#fff; font-weight:600; font-size:13px; opacity:.6; margin-bottom:3px}
.fbot{margin-top:46px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:13.5px; color:#8ba0b5; display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between}
.fbot a{color:inherit; text-decoration:none}.fbot a:hover{color:#fff}

/* ===== enriched full-compliance blocks ===== */
.ropes{display:inline-flex;align-items:center;gap:10px;background:var(--sand-soft);color:var(--sand-deep);font-family:"Hanken Grotesk";font-weight:600;font-size:13.5px;padding:10px 18px;border-radius:999px;margin:6px 0 0}
.ropes .sdot{width:7px;height:7px;border-radius:50%;background:var(--sand-deep)}
.phases2{display:grid;gap:18px;margin-top:40px}
.phase2{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 32px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.phase2 .pn{font-family:"Hanken Grotesk";font-weight:600;font-size:15px;color:#fff;background:var(--navy);width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none}
.phase2 h3{font-size:22px;font-weight:600;margin:0 0 2px;letter-spacing:-.02em}
.phase2 .ps{font-family:"Hanken Grotesk";font-weight:600;font-size:14px;color:var(--sand-deep);margin:0 0 12px}
.phase2 p{color:var(--slate);font-size:15.5px;line-height:1.55;margin:0 0 16px;max-width:60ch}
.deliv{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.deliv span{font-size:13px;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:6px 13px}
.psign{display:inline-flex;align-items:center;gap:8px;font-family:"Hanken Grotesk";font-weight:600;font-size:12.5px;color:var(--sand-deep)}
.psign svg{width:14px}
@media(max-width:620px){.phase2{grid-template-columns:1fr;gap:16px}}
/* artifacts (QMS) */
.artifacts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.artifact{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 22px}
.artifact b{font-family:"Hanken Grotesk";font-weight:600;font-size:16px;display:block;margin-bottom:6px;letter-spacing:-.01em}
.artifact span{color:var(--slate);font-size:13.5px}
@media(max-width:820px){.artifacts{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.artifacts{grid-template-columns:1fr}}
/* annexes */
.annexes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.annex{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.annex .tag{display:inline-block;font-family:"Hanken Grotesk";font-weight:600;font-size:12px;color:#fff;background:var(--navy);padding:5px 11px;border-radius:8px;margin-bottom:14px}
.annex b{font-family:"Hanken Grotesk";font-weight:600;font-size:17px;display:block;margin-bottom:5px}
.annex span{color:var(--slate);font-size:14px}
@media(max-width:820px){.annexes{grid-template-columns:1fr}}

/* ===== QMS staircase (dark violet panel) ===== */
.qstair{background:
  radial-gradient(520px 360px at 92% -10%, rgba(138,41,200,.5), transparent 60%),
  linear-gradient(155deg,#3A1570 0%,#23103F 52%,#17082E 100%);
  border-radius:30px;padding:clamp(40px,5vw,72px);margin-top:40px;position:relative;overflow:hidden}
.qstair-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media(max-width:860px){.qstair-grid{grid-template-columns:1fr;gap:34px}}
.qstair .qt .eyebrow{color:var(--sand)}
.qstair .qt h2{color:#fff;font-size:clamp(28px,3.6vw,46px);letter-spacing:-.035em;max-width:16ch}
.qstair .qt p{color:#cfc6e4;font-size:16.5px;line-height:1.6;max-width:46ch;margin-top:18px}
.stair{position:relative;padding-left:40px}
.stair::before{content:"";position:absolute;left:14px;top:-8px;bottom:18px;width:2px;background:linear-gradient(var(--sand),rgba(194,168,120,.15))}
.stair .mk{position:absolute;left:0;top:-18px;width:34px;height:34px;border-radius:50%;background:var(--sand-soft);display:grid;place-items:center;box-shadow:0 0 0 4px rgba(194,168,120,.18)}
.stair .mk svg{width:62%}
.step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 20px;margin-bottom:12px;backdrop-filter:blur(4px)}
.step:nth-child(2){margin-left:0}.step:nth-child(3){margin-left:26px}.step:nth-child(4){margin-left:52px}.step:nth-child(5){margin-left:78px}
.step b{font-family:"Hanken Grotesk";font-weight:600;font-size:16px;color:#fff;display:block}
.step span{color:#b9aed4;font-size:13px}
@media(max-width:560px){.step{margin-left:0 !important}}
/* ===== documents-this-phase list ===== */
.subh{font-family:"Hanken Grotesk";font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}
.docs{display:grid;gap:8px}
.doc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg-2);border:1px solid var(--line);border-radius:11px;padding:11px 15px}
.doc-row .dn{font-size:14.5px;color:var(--ink);font-weight:500}
.doc-row .std{font-family:"Hanken Grotesk";font-weight:600;font-size:11.5px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:7px;padding:4px 9px;white-space:nowrap;flex:none}
.doc-row .std.none{opacity:0}

/* ===== Muted deep violet: lila dark blocks, clean page ===== */
:root{
  --navy:#5B3A9E; --navy-deep:#160C2A;
  --sand:#C8AE79; --sand-deep:#A07E34; --sand-soft:#F0E7D3;
  --ink:#241A33; --slate:#6A6080; --muted:#978EAE;
}
.hero::before{display:none !important}
.idea,.qstair{background:
  radial-gradient(560px 380px at 88% -8%, rgba(116,70,190,.42), transparent 62%),
  linear-gradient(155deg,#2E1A52 0%,#201340 55%,#160C2A 100%) !important}
.idea::after{display:none}
footer{background:
  radial-gradient(600px 380px at 90% 0%, rgba(104,58,170,.4), transparent 60%),
  linear-gradient(160deg,#241646 0%,#180E31 60%,#110823 100%)}
.btn-dark{background:linear-gradient(135deg,#5B3A9E 0%,#3E2578 100%); box-shadow:0 10px 26px rgba(62,37,120,.26)}
.btn-dark:hover{box-shadow:0 14px 32px rgba(62,37,120,.36)}
.media{box-shadow:0 40px 90px rgba(40,22,70,.2)}
.media .bar{background:#201340}
.prog{stroke:#5B3A9E}
.phase2 .pn,.annex .tag{background:linear-gradient(135deg,#5B3A9E,#3E2578)}
.chip{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.2)}
.statement .big .accent{color:#A07E34}
.lang a.on{background:#3E2578}
.menu a:hover{color:#5B3A9E}
.brand{gap:4px !important}
.brand .mk-nav{width:50px !important; height:50px !important; background:transparent !important; border:0 !important; border-radius:0 !important; margin-right:-10px !important}
.brand .mk-nav svg{width:100% !important}
footer .brand{gap:11px !important}
footer .brand .mk-foot{width:34px !important; height:34px !important; background:#F0E7D3 !important; border:0 !important; border-radius:50% !important}
footer .brand .mk-foot svg{width:60% !important}
.doc-row .std{color:#5B3A9E}
