
:root{
  --navy:#0A1A30; --navy-2:#0E2240; --navy-3:#10294b; --ink:#11243D;
  --steel:#33567F; --steel-soft:#5C7DA3; --steel-pale:#8AA3C0;
  --line:#DCE3EC; --line-2:#E8EDF3; --line-3:#EEF2F7;
  --paper:#F4F7FA; --paper-2:#FBFCFE; --white:#FFFFFF;
  --muted:#5A6B82; --muted-2:#7A8AA0; --brass:#9A7B43; --brass-soft:#B89A66;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Calibri','Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-s:0 2px 10px rgba(10,26,48,.06);
  --shadow-m:0 16px 40px rgba(10,26,48,.10);
  --shadow-l:0 30px 70px rgba(10,26,48,.16);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:normal;color:var(--navy);line-height:1.18;letter-spacing:-.005em;}
a{text-decoration:none;color:var(--steel);cursor:pointer;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
@media(max-width:680px){.wrap{padding:0 24px;}}
.eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--steel-soft);font-weight:700;}
.serif-italic{font-family:var(--serif);font-style:italic;}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;}.reveal.d2{transition-delay:.16s;}.reveal.d3{transition-delay:.24s;}.reveal.d4{transition-delay:.32s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}*{animation:none!important;}}

