/* ============ Floors Market — Tampa Bay ============ */
*,*::before,*::after{box-sizing:border-box}
:root{
  --navy:#17293c; --navy-2:#1f374e; --navy-3:#2b4a68;
  --slate:#3f5f80; --blue:#3d8fc9; --blue-dk:#2a6f9f;
  --amber:#d8801f; --amber-dk:#b8681220; --amber-h:#c06f14;
  --ink:#16202b; --body:#4a5763; --muted:#6d7a87;
  --bg:#ffffff; --bg-2:#f5f7f9; --bg-3:#eef2f5;
  --line:#e0e6ec; --line-2:#cfd8e0;
  --wrap:1180px; --r:14px; --r-sm:9px;
  --sh:0 1px 2px rgba(23,41,60,.05),0 8px 24px rgba(23,41,60,.07);
  --sh-lg:0 2px 4px rgba(23,41,60,.06),0 18px 48px rgba(23,41,60,.13);
  --ff:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:86px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--ff);font-size:17px;line-height:1.65;color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{color:var(--ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.033em;font-weight:800}
h2{font-size:clamp(1.65rem,3.2vw,2.4rem);letter-spacing:-.028em}
h3{font-size:1.2rem;letter-spacing:-.018em}
p{margin:0 0 1em}
a{color:var(--blue-dk);text-decoration-thickness:1px;text-underline-offset:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px;top:0;background:var(--amber);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-size:.97rem;font-weight:650;line-height:1;padding:14px 22px;border-radius:var(--r-sm);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;white-space:nowrap}
.btn .ico{width:17px;height:17px;flex:none}
.btn-lg{padding:17px 28px;font-size:1.04rem}
.btn-block{width:100%}
.btn-primary{background:var(--amber);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.12),0 6px 18px rgba(216,128,31,.32)}
.btn-primary:hover{background:var(--amber-h);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.14),0 12px 26px rgba(216,128,31,.4)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.18);border-color:#fff}
.sec .btn-ghost,.sec-quote .btn-ghost{background:transparent;color:var(--navy);border-color:var(--line-2)}
.sec .btn-ghost:hover,.sec-quote .btn-ghost:hover{background:var(--bg-2);border-color:var(--slate)}
.btn-call{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.28);font-weight:700}
.btn-call:hover{background:var(--amber);border-color:var(--amber)}

