:root{--ink:#002b4e;--deep:#002748;--blue:#0063b4;--sky:#70a7d5;--mist:#e2f1fc;--paper:#f8fbfe;--signal:#fcff2c;--warm:#c8172b;--line:#cce0f0;--white:#fff;--display:"Manrope",sans-serif;--body:"Be Vietnam Pro",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:20;background:var(--signal);padding:.7rem 1rem;color:var(--deep);font-weight:700}.skip-link:focus{top:1rem}.site-header{height:86px;max-width:1440px;margin:auto;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{font-family:var(--display);font-weight:800;letter-spacing:-.08em;font-size:1.25rem}.brand span{color:var(--blue)}.menu{display:flex;gap:2.2rem;align-items:center;font-size:.88rem;font-weight:600}.menu>a:not(.nav-cta){opacity:.78}.menu>a:hover{opacity:1}.nav-cta{border:1px solid var(--ink);padding:.62rem .85rem}.nav-cta span,.button span{margin-left:.35rem}.menu-button{display:none;background:none;border:0;font:600 .84rem var(--body);color:var(--ink)}
.hero{min-height:calc(100svh - 86px);max-width:1440px;margin:auto;padding:clamp(2rem,7vw,7.5rem) clamp(1.25rem,5vw,5rem) clamp(4rem,7vw,7rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.9fr);align-items:center;gap:3rem;overflow:hidden}.eyebrow{font:500 .67rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:.6rem;margin:0 0 1.75rem}.eyebrow span{width:1.75rem;height:1px;background:currentColor}.hero h1,.section-intro h2,.method h2,.contact h2{font-family:var(--display);font-weight:700;letter-spacing:-.07em;line-height:.94;margin:0}.hero h1{font-size:clamp(3.7rem,7vw,7.4rem);max-width:760px}.hero h1 em,.section-intro h2 em,.method h2 em,.contact h2 em{font-style:normal;color:var(--blue);position:relative}.hero h1 em:after{content:"";height:.13em;background:var(--signal);position:absolute;left:0;bottom:.03em;width:100%;z-index:-1}.lede{font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.65;max-width:500px;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;font-weight:600;font-size:.9rem;padding:1rem 1.15rem}.button-primary{background:var(--blue);color:var(--white);box-shadow:7px 7px 0 var(--signal);transition:transform .2s,box-shadow .2s}.button-primary:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--signal)}.text-link{font-size:.86rem;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:.2rem}.text-link span{margin-left:.4rem}
.hero-orbit{height:min(42vw,560px);min-height:430px;position:relative;isolation:isolate;background:radial-gradient(circle at 50% 51%,#fff 0 15%,transparent 15.5%),radial-gradient(circle at 50% 51%,rgba(112,167,213,.19),transparent 62%)}.orbit-ring{position:absolute;border-radius:50%;border:1px solid rgba(0,99,180,.2);top:50%;left:50%;translate:-50% -50%}.ring-one{width:38%;aspect-ratio:1}.ring-two{width:64%;aspect-ratio:1;border-style:dashed}.ring-three{width:92%;aspect-ratio:1;border-color:rgba(0,99,180,.13)}.orbit-core{position:absolute;top:50%;left:50%;translate:-50% -50%;width:38%;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,var(--blue),#015fae 60%,var(--sky));color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 20px 45px rgba(0,43,78,.2);z-index:2}.orbit-core small{font:500 .62rem var(--mono);color:var(--signal);margin-bottom:.4rem}.orbit-core strong{text-align:center;font:700 clamp(1rem,2vw,1.45rem)/1.03 var(--display);letter-spacing:-.06em}.orbit-node{position:absolute;z-index:3;display:flex;align-items:center;gap:.45rem;font:500 .63rem var(--mono);text-transform:uppercase;letter-spacing:.04em}.orbit-node i{display:block;width:.62rem;height:.62rem;background:var(--signal);border-radius:50%;box-shadow:0 0 0 5px rgba(252,255,44,.22)}.node-a{top:16%;right:12%}.node-b{bottom:25%;right:2%}.node-c{bottom:14%;left:11%}.node-b i{background:var(--warm);box-shadow:0 0 0 5px rgba(200,23,43,.15)}.orbit-line{height:1px;background:var(--blue);opacity:.4;position:absolute;transform-origin:left}.line-a{width:26%;top:33%;left:54%;rotate:-28deg}.line-b{width:24%;top:59%;left:54%;rotate:24deg}.line-c{width:22%;top:62%;left:28%;rotate:142deg}.orbit-caption{position:absolute;font:500 .57rem var(--mono);letter-spacing:.1em;color:var(--blue);opacity:.72}.caption-top{top:4%;left:50%;translate:-50%}.caption-bottom{bottom:2%;left:50%;translate:-50%;white-space:nowrap}
.capabilities{padding:clamp(5rem,11vw,10rem) clamp(1.25rem,5vw,5rem);max-width:1440px;margin:auto}.section-intro{max-width:660px;margin-bottom:4rem}.section-intro h2,.method h2,.contact h2{font-size:clamp(2.8rem,5vw,5.3rem)}.section-intro>p:last-child{max-width:460px;margin:1.5rem 0 0;line-height:1.7;color:#31516b}.capability-list{border-top:1px solid var(--line)}.capability{display:grid;grid-template-columns:1fr 2.5fr 140px;gap:1.5rem;align-items:center;border-bottom:1px solid var(--line);padding:2rem 0;transition:padding .35s,background .35s}.capability:hover{padding-left:1.25rem;padding-right:1.25rem;background:rgba(226,241,252,.75)}.cap-meta{font:500 .67rem var(--mono);color:var(--blue);text-transform:uppercase;display:flex;flex-direction:column;gap:.4rem}.cap-meta span:last-child{color:#6b7280}.cap-body{display:grid;grid-template-columns:minmax(170px,1fr) 1.45fr;align-items:baseline;gap:1.5rem}.cap-body h3{font:700 clamp(1.35rem,2vw,2rem)/1.05 var(--display);letter-spacing:-.055em;margin:0}.cap-body p{margin:0;line-height:1.6;font-size:.88rem;color:#31516b;max-width:350px}.cap-icon{height:72px;position:relative}.cap-icon b{position:absolute;display:block}.icon-route:before,.icon-route:after{content:"";position:absolute;height:1px;background:var(--blue);transform-origin:left}.icon-route:before{width:70%;top:18px;left:17px;rotate:32deg}.icon-route:after{width:65%;top:50px;left:53px;rotate:-36deg}.icon-route b{height:12px;width:12px;border-radius:50%;background:var(--blue)}.icon-route b:nth-child(1){top:13px;left:6px}.icon-route b:nth-child(2){top:45px;left:51px;background:var(--signal)}.icon-route b:nth-child(3){top:7px;right:6px;background:var(--warm)}.icon-grid{display:grid;grid-template-columns:repeat(2,26px);grid-template-rows:repeat(2,26px);gap:5px;align-content:center;justify-content:center}.icon-grid b{position:static!important;border:1px solid var(--blue)}.icon-grid b:nth-child(2){background:var(--blue)}.icon-grid b:nth-child(3){background:var(--signal);border-color:var(--signal)}.icon-window{border:1px solid var(--blue);width:100px;height:65px;left:20px;top:4px}.icon-window b:first-child{height:1px;left:0;right:0;top:14px;background:var(--blue)}.icon-window b:nth-child(2),.icon-window b:nth-child(3){width:5px;height:5px;border-radius:50%;top:5px;background:var(--blue)}.icon-window b:nth-child(2){left:6px}.icon-window b:nth-child(3){left:15px;background:var(--signal)}
.method{background:var(--deep);color:white;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(3rem,10vw,10rem)}.light{color:var(--sky)}.method h2 em{color:var(--signal)}.method-steps{list-style:none;margin:0;padding:0;border-top:1px solid rgba(226,241,252,.25)}.method-steps li{padding:1.65rem 0;border-bottom:1px solid rgba(226,241,252,.25);display:grid;grid-template-columns:80px 1fr;gap:1rem}.method-steps li>span{font:500 .67rem var(--mono);color:var(--signal)}.method-steps h3{font:600 1.25rem var(--display);letter-spacing:-.04em;margin:0 0 .35rem}.method-steps p{margin:0;color:#b5cfe1;font-size:.9rem;line-height:1.65;max-width:350px}
.contact{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem);max-width:1440px;margin:auto;display:grid;grid-template-columns:.76fr 1.24fr;align-items:center;gap:clamp(3rem,8vw,8rem)}.contact-copy>p:last-child{margin:1.5rem 0 0;color:#31516b;max-width:405px;line-height:1.65}.email-fallback{display:inline-block;margin-top:1.75rem;border-bottom:1px solid var(--ink);font-size:.82rem;font-weight:600;padding-bottom:.2rem}.email-fallback span{margin-left:.35rem}.contact-form{background:var(--white);border:1px solid var(--line);border-top:6px solid var(--blue);padding:clamp(1.35rem,3vw,2.5rem);display:grid;gap:1.25rem;box-shadow:12px 12px 0 var(--blue)}.form-heading{padding-bottom:1.3rem;border-bottom:1px solid var(--line)}.form-heading>span{display:block;color:var(--blue);font:500 .62rem var(--mono);letter-spacing:.1em}.form-heading h3{margin:.55rem 0 .5rem;font:700 clamp(1.35rem,2.4vw,2rem)/1.03 var(--display);letter-spacing:-.06em}.form-heading p{margin:0;color:#48667d;font-size:.83rem}.contact-form label{font:500 .65rem var(--mono);letter-spacing:.05em;color:var(--ink);display:grid;gap:.5rem}.contact-form label>span{color:#6b7280;font-size:.58rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;border:0;border-bottom:1px solid #90b8d7;border-radius:0;background:#f5faff;font:400 .9rem var(--body);color:var(--ink);padding:.8rem .85rem;outline:0;transition:background .18s,box-shadow .18s}.contact-form textarea{resize:vertical;min-height:116px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{background:var(--white);box-shadow:inset 0 -2px 0 var(--blue)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7890a3}.consent{grid-template-columns:18px 1fr!important;align-items:start;color:#48667d!important;font:400 .72rem/1.5 var(--body)!important;letter-spacing:0!important;padding:0!important}.consent input{margin:.1rem 0 0;accent-color:var(--blue)}.trap{position:absolute!important;left:-9999px!important}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.4rem}.form-status{margin:0;font-size:.76rem;color:#48667d;max-width:300px}.form-status.is-success{color:#126835}.form-status.is-error{color:#a52d2d}.button:disabled{opacity:.65;cursor:wait}.contact-form .button{border:0;cursor:pointer;font-family:var(--body);white-space:nowrap}footer{max-width:1440px;margin:auto;padding:1.5rem clamp(1.25rem,5vw,5rem) 2.2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.72rem;color:#48667d}footer p{margin:0}footer>a:last-child{text-decoration:underline;text-underline-offset:3px}.reveal{opacity:0;translate:0 18px;transition:opacity .75s ease,translate .75s ease}.reveal.is-visible{opacity:1;translate:0 0}.hero .reveal{transition-delay:.1s}.hero .hero-orbit{transition-delay:.24s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.button-primary{transition:none}}@media(max-width:800px){.site-header{height:70px}.menu-button{display:block}.menu{display:none;position:absolute;top:58px;right:1.25rem;left:1.25rem;background:var(--white);padding:1.25rem;box-shadow:0 15px 30px rgba(0,43,78,.13);flex-direction:column;align-items:stretch;gap:1rem}.menu.is-open{display:flex}.nav-cta{text-align:center}.hero{min-height:auto;grid-template-columns:1fr;padding-top:4rem;gap:2.5rem}.hero-orbit{width:100%;height:80vw;min-height:350px;max-height:460px}.capability{grid-template-columns:72px 1fr;padding:1.7rem 0}.capability:hover{padding-left:.5rem;padding-right:.5rem}.cap-body{grid-template-columns:1fr;gap:.8rem}.cap-icon{display:none}.method,.contact{grid-template-columns:1fr}.method{gap:3rem}.contact{align-items:start}.form-row{grid-template-columns:1fr}.contact-form{box-shadow:8px 8px 0 var(--blue)}.form-bottom{align-items:flex-start;flex-direction:column-reverse}footer{flex-wrap:wrap}.section-intro{margin-bottom:2.5rem}}@media(max-width:430px){.hero h1{font-size:3.35rem}.hero-orbit{margin-inline:-.6rem;width:calc(100% + 1.2rem)}.orbit-node{font-size:.55rem}.caption-top,.caption-bottom{font-size:.49rem}.cap-meta{font-size:.6rem}.capability{grid-template-columns:60px 1fr}.method-steps li{grid-template-columns:48px 1fr}.contact h2,.section-intro h2{font-size:2.7rem}footer{align-items:flex-start;flex-direction:column}}
