@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#020743;--ink:#131b2d;--gold:#d48612;--paper:#f5f4f0;--muted:#636773}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{height:100px;position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 5%;color:white;border-bottom:1px solid #ffffff38}.brand{display:flex;align-items:center;gap:16px}.mark{font-size:51px;font-weight:800;letter-spacing:-5px;position:relative;border-right:1px solid #ffffff60;padding-right:22px;line-height:1}.mark span{font-size:8px;position:absolute;top:0;right:16px;letter-spacing:0}.brand-name{font-size:19px;font-weight:800;letter-spacing:-.7px}.brand-name small{display:block;color:#e6a94c;font-size:8px;letter-spacing:2.1px;margin-top:6px}nav{display:flex;gap:36px;align-items:center;font-size:12px;font-weight:600}.nav-contact{border:1px solid #ffffff70;padding:13px 20px}.nav-contact span{padding-left:28px}.menu{display:none}.hero{height:min(870px,100svh);min-height:680px;position:relative;color:white;background:#111d2a;overflow:hidden}.hero-media,.hero-shade,.scene{position:absolute;inset:0;width:100%;height:100%}.scene{object-fit:cover;opacity:0;transition:opacity 1.8s;transform:scale(1.06);animation:drift 20s linear infinite alternate}.scene.active{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(4,13,30,.69),rgba(4,13,30,.14)),linear-gradient(0deg,rgba(4,13,30,.62),transparent 55%,rgba(4,13,30,.3))}.hero-content{position:absolute;left:7%;right:5%;top:33%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.4px;line-height:1.8;text-transform:uppercase}.eyebrow span{display:inline-block;width:22px;height:2px;background:var(--gold);vertical-align:middle;margin-right:12px}h1{font-size:clamp(42px,5.2vw,82px);line-height:1.12;letter-spacing:-3.6px;font-weight:500;margin:26px 0}em{font-style:normal;color:#dba04b}h1 em{color:#fff}p{line-height:1.8}h2{font-size:clamp(34px,3.6vw,55px);letter-spacing:-2px;line-height:1.16;font-weight:500;margin:16px 0 26px}.hero-copy{font-size:15px;color:#e4e6e9;line-height:1.8;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:18px 24px;font-size:12px;font-weight:700}.gold{background:var(--gold);color:#111728;transition:background .2s}.gold:hover{background:#e9a538}.hero-bottom{position:absolute;bottom:31px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.3px;border-top:1px solid #ffffff40;padding-top:23px}.motion{display:flex;gap:24px;align-items:center}.motion button{border:1px solid #ffffff70;background:transparent;color:white;border-radius:50%;width:34px;height:34px}.section{padding:100px 7%}.intro-top{display:grid;grid-template-columns:1fr 2fr;gap:40px}.dark{color:#72737a}.intro-top>div{max-width:730px}.intro p:not(.eyebrow),.approach p,.joc p{font-size:14px;color:#666b74}.intro p.lead,.joc p.lead{font-size:20px;color:var(--ink);line-height:1.6}.text-link{display:inline-flex;gap:35px;border-bottom:1px solid #9a9ba2;padding:15px 0 8px;font-size:12px;font-weight:700}.numbers{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:75px;padding-top:40px;border-top:1px solid #cccdd0;gap:40px}.numbers strong{display:block;font-size:45px;font-weight:500;letter-spacing:-2px}.numbers span{display:block;font-size:11px;color:#676d79;margin-top:8px}.work{background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading p:not(.eyebrow){font-size:13px;color:#696d75;margin-bottom:30px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 38px}.filters button{background:transparent;border:1px solid #ddd;padding:11px 19px;font-size:10px;border-radius:2px}.filters button.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:55px 28px}.project{background:transparent;text-align:left;border:0;padding:0;color:inherit}.project[hidden]{display:none}.project-image{position:relative;overflow:hidden;aspect-ratio:1.5}.project img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.04)}.project-open{position:absolute;bottom:0;right:0;background:#fff;width:47px;height:47px;display:grid;place-items:center;font-size:22px}.project-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;margin-top:20px;color:#626a75}.project-meta span:last-child{letter-spacing:0}.project h3{font-size:23px;font-weight:500;letter-spacing:-.7px;margin:12px 0 8px}.project p{font-size:11px;color:#6b7078;margin:0}.expertise{background:#080e30;color:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:110px}.expertise>div>p:not(.eyebrow){font-size:13px;color:#b1b6c4;max-width:330px}.services{padding-top:23px}details{border-top:1px solid #ffffff35;padding:25px 0}details:last-child{border-bottom:1px solid #ffffff35}summary{display:flex;align-items:center;gap:21px;cursor:pointer;list-style:none;font-size:20px;letter-spacing:-.5px}summary::-webkit-details-marker{display:none}summary span{font-size:10px;color:#9ba1b7;letter-spacing:0}summary b{margin-left:auto;font-size:22px;font-weight:400;color:#dba04b}details[open] summary b{transform:rotate(45deg)}details p{padding-left:35px;font-size:13px;line-height:1.9;color:#b6bbc9;max-width:480px}details .text-link{margin-left:35px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.approach-image{position:relative;align-self:stretch;min-height:570px}.approach-image img{width:100%;height:100%;position:absolute;object-fit:cover}.approach-image span{position:absolute;bottom:20px;left:20px;right:20px;color:white;background:#0b1438dc;padding:17px;font-size:8px;letter-spacing:1.9px}.principle{display:flex;gap:22px;border-top:1px solid #d4d4d4;padding:18px 0}.principle>span{font-size:10px;color:#98702f;padding-top:5px}.principle h3{font-size:16px;font-weight:600;margin:0}.principle p{font-size:12px;margin:4px 0 0}.joc{border-top:1px solid #d3d4d7}.joc-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.agency-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px;border-top:1px solid #ccc;padding-top:25px;margin-top:28px}.contact{background:var(--navy);color:white}.contact-top{display:flex;align-items:center;justify-content:space-between}.contact h2{font-size:clamp(46px,6vw,85px);letter-spacing:-3px}.circle-link{border:1px solid #ffffff60;border-radius:50%;width:110px;height:110px;display:grid;place-items:center;font-size:47px;transition:background .3s}.circle-link:hover{background:var(--gold);color:var(--navy)}.contact-bottom{border-top:1px solid #ffffff30;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.contact-bottom p{font-size:12px;color:#b4b7ce}footer{padding:45px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#eae9e4}.footer-logo{font-weight:800;font-size:23px;letter-spacing:-1px}.footer-logo small{display:block;font-size:7px;letter-spacing:2px;color:#99600c;margin-top:6px;margin-left:2px}footer p{font-size:10px;color:#6d7078}footer>div{display:flex;gap:25px;font-size:10px}dialog{border:0;padding:55px;max-width:680px;width:90%;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#020723b8;backdrop-filter:blur(5px)}dialog h2{font-size:36px}dialog p{font-size:14px;color:#626977}dialog h3{font-size:13px;margin-top:25px}dialog ul{padding-left:20px;font-size:14px;line-height:2}dialog .button{margin-top:20px}.close-dialog{position:absolute;right:20px;top:15px;background:none;border:0;font-size:30px}.skip{position:fixed;top:-60px;left:10px;z-index:50;background:white;padding:15px}.skip:focus{top:10px}.paused .scene{animation-play-state:paused}@keyframes drift{from{transform:scale(1.03) translateX(-.5%)}to{transform:scale(1.13) translateX(.5%)}}@media(min-width:1600px){.section{padding-left:calc((100vw - 1380px)/2);padding-right:calc((100vw - 1380px)/2)}}@media(max-width:850px){header{height:85px}.brand-name{font-size:15px}.mark{font-size:40px}.brand{gap:12px}nav{gap:20px}.section{padding:65px 6%}.hero-content{left:6%}h1{letter-spacing:-2px}.expertise{gap:40px}.approach{gap:35px}.joc-grid{gap:35px}.intro-top{grid-template-columns:1fr 2fr;gap:20px}.numbers strong{font-size:35px}.contact-bottom{font-size:12px}}@media(max-width:600px){header{padding:0 6%}.brand-name{font-size:14px}.brand-name small{font-size:6px}.menu{display:block;background:none;border:0;color:white;font-size:12px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#080e30;padding:26px 6%;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{min-height:690px;height:93svh;max-height:850px}.hero-content{top:29%;right:6%}h1{font-size:43px;letter-spacing:-2px;line-height:1.15}.hero-copy{font-size:13px}.eyebrow{font-size:8px;letter-spacing:1.6px}.hero-bottom>span{max-width:220px;line-height:1.8;font-size:7px}.hero-bottom{bottom:23px}.motion{gap:12px;font-size:8px}.desktop{display:none}.intro-top,.approach,.joc-grid,.expertise{grid-template-columns:1fr;gap:20px}.intro-top h2{margin-top:0}.numbers{gap:20px;grid-template-columns:1fr 1fr;margin-top:40px}.numbers>div:last-child{grid-column:1/-1}.numbers strong{font-size:36px}.section-heading{display:block}.section-heading p:not(.eyebrow){margin:10px 0 25px}.projects{grid-template-columns:1fr;gap:35px}.filters{gap:7px}.filters button{padding:10px 12px;font-size:9px}.project h3{font-size:23px}.expertise h2 br:nth-child(1){display:none}.services{padding:0}summary{font-size:19px}.approach-image{min-height:360px;margin-bottom:25px}.contact h2{font-size:44px;letter-spacing:-2px}.circle-link{width:62px;height:62px;font-size:30px;flex-shrink:0}.contact-bottom{align-items:start;flex-direction:column;gap:16px}.contact-top{gap:15px}footer{flex-direction:column;align-items:start;gap:15px}dialog{padding:35px 25px}dialog h2{font-size:30px}.agency-list{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene{animation:none;transition:none}.project img{transition:none}}