/* ---- header ---- */
.hdr{position:sticky;top:0;z-index:100;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.09)}
.hdr-in{display:flex;align-items:center;gap:28px;min-height:72px}
.brand{flex:none;display:flex;align-items:center;text-decoration:none}
.brand img{width:172px;height:auto}
.nav{display:flex;gap:26px;margin-left:auto;font-size:.93rem;font-weight:550}
.nav a{color:rgba(255,255,255,.82);text-decoration:none;padding:6px 0;position:relative;transition:color .15s}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--amber);transition:right .2s ease}
.nav a:hover{color:#fff}
.nav a:hover::after{right:0}
.hdr-call{padding:11px 18px;font-size:.93rem}
@media (max-width:1020px){.nav{display:none}.hdr-in{gap:16px}.hdr-call{margin-left:auto}}
@media (max-width:430px){.brand img{width:132px}.hdr-call span{display:none}.hdr-call{padding:11px 13px}}

/* ---- hero ---- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,28,42,.96) 0%,rgba(15,28,42,.9) 38%,rgba(15,28,42,.62) 62%,rgba(15,28,42,.42) 100%)}
.hero-in{position:relative;padding:clamp(64px,9vw,116px) 24px clamp(60px,8vw,104px)}
.hero-copy{max-width:660px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.79rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#9ec9e8;background:rgba(61,143,201,.14);border:1px solid rgba(61,143,201,.3);padding:7px 15px;border-radius:99px;margin:0 0 22px}
.pulse{width:7px;height:7px;border-radius:50%;background:#5fd08a;box-shadow:0 0 0 0 rgba(95,208,138,.6);animation:pl 2.4s infinite}
@keyframes pl{70%{box-shadow:0 0 0 9px rgba(95,208,138,0)}100%{box-shadow:0 0 0 0 rgba(95,208,138,0)}}
.hero h1{color:#fff;margin-bottom:.42em}
.hero h1 .hl{color:#f0a54a}
.lede{font-size:clamp(1.06rem,1.9vw,1.24rem);color:rgba(255,255,255,.87);max-width:585px;margin-bottom:32px}
.lede strong{color:#fff;font-weight:650}
.hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:34px}
.hero-proof{display:flex;flex-wrap:wrap;gap:12px 30px;list-style:none;margin:0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.16);font-size:.92rem;color:rgba(255,255,255,.72)}
.hero-proof strong{color:#fff;font-weight:700;margin-right:5px}

/* ---- trust bar ---- */
.trustbar{background:var(--navy-2);border-top:1px solid rgba(255,255,255,.08)}
.trustbar-in{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 30px;padding:24px}
.trust{display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.68);font-size:.87rem;line-height:1.35}
.trust .tico{width:27px;height:27px;flex:none;color:#5aa5d8}
.trust strong{display:block;color:#fff;font-size:.97rem;font-weight:650;letter-spacing:-.01em}
@media (max-width:880px){.trustbar-in{grid-template-columns:1fr 1fr;gap:20px}}
@media (max-width:520px){.trustbar-in{grid-template-columns:1fr}}

/* ---- sections ---- */
.sec{padding:clamp(62px,8vw,104px) 0}
.sec-alt{background:var(--bg-2);border-block:1px solid var(--line)}
.sec-hd{max-width:730px;margin:0 0 clamp(38px,5vw,58px)}
.sec-hd-c{margin-inline:auto;text-align:center}
.kicker{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dk);margin:0 0 12px}
.sec-sub{font-size:1.07rem;color:var(--muted);margin:0}
.sec-dark .kicker{color:#7cb8e2}
.sec-dark .sec-sub{color:rgba(255,255,255,.66)}

/* ---- audiences ---- */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.aud-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 28px 30px;box-shadow:var(--sh);transition:transform .18s ease,box-shadow .18s ease}
.aud-card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.aud-card-feat{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),var(--sh-lg)}
.aud-ico{width:52px;height:52px;border-radius:12px;background:linear-gradient(150deg,#eaf3fa,#d8e9f6);display:grid;place-items:center;color:var(--navy-3);margin-bottom:20px}
.aud-ico svg{width:29px;height:29px}
.aud-lead{font-size:1.03rem;color:var(--ink);font-weight:550;margin-bottom:16px}
.aud-note{margin:16px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:.87rem;color:var(--blue-dk);font-weight:600}
@media (max-width:940px){.aud{grid-template-columns:1fr;max-width:620px}}

/* ---- ticks ---- */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.94rem}
.ticks li{position:relative;padding-left:27px}
.ticks li::before{content:"";position:absolute;left:0;top:.46em;width:15px;height:9px;border-left:2.2px solid var(--blue);border-bottom:2.2px solid var(--blue);transform:rotate(-45deg)}
.ticks-lg{font-size:1rem;gap:12px;margin-top:26px}

/* ---- product cards ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.card-img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--bg-3)}
.card-body{padding:26px 26px 30px}
.card-body h3{font-size:1.3rem}
.card-body p{font-size:.95rem;margin-bottom:18px}
@media (max-width:940px){.cards{grid-template-columns:1fr;max-width:560px}}

/* ---- steps ---- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:s}
.step{position:relative;padding-top:8px}
.step-n{width:44px;height:44px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:750;font-size:1.1rem;margin-bottom:18px}
.step h3{font-size:1.16rem}
.step p{font-size:.95rem;margin:0}
.how-cta{margin-top:48px;text-align:center}
@media (max-width:880px){.steps{grid-template-columns:1fr;max-width:560px;gap:32px}}

/* ---- how-it-works feature image ---- */
.howfig{margin:0 0 clamp(38px,5vw,54px);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-lg);border:1px solid var(--line)}
.howfig img{width:100%;aspect-ratio:16/7;object-fit:cover}

