:root{--navy:#0d2030;--navy-soft:#183342;--ink:#132733;--black:#10171c;--muted:#52636d;--paper:#f1f0eb;--white:#fff;--rule:#c9d0cf;--orange:#ff6a13;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,Helvetica,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
.wrap{width:min(100% - 80px,1320px);margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;z-index:20;padding:10px 16px;background:var(--orange);color:var(--ink)}
.skip-link:focus{top:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kicker{margin:0;color:#f5aa82;font:600 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.kicker.dark{color:#ac4518}

.site-header{position:relative;z-index:4;background:var(--navy);color:var(--white)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:78px;border-bottom:1px solid rgba(255,255,255,.19)}
.logo{display:inline-flex;align-items:center;gap:10px;font:800 29px/1 Arial,Helvetica,sans-serif;letter-spacing:-.055em;text-decoration:none}
.logo-mark{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;width:27px;height:27px;flex:none}
.logo-mark i{display:block;background:var(--orange);border-radius:1px}
.logo-mark i:nth-child(2),.logo-mark i:nth-child(4){opacity:.72}
.logo-mark i:nth-child(3),.logo-mark i:nth-child(7){opacity:.42}
nav{display:flex;align-items:center;gap:clamp(16px,3.4vw,52px)}
nav a{font:800 12px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;color:#cbd8e1}
nav a:hover,nav a:focus-visible{color:var(--orange)}
nav .nav-contact{color:#fff;border-bottom:2px solid var(--orange);padding:8px 0}
.nav-contact span{color:var(--orange);margin-left:5px}

.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--white)}
.hero-inner{position:relative;z-index:1;min-height:570px;padding-top:clamp(75px,10vw,145px);padding-bottom:42px;display:flex;flex-direction:column}
.orbit{position:absolute;z-index:0;border:1px solid rgba(255,106,19,.24);border-radius:50%;pointer-events:none}
.orbit-one{width:540px;height:540px;right:-85px;top:-190px}
.orbit-two{width:800px;height:800px;right:-220px;top:-320px}
.hero h1{max-width:1200px;margin:20px 0 54px;font:800 clamp(74px,8.5vw,130px)/.82 var(--display);letter-spacing:-.026em;text-transform:uppercase}
.hero h1 em{display:block;margin-top:.08em;color:var(--orange);font-style:normal}
.hero-period{display:inline-block;margin-left:-.08em}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.26)}
.hero-bottom p{max-width:590px;margin:0;font-size:clamp(18px,2vw,23px);line-height:1.35;color:#e0e9eb}
.hero-coordinate{color:#91a6ae;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}

.film-section{padding:80px 0 94px;background:#0b131a;color:var(--white)}
.film-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:30px}
.film-heading h2{margin:12px 0 0;font:800 clamp(56px,7vw,100px)/.85 var(--display);letter-spacing:-.025em;text-transform:uppercase}
.film-heading>p{max-width:340px;margin:0 0 5px;color:#c1ced2;line-height:1.45}
.demo-stage{position:relative;aspect-ratio:16/9;min-height:450px;overflow:hidden;color:#fff;background:radial-gradient(circle at 52% 48%,#28465d 0,#142c3f 44%,#0b1e2d 100%);border:8px solid var(--navy)}
.stage-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(#b6d0df 1px,transparent 1px),linear-gradient(90deg,#b6d0df 1px,transparent 1px);background-size:46px 46px;transform:perspective(550px) rotateX(30deg) scale(1.4)}
.stage-route{position:absolute;border:2px dashed rgba(255,106,19,.55);border-radius:50%;transform:rotate(-15deg)}
.route-a{width:67%;height:75%;left:15%;top:13%}
.route-b{width:45%;height:49%;left:26%;top:26%}
.stage-box{position:absolute;width:60px;height:60px;border:2px solid #7795a9;background:#203d52;transform:rotate(-14deg);box-shadow:12px 12px 0 rgba(0,0,0,.17)}
.box-a{left:13%;top:21%}.box-b{right:15%;top:25%;width:42px;height:42px}.box-c{right:23%;bottom:18%;width:72px;height:72px}
.stage-core{position:absolute;left:50%;top:45%;width:124px;height:124px;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-9deg);border:2px solid var(--orange);background:var(--navy);box-shadow:0 0 0 20px rgba(255,106,19,.08),0 0 0 47px rgba(255,106,19,.04)}
.stage-core .logo-mark{width:52px;height:52px;gap:5px}
.demo-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:var(--navy);opacity:0;pointer-events:none}
.demo-video.playing{opacity:1;pointer-events:auto}
.demo-overlay{position:absolute;inset:0;z-index:2}
.demo-overlay[hidden]{display:none}
.play-button{position:absolute;left:50%;top:42%;display:flex;align-items:center;gap:14px;transform:translate(-50%,-50%);padding:17px 23px;border:1px solid var(--orange);background:var(--orange);color:var(--navy);font:800 14px Arial,Helvetica,sans-serif;letter-spacing:.04em;white-space:nowrap;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.play-button span{font-size:18px}
.play-button:hover,.play-button:focus-visible{background:#ff8a48}
.stage-copy{position:absolute;left:36px;bottom:64px;display:flex;flex-direction:column;gap:9px;text-shadow:0 2px 12px var(--navy)}
.stage-copy span,.stage-footer{color:#a9becc;font-size:10px;font-weight:800;letter-spacing:.16em}
.stage-copy strong{font-size:clamp(36px,5vw,70px);line-height:.98;letter-spacing:-.06em}
.stage-footer{position:absolute;left:36px;right:36px;bottom:22px;display:flex;justify-content:space-between;border-top:1px solid #547084;padding-top:13px}
.film-caption{margin:14px 0 0;color:#a9b7bb;font-size:13px}

.problem-section{padding:clamp(85px,10vw,150px) 0 105px;background:var(--paper)}
.problem-intro{display:grid;grid-template-columns:1.2fr .7fr;align-items:end;gap:8%;margin-top:28px}
.problem-intro h2,.approach-lead h2,.team-section h2{margin:0;font:800 clamp(52px,6.2vw,86px)/.9 var(--display);letter-spacing:-.018em;text-transform:uppercase}
.problem-intro p{max-width:420px;margin:0 0 5px;color:#334751;font-size:19px;line-height:1.55}
.pressure-chart{position:relative;margin-top:75px}
.pressure-chart svg{display:block;width:100%;height:260px;overflow:visible}
.chart-baseline{stroke:#c1c8c8;stroke-width:1.5}
.chart-demand{fill:none;stroke:var(--ink);stroke-width:3.3;vector-effect:non-scaling-stroke}
.chart-capacity{fill:none;stroke:#899395;stroke-width:2.5;stroke-dasharray:9 9;vector-effect:non-scaling-stroke}
.chart-dot{fill:var(--orange);stroke:var(--ink);stroke-width:2}
.chart-legend{display:flex;align-items:center;gap:35px;padding-top:20px;border-top:1px solid var(--rule);font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.chart-legend span{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.chart-legend span::before{content:'';display:block;width:24px;height:2px;background:var(--ink)}
.chart-legend .capacity-key::before{background:transparent;border-top:2px dashed #899395}

.approach-section{padding:105px 0 95px;background:#fff}
.approach-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:9%}
.approach-lead h2{margin:23px 0 25px}
.approach-lead>p:last-child{max-width:465px;color:#435862;font-size:19px;line-height:1.55}
.benefits{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.benefits li{display:grid;grid-template-columns:52px 1fr;gap:15px;padding:24px 0 28px;border-bottom:1px solid var(--rule)}
.benefit-number{padding-top:9px;color:#ba4b19;font:600 12px var(--mono)}
.benefits h3{margin:0 0 7px;font:800 clamp(31px,3.3vw,45px)/1 var(--display);text-transform:uppercase}
.benefits p{max-width:490px;margin:0;color:#52636d;font-size:16px;line-height:1.55}
.client-line{display:flex;align-items:center;gap:20px;margin-top:70px;padding-top:25px;border-top:1px solid var(--rule)}
.client-star{width:32px;height:32px;flex:none;color:var(--orange)}
.client-line p{margin:0;font-size:clamp(18px,2vw,24px);font-weight:600}

.team-section{padding:105px 0 115px;background:#e9edf0}
.team-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}
.team-section h2{margin-top:23px}
.founder-list{border-top:1px solid #b4c0c4}
.founder{display:grid;grid-template-columns:46px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid #b4c0c4}
.founder-number{padding-top:6px;color:#ba4b19;font:600 12px var(--mono)}
.founder h3{margin:0 0 6px;font-size:29px;letter-spacing:-.035em;line-height:1.2}
.founder-title{display:block;margin:0 0 10px;color:#c65317;font:700 11px var(--mono);letter-spacing:.12em}
.founder p{max-width:570px;margin:0;color:#536976;line-height:1.55}

.contact-section{padding:101px 0;color:var(--navy);background:var(--orange)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:end}
.contact-copy h2{margin:26px 0 22px;font:700 clamp(48px,6vw,84px)/1 var(--body);letter-spacing:-.07em}
.contact-copy h2 i{color:#fff;font-style:normal}
.contact-copy>p:last-child{max-width:590px;margin:0;font-size:17px;line-height:1.65}
.contact-form{padding-bottom:9px}
.contact-form fieldset{margin:0 0 23px;padding:0;border:0}
.contact-form legend{margin-bottom:12px;font:800 12px Arial,Helvetica,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.contact-types{display:flex;flex-wrap:wrap;gap:8px}
.contact-types label{position:relative;cursor:pointer}
.contact-types input{position:absolute;opacity:0}
.contact-types span{display:block;padding:10px 13px;border:1.5px solid var(--navy);font-size:13px;font-weight:700;line-height:1.2}
.contact-types input:checked+span{background:var(--navy);color:#fff}
.contact-types input:focus-visible+span{outline:3px solid var(--navy);outline-offset:3px}
.email-line{display:flex;align-items:stretch;border:2px solid var(--navy);background:#fff}
.email-line input{flex:1;min-width:0;padding:19px 18px;border:0;border-radius:0;background:#fff;color:var(--navy);font:600 17px Arial,Helvetica,sans-serif;outline-offset:-4px}
.email-line input::placeholder{color:#788894;font-weight:400}
.email-line button{flex:none;display:flex;align-items:center;gap:15px;padding:18px 22px;border:0;background:var(--navy);color:#fff;font:800 15px Arial,Helvetica,sans-serif}
.email-line button:hover,.email-line button:focus-visible{background:#23445d}
.email-line button:disabled{opacity:.6;cursor:wait}
.email-line button span{font-size:20px;line-height:.8}
.contact-form textarea{display:block;width:100%;min-height:90px;margin-top:15px;padding:15px 17px;border:2px solid var(--navy);border-radius:0;background:#fff;color:var(--navy);resize:vertical;outline-offset:3px;font-size:15px}
.contact-form textarea::placeholder{color:#788894}
.form-status{min-height:1.5em;margin:12px 0 0;font-size:13px;font-weight:700}

.site-footer{background:var(--navy);color:#adc0c8}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;font:500 12px var(--mono)}
.footer-inner .logo{color:#fff;font-family:var(--body);font-size:24px}
.footer-inner .logo-mark{width:21px;height:21px;gap:2px}
.footer-inner .logo-mark i{width:5px;height:5px}

@media(max-width:900px){
  .wrap{width:min(100% - 48px,720px)}
  .hero-inner{min-height:520px}
  .hero h1{font-size:clamp(70px,11vw,110px)}
  .problem-intro,.approach-grid,.team-grid,.contact-grid{grid-template-columns:1fr;gap:35px}
  .problem-intro p{max-width:640px}
  .approach-lead>p:last-child{max-width:660px}
  .contact-grid{gap:55px}
  .contact-copy h2{font-size:clamp(48px,8vw,72px)}
}
@media(max-width:600px){
  .wrap{width:calc(100% - 34px)}
  .header-inner{min-height:67px;gap:14px}
  .logo{font-size:25px}
  nav{gap:14px}
  nav a{font-size:10px;letter-spacing:0}
  nav a:nth-child(2),nav a:nth-child(3){display:none}
  .hero-inner{min-height:530px;padding-top:95px;padding-bottom:27px}
  .hero h1{margin:20px 0 45px;font-size:clamp(66px,16vw,94px);line-height:.82}
  .orbit-one{width:360px;height:360px;top:-200px;right:-240px}
  .orbit-two{display:none}
  .hero-bottom{align-items:start;flex-direction:column;gap:18px}
  .hero-bottom p{font-size:18px}
  .hero-coordinate{font-size:10px}
  .film-section{padding:65px 0 70px}
  .film-heading{display:block;margin-bottom:22px}
  .film-heading h2{font-size:65px}
  .film-heading>p{margin-top:16px;font-size:15px}
  .demo-stage{width:100%;min-width:0;min-height:0;aspect-ratio:4/3;border-width:5px}
  .stage-grid{background-size:28px 28px}
  .stage-core{width:72px;height:72px;box-shadow:0 0 0 12px rgba(255,106,19,.08),0 0 0 28px rgba(255,106,19,.04)}
  .stage-core .logo-mark{width:32px;height:32px;gap:3px}
  .play-button{top:31%;padding:13px 16px;font-size:12px}
  .stage-box{width:34px;height:34px}.box-b{width:25px;height:25px}.box-c{width:40px;height:40px}
  .stage-copy{left:17px;right:17px;bottom:48px}.stage-copy strong{font-size:clamp(28px,8vw,38px)}.stage-copy span{font-size:8px}
  .stage-footer{left:17px;right:17px;bottom:13px;font-size:7px}
  .problem-section,.approach-section,.team-section{padding:75px 0}
  .problem-intro h2,.approach-lead h2,.team-section h2{font-size:clamp(52px,13vw,72px)}
  .problem-intro p,.approach-lead>p:last-child{font-size:17px}
  .pressure-chart{margin-top:45px}
  .pressure-chart svg{height:180px}
  .chart-legend{flex-wrap:wrap;gap:12px 25px;font-size:9px}
  .benefits li{grid-template-columns:37px 1fr;gap:10px}
  .benefits h3{font-size:34px}
  .client-line{margin-top:50px}
  .founder{grid-template-columns:32px 1fr;gap:12px}
  .founder h3{font-size:25px}
  .contact-section{padding:75px 0 80px}
  .contact-copy h2{font-size:clamp(45px,12vw,64px)}
  .contact-copy>p:last-child{font-size:17px}
  .contact-types span{font-size:12px;padding:10px 11px}
  .email-line{flex-direction:column}
  .email-line button{justify-content:space-between}
  .footer-inner{flex-wrap:wrap;justify-content:space-between;min-height:120px;padding:24px 0}
  .footer-inner span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
