/* Architectural rhythm: generous type, fine bronze rules, photographic frames. */
:root{--ink:#191c1b;--ink-soft:#202624;--gold:#927044;--gold-soft:#cfb790;--muted:#60615a;--line:rgba(25,28,27,.16);--max:1360px}
body{font-size:16px}
section[id]{scroll-margin-top:100px}
:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.site-header{height:104px;border-bottom:1px solid rgba(255,255,255,.16)}
.brand-mark{width:46px;height:46px;border-color:var(--gold-soft);color:var(--gold-soft);font-size:27px}
.scrolled .brand-mark{color:var(--gold);border-color:var(--gold)}
.brand-copy strong{font-size:14px;letter-spacing:.16em}
.brand-copy small{font-size:12px;letter-spacing:.12em}
.main-nav{font-size:12px;gap:22px;letter-spacing:.1em}
.nav-cta{border-color:var(--gold-soft)}
.site-header.scrolled .nav-cta:hover{background:var(--ink);color:var(--paper)}
.hero-content{padding-top:clamp(180px,20vh,240px);padding-bottom:130px}
.hero h1{line-height:1.02;letter-spacing:-.035em;font-size:clamp(64px,8vw,122px);max-width:1050px}
.hero-lead{font-size:18px;max-width:550px;line-height:1.8}
.eyebrow,.section-kicker{font-size:12px;letter-spacing:.19em}
.section-kicker{display:flex;align-items:center;gap:18px}
.section-kicker:before{content:"";width:32px;height:1px;background:currentColor;flex:none}
.button,.text-link{font-size:13px;letter-spacing:.12em}
.button{min-height:56px;padding-inline:28px}
.hero-index{font-size:12px}
.credentials-track{justify-content:flex-start}
.credentials-track span{font-size:12px;letter-spacing:.1em;padding:27px 30px}
.section{padding:clamp(86px,9vw,140px) 0}
.section h2,.contact h2{line-height:1.08;letter-spacing:-.035em}
.section-heading{gap:54px;margin-bottom:64px}
.section-heading p,.intro-copy p,.history-content p,.capability-list p,.works-list p{font-size:16px;line-height:1.85}
.intro-copy{padding-top:25px;border-top-color:var(--gold)}
.intro-copy p:first-child{font-size:27px;line-height:1.55}
.history-year{line-height:.95;color:var(--gold);font-variant-numeric:lining-nums}
.history-content h2{line-height:1.08}
.history-milestones article{padding:30px;gap:16px}
.history-milestones span{font-size:12px;margin-top:0;letter-spacing:.12em}
.history-milestones p{font-size:14px}
.featured{background:#202624}
.featured .section-heading p{color:#c4c7bd}
.featured-grid{grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(2,360px);gap:26px}
.project-meta{left:32px;bottom:34px}
.project-meta small,.project-meta span{font-size:12px;letter-spacing:.12em;color:#e2e1da}
.project-meta strong{line-height:1.12}
.project-arrow{width:44px;height:44px}
.capability-list h3{line-height:1.16}
.capability-list small{font-size:12px;letter-spacing:.1em}
.works-list{gap:0 30px}
.works-list article,.works-list article:nth-child(n){margin:0;padding:34px 0;min-height:310px;border-left:0;border-top:1px solid transparent}
.works-list article:hover{transform:none;border-top-color:var(--gold)}
.works-list h3{font-size:30px;line-height:1.18;margin:22px 0 17px}
.works-list span,.works-list small{font-size:12px;letter-spacing:.09em;color:#646158}
.filter{font-size:13px;letter-spacing:.08em;min-height:44px}
.filter.active{border-bottom:2px solid var(--gold)}
.gallery-scroller{gap:28px;padding-inline:max(44px,calc((100vw - 1360px)/2));scroll-padding-inline:44px;scrollbar-color:var(--gold) transparent}
.gallery-scroller figure{flex-basis:min(64vw,740px)}
.gallery-photo{overflow:hidden;display:block}
.gallery-photo img{transition:transform .7s ease}
.gallery-photo:hover img{transform:scale(1.015)}
.gallery-scroller figcaption{font-size:13px;letter-spacing:.06em;line-height:1.6;margin-top:0;padding:18px 0;border-bottom:1px solid var(--line)}
.new-work-gallery figure{flex-basis:min(48vw,550px)}
.new-work-gallery .gallery-photo{padding:16px;background:#eae6de;border:1px solid rgba(146,112,68,.15)}
.new-work-gallery img{height:460px;background:#eae6de}
.site-video{border-top:1px solid var(--line);padding-top:64px}
.site-video video{box-shadow:0 18px 45px rgba(25,28,27,.12)}
.qualification-grid{gap:20px}
.qualification-grid article{border:0;border-top:2px solid var(--gold);background:transparent;padding:28px 18px;min-height:290px}
.qualification-grid article:hover{background:var(--paper);transform:translateY(-3px)}
.qualification-grid small,.qualification-grid p{font-size:12px;letter-spacing:.09em;line-height:1.6}
.qualification-grid h3{font-size:30px}
.contact{background:#202624}
.contact-mail{font-size:14px;letter-spacing:.09em}
.contact-details small{font-size:12px;color:#c4c7bd;letter-spacing:.14em}
.contact-details p{font-size:23px}
.footer-brand span,.footer-top>a,.footer-bottom{font-size:12px;color:#bcbfb5}
.lightbox figcaption{font-size:13px;letter-spacing:.04em;height:auto;min-height:76px;gap:20px}
@media(max-width:1100px){
 .featured-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:520px}
 .project-card-large{grid-row:auto}
 .works-list{gap:0 28px}
 .menu-toggle{display:block}
 .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);color:var(--ink);padding:28px 44px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}
 .main-nav.open{display:flex}.main-nav>a:not(.nav-cta){display:block;font-size:14px}
 .nav-cta{text-align:center}
}
@media(max-width:720px){
 .wrap{width:calc(100% - 40px)}
 .site-header{height:80px;padding-inline:20px}.site-header.scrolled{height:72px}
 .brand{gap:10px}.brand-mark{width:36px;height:36px;font-size:23px}.brand-copy strong{font-size:12px;letter-spacing:.1em}
 .main-nav{padding:22px 20px}
 .hero-content{padding-top:155px;padding-bottom:90px}
 .hero h1{font-size:clamp(48px,13vw,82px);line-height:1.04;letter-spacing:-.035em}
 .hero-lead{font-size:16px}.hero-actions{gap:26px}
 .section h2,.contact h2{font-size:clamp(40px,11.5vw,64px);line-height:1.1}
 .section-heading{margin-bottom:40px;gap:24px}
 .section-kicker{font-size:12px;letter-spacing:.12em;gap:12px}
 .intro-copy p:first-child{font-size:23px}
 .history-milestones article{padding:26px 0;min-height:160px}
 .featured-grid{grid-auto-rows:430px;gap:22px}
 .project-meta{left:22px;bottom:25px}.project-meta strong{font-size:31px}
 .works-list article,.works-list article:nth-child(n){min-height:0;padding:30px 0}
 .works-list h3{font-size:28px}.works-list small{margin-top:12px}
 .filter{margin-right:8px}
 .gallery-scroller{padding-inline:20px;scroll-padding-inline:20px;gap:20px}
 .gallery-scroller figure,.new-work-gallery figure{flex-basis:calc(100vw - 56px)}
 .gallery-scroller img{height:380px}.new-work-gallery img{height:390px}
 .new-work-gallery .gallery-photo{padding:10px}
 .qualification-grid{gap:24px 14px}.qualification-grid article{padding:22px 8px;min-height:270px}
 .qualification-grid h3{font-size:26px}
 .site-video{padding-top:40px}.contact-mail{overflow-wrap:anywhere}
 .lightbox figcaption{font-size:12px;padding:18px 20px;letter-spacing:0}
}
@media(max-width:380px){.qualification-grid{grid-template-columns:1fr}.qualification-grid article{min-height:220px}.brand-copy strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