/* ---- gallery ---- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gi{margin:0;position:relative;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-3);box-shadow:var(--sh)}
.gi img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.gi:hover img{transform:scale(1.045)}
.gi-lg{grid-column:span 2;grid-row:span 2}
.gi-lg img{aspect-ratio:auto;height:100%;min-height:100%}
.gi figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;font-size:.79rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(12,24,36,.82))}
@media (max-width:940px){.gal{grid-template-columns:repeat(2,1fr)}.gi-lg{grid-column:span 2;grid-row:auto}.gi-lg img{aspect-ratio:16/9}}
@media (max-width:520px){.gal{grid-template-columns:1fr}.gi-lg{grid-column:auto}}

/* ---- why ---- */
.why-in{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(36px,5vw,64px);align-items:center}
.why-copy p{font-size:1.03rem}
.why-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.why-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:24px 20px;text-align:center}
.stat strong{display:block;font-size:2.1rem;font-weight:800;color:var(--navy);letter-spacing:-.035em;line-height:1}
.stat span{display:block;margin-top:7px;font-size:.83rem;color:var(--muted);font-weight:550}
@media (max-width:940px){.why-in{grid-template-columns:1fr}}

/* ---- reviews ---- */
.sec-dark{background:var(--navy);color:rgba(255,255,255,.8)}
.sec-dark h2,.sec-dark h3{color:#fff}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{margin:0;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:28px 26px}
.stars{color:#f5b445;font-size:1.02rem;letter-spacing:2px;margin-bottom:14px}
.quote blockquote{margin:0}
.quote blockquote p{color:#fff;font-size:1.04rem;line-height:1.55;font-weight:500;margin:0}
.quote figcaption{margin-top:16px;font-size:.81rem;color:rgba(255,255,255,.5);font-weight:550}
@media (max-width:940px){.quotes{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

/* ---- service areas ---- */
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.areacol h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.09em;color:var(--blue-dk);padding-bottom:12px;border-bottom:2px solid var(--line);margin-bottom:16px}
.arealist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:.93rem}
.arealist a{color:var(--body);text-decoration:none;transition:color .13s}
.arealist a:hover{color:var(--blue-dk);text-decoration:underline}
@media (max-width:880px){.areas-grid{grid-template-columns:1fr;gap:26px}}
.hours-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.hours-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.hours-card h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.09em;color:var(--blue-dk);margin-bottom:14px}
.hours{margin:0;font-size:.95rem}
.hours>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--line)}
.hours>div:last-child{border:0}
.hours dt{color:var(--body)}
.hours dd{margin:0;font-weight:650;color:var(--ink)}
.hours .closed{color:var(--muted);font-weight:500}
.nap{font-size:.95rem;margin:0;line-height:1.85}
@media (max-width:620px){.hours-strip{grid-template-columns:1fr}}

