/* ==========================================================================
   Overland Park Water Damage Restoration Works — "Meridian" concept
   Polished suburban service brand. Emerald + ivory + cobalt, amber accents.
   Rounded, friendly, high-trust. Phone-only. Mobile-first.
   ========================================================================== */

:root{
  --emerald:#0f7a58;       /* primary / CTA */
  --emerald-2:#0b5f45;     /* hover */
  --emerald-deep:#0a4a37;
  --emerald-soft:#e2f1ea;
  --emerald-ink:#0d3d2e;

  --ivory:#fbfaf5;         /* page */
  --ivory-2:#f2f1e8;       /* tint panel */
  --panel:#ffffff;
  --line:#e7e5d9;
  --line-2:#dbd8c9;

  --cobalt:#1f5fd0;        /* secondary accent / links */
  --cobalt-2:#1a4fae;
  --cobalt-soft:#e7eefb;

  --amber:#eaa233;         /* small accents / tags / stars */
  --amber-soft:#fbecce;

  --ink:#17231d;
  --ink-soft:#495750;
  --ink-mute:#6f7d75;
  --on-dark:#dcece5;
  --on-dark-mute:#9fb6ac;

  --radius:18px;
  --radius-lg:24px;
  --radius-sm:12px;
  --shadow:0 22px 50px -26px rgba(13,61,46,.4);
  --shadow-sm:0 14px 30px -18px rgba(13,61,46,.35);
  --max:1160px;
  --pad:clamp(20px,5vw,60px);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);font-size:16px;line-height:1.62;
  color:var(--ink);background:var(--ivory);
  overflow-x:hidden;padding-bottom:calc(64px + env(safe-area-inset-bottom));
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;line-height:1.1;letter-spacing:-.02em;font-weight:800}
b,strong{font-weight:700}

.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:10px 16px;z-index:300;border-radius:0 0 10px 0}
.skip:focus{left:0;top:0}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:3px}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--emerald)}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber)}
.eyebrow.light{color:var(--amber)}

.section{padding:clamp(48px,7.5vw,96px) 0}
.section-head{max-width:640px;margin:0 0 clamp(26px,4vw,42px)}
.section-head h2{font-size:clamp(1.7rem,4.4vw,2.55rem);color:var(--ink)}
.section-head p{margin:14px 0 0;color:var(--ink-soft);font-size:1.04rem;max-width:56ch}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center p{margin-left:auto;margin-right:auto}

