:root{--ink:#102c45;--navy:#0b263e;--deep:#0c2134;--orange:#f48a43;--rust:#ac4817;--text:#415568;--muted:#526679;--rule:#d6dfe5;--paper:#f2f5f6;--gutter:clamp(24px,5.5vw,100px);--bound:1560px;font-family:"Segoe UI",Arial,Helvetica,sans-serif;color:var(--ink);background:white;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0}a{color:inherit;text-decoration:none}button,summary{font:inherit;color:inherit}button{cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e86f24;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}h1,h2,h3,h4{font-weight:620}p{line-height:1.6}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}section[id],footer[id]{scroll-margin-top:8px}.wrap{max-width:var(--bound);margin-inline:auto;padding-inline:var(--gutter)}.skip,.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{width:auto;height:auto;clip:auto;padding:10px 18px;background:white;z-index:99}.site-header{background:#fff;position:sticky;z-index:20;top:0;border-bottom:1px solid #dce2e6}.head-row{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:80px}.brand{display:inline-flex;align-items:center;flex:none}.brand img{width:190px;height:auto;display:block}.head-right{display:flex;gap:clamp(25px,4vw,72px);align-items:center}.nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,48px)}.nav a{font-size:14px;font-weight:530;white-space:nowrap;position:relative;padding-block:10px}.nav a:hover{color:var(--rust)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:610;line-height:1.18}.header-cta{background:var(--ink);color:white;padding:14px 19px;font-size:14px}.header-cta:hover,.button.ink:hover{background:#234962}.header-cta svg{width:16px;height:16px}.button{min-height:50px;padding:0 22px;border:1px solid transparent;font-size:15px}.button.orange{background:var(--orange);color:#0a253a}.button.orange:hover{background:#ffa25d}.button.ink{background:var(--ink);color:white}.button.outline{border-color:#b7c5cf}.button.outline:hover{border-color:var(--ink);background:var(--paper)}.menu-toggle{display:none}
.hero{position:relative;background:#0a2339;isolation:isolate;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 28%;z-index:-4}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:49% 53%;filter:saturate(.83)}.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#0a2339 0%,rgba(10,35,57,.99) 21%,rgba(10,35,57,.88) 34%,rgba(10,35,57,.58) 48%,rgba(10,35,57,.14) 67%,rgba(9,36,54,.04) 85%),linear-gradient(0deg,rgba(8,27,40,.79),transparent 28%,transparent 90%,rgba(10,35,57,.09))}.hero:after{content:"";pointer-events:none;position:absolute;inset:0 52% 0 0;z-index:-2;opacity:.16;background-image:linear-gradient(to right,#6892a655 1px,transparent 1px),linear-gradient(to bottom,#6892a655 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,black,transparent)}.hero-inner{min-height:clamp(495px,39.5vw,650px);display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(48px,4.4vw,76px);padding-bottom:24px}.eyebrow,.kicker,.meta,.contract,.slide-count,.read-tag,.crumb,.index-label{font-family:"Segoe UI",Arial,sans-serif;font-size:11px;line-height:1.4;font-weight:650;letter-spacing:.13em;text-transform:uppercase}.eyebrow,.kicker{display:flex;align-items:center;gap:13px}.eyebrow:before,.kicker:before{content:"";display:inline-block;width:29px;height:3px;flex:none;background:var(--orange)}.eyebrow{color:#e8f0f5}.hero h1{font-size:clamp(68px,6.75vw,107px);font-weight:610;line-height:.99;letter-spacing:-.062em;margin:23px 0 21px}.hero .lead{max-width:480px;font-size:clamp(16px,1.2vw,21px);color:#e1e9ef;line-height:1.55}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:29px}.light-link,.inline-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.light-link{color:#fff}.light-link:hover{color:#ffb57b}.inline-link:hover{color:var(--rust)}.inline-link svg,.light-link svg{width:17px;height:17px}.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:38px}.contract{color:#d8e3eb;display:flex;align-items:center;gap:11px;letter-spacing:.16em;font-size:10px}.contract:before{content:"";display:inline-block;width:13px;height:13px;border:1px solid #e78e53;background:repeating-linear-gradient(135deg,transparent 0 3px,#f49b5a 3px 4px)}.carousel{display:flex;align-items:center;gap:17px}.slide-count{font-size:11px;letter-spacing:.08em;color:#cdd8dd;white-space:nowrap}.slide-count b{color:#ffad6d}.slide-label{font-size:13px;color:white;line-height:1.25}.arrows{display:flex;gap:4px}.arrows button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff7a;color:white;background:#10283c70}.arrows button:hover{background:var(--orange);color:var(--ink);border-color:var(--orange)}.arrows svg{width:17px;height:17px}
.metric-strip{background:white;border-bottom:1px solid var(--rule)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:30px 32px}.metric{border-left:1px solid var(--rule);padding-left:clamp(16px,2.6vw,50px)}.metric:first-child{border:0;padding-left:0}.metric-number{font-weight:570;font-size:clamp(38px,3.85vw,65px);line-height:1.02;letter-spacing:-.066em;font-variant-numeric:lining-nums;white-space:nowrap}.metric-number i{font-style:normal;color:#d97335;font-size:.7em;vertical-align:15%;margin-left:2px;font-weight:460}.metric-number em{font-weight:520;font-style:normal;font-size:.43em;letter-spacing:-.035em;display:inline-block;margin-left:4px}.metric p{font-size:13px;color:var(--muted);padding-top:8px;line-height:1.35}
.section{padding-block:clamp(60px,6vw,96px)}.portfolio{background:#f4f6f7}.kicker{color:var(--muted);font-size:10px}.kicker .num{color:#ad4d1b}.kicker:before{height:2px;width:23px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head h2,.split h2,.history h2,.all-head h1,.project-head h1,.contact-title{font-size:clamp(38px,4.1vw,70px);letter-spacing:-.055em;line-height:1.06}.section-head h2,.split h2,.history h2{margin-top:13px}.section-head .inline-link{border-bottom:1px solid #8b9caa;padding-bottom:6px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,30px)}.project-card{min-width:0;display:flex;flex-direction:column;background:#fff;color:var(--ink);border-bottom:2px solid #d8e0e4}.project-card:hover{border-bottom-color:var(--orange)}.project-card .visual{position:relative;display:block;overflow:hidden;aspect-ratio:1.96;background:#cbd8df}.project-card .visual:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#061e3236)}.visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-card:hover .visual img{transform:scale(1.035)}.project-card[data-project-category="digital"] .visual img{object-position:63% 43%}.card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 23px 21px;flex:1}.card-copy .meta,.project-head .meta{color:var(--rust);font-size:9px}.card-copy h3{font-size:clamp(21px,1.7vw,29px);letter-spacing:-.042em;line-height:1.16}.card-bottom{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:4px;gap:12px}.card-bottom span{color:var(--muted);line-height:1.45;font-size:13px}.card-bottom svg{width:18px;height:18px;color:#a45023}.card-top-tag{position:absolute;left:15px;bottom:13px;z-index:1;background:#0d293be6;color:#fff;font-size:11px;line-height:1.3;padding:5px 9px;letter-spacing:.025em;font-weight:550}
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:clamp(36px,6vw,100px);align-items:start}.split-copy>p,.history-intro{font-size:17px;color:var(--text);margin-top:21px;max-width:480px}.split-copy .inline-link{margin-top:22px}.service-list{border-top:1px solid #a4b4c0}.service{border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service summary{display:grid;align-items:center;grid-template-columns:27px 1fr 24px;gap:15px;padding:18px 0;font-weight:570;letter-spacing:-.025em;font-size:clamp(17px,1.5vw,24px)}.service summary:hover,.history details summary:hover{color:var(--rust)}.service-index{font-family:Consolas,monospace;font-size:12px;color:var(--rust);font-weight:500}.plus{position:relative;width:20px;height:20px;display:block}.plus:before,.plus:after{position:absolute;content:"";width:14px;height:1.5px;left:3px;top:9px;background:currentColor}.plus:after{transform:rotate(90deg)}details[open]>summary .plus:after{transform:rotate(0)}.service-content{padding:0 26px 22px 42px;font-size:15px;color:var(--text)}.service-content p{max-width:700px}.service-content img{margin-top:14px;width:260px;aspect-ratio:1.8;object-fit:cover}.stage-box{background:#f0f4f5;margin-top:32px;border-left:3px solid var(--orange)}.stage-box>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;font-size:18px;font-weight:600}.stages{list-style:none;padding:0 20px 16px;counter-reset:stage}.stages li{counter-increment:stage;display:grid;grid-template-columns:26px 1fr;gap:10px;border-top:1px solid var(--rule);padding:10px 0}.stages li:before{content:counter(stage,decimal-leading-zero);font:12px Consolas,monospace;color:var(--rust);padding-top:4px}.stages b{font-size:15px;font-weight:600}.stages p{font-size:14px;color:var(--text)}
.history{background:#102f48;color:#fff;position:relative;overflow:hidden}.history .kicker{color:#c5d5df}.history .kicker .num{color:#ffac76}.history-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.26fr);gap:clamp(40px,7vw,120px)}.history-intro{color:#d8e2e9}.timeline{list-style:none;padding:0}.timeline li{padding:15px 0;display:grid;grid-template-columns:78px 1fr;gap:24px;border-top:1px solid #7290a470}.timeline li:first-child{padding-top:0;border-top:0}.timeline time,.timeline strong{font-size:23px;font-weight:540;color:#ffab72;letter-spacing:-.025em}.timeline p{color:#e1e9ee;font-size:15px}.partners .section-head{margin-bottom:26px}.partners .section-head h2{font-size:clamp(34px,3.5vw,59px)}.partner-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.partner-grid>div{padding:22px 18px 21px;border-left:1px solid var(--rule)}.partner-grid>div:first-child{border-left:0}.partner-logo{height:53px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:15px}.partner-logo img{max-width:100%;width:auto;height:auto;max-height:52px;object-fit:contain}.partner-grid p{line-height:1.4;font-size:12px;color:var(--text)}.partner-grid b{display:block;font-size:14px;margin-bottom:6px}
.contact{background:var(--deep);color:white}.contact-main{padding-top:55px;padding-bottom:45px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:45px}.contact .kicker{color:#bcccd5}.contact-title{margin-block:16px 25px}.contact-phone,.contact-email{display:block;font-weight:510;letter-spacing:-.035em;width:max-content;max-width:100%}.contact-phone{font-size:clamp(24px,2.2vw,36px)}.contact-email{font-size:clamp(19px,1.55vw,25px);color:#f6a46a;margin-top:4px}.contact-phone:hover,.contact-email:hover{text-decoration:underline}.contact-details address{font-size:15px;line-height:1.55;font-style:normal;color:#d4dfe6;margin-top:17px}.footer-base{border-top:1px solid #385062;display:flex;align-items:center;justify-content:space-between;padding-block:17px;gap:20px;color:#c7d5de;font-size:12px}.footer-base .inline-link{font-size:12px}.footer-base .inline-link:hover{color:#ffb988}
.crumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;line-height:1.5;letter-spacing:.05em;font-size:10px;color:var(--muted);margin-bottom:25px}.crumb a:hover{text-decoration:underline}.all-head,.project-head{padding-top:35px;padding-bottom:32px}.all-head h1,.project-head h1{margin-top:10px}.all-head>p{color:var(--text);margin-top:15px;font-size:17px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filter-row button{padding:9px 15px;background:transparent;border:1px solid #becbd4;font-weight:550;font-size:13px}.filter-row button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filter-row button:hover{border-color:var(--ink)}[hidden]{display:none!important}.all-projects{padding-bottom:70px}.project-head .meta{font-size:10px}.project-head .region{font-size:16px;color:var(--muted);margin-top:12px}.detail-photo{margin-inline:auto}.detail-photo img{width:100%;height:clamp(230px,33vw,470px);object-fit:cover}.project-overview{padding-block:40px 64px;display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(28px,7vw,108px)}.project-overview h2,.gallery h2{font-size:30px;letter-spacing:-.045em;margin-bottom:16px}.project-overview p{font-size:18px;color:var(--text);margin-bottom:12px}.project-specs{border-top:2px solid var(--orange)}.project-specs div{padding:13px 0;border-bottom:1px solid var(--rule)}.project-specs dt{font-size:13px;color:var(--muted)}.project-specs dd{font-size:24px;font-weight:550;letter-spacing:-.035em;margin-top:4px}.gallery{padding-bottom:65px}.gallery figure img{width:100%;height:auto;max-height:360px;object-fit:contain;background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gallery figcaption{font-size:13px;color:var(--muted);padding-top:8px}.detail-nav{border-top:1px solid var(--rule);padding-block:22px;display:flex;justify-content:space-between}
@media(min-width:1700px){.hero-photo{inset-inline-start:34%}}
@media(max-width:1060px){.head-row{gap:18px}.head-right{gap:22px}.nav{gap:16px}.brand img{width:160px}.header-cta{font-size:13px;padding:12px}.hero .lead{max-width:440px}.partner-grid{grid-template-columns:repeat(3,1fr)}.partner-grid>div:nth-child(n+4){border-top:1px solid var(--rule)}.partner-grid>div:nth-child(4){border-left:0}}
@media(max-width:900px){html{scroll-padding-top:74px}.head-row{min-height:67px}.head-right{gap:16px}.menu-toggle{display:grid;place-items:center;border:1px solid var(--rule);width:41px;height:39px;background:white}.menu-toggle .close-icon,.menu-toggle[aria-expanded=true] .open-icon{display:none}.menu-toggle[aria-expanded=true] .close-icon{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:13px var(--gutter) 20px;background:#fff;border-block:1px solid var(--rule);box-shadow:0 14px 18px #18324b18}.nav.is-open{display:grid;gap:0}.nav a{padding-block:12px}.hero-inner{min-height:485px}.hero h1{font-size:clamp(63px,8.4vw,77px)}.hero-photo{inset-inline-start:19%}.project-grid{gap:15px}.card-copy{padding:15px}.card-copy h3{font-size:21px}.split{grid-template-columns:.85fr 1.45fr;gap:30px}.section-head h2,.split h2,.history h2{font-size:40px}.history-grid{gap:35px}.carousel{gap:12px}}
@media(max-width:680px){:root{--gutter:20px}html{scroll-padding-top:65px}.head-row{min-height:60px}.brand img{width:145px}.head-right{gap:10px}.header-cta{padding:10px 11px;gap:6px;font-size:12px}.header-cta svg{width:13px;height:13px}.menu-toggle{width:36px;height:35px}.hero-inner{min-height:505px;padding-top:40px;padding-bottom:17px}.hero-photo{inset:0 0 0 0}.hero-photo img{object-position:53% 50%}.hero:before{background:linear-gradient(90deg,rgba(8,30,48,.91) 0%,rgba(8,30,48,.67) 55%,rgba(8,30,48,.16)),linear-gradient(0deg,rgba(8,29,45,.94),transparent 37%,rgba(8,29,45,.2))}.hero:after{inset-inline-end:30%}.eyebrow{font-size:9px;max-width:310px;letter-spacing:.1em;gap:9px}.eyebrow:before{width:20px;height:2px}.hero h1{font-size:clamp(49px,11.1vw,74px);letter-spacing:-.059em;margin-top:28px;margin-bottom:18px}.hero .lead{font-size:16px;max-width:365px}.hero-actions{margin-top:24px;gap:20px}.hero-actions .button{font-size:14px;min-height:47px;padding:0 16px;gap:13px}.light-link{font-size:13px}.hero-foot{margin-top:35px;align-items:flex-end}.contract{font-size:8px;gap:6px;letter-spacing:.09em}.contract:before{width:9px;height:9px}.carousel{display:grid;grid-template-columns:auto auto;gap:3px 8px;align-items:center}.slide-count{font-size:9px}.slide-label{font-size:10px;grid-row:2;grid-column:1}.arrows{grid-row:1/3;grid-column:2}.arrows button{width:32px;height:32px}.metrics{grid-template-columns:repeat(2,1fr);padding-block:12px}.metric{margin-block:10px;padding-left:18px}.metric:nth-child(3){border-left:0;padding-left:0}.metric-number{font-size:38px}.metric p{font-size:12px;padding-top:5px}.section{padding-block:46px}.section-head{margin-bottom:20px;gap:11px}.section-head h2,.split h2,.history h2{font-size:35px;margin-top:10px}.section-head .inline-link{white-space:nowrap;font-size:12px;gap:4px}.project-grid{grid-template-columns:1fr;gap:19px}.project-card .visual{aspect-ratio:2.1}.card-copy{padding:17px 18px}.card-copy h3{font-size:24px}.card-copy .meta{font-size:9px}.split,.history-grid,.contact-main,.project-overview{grid-template-columns:1fr}.split,.history-grid{gap:26px}.split-copy>p,.history-intro{font-size:16px;margin-top:14px;max-width:100%}.service summary{font-size:18px;grid-template-columns:19px 1fr 20px;gap:8px;padding-block:15px}.service-content{padding-left:27px;padding-right:0}.stage-box{margin-top:18px}.timeline li{grid-template-columns:68px 1fr;gap:15px}.partner-grid{grid-template-columns:repeat(2,1fr)}.partner-grid>div{padding:16px 12px}.partner-grid>div:nth-child(n+3){border-top:1px solid var(--rule)}.partner-grid>div:nth-child(odd){border-left:0}.partner-grid>div:nth-child(even){border-left:1px solid var(--rule)}.partner-logo{height:45px}.partner-logo img{max-height:45px;max-width:145px}.contact-main{gap:26px;padding-block:38px 30px}.contact-title{font-size:38px;margin:11px 0 20px}.footer-base{align-items:start;font-size:11px}.footer-base .inline-link{white-space:nowrap;font-size:11px}.crumb{margin-bottom:17px}.all-head,.project-head{padding-top:23px;padding-bottom:22px}.all-head h1,.project-head h1{font-size:39px}.filter-row button{font-size:12px;padding:8px 11px}.detail-photo{padding:0}.detail-photo img{height:220px}.project-overview{padding-block:28px 36px;gap:12px}.project-overview p{font-size:16px}.gallery-grid{grid-template-columns:1fr}.all-projects{padding-bottom:44px}.detail-nav{gap:12px}.detail-nav .inline-link{font-size:12px}}
@media(max-width:355px){:root{--gutter:15px}.brand img{width:127px}.header-cta{padding:8px;font-size:11px}.head-right{gap:6px}.hero-actions{gap:12px}.hero h1{font-size:45px}.hero-foot{align-items:center}.contract{max-width:110px}.hero-actions .button{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:681px){.hero-photo{mask-image:linear-gradient(90deg,transparent,#000 18%)}}
.cta-short{display:none}.brand-examples{margin-top:10px}.header-cta{white-space:nowrap}
@media(max-width:480px){.cta-full{display:none}.cta-short{display:inline}.hero-inner{min-height:470px}}
.references{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:27px}.references h3{font-size:17px;margin-bottom:6px;letter-spacing:-.025em}.references p{font-size:14px;color:var(--text)}@media(max-width:680px){.references{grid-template-columns:1fr;gap:18px}}
