:root { --ink:#211c17; --muted:#736b62; --ivory:#f5f0e6; --paper:#fbf8f1; --gold:#b98a32; --gold-light:#d5b064; --navy:#30364f; --green:#092f27; --line:rgba(47,38,29,.15); --serif:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif; --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-width:320px; margin:0; overflow-x:clip; color:var(--ink); background:var(--paper); font-family:var(--sans); }
body.menu-open, body.search-open, body.work-preview-open, body.tour-open { overflow:hidden; }
:where(main,section,article,header,footer,nav,div) { min-width:0; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
img { display:block; max-width:100%; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid var(--gold-light); outline-offset:4px; }
.skip-link { position:fixed; z-index:300; top:10px; left:12px; padding:12px 16px; color:#111; background:var(--gold-light); font-size:11px; font-weight:700; transform:translateY(-150%); transition:transform .15s ease; }
.skip-link:focus { transform:none; }
.section-pad { padding-left:clamp(28px,7vw,118px); padding-right:clamp(28px,7vw,118px); }
.eyebrow { margin:0; color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow.light { color:var(--gold-light); }
.button { width:max-content; min-height:52px; padding:0 24px; display:inline-flex; align-items:center; gap:24px; border:0; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.button.gold { color:#17120e; background:var(--gold-light); }
.button.dark { color:white; background:var(--ink); }
.button.ivory { color:var(--ink); background:var(--ivory); }
.button span, .text-link span { transition:transform .2s ease; }
.button:hover span, .text-link:hover span { transform:translate(3px,-3px); }
.text-link { display:inline-flex; gap:16px; align-items:center; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.text-link.light { color:white; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

.site-header { position:fixed; z-index:80; inset:0 0 auto; height:84px; padding:0 clamp(22px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; gap:26px; align-items:center; color:white; border-bottom:1px solid rgba(255,255,255,.18); transition:background .25s ease,color .25s ease,height .25s ease; }
.site-header.scrolled, body:not(.home-page):not(.project-page) .site-header { height:72px; color:var(--ink); background:rgba(251,248,241,.94); border-color:var(--line); backdrop-filter:blur(14px); }
.brand { min-width:0; display:flex; align-items:center; gap:13px; }
.brand-emblem { width:82px; height:52px; display:block; flex:none; overflow:hidden; background:var(--navy); }
.brand-emblem img { width:100%; height:100%; object-fit:contain; }
.brand-copy { display:grid; min-width:0; }
.brand strong { font-family:var(--serif); font-size:18px; font-weight:500; }
.brand small { max-width:255px; overflow:hidden; font-size:7px; font-weight:700; letter-spacing:.11em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.desktop-nav { display:flex; gap:29px; }
.desktop-nav a { font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.desktop-nav a[aria-current="page"], .site-footer nav a[aria-current="page"] { color:var(--gold-light); }
.header-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
.icon-button { width:42px; height:42px; display:grid; place-items:center; color:inherit; border:1px solid currentColor; border-radius:50%; background:transparent; cursor:pointer; }
.search-icon { position:relative; width:14px; height:14px; border:1.5px solid currentColor; border-radius:50%; }
.search-icon::after { content:""; position:absolute; width:6px; height:1.5px; right:-5px; bottom:-2px; background:currentColor; transform:rotate(45deg); transform-origin:left; }
.header-cta { min-height:42px; padding:0 18px; display:flex; align-items:center; gap:18px; color:#1d1711; background:var(--gold-light); font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.menu-button { display:none; }
.mobile-nav { display:none; }

.search-overlay { position:fixed; z-index:150; inset:0; }
.search-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(14,11,8,.7); backdrop-filter:blur(8px); }
.search-panel { position:relative; width:min(860px,calc(100vw - 40px)); max-height:calc(100dvh - 80px); margin:40px auto; padding:42px; overflow:auto; background:var(--paper); box-shadow:0 35px 100px rgba(0,0,0,.25); }
.search-panel header { display:flex; justify-content:space-between; gap:30px; align-items:start; }
.search-panel h2 { margin:10px 0 0; font-family:var(--serif); font-size:clamp(40px,6vw,68px); font-weight:500; line-height:1; }
.search-panel header button { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; font-size:25px; cursor:pointer; }
.search-panel form { margin-top:42px; }
.search-panel label { color:var(--muted); font-size:10px; line-height:1.7; }
.search-panel form > div { display:flex; border-bottom:1px solid var(--ink); }
.search-panel input { flex:1; min-width:0; padding:18px 0; border:0; outline:0; background:transparent; font-family:var(--serif); font-size:25px; }
.search-panel form button { border:0; background:transparent; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.search-status { margin:26px 0 15px; color:var(--muted); font-size:11px; }
.search-results { display:grid; }
.search-results a { padding:20px 0; display:grid; grid-template-columns:1fr 2fr auto; gap:25px; border-top:1px solid var(--line); }
.search-results span { font-family:var(--serif); font-size:19px; }
.search-results p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.search-results strong { color:var(--gold); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

.hero { position:relative; min-height:100svh; color:white; }
.hero-image { position:absolute; inset:0; background-position:center; background-size:cover; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.23)); }
.hero-copy { position:relative; z-index:2; min-height:100svh; padding:clamp(150px,22vh,230px) clamp(28px,8vw,140px) 110px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.hero h1, .inner-copy h1, .project-copy h1, .contact-hero h1, .not-found h1 { margin:20px 0 28px; font-family:var(--serif); font-size:clamp(68px,9.2vw,145px); font-weight:500; letter-spacing:-.05em; line-height:.86; }
.hero h1 em, .inner-copy h1 em, .project-copy h1 em, .contact-hero h1 em, .not-found h1 em { color:var(--gold-light); font-weight:500; }
.hero-copy > p:last-of-type { max-width:650px; margin:0; color:rgba(255,255,255,.78); font-size:15px; line-height:1.8; }
.hero-actions { margin-top:40px; display:flex; gap:32px; align-items:center; }
.hero-scroll { position:absolute; z-index:3; right:52px; bottom:35px; display:flex; gap:15px; font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.detail-scroll { margin-top:34px; display:inline-flex; gap:16px; align-items:center; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }

.manifesto { min-height:800px; padding-top:140px; padding-bottom:140px; display:grid; grid-template-columns:minmax(300px,.82fr) 1.18fr; gap:clamp(50px,8vw,130px); align-items:center; background:var(--ivory); }
.manifesto-mark { width:min(100%,560px); box-shadow:0 30px 80px rgba(23,27,48,.15); }
.manifesto-mark img { width:100%; height:auto; }
.manifesto-copy h2, .section-heading h2, .location-band h2, .service-row h2, .process h2, .partner-grid h2, .principles h2, .project-intro h2, .project-note h2, .brief-section h2, .faqs h2 { margin:18px 0 34px; font-family:var(--serif); font-size:clamp(46px,6.5vw,95px); font-weight:500; letter-spacing:-.045em; line-height:.95; }
.manifesto-copy > p:last-of-type { max-width:680px; color:var(--muted); font-family:var(--serif); font-size:clamp(24px,2.6vw,38px); line-height:1.5; }

.home-works { padding-top:130px; padding-bottom:145px; display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(55px,8vw,120px); align-items:start; background:var(--paper); }
.home-works-copy { position:sticky; top:115px; }
.home-works-copy h2 { margin:18px 0 28px; font-family:var(--serif); font-size:clamp(46px,5.6vw,78px); font-weight:500; letter-spacing:-.045em; line-height:.95; }
.home-works-copy h2 em { color:var(--gold); font-weight:500; }
.home-works-copy > p:last-of-type { max-width:450px; margin:0 0 32px; color:var(--muted); font-size:12px; line-height:1.85; }
.home-works-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.home-works-grid a { position:relative; min-height:380px; overflow:hidden; background:var(--navy); }
.home-works-grid a:first-child { min-height:610px; grid-row:span 2; }
.home-works-grid img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.home-works-grid a:hover img { transform:scale(1.025); }
.home-works-grid span { position:absolute; inset:auto 18px 18px; width:max-content; max-width:calc(100% - 36px); padding:9px 12px; color:white; background:rgba(15,17,24,.72); backdrop-filter:blur(8px); font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

.crest-doctrine { padding-top:140px; padding-bottom:140px; color:white; background:var(--navy); }
.crest-heading { display:grid; grid-template-columns:.4fr 1.15fr .65fr; gap:clamp(35px,6vw,95px); align-items:start; }
.crest-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(50px,6.3vw,92px); font-weight:500; letter-spacing:-.045em; line-height:.95; }
.crest-heading h2 em { color:var(--gold-light); font-weight:500; }
.crest-heading > p:last-child { margin:10px 0 0; color:rgba(255,255,255,.65); font-size:12px; line-height:1.85; }
.crest-grid { margin-top:90px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.crest-grid article { min-height:360px; padding:34px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.crest-grid span { color:var(--gold-light); font-family:var(--serif); font-size:12px; }
.crest-grid h3 { margin:auto 0 12px; font-family:var(--serif); font-size:clamp(31px,3vw,47px); font-weight:500; line-height:1; }
.crest-grid strong { color:var(--gold-light); font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.crest-grid p { margin:20px 0 0; color:rgba(255,255,255,.65); font-size:11px; line-height:1.8; }
.dual-mandate { margin-top:75px; padding:30px 0; display:grid; grid-template-columns:auto 1fr auto 1fr; gap:18px 35px; align-items:center; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.dual-mandate span { color:var(--gold-light); font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.dual-mandate p { margin:0; font-family:var(--serif); font-size:22px; }
.dual-mandate strong { grid-column:1/-1; color:white; font-family:var(--serif); font-size:clamp(27px,3vw,44px); font-weight:500; }

.feature-project { min-height:900px; display:grid; grid-template-columns:1.25fr .75fr; color:white; background:var(--green); }
.feature-image { min-height:620px; background-position:center; background-size:cover; }
.feature-content { padding-top:120px; padding-bottom:120px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.feature-content img { width:145px; height:145px; margin-bottom:45px; object-fit:cover; mix-blend-mode:screen; }
.feature-content h2 { margin:18px 0 25px; font-family:var(--serif); font-size:clamp(56px,6vw,92px); font-weight:500; letter-spacing:-.045em; line-height:.88; }
.feature-content > p:last-of-type { max-width:480px; color:rgba(255,255,255,.72); font-size:13px; line-height:1.8; }
.feature-content .button { margin-top:32px; }

.pathways { padding-top:145px; padding-bottom:150px; }
.section-heading { display:grid; grid-template-columns:.5fr 1fr; gap:60px; align-items:start; }
.section-heading h2 { margin:0; }
.section-heading h2 em { color:var(--gold); font-weight:500; }
.pathway-grid { margin-top:85px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.path-card { min-height:370px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s ease,transform .2s ease; }
.path-card:hover { z-index:2; background:white; transform:translateY(-5px); }
.path-card > span, .service-row > span, .partner-grid article > span { color:var(--gold); font-family:var(--serif); font-size:12px; }
.path-card h3 { margin:auto 0 18px; font-family:var(--serif); font-size:30px; font-weight:500; line-height:1.05; }
.path-card p { margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.path-card strong { margin-top:24px; color:var(--gold); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }

.company-band { min-height:520px; padding-top:110px; padding-bottom:110px; display:flex; justify-content:space-between; gap:70px; align-items:end; color:white; background:var(--navy); }
.company-band h2 { margin:18px 0 28px; font-family:var(--serif); font-size:clamp(48px,6.2vw,90px); font-weight:500; letter-spacing:-.045em; line-height:.95; }
.company-band h2 em { color:var(--gold-light); font-weight:500; }
.company-band p:last-child { max-width:720px; color:rgba(255,255,255,.68); font-size:13px; line-height:1.85; }

.location-band { min-height:570px; padding-top:120px; padding-bottom:120px; display:flex; justify-content:space-between; gap:60px; align-items:end; color:white; background:linear-gradient(120deg,#12100d,#392b19); }
.location-band h2 { margin-bottom:28px; }
.location-band p { max-width:630px; color:rgba(255,255,255,.68); font-size:13px; line-height:1.8; }

.inner-hero { position:relative; min-height:760px; color:white; }
.inner-hero.short { min-height:660px; }
.inner-hero > div:first-child, .project-hero > div:first-child { position:absolute; inset:0; background-position:center; background-size:cover; }
.inner-copy { position:relative; z-index:1; min-height:inherit; padding:170px clamp(28px,8vw,140px) 95px; display:flex; flex-direction:column; justify-content:end; align-items:flex-start; }
.inner-copy h1 { font-size:clamp(65px,8.6vw,132px); }
.inner-copy > p:last-child { max-width:690px; color:rgba(255,255,255,.73); font-size:14px; line-height:1.8; }
.company-hero .inner-copy > p:not(.eyebrow) { max-width:760px; margin:0; color:rgba(255,255,255,.73); font-size:14px; line-height:1.8; }

.corporate-overview { padding-top:135px; padding-bottom:145px; display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(60px,10vw,150px); background:var(--ivory); }
.corporate-overview h2, .governance-heading h2, .executive-functions h2 { margin:18px 0 0; font-family:var(--serif); font-size:clamp(48px,6vw,88px); font-weight:500; letter-spacing:-.045em; line-height:.95; }
.corporate-overview h2 em, .governance-heading h2 em, .executive-functions h2 em { color:var(--gold); font-weight:500; }
.corporate-copy > p { margin:0 0 28px; color:var(--muted); font-family:var(--serif); font-size:clamp(21px,2.2vw,33px); line-height:1.55; }
.corporate-facts { margin-top:55px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.corporate-facts article { min-height:150px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.corporate-facts span { color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.corporate-facts strong { font-family:var(--serif); font-size:22px; font-weight:500; line-height:1.2; }

.ownership-section { padding-top:135px; padding-bottom:145px; color:white; background:var(--navy); }
.ownership-section .section-heading { grid-template-columns:.4fr 1fr .75fr; }
.ownership-section .section-heading > p:last-child { margin:8px 0 0; color:rgba(255,255,255,.63); font-size:12px; line-height:1.85; }
.ownership-table-wrap { margin-top:75px; overflow-x:auto; border:1px solid rgba(255,255,255,.16); }
.ownership-table-wrap table { width:100%; min-width:680px; border-collapse:collapse; }
.ownership-table-wrap caption { padding:18px 22px; color:rgba(255,255,255,.48); border-bottom:1px solid rgba(255,255,255,.16); text-align:left; font-size:8px; letter-spacing:.11em; text-transform:uppercase; }
.ownership-table-wrap th, .ownership-table-wrap td { padding:18px 22px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); text-align:left; }
.ownership-table-wrap th:last-child, .ownership-table-wrap td:last-child { border-right:0; }
.ownership-table-wrap thead th { color:var(--gold-light); font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.ownership-table-wrap tbody th { font-family:var(--serif); font-size:17px; font-weight:500; }
.ownership-table-wrap tbody th small { margin-top:5px; display:block; color:rgba(255,255,255,.45); font-family:var(--sans); font-size:8px; font-weight:500; letter-spacing:.04em; line-height:1.5; text-transform:uppercase; }
.ownership-table-wrap td { color:rgba(255,255,255,.7); font-size:11px; }
.ownership-table-wrap tfoot { color:var(--gold-light); }
.ownership-table-wrap tfoot th, .ownership-table-wrap tfoot td { border-bottom:0; font-weight:700; }
.ownership-notes { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.ownership-notes p { margin:0; padding-top:18px; color:rgba(255,255,255,.62); border-top:1px solid rgba(255,255,255,.16); font-size:10px; line-height:1.8; }

.governance-section { padding-top:135px; padding-bottom:145px; display:grid; grid-template-columns:.65fr 1.35fr; gap:clamp(60px,9vw,130px); background:var(--paper); }
.governance-heading > p:last-child { max-width:560px; color:var(--muted); font-size:12px; line-height:1.85; }
.governance-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.governance-grid article { min-height:260px; padding:28px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.governance-grid span { color:var(--gold); font-family:var(--serif); font-size:11px; }
.governance-grid h3 { margin:auto 0 14px; font-family:var(--serif); font-size:30px; font-weight:500; line-height:1.05; }
.governance-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.75; }

.leadership-section { padding-top:135px; padding-bottom:145px; color:white; background:var(--green); }
.leadership-section .section-heading { grid-template-columns:.4fr 1fr; }
.leadership-grid { margin-top:80px; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.leadership-grid article { min-height:520px; padding:36px; display:grid; grid-template-columns:minmax(180px,34%) 1fr; gap:clamp(28px,3vw,48px); align-items:center; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.leadership-portrait { position:relative; margin:0; aspect-ratio:4/5; overflow:hidden; background:#092f27; box-shadow:0 22px 55px rgba(0,0,0,.24); }
.leadership-portrait::after { position:absolute; inset:0; content:""; border:1px solid rgba(255,255,255,.14); pointer-events:none; }
.leadership-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; }
.leadership-card-copy { min-width:0; }
.leadership-role { margin:0; color:var(--gold-light); font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.leadership-grid h3 { margin:18px 0; font-family:var(--serif); font-size:clamp(32px,3.35vw,52px); font-weight:500; line-height:1; }
.leadership-credentials { margin:0 0 24px; color:var(--gold-light); font-size:9px; font-weight:700; letter-spacing:.07em; line-height:1.7; text-transform:uppercase; }
.leadership-summary { margin:0; color:rgba(255,255,255,.68); font-size:11px; line-height:1.85; }
.leadership-summary + .leadership-summary { margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); }
.leadership-card-detailed { align-items:start!important; }
.leadership-card-detailed .leadership-portrait { position:sticky; top:120px; }
.board-directory { margin-top:80px; }
.board-directory ul { margin:28px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.16); }
.board-directory li { min-height:78px; display:grid; grid-template-columns:.45fr 1fr; gap:30px; align-items:center; border-bottom:1px solid rgba(255,255,255,.16); }
.board-directory li span { color:var(--gold-light); font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.board-directory li strong { font-family:var(--serif); font-size:24px; font-weight:500; }

.executive-functions { padding-top:135px; padding-bottom:145px; display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(60px,10vw,150px); background:var(--ivory); }
.executive-functions ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.executive-functions li { min-height:84px; display:grid; grid-template-columns:55px 1fr; gap:20px; align-items:center; border-bottom:1px solid var(--line); }
.executive-functions li span { color:var(--gold); font-family:var(--serif); font-size:11px; }
.executive-functions li strong { font-family:var(--serif); font-size:clamp(19px,2vw,28px); font-weight:500; }

.development-browser, .service-list, .partner-grid, .principles, .project-intro, .brief-section, .faqs { padding-top:125px; padding-bottom:140px; }
.browser-head { display:flex; justify-content:space-between; gap:50px; align-items:end; }
.browser-head h2 { margin:12px 0 0; font-family:var(--serif); font-size:clamp(50px,6vw,86px); font-weight:500; }
.filter-row { display:flex; gap:8px; }
.filter-row button { padding:10px 16px; color:var(--muted); border:1px solid var(--line); background:transparent; font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; cursor:pointer; }
.filter-row button.active { color:white; background:var(--ink); }
.development-grid { margin-top:70px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.development-card { min-height:650px; padding:0 36px 38px; display:flex; flex-direction:column; background:var(--ivory); }
.development-card > div { height:360px; margin:0 -36px 35px; background-position:center; background-size:cover; }
.development-card > span { color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.development-card h3 { margin:16px 0; font-family:var(--serif); font-size:44px; font-weight:500; }
.development-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.development-card strong, .development-card > a { margin-top:auto; padding-top:28px; color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.development-card[hidden] { display:none; }

.works-hero { position:relative; min-height:820px; color:white; background:var(--navy); }
.works-hero > div:first-child { position:absolute; inset:0; background-position:center; background-size:cover; }
.works-intro { padding-top:135px; padding-bottom:145px; display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(60px,9vw,140px); background:var(--ivory); }
.works-intro h2 { margin:18px 0 0; font-family:var(--serif); font-size:clamp(50px,6.3vw,92px); font-weight:500; letter-spacing:-.045em; line-height:.95; }
.works-intro h2 em { color:var(--gold); font-weight:500; }
.works-intro > div:last-child > p { margin:4px 0 50px; color:var(--muted); font-family:var(--serif); font-size:clamp(22px,2.5vw,36px); line-height:1.52; }
.works-intro dl { margin:0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.works-intro dl div { min-height:130px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.works-intro dt { color:var(--gold); font-family:var(--serif); font-size:36px; }
.works-intro dd { margin:0; color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.tour-section { padding-top:135px; padding-bottom:150px; color:white; background:#10141f; }
.tour-section-head { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(50px,8vw,125px); align-items:end; }
.tour-section-head h2 { margin:16px 0 0; font-family:var(--serif); font-size:clamp(50px,6.4vw,92px); font-weight:500; letter-spacing:-.045em; line-height:.94; }
.tour-section-head h2 em { color:var(--gold-light); font-weight:500; }
.tour-section-head > p { margin:0 0 5px; color:rgba(255,255,255,.64); font-size:12px; line-height:1.85; }
.tour-grid { margin-top:75px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.tour-card { min-width:0; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.035); }
.tour-card > button { width:100%; height:100%; padding:0; display:flex; flex-direction:column; color:inherit; border:0; background:transparent; text-align:left; cursor:pointer; }
.tour-card-image { height:290px; display:block; overflow:hidden; background:#e9e5dc; }
.tour-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.tour-card:hover .tour-card-image img { transform:scale(1.025); }
.tour-card-copy { min-height:275px; padding:28px; display:flex; flex-direction:column; align-items:flex-start; }
.tour-card-copy small { color:var(--gold-light); font-size:7px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.tour-card-copy strong { margin:18px 0 14px; font-family:var(--serif); font-size:clamp(28px,2.6vw,39px); font-weight:500; line-height:1.03; }
.tour-card-copy p { margin:0; color:rgba(255,255,255,.62); font-size:10px; line-height:1.75; }
.tour-card-copy b { margin-top:auto; padding-top:24px; color:var(--gold-light); font-size:8px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.tour-card-copy i { font-style:normal; }
.works-browser { padding-top:125px; padding-bottom:145px; }
.works-browser-head { display:flex; justify-content:space-between; gap:55px; align-items:end; }
.works-browser-head h2 { margin:12px 0 0; font-family:var(--serif); font-size:clamp(52px,6.3vw,90px); font-weight:500; letter-spacing:-.045em; }
.work-filter-row { max-width:670px; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.work-filter-row button { padding:10px 14px; color:var(--muted); border:1px solid var(--line); background:transparent; font-size:8px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.work-filter-row button.active { color:white; background:var(--ink); }
.work-filter-status { margin:28px 0 0; color:var(--muted); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.works-grid { margin-top:45px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:start; }
.work-card { position:relative; min-width:0; padding:0; color:var(--ink); border:0; background:var(--ivory); text-align:left; cursor:zoom-in; }
.work-card:nth-child(8n+1), .work-card:nth-child(8n+6) { grid-row:span 2; }
.work-card-image { display:block; aspect-ratio:4/3; overflow:hidden; background:#e9e1d4; }
.work-card:nth-child(8n+1) .work-card-image, .work-card:nth-child(8n+6) .work-card-image { aspect-ratio:4/5; }
.work-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.work-card:hover img { transform:scale(1.025); }
.work-card-meta { min-height:106px; padding:18px 18px 20px; display:grid; grid-template-columns:1fr auto; gap:7px 18px; }
.work-card-meta small { grid-column:1/-1; color:var(--gold); font-size:7px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.work-card-meta strong { font-family:var(--serif); font-size:21px; font-weight:500; line-height:1.15; }
.work-card-meta b { color:var(--gold); font-size:16px; font-weight:500; }
.work-card[hidden] { display:none; }
.dossier-section { padding-top:135px; padding-bottom:150px; color:white; background:var(--navy); }
.dossier-section .section-heading { grid-template-columns:.42fr 1fr; }
.dossier-intro { max-width:760px; margin:34px 0 0 auto; color:rgba(255,255,255,.64); font-size:12px; line-height:1.85; }
.dossier-grid { margin-top:70px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.dossier-card { min-width:0; padding:0; overflow:hidden; color:inherit; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.03); text-align:left; cursor:zoom-in; }
.dossier-preview { height:270px; display:block; overflow:hidden; background:#eeece5; }
.dossier-preview img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s ease; }
.dossier-card:hover img { transform:scale(1.025); }
.dossier-card > span:last-child { min-height:185px; padding:25px; display:flex; flex-direction:column; align-items:flex-start; }
.dossier-card small { color:var(--gold-light); font-size:7px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.dossier-card strong { margin:18px 0; font-family:var(--serif); font-size:27px; font-weight:500; line-height:1.08; }
.dossier-card b { margin-top:auto; color:var(--gold-light); font-size:8px; font-weight:700; font-style:normal; letter-spacing:.1em; text-transform:uppercase; }
.dossier-card i { font-style:normal; }
.works-cta { min-height:560px; padding-top:115px; padding-bottom:115px; display:flex; justify-content:space-between; gap:70px; align-items:end; color:white; background:linear-gradient(120deg,#17130f,#40331f); }
.works-cta h2 { margin:18px 0 25px; font-family:var(--serif); font-size:clamp(50px,6.5vw,94px); font-weight:500; letter-spacing:-.045em; line-height:.93; }
.works-cta p:last-child { max-width:650px; color:rgba(255,255,255,.68); font-size:12px; line-height:1.85; }
.work-lightbox { position:fixed; z-index:200; inset:0; padding:22px; display:grid; place-items:center; }
.work-lightbox[hidden] { display:none; }
.work-lightbox-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(8,9,12,.9); backdrop-filter:blur(12px); cursor:zoom-out; }
.work-lightbox > section { position:relative; width:min(1240px,100%); max-height:calc(100dvh - 44px); display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); overflow:auto; background:var(--paper); box-shadow:0 35px 100px rgba(0,0,0,.5); }
.work-lightbox-close { position:absolute; z-index:2; top:16px; right:16px; width:44px; height:44px; color:white; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:rgba(12,12,14,.55); font-size:27px; line-height:1; cursor:pointer; }
.work-lightbox-stage { min-height:620px; display:grid; place-items:center; overflow:hidden; background:#101318; }
.work-lightbox-stage img { width:100%; height:100%; max-height:calc(100dvh - 44px); object-fit:contain; }
.work-lightbox-copy { padding:65px 40px 45px; display:flex; flex-direction:column; justify-content:end; }
.work-lightbox-copy h2 { margin:18px 0 24px; font-family:var(--serif); font-size:clamp(34px,4vw,54px); font-weight:500; line-height:1; }
.work-lightbox-copy > p:last-child { color:var(--muted); font-size:11px; line-height:1.8; }

.tour-viewer { position:fixed; z-index:220; inset:0; padding:22px; display:grid; place-items:center; }
.tour-viewer-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(5,7,11,.94); backdrop-filter:blur(12px); }
.tour-viewer > section { position:relative; width:min(1320px,100%); max-height:calc(100dvh - 44px); display:grid; grid-template-rows:auto minmax(360px,1fr) auto auto; overflow:auto; color:white; background:#10141f; box-shadow:0 35px 100px rgba(0,0,0,.56); }
.tour-viewer header { min-height:104px; padding:24px 28px; display:flex; justify-content:space-between; gap:30px; align-items:center; border-bottom:1px solid rgba(255,255,255,.13); }
.tour-viewer header h2 { margin:8px 0 0; font-family:var(--serif); font-size:clamp(28px,3.6vw,48px); font-weight:500; line-height:1; }
.tour-viewer-close { width:44px; height:44px; flex:none; color:white; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:transparent; font-size:27px; line-height:1; cursor:pointer; }
.tour-stage { position:relative; min-height:520px; display:grid; place-items:center; overflow:hidden; background:#080a0f; cursor:ew-resize; touch-action:none; user-select:none; }
.tour-stage.zoomed { cursor:grab; }
.tour-stage.zoomed:active { cursor:grabbing; }
.tour-stage img { width:100%; height:100%; max-height:calc(100dvh - 280px); object-fit:contain; transform-origin:center; transition:transform .14s ease; pointer-events:none; }
.tour-stage.zoomed img { will-change:transform; }
.tour-stage.dragging img { transition:none; }
.tour-viewer-meta { min-height:92px; padding:18px 28px; display:flex; justify-content:space-between; gap:30px; align-items:center; border-top:1px solid rgba(255,255,255,.13); }
.tour-viewer-meta > div:first-child { display:grid; gap:6px; }
.tour-viewer-meta strong { font-family:var(--serif); font-size:20px; font-weight:500; }
.tour-viewer-meta span { color:var(--gold-light); font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.tour-controls { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; align-items:center; }
.tour-controls button { min-width:40px; min-height:40px; padding:0 12px; color:white; border:1px solid rgba(255,255,255,.22); background:transparent; font-size:10px; font-weight:700; letter-spacing:.06em; cursor:pointer; }
.tour-controls button:hover { border-color:var(--gold-light); }
.tour-controls .tour-play { min-width:108px; color:#17120e; border-color:var(--gold-light); background:var(--gold-light); text-transform:uppercase; }
.tour-controls output { min-width:50px; color:var(--gold-light); text-align:center; font-size:9px; font-weight:700; }
.tour-instruction { margin:0; padding:13px 28px 16px; color:rgba(255,255,255,.5); border-top:1px solid rgba(255,255,255,.1); font-size:9px; line-height:1.65; }

.service-list { display:grid; gap:0; }
.service-row { padding:65px 0; display:grid; grid-template-columns:70px 1fr .75fr; gap:45px; align-items:start; border-top:1px solid var(--line); scroll-margin-top:95px; }
.service-row h2 { margin:10px 0 0; font-size:clamp(38px,4.7vw,70px); }
.service-row > p { margin:35px 0 0; color:var(--muted); font-size:13px; line-height:1.9; }
.process { padding-top:125px; padding-bottom:135px; color:white; background:var(--green); }
.process .section-heading { grid-template-columns:.45fr 1fr; }
.process ol { margin:80px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.process li { min-height:92px; display:grid; grid-template-columns:65px 1fr; gap:25px; align-items:center; border-bottom:1px solid rgba(255,255,255,.18); }
.process li span { color:var(--gold-light); font-family:var(--serif); font-size:12px; }
.process li strong { font-family:var(--serif); font-size:clamp(22px,2.4vw,34px); font-weight:500; }

.partner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.partner-grid article { min-height:520px; padding:40px; display:flex; flex-direction:column; border:1px solid var(--line); border-right:0; }
.partner-grid article:last-child { border-right:1px solid var(--line); }
.partner-grid h2 { margin:auto 0 24px; font-size:50px; }
.partner-grid p { color:var(--muted); font-size:12px; line-height:1.8; }
.partner-grid a { margin-top:25px; color:var(--gold); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.principles { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(50px,10vw,150px); background:var(--ivory); }
.principles > div:last-child { border-top:1px solid var(--line); }
.principles article { padding:32px 0; display:grid; grid-template-columns:.7fr 1fr; gap:35px; border-bottom:1px solid var(--line); }
.principles strong { font-family:var(--serif); font-size:25px; font-weight:500; }
.principles article p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }

.contact-hero { min-height:760px; padding-top:150px; padding-bottom:90px; display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:center; background:var(--ivory); }
.contact-hero h1 { font-size:clamp(65px,8vw,120px); }
.contact-hero address { max-width:620px; font-style:normal; font-family:var(--serif); font-size:clamp(21px,2.4vw,34px); line-height:1.5; }
.contact-channels { margin:34px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.contact-channels > div { padding-top:16px; border-top:1px solid rgba(12,46,39,.18); }
.contact-channels dt { margin-bottom:9px; color:var(--gold); font-size:8px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.contact-channels dd { margin:0; }
.contact-channels a { width:max-content; max-width:100%; display:block; color:var(--green); font-family:var(--serif); font-size:clamp(15px,1.45vw,20px); line-height:1.75; overflow-wrap:anywhere; text-decoration-thickness:1px; text-underline-offset:4px; }
.contact-channels a:hover { color:var(--gold); }
.contact-actions { margin-top:35px; display:flex; gap:25px; align-items:center; }
.text-button { padding:10px 0; color:var(--ink); border:0; border-bottom:1px solid currentColor; background:transparent; font-size:9px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; cursor:pointer; }
.copy-status, .form-status { min-height:18px; color:var(--gold); font-size:10px; }
.contact-image { min-height:520px; background-position:center; background-size:cover; }
.brief-section { color:white; background:var(--green); }
.brief-section .section-heading { grid-template-columns:.4fr 1fr .7fr; }
.brief-section .section-heading > p:last-child { margin:0; color:rgba(255,255,255,.62); font-size:11px; line-height:1.8; }
.brief-form { margin-top:80px; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.brief-form label { display:grid; gap:10px; color:var(--gold-light); font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.brief-form input, .brief-form select, .brief-form textarea { width:100%; padding:16px 0; color:white; border:0; border-bottom:1px solid rgba(255,255,255,.28); border-radius:0; outline:0; background:transparent; font-size:15px; }
.brief-form select option { color:var(--ink); }
.brief-form textarea { resize:vertical; }
.brief-form .wide { grid-column:1/-1; }
.faqs { display:grid; grid-template-columns:.6fr 1.4fr; gap:80px; }
.faqs article { border-top:1px solid var(--line); }
.faqs article button { width:100%; padding:25px 0; display:flex; justify-content:space-between; gap:25px; color:var(--ink); border:0; background:transparent; text-align:left; font-family:var(--serif); font-size:23px; cursor:pointer; }
.faqs article p { max-height:0; margin:0; overflow:hidden; color:var(--muted); font-size:12px; line-height:1.8; transition:max-height .25s ease,margin .25s ease; }
.faqs article.open p { max-height:180px; margin:0 0 28px; }

.project-hero { position:relative; min-height:100svh; color:white; background:var(--green); }
.project-copy { position:relative; z-index:1; min-height:100svh; padding:145px clamp(28px,8vw,140px) 90px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.project-copy img { width:150px; height:150px; margin-bottom:35px; object-fit:cover; mix-blend-mode:screen; }
.project-copy h1 { font-size:clamp(70px,9vw,140px); }
.project-copy > p:last-of-type { max-width:650px; color:rgba(255,255,255,.74); font-size:14px; line-height:1.8; }
.project-intro { display:grid; grid-template-columns:.75fr 1fr; gap:clamp(60px,10vw,150px); }
.project-intro > div:last-child > p { margin:10px 0 60px; color:var(--muted); font-family:var(--serif); font-size:clamp(24px,2.7vw,40px); line-height:1.5; }
.project-intro ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.project-intro li { min-height:84px; display:grid; grid-template-columns:55px 1fr; align-items:center; border-bottom:1px solid var(--line); }
.project-intro li span { color:var(--gold); font-family:var(--serif); font-size:11px; }
.project-intro li strong { font-family:var(--serif); font-size:24px; font-weight:500; }
.project-note { min-height:620px; padding-top:120px; padding-bottom:120px; color:white; background:linear-gradient(120deg,#1d1711,#44351f); }
.project-note h2 { max-width:800px; }
.project-note > p:last-of-type { max-width:760px; color:rgba(255,255,255,.68); font-size:13px; line-height:1.85; }
.project-note .button { margin-top:30px; }

.not-found { min-height:780px; padding:170px clamp(28px,8vw,140px) 90px; display:flex; flex-direction:column; justify-content:center; background:var(--ivory); }
.not-found h1 { font-size:clamp(65px,9vw,130px); }
.not-found > div { display:flex; gap:28px; align-items:center; }

.site-footer { padding:100px clamp(28px,7vw,118px) 30px; color:white; background:#15110e; }
.footer-main { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; }
.footer-main h2 { margin:18px 0 35px; font-family:var(--serif); font-size:clamp(48px,6.3vw,90px); font-weight:500; line-height:.95; }
.footer-main nav { display:grid; align-content:start; }
.footer-main nav a { padding:17px 0; border-bottom:1px solid rgba(255,255,255,.16); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.footer-bottom { margin-top:90px; padding-top:24px; display:flex; justify-content:space-between; gap:30px; color:rgba(255,255,255,.46); border-top:1px solid rgba(255,255,255,.13); font-size:8px; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:1220px) {
  .site-header { grid-template-columns:1fr auto auto; }
  .desktop-nav, .header-cta { display:none; }
  .menu-button { width:42px; height:42px; padding:11px 7px; display:flex; flex-direction:column; justify-content:center; gap:7px; color:inherit; border:0; background:transparent; cursor:pointer; }
  .menu-button span { width:100%; height:1px; background:currentColor; transition:transform .2s ease; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .mobile-nav { position:fixed; z-index:70; inset:0; padding:130px 30px 50px; display:flex; flex-direction:column; justify-content:center; gap:12px; color:white; background:rgba(15,12,9,.98); opacity:0; visibility:hidden; transform:translateY(-10px); transition:.2s ease; }
  .mobile-nav.open { opacity:1; visibility:visible; transform:none; }
  .mobile-nav a { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.15); font-family:var(--serif); font-size:clamp(40px,7vw,66px); }
}

@media (max-width:1060px) {
  .pathway-grid { grid-template-columns:repeat(2,1fr); }
  .home-works { grid-template-columns:1fr; }
  .home-works-copy { position:relative; top:auto; }
  .works-grid, .dossier-grid, .tour-grid { grid-template-columns:repeat(2,1fr); }
  .work-lightbox > section { grid-template-columns:1fr; }
  .work-lightbox-copy { padding:35px; }
  .crest-heading { grid-template-columns:1fr 1.5fr; }
  .crest-heading > p:last-child { grid-column:2; }
  .feature-project { grid-template-columns:1fr 1fr; }
  .partner-grid { grid-template-columns:1fr; }
  .partner-grid article { min-height:360px; border-right:1px solid var(--line); border-bottom:0; }
  .partner-grid article:last-child { border-bottom:1px solid var(--line); }
  .service-row { grid-template-columns:55px 1fr; }
  .service-row > p { grid-column:2; margin-top:0; }
  .brief-section .section-heading { grid-template-columns:1fr 1.4fr; }
  .brief-section .section-heading > p:last-child { grid-column:2; }
  .ownership-section .section-heading { grid-template-columns:1fr 1.4fr; }
  .ownership-section .section-heading > p:last-child { grid-column:2; }
}

@media (max-width:720px) {
  .site-header { height:68px; padding:0 16px; gap:8px; }
  .brand-emblem { width:64px; height:40px; }
  .brand strong { font-size:15px; }
  .brand small { max-width:145px; font-size:5px; }
  .icon-button, .menu-button { width:40px; height:40px; }
  .search-panel { width:100vw; max-height:100dvh; min-height:100dvh; margin:0; padding:28px 20px; }
  .search-panel form > div { align-items:center; }
  .search-panel form button { font-size:0; }
  .search-panel form button span { font-size:18px; }
  .search-results a { grid-template-columns:1fr auto; }
  .search-results p { grid-column:1/-1; }
  .hero-copy { padding:130px 24px 100px; }
  .hero h1 { font-size:clamp(62px,19vw,92px); }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-scroll { right:24px; }
  .manifesto { min-height:auto; padding-top:100px; padding-bottom:100px; grid-template-columns:1fr; }
  .manifesto-mark { width:min(88vw,430px); margin-inline:auto; }
  .home-works { padding-top:95px; padding-bottom:100px; }
  .home-works-grid { grid-template-columns:1fr; }
  .home-works-grid a, .home-works-grid a:first-child { min-height:380px; grid-row:auto; }
  .crest-doctrine { padding-top:100px; padding-bottom:100px; }
  .crest-heading { grid-template-columns:1fr; gap:25px; }
  .crest-heading > p:last-child { grid-column:1; }
  .crest-grid { margin-top:55px; grid-template-columns:1fr; }
  .crest-grid article { min-height:300px; }
  .dual-mandate { grid-template-columns:1fr; gap:10px; }
  .dual-mandate p { margin-bottom:16px; }
  .feature-project { min-height:auto; grid-template-columns:1fr; }
  .feature-image { min-height:520px; }
  .feature-content { padding-top:90px; padding-bottom:95px; }
  .section-heading, .process .section-heading { grid-template-columns:1fr; gap:25px; }
  .pathways { padding-top:100px; padding-bottom:100px; }
  .pathway-grid { margin-top:55px; grid-template-columns:1fr; }
  .path-card { min-height:310px; }
  .location-band { min-height:600px; align-items:flex-start; flex-direction:column; justify-content:center; }
  .company-band { min-height:600px; align-items:flex-start; flex-direction:column; justify-content:center; }
  .inner-hero { min-height:690px; }
  .inner-copy { padding:130px 24px 80px; }
  .inner-copy h1 { font-size:clamp(48px,15.5vw,82px); overflow-wrap:anywhere; }
  .browser-head { align-items:flex-start; flex-direction:column; }
  .filter-row { max-width:100%; overflow:auto; }
  .works-intro { grid-template-columns:1fr; padding-top:95px; padding-bottom:100px; }
  .works-intro dl { grid-template-columns:1fr; }
  .tour-section { padding-top:95px; padding-bottom:100px; }
  .tour-section-head { grid-template-columns:1fr; gap:28px; }
  .tour-grid { margin-top:55px; grid-template-columns:1fr; }
  .tour-card-image { height:280px; }
  .tour-card-copy { min-height:245px; }
  .works-browser { padding-top:95px; padding-bottom:100px; }
  .works-browser-head { align-items:flex-start; flex-direction:column; }
  .work-filter-row { max-width:100%; justify-content:flex-start; }
  .works-grid, .dossier-grid { grid-template-columns:1fr; }
  .work-card:nth-child(8n+1), .work-card:nth-child(8n+6) { grid-row:auto; }
  .work-card:nth-child(8n+1) .work-card-image, .work-card:nth-child(8n+6) .work-card-image { aspect-ratio:4/3; }
  .dossier-section { padding-top:95px; padding-bottom:100px; }
  .dossier-section .section-heading { grid-template-columns:1fr; }
  .dossier-preview { height:320px; }
  .works-cta { min-height:650px; align-items:flex-start; flex-direction:column; justify-content:center; }
  .work-lightbox { padding:0; }
  .work-lightbox > section { width:100%; max-height:100dvh; min-height:100dvh; }
  .work-lightbox-stage { min-height:58dvh; }
  .work-lightbox-stage img { max-height:58dvh; }
  .work-lightbox-copy { min-height:42dvh; padding:34px 24px; }
  .tour-viewer { padding:0; }
  .tour-viewer > section { width:100%; max-height:100dvh; min-height:100dvh; grid-template-rows:auto minmax(300px,1fr) auto auto; }
  .tour-viewer header { min-height:90px; padding:20px; }
  .tour-stage { min-height:42dvh; }
  .tour-stage img { max-height:54dvh; }
  .tour-viewer-meta { padding:18px 20px; align-items:flex-start; flex-direction:column; }
  .tour-controls { width:100%; justify-content:flex-start; }
  .tour-instruction { padding:12px 20px 18px; }
  .development-grid { grid-template-columns:1fr; }
  .development-card { min-height:570px; }
  .service-row { padding:52px 0; grid-template-columns:1fr; gap:18px; }
  .service-row > p { grid-column:1; }
  .principles, .project-intro, .faqs { grid-template-columns:1fr; }
  .principles article { grid-template-columns:1fr; }
  .corporate-overview, .governance-section, .executive-functions { grid-template-columns:1fr; }
  .corporate-facts, .ownership-notes { grid-template-columns:1fr; }
  .ownership-section .section-heading { grid-template-columns:1fr; }
  .ownership-section .section-heading > p:last-child { grid-column:1; }
  .governance-grid, .leadership-grid { grid-template-columns:1fr; }
  .leadership-grid article { min-height:0; grid-template-columns:1fr; gap:28px; }
  .leadership-portrait { width:min(100%,320px); }
  .leadership-card-detailed .leadership-portrait { position:relative; top:auto; }
  .board-directory li { grid-template-columns:1fr; gap:8px; padding:20px 0; }
  .contact-hero { min-height:auto; padding-top:120px; grid-template-columns:1fr; }
  .contact-actions { align-items:flex-start; flex-direction:column; }
  .contact-channels { grid-template-columns:1fr; gap:20px; }
  .contact-image { min-height:430px; }
  .brief-section .section-heading { grid-template-columns:1fr; }
  .brief-section .section-heading > p:last-child { grid-column:1; }
  .brief-form { grid-template-columns:1fr; }
  .brief-form .wide { grid-column:1; }
  .faqs { gap:40px; }
  .project-copy { padding:120px 24px 80px; }
  .project-copy h1 { font-size:clamp(52px,18vw,88px); overflow-wrap:anywhere; }
  .footer-main { grid-template-columns:1fr; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .not-found > div { align-items:flex-start; flex-direction:column; }
}

@media (max-width:420px) {
  .site-header { padding-inline:12px; }
  .brand { gap:8px; }
  .brand-emblem { width:54px; height:38px; }
  .brand-copy small { display:none; }
  .brand strong { font-size:14px; }
  .icon-button, .menu-button { width:38px; height:38px; }
  .hero-copy, .inner-copy, .project-copy { padding-left:18px; padding-right:18px; }
  .section-pad { padding-left:20px; padding-right:20px; }
  .tour-controls button { min-width:38px; padding-inline:10px; }
  .tour-controls .tour-play { min-width:104px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }
