:root{--ink:#2d2926;--taupe:#887569;--sand:#d9ccbd;--cream:#f5f1eb;--warm:#b4a08f;--white:#fff;--line:rgba(45,41,38,.16);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:999;background:white;padding:.7rem 1rem}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;transition:.35s;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.site-header.scrolled{height:74px;background:rgba(245,241,235,.96);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.brand{width:145px;filter:brightness(0) invert(1);transition:.3s}.brand img{aspect-ratio:386/301;object-fit:contain}.site-header.scrolled .brand{filter:none}.main-nav{display:flex;gap:2rem;color:white;text-transform:uppercase;font-size:.76rem;letter-spacing:.13em}.site-header.scrolled .main-nav{color:var(--ink)}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:.3s}.main-nav a:hover:after{width:100%}.menu-toggle{display:none;border:0;background:none}.hero{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;color:white}.hero-image{position:absolute;inset:0;background:url('assets/images/hero-buero.webp') center 43%/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,20,17,.82) 0%,rgba(24,20,17,.34) 52%,rgba(24,20,17,.18) 100%)}.hero-copy{position:relative;z-index:2;width:min(680px,88vw);margin-left:7vw;padding-top:70px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;margin:0 0 1rem}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0}.hero h1{font-size:clamp(3.2rem,6.4vw,7rem)}.hero-copy>p:not(.eyebrow){font-size:1.05rem;max-width:570px;margin:1.5rem 0 2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;padding:1rem 1.35rem;border:1px solid}.button-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}.button-light:hover{background:white;color:var(--ink)}.scroll-hint{position:absolute;z-index:2;bottom:2.2rem;right:5vw;text-transform:uppercase;font-size:.62rem;letter-spacing:.18em;display:flex;align-items:center;gap:.8rem}.scroll-hint span{display:block;width:46px;height:1px;background:white}.services{display:grid;grid-template-columns:repeat(4,1fr);background:#f1ece5;border-bottom:1px solid var(--line)}.service-card{padding:3.2rem 2.4rem;border-right:1px solid var(--line)}.service-card:last-child{border-right:0}.service-no{font-family:var(--serif);color:var(--taupe);font-size:1.1rem}.service-card h2{font-family:var(--serif);font-weight:400;font-size:1.65rem;margin:.65rem 0}.service-card p{font-size:.9rem;margin:0}.section{padding:8rem 6vw}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:end;margin-bottom:3.5rem}.section-head h2,.about h2{font-size:clamp(2.5rem,4.6vw,5rem)}.section-head>p{max-width:520px;margin:0 0 .4rem}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.project{position:relative;margin:0;overflow:hidden;min-height:430px;grid-column:span 4;background:#ddd}.project-wide{grid-column:span 8}.project-tall{min-height:620px}.project img{height:100%;object-fit:cover;transition:transform .7s ease}.project:hover img{transform:scale(1.035)}.project figcaption{position:absolute;left:0;right:0;bottom:0;padding:4rem 1.5rem 1.2rem;color:white;background:linear-gradient(transparent,rgba(0,0,0,.68));display:flex;justify-content:space-between;align-items:end}.project figcaption span{font-family:var(--serif);font-size:1.7rem}.project figcaption small{text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.quote-band{padding:6rem 8vw;background:var(--taupe);color:white;text-align:center}.quote-band p{font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);line-height:1.15;max-width:1100px;margin:auto}.outdoor{background:#eae2d8}.outdoor-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,360px);gap:1rem}.outdoor-grid .project{min-height:0;grid-column:auto}.outdoor-main{grid-row:1/3}.about{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:7vw;align-items:stretch;background:#f8f5f0}.about-photo{min-height:720px}.about-photo img{height:100%;object-fit:cover;object-position:center top}.about-copy{padding:2rem 0;align-self:center}.about-copy .lead{font-size:1.12rem}.facts{margin-top:2.5rem;border-top:1px solid var(--line)}.facts div{display:grid;grid-template-columns:180px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.facts strong{font-family:var(--serif);font-size:1.15rem}.facts span{font-size:.9rem}.contact{padding:7rem 7vw;background:#3d3631;color:white;display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end}.contact h2{font-size:clamp(2.7rem,5vw,5.5rem)}.contact-copy>p:last-child{max-width:580px}.contact-actions{display:flex;flex-direction:column;gap:1rem}.contact-actions>a:not(.button){font-family:var(--serif);font-size:1.35rem;padding-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.25)}.contact-actions span{display:block;font-family:var(--sans);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:#cdbfb3}.button-dark{margin-top:1rem;background:var(--sand);color:var(--ink);border-color:var(--sand)}.site-footer{position:relative;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;padding:4rem 6vw 6rem;background:#927e6f;color:white}.footer-brand{width:170px;filter:brightness(0) invert(1)}.site-footer h3{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:400;margin:0 0 1rem}.site-footer a,.site-footer p{display:block;margin:.3rem 0;font-size:.88rem}.copyright{position:absolute;bottom:1.5rem;left:6vw;right:6vw;border-top:1px solid rgba(255,255,255,.25);padding-top:1rem!important;text-align:right}.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:980px){.main-nav{position:fixed;inset:0;background:var(--cream);color:var(--ink)!important;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--serif);font-size:2rem;transform:translateX(100%);transition:.35s}.main-nav.open{transform:none}.menu-toggle{display:block;z-index:60;width:38px;height:38px}.menu-toggle span{display:block;height:1px;background:white;margin:8px 0;transition:.3s}.site-header.scrolled .menu-toggle span,.menu-toggle[aria-expanded="true"] span{background:var(--ink)}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.services{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.project{grid-column:span 6}.project-wide{grid-column:span 12}.about{grid-template-columns:1fr}.about-photo{min-height:600px}.contact{grid-template-columns:1fr}.site-footer{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.site-header{height:72px;padding:0 1rem}.brand{width:112px}.hero-copy{margin-left:1.25rem;width:calc(100% - 2.5rem)}.hero h1{font-size:clamp(2.8rem,14vw,4.6rem)}.hero-overlay{background:linear-gradient(90deg,rgba(24,20,17,.85),rgba(24,20,17,.32))}.services{grid-template-columns:1fr}.service-card{border-right:0!important;border-bottom:1px solid var(--line)}.section{padding:5.5rem 1.2rem}.section-head{grid-template-columns:1fr;gap:1rem}.project-grid{display:block}.project{min-height:430px;margin-bottom:1rem}.project-tall{min-height:500px}.project figcaption{display:block}.project figcaption small{display:block}.outdoor-grid{display:block}.outdoor-grid .project{height:440px;margin-bottom:1rem}.about-photo{min-height:520px}.facts div{grid-template-columns:1fr;gap:.3rem}.contact{padding:5rem 1.2rem}.contact-actions>a:not(.button){font-size:1.08rem}.site-footer{grid-template-columns:1fr;padding:4rem 1.2rem 7rem}.copyright{left:1.2rem;right:1.2rem;text-align:left}.scroll-hint{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project img{transition:none}}
