
:root{
  --bg:#faf8f1; --fg:#2a2824; --card:#f4efe5; --muted:#746f65; --accent:#e8d8bd; --gold:#ba8d37; --charcoal:#36332e; --border:#dfd5c3; --white:#fffaf0;
  --shadow:0 30px 80px -34px rgba(42,40,36,.35); --soft:0 18px 55px -28px rgba(42,40,36,.3);
  --display:"Fraunces", Georgia, serif; --sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,h4,.display{font-family:var(--display);font-weight:400;letter-spacing:-.025em;margin:0}p{margin:0}.wrap{width:min(100% - 32px,1180px);margin-inline:auto}.eyebrow{font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:999px;padding:.95rem 1.35rem;font-size:.92rem;transition:.25s ease;border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn-dark{background:var(--charcoal);color:var(--white)}.btn-dark:hover{background:#25231f;transform:translateY(-1px)}.btn-light{background:rgba(255,250,240,.55);border-color:var(--border)}.btn-light:hover{border-color:var(--charcoal);transform:translateY(-1px)}.btn-outline{border-color:rgba(54,51,46,.28)}.section{padding:7rem 0}.section-card{background:var(--card)}.grid{display:grid}.gold{color:var(--gold)}.muted{color:var(--muted)}.lead{font-size:1.09rem;line-height:1.75;color:rgba(42,40,36,.86)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:.35s ease}.site-header.scrolled{background:rgba(250,248,241,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,213,195,.8)}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.8rem}.mark{height:42px;width:42px;border-radius:999px;background:var(--charcoal);color:var(--white);display:grid;place-items:center;font-family:var(--display);font-size:1.15rem}.brand-title{font-family:var(--display);font-size:1.1rem;line-height:1}.brand-sub{display:block;margin-top:.18rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;align-items:center;gap:1.75rem}.nav a{font-size:.91rem;color:rgba(42,40,36,.74);transition:.2s}.nav a:hover,.nav a.active{color:var(--fg)}.header-actions{display:flex;align-items:center;gap:.65rem}.menu-btn{display:none;border:1px solid var(--border);background:transparent;border-radius:999px;height:42px;width:42px;color:var(--fg)}.mobile-panel{display:none;border-top:1px solid var(--border);background:var(--bg);padding:1rem}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:.88rem;border-radius:.65rem}.mobile-panel a:hover{background:var(--card)}
.hero{position:relative;overflow:hidden;padding-top:9.5rem}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.8rem;align-items:center;padding-bottom:5.5rem}.hero h1{font-size:clamp(3.2rem,7vw,5.9rem);line-height:1.02;text-wrap:balance}.hero-copy{margin-top:1.55rem;max-width:580px;font-size:1.08rem;line-height:1.75;color:var(--muted)}.hero-actions{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.8rem}.rating{margin-top:2.3rem;display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.93rem}.stars{letter-spacing:.08em;color:var(--gold)}.hero-media{position:relative}.hero-img{aspect-ratio:4/5;border-radius:2rem;overflow:hidden;box-shadow:var(--shadow);background:var(--card)}.hero-img img{height:100%;width:100%;object-fit:cover}.glass-card{position:absolute;left:-2rem;bottom:-1.7rem;width:285px;border:1px solid rgba(223,213,195,.78);background:rgba(250,248,241,.82);backdrop-filter:blur(18px);box-shadow:var(--soft);border-radius:1.2rem;padding:1.25rem}.location-pill{position:absolute;right:1rem;top:-1rem;border:1px solid rgba(223,213,195,.78);background:rgba(250,248,241,.82);backdrop-filter:blur(18px);box-shadow:var(--soft);border-radius:999px;padding:.62rem 1rem;font-size:.78rem;color:var(--fg)}.trust-bar{border-block:1px solid var(--border);background:rgba(244,239,229,.72);padding:1.05rem}.trust-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem 2.4rem;color:var(--muted);font-size:.79rem;letter-spacing:.18em;text-transform:uppercase}.trust-list span::before{content:"✦";color:var(--gold);margin-right:.45rem}.split{display:grid;grid-template-columns:5fr 7fr;gap:4.5rem}.split h2,.section-title{font-size:clamp(2.4rem,4vw,3.55rem);line-height:1.08;text-wrap:balance}.tick-grid{margin:2.25rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.8rem}.tick-grid li{font-size:.94rem;color:rgba(42,40,36,.82);display:flex;gap:.7rem;align-items:center}.tick-grid li::before{content:"✓";display:grid;place-items:center;height:22px;width:22px;border:1px solid rgba(54,51,46,.25);border-radius:999px;color:var(--charcoal);font-size:.72rem;flex:0 0 auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem}.services-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--border);background:var(--border);border-radius:1.2rem;overflow:hidden}.service-card{position:relative;background:var(--bg);padding:2rem;min-height:195px;transition:.25s}.service-card:hover{background:rgba(232,216,189,.3)}.service-card small{color:var(--muted)}.service-card h3{font-size:1.55rem;line-height:1.1;margin-top:1.35rem}.service-card p{margin-top:.8rem;color:var(--muted);font-size:.92rem;line-height:1.65}.project-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.project-card{position:relative;overflow:hidden;border-radius:1.2rem;background:var(--card);min-height:260px}.project-card.tall{grid-column:span 7;min-height:590px}.project-card.wide{grid-column:span 5;min-height:285px}.project-card.small{grid-column:span 3;min-height:270px}.project-card.tiny{grid-column:span 2;min-height:270px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.75s}.project-card:hover img{transform:scale(1.055)}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(54,51,46,.84),rgba(54,51,46,.12),transparent)}.project-cap{position:absolute;inset:auto 0 0;z-index:1;padding:1.5rem;color:var(--white)}.project-cap small{letter-spacing:.2em;text-transform:uppercase;color:rgba(255,250,240,.72);font-size:.65rem}.project-cap strong{display:block;margin-top:.35rem;font-family:var(--display);font-weight:400;font-size:1.3rem}.dark{background:var(--charcoal);color:var(--white)}.dark .eyebrow,.dark .muted{color:rgba(255,250,240,.64)}.dark .review-card{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.12)}.reviews-grid{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.review-card{border:1px solid var(--border);background:var(--card);padding:2rem;border-radius:1.2rem}.review-card blockquote{font-family:var(--display);font-size:1.35rem;line-height:1.25;margin:1.2rem 0 0}.review-card figcaption{margin-top:1.25rem;color:var(--muted);font-size:.9rem}.reason-list{margin:0;padding:0;list-style:none;border-block:1px solid var(--border)}.reason-list li{display:flex;align-items:baseline;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--border)}.reason-list li:last-child{border-bottom:0}.reason-list small{font-family:var(--display);font-size:1.2rem;color:var(--muted)}.reason-list span{font-family:var(--display);font-size:1.55rem}.cta{padding-bottom:7rem}.cta-panel{background:var(--accent);border-radius:2rem;padding:4rem;display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:end}.cta-panel h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.04}.page-hero{padding-top:10rem;padding-bottom:2rem}.page-hero h1{font-size:clamp(3.2rem,7vw,5.2rem);line-height:1.03;max-width:850px}.page-hero p{margin-top:1.35rem;max-width:650px;color:var(--muted);font-size:1.06rem;line-height:1.7}.about-grid,.contact-grid{display:grid;grid-template-columns:7fr 5fr;gap:4rem;align-items:start}.about-img{aspect-ratio:4/5;overflow:hidden;border-radius:1.2rem;box-shadow:var(--shadow)}.about-img img{width:100%;height:100%;object-fit:cover}.masonry{columns:3 280px;column-gap:1.2rem;margin-top:3rem}.masonry figure{break-inside:avoid;margin:0 0 1.2rem;position:relative;border-radius:1.2rem;overflow:hidden;background:var(--card)}.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.25rem;color:var(--white);background:linear-gradient(to top,rgba(54,51,46,.86),transparent);opacity:0;transform:translateY(12px);transition:.25s}.masonry figure:hover figcaption{opacity:1;transform:none}.contact-card{display:flex;align-items:center;gap:1rem;border:1px solid var(--border);background:var(--card);padding:1.2rem;border-radius:1.1rem;margin-top:1rem}.contact-icon{height:46px;width:46px;display:grid;place-items:center;border-radius:999px;background:var(--charcoal);color:var(--white);flex:0 0 auto}.contact-card:nth-child(3) .contact-icon{background:var(--gold);color:var(--charcoal)}.contact-card small{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.contact-card strong{display:block;margin-top:.2rem;font-family:var(--display);font-weight:400;font-size:1.25rem}.form{border:1px solid var(--border);background:var(--card);border-radius:1.6rem;padding:2.3rem;box-shadow:var(--soft)}.form h2{font-size:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:2rem}.field.full{grid-column:1/-1}.field label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{margin-top:.55rem;width:100%;border:1px solid var(--border);background:var(--bg);border-radius:.9rem;padding:.9rem 1rem;outline:none;color:var(--fg)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--charcoal)}.success{display:none;padding:3.2rem 1rem;text-align:center}.success.show{display:block}.success h2{font-size:2.1rem}.mobile-call{position:fixed;inset:auto 0 0;z-index:45;display:none;border-top:1px solid var(--border);background:rgba(250,248,241,.96);backdrop-filter:blur(14px)}.mobile-call a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem}.mobile-call a:first-child{background:var(--charcoal);color:var(--white)}.site-footer{margin-top:6rem;border-top:1px solid var(--border);background:var(--card)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding:4rem 0}.footer-links{display:grid;gap:.75rem}.footer-links h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}.footer-links a{font-size:.92rem;color:rgba(42,40,36,.76)}.footer-links a:hover{color:var(--fg)}.footer-bottom{border-top:1px solid var(--border);padding:1.25rem 0;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.78rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:translateY(0)}
@media (max-width:980px){.nav,.header-actions{display:none}.menu-btn{display:grid;place-items:center}.header-inner{height:74px}.hero-grid,.split,.about-grid,.contact-grid,.cta-panel{grid-template-columns:1fr}.hero-grid{gap:3rem}.hero{padding-top:8rem}.glass-card,.location-pill{display:none}.services-grid{grid-template-columns:1fr 1fr}.reviews-grid{grid-template-columns:1fr 1fr}.project-card.tall,.project-card.wide,.project-card.small,.project-card.tiny{grid-column:span 12;min-height:360px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.mobile-call{display:grid;grid-template-columns:1fr 1fr}.site-footer{margin-bottom:3.2rem}}
@media (max-width:640px){.wrap{width:min(100% - 28px,1180px)}.section{padding:5rem 0}.hero h1,.page-hero h1{font-size:3rem}.hero-copy,.lead{font-size:1rem}.hero-actions{display:grid}.btn{width:100%}.trust-list{gap:.7rem 1.2rem;justify-content:flex-start}.tick-grid,.services-grid,.reviews-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.hero-img{border-radius:1.4rem}.cta-panel{padding:2rem;border-radius:1.4rem}.page-hero{padding-top:8.5rem}.review-card blockquote{font-size:1.15rem}.footer-bottom{flex-direction:column}.form{padding:1.4rem}.masonry figcaption{opacity:1;transform:none}.brand-title{font-size:1rem}.brand-sub{font-size:.54rem}.mark{height:38px;width:38px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
