/* Simply Sold NJ — one shared stylesheet for every page (2026-10-07).
   The visual system (tokens, header, hero + address bar, offer modal, cards, FAQ, footer) is the Simply Sold
   family look from ~/cloudflare-sites/simplysoldny, rebuilt as one file. Bump ?v= on every page when it changes. */

/* ── Tokens ─────────────────────────────────────────────── */
:root{
  --red:#ee3336;--red-dk:#c9282b;--red-glow:rgba(238,51,54,.4);
  --navy:#262d66;--navy-mid:#1d2352;--navy-lt:#2f3878;
  --gold:#ee3336;--gold-dk:#c9282b;--green:#0FB96B;
  --white:#FFFFFF;--off:#F6F5F0;--g100:#F0EFE9;--g200:#E2E1D8;--g400:#9CA3AF;--g600:#5F6672;--g800:#374151;--text:#1A1C2E;
  --display:'Barlow Condensed',Impact,sans-serif;--body:'Poppins',system-ui,sans-serif;
  --r-sm:8px;--r-md:14px;--r-lg:22px;--r-xl:32px;--r-full:9999px;
  --ease:cubic-bezier(0.16,1,0.3,1);--t:all .25s var(--ease);
  --sh-red:0 8px 32px rgba(238,51,54,.45);--sh-md:0 4px 20px rgba(0,0,0,.12);--sh-lg:0 12px 44px rgba(0,0,0,.18);--sh-xl:0 24px 64px rgba(0,0,0,.24);
  --max:1200px;--sy:88px
}

