:root{--navy:#102237;--ink:#142338;--orange:#f5783c;--muted:#657181;--paper:#f1f4f7;--line:#dce2e8;--wrap:1320px}body{background:#fafbfc;font-family:Plex,Arial,sans-serif;font-size:18px;color:var(--ink)}.wrap{padding:0 48px}h1,h2,h3{font-weight:500}h2{font-size:clamp(34px,3.55vw,48px);letter-spacing:-.04em;line-height:1.1}.section{padding:112px 0}.eyebrow{font-weight:400;margin-bottom:24px;line-height:1.5;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.16em;color:#536d85}.btn{background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:5px;min-height:48px;font-size:16px;padding:12px 23px;gap:10px}.btn:hover{background:#26425e;transform:translateY(-1px)}.btn.secondary{background:transparent;color:var(--ink);border-color:#a8b2be}.btn.secondary:hover{background:#eaf0f5}.text-link{font-size:15px;border-bottom:1px solid #9ba6b2;padding-bottom:3px}.text-link:hover{color:#bd531f;border-color:#bd531f}.actions{gap:12px;margin-top:30px}.header{position:fixed;top:16px;left:50%;width:min(1120px,calc(100% - 64px));transform:translateX(-50%);color:var(--ink);border:1px solid #e0e5e9;border-radius:12px;background:#fafbfce8;box-shadow:0 8px 28px #14233809;backdrop-filter:blur(18px);z-index:100}.header>.wrap{padding:0 24px}.header-inner{min-height:66px;border:0;gap:28px}.header.scrolled{background:#fafbfcef;box-shadow:0 8px 28px #14233814}.header.scrolled .header-inner{min-height:66px}.logo{width:96px}.logo img{width:100%;height:auto}.main-nav{gap:32px;font-size:15px}.main-nav .btn{min-height:38px;padding:8px 17px;font-size:14px}.main-nav summary{padding:21px 0;font-size:15px}.main-nav summary:after{content:'';display:inline-block;width:11px;height:11px;background:url('./assets/v3/icons/caret-down.svg') center/contain no-repeat;margin-left:7px}.main-nav details[open] summary:after{content:'';transform:rotate(180deg)}.dropdown{top:64px;width:288px;padding:10px;border-radius:10px;text-align:center;box-shadow:0 16px 36px #14233815}.dropdown a{font-size:15px;padding:16px 10px}.mobile-menu{border:1px solid #b7c1cd;color:var(--ink);padding:8px 13px;border-radius:5px}.mobile-panel{background:#fafbfc;border-top:1px solid var(--line);border-radius:0 0 12px 12px}.mobile-panel a{font-size:17px;padding:12px 0}.home-intro{text-align:center;padding-top:155px;padding-bottom:65px}.home-intro h1{font-size:clamp(55px,6.7vw,90px);line-height:1.02;letter-spacing:-.052em}.home-intro>p{font-size:19px;line-height:1.5;color:var(--muted);max-width:690px;margin:24px auto 0}.home-intro .actions{justify-content:center;margin-top:29px}.hero-journey{position:relative;height:1100px}.journey-sticky{position:sticky;top:110px}.journey-scene{position:relative;height:475px;border-radius:12px;overflow:hidden;background:#132a3c;box-shadow:0 16px 35px #1423380d;isolation:isolate}.market-panorama{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease,filter 1.1s;object-position:center;transform:scale(1.025)}.journey-scene[data-hero-stage="1"] .market-panorama{transform:scale(1.07)}.journey-scene[data-hero-stage="2"] .market-panorama{transform:scale(1.12);filter:saturate(.8)}.journey-scene[data-hero-stage="3"] .market-panorama{transform:scale(1.03);filter:saturate(.7)}.scene-caption{position:absolute;bottom:32px;left:36px;max-width:430px;color:#fff;text-shadow:0 1px 8px #0004;z-index:2}.scene-caption>span{display:block;font-size:17px;line-height:1.5}.scene-caption>strong{font-weight:500;font-size:38px;letter-spacing:-.03em;line-height:1.1;display:block;margin-top:6px}.journey-window{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:350px;background:#fffffff5;border-radius:9px;box-shadow:0 22px 60px #050f1d50;overflow:hidden;border:1px solid #ffffffa0;z-index:3}.window-head{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid #dbe1e8;background:#fff;font-size:12px;color:var(--muted)}.window-head>img{width:62px;height:auto}.window-head>span:not(.activity-dot){margin-left:auto}.activity-dot{width:6px;height:6px;background:var(--orange);border-radius:50%}.journey-control{display:flex;align-items:center;gap:24px;margin-top:22px}.journey-tabs{display:flex;flex:1;justify-content:space-between;gap:24px}.journey-tabs button{font-size:14px;color:var(--muted);border:0;border-top:1px solid var(--line);background:none;padding:14px 0;flex:1;text-align:left;display:flex;gap:10px;transition:border-color .3s,color .3s}.journey-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--orange)}.window-enter{animation:windowEnter .55s both}@keyframes windowEnter{from{opacity:.1;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.audience-line{display:flex;justify-content:center;gap:42px;color:var(--muted);font-size:14px;padding-top:35px;padding-bottom:38px;border-bottom:1px solid var(--line);max-width:1224px}.section-heading{margin-bottom:46px;align-items:end}.proof-section{background:#f1f4f7}.proof-tabs{display:flex;gap:34px;border-bottom:1px solid #ccd6df;margin-bottom:32px}.proof-tabs button{font-size:16px;font-weight:400;border:0;border-bottom:2px solid transparent;background:none;padding:15px 0;color:var(--muted);margin-bottom:-1px}.proof-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--orange)}.proof-panel{outline-offset:8px}.proof-image-shell{position:relative;border:1px solid #d3dce4;border-radius:10px;overflow:hidden;box-shadow:0 18px 35px #10223714;aspect-ratio:1900/814;background:#dce5ea}.proof-image-shell>img{width:100%;height:100%;object-fit:cover;object-position:top}.proof-image-shell.legacy{aspect-ratio:912/330}.provider-field img{width:100%;object-fit:contain;filter:brightness(0);opacity:.66;height:27px;padding:0}.dart-core img{width:110px;height:auto;margin:auto}.proof-image-shell.legacy>img{height:auto}.proof-description{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:28px}.proof-description p{max-width:690px;color:var(--muted);font-size:17px}.proof-description a{white-space:nowrap}.footer{background:#fff;color:var(--muted);border-top:1px solid var(--line);padding-top:72px}.footer a:not(.logo){font-size:14px;color:var(--ink);margin:14px 0}.footer-bottom{border-color:var(--line);font-size:12px}.page-hero{background:#f1f4f7;color:var(--ink);text-align:center;padding:160px 0 95px}.page-hero h1{font-size:clamp(45px,5vw,70px);line-height:1.08;letter-spacing:-.045em;margin:auto;max-width:1050px}.page-hero p{color:var(--muted);font-size:19px;line-height:1.6;max-width:730px;margin:28px auto 0}.page-hero .actions{justify-content:center}.closing{background:#eef2f6;color:var(--ink);padding:100px 24px}.closing p{color:var(--muted)}.closing .btn.secondary{color:var(--ink)}
@media(min-width:1440px){.journey-scene{height:545px}.hero-journey{height:1250px}}
@media(max-width:1000px){.wrap{padding-left:32px;padding-right:32px}.header{width:calc(100% - 48px)}.home-intro{padding-top:145px}.home-intro h1{font-size:74px}.scene-caption{left:28px;bottom:30px}.scene-caption>strong{font-size:31px}.journey-window{right:4%;width:330px}.journey-tabs{gap:14px}.journey-tabs button{font-size:12px;gap:7px}.audience-line{margin:0 32px;gap:30px}}
@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}.header{top:12px;width:calc(100% - 32px);border-radius:9px}.header>.wrap{padding:0 16px}.header-inner,.header.scrolled .header-inner{min-height:58px}.logo{width:82px}.home-intro{padding-top:125px;padding-bottom:42px}.home-intro h1{font-size:clamp(43px,11.6vw,60px);line-height:1.06}.home-intro>p{font-size:17px;line-height:1.6;margin-top:22px}.home-intro .actions{margin-top:26px}.btn{min-height:46px;padding:11px 18px;font-size:15px}.hero-journey{height:auto}.journey-sticky{position:relative;top:auto}.journey-scene{height:570px;border-radius:9px}.market-panorama{height:270px;object-position:25% center}.scene-caption{top:28px;left:24px;bottom:auto;max-width:260px}.scene-caption>span{font-size:14px}.scene-caption>strong{font-size:27px}.journey-window{top:auto;bottom:24px;left:20px;right:20px;width:auto;transform:none}.window-head{padding:14px 18px}.journey-control{gap:12px;align-items:start;margin-top:18px}.journey-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.journey-tabs button{font-size:13px;padding:13px 0}.audience-line{margin:30px 24px 0;padding:0 0 30px;flex-wrap:wrap;gap:10px 22px;font-size:12px}.audience-line span:first-child{width:100%;text-align:center}.section{padding:72px 0}.section-heading{display:block;margin-bottom:30px}h2{font-size:34px}.proof-tabs{gap:22px;margin-bottom:24px}.proof-tabs button{font-size:14px;padding:12px 0}.proof-image-shell{aspect-ratio:1.15;overflow:auto}.proof-image-shell>img{width:760px;max-width:none;height:100%;object-fit:cover;object-position:left top}.proof-image-shell.legacy>img{width:100%;max-width:100%;height:auto}.proof-description{display:block;margin-top:24px}.proof-description p{font-size:16px}.proof-description a{margin-top:18px;white-space:normal}.footer{padding-top:56px}.page-hero p{font-size:17px}.footer a:not(.logo){font-size:13px}.footer-bottom{margin-top:40px}.page-hero{padding:135px 0 70px}.page-hero h1{font-size:43px}.closing{padding:72px 24px}}
@media(prefers-reduced-motion:reduce){.hero-journey{height:auto}.journey-sticky{position:relative;top:auto}.market-panorama{transition:none!important;transform:none!important;filter:none!important}.window-enter{animation:none!important}}
.service-track{height:3300px;background:#fafbfc;border-bottom:1px solid var(--line)}.service-sticky{position:sticky;top:80px;min-height:calc(100svh - 80px);padding-top:43px;padding-bottom:35px;display:flex;flex-direction:column;justify-content:center}.service-heading{text-align:center}.service-heading h2{font-size:44px}.service-scene{display:grid;grid-template-columns:.9fr 1.4fr .95fr;align-items:center;gap:36px;margin-top:32px;min-height:360px}.service-copy h3{font-size:27px;line-height:1.13;letter-spacing:-.035em;max-width:260px}.service-copy p{font-size:16px;line-height:1.65;color:var(--muted);margin-top:20px;max-width:290px;min-height:105px}.service-art{position:relative;align-self:center;display:flex;align-items:center;justify-content:center}.provider-mark[data-provider="msci"] img{height:68px;object-fit:cover}.provider-mark[data-provider="compstak"] img{height:90px;object-fit:cover}.provider-mark[data-provider="green-street"] img{height:58px;object-fit:contain}.service-bottom{display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:22px}.service-tabs{display:flex;gap:25px}.service-tabs button{font-size:13px;border:0;background:none;color:#758292;padding:8px 0;display:flex;gap:7px;position:relative}.service-tabs button[aria-selected=true]{color:var(--ink)}.service-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:0;height:2px;background:var(--orange);left:0;right:0}.connected-heading p{margin:24px auto 0;color:var(--muted);font-size:17px}.client-knowledge p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:11px}.dart-core p{font-size:23px;font-weight:500;letter-spacing:-.025em;line-height:1.4;margin-top:25px}.closing-invitation>p{font-size:18px;color:var(--muted);margin-top:25px}.detail-rows p{font-size:17px}.project-copy p{font-size:17px}
.connected-section{background:#eef2f6}.connected-heading{text-align:center}.connected-scene{display:grid;grid-template-columns:1fr .65fr 1fr;gap:62px;align-items:center;margin-top:76px}.connected-inputs h3{font-size:16px;letter-spacing:-.015em;font-weight:400}.provider-field{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;margin-top:28px}.client-knowledge{border-top:1px solid #cbd5df;margin-top:32px;padding-top:24px}.connected-engineering{position:relative;padding:35px 0}.dart-core{position:relative;z-index:2;margin:auto;max-width:160px;text-align:center;padding:20px 0}.connection-path{position:absolute;top:50%;height:1px;background:#b6c3d1;width:calc(50% + 36px)}.input-path{right:calc(50% + 74px)}.output-path{left:calc(50% + 74px)}.connection-path:after{content:'';width:6px;height:6px;position:absolute;left:30%;top:-2.5px;background:var(--orange);border-radius:50%;opacity:.7}.detail-rows>div{grid-template-columns:1fr;gap:10px;padding:25px 0}.connected-bottom{text-align:center;margin-top:42px}.connected-scene.is-playing .connection-path:after{animation:connectFlow 3.6s both}.connected-scene.is-playing .output-path:after{animation-delay:.7s}@keyframes connectFlow{0%{left:0;opacity:0}20%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}.home-closing{background:#eff3f6;border-top:1px solid #dfe6ec;padding:92px 0}.home-closing>.wrap{display:grid;grid-template-columns:1.35fr .65fr;gap:100px;align-items:center}.home-closing h2{font-size:49px;line-height:1.08}.closing-invitation strong{font-weight:500;color:var(--ink)}.closing-invitation .actions{align-items:center;gap:28px}.eng-paper{box-shadow:0 12px 30px #14233813;background:#fff;border:1px solid #dce3ea;padding:30px}.discovery-visual{background:#e8edf2}.eng-layout{gap:72px}.eng-controls button{font-size:23px;padding:22px 0;transition:color .2s}.eng-description{font-size:17px}.eng-paper .eyebrow{font-size:10px}.eng-paper h3{font-size:25px}.eng-note{font-size:14px}.approach-nav{justify-content:center;gap:50px}.detail-columns h2{font-size:40px}.detail-columns{gap:80px}.detail-rows{margin-top:0}.detail-rows h3{font-size:23px}.lead-paragraph{font-size:23px;line-height:1.6}.project-art{aspect-ratio:1.7;border-radius:9px;box-shadow:0 12px 30px #1423380b}.project-art.legacy{aspect-ratio:912/330}.project-copy h2{font-size:39px}.project-copy .eyebrow{font-size:11px}.pricing-layout h2{font-size:43px}.pricing-layout .price{font-size:80px}.contact-form{padding:34px;background:#f0f3f6;border:1px solid #dfe6ed;border-radius:8px}.contact-form input,.contact-form textarea{border:1px solid #b9c5d1;border-radius:4px;font-size:16px}.faq{max-width:950px;margin:auto}.faq summary{font-size:21px}.map-credit{display:none}
@media(min-height:850px) and (min-width:1001px){.service-scene{min-height:430px;margin-top:52px}.service-sticky{padding-top:55px;padding-bottom:55px}.service-bottom{margin-top:32px}}
@media(max-width:1000px){.service-scene{grid-template-columns:.9fr 1.2fr .9fr;gap:25px}.service-copy h3{font-size:24px}.service-copy p{font-size:15px;min-height:125px}.service-heading h2{font-size:40px}.service-bottom{margin-top:14px}.connected-scene{gap:40px}.provider-field{gap:12px 13px}.dart-core p{font-size:21px}.home-closing>.wrap{gap:60px}.home-closing h2{font-size:45px}}
@media(max-width:760px){.service-track{height:auto}.service-sticky{position:relative;top:0;padding-top:70px;padding-bottom:70px;min-height:0}.service-heading h2{font-size:34px}.service-scene{display:flex;flex-direction:column;margin-top:28px;gap:20px;min-height:0}.service-copy{display:none}.service-art{width:100%;max-width:355px;margin:auto}.service-bottom{margin-top:30px}.service-tabs{display:none}.connected-heading{text-align:left}.connected-heading p{font-size:16px;margin-top:20px}.connected-scene{display:flex;flex-direction:column;gap:0;margin-top:40px}.connected-inputs{width:100%}.connected-inputs h3{font-size:16px}.provider-field{gap:13px 25px;margin-top:23px}.client-knowledge{margin-top:27px;padding-top:23px}.client-knowledge p{font-size:12px}.connected-engineering{width:100%;padding:42px 0;margin:15px 0}.dart-core{padding:0;max-width:none}.dart-core>img{width:95px}.dart-core p{font-size:17px;line-height:1.4;margin-top:18px;word-spacing:5px}.dart-core p br{display:none}.connection-path{height:28px;width:1px;left:50%;top:auto;right:auto}.input-path{top:0}.output-path{bottom:0}.connection-path:after{height:5px;width:5px;left:-2px;top:30%}.connected-output{width:100%;padding-top:12px}.connected-bottom{text-align:left;margin-top:32px}.home-closing{padding:72px 0}.home-closing>.wrap{display:block}.home-closing h2{font-size:35px}.closing-invitation>p{font-size:16px}.closing-invitation .actions{gap:25px}.eng-layout{display:block}.eng-controls button{font-size:21px;padding:21px 0}.eng-paper{padding:25px}.eng-note{font-size:13px}.approach-nav{gap:16px;justify-content:flex-start;padding-top:17px;padding-bottom:17px}.approach-nav button{font-size:12px}.detail-columns{display:block}.detail-columns h2{font-size:33px}.detail-columns>.detail-rows{margin-top:32px}.detail-rows p{font-size:16px}.lead-paragraph{font-size:20px}.approach-discovery{display:block}.project-copy h2{font-size:32px}.project-copy p{font-size:16px}.project-art{aspect-ratio:1.25}.pricing-layout h2{font-size:35px}.pricing-layout .price{font-size:66px}.contact-form{padding:23px}.contact-form label{font-size:14px}.contact-form small{font-size:12px}.contact-layout h2{font-size:33px}.contact-agenda p{font-size:16px}.faq summary{font-size:18px}.people-panel h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.service-track{height:auto}.service-sticky{position:relative;top:0;min-height:0}.service-copy,.service-tabs{display:none}.service-scene{display:block;min-height:0}.service-art{max-width:360px;margin:auto}.connected-scene.is-playing *{animation:none!important}.connection-path:after{display:none}}
@media(min-width:761px) and (max-height:849px){.service-sticky{padding-top:25px;padding-bottom:25px}.service-scene{min-height:310px;margin-top:24px}.service-bottom{gap:12px;margin-top:16px}}
.method-section{background:#fafbfc}.method-heading{text-align:center;margin-bottom:48px}.method-heading .eyebrow{margin-bottom:20px}.method-section .eng-layout{grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.method-section .eng-controls{border-color:#ced8e2;margin-top:0}.method-section .eng-controls button{border-color:#d7e0e8;color:#7a8797}.method-section .eng-controls button span{color:#8d99a7}.method-section .eng-controls button[aria-pressed=true]{color:var(--ink)}.method-section .eng-controls button[aria-pressed=true] span{color:#b15a2c}.method-section .eng-description{color:var(--muted);line-height:1.7}.method-visual{display:flex;flex-direction:column;align-items:center;gap:22px}.method-stack{width:320px;height:282px;object-fit:contain}.method-visual .eng-paper{min-height:0;max-width:540px;width:100%;padding:27px 30px;border-color:#dce3ea}.method-visual .eng-paper h3{font-size:25px}.method-visual .eng-paper .eyebrow{margin-bottom:17px}.method-visual .eng-note{font-size:13px;padding:13px 0}.method-visual .eng-note b{font-weight:500}
@media(max-width:1000px){.method-section .eng-layout{gap:60px}.method-stack{width:280px;height:247px}}
@media(max-width:760px){.method-heading{margin-bottom:35px}.method-section .eng-layout{display:block}.method-section .eng-description{min-height:110px}.method-visual{margin-top:25px}.method-stack{width:280px;height:247px}.method-visual .eng-paper{padding:25px}.method-visual .eng-note{font-size:12px;gap:15px}.method-visual .eng-note em{max-width:145px}}.journey-scene:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,#1022378c 0%,transparent 52%);pointer-events:none}
@media(max-width:760px){.journey-scene:before{height:270px;bottom:auto;background:linear-gradient(180deg,#10223755 0%,transparent 85%)}.proof-image-shell:not(.legacy)>img{position:relative;left:50%;transform:translateX(-50%);width:auto;height:100%;object-fit:contain}}
.provider-mark{height:35px;display:flex;align-items:center;justify-content:center;overflow:hidden}
@media(max-width:760px){.provider-field img{height:26px}.provider-mark[data-provider="msci"] img{height:59px;object-fit:cover}.provider-mark[data-provider="compstak"] img{height:76px;object-fit:cover}.provider-mark[data-provider="green-street"] img{height:53px}}
@media(max-height:650px) and (min-width:761px){.service-track{height:auto}.service-sticky{position:relative;top:0;min-height:0;padding-top:70px;padding-bottom:70px}.service-copy,.service-tabs{display:none}.service-scene{display:block;min-height:0}.service-art{max-width:360px;margin:auto}}
