
@font-face{font-family:'Spectral';src:url('assets/fonts/Spectral-Regular.ttf');font-weight:400}
@font-face{font-family:'Spectral';src:url('assets/fonts/Spectral-Medium.ttf');font-weight:500}
@font-face{font-family:'Spectral';src:url('assets/fonts/Spectral-SemiBold.ttf');font-weight:600}
@font-face{font-family:'Spectral';src:url('assets/fonts/Spectral-Bold.ttf');font-weight:700}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-Regular.ttf');font-weight:400}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-Medium.ttf');font-weight:500}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-SemiBold.ttf');font-weight:600}
@font-face{font-family:'Poppins';src:url('assets/fonts/Poppins-Bold.ttf');font-weight:700}

:root{
  --ink:#152A41;--ink2:#0E2032;--ink3:#0A1828;--blue:#1C6FB8;--blue-d:#15527F;--teal:#1B8E8E;--amber:#D88A1E;--amber-l:#EBA94C;
  --slate:#5E7180;--slate2:#8194A4;--canvas:#FBFCFE;--panel:#F3F7FB;--line:#E7EDF4;--line2:#DBE4EE;
  --serif:'Spectral',Georgia,serif;--sans:'Poppins',system-ui,sans-serif;--wrap:1320px;
  --sh:0 18px 48px rgba(20,40,61,.10);--sh-s:0 6px 18px rgba(20,40,61,.07);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--canvas);line-height:1.7;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--blue);display:inline-block;margin-right:12px}