/* ── Reset ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:17px}
body{font-family:var(--body);color:var(--text);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,select,textarea{font-family:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:900;line-height:1.02;letter-spacing:-.01em;color:var(--navy);text-transform:uppercase}
.skip{position:absolute;left:-9999px;top:0;background:var(--red);color:#fff;padding:10px 16px;z-index:2000}
.skip:focus{left:12px;top:12px}

/* ── Layout + type ──────────────────────────────────────── */
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.section{padding:var(--sy) 24px;max-width:var(--max);margin:0 auto}
.label{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:.8rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.label::before{content:'';display:inline-block;width:22px;height:2px;background:var(--red);border-radius:2px}
.sh{text-align:center;max-width:820px;margin:0 auto 48px}
.sh p{font-size:1.08rem;color:var(--g600);margin-top:14px;line-height:1.85}
h2.xl{font-size:clamp(2rem,4.5vw,3.2rem)}
h2.lg{font-size:clamp(1.7rem,3.5vw,2.6rem)}
.bg-white{background:var(--white)}.bg-g100{background:var(--g100)}.bg-off{background:var(--off)}

/* ── Buttons ────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;border-radius:var(--r-sm);font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border:2px solid transparent;transition:var(--t);white-space:nowrap;position:relative;overflow:hidden}
.btn-red{background:var(--red);color:var(--white);border-color:var(--red)}
.btn-red:hover{background:var(--red-dk);transform:translateY(-3px);box-shadow:var(--sh-red)}
.btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.38)}
.btn-ghost:hover{background:var(--white);color:var(--red);border-color:var(--white)}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-lt);transform:translateY(-3px)}
.btn-line{background:transparent;color:var(--navy);border-color:var(--g200)}
.btn-line:hover{border-color:var(--red);color:var(--red)}
.btn-lg{padding:18px 42px;font-size:1.15rem}
.btn-xl{padding:22px 52px;font-size:1.3rem}
.btn-block{width:100%;justify-content:center}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(238,51,54,.5)}50%{box-shadow:0 0 0 14px rgba(238,51,54,0)}}
.pulse{animation:pulse 2.5s ease-in-out infinite}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:40px}

/* ── Top bar + header ───────────────────────────────────── */
.topbar{background:var(--navy);color:rgba(255,255,255,.78);padding:9px 24px;font-size:.82rem;font-weight:500}
.topbar-in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar a{color:#ff8a8a;font-weight:600}
.topbar a:hover{color:var(--white)}
.topbar-r{display:flex;align-items:center;gap:22px;margin-left:auto}
.hdr{background:var(--white);border-bottom:2px solid var(--g100);position:sticky;top:0;z-index:100;transition:box-shadow .3s ease}
.hdr.scrolled{box-shadow:0 4px 28px rgba(0,0,0,.1)}
.hdr-in{max-width:var(--max);margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo img{height:46px;width:auto}
.logo-st{font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:2px;text-transform:uppercase;color:var(--navy);border-left:2px solid var(--g200);padding-left:10px;line-height:1.1}
.nav{display:flex;align-items:center;gap:4px}
.nav>a,.nav>.ndrop>button{font-weight:600;font-size:.88rem;color:var(--g800);padding:8px 10px;white-space:nowrap;border-radius:var(--r-sm);transition:var(--t);display:flex;align-items:center;gap:4px}
.nav>a:hover,.nav>.ndrop>button:hover{color:var(--red);background:rgba(238,51,54,.06)}
.nav>a[aria-current],.nav>.ndrop>button.active{color:var(--red)}
.ndrop{position:relative}
.ndrop>button svg{transition:transform .2s ease}
.ndrop:hover>button svg,.ndrop.open>button svg{transform:rotate(180deg)}
.drop-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--white);border:1px solid var(--g200);border-radius:var(--r-md);min-width:210px;padding:8px;box-shadow:var(--sh-lg);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.ndrop:hover .drop-menu,.ndrop.open .drop-menu,.ndrop:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.drop-menu a{display:block;padding:9px 14px;font-size:.86rem;font-weight:600;color:var(--g800);border-radius:var(--r-sm);transition:var(--t)}
.drop-menu a:hover,.drop-menu a[aria-current]{background:rgba(238,51,54,.06);color:var(--red)}
.hdr-r{display:flex;align-items:center;gap:12px}
.hdr-phone{white-space:nowrap;font-family:var(--display);font-size:1.1rem;font-weight:800;color:var(--red);letter-spacing:.3px}
.tog{display:none;flex-direction:column;gap:5px;padding:6px}
.tog span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:var(--t)}
.mnav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-top:1px solid var(--g200);padding:18px 24px;flex-direction:column;gap:4px;box-shadow:var(--sh-lg);z-index:99;max-height:calc(100vh - 80px);overflow-y:auto}
.mnav.open{display:flex}
.mnav a,.mnav>button{padding:11px 15px;font-weight:600;color:var(--text);border-radius:var(--r-sm);transition:var(--t);text-align:left;font-size:.95rem;width:100%;font-family:var(--body);display:block}
.mnav a:hover,.mnav>button:hover{background:var(--g100);color:var(--red)}
.mnav .msub{padding-left:14px;border-left:2px solid var(--g200);margin:2px 0 6px 15px;display:none;flex-direction:column}
.mnav .msub.open{display:flex}
.mnav .msub a{padding:8px 14px;font-size:.88rem;color:var(--g800)}
.msub-toggle{display:flex!important;align-items:center;justify-content:space-between}
.msub-toggle svg{transition:transform .2s ease;flex-shrink:0}
.msub-toggle.open svg{transform:rotate(180deg)}
.mnav .btn{margin-top:8px;color:#fff}

/* ── Homepage hero ──────────────────────────────────────── */
.hero{position:relative;display:flex;align-items:center;min-height:clamp(540px,74vh,720px);background:var(--navy);overflow:hidden}
.hero-photo,.hero-photo img{position:absolute;inset:0;width:100%;height:100%}
.hero-photo img{object-fit:cover;object-position:50% 58%}
/* Scrim over the Newark photo: brand navy at ~48-62%, a touch denser behind the text column, so the skyline stays visible
   while white type (plus text-shadow) clears WCAG AA. Do not push this toward a solid block. */
.hero-grad{position:absolute;inset:0;background:radial-gradient(ellipse 62% 58% at 50% 50%,rgba(13,17,42,.36),rgba(13,17,42,0) 72%),linear-gradient(180deg,rgba(13,17,42,.58) 0%,rgba(24,29,74,.48) 42%,rgba(24,29,74,.50) 70%,rgba(13,17,42,.66) 100%)}
.hero h1,.hero-sub,.hero .addr-hint,.ht{text-shadow:0 1px 2px rgba(5,8,24,.65),0 2px 18px rgba(5,8,24,.55)}
.hero::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.03;pointer-events:none}
.hero-in{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:48px 24px 52px;text-align:center;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(13,17,42,.62);border:1px solid rgba(238,51,54,.55);color:#ffb3b3;padding:7px 16px;border-radius:var(--r-full);font-size:.74rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
.bdot{width:7px;height:7px;background:#ff8a8a;border-radius:50%;animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero h1{font-size:clamp(2.3rem,5.4vw,4rem);color:var(--white);line-height:.98;margin-bottom:14px;letter-spacing:-.02em}
.hero h1 .hl{color:#ff5b5e}
.hero-sub{font-size:1.05rem;color:rgba(255,255,255,.95);font-weight:500;margin:0 auto 26px;line-height:1.7;max-width:640px}
.htrust{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.ht{display:flex;align-items:center;gap:7px;font-size:.88rem;color:rgba(255,255,255,.9)}
.ht strong{color:#fff}
.hero .addr-hint{color:rgba(255,255,255,.9)}

/* ── Address bar (every hero) ───────────────────────────── */
.addr-bar{display:flex;align-items:center;max-width:680px;margin:0 auto 14px;background:#fff;border-radius:var(--r-md);padding:6px 6px 6px 20px;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.08)}
.addr-bar .pin{font-size:1.2rem;margin-right:6px}
.addr-bar input{flex:1;border:none;background:transparent;font-size:1.05rem;color:var(--text);outline:none;padding:10px 0;min-width:0}
.addr-bar input::placeholder{color:var(--g400)}
.addr-bar button{flex-shrink:0;background:var(--red);color:#fff;padding:14px 28px;border-radius:var(--r-sm);font-family:var(--display);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;transition:var(--t);white-space:nowrap}
.addr-bar button:hover{background:var(--red-dk);box-shadow:var(--sh-red)}
.addr-bar.shake{outline:3px solid var(--red)}
.addr-hint{font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:18px}
.pg-hero .addr-bar{margin:0 auto 12px}

/* ── Offer modal (injected by site.js) ──────────────────── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease}
.overlay.open{opacity:1;pointer-events:all}
.modal{background:#fff;border-radius:var(--r-xl);width:100%;max-width:500px;max-height:calc(100vh - 40px);overflow-y:auto;transform:translateY(28px) scale(.97);transition:transform .35s var(--ease);position:relative;box-shadow:0 40px 100px rgba(0,0,0,.5)}
.overlay.open .modal{transform:none}
.modal::before{content:'';display:block;height:4px;background:linear-gradient(90deg,var(--red),var(--navy))}
.modal-body{padding:36px 36px 32px}
.mstep{display:none}.mstep.active{display:block}
.mstep h3{font-size:1.55rem;margin-bottom:6px}
.mstep .msub{font-size:.92rem;color:var(--g600);margin-bottom:22px;line-height:1.6}
.mfg{margin-bottom:14px}
.mfg label{display:block;font-size:.77rem;font-weight:700;color:var(--g800);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px}
.mfg input,.mfg select{width:100%;padding:13px 15px;border:2px solid var(--g200);border-radius:var(--r-sm);font-size:.97rem;color:var(--text);background:var(--g100);transition:var(--t)}
.mfg input:focus,.mfg select:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(238,51,54,.1)}
.mfg-row{display:flex;gap:12px}.mfg-row .mfg{flex:1;min-width:0}
.mnext{width:100%;padding:15px;background:var(--red);color:#fff;border-radius:var(--r-sm);font-family:var(--display);font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-top:6px;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:8px}
.mnext:hover{background:var(--red-dk);box-shadow:var(--sh-red)}
.mnext:disabled{opacity:.7;cursor:wait}
.msec{text-align:center;font-size:.76rem;color:var(--g600);margin-top:12px}
.modal-close{position:absolute;top:16px;right:18px;width:32px;height:32px;border-radius:50%;background:var(--g100);font-size:1.1rem;display:flex;align-items:center;justify-content:center;color:var(--g600);transition:var(--t);z-index:10}
.modal-close:hover{background:var(--g200);color:var(--navy)}
.msuccess{text-align:center;padding:10px 0}
.msuccess-ic{width:72px;height:72px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:1.8rem;color:#fff}
.msuccess h3{font-size:1.7rem;margin-bottom:10px}
.msuccess p{color:var(--g600);line-height:1.7;margin-bottom:24px}
.merr{color:var(--red);font-size:.84rem;margin-top:-6px;margin-bottom:10px;display:none}

/* ── Trust strip ────────────────────────────────────────── */
.tstrip{background:var(--navy-lt);padding:14px 24px}
.tstrip-in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.tpill{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);font-size:.86rem;font-weight:600;padding:8px 18px;border-right:1px solid rgba(255,255,255,.1)}
.tpill:last-child{border-right:none}

/* ── Facts band (homepage + county pages: sourced figures only) ── */
.facts{background:linear-gradient(135deg,var(--red) 0%,var(--red-dk) 100%);padding:52px 24px}
.facts-g{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.fnum{font-family:var(--display);font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:900;color:var(--white);line-height:1;margin-bottom:7px}
.flbl{color:rgba(255,255,255,.88);font-size:.92rem;font-weight:500;line-height:1.45}
.facts-src{max-width:var(--max);margin:22px auto 0;text-align:center;font-size:.76rem;color:rgba(255,255,255,.75)}
.facts-src a{text-decoration:underline}

/* ── Steps (how it works) ───────────────────────────────── */
.steps-g{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.steps-g::before{content:'';position:absolute;top:36px;left:calc(16.67% + 20px);right:calc(16.67% + 20px);height:2px;background:linear-gradient(90deg,var(--red),var(--navy));z-index:0}
.step{background:var(--white);border:2px solid var(--g200);border-radius:var(--r-lg);padding:34px 26px;text-align:center;transition:var(--t);position:relative;z-index:1}
.step:hover{border-color:var(--red);transform:translateY(-8px);box-shadow:var(--sh-lg)}
.step-n{width:70px;height:70px;background:var(--navy);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.8rem;font-weight:900;margin:0 auto 20px;border:4px solid var(--white);box-shadow:0 0 0 2px var(--navy);transition:background .25s ease}
.step:hover .step-n{background:var(--red)}
.step h3{font-size:1.25rem;margin-bottom:10px}
.step p{color:var(--g600);font-size:.98rem;line-height:1.7}

/* ── Split section (text + card) ────────────────────────── */
.split{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start}
.split .copy h2{margin-bottom:16px}
.split>aside{position:sticky;top:96px}
.copy p{color:var(--g800);margin-bottom:15px;line-height:1.85}
.copy h3{font-size:1.25rem;margin:26px 0 10px}
.copy a,.art-body a,.fa a,.sh p a,.note a{color:var(--red);font-weight:600}
.copy a:hover,.art-body a:hover,.fa a:hover{text-decoration:underline}
.note,.art-body p.note{font-size:.82rem;color:var(--g600);margin-top:14px;line-height:1.6}
.card{background:var(--white);border:2px solid var(--g200);border-radius:var(--r-lg);padding:28px}
.card h3{font-size:1.25rem;margin-bottom:12px}
.card.navy{background:var(--navy);border-color:var(--navy);color:rgba(255,255,255,.78)}
.card.navy h3{color:#fff}
.card.navy p{color:rgba(255,255,255,.75)}
.kv{display:flex;flex-direction:column;gap:12px}
.kv li{display:flex;flex-direction:column;border-bottom:1px solid var(--g200);padding-bottom:10px}
.kv li:last-child{border-bottom:none;padding-bottom:0}
.kv b{font-family:var(--display);font-size:.82rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--red)}
.kv span{font-size:.93rem;color:var(--g800);line-height:1.6}
.card.navy .kv li{border-color:rgba(255,255,255,.12)}
.card.navy .kv span{color:rgba(255,255,255,.82)}

/* ── Reason / feature cards ─────────────────────────────── */
.why-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.why{background:var(--white);border:2px solid var(--g200);border-radius:var(--r-md);padding:26px 24px;transition:var(--t)}
.why:hover{border-color:var(--red);box-shadow:var(--sh-md)}
.why-ic{font-size:1.9rem;margin-bottom:10px}
.why h3{font-size:1.12rem;margin-bottom:8px}
.why p{font-size:.93rem;color:var(--g600);line-height:1.7}

/* ── Situations grid ────────────────────────────────────── */
.sit-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.sit{background:var(--white);border-radius:var(--r-md);padding:24px 20px;text-align:center;border:2px solid transparent;transition:var(--t);display:block}
.bg-white .sit,.bg-off .sit{background:var(--g100);border-color:var(--g200)}
.sit:hover{border-color:var(--red);transform:translateY(-5px);box-shadow:var(--sh-md)}
.sit-ic{font-size:2.2rem;margin-bottom:10px}
.sit h3{font-size:1.03rem;margin-bottom:7px}
.sit p{font-size:.88rem;color:var(--g600);line-height:1.55}

/* ── Area grid (counties / cities) ──────────────────────── */
.area-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.area{background:var(--white);border:2px solid var(--g200);border-radius:var(--r-md);padding:16px 18px;display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:.95rem;color:var(--navy);transition:var(--t)}
.area small{font-weight:500;font-size:.78rem;color:var(--g600)}
.area:hover{border-color:var(--red);color:var(--red);transform:translateY(-3px)}
.area.hub{background:var(--navy);border-color:var(--red);color:#fff}
.area.hub small{color:rgba(255,255,255,.7)}
.area.hub:hover{background:var(--red);color:#fff}
.area-h{font-family:var(--display);font-size:1rem;letter-spacing:2px;text-transform:uppercase;color:var(--g600);margin:30px 0 12px}

/* ── Reviews ────────────────────────────────────────────── */
.testi-g{align-items:start;display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:22px}
.tcard{background:var(--white);border:2px solid var(--g200);border-radius:var(--r-md);padding:28px;position:relative;transition:var(--t)}
.tcard:hover{box-shadow:var(--sh-lg);transform:translateY(-4px);border-color:var(--red)}
.tq{position:absolute;top:14px;right:18px;font-size:3.8rem;color:var(--red);opacity:.09;font-family:Georgia,serif;line-height:1}
.tstars{color:#F59E0B;font-size:.95rem;letter-spacing:3px;margin-bottom:12px}
.tstars .off{color:var(--g200)}
.ttxt{font-size:.98rem;color:var(--g800);line-height:1.8;font-style:italic;margin-bottom:18px;white-space:pre-line}
.ttxt.empty{font-style:normal;color:var(--g600)}
.tauth{display:flex;align-items:center;gap:11px}
.tav{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red-dk));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;flex-shrink:0;font-family:var(--display)}
.tname{font-weight:700;color:var(--navy);font-size:.93rem}
.tsrc{font-size:.78rem;color:var(--g600)}
.score{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:-18px auto 36px}
.score-n{font-family:var(--display);font-size:3.4rem;font-weight:900;color:var(--navy);line-height:1}
.score-t{text-align:left;font-size:.9rem;color:var(--g600);line-height:1.5}

/* ── About / portraits ──────────────────────────────────── */
.about-g{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-portraits{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-portrait-img{border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:hidden;box-shadow:var(--sh-xl)}
.about-portrait-img img{width:100%;height:340px;object-fit:cover;object-position:top center}
.about-portrait-name{background:var(--navy);color:var(--white);padding:12px 16px;border-radius:0 0 var(--r-xl) var(--r-xl)}
.apn{font-family:var(--display);font-size:.98rem;font-weight:800;line-height:1.2}
.apt{font-size:.72rem;color:rgba(255,255,255,.6);margin-top:2px;text-transform:uppercase;letter-spacing:.8px}
.feats{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.feat{display:flex;align-items:flex-start;gap:13px;background:var(--white);border-radius:var(--r-sm);padding:15px;border:1px solid var(--g200)}
.feat-ic{width:42px;height:42px;background:rgba(238,51,54,.08);color:var(--red);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.feat h3{font-size:.95rem;margin-bottom:2px}
.feat p{font-size:.85rem;color:var(--g600);margin:0;line-height:1.6}

/* ── Comparison table ───────────────────────────────────── */
.comp-bg{background:#0a0c18;position:relative;overflow:hidden}
.comp-bg::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:900px;max-width:100%;height:500px;background:radial-gradient(ellipse,rgba(238,51,54,.12) 0%,transparent 70%);pointer-events:none}
.comp-bg .sh h2{color:var(--white)}
.comp-bg .sh p{color:rgba(255,255,255,.7)}
.ct-wrap{overflow-x:auto;border-radius:var(--r-lg);box-shadow:0 24px 60px rgba(0,0,0,.5);max-width:860px;margin:0 auto;position:relative}
.ct{width:100%;border-collapse:collapse}
.ct th{padding:16px 22px;font-family:var(--display);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.th-feat{background:#14172b;color:rgba(255,255,255,.55);text-align:left;width:30%}
.th-us{background:var(--red);color:#fff;text-align:center;width:35%}
.th-them{background:#1a1d30;color:rgba(255,255,255,.7);text-align:center;width:35%}
.ct tbody tr{border-bottom:1px solid rgba(255,255,255,.06)}
.td-feat{padding:13px 22px;font-size:.86rem;font-weight:600;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.5px;background:#0e1020}
.td-us{padding:13px 22px;background:#0b1f16;color:#6EE7B7;font-size:.93rem;text-align:center}
.td-them{padding:13px 22px;background:#180d12;color:#FCA5A5;font-size:.93rem;text-align:center}

/* ── FAQ accordion (markup: .fi > button.fq + div.fa) ───── */
.faq-w{max-width:860px;margin:0 auto}
.fi{border:2px solid var(--g200);border-radius:var(--r-md);margin-bottom:9px;overflow:hidden;transition:border-color .25s ease;background:var(--white)}
.fi.open{border-color:var(--red)}
.fq{width:100%;display:flex;align-items:center;justify-content:space-between;padding:19px 22px;font-family:var(--display);font-size:1.02rem;font-weight:700;color:var(--navy);gap:14px;text-transform:uppercase;letter-spacing:.3px;transition:var(--t);text-align:left}
.fq:hover{background:var(--g100)}
.fi.open .fq{color:var(--red)}
.fi-btn{width:27px;height:27px;background:var(--navy);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;transition:transform .3s var(--ease),background .25s ease}
.fi.open .fi-btn{transform:rotate(45deg);background:var(--red)}
.fa{display:none;padding:0 22px 20px;color:var(--g800);font-size:.95rem;line-height:1.8}
.fi.open .fa{display:block}
.faq-group{font-family:var(--display);font-size:1.35rem;margin:38px 0 14px}
.faq-group:first-child{margin-top:0}

/* ── Inner page hero ────────────────────────────────────── */
.pg-hero{background:var(--navy);padding:56px 24px 64px;position:relative;overflow:hidden}
.pg-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(238,51,54,.14) 0%,transparent 60%);pointer-events:none}
.pg-hero .wrap{position:relative;padding:0;text-align:center}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:18px}
.crumbs a{color:#ff9a9a}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{color:rgba(255,255,255,.35)}
.pg-hero h1{color:var(--white);font-size:clamp(2.2rem,5.6vw,3.9rem);margin:0 auto 16px;max-width:900px}
.pg-hero .lede{color:rgba(255,255,255,.78);font-size:1.07rem;max-width:62ch;line-height:1.75;margin:0 auto 26px}
.hero-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.hbadge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.85);padding:6px 14px;border-radius:var(--r-full);font-size:.78rem;font-weight:600}
.pg-hero .addr-hint{margin-bottom:14px}
.pg-hero .cta-btns{justify-content:center}

/* ── Article body + sidebar ─────────────────────────────── */
.art-wrap{max-width:var(--max);margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:56px;align-items:start}
.art-body{min-width:0}
.art-body h2{font-size:clamp(1.55rem,3.4vw,2.15rem);margin:48px 0 16px;padding-top:22px;border-top:3px solid var(--g200)}
.art-body h2:first-child{margin-top:0;border-top:none;padding-top:0}
.art-body h3{font-size:1.18rem;margin:28px 0 10px}
.art-body p{color:var(--g800);margin-bottom:16px;font-size:.98rem;line-height:1.85}
.art-body ul:not(.plain),.art-body ol:not(.plain){margin:12px 0 20px;display:flex;flex-direction:column;gap:8px}
.art-body ul:not(.plain)>li,.art-body ol:not(.plain)>li{font-size:.97rem;color:var(--g800);padding-left:24px;position:relative;line-height:1.75}
.art-body ul:not(.plain)>li::before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:700}
.art-body ol:not(.plain){counter-reset:li}
.art-body ol:not(.plain)>li{counter-increment:li}
.art-body ol:not(.plain)>li::before{content:counter(li)'.';position:absolute;left:0;color:var(--red);font-weight:700;font-family:var(--display)}
.callout,.warn-box,.info-box{border-radius:var(--r-md);padding:20px 24px;margin:24px 0}
.callout{background:rgba(238,51,54,.06);border-left:4px solid var(--red);border-radius:0 var(--r-md) var(--r-md) 0}
.warn-box{background:rgba(255,193,7,.08);border:1px solid rgba(214,158,0,.45)}
.info-box{background:rgba(38,45,102,.05);border:1px solid rgba(38,45,102,.16)}
.callout .ttl,.warn-box .ttl,.info-box .ttl{display:block;margin-bottom:6px;font-family:var(--display);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.callout .ttl{color:var(--red)}.warn-box .ttl{color:#7a5400}.info-box .ttl{color:var(--navy)}
.callout p:last-child,.warn-box p:last-child,.info-box p:last-child{margin-bottom:0}
/* timeline */
.tl{margin:22px 0 28px;border-left:3px solid var(--g200);padding-left:0}
.tl>li{position:relative;padding:0 0 22px 30px}
.tl>li::before{content:'';position:absolute;left:-9px;top:5px;width:15px;height:15px;border-radius:50%;background:var(--white);border:3px solid var(--red)}
.tl .when{display:block;font-family:var(--display);font-size:.8rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
.tl h3{font-size:1.05rem;margin:2px 0 6px}
.tl p{margin:0;font-size:.94rem}
/* data / options table */
.dt-wrap{overflow-x:auto;margin:20px 0 28px;border:2px solid var(--g200);border-radius:var(--r-md)}
.dt{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.dt th{background:var(--navy);color:#fff;font-family:var(--display);font-size:.9rem;letter-spacing:.5px;text-transform:uppercase;text-align:left;padding:12px 14px}
.dt td{padding:12px 14px;border-top:1px solid var(--g200);vertical-align:top;color:var(--g800);line-height:1.6}
.dt tr:nth-child(even) td{background:var(--off)}
.dt td:first-child{font-weight:600;color:var(--navy)}
/* stat row inside articles */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0 10px}
.stat-row>li{background:var(--off);border:1px solid var(--g200);border-radius:var(--r-md);padding:16px 18px}
.stat-row .n{display:block;font-family:var(--display);font-size:1.9rem;font-weight:900;color:var(--navy);line-height:1}
.stat-row .l{display:block;font-size:.8rem;color:var(--g600);margin-top:6px;line-height:1.45}
/* town pills */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.pills>li{background:var(--g100);border:1px solid var(--g200);border-radius:var(--r-full);padding:5px 13px;font-size:.84rem;font-weight:600;color:var(--navy)}
.pills>li a{color:var(--red)}
/* sidebar */
.sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:20px}
.side-card{background:var(--navy);border-radius:var(--r-lg);padding:28px;color:var(--white)}
.side-card h2{color:var(--white);font-size:1.35rem;margin-bottom:10px}
.side-card p{color:rgba(255,255,255,.72);font-size:.88rem;line-height:1.7;margin-bottom:18px}
.side-card .btn{width:100%;justify-content:center;font-size:.95rem;padding:13px 18px}
.side-card .btn+.btn{margin-top:10px}
.side-list{display:flex;flex-direction:column;gap:9px;margin:4px 0 18px}
.side-list li{font-size:.85rem;color:rgba(255,255,255,.78);padding-left:22px;position:relative}
.side-list li::before{content:'✓';position:absolute;left:0;color:#6EE7B7;font-weight:700}
.rel-card{background:var(--white);border:1px solid var(--g200);border-radius:var(--r-lg);overflow:hidden}
.rel-card h2{background:var(--navy);padding:14px 18px;font-size:.82rem;color:#fff;letter-spacing:1.5px}
.rel-card a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 18px;font-size:.88rem;font-weight:500;color:var(--g800);border-bottom:1px solid var(--g200);transition:var(--t)}
.rel-card li:last-child a{border-bottom:none}
.rel-card a::after{content:'→';color:var(--g400)}
.rel-card a:hover{background:rgba(238,51,54,.05);color:var(--red)}

/* ── Final CTA ──────────────────────────────────────────── */
.fcta{background:var(--navy);padding:84px 24px;text-align:center;position:relative;overflow:hidden}
.fcta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 110%,rgba(238,51,54,.28) 0%,transparent 65%)}
.fcta-in{position:relative;z-index:1;max-width:var(--max);margin:0 auto}
.fcta h2{color:var(--white);margin-bottom:14px;font-size:clamp(2rem,5vw,3.4rem)}
.fcta p{color:rgba(255,255,255,.74);font-size:1.05rem;max-width:620px;margin:0 auto 34px;line-height:1.75}
.fcta .label{color:rgba(255,255,255,.65)}
.cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.cta-fn{color:rgba(255,255,255,.55);font-size:.82rem;margin-top:20px}

/* ── Footer ─────────────────────────────────────────────── */
.ftr{background:var(--navy-mid);color:rgba(255,255,255,.72)}
.ftr-top{max-width:var(--max);margin:0 auto;padding:62px 24px 46px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px}
.ftr-brand img{height:46px;width:auto;filter:brightness(0) invert(1);margin-bottom:16px}
.ftr-brand p{font-size:.88rem;line-height:1.75;color:rgba(255,255,255,.6);margin-bottom:22px}
.socials{display:flex;gap:9px}
.soc{width:37px;height:37px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:.82rem;transition:var(--t)}
.soc:hover{background:var(--red);color:var(--white);border-color:var(--red)}
.fcol h2{font-size:.87rem;font-weight:700;color:var(--white);letter-spacing:1px;margin-bottom:16px;padding-bottom:9px;border-bottom:2px solid var(--red);display:inline-block}
.fcol ul{display:flex;flex-direction:column;gap:9px}
.fcol ul li a{color:rgba(255,255,255,.62);font-size:.88rem;transition:var(--t)}
.fcol ul li a:hover{color:var(--white);padding-left:4px}
.fcrow{display:flex;gap:9px;margin-bottom:11px;font-size:.88rem;color:rgba(255,255,255,.7)}
.fcrow a{color:rgba(255,255,255,.85)}
.fcrow a:hover{color:var(--white)}
.ftr-bar{border-top:1px solid rgba(255,255,255,.07);padding:19px 24px}
.ftr-bar-in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:11px;font-size:.81rem;color:rgba(255,255,255,.5)}
.fbar-links{display:flex;gap:18px;flex-wrap:wrap}
.fbar-links a{color:rgba(255,255,255,.5)}
.fbar-links a:hover{color:rgba(255,255,255,.85)}

/* ── Floating phone + scroll top ────────────────────────── */
.float-phone{display:none;position:fixed;bottom:18px;right:18px;z-index:999;background:var(--red);color:var(--white);padding:13px 22px;border-radius:var(--r-full);font-family:var(--display);font-weight:700;font-size:.97rem;text-transform:uppercase;letter-spacing:.4px;box-shadow:0 8px 36px rgba(238,51,54,.52);align-items:center;gap:9px;animation:pulse 2.5s ease-in-out infinite}
.scrolltop{position:fixed;bottom:22px;left:22px;z-index:999;width:44px;height:44px;background:var(--navy);color:var(--white);border-radius:50%;display:none;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:var(--sh-md);transition:var(--t)}
.scrolltop:hover{background:var(--red)}
.scrolltop.show{display:flex}

/* ── Scroll fade ────────────────────────────────────────── */
.js .fade{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .fade.in{opacity:1;transform:none}

/* ── Responsive ─────────────────────────────────────────── */
@media(max-width:1024px){
  .facts-g{grid-template-columns:repeat(2,1fr);gap:26px}
  .steps-g{grid-template-columns:1fr}.steps-g::before{display:none}
  .about-g,.split{grid-template-columns:1fr;gap:36px}
  .split>aside{position:static}
  .ftr-top{grid-template-columns:1fr 1fr}
  .art-wrap{grid-template-columns:minmax(0,1fr);gap:40px}
  .sidebar{position:static}
}
@media(max-width:1100px){.hdr-phone{display:none}.nav>a,.nav>.ndrop>button{padding:8px 8px}}
@media(max-width:900px){.nav,.hdr-r .btn,.hdr-phone{display:none}.tog{display:flex}}
@media(max-width:768px){
  :root{--sy:60px}
  .hero-grad{background:linear-gradient(180deg,rgba(13,17,42,.62) 0%,rgba(24,29,74,.58) 45%,rgba(24,29,74,.58) 75%,rgba(13,17,42,.7) 100%)}
  .topbar-l{display:none}
  .addr-bar{flex-direction:column;padding:12px;gap:10px}
  .addr-bar .pin{display:none}
  .addr-bar input{width:100%;padding:10px 4px;font-size:1rem}
  .addr-bar button{width:100%;padding:15px}
  .ftr-top{grid-template-columns:1fr;gap:28px}
  .ftr-bar-in{flex-direction:column;text-align:center}
  .float-phone{display:flex}
  .scrolltop{bottom:84px}
  .cta-btns,.btn-row{flex-direction:column;align-items:stretch}
  .cta-btns .btn,.btn-row .btn{justify-content:center;white-space:normal}
  .btn-xl{padding:18px 26px;font-size:1.12rem}
  .tpill{padding:6px 10px;font-size:.78rem;border-right:none}
  .modal-body{padding:28px 22px 24px}
  .about-portrait-img img{height:240px}
  .art-wrap{padding:44px 20px}
  .ct th,.ct td{padding:11px 10px}
  .fq{padding:16px 16px;font-size:.96rem}
  .fa{padding:0 16px 18px}
  .logo-st{display:none}
}
@media(max-width:480px){
  .hero h1{font-size:2.35rem}
  .pg-hero h1{font-size:2.15rem}
  .facts-g{grid-template-columns:1fr 1fr}
  .mfg-row{flex-direction:column;gap:0}
}
@media(max-width:640px){
  .dt-wrap{border:none;overflow:visible}
  .dt{min-width:0;display:block}
  .dt thead{display:none}
  .dt tbody,.dt tr,.dt td{display:block;width:100%}
  .dt tr{border:2px solid var(--g200);border-radius:var(--r-md);margin-bottom:12px;overflow:hidden;background:var(--white)}
  .dt tr:nth-child(even) td{background:transparent}
  .dt td{border-top:1px solid var(--g200);padding:9px 14px}
  .dt td:first-child{border-top:none;background:var(--navy)!important;color:#fff;font-family:var(--display);font-size:1rem;text-transform:uppercase;letter-spacing:.3px}
  .dt td:not(:first-child)::before{content:attr(data-label);display:block;font-family:var(--display);font-size:.74rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--red)}
}
@media(prefers-reduced-motion:reduce){*,.js .fade{animation:none!important;transition:none!important}.js .fade{opacity:1;transform:none}}

/* ── Blog (/blog/ index + post cards, 2026-10-07) ───────── */
.blog-intro{max-width:760px;margin:0 auto}
.blog-intro p{color:var(--g800);margin-bottom:14px}
.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.post-card a{display:flex;flex-direction:column;gap:8px;height:100%;background:var(--white);border:2px solid var(--g200);border-radius:var(--r-md);padding:24px 22px;transition:var(--t)}
.post-card a:hover{border-color:var(--red);transform:translateY(-4px);box-shadow:var(--sh-md)}
.post-meta{font-size:.78rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--g600)}
.post-card h3{font-size:1.25rem;line-height:1.1}
.post-card p{font-size:.92rem;color:var(--g600);line-height:1.65}
.post-more{margin-top:auto;font-weight:700;font-size:.88rem;color:var(--red)}
.post-empty{grid-column:1/-1;background:var(--white);border:2px dashed var(--g200);border-radius:var(--r-md);padding:30px 26px;text-align:center}
.post-empty h3{font-size:1.3rem;margin-bottom:8px}
.post-empty p{color:var(--g600);max-width:58ch;margin:0 auto}
@media(max-width:480px){.post-list{grid-template-columns:1fr}.post-card a,.post-empty{padding:20px 18px}}
