:root {
  --navy:#1e1e1e; --navy-deep:#151515; --navy-2:#373737; --blue:#4e4e4e;
  --gold:#b2b2b2; --gold-light:#cacaca; --paper:#f7f7f7; --white:#ffffff;
  --ink:#262626; --muted:#646464; --line:#e0e0e0; --warm:#ececec;
  --container:1240px; --radius:3px;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth }
body { margin:0; font:16px/1.62 "DM Sans",Arial,sans-serif; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased }
img { display:block; max-width:100% }
a { color:inherit; text-decoration:none }
button { font:inherit }
h1,h2,h3,p,figure { margin-top:0 }
h1,h2,h3 { line-height:1.04 }
h1,h2,h3,.footer-mark,.brand { font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif }
h1 { font-size:clamp(60px,7.2vw,116px); font-weight:700; letter-spacing:-.018em }
h2 { font-size:clamp(44px,5.1vw,78px); font-weight:700; letter-spacing:-.015em }
h3 { font-size:clamp(25px,2.3vw,34px); font-weight:700 }
em { color:var(--gold); font-style:normal }
p { color:inherit }
.container { width:min(var(--container),calc(100% - 64px)); margin:auto }
.skip { position:absolute; z-index:100; left:15px; top:-100px; padding:12px 20px; background:var(--gold); color:var(--navy) }
.skip:focus { top:10px }
:focus-visible { outline:3px solid #b3b3b3; outline-offset:3px }
.eyebrow { display:block; color:#919191; font-size:11px; letter-spacing:.19em; text-transform:uppercase; font-weight:700; line-height:1.5; margin-bottom:24px }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:12px; font-size:13px; font-weight:700; letter-spacing:.005em; padding:16px 23px; border:1px solid transparent; border-radius:var(--radius); line-height:1.2; transition:transform .2s ease,background-color .2s ease,border-color .2s ease; white-space:nowrap }
.button:hover { transform:translateY(-2px) }
.button.gold { background:var(--gold); color:#1c1c1c }
.button.gold:hover { background:#cacaca }
.button.outline { color:var(--white); border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.03) }
.button.outline:hover { background:rgba(255,255,255,.13) }
.button.dark { background:var(--navy); color:var(--white) }
.button.dark:hover { background:#3f3f3f }
.button.outline-dark { border-color:#b6b6b6; color:var(--navy) }
.button.outline-dark:hover { border-color:var(--navy); background:#f0f0f0 }
.button.white { background:var(--white); color:var(--navy) }
.button.outline-white { border-color:rgba(255,255,255,.5); color:var(--white) }
.cta-pair { display:flex; align-items:center; flex-wrap:wrap; gap:10px }
.text-link { display:inline-flex; gap:15px; align-items:center; margin-top:28px; color:var(--navy); border-bottom:2px solid var(--gold); padding-bottom:5px; font-size:13px; font-weight:700 }
.text-link:hover { color:var(--blue) }
.topbar { background:#171717; color:#c2c2c2; font-size:11px; letter-spacing:.065em; text-transform:uppercase }
.topbar-inner { min-height:37px; display:flex; align-items:center; justify-content:space-between; gap:20px }
.topbar a { color:var(--gold-light); font-weight:700 }
.header { position:relative; z-index:30; background:var(--white); box-shadow:0 2px 12px rgba(22,22,22,.045) }
.header-inner { height:88px; display:flex; align-items:center; justify-content:space-between; gap:26px }
.brand { display:flex; align-items:center; color:var(--navy); line-height:.85; flex-shrink:0 }
.brand-image { width:77px; height:48px; overflow:hidden; position:relative; display:block; margin-right:6px }
.brand-image img { width:116px; max-width:none; height:116px; position:absolute; top:-8px; left:-19px; object-fit:contain }
.brand strong { display:block; font-size:27px; letter-spacing:.02em; font-weight:800 }
.brand small { display:block; margin-top:6px; color:#767676; font:700 10px/1 "DM Sans",sans-serif; letter-spacing:.34em }
.header nav ul { display:flex; gap:20px; align-items:center; list-style:none; padding:0; margin:0 }
.header nav a { font-size:12px; font-weight:700; color:#484848; white-space:nowrap; padding:12px 0; transition:color .2s }
.header nav a:hover,.header nav a[aria-current=page] { color:#898989 }
.header-cta { flex-shrink:0; background:var(--navy); color:white; font-weight:700; padding:14px 19px; font-size:12px }
.header-cta:hover { background:var(--navy-2) }
.menu-button { display:none }
.hero { min-height:660px; background:var(--navy-deep); color:var(--white); position:relative; overflow:hidden }
.hero-photo,.hero-overlay { position:absolute; inset:0 }
.hero-photo { left:41%; filter:saturate(.65) contrast(1.06) }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 48% }
.hero-overlay { background:linear-gradient(90deg,#181818 0%,#191919 39%,rgba(24,24,24,.78) 57%,rgba(24,24,24,.16) 100%),linear-gradient(0deg,rgba(24,24,24,.3),transparent 45%) }
.hero-main { min-height:608px; display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; padding-top:52px; padding-bottom:66px }
.hero-copy { max-width:720px }
.hero h1 { margin:0 0 20px; font-size:clamp(65px,7.75vw,128px); line-height:.83; text-transform:uppercase; letter-spacing:-.006em }
.hero h1 em { display:inline-block; margin-top:7px }
.hero-copy>p { font-size:17px; max-width:550px; color:#e0e0e0; margin:29px 0 29px; line-height:1.6 }
.hero .eyebrow { color:var(--gold-light); margin-bottom:25px }
.hero-footnote { margin-top:37px; display:flex; align-items:center; gap:14px; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#d7d7d7 }
.hero-footnote i { height:1px; width:41px; background:var(--gold) }
.hero-aside { align-self:flex-end; border-left:1px solid rgba(255,255,255,.28); padding-left:20px; margin-bottom:10px; min-width:180px }
.hero-aside span { color:var(--gold-light); letter-spacing:.22em; font-size:10px }
.hero-aside p { font-family:"Barlow Condensed",sans-serif; text-transform:uppercase; font-size:24px; line-height:1.12; margin:8px 0 0; font-weight:700 }
.hero-bottom { position:relative; background:rgba(20,20,20,.9); color:#d6d6d6; font-size:11px; letter-spacing:.07em; text-transform:uppercase }
.hero-bottom .container { min-height:52px; display:flex; justify-content:space-between; align-items:center; gap:16px }
.hero-bottom a { color:var(--gold-light); font-weight:700 }
.proof-strip { background:var(--gold); color:#242424 }
.proof-strip .container { min-height:69px; display:flex; justify-content:space-between; align-items:center; gap:20px; font:700 12px/1.4 "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.09em }
.proof-strip i { width:4px; height:4px; border-radius:50%; background:#797979; flex-shrink:0 }
.section { padding:106px 0 }
.section.light { background:var(--paper) }
.section.warm { background:var(--warm) }
.section-head { max-width:840px; margin-bottom:45px }
.section-head h2 { margin:0 0 19px }
.section-head p { font-size:17px; line-height:1.65; color:var(--muted); max-width:720px }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px }
.service-card { display:block; background:var(--white); border:1px solid #e7e7e7; overflow:hidden; transition:transform .25s,box-shadow .25s }
.service-card:hover { transform:translateY(-5px); box-shadow:0 18px 40px rgba(24,24,24,.11) }
.service-img { aspect-ratio:1.55; position:relative; overflow:hidden; background:#b9b9b9 }
.service-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s }
.service-card:hover img { transform:scale(1.045) }
.service-number { position:absolute; left:19px; bottom:15px; color:var(--white); font:700 32px/1 "Barlow Condensed",sans-serif; text-shadow:0 2px 8px #171717 }
.service-card-text { padding:26px 25px 29px }
.service-card-text>span { font-size:10px; font-weight:700; letter-spacing:.17em; color:#808080 }
.service-card h3 { display:flex; justify-content:space-between; gap:10px; align-items:center; margin:11px 0 13px; font-size:30px; color:var(--navy) }
.service-card h3 b { font:500 19px "DM Sans",sans-serif; color:#8f8f8f }
.service-card p { color:var(--muted); line-height:1.65; font-size:13px; margin:0 }
.split-feature { display:grid; grid-template-columns:1fr 1fr; min-height:650px; color:var(--white); background:var(--navy) }
.split-image { overflow:hidden; min-height:650px }
.split-image img { height:100%; width:100%; object-fit:cover; object-position:center 67% }
.split-copy { display:flex; align-items:center; padding:85px clamp(36px,6vw,110px) }
.split-copy>div { max-width:560px }
.split-copy .eyebrow { color:var(--gold-light) }
.split-copy h2 { margin-bottom:22px; font-size:clamp(45px,4.8vw,73px) }
.split-copy p { color:#d6d6d6; font-size:16px; line-height:1.8 }
.check-list { list-style:none; padding:0; margin:24px 0 35px }
.check-list li { padding:12px 0 12px 27px; position:relative; border-bottom:1px solid rgba(255,255,255,.18); font-size:14px; font-weight:500 }
.check-list li::before { content:'✓'; color:var(--gold); position:absolute; left:0; font-weight:800 }
.project-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.project-card { position:relative; min-width:0; overflow:hidden; background:var(--navy); aspect-ratio:.79 }
.project-card>img { height:100%; width:100%; object-fit:cover; transition:transform .4s; filter:saturate(.85) }
.project-card:hover>img { transform:scale(1.035) }
.project-card::after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(17,17,17,.93)) }
.project-card figcaption { position:absolute; z-index:1; bottom:0; left:0; right:0; color:#ffffff; padding:25px 22px }
.project-card figcaption span { display:block; color:var(--gold-light); font-size:10px; font-weight:700; letter-spacing:.12em; margin-bottom:10px }
.project-card figcaption strong { display:block; font:700 30px/1.05 "Barlow Condensed",sans-serif }
.section-tail { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px }
.section-tail p { color:var(--muted); margin:0 }
.manager-banner { background:linear-gradient(130deg,#242424,#161616); color:var(--white); padding:94px 0; position:relative; overflow:hidden }
.manager-banner::before { content:''; position:absolute; width:600px; height:600px; border:1px solid rgba(255,255,255,.1); border-radius:50%; right:-200px; top:-250px; box-shadow:0 0 0 100px rgba(255,255,255,.018),0 0 0 200px rgba(255,255,255,.012) }
.manager-banner-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:90px; position:relative }
.manager-banner .eyebrow { color:var(--gold-light) }
.manager-banner h2 { margin-bottom:22px }
.manager-banner p { color:#d3d3d3; max-width:660px; margin-bottom:28px; line-height:1.76 }
.manager-lines { align-self:center; border-top:1px solid rgba(255,255,255,.24) }
.manager-lines p { display:flex; align-items:center; gap:21px; border-bottom:1px solid rgba(255,255,255,.24); margin:0; padding:21px 0; font-size:14px; font-weight:700 }
.manager-lines b { color:var(--gold); font-family:"Barlow Condensed",sans-serif; font-size:25px }
.process-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px }
.process-grid>div:first-child p { max-width:470px; color:var(--muted); font-size:17px }
.steps article { display:grid; grid-template-columns:78px 1fr; column-gap:23px; border-bottom:1px solid var(--line); padding:17px 0 28px; margin-bottom:15px }
.steps article b { grid-row:span 2; color:#979797; font:700 40px/1 "Barlow Condensed",sans-serif }
.steps h3 { font-size:30px; margin:0 0 5px }
.steps p { margin:0; color:var(--muted); font-size:13px; max-width:410px }
.social-section { padding:100px 0; background:var(--navy-deep); color:#ffffff }
.social-grid { display:grid; grid-template-columns:.84fr 1.16fr; gap:80px; align-items:center }
.social-section .eyebrow { color:var(--gold-light) }
.social-section h2 { margin-bottom:20px }
.social-section p { color:#d2d2d2; line-height:1.8; max-width:490px }
.social-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px }
.social-feed { min-width:0 }
.social-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; height:375px }
.social-tiles img { width:100%; height:100%; object-fit:cover }
.social-tiles img:nth-child(2),.social-tiles img:nth-child(4) { transform:translateY(26px) }
.social-feed>span { display:block; text-align:right; color:#a0a0a0; margin-top:41px; font-size:10px; letter-spacing:.15em }
.areas-home { background:#ffffff }
.areas-home-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center }
.areas-home-grid p { max-width:550px; color:var(--muted); font-size:16px }
.city-tags { display:flex; flex-wrap:wrap; align-content:center; gap:12px }
.city-tags span { display:block; padding:12px 19px; border:1px solid #dddddd; color:#4b4b4b; font-size:13px; font-weight:700 }
.city-tags span:last-child { background:var(--gold); border-color:var(--gold); color:var(--navy) }
.contact-band { background:var(--gold); color:var(--navy); padding:70px 0 }
.contact-band-inner { display:flex; align-items:center; justify-content:space-between; gap:30px }
.contact-band .eyebrow { color:#515151; margin-bottom:11px }
.contact-band h2 { font-size:clamp(38px,4.8vw,64px); margin-bottom:6px }
.contact-band p { font-size:14px; margin:0; max-width:580px }
.contact-band .gold { background:var(--navy); color:var(--white) }
.contact-band .gold:hover { background:#3f3f3f }
.contact-band .outline { border-color:#747474; color:var(--navy) }
.contact-band .outline:hover { background:rgba(255,255,255,.3) }
.footer { background:#151515; color:#c9c9c9; padding:70px 0 0 }
.footer-columns { display:grid; grid-template-columns:1.7fr .75fr 1fr; gap:90px; padding-bottom:70px }
.footer-mark { color:var(--white); font-size:35px; font-weight:800; line-height:1 }
.footer-mark span { color:var(--gold) }
.footer-intro p { max-width:490px; margin:17px 0 25px; font-size:13px; line-height:1.85 }
.footer-social { display:flex; gap:25px; font-size:12px; font-weight:700; color:var(--gold-light) }
.footer h3 { font-size:22px; color:var(--white); margin:0 0 20px }
.footer-columns>div:not(:first-child)>a { display:block; margin-bottom:13px; font-size:13px }
.footer a:hover { color:var(--gold-light) }
.footer .footer-contact { color:var(--white); font-weight:700; font-size:16px!important }
.footer-columns>div:last-child p { font-size:12px; line-height:1.8; margin-top:22px }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:18px 0 23px; border-top:1px solid #3c3c3c; font-size:11px; color:#9b9b9b }
.mobile-contact { display:none }
.page-hero { background:var(--navy-deep); color:white; overflow:hidden }
.page-hero-grid { min-height:525px; display:grid; grid-template-columns:1fr .86fr; gap:75px; align-items:center }
.page-hero-text { padding:80px 0 }
.page-hero .eyebrow { color:var(--gold-light) }
.page-hero h1 { font-size:clamp(54px,6.3vw,96px); margin:0 0 24px; line-height:.95 }
.page-hero p { font-size:16px; color:#d7d7d7; max-width:620px; line-height:1.75; margin-bottom:30px }
.page-hero-media { align-self:stretch; min-height:520px; position:relative; margin-right:calc((min(var(--container),100vw - 64px) - 100vw)/2) }
.page-hero-media:before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#151515 0%,transparent 28%) }
.page-hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.84) }
.page-hero-media>span { position:absolute; bottom:26px; right:25px; z-index:2; background:rgba(21,21,21,.8); color:var(--gold-light); padding:9px 12px; letter-spacing:.15em; font-size:9px }
.extra-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px }
.simple-list { columns:2; margin:0; padding:0; list-style:none; gap:24px }
.simple-list li { break-inside:avoid; border-bottom:1px solid #cccccc; padding:10px 0 12px; font-size:14px }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start }
.detail-grid h2 { margin-bottom:20px }
.large-p { font-size:18px; line-height:1.75; color:var(--muted) }
.detail-call { margin-top:36px; padding:23px; background:var(--white); border-left:3px solid var(--gold); font-size:13px; color:var(--muted) }
.detail-call a { color:var(--navy); font-weight:800; font-size:22px; display:inline-block; margin-top:8px }
.detail-box { background:var(--navy); color:#ffffff; padding:42px 49px }
.detail-box h3 { font-size:34px; margin-bottom:21px }
.detail-box .check-list { margin-bottom:0 }
.detail-box .check-list li { line-height:1.5 }
.related-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center }
.related-grid p { max-width:470px; color:var(--muted) }
.related-grid>img { height:490px; width:100%; object-fit:cover }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px }
.faq-list { border-top:1px solid #c7c7c7 }
.faq-list details { border-bottom:1px solid #c7c7c7; padding:0 }
.faq-list summary { list-style:none; cursor:pointer; font-weight:700; display:flex; justify-content:space-between; gap:20px; padding:22px 3px 22px 0; font-size:15px }
.faq-list summary::-webkit-details-marker { display:none }
.faq-list summary span { color:#878787; font-size:23px; line-height:1 }
.faq-list details[open] summary span { transform:rotate(45deg) }
.faq-list details p { color:var(--muted); line-height:1.7; font-size:14px; padding:0 40px 24px 0; margin:0 }
.manager-services { display:grid; grid-template-columns:repeat(4,1fr); gap:15px }
.manager-services article { background:#ffffff; border-top:3px solid var(--gold); padding:29px 23px 34px; min-height:250px }
.manager-services span { font-size:10px; font-weight:800; color:#818181; letter-spacing:.14em }
.manager-services h3 { margin:30px 0 15px; font-size:30px }
.manager-services p { color:var(--muted); font-size:13px; margin:0 }
.manager-email { background:var(--navy); color:#ffffff; padding:97px 0 }
.email-grid { display:grid; grid-template-columns:1fr .86fr; gap:100px; align-items:center }
.manager-email .eyebrow { color:var(--gold-light) }
.manager-email p { color:#d8d8d8; line-height:1.75 }
.contact-line { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.25); display:flex; gap:30px; align-items:baseline }
.contact-line span { width:70px; flex-shrink:0; font-size:10px; letter-spacing:.13em; color:var(--gold-light) }
.contact-line a { font-size:clamp(16px,2vw,25px); font-weight:700 }
.email-card { background:#ffffff; color:var(--navy); padding:44px }
.email-card>span { font-size:10px; color:#878787; letter-spacing:.14em; font-weight:700 }
.email-card h3 { margin:22px 0 13px; font-size:48px }
.email-card p { color:var(--muted) }
.email-card .button { width:100%; margin-top:12px }
.gallery-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px }
.gallery-filters button { background:transparent; color:var(--navy); border:1px solid #c3c3c3; cursor:pointer; padding:11px 16px; font-size:12px; font-weight:700 }
.gallery-filters button:hover,.gallery-filters button.selected { background:var(--navy); color:#ffffff; border-color:var(--navy) }
.full-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px }
.full-gallery .project-card[hidden] { display:none }
.project-outro { border-top:1px solid var(--line); margin-top:40px; padding-top:32px; display:flex; gap:25px; justify-content:space-between; align-items:center }
.project-outro h3 { margin:0 0 9px }
.project-outro p { color:var(--muted); margin:0 }
.recent-work { background:#ebebeb }
.recent-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.recent-grid article { border-top:3px solid var(--gold); background:#ffffff; padding:31px 28px 36px }
.recent-grid span { font-size:10px; color:#868686; letter-spacing:.14em; font-weight:800 }
.recent-grid h3 { font-size:33px; margin:23px 0 12px }
.recent-grid p { font-size:13px; color:var(--muted); margin:0 }
.area-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px }
.area-grid article { background:#ffffff; border:1px solid #e3e3e3; padding:32px; min-height:190px }
.area-grid b { color:#919191; font-size:19px }
.area-grid h3 { margin:16px 0 11px; font-size:32px }
.area-grid p { font-size:13px; color:var(--muted); margin:0 }
.area-message { margin-top:36px; background:var(--navy); padding:30px; color:#ffffff; display:flex; justify-content:space-between; gap:25px; align-items:center }
.area-message p { margin:0; max-width:700px; font-size:14px }
.area-message .button { background:var(--gold); color:var(--navy) }
.story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:center }
.story-grid p:not(.large-p) { color:var(--muted); line-height:1.84 }
.story-picture { position:relative }
.story-picture img { width:100%; height:620px; object-fit:cover }
.story-picture>span { position:absolute; right:-24px; bottom:28px; background:var(--gold); color:var(--navy); font-size:11px; letter-spacing:.1em; padding:18px 26px }
.story-picture strong { font:800 32px/1.1 "Barlow Condensed",sans-serif; letter-spacing:0 }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px }
.values-grid article { border-top:2px solid var(--navy); padding-top:22px }
.values-grid span { color:#878787; font:700 34px "Barlow Condensed",sans-serif }
.values-grid h3 { margin:20px 0 15px }
.values-grid p { font-size:14px; color:var(--muted) }
.contact-page { background:var(--navy-deep); color:#ffffff; padding:80px 0 100px }
.contact-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:90px }
.contact-page .eyebrow { color:var(--gold-light) }
.contact-page h1 { margin:0 0 23px; font-size:clamp(60px,7vw,112px) }
.contact-page .large-p { color:#d7d7d7; max-width:590px }
.contact-methods { display:grid; gap:13px; margin:35px 0 24px }
.contact-methods a { display:block; border:1px solid rgba(255,255,255,.23); padding:18px 23px; transition:background .2s }
.contact-methods a:hover { background:#363636 }
.contact-methods span,.contact-methods small { display:block; font-size:10px; letter-spacing:.12em; color:var(--gold-light); font-weight:700 }
.contact-methods strong { display:block; margin:5px 0; font:700 clamp(26px,3.3vw,43px) "Barlow Condensed",sans-serif; overflow-wrap:anywhere }
.contact-methods small { color:#d1d1d1 }
.contact-tip { font-size:13px; color:#c8c8c8; line-height:1.7 }
.contact-tip strong { color:var(--gold-light) }
.contact-image { height:690px; position:relative }
.contact-image img { width:100%; height:100%; object-fit:cover }
.contact-image span { position:absolute; left:0; bottom:0; background:var(--gold); color:var(--navy); font-size:11px; font-weight:800; padding:15px 20px }
.contact-options { display:grid; grid-template-columns:1fr 1fr; gap:36px }
.contact-options article { padding:32px; background:#ffffff; border-top:3px solid var(--gold) }
.contact-options h2 { font-size:44px }
.contact-options p { color:var(--muted); max-width:420px }
.guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px }
.guide-grid a { background:#ffffff; padding:40px; border-top:3px solid var(--gold); min-height:290px; transition:transform .2s }
.guide-grid a:hover { transform:translateY(-4px) }
.guide-grid span { font-size:10px; letter-spacing:.14em; font-weight:800; color:#868686 }
.guide-grid h2 { margin:24px 0 15px; font-size:45px }
.guide-grid p { color:var(--muted); font-size:14px }
.guide-grid strong { font-size:13px; color:var(--navy) }
.article { padding:90px 0; background:var(--paper) }
.article-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:100px; align-items:start }
.article h1 { font-size:clamp(58px,6.3vw,91px); margin:0 0 25px }
.article-lead { font-size:21px; color:var(--muted); line-height:1.65 }
.article-by { display:block; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:30px 0 50px; padding:15px 0; color:#878787; font-size:10px; letter-spacing:.13em; font-weight:700 }
.article h2 { margin:46px 0 14px; font-size:39px }
.article p { color:var(--muted); line-height:1.85 }
.article aside { position:sticky; top:25px; background:#ffffff; padding-bottom:26px }
.article aside img { width:100%; height:340px; object-fit:cover }
.article aside p { padding:22px 22px 0; font-size:13px }
.article aside a { display:block; padding:0 22px; font-size:13px; color:var(--navy); font-weight:800 }
.article-call { margin-top:55px; padding:30px; background:var(--navy); color:#ffffff }
.article-call h3 { margin:0 0 10px }
.article-call p { color:#d7d7d7 }
@media (max-width:1180px) {
 .header-inner { gap:18px }
 .header nav ul { gap:12px }
 .header nav a { font-size:11px }
 .header-cta { padding:13px }
 .social-grid { gap:36px }
 .manager-banner-grid { gap:45px }
 .footer-columns { gap:50px }
}
@media (max-width:960px) {
 .container { width:min(var(--container),calc(100% - 42px)) }
 .topbar-inner span:nth-child(2) { display:none }
 .header-inner { height:76px }
 .menu-button { width:44px; height:44px; background:transparent; border:1px solid #d4d4d4; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin-left:auto; cursor:pointer }
 .menu-button i { width:20px; height:2px; background:var(--navy) }
 .header nav { position:absolute; left:0; top:100%; right:0; background:#ffffff; box-shadow:0 12px 24px rgba(0,0,0,.1); padding:15px 21px 25px; display:none }
 .header nav.open { display:block }
 .header nav ul { flex-direction:column; align-items:stretch; gap:0 }
 .header nav a { display:block; padding:12px 5px; font-size:14px; border-bottom:1px solid var(--line) }
 .header-cta { display:none }
 .hero { min-height:610px }
 .hero-main { min-height:560px }
 .hero-aside { display:none }
 .hero-photo { left:25% }
 .hero-overlay { background:linear-gradient(90deg,#171717 0%,rgba(23,23,23,.94) 53%,rgba(23,23,23,.4) 100%) }
 .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
 .split-feature { grid-template-columns:1fr }
 .split-image { height:370px; min-height:0 }
 .split-copy { padding:70px 42px }
 .project-grid { grid-template-columns:repeat(2,1fr) }
 .project-card { aspect-ratio:1.3 }
 .manager-banner-grid,.process-grid,.areas-home-grid,.story-grid,.detail-grid,.related-grid,.email-grid { grid-template-columns:1fr; gap:45px }
 .manager-services { grid-template-columns:repeat(2,1fr) }
 .social-grid { grid-template-columns:1fr; gap:55px }
 .social-tiles { height:330px }
 .page-hero-grid { grid-template-columns:1fr .75fr; gap:30px }
 .page-hero h1 { font-size:clamp(55px,6.3vw,78px) }
 .page-hero-media { margin-right:-21px }
 .extra-grid { gap:40px }
 .faq-grid { grid-template-columns:1fr; gap:25px }
 .area-grid { grid-template-columns:repeat(2,1fr) }
 .recent-grid { grid-template-columns:1fr }
 .story-picture img { height:430px }
 .story-picture>span { right:0 }
 .contact-grid { grid-template-columns:1fr; gap:50px }
 .contact-image { height:420px }
 .article-grid { gap:45px }
}
@media (max-width:680px) {
 body { padding-bottom:62px }
 .container { width:calc(100% - 34px) }
 .topbar-inner { min-height:31px; font-size:9px; letter-spacing:.03em }
 .topbar a { font-size:10px }
 .brand-image { width:54px; height:40px; margin-right:5px }
 .brand-image img { width:90px; height:90px; left:-17px; top:-7px }
 .brand strong { font-size:23px }
 .brand small { font-size:8px; margin-top:5px }
 .header-inner { height:69px }
 .hero { min-height:650px }
 .hero-photo { left:0; opacity:.42 }
 .hero-photo img { object-position:center top }
 .hero-overlay { background:linear-gradient(90deg,rgba(21,21,21,.96),rgba(21,21,21,.67)),linear-gradient(0deg,#151515,transparent 35%) }
 .hero-main { min-height:602px; padding:56px 0 }
 .hero h1 { font-size:clamp(61px,14vw,92px) }
 .hero-copy>p { font-size:15px; margin:25px 0 }
 .hero .eyebrow { font-size:10px }
 .hero .cta-pair .button { flex:1 1 100% }
 .hero-footnote { font-size:9px; margin-top:26px }
 .hero-bottom .container { min-height:47px; font-size:9px }
 .proof-strip .container { padding:16px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; font-size:10px }
 .proof-strip i { display:none }
 .section { padding:70px 0 }
 h2 { font-size:clamp(42px,11vw,58px) }
 .section-head { margin-bottom:30px }
 .section-head p { font-size:15px }
 .eyebrow { margin-bottom:18px }
 .service-grid { grid-template-columns:1fr; gap:15px }
 .service-img { aspect-ratio:1.6 }
 .service-card h3 { font-size:31px }
 .service-card-text { padding:23px }
 .split-image { height:275px }
 .split-copy { padding:64px 25px }
 .project-grid,.full-gallery { grid-template-columns:1fr 1fr; gap:9px }
 .project-card { aspect-ratio:.79 }
 .project-card figcaption { padding:14px 12px }
 .project-card figcaption strong { font-size:23px }
 .project-card figcaption span { font-size:8px }
 .section-tail,.project-outro { flex-direction:column; align-items:flex-start }
 .manager-banner { padding:68px 0 }
 .manager-banner-grid { gap:28px }
 .manager-lines p { padding:16px 0 }
 .steps article { grid-template-columns:57px 1fr; gap:8px }
 .steps article b { font-size:31px }
 .social-section { padding:70px 0 }
 .social-tiles { height:270px; gap:5px }
 .social-tiles img:nth-child(2),.social-tiles img:nth-child(4) { transform:translateY(14px) }
 .social-actions .button { width:100% }
 .social-feed>span { margin-top:25px }
 .areas-home-grid { gap:26px }
 .city-tags { gap:8px }
 .city-tags span { font-size:12px; padding:10px 12px }
 .contact-band { padding:60px 0 }
 .contact-band-inner { flex-direction:column; align-items:flex-start }
 .contact-band .cta-pair,.contact-band .cta-pair .button { width:100% }
 .footer { padding:55px 0 0 }
 .footer-columns { grid-template-columns:1fr; gap:40px; padding-bottom:40px }
 .footer-bottom { flex-direction:column; gap:5px }
 .mobile-contact { position:fixed; z-index:40; left:0; right:0; bottom:0; background:var(--gold); box-shadow:0 -4px 14px rgba(0,0,0,.15); display:grid; grid-template-columns:1fr 1fr }
 .mobile-contact a { min-height:62px; display:flex; align-items:center; justify-content:center; color:var(--navy); font-size:13px; font-weight:800 }
 .mobile-contact a+a { border-left:1px solid rgba(30,30,30,.25) }
 .page-hero-grid { display:block; min-height:0 }
 .page-hero-text { padding:62px 0 40px }
 .page-hero h1 { font-size:clamp(54px,12vw,76px) }
 .page-hero p { font-size:15px }
 .page-hero .cta-pair .button { width:100% }
 .page-hero-media { margin:0 -17px; height:250px; min-height:0 }
 .page-hero-media:before { background:linear-gradient(0deg,#151515,transparent 30%) }
 .page-hero-media>span { bottom:16px; right:15px; font-size:8px }
 .extra-grid { grid-template-columns:1fr }
 .simple-list { columns:1 }
 .detail-box { padding:30px 25px }
 .detail-box h3 { font-size:32px }
 .related-grid>img { height:320px }
 .manager-services { grid-template-columns:1fr }
 .manager-services article { min-height:0 }
 .manager-email { padding:65px 0 }
 .email-card { padding:28px }
 .email-card h3 { font-size:42px }
 .gallery-filters button { font-size:11px; padding:10px 11px }
 .full-gallery .project-card { aspect-ratio:.75 }
 .area-grid { grid-template-columns:1fr }
 .area-grid article { min-height:0 }
 .area-message { display:block }
 .area-message .button { margin-top:20px }
 .values-grid { grid-template-columns:1fr; gap:20px }
 .story-picture img { height:380px }
 .contact-page { padding:60px 0 70px }
 .contact-page h1 { font-size:clamp(59px,13vw,86px) }
 .contact-methods strong { font-size:31px }
 .contact-options,.guide-grid { grid-template-columns:1fr }
 .contact-options article,.guide-grid a { padding:28px }
 .guide-grid a { min-height:0 }
 .guide-grid h2 { font-size:40px }
 .article { padding:65px 0 }
 .article-grid { grid-template-columns:1fr }
 .article h1 { font-size:clamp(52px,12vw,74px) }
 .article aside { position:static }
 .article h2 { font-size:34px }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto }
 *,*:before,*:after { transition:none!important; animation:none!important }
}