/* ---------- top bar ---------- */
.topband{background:#06101f;color:#8FA8C6;font-size:11px;letter-spacing:.08em;text-align:center;padding:7px 14px;}
.topband b{color:#C7D3E2;font-family:var(--serif);font-weight:normal;font-style:italic;}
header.nav{position:sticky;top:0;z-index:100;background:rgba(10,26,48,.86);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .4s var(--ease),box-shadow .4s var(--ease);}
header.nav.scrolled{background:rgba(8,18,33,.97);box-shadow:0 10px 30px rgba(0,0,0,.28);}
header.nav .in{max-width:var(--maxw);margin:0 auto;padding:0 40px;height:78px;display:flex;align-items:center;justify-content:space-between;transition:height .4s var(--ease);}
header.nav.scrolled .in{height:64px;}
@media(max-width:680px){header.nav .in{padding:0 24px;}}
.logo{display:flex;align-items:center;gap:13px;cursor:pointer;}
.logo .mark{width:34px;height:34px;flex:none;}
.logo .wm{display:flex;flex-direction:column;line-height:1;}
.logo .wm .name{color:#fff;font-family:var(--serif);font-size:18px;letter-spacing:.04em;}
.logo .wm .tag{color:var(--steel-pale);font-size:8px;letter-spacing:.34em;text-transform:uppercase;margin-top:4px;}
.navlinks{display:flex;align-items:center;gap:30px;}
.navlinks a.nl{color:#BFCEDF;font-size:13px;letter-spacing:.02em;position:relative;padding:6px 0;transition:color .25s;}
.navlinks a.nl:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--brass-soft);transition:width .3s var(--ease);}
.navlinks a.nl:hover,.navlinks a.nl.on{color:#fff;}
.navlinks a.nl.on:after,.navlinks a.nl:hover:after{width:100%;}
.navcta{background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff!important;font-size:12px;letter-spacing:.04em;padding:10px 20px;border-radius:2px;transition:all .3s var(--ease);}
.navcta:hover{background:#fff;color:var(--navy)!important;border-color:#fff;}
.burger{display:none;background:none;border:none;color:#fff;cursor:pointer;width:30px;height:24px;position:relative;}
.burger span{position:absolute;left:0;height:1.5px;width:100%;background:#fff;transition:.3s var(--ease);}
.burger span:nth-child(1){top:3px;}.burger span:nth-child(2){top:11px;}.burger span:nth-child(3){top:19px;}
.burger.x span:nth-child(1){top:11px;transform:rotate(45deg);}.burger.x span:nth-child(2){opacity:0;}.burger.x span:nth-child(3){top:11px;transform:rotate(-45deg);}
@media(max-width:980px){
  .navlinks{position:fixed;inset:78px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy);padding:10px 24px 26px;border-bottom:1px solid rgba(255,255,255,.08);transform:translateY(-130%);transition:transform .45s var(--ease);max-height:calc(100vh - 78px);overflow:auto;}
  .navlinks.open{transform:none;}
  .navlinks a.nl{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:15px;}
  .navlinks a.nl:after{display:none;}
  .navcta{margin-top:16px;text-align:center;padding:14px;}
  .burger{display:block;}
}

/* ---------- page system ---------- */
.page{display:none;}
.page.on{display:block;}
.page.on .anim{animation:pageIn .7s var(--ease);}
@keyframes pageIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
section{padding:108px 0;}
@media(max-width:680px){section{padding:72px 0;}}
.sec-head{max-width:64ch;}
.sec-head.ctr{margin:0 auto;text-align:center;}
.sec-head h2{font-size:40px;margin:16px 0 18px;}
.sec-head p{color:var(--muted);font-size:17px;}
@media(max-width:680px){.sec-head h2{font-size:30px;}}
.kicker-line{display:inline-block;width:34px;height:1px;background:var(--brass-soft);vertical-align:middle;margin-right:12px;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.02em;padding:15px 30px;border-radius:2px;border:1px solid transparent;transition:all .3s var(--ease);cursor:pointer;font-family:var(--sans);}
.btn .ar{transition:transform .3s var(--ease);}
.btn:hover .ar{transform:translateX(4px);}
.btn-light{background:#fff;color:var(--navy)!important;box-shadow:var(--shadow-s);}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-m);}
.btn-navy{background:var(--navy);color:#fff!important;}
.btn-navy:hover{background:var(--navy-3);transform:translateY(-2px);box-shadow:var(--shadow-m);}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--navy)!important;}
.btn-ghost:hover{border-color:var(--steel-soft);background:var(--paper-2);}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.4);color:#fff!important;}
.btn-outline-light:hover{background:#fff;color:var(--navy)!important;}
.tlink{color:var(--steel);font-size:14px;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .3s,gap .3s;}
.tlink:hover{border-color:var(--steel-soft);gap:12px;}

/* ---------- HERO (home) ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:150px 0 130px;}
.hero .bg{position:absolute;inset:0;background:
   radial-gradient(900px 600px at 78% -10%,rgba(92,125,163,.22),transparent 60%),
   radial-gradient(700px 500px at 10% 110%,rgba(51,86,127,.20),transparent 55%),
   linear-gradient(165deg,#0A1A30,#0E2240 55%,#10294b);}
.hero .grid-tex{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 70% 30%,#000,transparent 75%);}
.hero .in{position:relative;z-index:2;max-width:900px;}
.hero .ribbon{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.18);border-radius:40px;padding:7px 16px 7px 8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#C7D3E2;margin-bottom:32px;}
.hero .ribbon .d{width:7px;height:7px;border-radius:50%;background:var(--brass-soft);box-shadow:0 0 0 4px rgba(184,154,102,.18);}
.hero h1{color:#fff;font-size:66px;line-height:1.06;letter-spacing:-.02em;margin-bottom:26px;}
.hero h1 em{font-style:italic;color:#cdd9e8;}
.hero p.lead{font-size:20px;color:#C9D5E5;max-width:58ch;margin-bottom:38px;}
.hero .acts{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.hero .motif{margin-top:46px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12);font-family:var(--serif);font-style:italic;font-size:17px;color:var(--steel-pale);}
@media(max-width:880px){.hero h1{font-size:44px;}.hero{padding:110px 0 90px;}}
@media(max-width:480px){.hero h1{font-size:34px;}.hero p.lead{font-size:17px;}}

/* trust strip */
.tstrip{background:var(--navy-2);border-top:1px solid rgba(255,255,255,.07);}
.tstrip .in{display:flex;justify-content:space-between;gap:20px;padding:30px 0;flex-wrap:wrap;}
.tstrip .item{display:flex;align-items:center;gap:14px;color:#AFC0D6;}
.tstrip .item .n{font-family:var(--serif);font-size:26px;color:#fff;}
.tstrip .item .l{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-pale);max-width:18ch;line-height:1.4;}
.tstrip .sep{width:1px;background:rgba(255,255,255,.1);}
@media(max-width:760px){.tstrip .sep{display:none;}.tstrip .in{gap:24px;}.tstrip .item{flex:1 1 40%;}}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:860px){.pillars{grid-template-columns:1fr;}}
.pcard{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:38px 34px;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;position:relative;overflow:hidden;}
.pcard:before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--steel),var(--brass-soft));transition:width .5s var(--ease);}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:var(--line-2);}
.pcard:hover:before{width:100%;}
.pcard .ic{width:46px;height:46px;color:var(--steel);margin-bottom:22px;}
.pcard .pi{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-soft);font-weight:700;}
.pcard h3{font-size:23px;margin:10px 0 12px;}
.pcard p{font-size:15px;color:var(--muted);}

/* ---------- proof band ---------- */
.proof{background:var(--paper);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);text-align:center;}
.proof .fig{font-family:var(--serif);font-size:96px;line-height:1;color:var(--navy);letter-spacing:-.02em;}
.proof .fig sup{font-size:38px;color:var(--steel);top:-.6em;}
.proof .cap{font-size:19px;color:var(--ink);max-width:48ch;margin:18px auto 0;}
.proof .sub{font-size:13px;color:var(--muted-2);margin-top:14px;letter-spacing:.02em;}
@media(max-width:680px){.proof .fig{font-size:64px;}}