/* Original CI artwork on a transparent header. */
header .brand{background:transparent;padding:13px 16px;flex-shrink:0;line-height:0}header .brand-logo{display:block;width:300px;max-width:100%;height:auto} @media(max-width:850px){header .brand-logo{width:245px}header .brand{padding:11px 13px}} @media(max-width:600px){header .brand-logo{width:225px}header .brand{padding:10px 12px}} @media(max-width:360px){header .brand-logo{width:195px}}

.photo-gallery{background:#eeede8}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px;margin-top:22px}.gallery-card{background:transparent;color:var(--ink);border:0;padding:0;text-align:left}.gallery-card[hidden]{display:none}.gallery-card img{width:100%;aspect-ratio:1.45;object-fit:cover;display:block}.gallery-card span{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:15px 0;align-items:center}.gallery-card b{font-size:18px;font-weight:400}.gallery-toggle{background:transparent;border:0;border-bottom:1px solid #999;margin-top:25px;cursor:pointer}#photo-dialog{width:min(1200px,96vw);max-width:1200px;max-height:96svh;padding:15px 20px;background:#080e25;color:white}#photo-full{display:block;width:100%;height:min(72svh,800px);object-fit:contain}.photo-toolbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;font-size:11px;letter-spacing:2px}.photo-toolbar button,.photo-controls button{color:white;background:transparent;border:1px solid #ffffff50;width:40px;height:40px;font-size:24px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px}.photo-controls p{color:#fff;margin:0;text-align:center;font-size:13px}.photo-controls button{flex-shrink:0}@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.gallery-grid{gap:18px 12px}.gallery-card span{font-size:10px;line-height:1.5}.gallery-card img{aspect-ratio:1.15}#photo-dialog{padding:12px}#photo-full{height:65svh}}
.numbers strong>span{display:inline;font:inherit;color:inherit;letter-spacing:inherit;margin:0;font-variant-numeric:tabular-nums}

#market-overviews[hidden],#market-collection[hidden]{display:none}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.market-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:25px 0}.market-collection-heading h3{font-size:30px;margin:0}.market-collection-heading p,#market-empty{color:#676d79;font-size:14px}.civil-art{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,transparent 0 38px,#ffffff10 39px 40px),#020743;color:#d48612}.civil-art span{font-size:48px;letter-spacing:12px}.numbers strong>span{font:inherit}@media(max-width:900px){.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.market-grid{grid-template-columns:1fr}.market-collection-heading h3{font-size:24px}}

#dialog-description p{line-height:1.8;margin:0 0 18px}#project-dialog{max-height:85vh;overflow-y:auto}#project-dialog h2{line-height:1.15;margin-bottom:24px}

/* Give wide desktop photos a little more vertical room. */
@media (min-width:1200px) and (min-aspect-ratio:16/10){.hero{height:min(1000px,108svh)}}
