:root{--ink:#231f1b;--brown:#6f5646;--taupe:#ad8a6b;--sand:#d9c9b8;--cream:#f4efe8;--paper:#fbfaf7;--line:rgba(35,31,27,.16);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}.site-header{height:88px;padding:0 clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,250,247,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;font-family:var(--serif);font-size:17px}.brand-name{font-size:12px;letter-spacing:.2em;font-weight:600}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-header nav a:not(.nav-cta){position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--ink);transition:right .25s}.site-header nav a:hover:after{right:0}.nav-cta{padding:12px 18px;background:var(--ink);color:#fff}.menu-button{display:none;border:0;background:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:clamp(40px,6vw,100px);padding:clamp(60px,8vw,120px) clamp(24px,5vw,72px);align-items:center;overflow:hidden}.hero-copy{max-width:690px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:var(--brown);margin:0 0 22px}.hero h1,.section h2,.statement-text{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.035em}.hero h1{font-size:clamp(54px,6.8vw,102px);margin:0}.hero h1 em{font-weight:500;color:var(--taupe)}.hero-lede{max-width:570px;font-size:18px;color:#5c554e;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 22px;border:0;cursor:pointer}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--brown)}.text-link{border-bottom:1px solid var(--ink);padding:8px 0}.hero-visual{position:relative;height:min(72vh,760px);min-height:560px}.poster-crop{position:absolute;inset:0;overflow:hidden;background:#ddd}.poster-crop img{position:absolute;width:171%;max-width:none;left:-2.3%;top:-42%;height:auto}.hero-note{position:absolute;left:-36px;bottom:38px;background:var(--paper);padding:20px 28px;display:grid;box-shadow:0 14px 35px rgba(42,35,29,.08)}.hero-note span{font-size:12px;text-transform:uppercase;letter-spacing:.14em}.hero-note strong{font-family:var(--serif);font-size:24px;font-weight:500}.statement{padding:110px clamp(24px,8vw,130px);background:var(--ink);color:#fff;text-align:center}.statement .eyebrow{color:var(--sand)}.statement-text{font-size:clamp(34px,5vw,68px);max-width:1100px;margin:0 auto}.statement-detail{margin:32px auto 0;color:#cfc7bf;letter-spacing:.04em}.section{padding:clamp(90px,10vw,150px) clamp(24px,5vw,72px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:55px}.section-heading h2,.process h2,.about h2,.contact h2{font-size:clamp(42px,5vw,74px);margin:0}.section-heading>p{max-width:460px;color:#625a53}.project-tabs{display:flex;gap:8px;margin-bottom:18px;overflow:auto}.project-tab{border:1px solid var(--line);background:transparent;padding:11px 17px;color:#6b625a;cursor:pointer;white-space:nowrap}.project-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.compare-card{height:min(65vw,720px);min-height:460px;position:relative;overflow:hidden;background:var(--cream);--split:48%}.compare-before,.compare-after{position:absolute;inset:0}.compare-before{background:#e6ddd2}.compare-after{clip-path:inset(0 0 0 var(--split))}.photo-placeholder{height:100%;display:grid;place-content:center;text-align:center;color:#8a7e72}.photo-placeholder span{font-family:var(--serif);font-size:clamp(32px,5vw,64px)}.photo-placeholder small{text-transform:uppercase;letter-spacing:.18em;margin-top:6px}.after-photo,.compare-crop{height:100%}.compare-crop img{width:171%;left:-2.3%;top:-42%}.image-label{position:absolute;top:24px;z-index:5;background:rgba(251,250,247,.9);padding:7px 12px;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.compare-before .image-label{left:24px}.compare-after .image-label{right:24px}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:10}.compare-handle{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.compare-handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);box-shadow:0 6px 20px rgba(0,0,0,.16)}.project-caption{display:grid;grid-template-columns:1fr 3fr 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.project-caption p{margin:0}.project-count,.project-location{font-size:13px;color:#766d65}.project-location{text-align:right}.project-name{font-family:var(--serif);font-size:20px}.services{background:var(--cream)}.services .section-heading h2{max-width:900px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:clamp(30px,4vw,58px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:360px;display:flex;flex-direction:column}.service-card h3{font-family:var(--serif);font-size:36px;font-weight:500;margin:24px 0 14px}.service-card p,.service-card li{color:#625a53}.service-card ul{padding-left:18px}.service-card a{margin-top:auto;width:max-content;border-bottom:1px solid}.service-number{font-size:12px;color:var(--brown);letter-spacing:.12em}.service-featured{background:var(--brown);color:#fff}.service-featured p,.service-featured li,.service-featured .service-number{color:#eadfd5}.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,10vw,150px)}.process-intro{position:sticky;top:150px;align-self:start}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:32px 0;border-top:1px solid var(--line)}.process-list li:last-child{border-bottom:1px solid var(--line)}.process-list span{color:var(--taupe);font-size:13px}.process-list h3{font-family:var(--serif);font-weight:500;font-size:28px;margin:0 0 8px}.process-list p{margin:0;color:#625a53}.about{background:var(--sand);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);align-items:center}.about-mark{width:min(36vw,440px);aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:clamp(62px,10vw,150px)}.about-copy{max-width:720px}.about-copy p:not(.eyebrow){font-size:18px;max-width:650px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,10vw,150px)}.contact-copy>p{max-width:600px;color:#625a53}.contact-direct{display:flex;flex-direction:column;gap:6px;margin-top:34px}.contact-direct a{width:max-content;border-bottom:1px solid var(--line)}.inquiry-form{display:grid;gap:18px}.inquiry-form label{display:grid;gap:7px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;border:0;border-bottom:1px solid #8f857c;background:transparent;padding:12px 2px;border-radius:0;outline:none}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--ink)}.inquiry-form textarea{resize:vertical}.inquiry-form .button{width:max-content;margin-top:8px}footer{background:var(--ink);color:#fff;padding:60px clamp(24px,5vw,72px);text-align:center}.footer-brand{color:#fff}.footer-brand .brand-mark{border-color:#fff}.social-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;color:#c8beb5;font-size:14px}.copyright{font-size:12px;color:#988e86;margin-top:30px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media (max-width:900px){.site-header{height:72px}.site-header nav{position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:30px;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{min-height:520px}.hero-note{left:16px}.section-heading,.process,.about,.contact{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.process-intro{position:static}.about-mark{width:min(76vw,360px)}.service-card{min-height:330px}}@media (max-width:640px){.brand-mark{width:44px;height:44px}.brand-name{font-size:10px}.hero{min-height:auto}.hero h1{font-size:50px}.hero-visual{min-height:430px;height:68vh}.hero-note{left:12px;right:12px;bottom:12px}.service-grid{grid-template-columns:1fr}.compare-card{min-height:420px;height:70vh}.project-caption{grid-template-columns:1fr auto}.project-name{grid-column:1/-1;grid-row:1}.project-location{grid-column:2;text-align:right}.project-count{grid-column:1}.section{padding-left:20px;padding-right:20px}}
