@font-face{font-family:'Public Sans';src:url('public/fonts/PublicSans-Latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--navy:#0b1730;--navy-deep:#071124;--navy-soft:#162844;--ink:#11223c;--muted:#536477;--paper:#f1f5f6;--white:#fff;--cyan:#77e7ec;--cyan-dark:#0e646f;--line:rgba(213,231,239,.22);font-family:'Public Sans','Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}body{margin:0;min-width:320px}button,a{touch-action:manipulation}button{font:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}p{line-height:1.58}::selection{background:var(--cyan);color:var(--navy)}:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}body:has(.hero) :focus-visible{scroll-margin:8rem}.container{width:min(100% - 3.5rem,1320px);margin-inline:auto}.skip-link{position:absolute;z-index:100;top:-80px;left:1rem;padding:.8rem 1rem;background:var(--cyan);color:var(--navy);font-weight:700}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:30;background:var(--navy);color:var(--white);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.8rem;font-size:.92rem;font-weight:700;letter-spacing:.14em;white-space:nowrap}.brand img{width:47px;height:44px;object-fit:contain;background:#fff;padding:4px}.brand span span{color:var(--cyan)}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);font-size:.86rem;font-weight:700}.site-nav a:not(.nav-contact){padding:.7rem 0;border-bottom:1px solid transparent}.site-nav a:not(.nav-contact):hover,.site-nav a:not(.nav-contact):focus-visible{border-color:var(--cyan);color:var(--cyan)}.nav-contact{padding:.9rem 1.05rem;border:1px solid rgba(119,231,236,.55);color:var(--cyan)}.nav-contact:hover{background:var(--cyan);color:var(--navy)}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;color:var(--white);background:var(--navy);isolation:isolate}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 72% 43%,rgba(28,76,105,.29),transparent 43%);z-index:-1}.hero-grid{position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#7894a5 100%),linear-gradient(0deg,transparent calc(100% - 1px),#7894a5 100%);background-size:110px 110px;mask-image:linear-gradient(90deg,transparent 12%,black 100%);z-index:-1}.hero-layout{min-height:600px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:clamp(2rem,4vw,5rem);padding-top:2rem;padding-bottom:2rem}.hero-copy{max-width:650px}.hero h1{font-size:clamp(3.1rem,5.25vw,5.8rem);line-height:1.03;font-weight:700;margin-bottom:2rem}.hero-lead{font-size:clamp(1.05rem,1.5vw,1.24rem);line-height:1.55;max-width:59ch;color:#d3e1e9;margin-bottom:2rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:56px;padding:1rem 1.3rem;font-size:.96rem;font-weight:700;transition:background .25s ease,color .25s ease,transform .25s ease}.button:hover{transform:translateY(-2px)}.button-cyan{background:var(--cyan);color:var(--navy)}.button-cyan:hover{background:#a8f3f4}.button span,.text-link span{font-size:1.25em;line-height:0}.architecture{width:100%;min-width:0;border:1px solid rgba(169,203,219,.34);background:rgba(8,25,46,.82)}.architecture-heading{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);font-size:.75rem;font-weight:700;line-height:1.35;letter-spacing:.04em;color:#d9edf0}.architecture-mark{color:var(--cyan);white-space:nowrap}.diagram{position:relative;width:100%;aspect-ratio:600/420;min-height:405px}.diagram-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.diagram-lines .grid-line{fill:none;stroke:rgba(170,206,223,.1);stroke-width:1}.diagram-lines .route{fill:none;stroke:var(--cyan);stroke-width:2;stroke-dasharray:4 6;opacity:.34;transition:opacity .3s ease,stroke-width .3s ease}.diagram-lines circle{fill:var(--cyan);opacity:.8}.diagram[data-active="0"] .route-0,.diagram[data-active="1"] .route-0,.diagram[data-active="1"] .route-1,.diagram[data-active="2"] .route-0,.diagram[data-active="2"] .route-1,.diagram[data-active="2"] .route-2,.diagram[data-active="3"] .route-0,.diagram[data-active="3"] .route-1,.diagram[data-active="3"] .route-2,.diagram[data-active="3"] .route-3,.diagram[data-active="4"] .route{stroke-width:2.5;opacity:.9}.station{position:absolute;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;gap:.45rem .3rem;width:29%;min-height:82px;text-align:left;padding:.65rem .8rem;border:1px solid rgba(170,212,225,.45);background:#142944;color:var(--white);cursor:pointer;transition:border-color .3s ease,background .3s ease,transform .3s cubic-bezier(.15,.8,.2,1)}.station:hover,.station:focus-visible,.station.is-active{border-color:var(--cyan);background:#1b3e58;transform:translateY(-3px)}.station small{grid-column:1/-1;color:#add0dc;font-size:.7rem;font-weight:700;letter-spacing:.14em}.station strong{font-size:clamp(.92rem,1.65vw,1.18rem);letter-spacing:-.025em}.station span{color:var(--cyan);font-size:.7rem;align-self:end}.station-0{left:6%;top:10%}.station-1{left:35%;top:29%}.station-2{right:6%;top:10%}.station-3{left:46%;top:57%}.station-4{left:16%;bottom:5%;width:45%;min-height:92px;background:var(--cyan);color:var(--navy);border-color:var(--cyan)}.station-4 small,.station-4 span{color:#145466}.station-4 strong{font-size:1.45rem}.station-4:hover,.station-4:focus-visible,.station-4.is-active{background:#a7f4f4;color:var(--navy)}.diagram-caption{border-top:1px solid var(--line);padding:1rem 1.25rem;margin:0;min-height:70px;color:#d3e4eb;font-size:.875rem;line-height:1.45}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);min-height:56px;font-size:.8rem;letter-spacing:.02em;color:#c5dbe4}.hero-bottom a{color:var(--cyan);font-weight:700}.hero-bottom a:hover{text-decoration:underline;text-underline-offset:5px}.section{padding:clamp(5.5rem,9vw,9rem) 0}.split-layout{display:grid;grid-template-columns:1fr .84fr;gap:clamp(3rem,10vw,9rem)}.section h2{font-size:clamp(2.5rem,4.2vw,4.5rem);line-height:1.1;max-width:18ch;margin-bottom:0}.section-prose{padding-top:.4rem;max-width:68ch}.section-prose p{font-size:clamp(1.08rem,1.5vw,1.22rem);color:#34475a}.section-prose p:last-child{margin-bottom:0}.friction-line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5rem;border-top:1px solid #b7c1c6;border-bottom:1px solid #b7c1c6}.friction-line span{padding:1.4rem .8rem 1.4rem 0;font-weight:700;font-size:.9rem}.friction-line span+span{padding-left:1rem;border-left:1px solid #b7c1c6}.solution{background:#dce9e8}.solution-layout{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:8vw}.solution h2{max-width:19ch;margin-bottom:2.2rem}.large-copy{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.45;max-width:46ch;margin-bottom:0}.solution-rail{border-top:1px solid #5a888c;padding-top:1.2rem}.solution-rail p{font-size:1.03rem;max-width:36ch;margin-bottom:2rem}.text-link{display:inline-flex;gap:2rem;align-items:center;justify-content:space-between;padding-bottom:.55rem;border-bottom:1px solid currentColor;color:var(--cyan-dark);font-size:.94rem;font-weight:700}.text-link:hover{color:var(--navy);padding-right:.35rem}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:4rem}.section-intro h2{max-width:16ch}.section-intro p{max-width:35ch;margin:0;font-size:1.08rem;color:var(--muted)}.services{background:var(--paper)}.service{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;border-top:1px solid #9daeb5;padding:3.7rem 0}.service:last-of-type{border-bottom:1px solid #9daeb5}.service h3{font-size:clamp(2.1rem,3.5vw,3.8rem);line-height:1.1;margin-bottom:1.5rem}.service-main p{font-size:1.12rem;max-width:51ch;color:#34475a;margin-bottom:2rem}.service-aside{align-self:start;border-top:1px solid #77969d;padding-top:.85rem}.service-aside>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#365e68;font-weight:700}.service-aside>p{display:flex;flex-wrap:wrap;gap:.4rem .65rem;align-items:center;font-size:1.2rem;font-weight:700;line-height:1.8;margin-top:1.6rem}.service-aside b{color:var(--cyan-dark)}.capability-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;padding:0;margin:1rem 0 0}.capability-list li{border-bottom:1px solid #c7d2d2;padding:.9rem 0;font-size:.93rem;font-weight:700}.service-note{font-size:.82rem;color:var(--muted);margin:1.2rem 0 0}.process{background:var(--navy);color:var(--white)}.process .section-intro p{color:#cbdae5}.process-list{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{position:relative;padding:1.6rem 1.2rem 0 0}.process-list li+li{padding-left:1.2rem;border-left:1px solid var(--line)}.process-list li::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border:1px solid var(--cyan);background:var(--navy)}.process-list li+li::before{left:1.2rem}.process-list li>span{color:var(--cyan);font-weight:700;font-size:.78rem}.process-list h3{font-size:1.32rem;margin:1.4rem 0 .8rem}.process-list p{font-size:.91rem;color:#c7d8e2;margin:0}.outcomes{background:#e8edeb}.outcomes-layout{display:grid;grid-template-columns:1fr .85fr;gap:8vw}.outcomes h2{max-width:15ch}.outcomes p{font-size:clamp(1.14rem,1.7vw,1.35rem);color:#34475a}.outcomes p:last-child{margin-bottom:0}.about{background:var(--paper);padding-bottom:0}.about-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:8vw;align-items:end}.portrait{min-height:480px;background:linear-gradient(135deg,#d6e7e6,#93bcc0);display:flex;align-items:end;justify-content:center;overflow:hidden}.portrait img{width:min(100%,500px);height:auto}.about-copy{align-self:center;padding:4rem 0}.about-copy h2{margin-bottom:2rem}.about-copy p{max-width:55ch;font-size:1.1rem;color:#34475a}.signature{display:block;margin-top:3rem;border-top:1px solid #b9c8c8;padding-top:1.2rem;font-weight:700;font-size:1.1rem}.signature small{display:block;margin-top:.35rem;font-size:.8rem;font-weight:400;color:var(--muted)}.final-cta{background:var(--cyan);color:var(--navy);padding:clamp(5rem,8vw,8rem) 0}.final-layout{display:flex;align-items:end;justify-content:space-between;gap:3rem}.final-cta h2{font-size:clamp(2.5rem,4.5vw,5rem);line-height:1.08;max-width:17ch;margin-bottom:1.5rem}.final-cta p{max-width:55ch;font-size:1.12rem;margin:0}.final-cta .button{flex:none;background:var(--navy);color:#fff}.final-cta .button:hover{background:#214362}.site-footer{background:var(--navy-deep);color:#fff;padding-top:4rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:4rem;padding-bottom:4rem}.footer-grid h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);margin:0 0 1.3rem}.footer-grid a:not(.brand){display:block;width:fit-content;margin-bottom:.8rem;font-size:.93rem}.footer-grid a:hover{text-decoration:underline;text-underline-offset:4px}.footer-grid p{font-size:.88rem;color:#bfcedb}.footer-brand p{margin-top:1.2rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.3rem 0;font-size:.8rem;color:#c3d3df}.footer-bottom a:hover{color:var(--cyan)}
@media(max-width:1100px){.site-nav{gap:1rem}.site-nav a{font-size:.78rem}.hero-layout{grid-template-columns:1fr 1fr;gap:2rem}.hero h1{font-size:clamp(3rem,5vw,4.5rem)}.diagram{min-height:350px}.station{min-height:68px}.station-4{min-height:78px}}
@media(max-width:850px){.header-inner{height:74px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:10px;border:1px solid var(--line);background:transparent;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:100%;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:1rem max(1.75rem,calc((100vw - 1320px)/2));background:var(--navy-deep);border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(0,0,0,.2)}.site-nav.is-open{display:flex}.site-nav a:not(.nav-contact){padding:1rem .2rem;border-bottom:1px solid var(--line);font-size:1rem}.nav-contact{margin:1rem 0;font-size:1rem;text-align:center}.hero-layout{grid-template-columns:1fr;min-height:0;padding-top:4rem;padding-bottom:4rem}.hero-copy{max-width:780px}.hero h1{font-size:clamp(3rem,8vw,5rem)}.architecture{max-width:700px}.diagram{min-height:430px}.split-layout,.solution-layout,.outcomes-layout{grid-template-columns:1fr;gap:2rem}.section h2{max-width:24ch}.section-prose{padding:0}.service{gap:3rem}.process-list{grid-template-columns:repeat(2,1fr);gap:2.5rem 0}.process-list li:nth-child(odd){border-left:0;padding-left:0}.process-list li:nth-child(odd)::before{left:0}.process-list li:nth-child(even){border-left:1px solid var(--line)}.about-layout{gap:3rem}.portrait{min-height:0}.final-layout{align-items:start;flex-direction:column}}
@media(max-width:600px){.container{width:min(100% - 2.25rem,1320px)}.brand{font-size:.75rem;gap:.55rem}.brand img{width:40px;height:40px}.hero-layout{padding-top:3.4rem;padding-bottom:3rem}.hero h1{font-size:clamp(2.65rem,10.5vw,3.9rem);margin-bottom:1.4rem}.hero-lead{font-size:1.05rem}.architecture-heading{font-size:.75rem;padding:.75rem .8rem}.architecture-mark{display:none}.diagram{aspect-ratio:auto;min-height:0;padding:1.25rem 1.1rem 1.25rem 3.2rem;display:flex;flex-direction:column;gap:.85rem}.diagram::before{content:"";position:absolute;left:2.25rem;top:2rem;bottom:2rem;width:1px;background:var(--cyan)}.diagram-lines{display:none}.station,.station-0,.station-1,.station-2,.station-3,.station-4{position:relative;inset:auto;width:100%;min-height:68px;transform:none}.station::before{content:"";position:absolute;left:-2rem;top:50%;width:1.25rem;height:1px;background:var(--cyan)}.station::after{content:"";position:absolute;left:-2.18rem;top:calc(50% - 3px);width:7px;height:7px;background:var(--cyan)}.station:hover,.station:focus-visible,.station.is-active{transform:translateX(3px)}.station-4 strong{font-size:1.2rem}.diagram-caption{font-size:.875rem}.hero-bottom{align-items:start;padding-top:1rem;padding-bottom:1rem;font-size:.875rem}.hero-bottom span{max-width:17ch}.hero-bottom a{white-space:nowrap}.section{padding:5rem 0}.section h2{font-size:clamp(2.35rem,9vw,3.3rem)}.friction-line{grid-template-columns:1fr 1fr;margin-top:3rem}.friction-line span{min-height:66px}.friction-line span:nth-child(3){border-left:0;border-top:1px solid #b7c1c6}.friction-line span:nth-child(4){border-top:1px solid #b7c1c6}.section-intro{display:block;margin-bottom:2rem}.section-intro h2{margin-bottom:1.5rem}.service{grid-template-columns:1fr;gap:2rem;padding:2.7rem 0}.service h3{font-size:2.35rem}.capability-list{grid-template-columns:1fr 1fr;gap:0 .6rem}.capability-list li{font-size:.84rem}.process-list{grid-template-columns:1fr;gap:0;border-top:0;border-left:1px solid var(--line)}.process-list li,.process-list li+li,.process-list li:nth-child(odd),.process-list li:nth-child(even){padding:0 0 2.3rem 1.35rem;border-left:0}.process-list li::before,.process-list li+li::before,.process-list li:nth-child(odd)::before{left:-5px;top:3px}.process-list h3{margin:.6rem 0 .5rem}.about{padding-bottom:0}.about-layout{grid-template-columns:1fr;gap:0}.portrait{order:2;max-width:500px}.about-copy{padding:0 0 3rem}.final-cta h2{font-size:clamp(2.5rem,9vw,3.5rem)}.final-cta .button{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1rem}.footer-brand{grid-column:1/-1}.footer-bottom{font-size:.75rem}}
@media(max-width:380px){.capability-list{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.hero-bottom{flex-direction:column}.button{gap:1rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
