@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');

:root { --ink:#171914; --cream:#f3f0e8; --paper:#fbfaf6; --gold:#c8a76b; --muted:#77786f; --line:rgba(23,25,20,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; font-weight:300; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Playfair Display",Georgia,serif; font-weight:500; letter-spacing:-.035em; }
.site-header { height:86px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; background:rgba(18,20,17,.92); color:#fff; position:absolute; top:0; z-index:10; width:100%; border-bottom:1px solid rgba(255,255,255,.14); }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:40px; height:40px; border:1px solid var(--gold); display:grid; place-items:center; font-family:"Playfair Display",serif; color:var(--gold); font-size:18px; }
.brand-copy { letter-spacing:.22em; font-size:13px; font-weight:600; }
.brand-copy small { display:block; font-size:8px; color:#aaa; letter-spacing:.17em; margin-top:4px; }
nav { display:flex; gap:34px; font-size:13px; }
nav a { color:#d7d7d3; transition:.2s; } nav a:hover { color:var(--gold); }
.header-call { border-left:1px solid rgba(255,255,255,.18); padding-left:28px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.header-call span { display:block; color:var(--gold); font-size:15px; letter-spacing:.05em; margin-top:4px; }
.hero { min-height:770px; height:100svh; color:#fff; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero-image,.hero-overlay { position:absolute; inset:0; }
.hero-image { background:url('/images/hero-blackout.webp') center 42%/cover; transform:scale(1.02); animation:reveal 1.5s ease-out both; }
.hero-overlay { background:linear-gradient(90deg,rgba(10,12,10,.88) 0%,rgba(10,12,10,.62) 45%,rgba(10,12,10,.12) 82%),linear-gradient(0deg,rgba(10,12,10,.4),transparent 55%); }
.hero-content { position:relative; z-index:2; padding:90px 5vw 0; max-width:900px; }
.eyebrow,.section-label { font-size:11px; letter-spacing:.22em; font-weight:600; color:#7a786d; }
.eyebrow { color:#e5dfd1; display:flex; align-items:center; gap:12px; }
.eyebrow span { width:34px; height:1px; background:var(--gold); }
.hero h1 { font-size:clamp(54px,6.2vw,96px); line-height:.99; margin:28px 0 30px; }
.hero h1 em { color:#d9c49b; font-weight:500; }
.hero-lead { max-width:630px; color:#d2d2ce; line-height:1.75; font-size:17px; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:40px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-height:58px; padding:0 24px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:600; transition:.25s; }
.button-gold { background:var(--gold); color:#171914; }.button-gold:hover { background:#ddc18c; transform:translateY(-2px); }
.text-link { border-bottom:1px solid rgba(255,255,255,.45); padding:15px 0; font-size:13px; }
.text-link span,.line-link span { margin-left:22px; color:var(--gold); }
.hero-note { font-size:11px; color:#aaa; margin:18px 0 0 3px; }
.hero-index { position:absolute; right:5vw; bottom:48px; z-index:2; display:flex; align-items:center; gap:16px; font-size:11px; }.hero-index i{width:80px;height:1px;background:rgba(255,255,255,.5)}
.trust-strip { min-height:125px; background:#fff; padding:25px 5vw; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; border-bottom:1px solid var(--line); }
.trust-strip>div { border-right:1px solid var(--line); padding:0 28px; }.trust-strip>div:first-child{padding-left:0}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font-family:"Playfair Display",serif;font-size:17px;margin-bottom:7px}.trust-strip span{font-size:11px;color:var(--muted)}
.trust-strip>a { padding-left:38px; }.trust-strip>a b{font-size:12px;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:7px}.trust-strip>a span{color:#9d7c43;font-size:16px}
.section-pad { padding:120px 8vw; }
.intro-grid,.proof-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:10vw; margin-top:25px; }
.intro h2,.projects h2,.process h2,.proof h2,.faq h2 { font-size:clamp(42px,4.3vw,70px); line-height:1.06; }
.intro-grid>div p { font-size:16px; line-height:1.85; color:#606159; }
.line-link { display:inline-block; margin-top:22px; border-bottom:1px solid var(--ink); padding:0 0 10px; text-transform:uppercase; font-size:11px; letter-spacing:.12em; font-weight:600; }
.dark { background:var(--ink); color:#f5f2e9; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:80px; margin-bottom:65px; }.section-head h2{font-size:clamp(45px,5vw,76px);line-height:1.02;margin:18px 0 0}.section-head>p{max-width:440px;color:#a6a79f;line-height:1.75}.light{color:#bca87f}
.service-list { border-top:1px solid rgba(255,255,255,.14); }
.service-list article { display:grid; grid-template-columns:80px 1fr 40px; gap:18px; align-items:start; padding:36px 12px; border-bottom:1px solid rgba(255,255,255,.14); transition:.25s; }.service-list article:hover{background:rgba(255,255,255,.035);padding-left:24px}.service-list article>span{color:var(--gold);font-size:11px}.service-list h3{font-family:"Playfair Display",serif;font-size:28px;font-weight:500;margin-bottom:12px}.service-list p{color:#a7a79f;max-width:660px;line-height:1.7;margin:0}.service-list b{color:var(--gold);font-size:20px;font-weight:300}
.projects-head>p{color:var(--muted)}
.project-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:28px; }.project.featured{grid-row:span 2}.project-image{height:330px;background-position:center;background-size:cover;filter:saturate(.75);transition:.5s}.featured .project-image{height:760px}.project:hover .project-image{filter:saturate(1);transform:scale(1.01)}.project-caption{display:flex;gap:20px;padding:18px 0}.project-caption>span{color:#9c855a;font-size:11px;padding-top:6px}.project-caption h3{font-family:"Playfair Display",serif;font-weight:500;font-size:22px;margin-bottom:4px}.project-caption p{font-size:11px;color:var(--muted);margin:0}.center{text-align:center;margin-top:54px}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#303229;transform:translateY(-2px)}
.process { background:var(--cream); }.process-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;margin-top:28px}.process-grid>div>p{color:var(--muted);line-height:1.7;max-width:400px}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:55px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:25px 0}.process li>span{font-size:11px;color:#9c855a}.process h3{font-family:"Playfair Display",serif;font-size:23px;font-weight:500;margin-bottom:8px}.process li p{color:var(--muted);line-height:1.65;margin:0}
.about { padding:0; display:grid; grid-template-columns:1fr 1fr; background:#22241e;color:#fff}.about-photo{min-height:780px;background:url('/images/home-terrace.webp') center 42%/cover}.about-copy{padding:100px 8vw}.about-copy h2{font-size:clamp(40px,4vw,62px);line-height:1.08;margin:25px 0 35px}.about-copy>p:not(.section-label){color:#b4b5ad;line-height:1.8}.about blockquote{font-family:"Playfair Display",serif;font-style:italic;color:#d4bd91;border-left:1px solid var(--gold);padding:10px 0 10px 24px;margin:35px 0;font-size:19px}.light-link{border-color:#ddd}
.proof-grid{margin-top:35px}.proof-cards{display:grid;grid-template-columns:1fr 1fr}.proof-cards article{padding:26px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-cards span{font-size:11px;color:#a08453}.proof-cards h3{font-family:"Playfair Display",serif;font-size:21px;font-weight:500;margin:28px 0 10px}.proof-cards p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;background:#fff}.faq>div:first-child>p:not(.section-label){color:var(--muted);line-height:1.7}.faq>div:first-child>a{display:inline-block;color:#9b7b42;border-bottom:1px solid #9b7b42;padding-bottom:8px;font-size:20px;margin-top:15px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-family:"Playfair Display",serif;font-size:20px}summary::-webkit-details-marker{display:none}summary span{color:#a2834d}details p{color:var(--muted);line-height:1.7;margin:18px 45px 0 0;font-size:14px}
.final-cta{min-height:650px;position:relative;display:grid;place-items:center;text-align:center;color:white;padding:80px 20px}.final-bg,.final-overlay{position:absolute;inset:0}.final-bg{background:url('/images/commercial-terrace.webp') center/cover}.final-overlay{background:rgba(13,15,12,.78)}.final-content{position:relative;z-index:1;max-width:850px}.final-content h2{font-size:clamp(47px,5.5vw,82px);line-height:1.04;margin:25px 0}.final-content>p:not(.section-label){color:#d2d2cd;font-size:17px;margin-bottom:35px}.final-content small{display:block;color:#aaa;margin-top:18px}
footer{background:#11130f;color:#ddd;padding:70px 6vw 30px;display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:70px}footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:12px;font-size:12px}footer>div>p{font-size:10px;color:#777;letter-spacing:.18em;margin-bottom:12px}.footer-brand{display:flex;gap:17px}.footer-brand b{letter-spacing:.22em}.footer-brand p{color:#777;line-height:1.6;margin-top:13px;font-size:12px}.footer-phone{color:var(--gold);font-family:"Playfair Display",serif;font-size:23px}.footer-bottom{grid-column:1/-1;border-top:1px solid #292b25;padding-top:25px;display:flex;justify-content:space-between;color:#666;font-size:11px}.mobile-call{display:none}
@keyframes reveal{from{opacity:.2;transform:scale(1.08)}to{opacity:1;transform:scale(1.02)}}
@media(max-width:900px){
  .site-header{height:70px;padding:0 20px}.site-header nav,.header-call{display:none}.hero{min-height:720px}.hero-content{padding:80px 22px 0}.hero-overlay{background:linear-gradient(90deg,rgba(10,12,10,.88),rgba(10,12,10,.35)),linear-gradient(0deg,rgba(10,12,10,.45),transparent)}.hero h1{font-size:53px}.hero-lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.hero-index{display:none}.trust-strip{grid-template-columns:1fr 1fr;padding:20px}.trust-strip>div{padding:18px 12px;border-bottom:1px solid var(--line)}.trust-strip>a{grid-column:1/-1;padding:22px 12px}.section-pad{padding:80px 22px}.intro-grid,.proof-grid,.process-grid,.faq{grid-template-columns:1fr;gap:45px}.section-head{display:block;margin-bottom:40px}.section-head>p{margin-top:25px}.service-list article{grid-template-columns:42px 1fr 18px;padding:28px 0}.service-list h3{font-size:23px}.project-grid{grid-template-columns:1fr}.featured .project-image,.project-image{height:430px}.about{grid-template-columns:1fr}.about-photo{min-height:480px}.about-copy{padding:75px 22px}.proof-cards{grid-template-columns:1fr}.proof-cards article{padding-left:18px}.faq{padding-bottom:100px}.final-cta{min-height:650px}.final-content h2{font-size:47px}footer{grid-template-columns:1fr;gap:38px;padding-bottom:100px}.footer-bottom{flex-direction:column;gap:14px}.mobile-call{position:fixed;z-index:50;display:flex;bottom:12px;left:12px;right:12px;height:56px;align-items:center;justify-content:center;gap:10px;background:var(--gold);color:#171914;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.28)}
}
@media(max-width:520px){.hero h1{font-size:46px}.hero{height:auto;min-height:760px}.intro h2,.projects h2,.process h2,.proof h2,.faq h2{font-size:42px}.project-image,.featured .project-image{height:360px}.trust-strip{grid-template-columns:1fr}.trust-strip>a{grid-column:auto}.about-photo{min-height:400px}.button{width:100%;}.hero-actions{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
