:root{
  --blue:#073b7a;--deep:#041e42;--electric:#0c5bc6;--sky:#9ec9ff;
  --white:#f7f9fc;--ink:#07162b;--muted:#66758a;--line:#dbe3ef;
  --serif:"DM Sans",sans-serif;--sans:"Manrope",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
a{color:inherit;text-decoration:none}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;background:transparent}
.progress span{display:block;height:100%;width:0;background:#3e91ff}
.cursor-glow{position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(91,159,255,.11),transparent 70%);transform:translate(-50%,-50%)}
.nav-wrap{height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,249,252,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);position:fixed;top:0;left:0;right:0;z-index:50}
.brand{display:flex;gap:16px;align-items:center}
.brand-mark{height:48px;display:flex;align-items:stretch;background:var(--deep);color:#fff;box-shadow:0 8px 24px rgba(4,30,66,.16)}
.brand-mark i{font-style:normal;width:17px;background:var(--electric);font-size:0}.brand-mark b{font-size:23px;letter-spacing:-.07em;padding:10px 14px 9px 11px;display:flex;align-items:center}
.brand-name{line-height:1.15;text-transform:uppercase;display:flex;flex-direction:column;gap:5px}.brand-name strong{font-size:9px;letter-spacing:.12em;color:#243a57}.brand-name small{font-size:7px;letter-spacing:.19em;color:#6f7e91}
nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}
nav>a{position:relative}
nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--blue);transition:.3s}
nav>a:hover:after{width:100%}
.nav-cta{background:var(--blue);color:#fff;padding:14px 18px}
.nav-cta span,.button span{display:inline-block;transition:transform .3s}
.nav-cta:hover span,.button:hover span{transform:translate(4px,-4px)}
.menu-button{display:none;background:none;border:0;font:600 13px var(--sans)}
.hero{min-height:100svh;padding:150px 5vw 46px;background:linear-gradient(135deg,#f7f9fc 0%,#edf4fe 60%,#dceaff 100%);position:relative;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(7,59,122,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(7,59,122,.06) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,black,transparent 85%)}
.signal{position:absolute;border:1px solid rgba(7,59,122,.18);border-radius:50%;animation:pulse 5s ease-in-out infinite}
.signal-one{width:500px;height:500px;right:6%;top:20%}.signal-two{width:680px;height:680px;right:-3%;top:9%;animation-delay:1s}
@keyframes pulse{50%{transform:scale(1.04);opacity:.45}}
.hero-copy{position:relative;z-index:2;align-self:center;max-width:820px}
.eyebrow,.section-index{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--blue)}
h1,h2,h3,p{margin-top:0}
h1{font-family:var(--serif);font-size:clamp(58px,7.4vw,116px);line-height:.91;letter-spacing:-.07em;margin:24px 0 34px;font-weight:500;max-width:940px}
h1 em{font-style:normal;color:var(--blue)}
.hero-lede{font-size:clamp(17px,1.5vw,22px);line-height:1.55;max-width:690px;color:#344863}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:45px}
.button{display:inline-flex;gap:36px;align-items:center;padding:18px 22px;font-size:13px;font-weight:700}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 16px 40px rgba(7,59,122,.22)}
.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #9aa8ba;padding-bottom:7px}
.hero-orbit{z-index:2;position:relative;width:min(36vw,540px);height:min(36vw,540px);align-self:center;justify-self:center}
.orbit-ring{position:absolute;border:1px solid rgba(7,59,122,.23);border-radius:50%;inset:8%;animation:spin 22s linear infinite}.ring-b{inset:23%;animation-direction:reverse;animation-duration:16s;border-style:dashed}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit-core{position:absolute;inset:34%;background:linear-gradient(145deg,#0b4e9f,#031c3e);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 30px 70px rgba(3,35,76,.38),inset 0 1px 1px rgba(255,255,255,.4)}
.orbit-core span{font-size:clamp(30px,4vw,64px);font-weight:700;letter-spacing:-.07em}.orbit-core small{text-transform:uppercase;letter-spacing:.2em;font-size:7px;text-align:center;opacity:.7}
.orbit-node{position:absolute;background:#fff;border:1px solid var(--line);padding:12px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;box-shadow:0 12px 35px rgba(3,35,76,.11)}
.node-a{top:12%;left:5%}.node-b{right:-2%;top:43%}.node-c{bottom:7%;left:23%}
.hero-footer{position:absolute;left:5vw;right:5vw;bottom:25px;display:flex;align-items:center;gap:20px;color:#6e7e93;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.hero-footer .line{height:1px;background:#aebbd0;flex:1}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
.statement{padding:130px 6vw;display:grid;grid-template-columns:1fr 3fr;gap:40px;background:#fff;position:relative;overflow:hidden}.statement:after{content:"MISSION";position:absolute;right:-1vw;bottom:-5vw;font-weight:700;font-size:17vw;letter-spacing:-.08em;color:#f3f6fa;z-index:0}
.statement-copy>p{font-size:13px;color:var(--blue);font-weight:600}
.statement-copy{position:relative;z-index:1}.statement h2{font-family:var(--serif);font-size:clamp(38px,5vw,75px);line-height:1.05;letter-spacing:-.055em;font-weight:500;max-width:1150px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.statement h2 span{display:block}.statement h2 strong{font-weight:500;color:var(--blue);position:relative;padding-bottom:12px}.statement h2 strong:after{content:"";height:4px;position:absolute;left:0;right:0;bottom:0;background:linear-gradient(90deg,var(--electric),var(--sky))}.statement h2 .mission-turn{font-size:.5em;letter-spacing:-.025em;text-transform:uppercase;margin-top:34px;color:#6d7b8e}.statement h2 em{font-style:normal;font-size:.72em;color:var(--deep);letter-spacing:-.04em}
.mission-principles{display:flex;gap:10px;flex-wrap:wrap;margin-top:38px}.mission-principles span{border:1px solid #cbd7e5;color:#47617f;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;padding:10px 15px;background:rgba(255,255,255,.72)}
.system{padding:130px 6vw;background:#f0f4f9;display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw 9vw;position:relative;overflow:hidden}.system:after{content:"RAS";position:absolute;left:-2vw;bottom:-8vw;font-size:22vw;font-weight:700;letter-spacing:-.11em;color:rgba(6,47,104,.035);pointer-events:none}
.section-head h2,.experience h2,.blueprint h2,.difference h2{font-family:var(--serif);font-size:clamp(42px,5vw,74px);line-height:1;letter-spacing:-.055em;font-weight:500}
.section-head>p:not(.section-index),.experience-intro>p:last-child{color:var(--muted);max-width:450px;line-height:1.7}
.ras-seal{margin-top:44px;display:flex;align-items:center;gap:18px}.ras-seal strong{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--deep);color:#fff;font-family:var(--serif);font-size:31px;box-shadow:0 16px 34px rgba(4,30,66,.18),inset 0 0 0 1px rgba(255,255,255,.15)}.ras-seal span{font-size:8px;text-transform:uppercase;letter-spacing:.2em;line-height:1.8;color:#6d7e94}
.system-item{display:grid;grid-template-columns:48px 1fr 42px;gap:20px;border-top:1px solid #bfcbd9;padding:28px 0;cursor:pointer;transition:.35s;position:relative}.system-item:before{content:"";position:absolute;left:-18px;top:0;bottom:0;width:3px;background:var(--electric);transform:scaleY(0);transform-origin:top;transition:transform .4s}.system-item:hover:before,.system-item.active:before{transform:scaleY(1)}
.system-item:last-child{border-bottom:1px solid #bfcbd9}
.system-item h3{font-size:22px;margin-bottom:0;transition:.3s}.system-item p{max-height:0;opacity:0;overflow:hidden;margin:0;color:var(--muted);line-height:1.6;transition:.5s}
.system-item.active p{max-height:120px;opacity:1;margin-top:15px}.system-item.active h3,.system-item:hover h3{color:var(--blue)}
.system-item-alt h3:after{content:"ENGINE";font-size:7px;letter-spacing:.18em;color:#8fa0b5;border:1px solid #c9d4e1;padding:4px 6px;margin-left:12px;vertical-align:middle}
.system-number{font-size:11px;color:#8090a6}.plus{font-size:22px;color:var(--blue);transition:.4s}.active .plus{transform:rotate(45deg)}
.capability-rail{grid-column:1/-1;position:relative;z-index:1;border-top:1px solid #9eb1c8;padding-top:24px;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.capability-rail>p{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#6d7e94}.capability-rail>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.capability-rail span{background:#fff;border:1px solid #d2dce8;padding:16px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#274767;box-shadow:0 10px 30px rgba(5,38,79,.04)}
.blueprint{background:var(--deep);color:#fff;padding:130px 6vw;position:relative;overflow:hidden}
.blueprint:after{content:"DRGP";position:absolute;right:-3vw;top:-7vw;font-size:28vw;font-weight:700;letter-spacing:-.12em;color:rgba(255,255,255,.025)}
.section-index.light{color:var(--sky)}
.blueprint-copy{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.blueprint-copy h2{max-width:840px}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:34px;margin-top:100px;position:relative;z-index:2}
.flow-line{position:absolute;left:0;right:0;top:15px;height:1px;background:rgba(255,255,255,.2)}.flow-line span{display:block;width:0;height:100%;background:#75adff;transition:width 1.7s}.blueprint.in-view .flow-line span{width:100%}
.flow-step{display:flex;flex-direction:column;gap:11px}.flow-step b{height:31px;width:31px;border-radius:50%;background:var(--deep);border:1px solid #75adff;display:grid;place-items:center;font-size:9px;z-index:1}.flow-step strong{font-size:17px;margin-top:18px}.flow-step small{font-size:12px;line-height:1.5;color:#a6b5c9}
.experience{padding:130px 0 0;background:#fff}
.experience-intro{padding:0 6vw;display:grid;grid-template-columns:.7fr 1.5fr .8fr;gap:50px;align-items:start}
.logo-stage{margin-top:90px;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.logo-track{display:flex;width:max-content;gap:70px;animation:marquee 34s linear infinite;color:#718097;align-items:center}.logo-track span{font-size:13px;font-weight:700;letter-spacing:.08em;white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}
.experience-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px}
.experience-image{overflow:hidden;background:#071b37;position:relative;isolation:isolate}.experience-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(2,17,39,.78) 100%);z-index:1;pointer-events:none}.experience-image img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.82) contrast(1.05);transition:transform 1.2s,filter .8s}.experience-image:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.02)}
.founder-overlay{position:absolute;left:42px;right:42px;bottom:36px;z-index:2;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.4);padding-top:18px}.founder-overlay p{margin:0;display:flex;flex-direction:column;gap:5px;text-align:right}.founder-overlay strong{font-size:13px;letter-spacing:.04em}.founder-overlay small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#bed0e8}.founder-monogram{font-family:var(--serif);font-size:64px;line-height:.8;letter-spacing:-.09em;color:rgba(255,255,255,.92)}
.experience-note{background:#eaf2fc;padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}
.experience-note>p{font-size:12px;text-transform:uppercase;letter-spacing:.17em;color:var(--blue);font-weight:700}
.word-grid{display:grid;grid-template-columns:1fr 1fr;margin:45px 0}.word-grid span{padding:20px 0;border-bottom:1px solid #c6d5e8;font-size:14px;font-weight:600}
.experience-note small{line-height:1.7;color:#6c7d93;max-width:570px}
.difference{padding:140px 6vw 70px;background:#fff;overflow:hidden}
.difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin:50px 0 140px}.difference-grid h2{max-width:680px}.difference-grid .large{font-size:24px;line-height:1.45;color:var(--blue)}.difference-grid div>p:last-child{color:var(--muted);line-height:1.8;max-width:570px}
.moving-type{display:flex;width:max-content;gap:50px;animation:marquee 26s linear infinite}.moving-type span{font-family:var(--serif);font-size:clamp(60px,9vw,150px);white-space:nowrap;letter-spacing:-.06em;color:#e4eaf2}
.contact{padding:130px 6vw 80px;background:linear-gradient(135deg,#073b7a,#041e42);color:#fff;position:relative;overflow:hidden}
.contact-glow{position:absolute;width:800px;height:800px;border-radius:50%;right:-200px;top:-420px;background:radial-gradient(circle,rgba(69,143,244,.5),transparent 65%)}
.contact h2{font-family:var(--serif);font-size:clamp(52px,7vw,105px);line-height:.95;letter-spacing:-.065em;font-weight:500;max-width:1200px;position:relative}.contact>p:not(.section-index){font-size:18px;line-height:1.6;color:#bed0e8;max-width:690px;position:relative}
.button-white{background:#fff;color:var(--blue);margin-top:30px;position:relative}
.inquiry-trigger{border:0;cursor:pointer;font:inherit}.inquiry-form{max-width:760px;margin-top:28px;padding:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px);position:relative;display:none;grid-template-columns:1fr 1.45fr;gap:22px}.inquiry-form.open{display:grid}.inquiry-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px}.inquiry-head strong{font-family:var(--serif);font-size:27px;font-weight:500}.inquiry-close{border:0;background:none;color:#bed0e8;text-transform:uppercase;letter-spacing:.15em;font-size:8px;cursor:pointer}.inquiry-form label{display:flex;flex-direction:column;gap:9px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#bed0e8}.inquiry-form input,.inquiry-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.22);background:rgba(3,22,47,.38);color:#fff;padding:15px;font:inherit;outline:none;resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:#8dbbff}.inquiry-form .button{border:0;cursor:pointer;margin:0;justify-self:start}.inquiry-form>small{align-self:center;color:#9db2ce;line-height:1.5}
.contact-footer{border-top:1px solid rgba(255,255,255,.2);margin-top:110px;padding-top:26px;display:grid;grid-template-columns:1fr 1fr 1fr;font-size:12px;color:#b8c8dc}
.contact-footer a{text-align:right}
footer{padding:38px 5vw;display:grid;grid-template-columns:1fr 2fr 1fr 1fr;align-items:center;background:#03162f;color:#9eb0c8;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.footer-brand{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.06em}
@media(max-width:900px){
  nav{display:none;position:absolute;top:88px;left:0;right:0;padding:25px 5vw;background:#fff;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu-button{display:block}
  .hero{grid-template-columns:1fr;padding-top:140px}.hero-orbit{width:72vw;height:72vw;margin:40px auto 75px}.hero-footer{bottom:18px}.statement,.system{grid-template-columns:1fr}.statement{padding:90px 6vw}.system{padding:90px 6vw}.capability-rail{grid-template-columns:1fr;gap:22px}
  .blueprint-copy,.experience-intro{display:block}.blueprint-copy h2,.experience-intro h2{margin-top:40px}.flow{grid-template-columns:1fr;gap:30px;margin-top:70px}.flow-line{left:15px;top:0;bottom:0;width:1px;height:auto}.flow-line span{width:100%;height:0}.blueprint.in-view .flow-line span{height:100%;width:100%}.flow-step{padding-left:55px;position:relative}.flow-step b{position:absolute;left:0}
  .experience-grid,.difference-grid{grid-template-columns:1fr}.experience-image{height:620px}.difference-grid{gap:30px;margin-bottom:90px}.contact-footer,footer{grid-template-columns:1fr;gap:16px}.contact-footer a{text-align:left}
}
@media(max-width:560px){
  .nav-wrap{height:76px}.brand-name{display:none}.brand-mark{height:44px}h1{font-size:56px}.hero{padding-left:22px;padding-right:22px}.hero-actions{align-items:flex-start;flex-direction:column}.statement,.system,.blueprint,.difference,.contact{padding-left:24px;padding-right:24px}.capability-rail>div{grid-template-columns:1fr}.experience-intro{padding:0 24px}.experience-image{height:500px}.experience-note{padding:70px 24px}.word-grid{grid-template-columns:1fr}.inquiry-form,.inquiry-form.open{grid-template-columns:1fr;padding:22px}.inquiry-form>*{grid-column:1}.contact-footer{margin-top:70px}.founder-overlay{left:22px;right:22px;bottom:22px}.founder-monogram{font-size:45px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