/* ---------- split feature ---------- */
.split{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center;}
.split.rev .txt{order:2;}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:36px;}.split.rev .txt{order:0;}}
.split .txt h2{font-size:34px;margin:14px 0 16px;}
.split .txt p{color:var(--muted);font-size:16px;margin-bottom:14px;}
.feature-vis{position:relative;border-radius:8px;overflow:hidden;min-height:360px;background:linear-gradient(155deg,var(--navy),var(--navy-3));display:flex;align-items:center;justify-content:center;padding:44px;box-shadow:var(--shadow-m);}
.feature-vis .quote{font-family:var(--serif);font-style:italic;font-size:21px;color:#cdd9e8;text-align:center;line-height:1.5;position:relative;z-index:2;max-width:30ch;}
.feature-vis .qm{font-family:var(--serif);font-size:90px;color:rgba(255,255,255,.1);position:absolute;top:14px;left:26px;line-height:1;}
.feature-vis .tex{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:42px 42px;}

/* image placeholder (institutional photography) */
.imgph{position:relative;border-radius:8px;min-height:360px;background:
   repeating-linear-gradient(135deg,#eef2f7,#eef2f7 14px,#e7edf4 14px,#e7edf4 28px);
   border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted-2);box-shadow:var(--shadow-s);overflow:hidden;}
.imgph .ic{width:40px;height:40px;color:var(--steel-soft);opacity:.7;}
.imgph .lab{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);}
.imgph .sub{font-size:11px;color:var(--muted-2);font-style:italic;}

