:root{--ink:#162126;--muted:#607076;--paper:#ffffff;--soft:#f5f8f7;--line:#dfe8e4;--brand:#202321;--sage:#8fa79b;--sage2:#dfe9e4;--gold:#c7a96b;--accent:#496d5e;--shadow:0 24px 70px rgba(26,48,39,.12);--radius:26px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:Roboto,Arial,sans-serif;line-height:1.72}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 36px),var(--container));margin:auto}.section{padding:96px 0}.soft{background:var(--soft)}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font:700 .78rem Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:2px;background:var(--gold)}h1,h2,h3,h4{font-family:Poppins,sans-serif;color:var(--ink);line-height:1.08;margin:0 0 18px}h1{font-size:clamp(2.6rem,5.7vw,5.8rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.8vw,3.7rem);letter-spacing:-.035em}h3{font-size:clamp(1.25rem,2vw,1.65rem)}p{margin:0 0 18px;color:var(--muted)}.lead{font-size:1.16rem;max-width:760px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(73,109,94,.12)}.header-grid{min-height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px}.brand img{width:54px;height:54px;object-fit:contain}.brand span{font:700 .95rem Poppins,sans-serif}.nav{display:flex;align-items:center;justify-content:center;gap:30px}.nav a{font:600 .82rem Poppins,sans-serif;text-transform:uppercase;letter-spacing:.06em}.nav a:hover{color:var(--accent)}.header-cta{justify-self:end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 24px;border-radius:999px;background:var(--brand);color:#fff;font:700 .9rem Poppins,sans-serif;box-shadow:0 12px 28px rgba(32,35,33,.18);transition:.25s}.btn:hover{transform:translateY(-2px);background:var(--accent)}.btn.alt{background:var(--accent)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.menu-toggle{display:none;border:0;background:var(--brand);color:#fff;width:46px;height:46px;border-radius:14px}.hero{position:relative;padding:96px 0 70px;overflow:hidden}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,var(--sage2),transparent 70%);right:-130px;top:-120px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-kicker{display:inline-flex;padding:9px 14px;border-radius:999px;background:var(--sage2);color:var(--accent);font:700 .78rem Poppins,sans-serif;margin-bottom:20px}.hero-media{position:relative}.hero-media img{height:620px;width:100%;object-fit:cover;border-radius:34px;box-shadow:var(--shadow)}.hero-card{position:absolute;left:-30px;bottom:28px;background:#fff;padding:20px 22px;border-radius:20px;box-shadow:var(--shadow);max-width:250px}.hero-card strong{display:block;font:700 1.05rem Poppins,sans-serif}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:64px}.trust-item{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.trust-item strong{display:block;font:700 1.45rem Poppins,sans-serif}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:44px}.section-head>div:first-child{max-width:760px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 35px rgba(25,49,39,.06);transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card img{width:100%;height:290px;object-fit:cover}.service-body{padding:30px}.service-index{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--sage2);color:var(--accent);font:700 .9rem Poppins,sans-serif;margin-bottom:18px}.about-grid,.location-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-visual{position:relative}.about-visual img{height:600px;object-fit:cover;border-radius:30px}.about-note{position:absolute;right:-24px;bottom:30px;background:var(--brand);color:#fff;padding:24px;border-radius:20px;max-width:260px}.about-note p{color:#dfe6e2;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.feature{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.feature strong{display:block;font:700 1rem Poppins,sans-serif;margin-bottom:6px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line)}.step b{font:700 2.2rem Poppins,sans-serif;color:var(--sage)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quote{padding:30px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(25,49,39,.06)}.stars{color:var(--gold);letter-spacing:3px;margin-bottom:14px}.quote strong{font:700 .95rem Poppins,sans-serif}.map{min-height:520px;border:0;width:100%;border-radius:28px;box-shadow:var(--shadow)}.location-card{padding:42px;border-radius:28px;background:var(--brand);color:#fff}.location-card h2,.location-card h3{color:#fff}.location-card p,.location-card a{color:#dfe7e3}.faq{max-width:920px;margin:auto}.faq-item{border:1px solid var(--line);border-radius:18px;margin-bottom:14px;overflow:hidden;background:#fff}.faq-q{width:100%;padding:22px 24px;text-align:left;border:0;background:#fff;font:700 1rem Poppins,sans-serif;display:flex;justify-content:space-between;gap:20px}.faq-a{display:none;padding:0 24px 22px}.faq-item.open .faq-a{display:block}.cta-band{padding:54px;border-radius:34px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-band h2,.cta-band p{color:#fff}.form-card{padding:36px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font:400 1rem Roboto,sans-serif}.field:focus{outline:2px solid var(--sage2);border-color:var(--accent)}textarea.field{min-height:140px;resize:vertical}.full{grid-column:1/-1}.footer{background:#17201c;color:#fff;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;gap:36px}.footer h3{color:#fff;font-size:1.1rem}.footer p,.footer a{color:#c6d0cb}.footer a{display:block;margin:9px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:20px;color:#aab7b0}.float-call{position:fixed;right:18px;bottom:18px;z-index:90;width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(73,109,94,.35);font-size:1.3rem}
/* page-specific handcrafted variation */
body.theme-2{--accent:#5f7567;--sage:#a8b49a;--sage2:#eef1e8;--gold:#b7935c}body.theme-2 .hero-grid{grid-template-columns:.9fr 1.1fr}body.theme-2 .hero-media img{border-radius:180px 28px 28px 28px}body.theme-2 .service-grid{grid-template-columns:repeat(3,1fr)}body.theme-2 .service-card:nth-child(1),body.theme-2 .service-card:nth-child(8){grid-column:span 2}
body.theme-3{--accent:#3f6d70;--sage:#8eadaf;--sage2:#e6f0f0;--gold:#bd9b62}body.theme-3 .hero-grid{grid-template-columns:1fr 1fr}body.theme-3 .hero-media img{clip-path:polygon(10% 0,100% 0,100% 90%,0 100%,0 10%)}body.theme-3 .service-card{display:grid;grid-template-columns:220px 1fr}body.theme-3 .service-card img{height:100%;min-height:310px}body.theme-3 .service-grid{grid-template-columns:1fr}
body.theme-4{--accent:#6d6551;--sage:#b7ad92;--sage2:#f3f0e8;--gold:#a98a55}body.theme-4 .hero-grid{grid-template-columns:1fr}body.theme-4 .hero-copy{max-width:900px}body.theme-4 .hero-media img{height:480px}body.theme-4 .trust-row{margin-top:30px}body.theme-4 .service-grid{grid-template-columns:repeat(4,1fr)}body.theme-4 .service-card img{height:210px}
body.theme-5{--accent:#536b5f;--sage:#9caf9f;--sage2:#edf3ee;--gold:#c2a46b}body.theme-5 .hero-grid{grid-template-columns:1.15fr .85fr}body.theme-5 .hero-media img{border-radius:30px 160px 30px 30px}body.theme-5 .service-grid{grid-template-columns:repeat(2,1fr)}body.theme-5 .service-card:nth-child(even){transform:translateY(28px)}
@media(max-width:1100px){.nav{gap:18px}.header-grid{grid-template-columns:auto 1fr auto}.service-grid,body.theme-2 .service-grid,body.theme-4 .service-grid{grid-template-columns:repeat(2,1fr)}body.theme-2 .service-card:nth-child(1),body.theme-2 .service-card:nth-child(8){grid-column:auto}.process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.menu-toggle{display:block}.header-grid{grid-template-columns:1fr auto auto}.nav{display:none;position:absolute;left:18px;right:18px;top:78px;padding:20px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.nav.open{display:flex}.hero-grid,.about-grid,.location-grid,.contact-grid{grid-template-columns:1fr}.hero{padding-top:64px}.hero-media img{height:480px}.trust-row,.testimonial-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}.section-head,.cta-band{align-items:flex-start;flex-direction:column}.header-cta .btn{padding:12px 16px}.header-cta .btn span{display:none}body.theme-3 .service-card{grid-template-columns:1fr}body.theme-3 .service-card img{height:260px}.about-note{right:12px}}
@media(max-width:600px){.section{padding:68px 0}.service-grid,body.theme-2 .service-grid,body.theme-4 .service-grid,.trust-row,.testimonial-grid,.process,.footer-grid,.feature-grid,.form-grid{grid-template-columns:1fr}.hero-media img{height:390px}.hero-card{left:12px;right:12px;bottom:14px}.header-cta{display:none}.header-grid{grid-template-columns:1fr auto}.service-card img{height:240px}body.theme-5 .service-card:nth-child(even){transform:none}.cta-band{padding:34px}.map{min-height:380px}.full{grid-column:auto}}
