.ico{width:1.25em;height:1.25em;flex:none;display:inline-block}
/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s var(--ease)}
.site-header.is-solid{background:rgba(3,7,37,.9);backdrop-filter:blur(12px)}
.header-inner{display:flex;align-items:center;gap:clamp(20px,3vw,44px);height:76px}
.brand{margin-right:auto}.brand img{height:auto;width:clamp(128px,14vw,171px)}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.site-nav a:not(.btn){color:var(--text-on-dark);text-decoration:none;font-size:.92rem;opacity:.9;padding:6px 0;border-bottom:2px solid transparent}
.site-nav a:not(.btn):hover,.site-nav a[aria-current]{opacity:1;border-color:var(--cyan)}
.header-tag{margin:0;padding-left:clamp(16px,2vw,28px);border-left:1px solid rgba(255,255,255,.25);font:600 .6rem/1.35 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-on-dark)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer}
.nav-toggle i{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:transform .3s}.nav-toggle i:first-of-type{top:17px}.nav-toggle i:last-of-type{top:25px}
.nav-toggle[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}
@media(max-width:1020px){.header-tag{display:none}}
@media(max-width:900px){.nav-toggle{display:block}.site-nav{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--navy-950);padding:8px var(--gutter) 28px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.25s var(--ease);border-bottom:1px solid rgba(255,255,255,.08)}.site-nav.is-open{transform:none;opacity:1;visibility:visible}.site-nav a:not(.btn){padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}.site-nav .btn{margin-top:18px}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:10px;font:600 .95rem var(--font-body);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s var(--ease),background .2s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}.btn-sm{padding:11px 20px;font-size:.88rem}
.btn-primary{background:var(--cyan);color:var(--navy-950);box-shadow:0 0 0 0 rgba(0,216,224,.0)}.btn-primary:hover{background:var(--cyan-soft);box-shadow:0 8px 28px -6px rgba(0,216,224,.55)}
.btn-ghost{border-color:rgba(0,216,224,.7);color:var(--text-on-dark);background:rgba(0,216,224,.04)}.btn-ghost:hover{background:rgba(0,216,224,.12)}
.ico-play{color:var(--cyan);width:1.5em;height:1.5em}
.eyebrow{font:600 .75rem var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin:0 0 .9rem}
.section .eyebrow{color:#047780}.section-dark .eyebrow{color:var(--cyan)}
/* hero */
.hero{position:relative;overflow:hidden;color:var(--text-on-dark);background:radial-gradient(60% 70% at 78% 30%,rgba(0,150,190,.28),transparent 70%),radial-gradient(40% 50% at 10% 100%,rgba(30,90,200,.18),transparent 70%),linear-gradient(180deg,#030725,#06142e 100%)}
.flow{position:absolute;pointer-events:none;width:100%;height:100%;object-fit:cover}
.flow-hero{inset:0;opacity:.55;mix-blend-mode:screen}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,64px);align-items:center;padding-top:calc(76px + clamp(32px,6vw,72px));padding-bottom:clamp(32px,5vw,56px)}
.hero h1{font-size:clamp(2.25rem,4.4vw,3.7rem);font-weight:600;line-height:1.05;margin-bottom:.55em}
.hero h1 span{display:block}.hl{color:var(--cyan)}
.lede{font-size:clamp(1rem,1.15vw + .5rem,1.2rem);line-height:1.6;color:#C6D3E6;max-width:34em}
.hero .actions,.cta-inner .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:left}}
/* feature strip */
.strip{position:relative;display:grid;grid-template-columns:repeat(5,1fr);padding-block:clamp(22px,3vw,34px);border-top:1px solid rgba(255,255,255,.08);margin-top:clamp(12px,3vw,36px)}
.strip>div{display:flex;align-items:center;gap:14px;padding:0 clamp(10px,1.6vw,24px);font-size:.86rem;line-height:1.35;color:var(--text-on-dark)}
.strip>div+div{border-left:1px solid rgba(255,255,255,.13)}.strip .ico{width:34px;height:34px;color:var(--cyan)}
@media(max-width:980px){.strip{grid-template-columns:repeat(2,1fr);row-gap:20px}.strip>div{border:0!important;padding:0}.strip>div:last-child{grid-column:1/-1}}
/* sections */
.section{padding:var(--space-section) 0}.section-alt{background:var(--bg-alt)}
.sec-head{margin-bottom:clamp(28px,4vw,48px)}.sec-head.center{text-align:center}.sec-head h2{margin-bottom:.4em}.sub{color:var(--text-dim);font-size:1.05rem;max-width:44em;margin-inline:auto}
.sec-head.split{display:flex;gap:32px;justify-content:space-between;align-items:flex-end}.sec-head.split .sub{margin:0;max-width:26em;text-align:left}
@media(max-width:760px){.sec-head.split{flex-direction:column;align-items:flex-start;gap:8px}}
/* cards */
.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.card{position:relative;display:flex;flex-direction:column;padding:26px 24px 56px;border-radius:var(--radius);background:linear-gradient(180deg,#fff,#f6fbfd);border:1px solid rgba(0,170,190,.18);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 8px 30px -14px rgba(6,40,80,.18);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-4px);border-color:rgba(0,200,215,.55);box-shadow:0 18px 44px -16px rgba(0,150,190,.35)}
.ico-wrap{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(0,216,224,.16);color:#07808a;margin-bottom:16px}.ico-wrap .ico{width:23px;height:23px}
.card h3{margin-bottom:.45em}.card p{margin:0;color:var(--text-dim);font-size:.9rem;line-height:1.55}
.card-go{position:absolute;right:20px;bottom:18px;width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(0,200,215,.7);color:#07a0aa;display:grid;place-items:center;transition:background .25s,color .25s}.card-go .ico{width:15px;height:15px}
.card:hover .card-go{background:var(--cyan);color:var(--navy-950)}
/* closing CTA */
.cta-band{position:relative;overflow:hidden;color:var(--text-on-dark);background:linear-gradient(180deg,#041029,#0a2f66 120%)}
.ridge{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right bottom}
.cta-inner{position:relative;padding-block:clamp(56px,8vw,96px)}.cta-inner h2{max-width:20em;font-size:clamp(1.7rem,3.4vw,2.7rem)}
/* inner-page + form + footer */
.page-hero{background:linear-gradient(180deg,#030725,#06142e);color:var(--text-on-dark);padding:calc(76px + 64px) 0 64px}.page-hero .lede{color:#C6D3E6}
.page-hero .eyebrow a{text-decoration:none}
.narrow{max-width:calc(var(--narrow) + var(--gutter)*2)}
.steps{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:s}
.steps li{counter-increment:s;padding-top:20px;border-top:1px solid rgba(11,27,51,.15)}.steps li::before{content:"0" counter(s);font-size:.8rem;color:#07808a;letter-spacing:.12em}
.checks{padding-left:1.1em}.checks li{margin-bottom:.5em}
.form{display:grid;gap:18px}.form label{display:grid;gap:6px;font-size:.92rem;color:var(--text-dim)}
.form input,.form textarea{font:inherit;padding:14px;border:1px solid rgba(11,27,51,.2);border-radius:10px;color:var(--text);width:100%}
.hp{position:absolute;left:-9999px}.form-status{min-height:1.4em;margin:0}
.site-footer{background:var(--navy-950);color:var(--text-on-dark);padding:64px 0 24px}
.footer-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}.footer-grid nav{display:flex;flex-wrap:wrap;gap:22px}.footer-grid nav a{text-decoration:none;opacity:.8}.footer-grid nav a:hover{opacity:1;color:var(--cyan)}
.footer-tag{color:var(--slate-400);max-width:34ch;margin-top:12px}.footer-base{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;color:var(--slate-400)}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-in{opacity:1;transform:none}
@media(min-width:981px){.hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.hero h1{font-size:clamp(2rem,3.5vw,3.3rem)}.hero h1 span{white-space:nowrap}}

/* ===== pilot: typography + section-intro composition ===== */
h1,h2{text-wrap:balance;letter-spacing:-.025em}h3{text-wrap:balance}
p{text-wrap:pretty}
/* heading + intro read as one unit (no far-right orphan text leaving a gap) */
.sec-head.split{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;justify-content:start;align-items:start;max-width:46rem}
.sec-head.split h2{margin:0}.sec-head.split .sub{max-width:36em;font-size:1.06rem}
/* About page is held unchanged while imagery is reconsidered: original spacing and type rendering */
[data-path="/about/"]{--space-section:clamp(64px,9vw,112px)}
[data-path="/about/"] h1,[data-path="/about/"] h2{letter-spacing:-.02em;text-wrap:wrap}[data-path="/about/"] h3{text-wrap:wrap}[data-path="/about/"] p{text-wrap:wrap}
@media(max-width:640px){[data-path="/about/"]{--space-section:56px}}
