:root{
  --ink:#1f252b;
  --muted:#67727e;
  --paper:#fffdf8;
  --warm:#f4efe5;
  --card:#ffffff;
  --line:#e6ddce;
  --gold:#c79a3e;
  --gold-dark:#9d7227;
  --charcoal:#262a2d;
  --shadow:0 18px 50px rgba(32,37,43,.12);
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:0 auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,253,248,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.2px}.brand img{width:52px;height:52px;border-radius:14px;object-fit:cover;box-shadow:0 8px 22px rgba(0,0,0,.1)}nav{display:flex;gap:28px;font-size:14px;color:var(--muted);font-weight:700}nav a:hover{color:var(--gold-dark)}.small-cta{padding:12px 18px;background:var(--charcoal);color:white;border-radius:999px;font-size:14px;font-weight:800}.hero{position:relative;overflow:hidden;padding:92px 0 78px;background:linear-gradient(135deg,#fffdf8 0%,#f8f0df 52%,#efe2cb 100%)}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(199,154,62,.22),transparent 28%),radial-gradient(circle at 82% 8%,rgba(31,37,43,.12),transparent 24%),linear-gradient(120deg,rgba(255,255,255,.55),rgba(255,255,255,.15));pointer-events:none}.hero:after{content:"";position:absolute;right:-120px;top:-80px;width:620px;height:620px;border-radius:50%;background:rgba(255,255,255,.38);border:1px solid rgba(199,154,62,.24)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .88fr;gap:58px;align-items:center}.tag,.mini,.section-title span{display:inline-flex;align-items:center;gap:10px;color:var(--gold-dark);font-weight:900;text-transform:uppercase;letter-spacing:1.4px;font-size:12px}.tag:before,.mini:before,.section-title span:before{content:"";width:34px;height:2px;background:var(--gold)}h1{font-size:clamp(44px,6vw,74px);line-height:.98;letter-spacing:-2.6px;margin:16px 0 22px;color:#15191d}.hero-copy p{font-size:19px;color:var(--muted);max-width:720px;margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:900;font-size:14px;border:1px solid transparent;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--gold),#e0bf72);color:#111;box-shadow:0 14px 32px rgba(157,114,39,.22)}.btn.secondary{background:white;border-color:var(--line);color:var(--charcoal)}.hero-card{position:relative;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);border:10px solid rgba(255,255,255,.72);transform:rotate(1deg)}.hero-card img{width:100%;height:560px;object-fit:cover}.hero-card-caption{position:absolute;left:22px;right:22px;bottom:22px;padding:20px;border-radius:22px;background:rgba(255,253,248,.9);backdrop-filter:blur(12px);box-shadow:0 14px 36px rgba(0,0,0,.14)}.hero-card-caption span{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;color:var(--gold-dark);font-weight:900}.hero-card-caption strong{display:block;font-size:20px;margin-top:4px}.section{padding:86px 0}.section-title{margin-bottom:34px;max-width:780px}.section-title.wide{max-width:980px}.section-title h2,.estimate-card h2,.area-grid h2,.contact-grid h2{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-1.5px;margin-top:12px}.section-title p{color:var(--muted);font-size:17px;margin-top:12px}.services-section{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.services-grid article,.service-card{appearance:none;text-align:left;font-family:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;min-height:190px;box-shadow:0 10px 30px rgba(32,37,43,.06);cursor:pointer;transition:.18s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(32,37,43,.12);border-color:rgba(199,154,62,.55)}.service-card span{display:inline-flex;margin-top:16px;color:var(--gold-dark);font-weight:900;font-size:13px}.services-grid h3{font-size:19px;margin-bottom:10px}.services-grid p{font-size:14px;color:var(--muted)}.portfolio-section{background:linear-gradient(180deg,var(--warm),#fffdf8)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{appearance:none;text-align:left;border:0;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 16px 40px rgba(32,37,43,.09);cursor:pointer;border:1px solid rgba(230,221,206,.9);transition:.18s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 22px 56px rgba(32,37,43,.15)}.project-card img{width:100%;height:270px;object-fit:cover;background:#eee}.project-info{padding:22px}.project-info small{display:block;color:var(--gold-dark);font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:11px;margin-bottom:8px}.project-info h3{font-size:21px;margin-bottom:8px}.project-info p{color:var(--muted);font-size:14px}.estimate-section{background:#fff}.estimate-card{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;background:linear-gradient(135deg,#262a2d,#17191b);color:white;border-radius:34px;padding:44px;box-shadow:var(--shadow);position:relative;overflow:hidden}.estimate-card:after{content:"";position:absolute;right:-90px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:rgba(199,154,62,.22)}.estimate-card>*{position:relative;z-index:1}.estimate-card p{color:#d8d1c5;margin-top:18px;font-size:17px}.estimate-list{display:grid;gap:12px}.estimate-list div{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px}.estimate-list strong{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#161616}.area-section{background:var(--paper)}.area-grid{display:grid;grid-template-columns:1fr .85fr;gap:40px;align-items:center}.trust-box{background:white;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 12px 34px rgba(32,37,43,.08)}.trust-box h3{font-size:24px;margin-bottom:16px}.trust-box ul{list-style:none;display:grid;gap:12px;color:var(--muted)}.trust-box li{position:relative;padding-left:28px}.trust-box li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gold-dark);font-weight:900}.contact-section{background:linear-gradient(135deg,#f7eddb,#fffdf8)}.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:36px;align-items:center}.contact-grid p{color:var(--muted);margin:16px 0 26px;font-size:17px}.contact-box{background:white;border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:0 14px 42px rgba(32,37,43,.09);display:grid;gap:10px}.contact-box a,.contact-box span{display:block;padding:18px;border-radius:18px;background:#fbf8f0;color:#222;font-weight:800;overflow-wrap:anywhere}.contact-box small{display:block;color:var(--gold-dark);text-transform:uppercase;letter-spacing:1px;font-size:11px;margin-bottom:4px}footer{padding:34px 0;background:#fff;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.modal{display:none;position:fixed;inset:0;z-index:100}.modal.active{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(20,23,26,.72);backdrop-filter:blur(6px)}.modal-panel{position:relative;z-index:1;width:min(1080px,92%);max-height:88vh;overflow:auto;margin:6vh auto;background:#fff;border-radius:30px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:28px}.modal-close{position:sticky;top:0;margin-left:auto;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#262a2d;color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2}.modal-head{max-width:780px;margin-bottom:20px}.modal-head span{color:var(--gold-dark);font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:12px}.modal-head h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:8px 0}.modal-head p{color:var(--muted)}.modal-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.modal-photo{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fbf8f0}.modal-photo img{width:100%;height:420px;object-fit:cover}.modal-photo span{display:block;padding:12px 16px;font-weight:900;color:var(--gold-dark);font-size:13px;text-transform:uppercase;letter-spacing:1px}@media (max-width:960px){nav{display:none}.hero{padding:62px 0}.hero-grid,.estimate-card,.area-grid,.contact-grid{grid-template-columns:1fr}.hero-card img{height:380px}.services-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.modal-gallery{grid-template-columns:1fr}.modal-photo img{height:auto}}@media (max-width:620px){.brand span{font-size:14px}.brand img{width:44px;height:44px}.nav{height:70px}.small-cta{padding:10px 13px;font-size:13px}h1{font-size:42px}.services-grid,.portfolio-grid{grid-template-columns:1fr}.hero-card{border-width:7px;border-radius:26px}.section{padding:64px 0}.estimate-card{padding:28px;border-radius:26px}.modal-panel{padding:18px;border-radius:24px}.project-card img{height:245px}}

.all-photos-section{background:#fff}.all-photos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.all-photo-card{appearance:none;border:0;text-align:left;background:white;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 28px rgba(32,37,43,.07);cursor:pointer;transition:.18s ease}.all-photo-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(32,37,43,.13)}.all-photo-card img{width:100%;height:190px;object-fit:cover;background:#eee}.all-photo-card span{display:block;padding:12px 14px;font-size:13px;font-weight:900;color:var(--charcoal)}button.modal-photo{font-family:inherit;text-align:left;cursor:pointer}.service-project:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(32,37,43,.12)}.empty-service{grid-column:1/-1;border:1px solid var(--line);border-radius:22px;background:#fbf8f0;padding:28px}.empty-service h3{font-size:24px;margin-bottom:8px}.empty-service p{color:var(--muted)}
@media (max-width:960px){.all-photos-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.all-photos-grid{grid-template-columns:1fr}.all-photo-card img{height:230px}}

/* v7: service cards with photos and compact featured portfolio */
.service-photo-card{padding:0;overflow:hidden;min-height:auto;display:flex;flex-direction:column}
.service-photo-card img{width:100%;height:170px;object-fit:cover;background:#eee}
.service-photo-card div{padding:22px}
.service-photo-card h3{font-size:18px}
.hero-card-caption strong{line-height:1.22}
@media (max-width:620px){.service-photo-card img{height:220px}.portfolio-section .section-title p{font-size:15px}}

/* v9 curated update */
.section-title p{color:var(--muted);max-width:650px;margin-top:10px}.small-cta{font-size:12px;padding:10px 14px;white-space:normal;max-width:230px;text-align:center;line-height:1.15}.service-photo-card img{height:190px}.modal-gallery{align-items:start}.modal-photo img{background:#f3f0eb}@media (max-width:760px){.small-cta{display:inline-flex;font-size:10px;padding:9px 10px;max-width:145px}.tag{font-size:12px}.hero-copy h1{font-size:42px}.hero-card-caption strong{font-size:15px}.portfolio-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr}.modal-panel{width:min(94vw,980px)}}

/* v10 text + mobile CTA fixes */
.hero-card-caption.compact{padding:14px 16px;max-width:82%}
.hero-card-caption.compact strong{font-size:17px;line-height:1.18}
@media (max-width:620px){.hero-card-caption.compact{left:14px;right:14px;bottom:14px;padding:12px 14px;max-width:none}.hero-card-caption.compact strong{font-size:14px}.small-cta{max-width:132px;font-size:9.5px;line-height:1.12}}
