:root{--bg:#f8fafc;--paper:#ffffff;--text:#0f172a;--muted:#64748b;--primary:#059669;--dark:#111827;--ring:rgba(5,150,105,.25);--radius:16px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}.container{width:min(1120px,92%);margin-inline:auto}.section{padding:64px 0}.section.alt{background:linear-gradient(0deg,#f1f5f9,#f8fafc)}.section-title{font-size:28px;font-weight:900;margin:0 0 24px}.accent{color:var(--primary)}.btn{display:inline-block;padding:12px 16px;border-radius:12px;font-weight:700;text-decoration:none;transition:.2s ease;border:1px solid transparent}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(.95)}.btn-dark{background:var(--dark);color:#fff}.btn-dark:hover{filter:brightness(1.1)}.btn-outline{border-color:#cbd5e1;color:var(--text);background:#fff}.btn-outline:hover{border-color:#94a3b8}.card{background:var(--paper);border:1px solid #e2e8f0;border-radius:var(--radius);padding:20px;box-shadow:0 10px 20px #0000000a}.card.service .icon{font-size:28px;margin-bottom:8px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.muted{color:var(--muted)}.hide-sm{display:none}.header{position:sticky;top:0;z-index:50;background:#ffffffe6;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid #e2e8f0;transition:box-shadow .2s ease}.header.is-scrolled{box-shadow:0 6px 24px #00000014}.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:800}.brand b{color:var(--primary)}.nav{display:flex;gap:18px}.nav a{color:var(--text);text-decoration:none;font-weight:600;opacity:.85}.nav a:hover{opacity:1}.header-cta{display:flex;gap:10px}.hero{padding:72px 0;background:radial-gradient(ellipse 60% 60% at 10% 0%,#a7f3d0 10%,transparent 40%),radial-gradient(ellipse 80% 60% at 100% 10%,#d1fae5 5%,transparent 40%)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center}.hero h1{font-size:42px;line-height:1.15;margin:0 0 12px;font-weight:900}.hero p{margin:0 0 16px;color:var(--muted)}.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.hero .badges{display:flex;gap:12px;padding:0;margin:18px 0 0;list-style:none;color:var(--muted);font-weight:700}.hero-media img{width:100%;max-width:320px;display:block;margin-inline:auto;filter:drop-shadow(0 16px 24px rgba(0,0,0,.08))}.masonry{-moz-columns:3 240px;columns:3 240px;-moz-column-gap:16px;column-gap:16px}.masonry-item{-moz-column-break-inside:avoid;break-inside:avoid;margin:0 0 16px;overflow:hidden;border-radius:14px;border:1px solid #e2e8f0;background:#fff}.masonry-item img{width:100%;display:block}.masonry-item figcaption{padding:10px;color:var(--muted);font-size:14px}.review .stars{color:#fbbf24;font-size:18px;letter-spacing:2px}.review .author{margin-top:8px;color:var(--muted);font-weight:700}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}.map-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 10px 20px #0000000d}.map-wrap iframe{width:100%;height:360px;border:0}.footer{margin-top:32px;border-top:1px solid #e2e8f0;background:#fff}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;padding:18px 0}.brand-col{display:flex;gap:12px;align-items:center}.brand-name{font-weight:900}.footer-nav{display:flex;gap:16px;align-items:center;justify-content:flex-end}.footer-nav a{color:var(--text);text-decoration:none;font-weight:600;opacity:.85}.footer-nav a:hover{opacity:1}.copy{text-align:center;padding:10px 0 18px}.stickybar{position:fixed;bottom:0;left:0;right:0;display:flex;gap:8px;padding:8px;z-index:60;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid #e2e8f0}.stickybar .btn{flex:1;text-align:center}@media (min-width:768px){.hide-sm{display:inline-flex}.stickybar{display:none}.hero h1{font-size:48px}}@media (max-width:767px){.grid-4{grid-template-columns:1fr 1fr}.grid-3,.contact-grid,.footer-grid{grid-template-columns:1fr}.nav{display:none}}
