/* Shared site. The home keeps its deliberate, scroll-led rhythm. */
:root{--quiet:#aebdd0;--rule:#c4d9ff20;--paper:#eaf1fb}
html{scroll-padding-top:115px}body{background:#0e1723}body.site-page{min-height:100svh}
.header{padding-inline:5vw;gap:22px;height:88px;background:#0e1723ed}
.header nav{display:flex;align-items:center;gap:26px}.header nav a{font-size:13px;font-weight:400;color:#c4d1e1;white-space:nowrap}
.header nav a[aria-current="page"]{color:#fff}.header nav .nav-contact{background:#eaf1fb;color:#152335!important;padding:10px 19px;border-radius:25px}
.header .wordmark{width:138px}.header .menu-toggle{display:none}.header .motion{flex-shrink:0}
.header .menu-toggle{flex-direction:column;justify-content:center;align-items:center}.header .menu-toggle span{height:1px;width:19px;background:#c7d9f2}
.feature-visual img,.service-showcase img{height:auto}
.site-main{width:min(1280px,88vw);margin:0 auto;padding:152px 0 100px}
.breadcrumbs{display:flex;gap:10px;align-items:center;font-size:12px;color:#aabbd1;margin:0 0 46px;flex-wrap:wrap}.breadcrumbs a:hover{color:white}
.page-head{position:relative;padding:0 0 76px;max-width:970px}.page-head .eyebrow{margin-bottom:25px;color:#9ab8e4;font-size:10px;letter-spacing:.2em}
.page-head h1{font-size:clamp(45px,5.5vw,82px);line-height:1.04;letter-spacing:-.055em;font-weight:600;max-width:1000px;text-wrap:balance}
.page-head h1 em,.statement em{font-style:normal;color:#a9c9ff}.page-head .lead{font-size:clamp(17px,1.5vw,21px);line-height:1.65;margin-top:28px;max-width:590px;color:var(--quiet)}
.page-head:before{content:'';position:absolute;z-index:-1;width:70%;height:430px;left:30%;top:-120px;background:radial-gradient(ellipse,#7197d314,transparent 70%);pointer-events:none}
.page-head .actions{margin-top:27px}.small-note{font-size:12px;color:#a4b5ca;line-height:1.7}.section-label{font-size:11px;color:#9db4d3;letter-spacing:.13em;text-transform:uppercase;margin-bottom:28px}
.section-title{font-size:clamp(30px,3vw,47px);font-weight:600;letter-spacing:-.04em;line-height:1.12;margin-bottom:30px;text-wrap:balance}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:var(--rule)}
.service-card{display:flex;flex-direction:column;align-items:flex-start;position:relative;min-height:305px;padding:36px;background:#142032;transition:background .3s}
.service-card:hover{background:#1b2c43}.service-card h2{font-size:25px;line-height:1.15;font-weight:500;letter-spacing:-.03em;margin:31px 0 12px}.service-card p{font-size:15px;line-height:1.7;max-width:300px}.service-card .arrow{position:absolute;right:27px;top:31px;color:#abc9f2;font-size:20px;transition:transform .3s}.service-card:hover .arrow{transform:translate(3px,-3px)}
.service-glyph{width:44px;height:44px;border:1px solid #a1c4ff66;display:flex;align-items:center;justify-content:center;font-size:24px;border-radius:12px;color:#b8d3ff;background:#9cbeed0c;font-family:Georgia,serif;font-style:italic}
.callout{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:90px;padding:40px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.callout h2{font-size:clamp(26px,2.8vw,40px);font-weight:500;letter-spacing:-.04em;max-width:680px}.callout .text-link{flex-shrink:0}
.work-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.work-filters button{font-size:13px;padding:9px 17px;border:1px solid var(--rule);border-radius:25px;color:#becde0}.work-filters button[aria-pressed="true"]{background:#e7effa;color:#152335;border-color:#e7effa}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 30px}.project-card[hidden]{display:none}.project-card>a{display:block}.project-image{aspect-ratio:1.48;overflow:hidden;background:#182638;border-radius:12px;border:1px solid #b6cce51a;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-card:hover img{transform:scale(1.035)}.project-image.contain img{object-fit:contain}.project-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#9aafca;margin:20px 0 8px;gap:15px}.project-card h2,.project-card :is(h2,h3){font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.035em}.project-card p{font-size:14px;margin-top:9px;max-width:460px;line-height:1.65}
.status-pill{border:1px solid #a8c9f235;color:#c1d3eb;padding:4px 9px;border-radius:20px;font-size:10px;line-height:1.4}
.feature-visual{margin:0 0 75px;border-radius:16px;overflow:hidden;border:1px solid var(--rule);background:linear-gradient(125deg,#16273d,#203853);padding:5vw;position:relative}.feature-visual img{max-height:620px;width:100%;object-fit:contain;filter:drop-shadow(0 28px 26px #050c164d);border-radius:6px}.feature-visual figcaption{font-size:11px;color:#b1c5df;margin-top:22px}
.case-notes{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin:70px 0}.case-notes h2{font-size:30px;margin-bottom:18px;font-weight:500}.case-notes p{font-size:17px;line-height:1.8;max-width:490px}.deliverables{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.deliverables li{border-top:1px solid #a8c3e440;padding:24px 0;font-size:17px;color:#dde7f5}.deliverables strong{font-weight:500;display:block;margin-bottom:12px;font-size:20px}.deliverables p{font-size:15px;line-height:1.7}
.detail-section{padding:50px 0}.detail-section + .detail-section{padding-top:35px}.faq{max-width:880px}.faq details{border-bottom:1px solid var(--rule);padding:20px 0}.faq summary{font-size:18px;cursor:pointer;display:flex;justify-content:space-between;gap:25px;list-style:none;line-height:1.45}.faq summary:after{content:'+';color:#a9c9ff;font-size:22px}.faq details[open] summary:after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq p{max-width:760px;margin-top:15px;font-size:16px;line-height:1.8}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-card{margin:0;padding:38px;background:#142237;border:1px solid #b8d0f01c;border-radius:14px;display:flex;flex-direction:column}.review-card.featured{grid-column:1/-1;padding:55px 7vw;background:radial-gradient(ellipse at 100% 0,#35598466,transparent 70%),#152439}.review-card blockquote{margin:0;font-size:23px;letter-spacing:-.025em;line-height:1.55;color:#e3ecf8}.review-card.featured blockquote{font-size:clamp(24px,2.9vw,41px);max-width:1030px;line-height:1.4}.review-card figcaption{margin-top:30px;font-size:13px;color:#aebfd6}.review-card figcaption a{display:block;color:#b8d4ff;margin-top:9px}.quote-detail{margin-top:20px;font-size:13px;color:#b7c9df}.quote-detail summary{cursor:pointer}.quote-detail p{font-size:16px;line-height:1.75;margin-top:15px}
.statement{font-size:clamp(31px,4vw,58px);line-height:1.2;max-width:1000px;letter-spacing:-.04em;color:#e5edf8;margin:15px 0 65px}.about-evidence{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;padding:48px 0;border-block:1px solid var(--rule)}.experience-number{font-size:clamp(90px,12vw,170px);line-height:1;letter-spacing:-.08em;color:#aacbff;font-weight:600}.about-evidence p{font-size:21px;max-width:600px;line-height:1.6}.about-evidence .small-note{font-size:15px;margin-top:20px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps li{padding:25px 0;border-top:1px solid var(--rule)}.steps span{font-size:11px;color:#94b3df}.steps h3{font-size:25px;margin:22px 0 16px;font-weight:500}.steps p{font-size:16px;line-height:1.75}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw}.contact-intro p{max-width:370px;font-size:18px;line-height:1.75}.contact-direct{margin-top:38px}.contact-direct a{display:block;font-size:18px;color:#c1d8f9;margin:14px 0}.contact-form{background:#152338;border:1px solid var(--rule);border-radius:16px;padding:35px}.contact-form label{display:block;margin-bottom:8px;font-size:13px;color:#d4dfee}.contact-form input,.contact-form textarea,.contact-form select{width:100%;min-width:0;background:#0f1c2d;border:1px solid #abc6ed38;border-radius:7px;padding:13px 14px;color:#f5f6f5;font-family:inherit;font-size:16px;margin-bottom:24px}.contact-form textarea{resize:vertical;min-height:145px}.contact-form select{appearance:auto}.contact-form .button{width:100%;margin-top:0}.contact-form .form-note{font-size:12px;line-height:1.65;margin-top:16px}.contact-form .form-note a{text-decoration:underline}.contact-form #contact-status{font-size:13px}.contact-form #draft-link{display:inline-block;margin-top:12px;font-size:14px;color:#b4d2ff}.contact-form #draft-link[hidden]{display:none}.contact-form details{margin-bottom:24px;border:1px solid var(--rule);padding:14px;border-radius:8px}.contact-form pre{font:13px/1.65 DM,Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;color:#b9cee9}.contact-form summary{font-size:14px;cursor:pointer}
.legal-copy{max-width:780px}.legal-copy h2{font-size:27px;line-height:1.3;margin:40px 0 16px;font-weight:500}.legal-copy p,.legal-copy li{font-size:16px;line-height:1.9;color:#b5c4d7}.legal-copy a{color:#bfd9ff;text-decoration:underline}
.site-footer{display:grid;grid-template-columns:1fr auto;align-items:start;gap:30px;padding:38px 6vw;border-top:1px solid var(--rule);background:#0c1521;color:#91a8c5;font-size:11px}.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:flex-end;max-width:750px}.site-footer .footer-links a{font-size:12px;color:#aebed2}.site-footer .copyright{grid-column:1/-1;font-size:11px;color:#9badc3}.site-footer .wordmark{width:125px;height:42px}.home-footer{padding-block:25px;border-color:#d2e5ff10}
.closing-slide{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:120px 8vw;text-align:center;background:radial-gradient(ellipse at 50% 60%,#25406455,transparent 65%)}.closing-inner{max-width:1000px}.closing-slide h2{font-size:clamp(39px,5.4vw,80px);font-weight:600;line-height:1.08;letter-spacing:-.05em;text-wrap:balance}.closing-slide .actions{justify-content:center;margin-top:42px}.closing-slide p{margin-top:24px;font-size:18px}.home-page .intro{background:radial-gradient(ellipse at 78% 37%,#35578433,transparent 62%)}.home-page .story-sticky{background:radial-gradient(ellipse at 78% 49%,#35578433,transparent 58%)}.home-page .intro h1{font-weight:500}.home-page .story-copy h2{font-weight:500}
.will-reveal{opacity:0;transform:translateY(23px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.will-reveal.revealed{opacity:1;transform:none}.will-reveal:focus-within{opacity:1;transform:none}
.abstract-data{height:290px;display:flex;align-items:flex-end;justify-content:center;gap:22px;padding:40px;border-radius:14px;background:linear-gradient(145deg,#1b3556,#0f1e31);overflow:hidden}.abstract-data i{width:13%;height:var(--h);background:linear-gradient(#b6d3fb,#4d82c9);border-radius:8px 8px 2px 2px;transform-origin:bottom;animation:bar-enter 1.2s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay)}@keyframes bar-enter{from{transform:scaleY(.02);opacity:0}to{transform:scaleY(1);opacity:1}}
.blueprint{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;height:290px;align-items:center;padding:35px;background:linear-gradient(145deg,#1b3556,#0f1e31);border-radius:14px}.blueprint span{padding:25px 12px;text-align:center;border:1px solid #b6d3fb55;border-radius:10px;font-size:14px;background:#a8ccff0b;color:#d3e4fb;position:relative}.blueprint span+span:before{content:'→';position:absolute;left:-18px;top:40%;color:#9cc2f6}
.service-showcase{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:65px}.service-showcase .lead{max-width:510px;font-size:20px;line-height:1.8}.service-showcase img{border-radius:10px;box-shadow:0 25px 50px #0003;width:100%;max-height:360px;object-fit:contain}.service-showcase .visual-art{min-width:0}
.visually-hidden,.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-main .estimate-builder{padding:0;font-family:DM,Arial,sans-serif;background:transparent}.site-main .estimate-builder__heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-main .estimate-builder__layout{margin-top:0;gap:35px;grid-template-columns:minmax(0,1.5fr) minmax(310px,.85fr)}.site-main .estimate-builder__total{top:110px}.site-main .estimate-builder__choices,.site-main .estimate-builder__split-choices{grid-template-columns:1fr}.site-main .estimate-builder__amount strong{font-size:30px}.site-main .estimate-builder fieldset{padding:25px}.site-main .estimate-builder__hint{line-height:1.75}.site-main .estimate-builder__split-choices{gap:26px}
@media(max-width:780px){.site-main .estimate-builder__layout{grid-template-columns:1fr}.site-main .estimate-builder__total{position:static}.site-main .estimate-builder fieldset{padding:20px}.site-main .estimate-builder__amount strong{font-size:27px}}
@media(max-width:1100px){.header{gap:15px;padding-inline:4vw}.header nav{gap:18px}.header nav a{font-size:12px}.header .wordmark{width:124px}.site-main{width:90vw}.service-card{padding:27px;min-height:285px}.service-card h2{font-size:23px}.project-grid{gap:38px 22px}}
@media(max-width:850px){.header{height:74px;padding-inline:6vw}.header .menu-toggle{display:flex;order:5;width:40px;height:40px;gap:6px}.header nav{margin-left:auto}.header nav a{display:none!important}.header nav .nav-contact{display:inline-flex!important;padding:9px 15px;font-size:12px}.header nav.mobile-open{display:flex;position:absolute;left:0;right:0;top:74px;padding:18px 6vw 26px;background:#142236;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--rule);max-height:calc(100svh - 74px);overflow-y:auto;gap:0}.header nav.mobile-open a{display:block!important;padding:12px 0;font-size:18px}.header nav.mobile-open .nav-contact{border-radius:0;background:none;color:#c4d9ff!important;border-top:1px solid var(--rule);margin-top:10px}.site-main{width:88vw;padding-top:120px}.breadcrumbs{margin-bottom:34px}.page-head{padding-bottom:48px}.page-head h1{font-size:clamp(42px,7.5vw,67px)}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:265px}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-intro p{max-width:600px}.contact-direct{margin-top:20px}.service-showcase{gap:30px}.service-showcase .lead{font-size:18px}.deliverables{gap:22px}.about-evidence{gap:40px}.site-footer{grid-template-columns:1fr}.site-footer .footer-links{justify-content:flex-start}.site-footer .copyright{grid-column:1}.header nav.mobile-open .nav-contact span{margin-left:7px}}
@media(max-width:580px){.header{gap:9px}.header .wordmark{width:115px}.header .motion{width:25px}.service-grid,.project-grid,.case-notes,.quote-grid,.service-showcase{grid-template-columns:1fr}.service-card{min-height:240px;padding:28px}.service-card h2{margin-top:25px}.page-head .lead{font-size:17px}.project-grid{gap:40px}.project-card h2,.project-card :is(h2,h3){font-size:26px}.page-head h1{font-size:44px}.callout{flex-direction:column;align-items:flex-start;margin-top:60px;padding-block:32px}.feature-visual{padding:20px 13px;margin-bottom:42px;border-radius:10px}.feature-visual figcaption{font-size:10px;margin-top:16px}.case-notes{margin:40px 0;gap:32px}.case-notes h2{font-size:26px}.case-notes p{font-size:16px}.deliverables{grid-template-columns:1fr;gap:0}.deliverables li{padding-block:22px}.detail-section{padding-block:30px}.review-card,.review-card.featured{padding:28px 24px;grid-column:auto}.review-card blockquote{font-size:21px}.review-card.featured blockquote{font-size:27px}.about-evidence{grid-template-columns:1fr;gap:25px;padding:30px 0}.experience-number{font-size:115px}.about-evidence p{font-size:20px}.steps{grid-template-columns:1fr;gap:10px}.steps h3{margin:14px 0 12px}.contact-form{padding:25px 20px}.site-main{padding-bottom:65px}.work-filters{gap:7px}.work-filters button{font-size:12px;padding:9px 12px}.closing-slide{padding-inline:6vw}.closing-slide .actions{gap:23px;flex-direction:column}.closing-slide h2{font-size:43px}.site-footer{padding:28px 6vw;gap:22px}.site-footer .footer-links{gap:15px}.service-showcase .lead{font-size:18px}.blueprint{padding:22px 15px;gap:14px;height:230px}.blueprint span{font-size:11px;padding-inline:5px}.abstract-data{height:230px;padding:28px;gap:16px}.faq summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none;transition:none}.abstract-data i{animation:none}.project-image img{transition:none}}
@media print{.header,.site-footer,.callout{display:none}.site-main{padding:0;width:100%}.will-reveal{opacity:1;transform:none}body{background:white;color:black}.page-head h1{font-size:32px}}

.application-account-note{margin-top:15px}
