
:root{--ink:#101418;--muted:#5d646c;--bg:#f6f2eb;--panel:#fffdf9;--brand:#1c4a38;--gold:#b08d57;--gold-soft:#e8d4b2;--line:#e4ddd1;--soft:#eceee8;--shadow:0 28px 70px rgba(16,20,24,.11)}
*{box-sizing:border-box}body{margin:0;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:-.02em;line-height:1.06}
a{color:inherit}.container{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:12px;background:#fff;padding:10px;z-index:30}.skip-link:focus{left:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(246,242,235,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;gap:20px;padding:18px 0}.brand{display:flex;gap:12px;text-decoration:none;align-items:center}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--brand),#123126);color:#fff;font-weight:800;box-shadow:var(--shadow)}
.brand small{display:block;color:var(--muted);font-size:.76rem;max-width:280px}.site-nav{display:flex;gap:18px;margin-left:auto}
.site-nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.92rem}.site-nav a[aria-current=page],.site-nav a:hover{color:var(--brand)}
.header-cta{background:var(--ink);color:#fff;text-decoration:none;padding:12px 18px;border-radius:999px;font-weight:800;white-space:nowrap}
.menu-button{display:none}
.hero-image{position:relative;padding:132px 0 96px;background:var(--ink) center/cover no-repeat;background-image:linear-gradient(120deg,rgba(16,20,24,.82),rgba(16,20,24,.48)),var(--hero-image)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(16,20,24,.28))}
.hero-grid{position:relative;z-index:1}.hero-copy-block{max-width:780px;color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800;font-size:.72rem;margin:0 0 12px}
.hero-copy-block .eyebrow{color:var(--gold-soft)}.hero-copy-block h1{font-size:clamp(2.9rem,6vw,5.6rem);margin:0 0 16px}
.hero-copy{font-size:1.14rem;color:#e8e3da;max-width:700px}.reassurance{color:#d8d2c8;font-weight:600}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:800;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;transition:.2s ease}
.primary{background:var(--gold);color:var(--ink)}.primary:hover{filter:brightness(1.05)}.secondary{border-color:#fff;color:#fff;background:transparent}.secondary.light{border-color:#fff;color:#fff}
.section{padding:78px 0}.section.accent{background:var(--soft)}.section-heading{max-width:860px;margin:0 auto 30px;text-align:center}.section-heading p{color:var(--muted)}
.trust-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.trust-bar span{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;font-weight:800;color:var(--brand);box-shadow:var(--shadow)}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}.panel,.card,.contact-form,.project-card,.project-showcase{background:var(--panel);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}
.panel,.contact-form,.project-card{padding:28px}.card,.project-showcase{overflow:hidden}.card-body{padding:24px}.card-image{height:190px;background:center/cover no-repeat}
.service-card h3,.area-card h3,.project-showcase h3{font-size:1.55rem}.card p,.project-showcase p{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.compact .card-image{height:150px}
.check-list{list-style:none;padding:0}.check-list li{position:relative;padding-left:28px;margin:10px 0}.check-list li:before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border-radius:50%;background:var(--gold)}
.media-block{margin:0;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.media-block img{display:block;width:100%;height:auto}.media-block figcaption{padding:14px 18px;background:var(--panel);color:var(--muted);font-size:.92rem}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.pill{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;text-decoration:none;font-weight:800;color:var(--brand)}
.centered-action{text-align:center;margin-top:26px}.centered{justify-content:center}.faq-grid details{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin:10px 0}
.faq-grid summary{cursor:pointer;font-weight:800}.contact-form{display:grid;gap:14px}.contact-form label{display:grid;gap:6px;font-weight:700}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;background:#fff}
.cta{background:linear-gradient(135deg,var(--brand),#123126);color:#fff;text-align:center}.cta p{color:#e7ece8}.narrow{max-width:820px}
.site-footer{background:var(--ink);color:#fff;padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.footer-grid p,.footer-grid a{color:#d5d9de}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;color:#d5d9de}
@media (max-width:900px){.menu-button{display:inline-flex;margin-left:auto}.site-nav{display:none;position:absolute;left:20px;right:20px;top:76px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;flex-direction:column}.site-nav.open{display:flex}.header-cta{display:none}.two-col,.footer-grid,.trust-bar,.card-grid{grid-template-columns:1fr}.hero-copy-block h1{font-size:2.6rem}.section{padding:56px 0}}
