*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --navy:#060f1e;
  --navy2:#0a1a2e;
  --navy3:#0d2040;
  --teal:#00c8a0;
  --teal2:#00a882;
  --teal-dim:rgba(0,200,160,.1);
  --white:#fff;
  --off:#f7fafd;
  --grey:#f0f4f8;
  --text:#0f1f30;
  --mute:#5a7085;
  --bord:#dde5ee;
  --bord-d:rgba(255,255,255,.07);
  --r:10px;
  --tr:.25s ease;
  --max:1180px;
}

html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;font-size:16px;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;line-height:1.08}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(6,15,30,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,200,160,.14)}
.hd{max-width:var(--max);margin:0 auto;padding:0 36px;height:68px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px}
.logo-t{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.14em;color:#fff;text-transform:uppercase}
nav{display:flex;align-items:center;gap:6px}
.nl{display:flex;align-items:center;gap:2px}
.nl a{color:rgba(255,255,255,.6);font-size:13.5px;font-weight:500;padding:7px 15px;border-radius:7px;transition:all var(--tr)}
.nl a:hover,.nl a.active{color:#fff;background:rgba(255,255,255,.06)}
.nbtn{background:var(--teal) !important;color:#fff !important;padding:8px 20px !important}
.nbtn:hover{background:var(--teal2) !important}
.ntog{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:8px;line-height:1}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;padding:14px 28px;border-radius:8px;font-size:15px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;transition:all var(--tr);white-space:nowrap}
.btn-t{background:var(--teal);color:#fff}
.btn-t:hover{background:var(--teal2);transform:translateY(-1px);box-shadow:0 10px 30px rgba(0,200,160,.3)}
.btn-o{border:1.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.8);background:transparent}
.btn-o:hover{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.04)}
.btn-lg{padding:17px 38px;font-size:16px}

/* HERO */
.hero{min-height:100vh;background:var(--navy);display:flex;align-items:center;padding:128px 36px 80px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;width:700px;height:700px;background:radial-gradient(circle,rgba(0,200,160,.12) 0%,transparent 65%);border-radius:50%;top:50%;right:5%;transform:translateY(-50%);pointer-events:none;animation:glow 7s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.7;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.15)}}
.hi{max-width:var(--max);margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:22px}
.hero h1{font-size:clamp(52px,6vw,88px);font-weight:700;color:#fff;margin-bottom:24px}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero-p{font-size:17px;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:40px;max-width:400px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* TERMINAL */
.term-wrap{background:#080f1c;border-radius:14px;border:1px solid rgba(0,200,160,.15);box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 0 1px rgba(0,200,160,.08);overflow:hidden}
.term-bar{background:#0d1520;padding:13px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.04)}
.dot{width:12px;height:12px;border-radius:50%}
.dr{background:#ff5f57}.dy{background:#febc2e}.dg{background:#28c840}
.term-ttl{flex:1;text-align:center;font-size:11px;color:rgba(255,255,255,.28);font-family:'Inter',sans-serif;letter-spacing:.04em}
.term-body{padding:22px 22px 30px;min-height:320px;font-family:'JetBrains Mono',monospace;font-size:12.5px;line-height:1.75;color:#607080;overflow:hidden}
.tl{white-space:pre}
.tc{color:#d0dde8}
.tp{color:#00c8a0}
.th{color:#7ec8b8}
.tcur{display:inline-block;width:7px;height:13px;background:var(--teal);animation:bl 1s step-end infinite;vertical-align:text-bottom;margin-left:2px}
@keyframes bl{0%,100%{opacity:1}50%{opacity:0}}

/* TRUST BAR */
.trust{background:var(--off);border-bottom:1px solid var(--bord);padding:22px 36px}
.trust-i{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.ti{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--mute);padding:8px 30px;white-space:nowrap}
.td{width:1px;height:22px;background:var(--bord)}
.ti svg{flex-shrink:0}

/* SECTIONS */
.s{padding:100px 36px}
.si{max-width:var(--max);margin:0 auto}
.sw{background:var(--white)}
.sg{background:var(--grey)}
.lbl{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.lbl-w{color:var(--teal)}
h2{font-size:clamp(36px,4.5vw,58px);font-weight:700;color:var(--text);margin-bottom:52px}

/* SERVICE CARDS */
.sg4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.sc{background:var(--white);border:1px solid var(--bord);border-radius:var(--r);padding:32px 26px;display:flex;flex-direction:column;transition:all .3s ease}
.sg .sc{background:var(--off)}
.sc:hover{border-color:var(--teal);box-shadow:0 12px 40px rgba(0,200,160,.1);transform:translateY(-4px)}
.sci{width:44px;height:44px;background:var(--teal-dim);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.sc h3{font-family:'Inter',sans-serif;font-size:18px;font-weight:700;margin-bottom:10px;color:var(--text)}
.sc p{font-size:14px;color:var(--mute);line-height:1.65;flex:1;margin-bottom:18px}
.sl{font-size:13px;font-weight:600;color:var(--teal)}
.sl:hover{color:var(--teal2)}

/* STEPS */
.steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:0}
.step{text-align:center;padding:0 16px}
.stn{font-size:48px;font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--teal);line-height:1;margin-bottom:14px;opacity:.5}
.step h4{font-family:'Inter',sans-serif;font-size:15.5px;font-weight:700;color:var(--text);margin-bottom:8px}
.step p{font-size:13.5px;color:var(--mute);line-height:1.55}
.stl{width:36px;height:1px;background:var(--bord);margin-top:30px;align-self:start}

/* EDU SECTION */
.edu{background:var(--navy2);padding:100px 36px}
.edu-i{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.edu h2{color:#fff;margin-bottom:20px}
.edu-p{color:rgba(255,255,255,.55);font-size:16px;line-height:1.75;margin-bottom:34px}
.ck{display:flex;flex-direction:column;gap:12px}
.ck-i{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.7);font-size:14.5px;padding:13px 16px;background:rgba(255,255,255,.04);border-radius:8px;border:1px solid rgba(255,255,255,.05)}
.ck-m{color:var(--teal);font-weight:700;flex-shrink:0;font-size:15px}

/* CTA */
.cta{background:var(--navy3);padding:100px 36px;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,200,160,.1) 0%,transparent 60%);pointer-events:none}
.cta-i{position:relative;max-width:600px;margin:0 auto}
.cta h2{color:#fff;margin-bottom:16px}
.cta p{color:rgba(255,255,255,.55);font-size:17px;line-height:1.65;margin-bottom:36px}

/* FOOTER */
footer{background:var(--navy);padding:60px 36px 36px;border-top:1px solid rgba(255,255,255,.05)}
.fi{max-width:var(--max);margin:0 auto}
.ft{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:start;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:24px}
.fb{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.4);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.fl{display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.fl a{color:rgba(255,255,255,.38);font-size:13.5px;transition:color var(--tr)}
.fl a:hover{color:rgba(255,255,255,.75)}
.fc{display:flex;flex-direction:column;gap:5px;text-align:right}
.fc a{color:rgba(255,255,255,.38);font-size:13px;transition:color var(--tr)}
.fc a:hover{color:var(--teal)}
.fbot p{font-size:11.5px;color:rgba(255,255,255,.2);text-align:center}

/* INNER PAGES */
.ih{background:var(--navy);background-image:radial-gradient(ellipse at 15% 80%,rgba(0,200,160,.07) 0%,transparent 50%);padding:160px 36px 80px}
.ih-i{max-width:var(--max);margin:0 auto}
.ih h1{font-size:clamp(40px,5.5vw,72px);font-weight:700;color:#fff;margin-bottom:16px}

/* PROSE */
.prose{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:56px}
.pb h2{font-size:28px;margin-bottom:16px;color:var(--text)}
.pb p{font-size:16px;color:var(--mute);line-height:1.75;margin-bottom:14px}
.il{color:var(--teal);font-weight:600;font-size:15px}
.il:hover{color:var(--teal2)}

/* SERVICES PAGE */
.svc-list{max-width:var(--max);margin:0 auto}
.sr{display:grid;grid-template-columns:72px 1fr;gap:40px;padding:60px 0;border-bottom:1px solid var(--bord)}
.sr:first-child{padding-top:0}
.sr-n{font-size:52px;font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--teal);opacity:.35;line-height:1}
.sr-b h3{font-family:'Inter',sans-serif;font-size:22px;font-weight:700;color:var(--text);margin-bottom:14px}
.sr-b p{font-size:15.5px;color:var(--mute);line-height:1.7;margin-bottom:22px;max-width:620px}
.srl{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.srl li{font-size:14px;color:var(--mute);padding-left:14px;position:relative}
.srl li::before{content:'–';position:absolute;left:0;color:var(--teal)}

/* EDU FEAT */
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.fc2{background:var(--grey);border-radius:var(--r);padding:22px 18px;border:1px solid var(--bord)}
.fc2 h4{font-family:'Inter',sans-serif;font-size:14.5px;font-weight:700;margin-bottom:7px;color:var(--text)}
.fc2 p{font-size:13.5px;color:var(--mute);line-height:1.6}
.pl li{font-size:15px;color:var(--mute);padding:9px 0 9px 14px;border-bottom:1px solid var(--bord);position:relative}
.pl li::before{content:'–';position:absolute;left:0;color:var(--teal)}

/* CONTACT */
.cg{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}
.cm h3{font-family:'Inter',sans-serif;font-size:22px;font-weight:700;margin-bottom:30px;color:var(--text)}
.cr{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}
.ci{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--teal-dim);border-radius:8px;flex-shrink:0;margin-top:2px}
.cl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.cr a,.cr span{font-size:16px;color:var(--text);font-weight:500;display:block}
.cr a:hover{color:var(--teal)}
.cn{margin-top:22px;font-size:14px;color:var(--mute);line-height:1.65;padding:16px;background:var(--off);border-radius:8px;border-left:3px solid var(--teal)}
.ap{background:var(--off);border:1px solid var(--bord);border-radius:var(--r);padding:24px;margin-bottom:14px}
.ap h4{font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text);margin-bottom:14px;text-transform:uppercase}
.ckl li{font-size:14px;color:var(--mute);padding:8px 0;border-bottom:1px solid var(--bord);display:flex;align-items:center;gap:8px}
.ckl li::before{content:'✓';color:var(--teal);font-weight:700;font-size:12px}
.ckl li:last-child{border-bottom:none}

/* REVEAL */
.rv{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.rv.on{opacity:1;transform:none}
.d1{transition-delay:.08s!important}
.d2{transition-delay:.16s!important}
.d3{transition-delay:.24s!important}

/* MOBILE */
@media(max-width:920px){
  .hi{grid-template-columns:1fr;gap:48px}
  .hero{padding-top:108px}
  .hero-p{max-width:100%}
  .sg4{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .stl{display:none}
  .edu-i{grid-template-columns:1fr;gap:48px}
  .ft{grid-template-columns:1fr;gap:20px}
  .fc{text-align:left}
  .cg{grid-template-columns:1fr}
  .sr{grid-template-columns:1fr;gap:6px}
  .srl{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hd{padding:0 20px}
  .nl{display:none;position:fixed;top:68px;left:0;right:0;flex-direction:column;background:var(--navy);padding:10px;border-bottom:1px solid rgba(255,255,255,.07);gap:2px}
  .nl.open{display:flex}
  .ntog{display:block}
  .hero,.s,.edu,.cta,.ih{padding-left:20px;padding-right:20px}
  .trust,.footer{padding-left:20px;padding-right:20px}
  .hero{padding-top:90px}
  .s{padding-top:72px;padding-bottom:72px}
  .edu,.cta{padding-top:72px;padding-bottom:72px}
  .sg4{grid-template-columns:1fr}
  .hero-cta{flex-direction:column}
  .btn{justify-content:center}
  .td{display:none}
  .ti{padding:6px 14px}
  .sr{padding:40px 0}
  .ih{padding-top:130px;padding-bottom:56px}
}

/* TEAM PAGE */
.team-wrap{max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;gap:72px}
.team-card{display:grid;grid-template-columns:200px 1fr;gap:56px;align-items:start;padding-bottom:72px;border-bottom:1px solid var(--bord)}
.team-av{width:160px;height:160px;background:var(--teal-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:700;color:var(--teal);border:2px solid rgba(0,200,160,.2);flex-shrink:0}
.team-role{font-size:15px;color:var(--teal);font-weight:600;margin-bottom:4px;font-family:'Inter',sans-serif}
.team-loc{font-size:13px;color:var(--mute);margin-bottom:20px;font-family:'Inter',sans-serif}
.team-info h2{font-size:clamp(32px,3.5vw,48px);margin-bottom:6px}
.team-bio{font-size:15.5px;color:var(--mute);line-height:1.75;margin-bottom:24px;max-width:640px}
.certs{display:flex;flex-wrap:wrap;gap:8px}
.cert{font-size:12.5px;font-weight:600;color:var(--teal);background:var(--teal-dim);padding:6px 12px;border-radius:20px;border:1px solid rgba(0,200,160,.2);font-family:'Inter',sans-serif}
.exp-h{font-family:'Inter',sans-serif;font-size:18px;font-weight:700;color:var(--text);margin-bottom:32px}
.exp-list{display:flex;flex-direction:column;gap:0}
.exp-item{display:grid;grid-template-columns:130px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--bord)}
.exp-item:first-child{padding-top:0}
.exp-item:last-child{border-bottom:none}
.exp-date{font-size:12.5px;font-weight:600;color:var(--mute);font-family:'JetBrains Mono',monospace;padding-top:4px;white-space:nowrap}
.exp-body h4{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px}
.exp-co{font-size:13px;color:var(--teal);font-weight:600;margin-bottom:10px;font-family:'Inter',sans-serif}
.exp-body p{font-size:14.5px;color:var(--mute);line-height:1.65}
.s-intro{font-size:17px;color:var(--mute);line-height:1.65;max-width:640px;margin-bottom:48px;margin-top:-28px}
@media(max-width:720px){
  .team-card{grid-template-columns:1fr;gap:28px}
  .team-av{width:100px;height:100px;font-size:36px}
  .exp-item{grid-template-columns:1fr;gap:6px}
  .exp-date{padding-top:0}
}
.team-profile{display:grid;grid-template-columns:200px 1fr;gap:56px;align-items:center;max-width:680px}
@media(max-width:640px){.team-profile{grid-template-columns:1fr;gap:28px}}