.eyebrow.t{color:var(--teal)}.eyebrow.t::before{background:var(--teal)}
.eyebrow.lt{color:#7FB7E6}.eyebrow.lt::before{background:#7FB7E6}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:.96rem;padding:14px 26px;border-radius:7px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s;letter-spacing:.01em}
.btn .ar{transition:transform .2s}.btn:hover .ar{transform:translateX(4px)}
.btn-primary{background:linear-gradient(135deg,#2073BC,#15527F);color:#fff;box-shadow:0 10px 24px rgba(28,111,184,.26)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(28,111,184,.32)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line2);box-shadow:var(--sh-s)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.btn-text{color:var(--ink);font-weight:600;padding:14px 6px}
.btn-text:hover{color:var(--blue)}
.btn-light{background:#fff;color:var(--ink2)}.btn-light:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.25)}
.btn-outline-l{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}.btn-outline-l:hover{background:rgba(255,255,255,.08);border-color:#fff}

/* header */
header{position:sticky;top:0;z-index:60;background:rgba(251,252,254,.82);backdrop-filter:saturate(160%) blur(12px);transition:box-shadow .3s,border-color .3s;border-bottom:1px solid transparent}
header.scrolled{box-shadow:0 1px 0 var(--line);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand img{height:40px}
.navlinks{display:flex;align-items:center}
.navlinks a.l,.navlinks .btn{margin-left:36px}
.navlinks a.l{font-family:var(--sans);font-weight:500;font-size:.95rem;color:var(--slate);transition:color .2s}
.navlinks a.l:hover,.navlinks a.l.active{color:var(--ink)}
.menu{display:none;background:none;border:0;cursor:pointer;padding:8px}.menu span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

/* hero */
.hero{position:relative;overflow:hidden;padding:84px 0 96px}
.hero::before{content:"";position:absolute;top:-340px;right:-220px;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,#ECF3FA,rgba(236,243,250,0));z-index:0}
.hero-in{display:flex;align-items:center;gap:56px;position:relative;z-index:1}
.hero-l{flex:1 1 540px;min-width:300px}
.hero h1{font-size:clamp(2.7rem,5.4vw,4.4rem);font-weight:600;margin:26px 0 0;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .sub{font-size:1.18rem;color:var(--slate);margin:26px 0 36px;max-width:560px;line-height:1.66}
.cta-row{display:flex;flex-wrap:wrap;align-items:center}
.cta-row .btn{margin-right:16px}
.trust{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.trust span{font-size:.86rem;color:var(--slate2);font-weight:500;display:flex;align-items:center;gap:9px;margin-right:26px}
.trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal)}
.hero-r{flex:0 1 440px;min-width:300px;display:flex;justify-content:center}

/* hero visual panel */
.panel{width:100%;max-width:430px;background:linear-gradient(165deg,#FFFFFF,#F1F7FC);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh);padding:30px 30px 26px;position:relative}
.panel .ptag{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.panel .ptag .lbl{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate2)}
.panel .ptag .live{font-family:var(--sans);font-size:.7rem;font-weight:600;color:var(--teal);display:flex;align-items:center;gap:7px}
.panel .ptag .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(27,142,142,.16)}
.loopsvg{width:100%;height:auto;display:block}
.panel .metrics{display:flex;margin-top:18px}
.panel .metric{flex:1;margin-right:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px}
.panel .metric .k{font-family:var(--sans);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate2);font-weight:600}
.panel .metric .v{font-family:var(--serif);font-weight:600;font-size:1.25rem;color:var(--ink);margin-top:2px}
.panel .metric .v small{font-size:.7rem;color:var(--teal);font-family:var(--sans);font-weight:600;margin-left:3px}

/* section */
section{padding:clamp(80px,9vw,124px) 0}
.shead{max-width:680px;margin-bottom:54px}
.shead h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-top:18px}
.shead p{color:var(--slate);font-size:1.12rem;margin-top:18px}
.shead.center{margin-left:auto;margin-right:auto;text-align:center}
.shead.center .eyebrow{justify-content:center}

/* value columns */
.cols{display:flex;flex-wrap:wrap;margin:0 -18px}
.col{flex:1 1 240px;margin:0 18px;padding-top:26px;border-top:2px solid var(--ink);position:relative}
.col::after{content:"";position:absolute;top:-2px;left:0;width:46px;height:2px;background:var(--blue)}
.col:nth-child(2)::after{background:var(--teal)}
.col:nth-child(3)::after{background:var(--amber)}
.col .cn{font-family:var(--serif);font-weight:600;color:var(--blue);font-size:1.05rem}
.col:nth-child(2) .cn{color:var(--teal)}
.col:nth-child(3) .cn{color:var(--amber)}
.col h3{font-family:var(--sans);font-weight:600;font-size:1.28rem;margin:12px 0 10px;letter-spacing:0}
.col p{color:var(--slate);font-size:1.02rem}

/* dark section */
.dark{background:linear-gradient(165deg,#0E2032,#0A1828);color:#fff;position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;top:-200px;left:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(28,111,184,.18),transparent 70%)}
.dark::after{content:"";position:absolute;bottom:-220px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(27,142,142,.14),transparent 70%)}
.dark .wrap{position:relative;z-index:1}
.dark h2{color:#fff;font-size:clamp(2rem,3.6vw,2.9rem)}
.dark .shead p{color:#AFC3D6}
.steps{display:flex;flex-wrap:wrap;gap:0;margin-top:8px}
.step{flex:1 1 230px;padding:30px 28px 8px 0;border-top:1px solid rgba(255,255,255,.16)}
.step .sn{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:#5FA8E0}
.step:nth-child(2) .sn{color:#5BC8C3}
.step:nth-child(3) .sn{color:#EBA94C}
.step:nth-child(4) .sn{color:#5FA8E0}
.step h3{font-family:var(--sans);font-weight:600;font-size:1.18rem;color:#fff;margin:14px 0 9px}
.step p{color:#9FB6CB;font-size:.98rem}

/* capabilities split */
.split{display:flex;gap:56px;align-items:center;flex-wrap:wrap}
.split .sv{flex:1 1 700px;min-width:300px}
.split .sx{flex:1 1 300px;min-width:280px}
.figframe{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;box-shadow:var(--sh)}
.figframe img{width:100%;border-radius:6px}
.figcap{font-family:var(--sans);font-size:.82rem;color:var(--slate2);margin-top:12px;text-align:center;font-weight:500}
.caplist{margin-top:4px}
.capitem{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.capitem:last-child{border-bottom:0}
.capitem .ci{flex:0 0 40px;height:40px;border-radius:10px;background:#EAF2FA;color:var(--blue);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600}
.capitem:nth-child(2) .ci{background:#E4F1F0;color:var(--teal)}
.capitem:nth-child(3) .ci{background:#FBEFDB;color:var(--amber)}
.capitem:nth-child(4) .ci{background:#EAF2FA;color:var(--blue)}
.capitem .ch{font-family:var(--sans);font-weight:600;font-size:1.06rem}
.capitem .cd{color:var(--slate);font-size:.95rem}

/* CTA */
.cta{background:linear-gradient(135deg,#123A5C,#0C1C2E);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -10%,rgba(28,111,184,.30),transparent 60%)}
.cta .wrap{position:relative;z-index:1}
.cta h2{color:#fff;font-size:clamp(2rem,3.8vw,3rem)}
.cta p{color:#B6C8DA;font-size:1.16rem;margin:18px auto 32px;max-width:560px}

/* footer */
footer{background:#0A1828;color:#fff;padding:70px 0 34px}
.fgrid{display:flex;flex-wrap:wrap;gap:44px;justify-content:space-between}
.fb{flex:1 1 280px}
footer img{height:36px}
.fb p{color:#94A9BD;margin-top:18px;max-width:300px;font-size:.96rem}
footer h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#6B8298;margin-bottom:18px}
.col-f a{display:block;color:#A9BDD0;margin-bottom:11px;font-size:.96rem}.col-f a:hover{color:#fff}
.fbot{border-top:1px solid #1E3447;margin-top:46px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#6B8298;font-size:.86rem}

/* reveal + motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@keyframes orbit{to{transform:rotate(360deg)}}
.loopsvg{cursor:pointer}
.lg-comet{opacity:0;transform-box:fill-box;transform-origin:center}
.lg-ring{stroke-dasharray:500;stroke-dashoffset:0}
.lg-node{transform-box:fill-box;transform-origin:center}
.loopsvg.play .lg-comet{animation:lgSpin 2.9s cubic-bezier(.16,.62,.28,1) .12s 1 both}
.loopsvg.play .lg-ring{animation:lgDraw .85s ease 2.3s 1 both}
.loopsvg.play .lg-node{animation:lgPop .5s cubic-bezier(.34,1.5,.5,1) 2.95s 1 both}
@keyframes lgSpin{0%{opacity:1;transform:rotate(0)}80%{opacity:1;transform:rotate(1080deg)}100%{opacity:0;transform:rotate(1080deg)}}
@keyframes lgDraw{from{stroke-dashoffset:500}to{stroke-dashoffset:0}}
@keyframes lgPop{from{transform:scale(0)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.loopsvg.play .lg-comet,.loopsvg.play .lg-ring,.loopsvg.play .lg-node{animation:none!important}.lg-comet{opacity:0}.lg-ring{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.spin{animation:none}}

@media(max-width:880px){
  .hero-in{flex-direction:column;align-items:flex-start}.hero-r{order:-1;align-self:center}
  .split{gap:32px}
}
@media(max-width:680px){
  .navlinks{position:fixed;inset:80px 0 auto 0;flex-direction:column;align-items:flex-start;background:var(--canvas);padding:24px 32px;gap:20px;display:none;border-bottom:1px solid var(--line)}
  .navlinks.open{display:flex}.menu{display:block}
  section{padding:64px 0}
}

/* ===== inner page components ===== */
.phead{padding:74px 0 14px;position:relative;overflow:hidden}
.phead::before{content:"";position:absolute;top:-300px;right:-200px;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,#ECF3FA,rgba(236,243,250,0));z-index:0}
.phead .wrap{position:relative;z-index:1}
.phead h1{font-size:clamp(2.4rem,4.8vw,3.6rem);margin-top:20px}
.phead .lead{color:var(--slate);font-size:1.2rem;max-width:700px;margin-top:20px}
.icards{display:flex;flex-wrap:wrap;margin:0 -12px}
.icard{flex:1 1 270px;margin:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:var(--sh-s);transition:transform .2s,box-shadow .2s}
.icard:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.icard .ic{width:46px;height:46px;border-radius:11px;background:#EAF2FA;color:var(--blue);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;margin-bottom:16px}
.icard:nth-child(3n+2) .ic{background:#E4F1F0;color:var(--teal)}.icard:nth-child(3n) .ic{background:#FBEFDB;color:var(--amber)}
.icard h3{font-family:var(--sans);font-weight:600;font-size:1.14rem;margin-bottom:8px}
.icard p{color:var(--slate);font-size:.96rem}
.prose{max-width:760px}.prose p{color:var(--slate);font-size:1.08rem;margin-bottom:18px}
.prose h3{font-family:var(--sans);font-weight:600;font-size:1.3rem;margin:32px 0 12px;color:var(--ink)}
.aboutgrid{display:flex;gap:56px;flex-wrap:wrap;align-items:flex-start}
.aboutgrid .al{flex:1 1 440px}.aboutgrid .ar{flex:1 1 300px}
.factcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}
.factrow{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.factrow:last-child{border-bottom:0}
.factrow .k{font-family:var(--sans);font-weight:600;color:var(--slate);font-size:.92rem}
.factrow .v{font-family:var(--serif);font-weight:600;text-align:right}
.cform .field{margin-bottom:18px}
.cform label{display:block;font-family:var(--sans);font-weight:600;font-size:.9rem;margin-bottom:8px}
.cform input,.cform textarea,.cform select{width:100%;padding:13px 15px;border:1.5px solid var(--line2);border-radius:8px;font-family:var(--sans);font-size:1rem;color:var(--ink);background:#fff}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(28,111,184,.1)}
.cform textarea{min-height:150px;resize:vertical}
.cform .consent{display:flex;gap:11px;align-items:flex-start;margin:4px 0 22px}
.cform .consent input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--blue);cursor:pointer}
.cform .consent label{font-weight:400;font-size:.92rem;line-height:1.5;margin:0;color:var(--slate)}
.cform .consent a{color:var(--blue);text-decoration:underline}
.cform .req{color:#c0392b}
.flist{border-top:1px solid var(--ink)}
.frow{display:flex;gap:24px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--line)}
.frow .fi{flex:0 0 40px;font-family:var(--serif);font-weight:600;color:var(--blue)}
.frow .fn{flex:0 0 210px;font-family:var(--sans);font-weight:600;font-size:1.08rem}
.frow .fd{flex:1 1 320px;color:var(--slate)}
.stackgrid{display:flex;flex-wrap:wrap;margin:0 -10px}
.stackgrid .si{flex:1 1 240px;margin:10px;display:flex;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.stackgrid .si .k{font-family:var(--sans);font-weight:600}.stackgrid .si .v{font-family:var(--sans);color:var(--slate);font-size:.9rem;text-align:right}
.capblock{display:flex;gap:48px;align-items:center;padding:48px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.capblock:nth-child(even){flex-direction:row-reverse}
.capblock .cbx{flex:1 1 300px}.capblock .cbv{flex:1 1 700px}
.capblock h3{font-size:clamp(1.5rem,2.6vw,2.05rem);margin:12px 0 12px}
.capblock p{color:var(--slate);font-size:1.04rem}
.bcrumb{font-family:var(--sans);font-size:.86rem;color:var(--slate2);font-weight:500}

/* --- capability maturity + founder links --- */
.mat{padding:8px 0 20px}
.mat-head{max-width:730px;margin-bottom:30px}
.mat-head h2{font-size:clamp(1.5rem,3.4vw,2.15rem);margin:14px 0 12px}
.mtable{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--sh-s);overflow:hidden}
.mtable > :first-child{border-top:0}
.mt-grp{font-family:var(--sans);font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--slate2);padding:20px 26px 11px;border-top:1px solid var(--line)}
.mt-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px;border-top:1px solid var(--line)}
.mt-grp + .mt-row{border-top:0}
.mt-name{font-family:var(--sans);font-size:.98rem;color:var(--ink)}
.mt-stat{font-family:var(--sans);font-weight:600;font-size:.8rem;display:inline-flex;align-items:center;white-space:nowrap}
.mt-stat::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;margin-right:9px}
.mt-stat.impl{color:var(--teal)}
.mt-stat.impl::before{background:var(--teal);box-shadow:0 0 0 3px rgba(27,142,142,.15)}
.mt-stat.plan{color:var(--slate2)}
.mt-stat.plan::before{background:#fff;border:1.5px solid var(--slate2)}
.mt-note{margin:18px 2px 0;font-family:var(--sans);font-size:.9rem;color:var(--slate);line-height:1.62;max-width:780px}
.founderlinks{display:flex;flex-wrap:wrap;gap:10px 18px;margin:2px 0 4px}
.founderlinks a{font-family:var(--sans);font-weight:600;font-size:.92rem;color:var(--blue);border-bottom:1px solid transparent;transition:border-color .2s}
.founderlinks a:hover{border-bottom-color:var(--blue)}
@media(max-width:540px){.mt-name{font-size:.92rem}.mt-row{padding:13px 18px}.mt-grp{padding:16px 18px 9px}}
