:root{--graphite:#414747;--ink:#202626;--gold:#e9b86e;--cream:#f4f1eb;--white:#fff;--muted:#727773}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.055em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%}.wrap{max-width:1390px;margin:auto;padding-left:clamp(24px,5vw,86px);padding-right:clamp(24px,5vw,86px)}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:30}.skip:focus{top:10px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.24em;color:#a2773c}.site-header{height:88px;position:relative;z-index:10;background:var(--graphite);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,86px);color:white}.identity,.footer-brand{display:flex;align-items:center;gap:13px}.monogram{height:47px;width:47px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:50%;color:var(--gold);font:800 28px Manrope;letter-spacing:-.1em;padding-right:3px}.identity-text,.footer-brand div{display:flex;flex-direction:column;gap:3px}.identity-text strong,.footer-brand strong{font:800 17px Manrope;letter-spacing:-.04em}.identity-text small,.footer-brand small{font-size:8px;letter-spacing:.18em;color:#e2c99e}.nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:700}.nav a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{background:var(--gold);padding:15px 21px;color:#282d2b;border-radius:4px}.nav-cta span{margin-left:20px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:27px}.hero{height:min(780px,calc(100svh - 88px));min-height:560px;position:relative;color:white;background:#292e2b;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('images/media-wall-oak.webp') center 54%/cover no-repeat;animation:hero-in 1.1s ease both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,19,.84),rgba(14,20,19,.44) 52%,rgba(14,20,19,.08)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%)}.hero-inner{position:relative;z-index:1;max-width:1350px;margin:auto;padding:clamp(90px,14vh,170px) clamp(24px,6vw,90px) 100px}.hero-kicker{color:var(--gold);display:flex;align-items:center;gap:12px}.dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}h1{font-size:clamp(50px,7.5vw,112px);line-height:1.03;max-width:950px;margin:25px 0}h1 em,.statement em,.reviews em,.contact em{font-style:normal;color:var(--gold)}.hero-description{max-width:500px;color:#f2f1e9;font-size:clamp(15px,1.55vw,19px);line-height:1.7}.hero-link{display:inline-flex;align-items:center;gap:50px;border-bottom:1px solid var(--gold);padding:15px 0;margin-top:24px;font-weight:700;font-size:13px}.hero-link span{color:var(--gold)}.hero-bottom{position:absolute;bottom:28px;left:clamp(24px,6vw,90px);right:clamp(24px,6vw,90px);display:flex;justify-content:space-between;z-index:2;font-size:10px;font-weight:800;letter-spacing:.17em;color:#ddd5c6}.intro{padding-top:112px;padding-bottom:115px;display:grid;grid-template-columns:1fr 2fr;gap:45px}.intro h2,.section-heading h2,.reviews h2,.contact h2{font-size:clamp(39px,5vw,72px);line-height:1.12}.intro h2 span,.section-heading h2 span{color:#aa814c}.intro>div>p{font-size:18px;line-height:1.8;color:#656a66;max-width:680px;margin-top:24px}.services{padding-bottom:115px}.section-heading{margin-bottom:34px}.section-heading h2{margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.service-card{height:340px;position:relative;overflow:hidden;background:#555}.service-card.featured{grid-column:span 2}.service-card img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.service-card:hover img{transform:scale(1.055)}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,16,16,.88),rgba(12,16,16,.03) 72%)}.service-overlay{position:absolute;z-index:1;bottom:26px;left:27px;right:20px;color:white}.service-overlay span{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:800}.service-overlay h3{font-size:clamp(23px,2.6vw,38px);line-height:1.1;margin:10px 0}.service-overlay p{font-size:13px;color:#e7e5df;line-height:1.5;max-width:400px}.statement{background:var(--graphite);color:white;text-align:center;padding:90px 20px}.statement>p:nth-child(2){font:800 clamp(45px,7vw,100px)/1.15 Manrope;letter-spacing:-.07em;margin:25px 0}.statement>span{font-size:10px;letter-spacing:.18em;color:#d6d4cd}.projects{padding-top:120px;padding-bottom:120px}.projects .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.projects .section-heading>p{max-width:350px;line-height:1.7;color:var(--muted)}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 22px}.filter-row button{background:transparent;border:1px solid #c6c5bf;border-radius:100px;padding:11px 19px;font-size:12px;font-weight:700;color:var(--ink)}.filter-row button.active,.filter-row button:hover{background:var(--graphite);border-color:var(--graphite);color:white}.gallery-stage{height:clamp(320px,57vw,690px);background:#282e2c;position:relative;overflow:hidden}.gallery-stage img{width:100%;height:100%;object-fit:contain;animation:fade .35s ease}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:21px 0;gap:16px;border-bottom:1px solid #d2d0c8}.gallery-caption{display:flex;flex-direction:column;gap:5px}.gallery-caption strong{font:800 20px Manrope}.gallery-caption span{font-size:10px;letter-spacing:.18em;color:#9a7746}.gallery-navigation{display:flex;align-items:center;gap:10px}.gallery-counter{font:700 12px Manrope;margin-right:18px;color:#8a8a83}.gallery-navigation button{width:48px;height:48px;border:1px solid #b9b9b1;border-radius:50%;background:transparent;font-size:22px;transition:.2s}.gallery-navigation button:hover{background:var(--graphite);color:white}.reviews{background:#e7e3db;padding:105px 0}.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.reviews h2{margin-top:22px}.reviews blockquote{font:500 clamp(22px,2.5vw,34px)/1.5 Manrope;letter-spacing:-.04em}.reviews blockquote footer{font:700 14px 'DM Sans';margin-top:35px}.reviews blockquote small{display:block;font-size:11px;color:#777;line-height:1.6;margin-top:8px;font-weight:400}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:120px;padding-bottom:130px}.contact h2{margin:20px 0 24px}.contact-info>p:not(.eyebrow){max-width:420px;line-height:1.8;color:#676e69}.phone-link{display:flex;flex-direction:column;gap:9px;margin-top:45px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.phone-link span{font:800 25px Manrope;letter-spacing:-.05em;color:#a8793c}.contact-info .area{font-size:12px;margin-top:30px}.contact-panel{background:white;padding:clamp(26px,4vw,52px);box-shadow:0 25px 70px rgba(0,0,0,.04)}.contact-panel h3{font-size:29px}.contact-panel>p{color:#737773;font-size:14px;margin:10px 0 26px}.contact-panel form{display:flex;flex-direction:column;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-panel label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}.contact-panel input,.contact-panel select,.contact-panel textarea{width:100%;border:1px solid #d8d8d2;border-radius:3px;background:#fbfaf7;padding:13px 14px;color:var(--ink);outline:none;font-size:14px}.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{border-color:#a77c44}.send{background:var(--graphite);color:white;border:0;border-radius:3px;padding:18px 20px;display:flex;justify-content:space-between;font-weight:700}.send:hover{background:#252b2b}.contact-panel form>small{color:#777;font-size:11px}.hidden{position:absolute;left:-9999px}.footer{background:var(--graphite);color:white;padding:40px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner>p{font-size:13px;color:#c5c9c5}.footer-inner>div:last-child{display:flex;flex-direction:column;gap:9px;text-align:right;font-size:12px}.footer-inner>div:last-child small{color:#d7c4a6}.social-rail{position:fixed;left:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:11px;z-index:15}.social{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;box-shadow:0 5px 20px #0003;color:white;transition:transform .2s}.social:hover{transform:translateX(4px)}.social svg{width:26px;height:26px}.whatsapp{background:#25d366}.facebook{background:#1877f2}@keyframes fade{from{opacity:.5;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes hero-in{from{transform:scale(1.07)}to{transform:scale(1)}}@media(max-width:900px){.nav{gap:17px}.intro{grid-template-columns:1fr;padding-top:75px;padding-bottom:75px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card.featured{grid-column:span 2}.review-layout,.contact{grid-template-columns:1fr;gap:35px}.projects .section-heading{align-items:start;flex-direction:column}.contact{padding-top:85px;padding-bottom:85px}}@media(max-width:650px){.site-header{height:72px}.monogram{width:42px;height:42px;font-size:25px}.identity-text strong{font-size:15px}.identity-text small{font-size:7px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--graphite);padding:20px 25px 28px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 20px #0003}.nav.open{display:flex}.nav a{padding:15px 8px}.nav .nav-cta{padding:15px}.hero{height:calc(90svh - 72px);min-height:530px;max-height:720px}.hero-photo{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(12,18,17,.82),rgba(12,18,17,.38)),linear-gradient(0deg,#0005,transparent)}.hero-inner{padding-top:clamp(110px,17vh,180px)}h1{font-size:clamp(47px,11vw,69px)}.hero-description{font-size:15px;max-width:340px}.hero-bottom{font-size:8px}.hero-bottom span:last-child{display:none}.service-grid{grid-template-columns:1fr}.service-card,.service-card.featured{grid-column:auto;height:350px}.services,.projects{padding-bottom:75px}.projects{padding-top:75px}.reviews{padding:75px 0}.statement{padding:75px 20px}.statement>span{font-size:8px;line-height:2}.gallery-stage{height:390px}.gallery-controls{align-items:start}.gallery-caption strong{font-size:16px}.gallery-counter{margin-right:3px}.gallery-navigation button{height:40px;width:40px}.form-row{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}.footer-inner>div:last-child{text-align:left}.social-rail{left:12px;top:auto;bottom:20px;transform:none}.social{width:45px;height:45px}.social svg{width:24px;height:24px}}

/* Keep the hero strapline clear, without any decorative strike-through. */
.hero-bottom span:first-child {text-decoration:none!important; background:none!important; border:0!important; box-shadow:none!important; position:relative; isolation:isolate;}
.hero-bottom span:first-child::before,.hero-bottom span:first-child::after {content:none!important;display:none!important;}

/* Place the promise in normal flow, clear of the underlined hero link on laptops. */
.hero-promise{display:block;clear:both;margin:26px 0 0;padding:0;border:0;box-shadow:none;text-decoration:none!important;font-size:11px;font-weight:800;letter-spacing:.14em;line-height:1.6;color:#ddd5c6;position:relative;z-index:3}
.hero-bottom{justify-content:flex-end;pointer-events:none}
@media(max-width:650px){.hero-promise{font-size:9px;margin-top:18px;letter-spacing:.1em}.hero-bottom{display:none}}

/* Hero promise is independent of link underline and remains within hero */
.hero-inner{padding-bottom:85px}
.hero-promise-fixed{display:block!important;position:static!important;transform:none!important;text-decoration:none!important;border:0!important;line-height:1.5!important;margin:24px 0 0!important;padding:0!important;opacity:1!important;visibility:visible!important;color:#f4f1eb!important;font-size:clamp(10px,1vw,13px)!important;letter-spacing:.16em!important;white-space:normal!important}
.hero-promise-fixed::before,.hero-promise-fixed::after{content:none!important;display:none!important}
.social img{width:27px;height:27px;display:block;object-fit:contain}
@media(max-width:650px){.hero-inner{padding-bottom:70px}.hero-promise-fixed{margin-top:18px!important;font-size:10px!important;letter-spacing:.1em!important}.social img{width:25px;height:25px}}
