:root{
  --ink:#06111a;--ink-2:#091925;--ink-3:#0d2231;--ice:#dcebf5;--blue:#9cccf0;
  --gold:#d8a457;--gold-bright:#efbd72;--white:#fff;--muted:#b4c2cb;--line:rgba(255,255,255,.12);
  --header:9.5dvh;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{font-family:Inter,Arial,sans-serif;background:var(--ink);color:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
.header{height:var(--header);min-height:62px;padding:0 clamp(16px,3vw,48px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(4,12,18,.96);backdrop-filter:blur(16px);position:relative;z-index:20}
.logo{display:flex;align-items:center;gap:12px;min-width:0}.logo-mark{width:clamp(31px,4.3vh,45px);height:auto;color:var(--white);flex:none}.logo-type{display:flex;flex-direction:column;line-height:.86}.logo strong,.logo b{font:600 clamp(.9rem,1.8vh,1.4rem)/1 Barlow Condensed,sans-serif;letter-spacing:.085em}.logo small{margin-top:6px;color:var(--blue);font-size:clamp(.4rem,.72vh,.58rem);letter-spacing:.23em;white-space:nowrap}
.header-meta{display:flex;align-items:center;gap:clamp(14px,2vw,30px);font-size:clamp(.68rem,1.15vh,.86rem)}.email-link{color:#d2dee5;transition:color .25s ease}.email-link:hover{color:var(--blue)}
.screen{height:calc(100dvh - var(--header));display:grid;grid-template-rows:minmax(0,65.5%) minmax(0,34.5%);max-width:1920px;margin:auto;background:var(--ink)}
.hero{position:relative;min-height:0;overflow:hidden;isolation:isolate}.hero::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.04);pointer-events:none}.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 55%;transform:scale(1.002)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,19,.985) 0%,rgba(4,12,19,.91) 29%,rgba(4,12,19,.45) 52%,rgba(4,12,19,.08) 77%),linear-gradient(0deg,rgba(4,12,19,.48),transparent 58%)}
.hero-copy{position:relative;z-index:2;width:min(41%,650px);height:100%;padding:clamp(20px,4vh,58px) clamp(20px,4vw,76px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0;text-transform:uppercase;color:var(--blue);letter-spacing:.18em;font:500 clamp(.58rem,1.15vh,.78rem) Barlow Condensed,sans-serif}.hero h1{margin:clamp(8px,1.4vh,18px) 0 clamp(11px,1.8vh,22px);font:700 clamp(3.1rem,8.5vh,6.7rem)/.83 Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.005em;text-wrap:balance}.hero h1::after{content:"";display:block;width:46px;margin-top:clamp(10px,1.45vh,17px);border-bottom:2px solid var(--gold)}.hero-intro{max-width:440px;margin:0;color:var(--ice);font-size:clamp(.78rem,1.52vh,1.06rem);line-height:1.48;letter-spacing:-.01em}.hero-actions{display:flex;align-items:center;gap:21px;margin-top:clamp(15px,2.4vh,29px)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--gold);padding:clamp(9px,1.35vh,14px) clamp(15px,2vw,25px);background:none;text-transform:uppercase;letter-spacing:.09em;font:600 clamp(.7rem,1.2vh,.88rem) Barlow Condensed,sans-serif;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.button:hover{transform:translateY(-1px)}.primary{background:var(--gold);color:#06111a}.primary:hover{background:var(--gold-bright);border-color:var(--gold-bright)}.outline{color:#fff}.outline:hover{background:var(--gold);color:#06111a}.text-link{font-size:clamp(.7rem,1.2vh,.88rem);color:var(--blue);border-bottom:1px solid rgba(156,204,240,.55);padding-bottom:2px;transition:border-color .25s ease,color .25s ease}.text-link:hover{color:#dff2ff;border-color:#dff2ff}.hero-detail{position:absolute;right:clamp(22px,3.2vw,54px);bottom:clamp(14px,2vh,28px);z-index:2;display:flex;gap:22px;color:rgba(255,255,255,.72);font:500 clamp(.54rem,.9vh,.7rem) Barlow Condensed,sans-serif;letter-spacing:.12em;text-transform:uppercase}.hero-detail span{display:flex;align-items:center;gap:8px}.hero-detail span::before{content:"";width:17px;border-top:1px solid var(--gold)}
.capabilities-wrap{min-height:0;position:relative;background:#08141e}.capabilities{height:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.13)}.capability-card{position:relative;min-width:0;overflow:hidden;background:var(--ink-2);isolation:isolate}.capability-card::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.035);pointer-events:none}.capability-card>img{height:100%;object-fit:cover;filter:saturate(.94) contrast(1.035) brightness(.99);transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .45s ease}.capability-card:nth-child(1)>img{object-position:center 50%}.capability-card:nth-child(2)>img{object-position:center 54%}.capability-card:nth-child(3)>img{object-position:center 48%}.capability-card:nth-child(4)>img{object-position:center 50%}.capability-card:hover>img{transform:scale(1.035);filter:saturate(1.02) contrast(1.05) brightness(1.025)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,10,16,.97) 0%,rgba(3,10,16,.63) 41%,rgba(3,10,16,.08) 77%)}.card-copy{position:absolute;left:0;right:0;bottom:0;padding:clamp(13px,1.7vw,26px)}.card-copy>span{color:var(--gold);font:600 clamp(.52rem,.9vh,.68rem) Barlow Condensed,sans-serif;letter-spacing:.12em}.card-copy h2{margin:3px 0 5px;font:700 clamp(1rem,1.85vh,1.46rem)/1 Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.035em}.card-copy p{margin:0;max-width:31ch;color:#cbd5db;font-size:clamp(.59rem,1.05vh,.77rem);line-height:1.34}.swipe-hint{display:none}
.contact-dialog{width:min(920px,92vw);max-height:88dvh;border:1px solid #365064;padding:0;background:var(--ink-2);color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.65);overflow:hidden}.contact-dialog::backdrop{background:rgba(1,7,12,.84);backdrop-filter:blur(7px)}.contact-dialog[open]{display:grid;grid-template-columns:.8fr 1.2fr;animation:dialogIn .22s ease-out}.dialog-copy{padding:clamp(26px,4vw,50px);background:linear-gradient(150deg,#07131d,#0b1e2b)}.dialog-copy h2{font:700 clamp(2.25rem,5vw,4.1rem)/.93 Barlow Condensed,sans-serif;text-transform:uppercase;margin:12px 0 20px;letter-spacing:.01em}.dialog-copy p:not(.eyebrow){color:#b3c1ca;line-height:1.58}.dialog-copy a{display:inline-block;margin-top:18px;color:var(--blue);font-weight:600;border-bottom:1px solid rgba(156,204,240,.45);padding-bottom:3px}.dialog-close{position:absolute;top:10px;right:15px;border:0;background:none;color:#fff;font-size:2rem;line-height:1;cursor:pointer;z-index:2;opacity:.75}.dialog-close:hover{opacity:1}.contact-form{padding:clamp(26px,4vw,50px);display:grid;grid-template-columns:1fr 1fr;gap:17px;background:var(--ink-2)}.contact-form label{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:#ccd7de}.contact-form input,.contact-form textarea{width:100%;margin-top:7px;padding:12px;background:#06131d;border:1px solid #314a5d;color:#fff;transition:border-color .2s ease,box-shadow .2s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(156,204,240,.1)}.contact-form textarea{resize:vertical;min-height:112px}.contact-form ::placeholder{color:#718694}.contact-form .full{grid-column:1/-1}.honeypot{position:absolute;left:-9999px}
@keyframes dialogIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:900px){.header-meta>a{display:none}.hero-copy{width:52%;padding:20px}.hero h1{font-size:clamp(2.9rem,7.5vh,4.9rem)}.capability-card p{display:none}.hero-detail{display:none}}
@media(max-width:620px){:root{--header:9.5dvh}.header{min-height:58px;padding:0 12px}.logo{gap:8px}.logo-mark{width:29px}.logo strong,.logo b{font-size:.82rem}.logo small{display:none}.header-meta .button{padding:8px 10px;font-size:.62rem;gap:8px}.screen{grid-template-rows:minmax(0,64%) minmax(0,36%)}.hero-photo{object-position:62% 52%}.hero-shade{background:linear-gradient(90deg,rgba(4,12,19,.98) 0%,rgba(4,12,19,.88) 48%,rgba(4,12,19,.17) 100%),linear-gradient(0deg,rgba(4,12,19,.64),transparent 68%)}.hero-copy{width:72%;padding:14px 12px}.eyebrow{font-size:.52rem}.hero h1{font-size:clamp(2.55rem,7vh,3.8rem);margin:7px 0 10px}.hero-intro{font-size:.67rem;line-height:1.4;max-width:31ch}.hero-actions{margin-top:11px;gap:8px}.hero-actions .button{padding:8px 10px;gap:8px}.text-link{display:none}.capabilities-wrap{overflow:hidden}.capabilities{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:7px;padding:7px 10px 14px;background:#08141e}.capabilities::-webkit-scrollbar{display:none}.capability-card{flex:0 0 70vw;scroll-snap-align:center;border-radius:2px}.card-copy{padding:12px}.card-copy h2{font-size:1rem}.card-copy p{display:block;font-size:.6rem}.swipe-hint{display:flex;position:absolute;bottom:3px;left:50%;transform:translateX(-50%);gap:5px}.swipe-hint button{appearance:none;border:0;padding:0;width:5px;height:5px;border-radius:50%;background:#70818c;cursor:pointer}.swipe-hint button.active{width:17px;border-radius:4px;background:var(--gold)}.contact-dialog{width:94vw;max-height:92dvh}.contact-dialog[open]{grid-template-columns:1fr}.dialog-copy{display:none}.contact-form{grid-template-columns:1fr;padding:25px;overflow:auto}.contact-form label,.contact-form .full{grid-column:1/-1}}
@media(max-width:390px){.hero-copy{width:77%}.hero h1{font-size:2.45rem}.hero-intro{font-size:.62rem}.capability-card{flex-basis:77vw}}
@media(max-height:650px) and (min-width:621px){.hero h1{font-size:clamp(2.8rem,7.6vh,4.8rem)}.hero-intro{font-size:.78rem}.button{padding:8px 15px}.card-copy{padding:12px 18px}}
@media(orientation:landscape) and (max-height:520px){:root{--header:15dvh}.screen{grid-template-rows:minmax(0,61%) minmax(0,39%)}.logo small{display:none}.hero-copy{padding-top:10px;padding-bottom:10px}.hero h1{font-size:2.6rem}.hero-intro{font-size:.65rem}.hero-actions{margin-top:8px}.card-copy p{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
