:root{--black:#0b0b0b;--cream:#f6f1e8;--gold:#d9bb77;--text:#171717;--muted:#6c675f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--text);background:var(--cream)}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{height:82px;position:sticky;top:0;z-index:50;background:#080808;color:#fff;display:flex;align-items:center;padding:0 4vw;gap:34px;border-bottom:1px solid #272727}.brand{display:flex;flex-direction:column;line-height:1;min-width:max-content}.brand-script{font-family:"Playfair Display",serif;font-style:italic;font-size:25px}.brand-sub{font-size:8px;letter-spacing:4px;margin-top:8px;color:#d9c99f}.nav{display:flex;gap:24px;margin-left:auto;font-size:14px}.nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:18px}.phone{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:3px;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-gold{background:var(--gold);color:#111}.btn-outline{border-color:#c7bda8;color:#fff;background:rgba(0,0,0,.15)}.btn-dark{background:#111;color:#fff}.menu-toggle{display:none}.hero{height:min(790px,calc(100vh - 82px));min-height:620px;position:relative;color:#fff;overflow:hidden}.hero-img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.65) 38%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.06))}.hero-content{position:relative;z-index:2;max-width:720px;padding:12vh 4vw 0}.eyebrow{font-size:12px;letter-spacing:4px;font-weight:700;color:#e5cf99}.eyebrow.dark{color:#92743a}.hero h1,.section h2,.about h2,.quote h2{font-family:"Playfair Display",serif}.hero h1{font-size:clamp(52px,6vw,88px);line-height:.98;margin:20px 0}.hero h1 em{color:var(--gold);font-weight:600}.hero-copy{font-size:19px;line-height:1.55;max-width:620px}.hero-buttons{display:flex;gap:14px;margin-top:30px}.trust-strip{position:absolute;z-index:3;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(8,8,8,.82);backdrop-filter:blur(8px);padding:24px 4vw;border-top:1px solid rgba(255,255,255,.15)}.trust-strip span,.features span{display:flex;flex-direction:column}.trust-strip small{color:#bdb8af;margin-top:4px}.section{padding:90px 4vw}.light{background:#f8f4ed}.section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.section-heading.left{text-align:left;margin-left:0}.section-heading h2,.about h2,.quote h2{font-size:clamp(36px,4vw,58px);margin:8px 0 12px}.section-heading p{color:var(--muted);line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1450px;margin:auto}.service-card{background:#fff;border:1px solid #e9e1d4}.service-card img{height:260px;object-fit:cover}.service-card>div{padding:22px}.service-card h3{margin:0 0 10px;font-size:20px}.service-card p{color:var(--muted);min-height:48px}.service-card a{font-weight:700;font-size:14px}.dark-section{background:#0b0b0b;color:#fff}.dark-section .section-heading p{color:#bcb8b0}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.gallery-item{border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden;height:300px}.gallery-item img{height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.025)}.about{display:grid;grid-template-columns:1fr 1.15fr;background:#fff}.about-image{min-height:620px}.about-image img{height:100%;object-fit:cover}.about-copy{padding:80px 7vw;align-self:center}.about-copy>p{line-height:1.7;color:var(--muted)}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:34px 0}.features small{color:var(--muted);margin-top:4px}.areas{padding-top:70px;padding-bottom:70px}.quote{background:#101010;color:#fff;padding:80px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.quote>div>p{color:#c5c0b8;line-height:1.6}.contact-links{display:flex;gap:20px;margin-top:28px}.contact-links a{border-bottom:1px solid var(--gold);padding-bottom:4px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{font-size:13px;color:#d6d1c8}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:7px;padding:14px;border:1px solid #3b3b3b;background:#181818;color:#fff;border-radius:2px;font:inherit}.quote-form .full{grid-column:1/-1}footer{background:#050505;color:#fff;padding:34px 4vw;display:flex;align-items:center;gap:35px}footer p{margin-left:auto;color:#aaa}footer>a{font-weight:700;color:var(--gold)}dialog{padding:0;border:0;background:#111;max-width:min(92vw,1100px)}dialog::backdrop{background:rgba(0,0,0,.88)}dialog img{max-height:88vh;object-fit:contain}#closeLightbox{position:absolute;right:10px;top:6px;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:32px;width:44px;height:44px;cursor:pointer}
@media(max-width:1050px){.nav,.header-actions .phone{display:none}.menu-toggle{display:block;margin-left:auto;background:none;color:#fff;border:1px solid #555;padding:8px 12px}.nav.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#0b0b0b;padding:22px 4vw;flex-direction:column}.service-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-item:last-child{grid-column:1/-1}.about{grid-template-columns:1fr}.about-image{min-height:500px}.quote{grid-template-columns:1fr}.trust-strip{grid-template-columns:1fr 1fr;gap:18px}.hero{min-height:720px}.hero-content{padding-top:8vh}}
@media(max-width:650px){.site-header{height:72px;padding:0 18px}.brand-script{font-size:21px}.header-actions{display:none}.nav.open{top:72px}.hero{height:760px;min-height:760px}.hero-img{object-position:60% center}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.76),rgba(0,0,0,.48) 55%,rgba(0,0,0,.9))}.hero-content{padding:70px 20px 0}.hero h1{font-size:50px}.hero-copy{font-size:16px}.hero-buttons{flex-direction:column;align-items:stretch;max-width:330px}.trust-strip{padding:18px 20px;font-size:13px}.trust-strip small{font-size:11px}.section{padding:65px 20px}.service-grid{grid-template-columns:1fr}.service-card img{height:240px}.gallery{grid-template-columns:1fr}.gallery-item,.gallery-item:last-child{grid-column:auto;height:360px}.about-image{min-height:360px}.about-copy{padding:60px 20px}.quote{padding:65px 20px}.quote-form{grid-template-columns:1fr}.quote-form label{grid-column:1/-1}.contact-links{flex-direction:column;align-items:flex-start}footer{padding:35px 20px;flex-direction:column;align-items:flex-start}footer p{margin-left:0}.section-heading h2,.about h2,.quote h2{font-size:38px}}