/* buttons — rounded pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;border:2px solid transparent;font-weight:800;font-size:1rem;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .2s ease,box-shadow .2s ease}
.btn::before{content:"";width:1.05em;height:1.05em;flex:0 0 auto;background:currentColor;-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
.btn-lg{padding:17px 32px;font-size:1.08rem}
.btn-primary{background:var(--emerald);color:#f2fbf7;box-shadow:0 14px 30px -14px rgba(15,122,88,.85)}
.btn-primary:hover{background:var(--emerald-2);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--emerald-2);border-color:var(--line)}
.btn-white:hover{border-color:var(--emerald);transform:translateY(-2px)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}

.call-note{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:var(--ink-mute)}
.call-note::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 4px rgba(15,122,88,.18)}
.call-note.on-dark{color:var(--on-dark-mute)}

/* ---- header ------------------------------------------------------------- */
.top-call{background:var(--emerald-deep);color:var(--on-dark);font-size:.78rem;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px var(--pad);text-align:center}
.top-call b{color:#fff}
.top-call a{color:#fff;font-weight:800;text-decoration:none}

.site-header{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px var(--pad);background:rgba(251,250,245,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand-badge{width:40px;height:40px;flex:0 0 auto;border-radius:13px;background:linear-gradient(150deg,var(--emerald),var(--emerald-deep));color:#fff;display:grid;place-items:center;font-weight:800;font-size:.86rem;letter-spacing:.02em;box-shadow:0 8px 16px -8px rgba(15,122,88,.8)}
.brand-text{display:flex;flex-direction:column;line-height:1.08}
.brand-text b{font-size:1rem;font-weight:800;letter-spacing:-.02em}
.brand-text span{font-size:.56rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.site-header nav{display:none}
.header-call{display:none}

/* ---- hero (compact) ----------------------------------------------------- */
.hero{background:linear-gradient(180deg,var(--emerald-soft),var(--ivory) 78%);position:relative;overflow:hidden}
.hero-grid{max-width:var(--max);margin:0 auto;padding:clamp(28px,4.5vw,52px) var(--pad) clamp(34px,5vw,56px);display:grid;gap:clamp(24px,4vw,42px);align-items:center}
.hero-content,.hero-media{min-width:0}
.hero .rating{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 8px;box-shadow:var(--shadow-sm);margin-bottom:16px}
.hero .rating .stars{display:inline-flex;gap:2px}
.hero .rating .stars i{width:15px;height:15px;background:var(--amber);-webkit-mask:var(--i-star) center/contain no-repeat;mask:var(--i-star) center/contain no-repeat}
.hero .rating b{font-size:.8rem;font-weight:700;color:var(--ink)}
.hero .rating span{font-size:.78rem;color:var(--ink-mute)}
.hero h1{font-size:clamp(1.95rem,5.6vw,3.15rem);color:var(--ink);margin:0 0 14px;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--emerald)}
.hero-sub{color:var(--ink-soft);font-size:clamp(1rem,2.2vw,1.14rem);max-width:46ch;margin:0 0 22px}
.hero-cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.hero-cta .btn{width:100%;max-width:320px}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0}
.hero-badges li{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:var(--emerald-ink);background:#fff;border:1px solid var(--line);padding:8px 13px;border-radius:999px}
.hero-badges li::before{content:"";width:15px;height:15px;flex:0 0 auto;background:var(--emerald);-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}

.hero-media{position:relative}
.hero-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:5px solid #fff}
.hero-card img{width:100%;height:clamp(250px,44vw,410px);object-fit:cover;object-position:50% 60%}
.hero-float{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.96);backdrop-filter:blur(4px);border-radius:14px;padding:11px 15px;box-shadow:var(--shadow-sm);max-width:84%}
.hero-float .f-ico{width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:var(--cobalt-soft);display:grid;place-items:center}
.hero-float .f-ico::before{content:"";width:20px;height:20px;background:var(--cobalt);-webkit-mask:var(--i-gauge) center/contain no-repeat;mask:var(--i-gauge) center/contain no-repeat}
.hero-float b{display:block;font-size:.9rem;color:var(--ink)}
.hero-float span{display:block;font-size:.76rem;color:var(--ink-mute)}

/* ---- reasons to choose us ----------------------------------------------- */
.reasons{background:var(--ivory)}
.reason-grid{display:grid;gap:16px}
.reason{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:transform .16s ease,box-shadow .16s ease}
.reason:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.reason .r-ico{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;margin-bottom:15px;background:var(--emerald-soft);color:var(--emerald-2)}
.reason .r-ico::before{content:"";width:26px;height:26px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.reason h3{font-size:1.16rem;margin-bottom:7px;color:var(--ink)}
.reason p{margin:0;color:var(--ink-soft);font-size:.95rem}
.stat-strip{margin-top:22px;display:grid;gap:2px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.stat-strip li{background:var(--panel);padding:22px 20px;text-align:center}
.stat-strip b{display:block;font-size:1.7rem;color:var(--emerald);letter-spacing:-.03em}
.stat-strip span{display:block;font-size:.85rem;color:var(--ink-mute);margin-top:2px}

/* ---- service selector --------------------------------------------------- */
.selector{background:var(--ivory-2)}
.sel-grid{display:grid;gap:14px}
.sel-card{display:grid;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;position:relative}
.sel-card .sit{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);font-size:1.02rem}
.sel-card .sit::before{content:"";width:20px;height:20px;flex:0 0 auto;background:var(--cobalt);-webkit-mask:var(--i-alert) center/contain no-repeat;mask:var(--i-alert) center/contain no-repeat}
.sel-card p{margin:6px 0 12px;color:var(--ink-soft);font-size:.93rem}
.sel-card .rec{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;color:var(--emerald-2);background:var(--emerald-soft);border-radius:999px;padding:7px 14px;align-self:flex-start}
.sel-card .rec::before{content:"";width:15px;height:15px;background:var(--emerald-2);-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat}

/* ---- services list ------------------------------------------------------ */
.services{background:var(--ivory)}
.svc-list{display:grid;gap:12px;counter-reset:svc}
.svc-row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;transition:border-color .16s ease,box-shadow .16s ease}
.svc-row:hover{border-color:var(--emerald);box-shadow:var(--shadow-sm)}
.svc-row .n{counter-increment:svc;width:38px;height:38px;border-radius:11px;background:var(--emerald-soft);color:var(--emerald-2);display:grid;place-items:center;font-weight:800;font-size:.92rem}
.svc-row .n::before{content:counter(svc,decimal-leading-zero)}
.svc-row h3{font-size:1.06rem;margin:0 0 3px;color:var(--ink)}
.svc-row p{margin:0;color:var(--ink-soft);font-size:.93rem}

/* ---- property types ----------------------------------------------------- */
.props{background:var(--emerald-deep);color:#fff;position:relative}
.props .section-head h2{color:#fff}
.props .section-head p{color:var(--on-dark)}
.prop-grid{display:grid;gap:14px}
.prop{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:22px}
.prop .p-ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin-bottom:13px;background:rgba(234,162,51,.16);color:var(--amber)}
.prop .p-ico::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.prop h3{font-size:1.1rem;color:#fff;margin-bottom:6px}
.prop p{margin:0;color:var(--on-dark);font-size:.92rem}

/* ---- process ------------------------------------------------------------ */
.process{background:var(--ivory-2)}
.flow{display:grid;gap:16px;counter-reset:flow}
.flow-step{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 22px}
.flow-step::before{counter-increment:flow;content:counter(flow);position:absolute;top:-14px;left:22px;width:34px;height:34px;border-radius:50%;background:var(--emerald);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem;border:3px solid var(--ivory-2)}
.flow-step h3{font-size:1.1rem;margin:8px 0 6px;color:var(--ink)}
.flow-step p{margin:0;color:var(--ink-soft);font-size:.93rem}

/* ---- before/after proof ------------------------------------------------- */
.proof-ba{background:var(--ivory)}
.ba-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.ba-card img{width:100%;height:auto;display:block;background:var(--ivory-2)}
.ba-card figcaption{padding:18px 22px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:space-between}
.ba-card figcaption b{font-size:1rem;color:var(--ink)}
.ba-card figcaption span{font-size:.82rem;color:var(--ink-mute)}

/* ---- insurance ---------------------------------------------------------- */
.insurance{background:var(--cobalt-soft)}
.ins-grid{display:grid;gap:30px;align-items:center}
.ins-list{display:grid;gap:12px;margin:6px 0 20px}
.ins-list li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.ins-list .doc{width:40px;height:40px;flex:0 0 auto;border-radius:11px;background:var(--cobalt-soft);display:grid;place-items:center}
.ins-list .doc::before{content:"";width:21px;height:21px;background:var(--cobalt);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.ins-list b{font-size:.98rem;color:var(--ink)}
.ins-list span{display:block;font-size:.82rem;color:var(--ink-mute);font-weight:400}
.ins-note{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:var(--ink-mute);border-top:1px solid var(--line-2);padding-top:16px;margin:0 0 20px}
.ins-note::before{content:"";width:18px;height:18px;flex:0 0 auto;margin-top:3px;background:var(--ink-mute);-webkit-mask:var(--i-shield) center/contain no-repeat;mask:var(--i-shield) center/contain no-repeat}
.ins-figure{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:5px solid #fff}
.ins-figure img{width:100%;height:100%;min-height:280px;object-fit:cover}

/* ---- service area ------------------------------------------------------- */
.area{background:var(--ivory)}
.area-grid{display:grid;gap:28px;align-items:center}
.area h2{font-size:clamp(1.7rem,4.4vw,2.5rem);color:var(--ink);max-width:16ch;margin:0 0 14px}
.area p{color:var(--ink-soft);max-width:52ch}
.area-tags{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 24px}
.area-tags li{font-size:.82rem;font-weight:600;color:var(--emerald-ink);background:var(--emerald-soft);border:1px solid #cfe6dc;padding:8px 14px;border-radius:999px}
.area-figure{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:5px solid #fff}
.area-figure img{width:100%;height:100%;min-height:240px;object-fit:cover}
.area-figure figcaption{font-size:.72rem;color:var(--ink-mute);padding:8px 12px;background:var(--panel)}
.area-figure figcaption a{color:var(--cobalt);text-decoration:underline}

/* ---- faq ---------------------------------------------------------------- */
.faq{background:var(--ivory-2)}
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:10px}
.faq-list details{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:16px;padding:18px 20px;font-weight:800;font-size:1.02rem;color:var(--ink)}
.faq-list summary h3{font-size:inherit;font-weight:inherit;margin:0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";margin-left:auto;flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:var(--emerald-soft);color:var(--emerald-2);-webkit-mask:var(--i-plus) center/14px no-repeat;mask:var(--i-plus) center/14px no-repeat;background-color:var(--emerald);transition:transform .2s ease}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 20px 20px;color:var(--ink-soft);font-size:.96rem;max-width:72ch}
.faq-foot{max-width:820px;margin:28px auto 0;text-align:center}
.faq-foot p{color:var(--ink-soft);margin:0 0 16px}

/* ---- final cta ---------------------------------------------------------- */
.final{background:linear-gradient(160deg,var(--emerald-2),var(--emerald-deep));color:#fff;text-align:center}
.final-inner{max-width:720px;margin:0 auto;padding:clamp(54px,8vw,96px) var(--pad)}
.final h2{font-size:clamp(1.8rem,5vw,2.8rem);color:#fff;margin:0 auto 14px;max-width:18ch}
.final p{color:var(--on-dark);font-size:1.05rem;max-width:50ch;margin:0 auto 26px}
.phone-xl{display:inline-block;margin-top:10px;font-size:clamp(1.5rem,5vw,2rem);font-weight:800;letter-spacing:-.02em;color:#fff;text-decoration:none}
.phone-xl span{color:var(--amber)}

/* ---- footer ------------------------------------------------------------- */
.site-footer{background:#0b2019;color:var(--on-dark-mute);padding:clamp(42px,7vw,66px) 0 28px}
.footer-grid{display:grid;gap:28px}
.footer-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;margin-bottom:14px}
.footer-about p{font-size:.92rem;color:var(--on-dark-mute);max-width:42ch;margin:0 0 16px}
.footer-call{display:inline-flex;align-items:center;gap:9px;color:var(--amber);font-weight:800;font-size:1.26rem;text-decoration:none}
.footer-call::before{content:"";width:18px;height:18px;background:var(--amber);-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
.footer-col h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#89a599;margin:0 0 13px;font-weight:800}
.footer-col a{display:block;color:var(--on-dark);text-decoration:none;font-size:.92rem;padding:5px 0}
.footer-col a:hover{color:#fff}
.footer-bar{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:.78rem;color:#7d968b}
.footer-credit{font-size:.72rem;color:#6f887e;margin:14px 0 0;max-width:70ch}
.footer-credit a{color:#9fb6ac;text-decoration:underline}

/* ---- sticky mobile call bar --------------------------------------------- */
.mobile-call{position:fixed;left:0;right:0;bottom:0;z-index:200;min-height:60px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--emerald),var(--emerald-2));color:#f2fbf7;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:11px;box-shadow:0 -10px 30px -14px rgba(13,61,46,.7)}
.mobile-call::before{content:"";width:20px;height:20px;flex:0 0 auto;background:#f2fbf7;-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
.mobile-call span{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;opacity:.85}
.mobile-call b{font-size:1.16rem;font-weight:800}

/* ==========================================================================
   Icons
   ========================================================================== */
:root{
  --i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  --i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  --i-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --i-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E");
  --i-gauge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E");
  --i-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
  --i-drop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E");
  --i-wind:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2'/%3E%3C/svg%3E");
  --i-spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 12h18M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
  --i-box:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l9-4 9 4v10l-9 4-9-4z M3 7l9 4 9-4 M12 11v10'/%3E%3C/svg%3E");
  --i-plan:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2 M9 2h6v4H9z M9 13l2 2 4-4'/%3E%3C/svg%3E");
  --i-doc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z M14 2v6h6 M16 13H8 M16 17H8 M10 9H8'/%3E%3C/svg%3E");
  --i-chat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8z'/%3E%3C/svg%3E");
  --i-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
  --i-home:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-7 9 7v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22V12h6v10'/%3E%3C/svg%3E");
  --i-layers:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5z M2 17l10 5 10-5 M2 12l10 5 10-5'/%3E%3C/svg%3E");
  --i-stairs:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h4v-4h4v-4h4V8h4V4'/%3E%3C/svg%3E");
  --i-faucet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h6a3 3 0 0 1 3-3V5a2 2 0 0 1 2-2h5M12 10v3M6 10v4a2 2 0 0 0 2 2h1M12 16v2'/%3E%3C/svg%3E");
}
.i-drop{--i:var(--i-drop)} .i-wind{--i:var(--i-wind)} .i-gauge{--i:var(--i-gauge)}
.i-spark{--i:var(--i-spark)} .i-box{--i:var(--i-box)} .i-plan{--i:var(--i-plan)}
.i-doc{--i:var(--i-doc)} .i-chat{--i:var(--i-chat)} .i-shield{--i:var(--i-shield)}
.i-home{--i:var(--i-home)} .i-layers{--i:var(--i-layers)} .i-stairs{--i:var(--i-stairs)}
.i-faucet{--i:var(--i-faucet)} .i-check2{--i:var(--i-check)}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(min-width:620px){
  .hero-cta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px 18px}
  .hero-cta .btn{width:auto}
  .reason-grid{grid-template-columns:repeat(3,1fr)}
  .stat-strip{grid-template-columns:repeat(3,1fr)}
  .sel-grid{grid-template-columns:1fr 1fr}
  .prop-grid{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
}

@media(min-width:900px){
  body{padding-bottom:0}
  .mobile-call{display:none}
  .site-header nav{display:flex;align-items:center;gap:22px}
  .site-header nav a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;font-weight:600}
  .site-header nav a:hover{color:var(--emerald)}
  .header-call{display:inline-flex;align-items:center;gap:9px;background:var(--emerald);color:#f2fbf7;font-weight:800;text-decoration:none;padding:11px 20px;border-radius:999px}
  .header-call::before{content:"";width:17px;height:17px;background:#f2fbf7;-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}

  .hero-grid{grid-template-columns:1.08fr .92fr;gap:clamp(32px,4vw,56px)}
  .hero-card img{height:clamp(340px,38vw,430px)}

  .sel-grid{grid-template-columns:repeat(2,1fr)}
  .prop-grid{grid-template-columns:repeat(4,1fr)}
  .flow{grid-template-columns:repeat(4,1fr)}
  .ins-grid{grid-template-columns:1.05fr .95fr;gap:44px}
  .ins-list{grid-template-columns:1fr 1fr}
  .ins-note,.ins-copy .btn{grid-column:1 / -1}
  .area-grid{grid-template-columns:1.05fr .95fr}
  .footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:44px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Existing-page compatibility layer for the Meridian art direction. */
.hero>.hero-copy{max-width:560px}.hero>.hero-media{max-width:650px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:58px max(24px,calc((100vw - 1160px)/2));align-items:center}.hero h1 .keyword-line{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--emerald);margin-bottom:14px}.hero h1 .hero-headline{display:block;font-size:clamp(3rem,5vw,5.2rem);line-height:.94}.hero-media img{border-radius:24px;min-height:480px;object-fit:cover}.hero-media .burst{position:absolute;z-index:2;top:18px;left:-16px;background:var(--amber);padding:10px 14px;border-radius:999px;font-weight:900;font-size:.72rem;letter-spacing:.1em}
.pitch{padding:48px max(24px,calc((100vw - 1000px)/2));background:var(--emerald-deep);color:#fff;display:grid;grid-template-columns:.5fr 1.5fr;gap:40px}.pitch h2{font-size:clamp(2rem,4vw,3.6rem)}.pitch p{color:var(--on-dark)}
.showdown,.reasons,.services,.problem-list,.local,.steps-band,.s3-upgrade,.s3-trust,.restoration-visual,.faq,.audit-depth{padding:72px max(24px,calc((100vw - 1160px)/2))}.showdown{background:var(--ivory-2)}.comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch}.comparison article{padding:30px;background:#fff;border:1px solid var(--line)}.comparison .this-way{background:var(--emerald-deep);color:#fff}.versus{display:grid;place-items:center;background:var(--amber);padding:14px;font-weight:900}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reasons article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.reasons .number{display:block;color:var(--cobalt);font-weight:900;font-size:1.6rem}.services{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--cobalt-soft)}.services article{background:#fff;border-radius:20px;padding:30px}.services article a{font-weight:800;color:var(--cobalt)}
.problem-list{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;background:var(--emerald-deep);color:#fff}.problem-list h2{color:#fff}.problem-list li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:16px;margin:8px 0;border-radius:12px}.problem-list li span{color:var(--amber);font-weight:900;margin-right:12px}.city-photo{margin:0;height:340px;overflow:hidden}.city-photo img{width:100%;height:100%;object-fit:cover}
.local{text-align:center;background:var(--ivory)}.local p{max-width:760px;margin:14px auto}.local a{color:var(--cobalt);font-weight:800}.steps-band{background:var(--ivory-2)}.steps-band ol{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.steps-band li{background:#fff;border-radius:16px;padding:22px}.steps-band li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--emerald);color:#fff;font-weight:900;margin-bottom:14px}
.s3-upgrade{background:#fff}.s3-services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.s3-service{background:var(--ivory-2);border-radius:16px;padding:22px}.s3-service b{color:var(--cobalt)}.s3-trust{background:var(--emerald-soft)}.s3-standards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.s3-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.s3-standard,.s3-fact{background:#fff;border-radius:16px;padding:24px}.s3-call,.audit-call{display:inline-flex;margin-top:22px;background:var(--emerald);color:#fff;border-radius:999px;padding:15px 24px;text-decoration:none;font-weight:800}
.restoration-visual{background:var(--cobalt-soft)}.rv-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.rv-media{margin:0;border-radius:22px;overflow:hidden}.faq{background:var(--ivory-2)}.priority-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 18px}.faq summary{padding:17px 0;font-weight:800}.final-call{text-align:center;background:var(--cobalt);color:#fff;padding:70px 22px}.final-call h2{color:#fff}.final-call .button{background:#fff;color:var(--cobalt)}.audit-depth{background:#fff}.audit-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.audit-grid article{border-top:4px solid var(--amber);padding:22px;background:var(--ivory-2)}.site-footer{background:var(--emerald-deep);color:#fff;padding:48px max(24px,calc((100vw - 1160px)/2))}.mobile-call{position:fixed;z-index:200;left:0;right:0;bottom:0;min-height:60px;background:var(--emerald);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:800}
@media(max-width:800px){.hero{display:flex;flex-direction:column;padding:26px 20px 38px}.hero>.hero-media{order:1}.hero>.hero-copy{order:2}.hero-media img{min-height:220px;height:220px}.hero h1 .hero-headline{font-size:clamp(2.35rem,11vw,3.4rem)}.pitch,.comparison,.services,.problem-list,.rv-inner{grid-template-columns:1fr}.versus{padding:8px}.reason-grid,.steps-band ol,.s3-services,.s3-standards,.s3-facts,.priority-faq-grid,.audit-grid{grid-template-columns:1fr}.showdown,.reasons,.services,.problem-list,.local,.steps-band,.s3-upgrade,.s3-trust,.restoration-visual,.faq,.audit-depth{padding:48px 20px}}