/* ---- quote ---- */
.sec-quote{background:var(--bg-3);border-top:1px solid var(--line);padding:clamp(62px,8vw,104px) 0}
.quote-in{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(34px,5vw,60px);align-items:start}
.quote-copy .btn{margin-top:6px}
.qform{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--sh-lg);display:grid;gap:15px}
.qform .row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.fld{display:grid;gap:6px}
.fld>span{font-size:.85rem;font-weight:650;color:var(--ink)}
.fld>span em{font-weight:400;color:var(--muted);font-style:normal}
.fld input,.fld select,.fld textarea{font-family:inherit;font-size:.97rem;color:var(--ink);padding:12px 14px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:#fff;transition:border-color .14s,box-shadow .14s;width:100%}
.fld textarea{resize:vertical;min-height:96px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,143,201,.16)}
.fld input[aria-invalid="true"]{border-color:#d14343;box-shadow:0 0 0 3px rgba(209,67,67,.13)}
.qform-note{font-size:.83rem;color:var(--muted);margin:0;text-align:center}
.qform-note.ok{color:#1d7a45;font-weight:600}
.qform-note.err{color:#c23434;font-weight:600}
@media (max-width:880px){.quote-in{grid-template-columns:1fr}.qform .row{grid-template-columns:1fr}}

/* ---- footer ---- */
.ftr{background:var(--navy);color:rgba(255,255,255,.62);font-size:.92rem;padding:58px 0 0}
.ftr-in{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:40px;padding-bottom:44px}
.ftr-brand img{width:180px;margin-bottom:18px}
.ftr-brand p{max-width:400px;font-size:.9rem;line-height:1.7;margin:0}
.ftr h4{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:15px}
.ftr-nav{display:flex;flex-direction:column;gap:9px}
.ftr-nav a,.ftr-nap a{color:rgba(255,255,255,.68);text-decoration:none;transition:color .13s}
.ftr-nav a:hover,.ftr-nap a:hover{color:#fff;text-decoration:underline}
.ftr-nap{display:flex;flex-direction:column;gap:9px}
.ftr-phone{font-size:1.24rem!important;font-weight:750;color:#fff!important;letter-spacing:-.02em}
.ftr-btm{border-top:1px solid rgba(255,255,255,.11);padding-top:20px;padding-bottom:104px;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.42)}
.ftr-seo{max-width:640px}
@media (max-width:880px){.ftr-in{grid-template-columns:1fr;gap:32px}}

/* ---- sticky mobile call bar ---- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:99;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(23,41,60,.95);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.13);display:none}
.callbar-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--amber);color:#fff;font-weight:700;font-size:1.03rem;padding:15px;border-radius:var(--r-sm);text-decoration:none;box-shadow:0 4px 16px rgba(216,128,31,.4)}
.callbar-btn .ico{width:18px;height:18px}
@media (max-width:760px){.callbar{display:block}body{padding-bottom:0}}
@media (min-width:761px){.ftr-btm{padding-bottom:26px}}

/* ============ CITY PAGES ============ */
.chero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.chero-media{position:absolute;inset:0}
.chero-media img{width:100%;height:100%;object-fit:cover}
.chero-scrim{position:absolute;inset:0;background:linear-gradient(95deg,rgba(15,28,42,.96),rgba(15,28,42,.86) 48%,rgba(15,28,42,.55))}
.chero-in{position:relative;padding:clamp(46px,6.5vw,80px) 24px clamp(44px,6vw,72px);max-width:800px}
.crumb{font-size:.83rem;color:rgba(255,255,255,.55);margin:0 0 18px}
.crumb a{color:rgba(255,255,255,.78);text-decoration:none}
.crumb a:hover{color:#fff;text-decoration:underline}
.chero h1{color:#fff;font-size:clamp(1.85rem,4.2vw,2.9rem);margin-bottom:.4em}
.chero h1 .hl{color:#f0a54a}
.chero .lede{margin-bottom:28px}
.cmeta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.cchip{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.85);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);padding:7px 14px;border-radius:99px}
.cbody{display:grid;grid-template-columns:1.5fr .85fr;gap:clamp(34px,5vw,60px);align-items:start}
.cmain h2{font-size:clamp(1.4rem,2.6vw,1.85rem);margin-top:2em}
.cmain h2:first-child{margin-top:0}
.cmain p{font-size:1.02rem}
.cprose>ul{margin:0 0 1.4em;padding-left:0;list-style:none;display:grid;gap:9px}
.cprose>ul li{position:relative;padding-left:27px}
.cprose>ul li::before{content:"";position:absolute;left:0;top:.46em;width:15px;height:9px;border-left:2.2px solid var(--blue);border-bottom:2.2px solid var(--blue);transform:rotate(-45deg)}
.cfig{margin:34px 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh)}
.cfig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.cfig figcaption{padding:11px 16px;font-size:.83rem;color:var(--muted);background:var(--bg-2);border-top:1px solid var(--line)}
.cside{position:sticky;top:96px;display:grid;gap:18px}
.cbox{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.cbox-cta{background:var(--navy);border-color:var(--navy);color:rgba(255,255,255,.78)}
.cbox-cta h3{color:#fff}
.cbox-cta .btn{width:100%;margin-top:6px}
.cbox h3{font-size:1.05rem;margin-bottom:12px}
.cbox p{font-size:.93rem;margin-bottom:14px}
.cbox p:last-child{margin-bottom:0}
.cbox-rating{display:flex;align-items:baseline;gap:9px;margin-bottom:6px}
.cbox-rating strong{font-size:2rem;font-weight:800;color:#fff;line-height:1}
.nearby{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.nearby a{font-size:.86rem;color:var(--body);background:#fff;border:1px solid var(--line-2);padding:6px 13px;border-radius:99px;text-decoration:none;transition:.14s}
.nearby a:hover{border-color:var(--blue);color:var(--blue-dk)}
.faq{display:grid;gap:12px;margin-top:20px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:0;overflow:hidden}
.faq summary{cursor:pointer;padding:17px 20px;font-weight:650;color:var(--ink);font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.35rem;color:var(--blue);font-weight:500;line-height:1;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq .fa{padding:16px 20px 19px;font-size:.96rem;margin:0}
@media (max-width:940px){.cbody{grid-template-columns:1fr}.cside{position:static}}

/* ---- areas index ---- */
.aidx{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.aidx-col h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.09em;color:var(--blue-dk);padding-bottom:12px;border-bottom:2px solid var(--line);margin-bottom:14px}
.aidx-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.aidx-col a{display:block;padding:9px 12px;margin-left:-12px;border-radius:var(--r-sm);color:var(--body);text-decoration:none;font-size:.96rem;transition:.13s}
.aidx-col a:hover{background:var(--bg-2);color:var(--blue-dk)}
@media (max-width:880px){.aidx{grid-template-columns:1fr;gap:28px}}

/* ---- SEO chips ---- */
.chip-h{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;color:var(--blue-dk);margin:26px 0 12px}
.chips{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{margin:0}
.chips li,.chips a{display:inline-block;font-size:.85rem;line-height:1.2;padding:8px 14px;border-radius:99px;border:1px solid var(--line-2);background:#fff;color:var(--body);text-decoration:none;transition:.14s}
.chips a{padding:0;border:0;background:none}
.chips li:has(a){padding:0;border:0;background:none}
.chips li:has(a) a{padding:8px 14px;border:1px solid var(--line-2);background:#fff}
.chips li:has(a) a:hover{border-color:var(--blue);color:var(--blue-dk);background:#f3f9fd}
.chips-area li{background:var(--bg-2);border-color:var(--line)}
.chips-zip li{font-variant-numeric:tabular-nums;font-weight:600;color:var(--navy);background:#fff}
.cprose .chips li::before{display:none}
.cprose .chips{padding-left:0}

/* ---- comparison table ---- */
.cmp{overflow-x:auto;margin:0 0 26px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.cmp table{border-collapse:collapse;width:100%;min-width:520px;font-size:.92rem}
.cmp th,.cmp td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.cmp thead th{background:var(--navy);color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;border-bottom:0}
.cmp tbody th{width:26%;color:var(--ink);font-weight:650;background:var(--bg-2);white-space:nowrap}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
@media (max-width:560px){.cmp tbody th{white-space:normal}}

/* chips must beat the .cprose>ul grid rule */
.cprose>ul.chips{display:flex;flex-wrap:wrap;gap:8px;padding-left:0;margin:0 0 22px}
.cprose>ul.chips>li{padding-left:0;display:inline-block}
.cprose>ul.chips>li::before{content:none;display:none}
.cprose>ul.chips>li:has(a){padding:0}

/* grid items default to min-width:auto, letting wide tables push the page — clamp them */
.cbody>*{min-width:0}
.cmain{min-width:0;max-width:100%}
.cmp{max-width:100%}

/* ================= ENTERPRISE FOOTER ================= */
.ftr-top{display:grid;grid-template-columns:1.15fr 3fr;gap:48px;padding:58px 24px 42px}
.fbrand img{width:190px;margin-bottom:18px}
.fbrand p{font-size:.88rem;line-height:1.7;margin:0 0 18px;max-width:330px}
.fphone{display:inline-flex;align-items:center;gap:9px;font-size:1.28rem;font-weight:750;color:#fff!important;text-decoration:none;letter-spacing:-.02em;margin-bottom:8px}
.fphone .ico{width:17px;height:17px}
.fphone:hover{color:#f0a54a!important}
.femail{display:block;font-size:.9rem;color:rgba(255,255,255,.7);text-decoration:none;margin-bottom:16px}
.femail:hover{color:#fff;text-decoration:underline}
.faddr{font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.58);margin:0 0 16px}
.frating{font-size:.86rem;color:rgba(255,255,255,.72);margin:0}
.frating .stars{color:#f5b445;letter-spacing:1px;font-size:.9rem}
.frating strong{color:#fff}
.fcols{display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.fcol h4{color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.14)}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fcol a{color:rgba(255,255,255,.66);text-decoration:none;font-size:.855rem;line-height:1.4;transition:color .13s}
.fcol a:hover{color:#fff;text-decoration:underline}
.ftr-legal{border-top:1px solid rgba(255,255,255,.11);padding:18px 24px}
.ftr-legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.ftr-legal a{color:rgba(255,255,255,.52);text-decoration:none;font-size:.79rem}
.ftr-legal a:hover{color:#fff;text-decoration:underline}
@media (max-width:1080px){.ftr-top{grid-template-columns:1fr;gap:36px}.fcols{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.fcols{grid-template-columns:repeat(2,1fr);gap:26px}}
@media (max-width:430px){.fcols{grid-template-columns:1fr}}

/* ---- compact hero for non-location pages ---- */
.chero-sm .chero-in{padding:clamp(40px,5.5vw,66px) 24px clamp(38px,5vw,58px);max-width:760px}
.chero-sm h1{font-size:clamp(1.75rem,4vw,2.7rem)}

/* ---- long-form document pages ---- */
.doc{max-width:820px}
.doc .cmain h2{margin-top:2.2em;font-size:clamp(1.25rem,2.2vw,1.6rem)}
.doc .cmain h2:first-child{margin-top:0}
.doc .cmain ul,.doc .cmain ol{margin:0 0 1.4em;padding-left:0;list-style:none;display:grid;gap:9px}
.doc .cmain ol{counter-reset:d;list-style:none}
.doc .cmain ol>li{position:relative;padding-left:34px;counter-increment:d}
.doc .cmain ol>li::before{content:counter(d);position:absolute;left:0;top:.05em;width:23px;height:23px;border-radius:6px;background:var(--navy);color:#fff;font-size:.76rem;font-weight:700;display:grid;place-items:center}
mark.todo{background:#fff3d4;color:#7a4a00;border:1px solid #e9c877;border-radius:5px;padding:2px 8px;font-size:.83rem;font-weight:600}

/* ---- numbered lists inside prose columns ---- */
.cprose ol{margin:0 0 1.4em;padding-left:0;list-style:none;counter-reset:d;display:grid;gap:9px}
.cprose ol>li{position:relative;padding-left:34px;counter-increment:d}
.cprose ol>li::before{content:counter(d);position:absolute;left:0;top:.05em;width:23px;height:23px;border-radius:6px;background:var(--navy);color:#fff;font-size:.76rem;font-weight:700;display:grid;place-items:center}

/* ---- SMS consent ---- */
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.79rem;line-height:1.55;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px}
.consent input{margin:2px 0 0;width:17px;height:17px;flex:none;accent-color:var(--blue-dk)}
.consent a{color:var(--blue-dk)}

/* ---- footer social ---- */
.fsocial{display:inline-flex;align-items:center;gap:9px;color:rgba(255,255,255,.7);text-decoration:none;font-size:.86rem;font-weight:550;padding:8px 14px;border:1px solid rgba(255,255,255,.18);border-radius:99px;margin:0 0 16px;transition:.15s}
.fsocial svg{width:17px;height:17px;flex:none}
.fsocial:hover{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.07)}

/* ---- one-room special banner ---- */
.special{background:linear-gradient(100deg,#1f374e,#2b4a68);border-top:3px solid var(--amber);color:#fff}
.special-in{display:flex;align-items:center;gap:clamp(18px,3vw,38px);padding:24px}
.special-price{flex:none;display:grid;place-items:center;line-height:1;padding-right:clamp(18px,3vw,32px);border-right:1px solid rgba(255,255,255,.2)}
.special-num{font-size:clamp(2.2rem,4.5vw,3.1rem);font-weight:800;color:#f0a54a;letter-spacing:-.04em}
.special-lab{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.7);margin-top:7px;font-weight:650}
.special-copy{flex:1;min-width:0}
.special-copy h2{color:#fff;font-size:clamp(1.1rem,2vw,1.45rem);margin:0 0 6px;letter-spacing:-.02em}
.special-copy p{margin:0;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.78)}
.special-copy strong{color:#fff}
.special-cta{flex:none;display:grid;gap:9px;justify-items:center}
.special-more{font-size:.83rem;color:rgba(255,255,255,.75);text-decoration:none;font-weight:600}
.special-more:hover{color:#fff;text-decoration:underline}
@media (max-width:900px){
  .special-in{display:block;padding:30px 24px 32px;text-align:center}
  .special-price{display:inline-flex;flex-direction:column;align-items:center;gap:2px;
    border:1px solid rgba(240,165,74,.45);border-radius:14px;background:rgba(240,165,74,.1);
    padding:14px 26px;margin:0 0 20px}
  .special-num{font-size:2.9rem;line-height:1}
  .special-lab{margin-top:6px;font-size:.7rem;letter-spacing:.16em}
  .special-copy h2{font-size:1.45rem;margin-bottom:12px}
  .special-copy p{font-size:.95rem;max-width:34ch;margin:0 auto}
  .special-terms{margin:18px auto 0}
  .special-cta{margin-top:24px;justify-items:stretch;gap:14px}
  .special-cta .btn{width:100%;padding:16px}
  .special-more{text-align:center;font-size:.9rem}
}
@media (max-width:420px){
  .special-num{font-size:2.5rem}
  .special-copy h2{font-size:1.28rem}
}

/* ---- special banner photo background ---- */
.special{position:relative;overflow:hidden}
.special-bg{position:absolute;inset:0;z-index:0}
.special-bg img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.special::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(23,41,60,.93) 0%,rgba(23,41,60,.85) 45%,rgba(23,41,60,.6) 100%)}
.special-in{position:relative;z-index:2}

/* ---- honeypot: hidden from people, visible to bots ---- */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}


/* ---- special banner: terms as pills ---- */
.special-terms{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;justify-content:inherit}
.special-terms li{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);
  padding:6px 12px;border-radius:99px;white-space:nowrap}
@media (max-width:900px){.special-terms{justify-content:center}}

@media (max-width:900px){
  .special::after{background:linear-gradient(180deg,rgba(23,41,60,.94) 0%,rgba(23,41,60,.88) 55%,rgba(23,41,60,.74) 100%)}
  .special-bg img{object-position:center 80%}
}
