:root{--ink:#111310;--bone:#f1efe9;--paper:#faf9f6;--olive:#7f8767;--gold:#c39a62;--line:rgba(17,19,16,.16);--serif:Georgia,'Times New Roman',serif;--sans:Inter,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{font:inherit}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;height:86px;padding:0 clamp(24px,4vw,68px);display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid rgba(255,255,255,.18);transition:.3s ease}.site-header.scrolled{height:72px;background:rgba(17,19,16,.94);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:41px;height:41px;border:1px solid currentColor;display:grid;place-items:center;font:24px var(--serif)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-family:var(--serif);font-size:19px;letter-spacing:.08em}.brand small{font-size:9px;letter-spacing:.22em;margin-top:6px;opacity:.72}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;letter-spacing:.04em}.main-nav a{position:relative}.main-nav a:not(.nav-contact):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:white;transition:.25s}.main-nav a:hover:after{width:100%}.nav-contact{border:1px solid rgba(255,255,255,.55);padding:10px 17px}.menu-button{display:none;background:none;border:0;color:white}.hero{height:min(900px,100vh);min-height:720px;position:relative;color:white;overflow:hidden;background:#182019}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,9,.82) 0%,rgba(7,11,9,.48) 40%,rgba(7,11,9,.08) 78%),linear-gradient(0deg,rgba(7,11,9,.34),transparent 40%)}.hero-content{position:absolute;left:clamp(24px,7vw,120px);top:50%;transform:translateY(-45%);max-width:810px}.eyebrow,.section-kicker{font-size:12px;font-weight:700;letter-spacing:.22em}.hero h1,.intro h2,.section-head h2,.approach h2,.estate h2,.contact h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:22px 0}.hero h1{font-size:clamp(48px,6.4vw,96px)}.hero-copy{max-width:610px;font-size:clamp(17px,1.4vw,21px);color:rgba(255,255,255,.77)}.hero-actions{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;font-size:13px;font-weight:700;letter-spacing:.04em;transition:.25s}.button-light{background:var(--bone);color:var(--ink)}.button-light:hover{background:white;transform:translateY(-2px)}.button-ghost{border:1px solid rgba(255,255,255,.55)}.button-ghost:hover{background:white;color:var(--ink)}.button-dark{background:var(--ink);color:white}.hero-note{position:absolute;right:clamp(24px,4vw,68px);bottom:40px;font-size:12px;letter-spacing:.12em}.hero-note span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:9px}.scroll-cue{position:absolute;left:clamp(24px,4vw,68px);bottom:30px;font-size:9px;letter-spacing:.22em;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}.scroll-cue i{height:55px;width:1px;background:rgba(255,255,255,.45)}.section-pad{padding:clamp(80px,10vw,150px) clamp(24px,7vw,120px)}.intro{background:var(--bone)}.intro-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.intro h2{font-size:clamp(42px,5.2vw,76px);margin-bottom:0}.intro-grid>div>p{font-size:18px;color:#50544d;margin:0 0 30px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{margin-left:16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.section-head h2{font-size:clamp(45px,5vw,72px);margin-bottom:0}.project-filters{display:flex;flex-wrap:wrap;gap:8px}.project-filters button{border:1px solid var(--line);background:transparent;padding:9px 14px;cursor:pointer;font-size:13px}.project-filters button.active{background:var(--ink);color:white}.project-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:520px 430px;gap:20px}.project-card{position:relative;overflow:hidden;min-height:320px;transition:.35s}.project-card.hidden{display:none}.project-one{grid-row:span 2;background:#c9c8bf}.project-two{background:#5d5143}.project-three{background:#69715c}.project-index{position:absolute;top:24px;right:26px;color:rgba(255,255,255,.8);font-family:var(--serif);font-size:18px}.project-info{position:absolute;left:30px;right:30px;bottom:28px;color:white;z-index:2}.project-info p{font-size:11px;letter-spacing:.2em;margin:0}.project-info h3{font:400 clamp(28px,3vw,45px)/1.05 var(--serif);margin:8px 0}.project-info span{font-size:13px;color:rgba(255,255,255,.72)}.line-plan{position:absolute;inset:10% 10% 25%;border:1px solid rgba(17,19,16,.25);transform:perspective(700px) rotateX(55deg) rotateZ(-18deg)}.line-plan:before,.line-plan:after,.line-plan span{content:"";position:absolute;border:1px solid rgba(17,19,16,.25)}.line-plan:before{inset:15% 8% 12% 30%}.line-plan:after{inset:40% -8% -10% 12%}.line-plan span:nth-child(1){left:15%;top:-20%;width:1px;height:130%;background:rgba(17,19,16,.2)}.line-plan span:nth-child(2){top:33%;left:-12%;width:120%;height:1px;background:rgba(17,19,16,.2)}.line-plan span:nth-child(3){right:18%;top:0;width:1px;height:100%;background:rgba(17,19,16,.2)}.project-one:after{content:"VILLA";position:absolute;font:clamp(100px,16vw,240px)/1 var(--serif);color:rgba(255,255,255,.18);right:-30px;bottom:90px}.material-swatch{position:absolute;width:62%;height:150%;left:20%;top:-20%;background:linear-gradient(90deg,#6c5b48 50%,#d2c4a9 50%);transform:rotate(28deg);box-shadow:0 0 0 30px rgba(255,255,255,.08)}.garden-rings{position:absolute;width:330px;height:330px;border:45px solid rgba(255,255,255,.10);border-radius:50%;right:-60px;top:-80px}.garden-rings:after{content:"";position:absolute;inset:30px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.concept-disclaimer{font-size:12px;color:#777b73;max-width:680px;margin:24px 0 0}.services{background:var(--ink);color:white}.section-head.light>p{max-width:340px;color:rgba(255,255,255,.58)}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 30px;gap:30px;align-items:center;padding:32px 6px;border-top:1px solid rgba(255,255,255,.15);transition:.25s}.service-row:last-child{border-bottom:1px solid rgba(255,255,255,.15)}.service-row:hover{padding-left:18px;background:rgba(255,255,255,.035)}.service-row b{font:16px var(--serif);color:var(--gold)}.service-row h3{font:400 clamp(25px,3vw,40px) var(--serif);margin:0}.service-row p{color:rgba(255,255,255,.58);margin:0;max-width:460px}.service-row>span{font-size:22px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--paper)}.approach h2,.estate h2{font-size:clamp(42px,4.7vw,68px)}.approach-copy>p:last-child,.estate-copy>p{max-width:570px;color:#62665f;font-size:18px}.steps{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:60px 1fr;padding:26px 0;border-bottom:1px solid var(--line)}.steps li>span{font:16px var(--serif);color:var(--olive)}.steps b{font:400 25px var(--serif)}.steps p{margin:6px 0 0;color:#72766f}.estate{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#d8d4c8;overflow:hidden}.estate-actions{display:flex;align-items:center;gap:28px;margin-top:35px;flex-wrap:wrap}.estate-visual{min-height:500px;position:relative}.estate-frame{position:absolute;left:5%;top:2%;width:72%;height:82%;border:1px solid rgba(17,19,16,.35);display:flex;align-items:end;padding:30px;gap:16px}.estate-frame:before{content:"";position:absolute;inset:14% -22% -14% 22%;border:1px solid rgba(17,19,16,.18)}.estate-frame span{font:110px/.75 var(--serif)}.estate-frame small{font-size:9px;letter-spacing:.18em;line-height:1.45}.estate-grid{position:absolute;right:-15%;top:18%;width:65%;height:75%;background:repeating-linear-gradient(90deg,transparent 0 38px,rgba(17,19,16,.12) 39px 40px),repeating-linear-gradient(0deg,transparent 0 38px,rgba(17,19,16,.12) 39px 40px)}.contact{display:grid;grid-template-columns:1.2fr .8fr;background:#263126;color:white;align-items:end}.contact h2{font-size:clamp(70px,9vw,140px);margin-bottom:0}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:10px}.contact-details>a:not(.button){font:clamp(24px,2.5vw,38px) var(--serif);border-bottom:1px solid rgba(255,255,255,.3)}.contact-details p{color:rgba(255,255,255,.62);margin:12px 0 16px}footer{background:#0b0d0b;color:white;min-height:180px;padding:45px clamp(24px,7vw,120px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.footer-links{display:flex;gap:28px;font-size:13px}footer>p{grid-column:1/-1;color:rgba(255,255,255,.45);font-size:12px;margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.site-header{height:72px}.menu-button{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px;align-items:end}.menu-button span{display:block;width:25px;height:1px;background:currentColor}.menu-button span:last-child{width:17px}.main-nav{position:absolute;top:72px;left:0;width:100%;padding:26px;background:var(--ink);flex-direction:column;align-items:flex-start;transform:translateY(-140%);transition:.3s;z-index:-1}.main-nav.open{transform:none}.intro-grid,.approach,.estate{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr;grid-template-rows:auto}.project-one{grid-row:auto}.project-card{height:430px}.service-row{grid-template-columns:35px 1fr 26px;gap:15px}.service-row p{grid-column:2/4}.estate-visual{min-height:400px}.section-head{align-items:flex-start;flex-direction:column}.project-filters{width:100%}}@media(max-width:560px){.hero{min-height:680px}.hero-content{top:46%}.hero h1{font-size:43px}.hero-note{display:none}.hero-copy{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column;max-width:300px}.button{width:100%}.intro h2,.section-head h2,.approach h2,.estate h2{font-size:39px}.project-card{height:360px}.service-row h3{font-size:27px}.approach{gap:55px}.contact{grid-template-columns:1fr;gap:55px}.contact h2{font-size:72px}.contact-details>a:not(.button){font-size:24px}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}footer>p{grid-column:auto}.brand strong{font-size:16px}.brand-mark{width:37px;height:37px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
