html{scroll-behavior:smooth}html,body,#root{margin:0;min-height:100%}body{background:var(--ds-page);color:#092f54}*{box-sizing:border-box}a{color:inherit}.site-shell{--navy:#07335a;--deep:#042642;--red:#c92a2f;--mist:#edf4f7;--pale:#f7fafb;margin:0;overflow:hidden;font-family:'KMR Melange Grotesk',Arial,sans-serif}.topbar{min-height:86px;padding:16px clamp(24px,5vw,64px);display:flex;align-items:center;gap:38px;background:#fff;border-bottom:1px solid #e6edf0;position:relative;z-index:10}.brand{display:block;margin-right:auto}.brand img{display:block;width:244px;max-width:36vw;height:auto}.topbar nav{display:flex;align-items:center;gap:30px}.topbar nav a{text-decoration:none;font-size:14px;font-weight:600;color:#244862}.topbar nav a:hover,.topbar nav a[aria-current=page]{color:var(--red)}.nav-cta,.button{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:4px;font-weight:600;font-size:14px;transition:.2s ease}.nav-cta,.button-primary{background:var(--navy);color:#fff!important}.nav-cta:hover,.button-primary:hover{background:var(--red);transform:translateY(-1px)}.hero{min-height:680px;padding:82px clamp(24px,6vw,78px) 70px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:center;gap:64px;background:linear-gradient(135deg,#f8fbfc 0%,#fff 52%,#eef5f7 100%);position:relative}.hero::before{content:'';position:absolute;width:320px;height:320px;left:-190px;top:90px;border:1px solid rgba(7,51,90,.07);border-radius:50%}.eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:#466378;display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:2px;background:var(--red);display:inline-block}h1,h2{font-family:'Aime',Georgia,serif;letter-spacing:-.035em;font-weight:400}h1{font-size:clamp(52px,6vw,78px);line-height:.98;margin:0;max-width:680px;color:var(--navy)}.hero-lead{font-size:19px;line-height:1.65;color:#526b7b;max-width:650px;margin:30px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button-secondary{border:1px solid #bccbd3;color:var(--navy);background:#fff}.button-secondary:hover{border-color:var(--navy)}.market-line{margin-top:44px;padding-top:25px;border-top:1px solid #dbe5e9;display:flex;flex-direction:column;gap:7px;color:#6c7f8a;font-size:13px}.market-line strong{color:var(--navy);font-size:15px}.hero-visual{min-height:480px;position:relative;display:flex;align-items:center;justify-content:center}.hero-panel{position:relative;width:min(100%,430px);min-height:340px;border-radius:22px;background:linear-gradient(145deg,#07335a,#042642);box-shadow:0 30px 70px rgba(4,38,66,.22);color:#fff;padding:30px;z-index:2;overflow:hidden}.hero-panel::after{content:'';position:absolute;width:280px;height:280px;background:rgba(255,255,255,.04);border-radius:50%;top:-160px;right:-120px}.panel-top,.panel-foot{display:flex;justify-content:space-between;color:#b9ccd7;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.live-dot{color:#fff}.live-dot::before{content:'';display:inline-block;width:7px;height:7px;background:#59bca3;border-radius:50%;margin-right:7px}.metric{margin-top:45px;display:flex;flex-direction:column;gap:6px}.metric small{color:#9db4c2;font-size:13px}.metric strong{font-family:'Aime',Georgia,serif;font-size:35px;font-weight:400}.chart{height:130px;margin:28px 0 20px;display:flex;gap:12px;align-items:end;border-bottom:1px solid rgba(255,255,255,.16)}.chart i{flex:1;background:linear-gradient(to top,#c92a2f,#f15a5f);border-radius:4px 4px 0 0;opacity:.92}.panel-foot{color:#7995a7}.floating-card{position:absolute;z-index:3;background:#fff;box-shadow:0 16px 42px rgba(5,45,75,.14);border:1px solid #e6edf0;border-radius:12px;padding:14px 17px;display:flex;gap:12px;align-items:center;min-width:230px}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:13px;color:var(--navy)}.floating-card small{color:#718692;margin-top:3px;font-size:11px}.mark{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#e8f5f1;color:#25836e}.mark.red{background:#fff0f0;color:var(--red)}.float-top{right:-18px;top:42px}.float-bottom{left:-30px;bottom:32px}.orbit{position:absolute;border:1px solid rgba(7,51,90,.09);border-radius:50%}.orbit-one{width:520px;height:520px}.orbit-two{width:620px;height:350px;transform:rotate(-22deg)}.trust-strip{padding:26px clamp(24px,6vw,78px);background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.trust-strip p{font-family:'Aime',Georgia,serif;font-size:19px;margin:0}.trust-strip div{display:flex;flex-wrap:wrap;gap:28px;color:#bfd0da;font-size:12px}.trust-strip span::before{content:'✓';color:#ff6a6d;margin-right:8px}.section{padding:100px clamp(24px,6vw,78px)}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:48px}.section-heading h2,.expertise h2,.contact h2,.outputs h2{margin:0;font-size:clamp(39px,4vw,56px);line-height:1.05;color:var(--navy)}.section-heading>p{margin:0 0 5px;color:#647b89;line-height:1.7;max-width:450px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfe7eb;border-left:1px solid #dfe7eb}.service-card{text-decoration:none;position:relative;min-height:320px;padding:32px;border-right:1px solid #dfe7eb;border-bottom:1px solid #dfe7eb;background:#fff;transition:.25s ease}.service-card:hover{background:#f8fbfc;transform:translateY(-3px);box-shadow:0 16px 36px rgba(7,51,90,.07);z-index:1}.service-number{position:absolute;right:24px;top:22px;color:#9db0bb;font-size:12px}.service-icon{width:48px;height:48px;background:#edf4f7;color:var(--navy);display:grid;place-items:center;border-radius:8px;font-size:12px;font-weight:700;margin-bottom:32px}.service-card h3{font-size:19px;margin:0 0 15px;color:var(--navy)}.service-card p{margin:0;color:#6a7e8a;font-size:14px;line-height:1.65}.card-link{display:block;margin-top:22px;font-size:12px;color:var(--navy)}.card-link span{color:var(--red);margin-left:5px}.expertise{background:#f0f5f7}.expertise-card{background:var(--navy);border-radius:18px;display:grid;grid-template-columns:.95fr 1.05fr;overflow:hidden;box-shadow:0 20px 50px rgba(7,51,90,.12)}.expertise-copy{padding:70px;background:linear-gradient(145deg,#07335a,#052b4b)}.eyebrow-light{color:#a9becb}.expertise h2,.contact h2,.difference h2{color:#fff}.expertise-copy>p:not(.eyebrow){color:#b9cbd5;line-height:1.7;font-size:16px}.text-link{color:#fff;font-weight:600;display:inline-flex;gap:14px;margin-top:20px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:7px}.text-link b{color:#ff676a}.capability-list{background:#fff;padding:24px 46px}.capability-list>div{min-height:76px;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;border-bottom:1px solid #e7edef}.capability-list>div:last-child{border-bottom:0}.capability-list span{color:#9badb7;font-size:11px}.capability-list p{margin:0;color:var(--navy);font-weight:600}.capability-list b{color:var(--red);font-weight:400}.section-heading.compact{margin-bottom:55px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.approach-grid article{border-top:3px solid var(--navy);padding:26px 0 10px}.approach-grid article:nth-child(2){border-color:var(--red)}.big-index{font-family:'Aime',Georgia,serif;color:#c5d1d7;font-size:42px}.approach-grid h3{color:var(--navy);font-size:21px;margin:26px 0 12px}.approach-grid p{color:#6b7e89;line-height:1.65;margin:0}.contact{background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.contact-copy>p:last-child{color:#b7c8d2;line-height:1.7;max-width:590px}.contact-card{background:#fff;color:var(--navy);border-radius:14px;padding:14px 30px}.contact-card>a{padding:20px 0;border-bottom:1px solid #e4eaed;display:flex;justify-content:space-between;gap:20px;text-decoration:none}.contact-card small{color:#879aa5}.contact-card strong{font-size:14px;text-align:right}.contact-card>p{margin:16px 0 4px;color:#7d6a6b;font-size:11px}footer{padding:42px clamp(24px,6vw,78px) 28px;background:#fff}footer img{width:235px;max-width:70%}footer>p{color:#6c7f8a;font-size:13px;margin:15px 0 32px}footer>div{padding-top:20px;border-top:1px solid #e2e8eb;display:flex;justify-content:space-between;gap:20px;color:#84949d;font-size:11px}
/* Detail pages */
.detail-hero{padding:76px clamp(24px,6vw,78px) 84px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:90px;align-items:end;background:linear-gradient(135deg,#f8fbfc,#eef5f7)}.detail-hero h1{margin-bottom:26px}.detail-hero>div>p:not(.eyebrow){font-size:18px;line-height:1.72;color:#526b7b;max-width:760px;margin:0 0 30px}.back{display:inline-block;margin-bottom:44px;text-decoration:none;color:#647b89;font-size:13px}.back:hover{color:var(--red)}.detail-hero aside{background:var(--navy);color:#fff;border-radius:16px;padding:34px;box-shadow:0 20px 46px rgba(7,51,90,.15)}.detail-hero aside small{color:#9fb6c4;text-transform:uppercase;letter-spacing:.15em}.detail-hero aside strong{font-family:'Aime',Georgia,serif;font-size:30px;line-height:1.1;font-weight:400;display:block;margin:20px 0}.detail-hero aside p{margin:0;color:#b9cbd5;font-size:13px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe7eb}.check-grid>div{min-height:94px;display:grid;grid-template-columns:44px 1fr;align-items:center;border-bottom:1px solid #dfe7eb}.check-grid>div:nth-child(odd){border-right:1px solid #dfe7eb;padding-right:32px}.check-grid>div:nth-child(even){padding-left:32px}.check-grid span{color:#9badb7;font-size:11px}.check-grid p{margin:0;color:var(--navy);font-weight:600}.difference{background:var(--navy);color:#fff}.difference .section-heading>p{color:#b9cbd5}.difference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}.difference-grid article{background:var(--navy);padding:36px;min-height:300px}.difference-grid span{color:#ff777a;font-size:12px}.difference-grid h3{font-family:'Aime',Georgia,serif;font-size:26px;font-weight:400;margin:40px 0 18px}.difference-grid p{color:#b9cbd5;line-height:1.7;font-size:14px;margin:0}.outputs{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:center;background:#f5f8f9}.fit{margin:28px 0 0;color:#657b88;line-height:1.7;max-width:630px}.fit strong{color:var(--navy)}.output-list{background:#fff;border:1px solid #dfe7eb}.output-list div{min-height:74px;display:grid;grid-template-columns:54px 1fr;align-items:center;padding:0 24px;border-bottom:1px solid #e5ebee}.output-list div:last-child{border-bottom:0}.output-list span{font-size:11px;color:#9badb7}.output-list strong{font-size:14px}.next-service{padding:72px clamp(24px,6vw,78px)}.next-service>p{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:#879aa5}.next-service>div{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #dfe7eb}.next-service a{min-height:72px;text-decoration:none;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;border-bottom:1px solid #dfe7eb;font-weight:600}.next-service a:nth-child(odd){padding-right:28px;border-right:1px solid #dfe7eb}.next-service a:nth-child(even){padding-left:28px}.next-service a span{font-size:11px;color:#9badb7}.next-service a b{color:var(--red)}.detail-cta{background:var(--deep);color:#fff;padding:72px clamp(24px,6vw,78px);text-align:center}.detail-cta h2{color:#fff;font-size:clamp(38px,4vw,55px);margin:0}.detail-cta p{color:#b8c9d3;margin:18px 0 28px}.light-button{background:#fff;color:var(--navy);max-width:100%;overflow-wrap:anywhere}.not-found{padding:120px clamp(24px,6vw,78px);min-height:500px}.not-found h1{margin-bottom:40px}
@media(min-width:768px){.site-shell{margin:0}}
@media(max-width:900px){.topbar nav{display:none}.hero{grid-template-columns:1fr;padding-top:62px;gap:35px}.hero-visual{max-width:620px;width:100%;margin:0 auto}.section-heading{grid-template-columns:1fr;gap:22px}.service-grid{grid-template-columns:repeat(2,1fr)}.expertise-card{grid-template-columns:1fr}.contact{grid-template-columns:1fr;gap:44px}.detail-hero{grid-template-columns:1fr;gap:44px}.difference-grid{grid-template-columns:1fr}.difference-grid article{min-height:0}.outputs{grid-template-columns:1fr;gap:45px}}
@media(max-width:600px){.site-shell{margin:0}.topbar{min-height:72px;padding:12px 20px;gap:14px}.brand img{width:168px;max-width:51vw}.nav-cta{min-height:42px;padding:0 11px;font-size:10px}.hero{min-height:auto;padding:58px 24px 54px}h1{font-size:47px}.hero-lead{font-size:17px;margin:24px 0}.button{width:100%}.market-line{margin-top:34px}.hero-visual{min-height:420px}.hero-panel{min-height:320px;padding:24px}.float-top{right:-5px;top:5px}.float-bottom{left:-5px;bottom:0}.floating-card{min-width:205px;padding:11px 13px}.orbit-one{width:420px;height:420px}.orbit-two{display:none}.trust-strip{flex-direction:column;align-items:flex-start;padding:28px 24px}.trust-strip div{flex-direction:column;gap:12px}.section{padding:72px 24px}.section-heading h2,.expertise h2,.contact h2,.outputs h2{font-size:39px}.service-grid{grid-template-columns:1fr}.service-card{min-height:275px}.expertise{padding:50px 16px}.expertise-copy{padding:45px 28px}.capability-list{padding:12px 24px}.capability-list>div{grid-template-columns:34px 1fr 16px;min-height:70px}.approach-grid{grid-template-columns:1fr;gap:35px}.contact-card{padding:12px 20px}.contact-card>a{flex-direction:column;gap:5px}.contact-card strong{text-align:left;overflow-wrap:anywhere}footer>div{flex-direction:column}.detail-hero{padding:52px 24px 62px}.detail-hero h1{font-size:46px}.detail-hero>div>p:not(.eyebrow){font-size:16px}.detail-hero aside{padding:28px}.check-grid{grid-template-columns:1fr}.check-grid>div:nth-child(odd),.check-grid>div:nth-child(even){border-right:0;padding:0}.difference-grid article{padding:30px}.outputs{gap:35px}.next-service{padding:56px 24px}.next-service>div{grid-template-columns:1fr}.next-service a:nth-child(odd),.next-service a:nth-child(even){border-right:0;padding:0}.detail-cta{padding:62px 24px}.detail-cta .button{font-size:12px;padding:0 12px}}

/* Cinematic motion layer */
.hero{isolation:isolate;perspective:1200px;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(7,51,90,.035) 45%,transparent 70%);background-size:220% 100%;animation:lightSweep 9s ease-in-out infinite}
.hero-visual{transform-style:preserve-3d}
.hero-panel{transform-style:preserve-3d;will-change:transform;animation:panelFloat 7s ease-in-out infinite}
.hero-panel::before{content:'';position:absolute;inset:-60%;background:conic-gradient(from 180deg,transparent,rgba(255,255,255,.11),transparent 28%);animation:panelShine 8s linear infinite;pointer-events:none}
.chart i{transform-origin:bottom;animation:barRise 1.3s cubic-bezier(.2,.8,.2,1) both}
.chart i:nth-child(2){animation-delay:.09s}.chart i:nth-child(3){animation-delay:.18s}.chart i:nth-child(4){animation-delay:.27s}.chart i:nth-child(5){animation-delay:.36s}.chart i:nth-child(6){animation-delay:.45s}
.floating-card{will-change:transform;animation:cardDrift 5.5s ease-in-out infinite}.float-bottom{animation-delay:-2.4s}
.orbit-one{animation:orbitSpin 22s linear infinite}.orbit-two{animation:orbitCounter 28s linear infinite}
.data-stream{position:absolute;inset:8% -16% auto;z-index:1;height:220px;transform:rotate(-11deg) translateZ(-80px);opacity:.34;pointer-events:none}
.data-stream span{position:absolute;left:-8%;width:116%;height:1px;background:linear-gradient(90deg,transparent,rgba(7,51,90,.38),rgba(201,42,47,.52),transparent);animation:dataFlow 8s ease-in-out infinite}
.data-stream span:nth-child(1){top:20%;animation-delay:-1s}.data-stream span:nth-child(2){top:50%;animation-delay:-3.5s}.data-stream span:nth-child(3){top:80%;animation-delay:-6s}
.data-stream b{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 22px rgba(201,42,47,.7);animation:signalMove 7s linear infinite}
.data-stream b:nth-of-type(1){top:17%;animation-delay:-2s}.data-stream b:nth-of-type(2){top:47%;animation-delay:-5s}.data-stream b:nth-of-type(3){top:77%;animation-delay:-.5s}
.motion-label{position:absolute;right:3%;bottom:6%;z-index:4;color:#69808e;font-size:10px;letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl}
.service-card,.approach-grid article,.expertise-card,.contact-card,.difference-grid article,.output-list{transform-style:preserve-3d;will-change:transform}
.reveal{opacity:0;transform:translateY(30px) scale(.985);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}.reveal.is-visible{opacity:1;transform:none}
.service-card.reveal:nth-child(2),.difference-grid article.reveal:nth-child(2){transition-delay:.08s}.service-card.reveal:nth-child(3),.difference-grid article.reveal:nth-child(3){transition-delay:.16s}.service-card.reveal:nth-child(4){transition-delay:.24s}.service-card.reveal:nth-child(5){transition-delay:.32s}.service-card.reveal:nth-child(6){transition-delay:.4s}
.motion-number{position:absolute;font-family:'Aime',Georgia,serif;font-size:clamp(60px,9vw,126px);line-height:1;color:rgba(7,51,90,.045);pointer-events:none;user-select:none;animation:numberBreath 8s ease-in-out infinite}
.motion-number.n1{right:2%;top:3%}.motion-number.n2{left:1%;bottom:4%;animation-delay:-4s}
@keyframes panelFloat{0%,100%{transform:rotateY(-3deg) rotateX(2deg) translate3d(0,0,30px)}50%{transform:rotateY(2deg) rotateX(-1deg) translate3d(0,-12px,55px)}}
@keyframes panelShine{to{transform:rotate(360deg)}}
@keyframes cardDrift{0%,100%{transform:translate3d(0,0,70px)}50%{transform:translate3d(0,-9px,95px)}}
@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes orbitCounter{from{transform:rotate(-22deg)}to{transform:rotate(-382deg)}}
@keyframes barRise{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:.92}}
@keyframes dataFlow{0%,100%{transform:translateX(-4%) scaleX(.93);opacity:.4}50%{transform:translateX(4%) scaleX(1);opacity:1}}
@keyframes signalMove{from{left:-4%}to{left:104%}}
@keyframes numberBreath{0%,100%{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-10px)}}
@keyframes lightSweep{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(max-width:600px){.data-stream{inset:19% -30% auto;height:180px}.motion-label{display:none}.hero-panel{animation-duration:8s}.service-card.reveal{transition-delay:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero::after,.hero-panel::before,.hero-panel,.floating-card,.orbit,.chart i,.data-stream span,.data-stream b,.motion-number{animation:none!important}.reveal{opacity:1;transform:none;transition:none}}