/* ---------- band CTA ---------- */
.band{position:relative;background:var(--navy);color:#fff;text-align:center;overflow:hidden;}
.band .bg{position:absolute;inset:0;background:radial-gradient(700px 420px at 50% -30%,rgba(92,125,163,.24),transparent 60%),linear-gradient(160deg,#0A1A30,#10294b);}
.band .in{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.band h2{color:#fff;font-size:38px;margin-bottom:16px;}
.band p{color:#C9D5E5;font-size:17px;margin-bottom:30px;}

/* ---------- page header ---------- */
.phead{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:120px 0 96px;}
.phead .bg{position:absolute;inset:0;background:radial-gradient(800px 500px at 85% -20%,rgba(92,125,163,.2),transparent 60%),linear-gradient(165deg,#0A1A30,#0E2240);}
.phead .grid-tex{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(circle at 80% 20%,#000,transparent 72%);}
.phead .in{position:relative;z-index:2;max-width:760px;}
.phead .crumb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-pale);margin-bottom:18px;}
.phead h1{color:#fff;font-size:50px;line-height:1.08;margin-bottom:18px;letter-spacing:-.015em;}
.phead p{color:#C9D5E5;font-size:18px;max-width:60ch;}
@media(max-width:680px){.phead{padding:88px 0 64px;}.phead h1{font-size:34px;}}

/* ---------- cards grid ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.cards{grid-template-columns:1fr;}}
.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:34px 30px;transition:transform .4s var(--ease),box-shadow .4s var(--ease);}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);}
.card .ic{width:40px;height:40px;color:var(--steel);margin-bottom:18px;}
.card .ci{font-family:var(--serif);font-size:13px;color:var(--steel-soft);letter-spacing:.08em;}
.card h4{font-size:20px;margin:8px 0 10px;}
.card p{font-size:14.5px;color:var(--muted);}

/* numbered steps */
.steps{display:grid;gap:18px;}
.step{display:grid;grid-template-columns:84px 1fr;gap:8px;align-items:start;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:30px 32px;transition:border-color .35s,box-shadow .35s,transform .35s var(--ease);}
.step:hover{border-color:var(--steel-soft);box-shadow:var(--shadow-s);transform:translateX(4px);}
.step .sn{font-family:var(--serif);font-size:42px;color:var(--steel-soft);line-height:.8;}
.step h4{font-size:20px;margin-bottom:6px;}
.step p{font-size:15px;color:var(--muted);}

/* ---------- team ---------- */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
@media(max-width:860px){.team{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
.member{text-align:center;}
.portrait{position:relative;aspect-ratio:4/5;border-radius:8px;overflow:hidden;margin-bottom:22px;background:linear-gradient(165deg,#1b3052,#0b1c33);box-shadow:var(--shadow-m);border:1px solid rgba(255,255,255,.06);}
.portrait .silh{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:64%;color:rgba(255,255,255,.14);}
.portrait .mono{position:absolute;top:22px;left:0;right:0;text-align:center;font-family:var(--serif);font-size:30px;letter-spacing:.12em;color:rgba(255,255,255,.5);}
.portrait .tag{position:absolute;left:14px;bottom:14px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#cdd9e8;background:rgba(8,18,33,.6);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(4px);padding:5px 9px;border-radius:3px;}
.portrait .sheen{position:absolute;inset:0;background:linear-gradient(125deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);transform:translateX(-100%);transition:transform .9s var(--ease);}
.member:hover .sheen{transform:translateX(100%);}
.member h4{font-size:22px;}
.member .role{font-size:12px;color:var(--steel);letter-spacing:.1em;text-transform:uppercase;margin:5px 0 12px;}
.member p{font-size:14px;color:var(--muted);max-width:34ch;margin:0 auto;}

/* alignment quote block */
.alignblk{background:var(--paper);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);text-align:center;}
.alignblk .q{font-family:var(--serif);font-size:32px;color:var(--navy);max-width:24ch;margin:0 auto 16px;line-height:1.3;}
.alignblk p{color:var(--muted);font-size:16px;max-width:54ch;margin:0 auto;}

/* ---------- letter list ---------- */
.letters{max-width:820px;}
.letter{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding-left .3s var(--ease);}
.letter:hover{padding-left:10px;}
.letter:hover h4{color:var(--steel);}
.letter .d{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-soft);font-weight:700;}
.letter h4{font-size:24px;margin:6px 0 6px;transition:color .3s;}
.letter p{font-size:14.5px;color:var(--muted);max-width:62ch;}
.letter .go{color:var(--steel);font-size:22px;flex:none;}
.letter.soon{opacity:.55;cursor:default;}
.letter.soon:hover{padding-left:0;}
.letter.soon:hover h4{color:var(--navy);}

/* ---------- forms ---------- */
.formwrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:860px){.formwrap{grid-template-columns:1fr;gap:36px;}}
.form{display:grid;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:34px;box-shadow:var(--shadow-s);}
.field{display:grid;gap:7px;}
.field label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-weight:700;}
.field input,.field textarea,.field select{font-family:var(--sans);font-size:15px;border:1px solid var(--line);border-radius:4px;padding:13px 15px;background:var(--paper-2);color:var(--ink);transition:border-color .25s,background .25s,box-shadow .25s;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--steel-soft);background:#fff;box-shadow:0 0 0 3px rgba(92,125,163,.12);}
.form .btn{justify-content:center;margin-top:4px;}
.formnote{font-size:12px;color:var(--muted-2);}
.success{display:none;background:linear-gradient(160deg,#0A1A30,#10294b);color:#fff;border-radius:8px;padding:40px;text-align:center;box-shadow:var(--shadow-m);}
.success.show{display:block;animation:pageIn .6s var(--ease);}
.success .ck{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--brass-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--brass-soft);}
.success h3{color:#fff;font-size:24px;margin-bottom:10px;}
.success p{color:#C9D5E5;font-size:15px;max-width:40ch;margin:0 auto;}
.contact-aside .item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line-2);}
.contact-aside .item .ic{width:24px;height:24px;color:var(--steel);flex:none;margin-top:2px;}
.contact-aside .item h5{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);margin-bottom:3px;}
.contact-aside .item p{font-size:14px;color:var(--muted);}

/* ---------- data room gate ---------- */
.gate{max-width:520px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-m);}
.gate .top{background:linear-gradient(160deg,#0A1A30,#10294b);color:#fff;padding:40px 38px;text-align:center;position:relative;}
.gate .lockic{width:48px;height:48px;margin:0 auto 16px;color:var(--brass-soft);}
.gate .top h3{color:#fff;font-size:26px;margin-bottom:8px;}
.gate .top p{color:#C9D5E5;font-size:14px;}
.gate .body{padding:32px 38px 38px;}
.gate .body .docs{display:grid;gap:10px;margin-bottom:24px;}
.gate .doc{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);padding:12px 14px;border:1px solid var(--line-2);border-radius:5px;background:var(--paper-2);}
.gate .doc .ic{width:18px;height:18px;color:var(--steel-soft);flex:none;}
.gate .doc .lk{margin-left:auto;color:var(--steel-soft);}
.gate .body form{display:grid;gap:12px;}

/* ---------- legal ---------- */
.legaldoc{max-width:760px;}
.legaldoc h3{font-size:21px;margin:32px 0 10px;}
.legaldoc h3:first-child{margin-top:0;}
.legaldoc p{font-size:14.5px;color:var(--muted);margin-bottom:12px;}
.legaldoc .upd{font-size:12px;color:var(--muted-2);letter-spacing:.04em;border-left:2px solid var(--brass-soft);padding-left:14px;margin-bottom:8px;}

/* ---------- footer ---------- */
footer.site{background:#06101f;color:#8298b4;padding:80px 0 36px;position:relative;overflow:hidden;}
footer.site:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,154,102,.4),transparent);}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;margin-bottom:50px;}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr;gap:34px;}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr;}}
footer.site .flogo{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
footer.site .flogo .name{font-family:var(--serif);color:#E3EAF3;font-size:20px;letter-spacing:.03em;}
footer.site .about{font-size:13.5px;max-width:34ch;line-height:1.7;}
footer.site .motif{margin-top:18px;font-family:var(--serif);font-style:italic;color:#a9bcd6;font-size:14px;}
footer.site .ftitle{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#64799a;margin-bottom:16px;}
footer.site .fcol a{display:block;color:#90a4bd;font-size:13.5px;padding:6px 0;transition:color .25s,padding-left .25s;}
footer.site .fcol a:hover{color:#E3EAF3;padding-left:5px;}
footer.site .subscribe p{font-size:13.5px;margin-bottom:14px;line-height:1.6;}
footer.site .subform{display:flex;border:1px solid rgba(255,255,255,.16);border-radius:4px;overflow:hidden;background:rgba(255,255,255,.03);}
footer.site .subform input{flex:1;background:transparent;border:none;color:#fff;font-size:13px;padding:12px 14px;font-family:var(--sans);}
footer.site .subform input:focus{outline:none;}
footer.site .subform button{background:var(--brass);color:#fff;border:none;padding:0 18px;cursor:pointer;font-size:16px;transition:background .25s;}
footer.site .subform button:hover{background:var(--brass-soft);}
footer.site .subnote{font-size:11px;color:#5d7194;margin-top:10px;}
footer.site .fbase{border-top:1px solid rgba(255,255,255,.08);padding-top:26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;color:#566b88;}
footer.site .fbase a{color:#7a8fad;}
footer.site .fbase a:hover{color:#C7D3E2;}
.disclaimer-foot{font-size:10.5px;color:#445a78;line-height:1.6;max-width:none;margin-top:18px;border-top:1px solid rgba(255,255,255,.06);padding-top:18px;}

/* back to top */
.totop{position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .4s var(--ease);z-index:90;box-shadow:var(--shadow-m);}
.totop.show{opacity:1;pointer-events:auto;transform:none;}
.totop:hover{background:var(--navy-3);}

/* letter reader modal */
.modal-ov{position:fixed;inset:0;background:rgba(8,18,33,.7);backdrop-filter:blur(4px);z-index:120;display:none;align-items:flex-start;justify-content:center;padding:50px 20px;overflow:auto;}
.modal-ov.show{display:flex;}
.modal{background:#fff;max-width:680px;width:100%;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-l);animation:pageIn .4s var(--ease);}
.modal .mh{background:linear-gradient(160deg,#0A1A30,#10294b);color:#fff;padding:32px 38px;position:relative;}
.modal .mh .d{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-pale);}
.modal .mh h3{color:#fff;font-size:26px;margin-top:8px;}
.modal .mh .cl{position:absolute;top:20px;right:22px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;cursor:pointer;font-size:15px;}
.modal .mh .cl:hover{background:rgba(255,255,255,.24);}
.modal .mb{padding:32px 38px 38px;}
.modal .mb p{font-size:15px;color:var(--ink);margin-bottom:14px;}
.modal .mb p.drop:first-letter{font-family:var(--serif);font-size:46px;float:left;line-height:.8;padding:6px 10px 0 0;color:var(--navy);}
.modal .mb .sig{font-family:var(--serif);font-style:italic;color:var(--muted);margin-top:20px;}

/* ============================================================
   v1.1 — VISUAL REFINEMENT LAYER (assets + polish)
   ============================================================ */
::selection{background:rgba(51,86,127,.20);color:var(--navy);}
html{scrollbar-color:#3a597f #e7edf4;}
body{font-feature-settings:"kern" 1,"liga" 1;letter-spacing:.002em;}

/* --- official logo treatment --- */
.logo{gap:14px;}
.logo-mark{width:36px;height:36px;object-fit:contain;display:block;filter:drop-shadow(0 3px 8px rgba(0,0,0,.34));transition:transform .5s var(--ease),filter .5s;}
.logo:hover .logo-mark{transform:scale(1.06);filter:drop-shadow(0 5px 12px rgba(60,120,200,.4));}
header.nav.scrolled .logo-mark{width:31px;height:31px;}
.logo .wm{gap:0;}
.logo .wm .name{font-family:var(--sans);font-weight:700;font-size:18px;letter-spacing:.01em;color:#fff;text-transform:lowercase;line-height:1;}
.logo .wm .tag{font-size:8.5px;letter-spacing:.44em;text-transform:uppercase;color:var(--steel-pale);margin-top:5px;}
footer.site .flogo{align-items:center;gap:13px;}
footer.site .flogo .logo-mark.foot{width:32px;height:32px;}
footer.site .flogo .name{font-family:var(--sans);font-weight:700;font-size:19px;color:#E3EAF3;letter-spacing:.01em;text-transform:lowercase;}
footer.site .flogo .name .lt{font-weight:400;color:#7a8fad;}

/* --- executive portraits (real photography, unified treatment) --- */
.portrait{background:#0b1c33;box-shadow:0 26px 56px rgba(8,18,33,.30);border:1px solid rgba(255,255,255,.10);}
.portrait-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform 1.2s var(--ease);}
.member:hover .portrait-img{transform:scale(1.05);}
.pgrad{position:absolute;inset:0;pointer-events:none;background:
   linear-gradient(to top,rgba(8,18,33,.66),rgba(8,18,33,0) 44%),
   linear-gradient(125deg,rgba(10,26,48,.20),transparent 55%);}
.portrait:after{content:"";position:absolute;inset:7px;border:1px solid rgba(184,154,102,0);border-radius:5px;transition:border-color .55s var(--ease);pointer-events:none;z-index:3;}
.member:hover .portrait:after{border-color:rgba(184,154,102,.5);}
.portrait .sheen{z-index:4;}
.member h4{letter-spacing:-.01em;margin-top:2px;}
.member .role{position:relative;display:inline-block;}
.member .role:after{content:"";display:block;width:24px;height:1px;background:var(--brass-soft);margin:9px auto 0;}

/* --- richer hero --- */
.hero{padding:166px 0 140px;}
.hero .bg{animation:heroDrift 22s ease-in-out infinite alternate;}
@keyframes heroDrift{0%{transform:scale(1.04) translate(0,0);}100%{transform:scale(1.1) translate(-1.5%,1%);}}
.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,154,102,.55),transparent);z-index:3;}
.hero h1{font-size:70px;letter-spacing:-.025em;}
.hero h1 em{position:relative;}
.hero .ribbon{background:rgba(255,255,255,.04);backdrop-filter:blur(6px);}
.hero .acts .btn{font-weight:600;}
@media(max-width:880px){.hero{padding:120px 0 96px;}.hero h1{font-size:46px;}}
@media(max-width:480px){.hero h1{font-size:35px;}}

/* trust strip refinement */
.tstrip .item .n{background:linear-gradient(180deg,#fff,#b9ccdf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* --- type hierarchy & rhythm --- */
.sec-head h2,.split .txt h2,.band h2,.phead h1,.proof .cap{letter-spacing:-.018em;}
.eyebrow{letter-spacing:.28em;}
.sec-head p{line-height:1.7;}

/* --- refined buttons --- */
.btn{font-weight:600;letter-spacing:.035em;border-radius:3px;}
.btn-light{background:linear-gradient(180deg,#ffffff,#eef3f8);}
.btn-light:hover{box-shadow:0 16px 34px rgba(10,26,48,.20);}
.btn-navy{background:linear-gradient(165deg,#15315a,#0a1a30);}
.btn-navy:hover{background:linear-gradient(165deg,#1a3a68,#0d2244);}
.navcta{letter-spacing:.06em;font-weight:600;}

/* --- premium cards --- */
.pcard,.card{background:linear-gradient(180deg,#ffffff,#fbfcfe);border-radius:8px;}
.pcard{border-radius:9px;}
.pcard .ic,.card .ic{transition:transform .5s var(--ease),color .4s;}
.pcard:hover .ic,.card:hover .ic{transform:translateY(-2px);color:var(--steel);}
.card{position:relative;}
.card:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--steel),transparent);opacity:0;transition:opacity .45s;}
.card:hover:before{opacity:1;}

/* feature visual & placeholders refinement */
.feature-vis{box-shadow:0 30px 64px rgba(10,26,48,.20);}
.feature-vis:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.10);border-radius:5px;pointer-events:none;}
.imgph{background:radial-gradient(120% 120% at 50% 0,#f1f5f9,#e7edf4);}
.imgph:after{content:"";position:absolute;inset:12px;border:1px dashed rgba(92,125,163,.32);border-radius:5px;pointer-events:none;}

/* section hairline transitions */
.band:before,.proof:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,154,102,.3),transparent);}
.proof{position:relative;}

/* nav polish */
header.nav{border-bottom-color:rgba(255,255,255,.10);}
.navlinks a.nl:after{height:1.5px;background:var(--brass-soft);}

/* letters refinement */
.letter:hover .go{color:var(--brass);transform:translateX(4px);}
.letter .go{transition:transform .3s var(--ease),color .3s;}

/* ============================================================
   v1.2 — ART DIRECTION (hero skyline + real performance chart)
   ============================================================ */
.hero{padding-bottom:160px;}
.hero .skyline{position:absolute;left:0;right:0;bottom:0;height:66%;z-index:1;pointer-events:none;
  -webkit-mask-image:linear-gradient(to top,#000 58%,transparent);mask-image:linear-gradient(to top,#000 62%,transparent);
  animation:skyRise 1.6s var(--ease) both;}
.hero .skyline svg{width:100%;height:100%;display:block;}
@keyframes skyRise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.hero .scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:
   linear-gradient(90deg,rgba(8,18,33,.62) 0%,rgba(8,18,33,.18) 42%,transparent 68%),
   linear-gradient(0deg,rgba(8,18,33,.78) 0%,rgba(8,18,33,.10) 32%,transparent 50%);}
.hero .grid-tex{z-index:1;}
@media(max-width:880px){.hero .skyline{height:48%;}.hero{padding-bottom:120px;}}

/* real performance chart frame */
.chartframe{max-width:780px;margin:34px auto 0;background:#fff;border-radius:11px;overflow:hidden;
  box-shadow:0 36px 80px rgba(10,26,48,.24);border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease);}
.chartframe:hover{transform:translateY(-4px);box-shadow:0 44px 92px rgba(10,26,48,.28);}
.cf-bar{display:flex;align-items:center;gap:8px;padding:12px 18px;background:linear-gradient(180deg,#0e2240,#0a1a30);border-bottom:1px solid rgba(255,255,255,.07);}
.cf-bar .cfdot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.20);}
.cf-bar .cfdot:nth-child(3){margin-right:6px;}
.cf-bar .cf-title{font-size:11.5px;letter-spacing:.05em;color:#aebfd4;text-transform:uppercase;}
.cf-bar .cf-src{margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-soft);border:1px solid rgba(184,154,102,.4);padding:3px 9px;border-radius:20px;}
@media(max-width:560px){.cf-bar .cf-src{display:none;}}
.cf-img{width:100%;display:block;background:#fff;}
.chart-cap{max-width:680px;margin:18px auto 0;text-align:center;font-size:12.5px;color:var(--muted-2);line-height:1.65;}

/* ===== v1.3 — real photography ===== */
.hero .skyline{display:none!important;}
.hero .bg{display:none!important;}
.hero-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:50% 42%;}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,27,.92),rgba(7,15,27,.62) 52%,rgba(7,15,27,.44)),linear-gradient(0deg,rgba(7,15,27,.86),rgba(7,15,27,.12) 44%);}
.hero .grid-tex{z-index:1;opacity:.22;}
.hero .scrim{z-index:1;}
.feature-vis.has-photo{background:#0a1a30;}
.feature-vis .fv-photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;transition:transform 1.2s var(--ease);}
.feature-vis.has-photo:hover .fv-photo{transform:scale(1.05);}
.feature-vis.has-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(10,26,48,.76),rgba(16,41,75,.58));z-index:1;}
.feature-vis.has-photo .tex,.feature-vis.has-photo .quote,.feature-vis.has-photo .qm{position:relative;z-index:2;}
.photo-fill{position:relative;border-radius:8px;background-size:cover;background-position:center;box-shadow:var(--shadow-m);border:1px solid rgba(10,26,48,.10);overflow:hidden;}
.band-night{position:relative;}
.band-night .bg{display:none;}
.band-night .band-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 35%;}
.band-night .band-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(8,18,33,.84),rgba(8,18,33,.72));}
.band-night .wrap.in{position:relative;z-index:2;}

/* ===== v1.4 — page-header photography ===== */
.phead .bg{display:none!important;}
.phead-photo{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;}
.phead-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,27,.9),rgba(7,15,27,.6) 50%,rgba(7,15,27,.42)),linear-gradient(0deg,rgba(7,15,27,.78),rgba(7,15,27,.1) 55%);}
.phead .grid-tex{z-index:1;opacity:.18;}
.phead .in{position:relative;z-index:2;}

/* ============================================================
   v2.0 — Phase II (nav utility · language · client login · performance framing)
   ============================================================ */
.nav-util{display:flex;align-items:center;gap:18px;margin-left:10px;}
.nav-login{color:#C7D3E2 !important;font-size:12.5px;letter-spacing:.04em;border:1px solid rgba(255,255,255,.24);padding:8px 15px;border-radius:2px;transition:all .25s var(--ease);white-space:nowrap;}
.nav-login:hover{background:rgba(255,255,255,.08);color:#fff !important;border-color:rgba(255,255,255,.4);}
.lang{position:relative;}
.lang-btn{background:none;border:none;color:#C7D3E2;font-size:12.5px;letter-spacing:.1em;cursor:pointer;font-family:var(--sans);padding:6px 2px;}
.lang-btn:after{content:"▾";margin-left:5px;font-size:9px;opacity:.7;}
.lang-btn:hover{color:#fff;}
.lang-menu{display:none;position:absolute;right:0;top:150%;background:#0e2240;border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:6px;min-width:160px;box-shadow:0 22px 46px rgba(0,0,0,.42);z-index:130;}
.lang-menu.open{display:block;}
.lang-menu a{display:block;color:#C7D3E2;font-size:13px;padding:9px 13px;border-radius:3px;cursor:pointer;letter-spacing:.02em;}
.lang-menu a:hover,.lang-menu a.on{background:rgba(255,255,255,.09);color:#fff;}
.proof-h{font-size:34px;margin:12px 0 14px;color:var(--navy);letter-spacing:-.018em;}
.disclosure-note{max-width:660px;margin:34px auto 0;text-align:left;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:0 6px 6px 0;padding:20px 26px;}
.disclosure-note p{font-size:14px;color:var(--muted);line-height:1.7;}
.disclosure-note strong{color:var(--navy);font-family:var(--serif);font-weight:normal;}
@media(max-width:980px){
  .nav-util{width:100%;flex-direction:column;align-items:stretch;gap:12px;margin:14px 0 4px;}
  .nav-login{text-align:center;}
  .lang-menu{position:static;box-shadow:none;width:100%;}
  .navcta{text-align:center;}
}

/* ============================================================
   v3.0 — Phase III (nav hierarchy · evidence strip · statement card · banners)
   ============================================================ */
.nav-req{color:#C7D3E2 !important;font-size:12.5px;letter-spacing:.04em;white-space:nowrap;transition:color .25s var(--ease);}
.nav-req:hover{color:#fff !important;}
.nav-portal{color:#fff !important;font-size:12.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap;padding:9px 18px;border:1px solid var(--brass-soft);background:rgba(184,154,102,.14);border-radius:2px;transition:all .25s var(--ease);}
.nav-portal:hover{background:var(--brass-soft);color:#0A1A30 !important;}
/* de-emphasise the old navcta styling if it lingers anywhere */
.navcta{background:transparent;border:1px solid rgba(255,255,255,.24);}
/* evidence strip on Performance */
.whatwereport{max-width:900px;margin:34px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper-2);}
.whatwereport .wr-item{padding:22px 20px;text-align:center;border-right:1px solid var(--line-2);font-size:12.5px;color:var(--muted);line-height:1.5;}
.whatwereport .wr-item:last-child{border-right:none;}
.whatwereport .wr-item b{display:block;font-family:var(--serif);font-weight:normal;font-size:18px;color:var(--navy);margin-bottom:6px;letter-spacing:-.01em;}
@media(max-width:760px){.whatwereport{grid-template-columns:1fr 1fr;} .whatwereport .wr-item:nth-child(2){border-right:none;} .whatwereport .wr-item:nth-child(1),.whatwereport .wr-item:nth-child(2){border-bottom:1px solid var(--line-2);}}
/* statement card (Investor Experience) */
.statement-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 26px 60px rgba(10,26,48,.14);padding:28px 30px;min-height:360px;display:flex;flex-direction:column;justify-content:center;}
.statement-card .sc-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line-2);margin-bottom:6px;}
.statement-card .sc-brand{display:flex;align-items:center;gap:10px;}
.statement-card .sc-brand img{width:26px;height:26px;}
.statement-card .sc-brand span{font-size:15px;color:var(--navy);font-weight:700;letter-spacing:.01em;}
.statement-card .sc-brand b{font-weight:400;color:var(--muted-2);}
.statement-card .sc-tag{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-soft);font-weight:700;}
.statement-card .sc-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line-2);font-size:14px;color:var(--muted);}
.statement-card .sc-row b{font-family:var(--serif);font-weight:normal;color:var(--navy);font-size:16px;}
.statement-card .sc-row b.pos{color:#1F6B4E;}
.statement-card .sc-verify{margin-top:16px;font-size:12px;color:#1F6B4E;letter-spacing:.02em;}
