/* ============================================================
   Right Tech Experts — Clarity design system (shared stylesheet)
   Used by every page. Edit tokens here to retheme the whole site.
   ============================================================ */
:root{
  --navy:#0B2545; --navy-2:#0E3160; --ink:#10243B; --ink-1:#1D3350; --ink-2:#5A6B82;
  --blue:#0B5CD6; --blue-700:#0847A8; --blue-50:#E7F0FF;
  --teal:#0E8C84; --teal-50:#E4F4F2;            /* repair-path accent */
  --amber:#F59E0B;
  --slate:#46586F; --slate-2:#76869A; --line:#DCE3EC;
  --bg:#FFFFFF; --soft:#F5F8FC; --soft-2:#EDF3FA; --green:#10A36B;
  --r:14px; --rs:10px; --maxw:1320px;
  --sh-sm:0 1px 2px rgba(10,37,64,.06),0 2px 8px rgba(10,37,64,.05);
  --sh-md:0 8px 30px rgba(10,37,64,.10);
  --sh-lg:0 24px 60px rgba(10,37,64,.16);
  --ease:.2s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.02em;font-weight:700}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.eyebrow .ico{width:18px;height:18px}
.muted{color:var(--slate)}
.center{text-align:center}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.95rem;letter-spacing:-.01em;padding:.82rem 1.4rem;border-radius:var(--rs);border:1px solid transparent;cursor:pointer;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap;font-family:inherit}
.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.btn-primary{background:linear-gradient(180deg,#1A6BE6,#0B5CD6);color:#fff;box-shadow:0 1px 2px rgba(10,37,64,.12),0 6px 16px -4px rgba(11,92,214,.42),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:hover{background:linear-gradient(180deg,#1361DE,#0847A8);transform:translateY(-1px);box-shadow:0 2px 4px rgba(10,37,64,.14),0 12px 26px -6px rgba(11,92,214,.5),inset 0 1px 0 rgba(255,255,255,.26)}
.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(10,37,64,.2),inset 0 2px 4px rgba(8,40,90,.22)}
.btn-dark{background:linear-gradient(180deg,#103458,var(--navy));color:#fff;box-shadow:0 1px 2px rgba(10,37,64,.16),0 6px 16px -4px rgba(10,37,64,.34),inset 0 1px 0 rgba(255,255,255,.1)}
.btn-dark:hover{background:linear-gradient(180deg,#0C2A48,#082039);transform:translateY(-1px);box-shadow:0 2px 4px rgba(10,37,64,.2),0 12px 24px -6px rgba(10,37,64,.4)}
.btn-dark:active{transform:translateY(0)}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:0 1px 2px rgba(10,37,64,.05)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(11,92,214,.28)}
.btn-ghost:active{transform:translateY(0);box-shadow:none}
.btn-white{background:#fff;color:var(--blue);box-shadow:0 2px 10px -2px rgba(10,37,64,.25)}
.btn-white:hover{background:#eef4ff;transform:translateY(-1px);box-shadow:0 8px 22px -6px rgba(10,37,64,.3)}
.btn-white:active{transform:translateY(0)}
.btn-outline-w{background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.4);backdrop-filter:blur(4px)}
.btn-outline-w:hover{border-color:#fff;background:rgba(255,255,255,.12);transform:translateY(-1px)}
.btn-outline-w:active{transform:translateY(0)}
.btn-lg{padding:1rem 1.7rem;font-size:1.05rem}
.btn-block{width:100%}

/* ---------- utility bar ---------- */
.util{background:var(--navy);color:#cdd9e8;font-size:.84rem}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:1rem;flex-wrap:nowrap;white-space:nowrap}
.util a{color:#fff;font-weight:600}
.util .u-left,.util .u-right{display:flex;gap:1.3rem;align-items:center}
.util .u-left span,.util .u-right span{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}
.util .stars{color:var(--amber);letter-spacing:1px}
.util svg{opacity:.8}
.util .u-remote{background:var(--blue);color:#fff;font-weight:600;padding:.3rem .7rem;border-radius:8px;transition:background .16s}
.util .u-remote:hover{background:var(--blue-700)}
.util .u-remote svg{opacity:1}
.util .tick{display:flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:.25rem .6rem}
.util .tick input{background:transparent;border:none;color:#fff;font-size:.8rem;width:auto;min-width:92px;max-width:140px;outline:none;font-family:inherit}
@media(max-width:1080px){.util .wrap{gap:.75rem}}
.util .tick input::placeholder{color:#8ba3c0}
.util .tick button{background:var(--blue);color:#fff;border:none;border-radius:5px;font-size:.72rem;font-weight:700;padding:.2rem .55rem;cursor:pointer}
@media(max-width:980px){.util .hide-md{display:none!important}}
@media(max-width:600px){.util .hide-sm{display:none!important}}

/* ---------- header / nav ---------- */
header.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 30px -22px rgba(11,37,69,.45)}
.nav .bar{display:flex;align-items:center;height:74px;gap:1.4rem}
.logo{display:flex;align-items:center;gap:.7rem;font-weight:700;font-size:1.16rem;letter-spacing:-.02em;color:var(--navy);flex:none}
.logo .mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(160deg,#2D7BF0,var(--blue));display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.34rem;line-height:1;box-shadow:0 5px 14px -4px rgba(11,92,214,.55),inset 0 1px 0 rgba(255,255,255,.4);flex:none}
.logo small{display:block;font-size:.6rem;font-weight:600;letter-spacing:.16em;color:var(--slate);text-transform:uppercase;margin-top:1px}
.logo .lt{display:flex;flex-direction:column;line-height:1.1}

nav.menu{display:flex;align-items:center;gap:.1rem;height:100%;flex:1;justify-content:center}
.mi{position:relative;display:flex;align-items:center}
.mi>a{position:relative;display:flex;align-items:center;gap:.34rem;font-weight:500;font-size:.93rem;color:var(--ink);padding:.5rem .64rem;transition:color .18s ease;white-space:nowrap}
.mi>a:hover,.mi>a.active{color:var(--blue);background:transparent}
.mi>a.active{font-weight:600}
.mi>a::after{content:"";position:absolute;left:.64rem;right:.64rem;bottom:.18rem;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.4,0,.2,1)}
.mi>a:hover::after,.mi>a.active::after{transform:scaleX(1)}
.mi>a .chev{transition:var(--ease);opacity:.6}
.mi:hover>a .chev{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-lg);padding:18px;opacity:0;visibility:hidden;transition:var(--ease);z-index:120}
.mi:hover .mega,.mi:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.mega-grid{display:grid;gap:4px;width:max-content;max-width:640px}
.mega-grid.cols-2{grid-template-columns:1fr 1fr}
.mega-link{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .8rem;border-radius:10px;transition:var(--ease);min-width:0}
.mega-link:hover{background:var(--soft)}
.mega-link .mli{width:34px;height:34px;border-radius:9px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}
.mega-link.repair .mli{background:var(--teal-50);color:var(--teal)}
.mega-link b{display:block;font-size:.92rem;color:var(--navy);font-weight:700}
.mega-link span{display:block;font-size:.8rem;color:var(--slate);line-height:1.35}
.mega-foot{grid-column:1/-1;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.mega-foot a{font-weight:700;color:var(--blue);font-size:.9rem;display:inline-flex;gap:.35rem;align-items:center}
.mega-foot .note{font-size:.82rem;color:var(--slate)}

.nav-cta{display:flex;align-items:center;gap:.6rem;flex:none;margin-left:auto}
.btn-call{font-weight:700;color:var(--navy)}
.btn-call svg{color:var(--blue)}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:var(--ease)}
@media(max-width:1360px){.btn-call{display:none}}
@media(max-width:1240px){.logo small{display:none}}
@media(max-width:1100px){nav.menu{display:none}.burger{display:flex}}
@media(max-width:560px){.nav-cta .btn{display:none}.nav .bar{height:64px}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:200;background:rgba(10,37,64,.5);opacity:0;visibility:hidden;transition:var(--ease);overflow:hidden}
.drawer.open{opacity:1;visibility:visible}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(360px,86vw);background:#fff;box-shadow:var(--sh-lg);padding:22px;overflow-y:auto;transform:translateX(100%);transition:var(--ease)}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.drawer-close{background:var(--soft);border:none;width:38px;height:38px;border-radius:10px;font-size:1.3rem;cursor:pointer;color:var(--navy)}
.drawer details{border-bottom:1px solid var(--line)}
.drawer details summary{list-style:none;cursor:pointer;padding:.9rem 0;font-weight:700;color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.drawer details summary::-webkit-details-marker{display:none}
.drawer details summary::after{content:"+";font-size:1.2rem;color:var(--blue)}
.drawer details[open] summary::after{content:"–"}
.drawer details .sub{padding:0 0 .8rem}
.drawer details .sub a{display:block;padding:.5rem .4rem;color:var(--slate);font-size:.92rem}
.drawer .top-link{display:block;padding:.9rem 0;font-weight:700;color:var(--navy);border-bottom:1px solid var(--line)}
.drawer-cta{margin-top:20px;display:flex;flex-direction:column;gap:.6rem}

/* ---------- generic section ---------- */
section{padding:84px 0}
.sec-head{max-width:660px;margin-bottom:46px}
.sec-head.center{margin-left:auto;margin-right:auto}
.sec-head h2{font-size:2.4rem;color:var(--navy);margin:.7rem 0 1rem}
.sec-head p{font-size:1.1rem;color:var(--slate)}
.bg-soft{background:var(--soft)}
.bg-navy{background:var(--navy);color:#fff}
.bg-navy h2{color:#fff}

/* ---------- hero ---------- */
.hero{background:linear-gradient(180deg,#fff,var(--soft));padding:60px 0 78px;position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero .pill{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:30px;padding:.4rem .9rem;font-size:.82rem;font-weight:700;color:var(--navy);box-shadow:var(--sh-sm)}
.hero .pill .stars{color:var(--amber)}
.hero h1{font-size:3.1rem;color:var(--navy);margin:1.2rem 0}
.hero h1 .hl{color:var(--blue)}
.hero p.lead{font-size:1.16rem;color:var(--slate);max-width:40ch}
.hero .aud{display:flex;gap:.6rem;margin:1.3rem 0 0;flex-wrap:wrap}
.hero .aud .a{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem .85rem}
.hero .aud .a svg{color:var(--blue)}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-chips a{font-size:.86rem;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:30px;padding:.5rem .9rem;transition:var(--ease)}
.hero-chips a:hover{border-color:var(--blue);color:var(--blue);box-shadow:var(--sh-sm)}
.hero-visual{position:relative}
.hero-img{aspect-ratio:4/3.5;border-radius:18px;background:linear-gradient(135deg,#dbe7f7,#eef4fc);border:1px solid var(--line);box-shadow:var(--sh-lg);overflow:hidden;position:relative;display:grid;place-items:center;color:#9db2cc}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-md);padding:.9rem 1.05rem;display:flex;align-items:center;gap:.7rem}
.hero-card.c1{top:-16px;right:-12px}
.hero-card.c2{bottom:-20px;left:-20px}
.hero-card .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none}
.hc-val{font-weight:700;font-size:1.05rem;color:var(--navy);line-height:1.05}
.hc-lab{font-size:.72rem;color:var(--slate);font-weight:600}
@media(max-width:960px){.hero .grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:2.4rem}.hero p.lead{max-width:none}}

/* ---------- value strip ---------- */
.values{border-bottom:1px solid var(--line)}
.values .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:30px 0}
.value{display:flex;align-items:center;gap:.9rem}
.value .ic{width:48px;height:48px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}
.value b{display:block;color:var(--navy);font-size:1.02rem}
.value span{font-size:.9rem;color:var(--slate)}
@media(max-width:760px){.values .grid{grid-template-columns:1fr;gap:16px}}

/* ---------- support paths ---------- */
.paths .grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.path{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:var(--ease)}
.path:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.path .top{height:180px;position:relative;overflow:hidden;background:linear-gradient(135deg,#dbe7f7,#eef4fc)}
.path .top img{width:100%;height:100%;object-fit:cover}
.path .tag{position:absolute;top:14px;left:14px;background:rgba(10,37,64,.85);color:#fff;font-size:.74rem;font-weight:700;padding:.35rem .75rem;border-radius:20px;letter-spacing:.04em}
.path .body{padding:28px;display:flex;flex-direction:column;flex:1}
.path h3{font-size:1.35rem;color:var(--navy);margin-bottom:.7rem}
.path p{color:var(--slate);font-size:.97rem;margin-bottom:1.1rem}
.path ul{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.3rem}
.path li{display:flex;gap:.55rem;font-size:.94rem;color:var(--ink)}
.path li svg{flex:none;color:var(--green);margin-top:3px}
.path .links{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.3rem}
.path .links a{font-size:.82rem;font-weight:600;color:var(--navy);background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:.35rem .7rem;transition:var(--ease)}
.path .links a:hover{border-color:var(--blue);color:var(--blue)}
.path .cta-row{display:flex;flex-direction:column;gap:.6rem;margin-top:auto}
.path .cta-row .btn{width:100%;justify-content:center}
.path.repair .top{background:linear-gradient(135deg,#d6ece9,#e9f6f4)}
@media(max-width:840px){.paths .grid{grid-template-columns:1fr}}

/* ---------- intake form ---------- */
.intake .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-md);padding:30px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.84rem;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:.7rem .85rem;font-size:.95rem;font-family:inherit;color:var(--ink);background:#fff;transition:var(--ease)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,92,214,.12)}
.field textarea{resize:vertical;min-height:96px}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--slate);margin:4px 0 16px}
.consent input{margin-top:3px}
.form-note{font-size:.8rem;color:var(--slate-2);text-align:center;margin-top:10px}
@media(max-width:840px){.intake .grid{grid-template-columns:1fr;gap:32px}.form-row{grid-template-columns:1fr}}

/* ---------- packages ---------- */
.pkgs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.pkg{border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;background:#fff;display:flex;flex-direction:column;position:relative}
.pkg.feat{border-color:var(--blue);box-shadow:var(--sh-md)}
.pkg .ribbon{position:absolute;top:-12px;left:28px;background:var(--blue);color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .8rem;border-radius:20px;letter-spacing:.04em}
.pkg h3{font-size:1.25rem;color:var(--navy)}
.pkg .price{font-size:2rem;font-weight:700;color:var(--navy);margin:.5rem 0 .1rem;letter-spacing:-.02em}
.pkg .price small{font-size:.8rem;font-weight:600;color:var(--slate)}
.pkg .price .from{display:block;font-size:.74rem;font-weight:700;color:var(--slate-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:-.2rem}
.pkg ul{display:flex;flex-direction:column;gap:.6rem;margin:1.2rem 0 1.3rem;flex:1}
.pkg li{display:flex;gap:.55rem;font-size:.93rem;color:var(--ink)}
.pkg li svg{flex:none;color:var(--green);margin-top:3px}
.pkg .best{font-size:.85rem;color:var(--slate);background:var(--soft);border-radius:10px;padding:.7rem .85rem;margin-bottom:1.2rem}
.pkg .best b{color:var(--navy)}
@media(max-width:900px){.pkgs .grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}}

/* ---------- service menu grid ---------- */
.smenu .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.scard{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:var(--ease)}
.scard:hover{border-color:#cfe0f7;box-shadow:var(--sh-md);transform:translateY(-3px)}
.scard .ic{width:50px;height:50px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin-bottom:16px}
.scard h3{font-size:1.12rem;color:var(--navy);margin-bottom:.4rem}
.scard p{font-size:.92rem;color:var(--slate)}
.scard .more{margin-top:.9rem;font-weight:700;font-size:.86rem;color:var(--blue);display:inline-flex;align-items:center;gap:.3rem}
@media(max-width:900px){.smenu .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.smenu .grid{grid-template-columns:1fr}}

/* ---------- checkup ---------- */
.checkup .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:stretch}
.checkup .panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--sh-sm)}
.checkup .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.6rem}
.checkup .chips span{font-size:.85rem;font-weight:600;color:var(--navy);background:var(--soft);border:1px solid var(--line);border-radius:30px;padding:.4rem .8rem}
.checkup .recv{background:var(--navy);color:#fff;border-radius:16px;padding:30px;display:flex;flex-direction:column;justify-content:center}
.checkup .recv h3{color:#fff;font-size:1.3rem;margin-bottom:1rem}
.checkup .recv .ri{display:flex;gap:.7rem;padding:.7rem 0;border-top:1px solid rgba(255,255,255,.12);color:#cdd9e8}
.checkup .recv .ri:first-of-type{border-top:none}
.checkup .recv .ri svg{color:#5BA0FF;flex:none}
.checkup .recv .ri b{color:#fff}
@media(max-width:900px){.checkup .grid{grid-template-columns:1fr}}

/* ---------- industries ---------- */
.inds .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ind{display:block;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:var(--ease)}
.ind:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.ind .im{height:130px;position:relative;overflow:hidden;background:linear-gradient(135deg,#dbe7f7,#eef4fc)}
.ind .im img{width:100%;height:100%;object-fit:cover;transition:var(--ease)}
.ind:hover .im img{transform:scale(1.05)}
.ind .im .lbl{position:absolute;top:10px;left:10px;background:rgba(10,37,64,.82);color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .6rem;border-radius:6px}
.ind .ib{padding:16px 18px}
.ind h3{font-size:1.02rem;color:var(--navy)}
.ind p{font-size:.85rem;color:var(--slate);margin-top:.25rem}
@media(max-width:900px){.inds .grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- results ---------- */
.results .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.result .v{font-size:1.8rem;font-weight:700;color:#fff;letter-spacing:-.01em}
.result .t{font-weight:700;color:#fff;margin:.3rem 0}
.result .d{font-size:.88rem;color:#9fb4cc}
@media(max-width:760px){.results .grid{grid-template-columns:repeat(2,1fr);gap:28px}}

/* ---------- steps ---------- */
.steps .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{position:relative;padding-top:8px}
.step .num{font-size:.9rem;font-weight:700;color:#fff;background:var(--blue);width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:16px;box-shadow:0 6px 16px rgba(11,92,214,.3)}
.step h3{font-size:1.18rem;color:var(--navy);margin-bottom:.4rem}
.step p{color:var(--slate);font-size:.96rem}
@media(max-width:760px){.steps .grid{grid-template-columns:1fr;gap:28px}}

/* ---------- areas ---------- */
.areas .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.areas .stat-row{display:flex;gap:1.5rem;margin:1.4rem 0;flex-wrap:wrap}
.areas .stat-row .s b{display:block;font-size:1.6rem;font-weight:700;color:#fff}
.areas .stat-row .s span{font-size:.85rem;color:#9fb4cc}
.city-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.city{display:flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.75rem .9rem;font-weight:600;font-size:.92rem;color:#fff;transition:var(--ease)}
.city:hover{background:rgba(255,255,255,.12)}
.city svg{color:#5BA0FF;flex:none}
@media(max-width:840px){.areas .grid{grid-template-columns:1fr;gap:32px}}

/* ---------- FAQ ---------- */
.faq .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qa{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.qa summary{list-style:none;cursor:pointer;padding:1.1rem 1.3rem;font-weight:700;color:var(--navy);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:1.4rem;color:var(--blue);transition:var(--ease)}
.qa[open] summary::after{content:"–"}
.qa .a{padding:0 1.3rem 1.2rem;color:var(--slate);font-size:.95rem}
@media(max-width:760px){.faq .grid{grid-template-columns:1fr}}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(135deg,var(--blue),#0E4FB0);color:#fff;text-align:center}
.cta-band h2{font-size:2.4rem;margin-bottom:1rem}
.cta-band p{font-size:1.12rem;color:#dbe8ff;max-width:54ch;margin:0 auto 2rem}
.cta-band .row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
footer.site{background:linear-gradient(180deg,#0B2545,#071A33);color:#9fb4cc;padding:64px 0 28px;font-size:.92rem;border-top:3px solid var(--blue)}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:40px;margin-bottom:36px}
footer.site h4{color:#fff;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.1rem;font-weight:700}
footer.site ul{display:flex;flex-direction:column;gap:.6rem}
footer.site a:hover{color:#fff}
.foot-logo{color:#fff;font-weight:700;font-size:1.18rem;display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.foot-contact{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}
.foot-contact .ci{display:flex;gap:.6rem;align-items:flex-start}
.foot-contact .ci svg{color:#5BA0FF;flex:none;margin-top:3px}
.foot-cities{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.foot-cities a{font-size:.8rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.25rem .55rem}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.84rem}
.foot-bottom .links{display:flex;gap:1.2rem;flex-wrap:wrap}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}

/* ---------- floating actions ---------- */
.fab{position:fixed;bottom:22px;right:22px;z-index:90;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end}
/* NOTE: the design's .fab collides with FontAwesome's .fab (Brands icon font),
   which is loaded for the chat widget. Force the real UI font on the button text. */
.fab .chat,.fab .fab-call{font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif!important}
.fab .chat{position:relative;display:inline-flex;align-items:center;gap:.55rem;background:linear-gradient(180deg,#1A6BE6,#0B5CD6);color:#fff;padding:.8rem 1.4rem;border-radius:999px;box-shadow:0 10px 26px -8px rgba(11,92,214,.55),0 2px 6px rgba(10,37,64,.14),inset 0 1px 0 rgba(255,255,255,.28);font-weight:700;font-size:.92rem;letter-spacing:.005em;text-transform:none;cursor:pointer;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background .2s ease;border:1px solid rgba(255,255,255,.16)}
.fab .chat svg{flex:none}
.fab .chat:hover{background:linear-gradient(180deg,#1361DE,#0847A8);transform:translateY(-2px);box-shadow:0 16px 34px -8px rgba(11,92,214,.62),0 3px 8px rgba(10,37,64,.16),inset 0 1px 0 rgba(255,255,255,.3)}
.fab .chat:active{transform:translateY(0)}
.fab-call{display:none}
@media(max-width:560px){.fab-call{display:inline-flex;align-items:center;gap:.5rem;background:var(--green);color:#fff;padding:.8rem 1.2rem;border-radius:50px;box-shadow:var(--sh-lg);font-weight:700}}

/* ============================================================
   SERVICE DETAIL PAGE (reusable template)
   ============================================================ */
.breadcrumb{background:var(--soft);border-bottom:1px solid var(--line)}
.breadcrumb .wrap{display:flex;align-items:center;gap:.5rem;padding:14px 28px;font-size:.86rem;color:var(--slate);flex-wrap:wrap}
.breadcrumb a{color:var(--slate);font-weight:600}
.breadcrumb a:hover{color:var(--blue)}
.breadcrumb .sep{color:var(--slate-2)}
.breadcrumb .cur{color:var(--navy);font-weight:700}

.svc-hero{background:linear-gradient(180deg,#fff,var(--soft));padding:54px 0 60px}
.svc-hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.svc-hero .tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:var(--blue-50);padding:.4rem .85rem;border-radius:30px}
.svc-hero .tag.repair{color:var(--teal);background:var(--teal-50)}
.svc-hero h1{font-size:2.7rem;color:var(--navy);margin:1rem 0}
.svc-hero p.lead{font-size:1.14rem;color:var(--slate);max-width:52ch}
.svc-hero .cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}
.svc-hero .trust{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1.7rem}
.svc-hero .trust .t{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--navy)}
.svc-hero .trust .t svg{color:var(--green);flex:none}
.info-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 24px rgba(10,37,64,.07);padding:22px;position:sticky;top:96px}
.info-card h3{font-size:1.05rem;color:var(--navy);margin-bottom:.9rem}
.info-card .row{display:flex;justify-content:space-between;gap:1.2rem;padding:.85rem 0;border-top:1px solid var(--soft-2);font-size:.92rem;align-items:baseline}
.info-card .row:first-of-type{border-top:none;padding-top:0}
.info-card .row span{color:var(--slate);flex:none}
.info-card .row b{color:var(--navy);text-align:right;font-weight:600}
.info-card .cbtn{margin-top:1.2rem;display:flex;flex-direction:column;gap:.6rem}
.info-card .imgwrap{aspect-ratio:4/3;height:auto;min-height:240px;border-radius:14px;overflow:hidden;margin-bottom:1.2rem;background:linear-gradient(135deg,#dbe7f7,#eef4fc)}
.info-card .imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.svc-hero .grid{grid-template-columns:1fr;gap:32px}.info-card{position:static}.info-card .imgwrap{aspect-ratio:16/9;min-height:200px}}

.fix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fix{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;position:relative;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .28s cubic-bezier(.2,.8,.25,1),box-shadow .28s ease,border-color .28s ease}
.fix .ic{width:40px;height:40px;border-radius:10px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none;transition:transform .28s cubic-bezier(.2,.8,.25,1)}
.fix b{display:block;color:var(--navy);font-size:.98rem}
.fix span{font-size:.86rem;color:var(--slate)}
.fix .plus{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--blue);background:var(--blue-50);opacity:0;transform:scale(.6);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.8,.25,1)}
.fix:hover,.fix:focus-visible{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:#cfe0f6;outline:none}
.fix:hover .ic,.fix:focus-visible .ic{transform:scale(1.08) rotate(-3deg)}
.fix:hover .plus,.fix:focus-visible .plus{opacity:1;transform:scale(1)}
.fix:active{transform:translateY(-1px) scale(.99)}
.fix:focus-visible{box-shadow:0 0 0 3px var(--blue-50),var(--sh-md)}
@media(max-width:900px){.fix-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fix-grid{grid-template-columns:1fr}}

/* ---------- fix / issue detail modal (shared, used site-wide) ---------- */
.fixmodal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(10,37,64,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.fixmodal.open{opacity:1;visibility:visible}
.fixmodal-card{position:relative;width:100%;max-width:480px;background:linear-gradient(180deg,#fff,var(--soft));
  border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px rgba(10,37,64,.28);padding:30px 30px 26px;
  transform:translateY(18px) scale(.94);opacity:0;transition:transform .36s cubic-bezier(.2,.85,.25,1),opacity .3s ease;
  max-height:calc(100vh - 48px);overflow:auto}
.fixmodal.open .fixmodal-card{transform:translateY(0) scale(1);opacity:1}
.fixmodal-x{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--slate);display:grid;place-items:center;cursor:pointer;transition:var(--ease)}
.fixmodal-x:hover{background:var(--soft);color:var(--navy);transform:rotate(90deg)}
.fixmodal-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.1rem;padding-right:30px}
.fixmodal-ic{width:60px;height:60px;border-radius:16px;flex:none;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--blue),#3E8BFF);box-shadow:0 10px 24px rgba(11,92,214,.32)}
.fixmodal-ic svg{width:30px;height:30px}
.fixmodal.teal .fixmodal-ic{background:linear-gradient(135deg,var(--teal,#0E8C84),#15B0A6);box-shadow:0 10px 24px rgba(14,140,132,.3)}
.fixmodal.amber .fixmodal-ic{background:linear-gradient(135deg,#E8920B,#F7B53C);box-shadow:0 10px 24px rgba(232,146,11,.3)}
.fixmodal.red .fixmodal-ic{background:linear-gradient(135deg,#D12B2B,#F25555);box-shadow:0 10px 24px rgba(209,43,43,.3)}
.fixmodal-head .eyebrow{margin-bottom:.25rem;white-space:nowrap}
.fixmodal-head h3{font-size:1.4rem;color:var(--navy)}
.fixmodal-desc{color:var(--slate);font-size:.98rem;line-height:1.7;margin-bottom:1.1rem}
.fixmodal-points{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.4rem}
.fixmodal-points li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;color:var(--ink);line-height:1.5}
.fixmodal-points svg{flex:none;color:var(--green);margin-top:2px}
.fixmodal-cta{display:flex;gap:.6rem;flex-wrap:wrap}
.fixmodal-cta .btn{flex:1 1 auto;justify-content:center}
body.modal-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){
  .fix,.fix .ic,.fix .plus,.fixmodal,.fixmodal-card,.fixmodal-x{transition:none!important}
  .fixmodal-card{transform:none}
}

.process{counter-reset:step}
.process .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pstep{position:relative;padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px}
.pstep::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-weight:700;font-size:.85rem;color:#fff;background:var(--blue);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;margin-bottom:14px}
.pstep h3{font-size:1.05rem;color:var(--navy);margin-bottom:.35rem}
.pstep p{font-size:.9rem;color:var(--slate)}
@media(max-width:900px){.process .grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.process .grid{grid-template-columns:1fr}}

.guarantees{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.guar{text-align:center;padding:8px}
.guar .ic{width:54px;height:54px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}
.guar b{display:block;color:var(--navy);font-size:1.02rem;margin-bottom:.25rem}
.guar p{font-size:.88rem;color:var(--slate)}
@media(max-width:760px){.guarantees{grid-template-columns:1fr 1fr;gap:24px}}

.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rel{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;transition:var(--ease)}
.rel:hover{border-color:#cfe0f7;box-shadow:var(--sh-md);transform:translateY(-3px)}
.rel .ic{width:42px;height:42px;border-radius:10px;background:var(--soft-2);color:var(--blue);display:grid;place-items:center;margin-bottom:12px}
.rel b{display:block;color:var(--navy);font-size:.98rem}
.rel span{font-size:.85rem;color:var(--slate)}
@media(max-width:900px){.related-grid{grid-template-columns:1fr 1fr}}

/* ---------- inner page header ---------- */
.page-head{background:linear-gradient(180deg,#fff,var(--soft));border-bottom:1px solid var(--line);padding:48px 0 52px}
.page-head .eyebrow{margin-bottom:.8rem}
.page-head h1{font-size:2.8rem;color:var(--navy);max-width:20ch}
.page-head p{font-size:1.14rem;color:var(--slate);max-width:62ch;margin-top:1rem}
.page-head .cta-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem}
.page-head.dark{background:var(--navy);color:#fff;border-bottom:none}
.page-head.dark h1{color:#fff}
.page-head.dark p{color:#aebfd4}

.anchor{scroll-margin-top:130px}
.section-label{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}
.section-label .ic{width:44px;height:44px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}
.section-label.repair .ic{background:var(--teal-50);color:var(--teal)}
.section-label h2{font-size:1.9rem;color:var(--navy)}
.section-label p{font-size:.96rem;color:var(--slate)}

/* ---------- areas (overview) ---------- */
.area-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.area-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;transition:var(--ease)}
.area-card:hover{border-color:#cfe0f7;box-shadow:var(--sh-md);transform:translateY(-2px)}
.area-card b{color:var(--navy);font-size:1.02rem;display:flex;align-items:center;gap:.5rem}
.area-card b svg{color:var(--blue)}
.area-card .go{color:var(--blue);flex:none}
@media(max-width:860px){.area-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.area-list{grid-template-columns:1fr}}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-info .ci{display:flex;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.contact-info .ci:first-child{border-top:none;padding-top:0}
.contact-info .ci .ic{width:46px;height:46px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}
.contact-info .ci b{display:block;color:var(--navy);font-size:1rem}
.contact-info .ci a,.contact-info .ci span{color:var(--slate);font-size:.96rem}
.map-embed{margin-top:1.6rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);height:300px;background:linear-gradient(135deg,#dbe7f7,#eef4fc);position:relative}
.map-embed iframe{width:100%;height:100%;border:0}
.hours{margin-top:1.6rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px}
.hours h3{font-size:1.05rem;color:var(--navy);margin-bottom:.8rem}
.hours .hr{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.94rem;color:var(--slate)}
.hours .hr b{color:var(--navy)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:32px}}

/* ---------- about ---------- */
.about-lead .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.about-img{aspect-ratio:4/3;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-md);background:linear-gradient(135deg,#dbe7f7,#eef4fc)}
.about-img img{width:100%;height:100%;object-fit:cover}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.val-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}
.val-card .ic{width:50px;height:50px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin-bottom:14px}
.val-card h3{font-size:1.12rem;color:var(--navy);margin-bottom:.4rem}
.val-card p{font-size:.94rem;color:var(--slate)}
@media(max-width:860px){.about-lead .grid{grid-template-columns:1fr;gap:32px}.vals{grid-template-columns:1fr}}

/* ---------- quote form steps ---------- */
.qform{max-width:760px;margin:0 auto}
.qcard{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-md);padding:34px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.choice{display:flex;gap:.7rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:var(--ease)}
.choice:hover{border-color:var(--blue)}
.choice input{margin-top:3px}
.choice b{display:block;color:var(--navy);font-size:.96rem}
.choice span{font-size:.84rem;color:var(--slate)}
.choice:has(input:checked){border-color:var(--blue);background:var(--blue-50)}
@media(max-width:600px){.choice-grid{grid-template-columns:1fr}}

/* ---------- reusable notice / callout (clean, on-brand) ---------- */
.notice{display:flex;gap:1.1rem;align-items:flex-start;background:linear-gradient(180deg,#fff,var(--soft));border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--sh-md)}
.notice .ic{flex:none;width:46px;height:46px;border-radius:12px;background:#FCEFD6;color:#BC7708;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(188,119,8,.14)}
.notice .tx{min-width:0}
.notice b{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:.25rem}
.notice p{margin:0;color:var(--slate);font-size:.96rem;line-height:1.65}
.notice a.inl{color:var(--blue);font-weight:700}
.notice.urgent .ic{background:#FCE4E4;color:#D12B2B;box-shadow:inset 0 0 0 1px rgba(209,43,43,.16)}

/* ---------- graceful fallback when a remote photo is unavailable ---------- */
.img-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#dbe7f7,#eef4fc);color:#9FB7D6;pointer-events:none;z-index:0}
.img-ph svg{opacity:.9}
.info-card .imgwrap{position:relative}

/* ---------- city / local-area landing pages ---------- */
.geo-note{max-width:720px;margin:0 auto 30px;text-align:center;color:var(--slate);font-size:1.02rem}
.geo-chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;max-width:820px;margin:0 auto}
.geo-chips span{font-size:.92rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;color:var(--navy);font-weight:600;display:inline-flex;align-items:center;gap:.5rem;box-shadow:var(--sh-sm)}
.geo-chips span svg{color:var(--blue);flex:none}
.zip-line{margin:26px auto 0;max-width:720px;text-align:center;font-size:.9rem;color:var(--slate-2)}
.zip-line b{color:var(--navy);font-weight:700}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:.6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============================================================
   REFINEMENT PASS — bring every inner page up to the homepage's
   level of depth, motion, and finish. Tokens & components above
   are unchanged; this only enriches the existing pieces.
   ============================================================ */

/* ---- breadcrumb: never break a label mid-word ---- */
.breadcrumb a,.breadcrumb .cur,.breadcrumb .sep{white-space:nowrap}
.svc-hero .tag{white-space:nowrap}

/* ---- inner page header: layered depth instead of a flat slab ---- */
.page-head{position:relative;overflow:hidden}
.page-head .wrap{position:relative;z-index:1}
.page-head::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(640px 320px at 88% -12%, rgba(11,92,214,.12), transparent 70%),
    radial-gradient(480px 300px at 6% 118%, rgba(14,140,132,.07), transparent 72%)}
.page-head::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(rgba(10,37,64,.05) 1px, transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);
          mask-image:linear-gradient(180deg,#000,transparent 72%)}
.page-head.dark::before{background:
    radial-gradient(640px 340px at 85% -12%, rgba(91,160,255,.20), transparent 70%),
    radial-gradient(420px 300px at 4% 120%, rgba(91,160,255,.08), transparent 72%)}
.page-head.dark::after{opacity:.4;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px)}
/* eyebrow becomes a soft pill chip, echoing the hero pill */
.page-head .eyebrow{background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);
  padding:.45rem .95rem;border-radius:30px;white-space:nowrap}
.page-head.dark .eyebrow{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);
  box-shadow:none;color:#9fc4ff}

/* ---- detail-page hero (service / industry / city): matching texture ---- */
.svc-hero{position:relative;overflow:hidden}
.svc-hero .wrap{position:relative;z-index:1}
.svc-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(660px 340px at 92% -12%, rgba(11,92,214,.11), transparent 70%)}
.svc-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(10,37,64,.05) 1px, transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 66%);
          mask-image:linear-gradient(180deg,#000,transparent 66%)}

/* ---- sticky info card: clean, minimal — no top accent bar ---- */
.info-card .map-embed{border-radius:14px;border:1px solid var(--line)}

/* ---- service-menu cards: icon flips to brand blue on hover ---- */
.scard .ic,.rel .ic,.fix .ic{transition:var(--ease)}
.scard:hover .ic{background:var(--blue);color:#fff;transform:scale(1.05) rotate(-2deg)}
.rel:hover .ic{background:var(--blue);color:#fff}

/* ---- "what we fix" tiles gain a hover lift, matching other cards ---- */
.fix{transition:var(--ease)}
.fix:hover{border-color:#cfe0f7;box-shadow:var(--sh-md);transform:translateY(-2px)}
.fix:hover .ic{background:var(--blue);color:#fff}

/* ---- area cards: chevron nudges on hover ---- */
.area-card .go{transition:var(--ease)}
.area-card:hover .go{transform:translateX(4px)}

/* ---- process steps: lift + accent the number ---- */
.pstep{transition:var(--ease)}
.pstep:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}

/* ---- guarantees: warm up the icon tile on hover of the row ---- */
.guarantees .guar .ic{transition:var(--ease)}
.guarantees:hover .guar:hover .ic{background:var(--blue);color:#fff}

/* ---- dark bands (results / areas) gain a soft light source ---- */
section.bg-navy{position:relative;overflow:hidden}
section.bg-navy>.wrap{position:relative;z-index:1}
section.bg-navy::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(620px 340px at 86% -14%, rgba(91,160,255,.16), transparent 70%),
    radial-gradient(460px 300px at 0% 120%, rgba(91,160,255,.07), transparent 72%)}

/* ---- CTA band: depth + light so it reads premium, not flat ---- */
.cta-band{position:relative;overflow:hidden}
.cta-band .wrap{position:relative;z-index:1}
.cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(620px 300px at 14% -10%, rgba(255,255,255,.18), transparent 60%),
    radial-gradient(560px 340px at 102% 120%, rgba(4,30,72,.30), transparent 62%)}
.cta-band::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:radial-gradient(80% 80% at 50% 50%,#000,transparent);
          mask-image:radial-gradient(80% 80% at 50% 50%,#000,transparent)}

/* ---- section labels: tiny ring + warmth on the icon tile ---- */
.section-label .ic{box-shadow:inset 0 0 0 1px rgba(11,92,214,.14)}
.section-label.repair .ic{box-shadow:inset 0 0 0 1px rgba(14,140,132,.16)}

/* ---- keyboard focus polish on interactive cards & chips ---- */
.scard:focus-visible,.rel:focus-visible,.area-card:focus-visible,.ind:focus-visible,
.path:focus-visible,.hero-chips a:focus-visible,.city:focus-visible,.choice:focus-within{
  outline:2px solid var(--blue);outline-offset:3px}

/* ---- smoother anchor scroll offset already set; refine card image zoom ---- */
.path .top img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.path:hover .top img{transform:scale(1.04)}

/* ============================================================
   LEGAL / POLICY PAGES (Privacy, Terms, Pickup & Recovery)
   Clean, readable long-form prose with an optional sticky TOC.
   ============================================================ */
.legal{padding:60px 0 84px}
.legal .grid{display:grid;grid-template-columns:230px 1fr;gap:54px;align-items:start}
.legal .toc{position:sticky;top:100px}
.legal .toc .lab{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-2);margin-bottom:.9rem}
.legal .toc a{display:block;font-size:.9rem;color:var(--slate);padding:.4rem 0;border-left:2px solid var(--line);padding-left:.85rem;transition:var(--ease)}
.legal .toc a:hover{color:var(--blue);border-color:var(--blue)}
.legal .body{max-width:760px;min-width:0}
.legal .intro{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:22px 26px;margin-bottom:34px;color:var(--slate)}
.legal .intro b{color:var(--navy)}
.legal section.blk{padding:0;margin-bottom:34px;scroll-margin-top:120px}
.legal h2{font-size:1.4rem;color:var(--navy);margin-bottom:.8rem;display:flex;align-items:baseline;gap:.6rem}
.legal h2 .n{font-size:.85rem;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.legal h3{font-size:1.04rem;color:var(--navy);margin:1.2rem 0 .5rem}
.legal p{color:var(--slate);font-size:.98rem;margin-bottom:.9rem;line-height:1.7}
.legal ul.list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:.4rem 0 1rem}
.legal ul.list li{position:relative;padding-left:1.5rem;color:var(--slate);font-size:.96rem;line-height:1.6}
.legal ul.list li::before{content:"";position:absolute;left:.1rem;top:.55rem;width:7px;height:7px;border-radius:2px;background:var(--blue);transform:rotate(45deg)}
.legal ul.list li b{color:var(--navy)}
.legal a.inl{color:var(--blue);font-weight:600}
.legal a.inl:hover{text-decoration:underline}
.legal .note{display:flex;gap:1.1rem;align-items:flex-start;background:linear-gradient(180deg,#fff,var(--soft));border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:1.3rem 0 1.5rem;box-shadow:var(--sh-sm)}
.legal .note .ic{flex:none;width:46px;height:46px;border-radius:12px;background:#FCEFD6;color:#BC7708;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(188,119,8,.14)}
.legal .note .tx{min-width:0}
.legal .note b{display:block;color:var(--navy);font-size:1.02rem;margin-bottom:.3rem}
.legal .note p{margin:0;color:var(--slate);font-size:.96rem;line-height:1.7}
.legal .lastup{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;color:var(--slate);background:#fff;border:1px solid var(--line);border-radius:30px;padding:.4rem .9rem;margin-top:1rem}
.legal .lastup svg{color:var(--blue)}
@media(max-width:860px){.legal .grid{grid-template-columns:1fr;gap:28px}.legal .toc{position:static;display:none}}

/* ============================================================
   CITY PAGE ENRICHMENT — local photo band + supporting blocks.
   Reuses .inds / .ind, .fix-grid, .process and .results components.
   ============================================================ */
.city-photos .grid{grid-template-columns:repeat(3,1fr)}
.city-photos .ind .im{height:190px}
.city-photos .ind .ib{padding:18px 20px 20px}
.city-photos .ind h3{font-size:1.08rem}
.city-photos .ind p{margin-top:.35rem;line-height:1.5}
@media(max-width:900px){.city-photos .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.city-photos .grid{grid-template-columns:1fr}.city-photos .ind .im{height:200px}}

/* Devices & brands strip */
.brands .sec-head{margin-bottom:26px}
.brand-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:760px;margin:0 auto}
.brand-chips span{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:.95rem;color:var(--ink-2)}
.brand-chips span svg{color:var(--blue);flex:none}

/* Testimonials — liquid glass over a soft colour backdrop */
.tst{position:relative;background:radial-gradient(30% 52% at 12% 18%,rgba(11,92,214,.10),transparent 60%),radial-gradient(28% 48% at 88% 84%,rgba(34,211,238,.10),transparent 60%),linear-gradient(180deg,#fff,var(--soft))}
.tst .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tst .t{position:relative;overflow:hidden;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.65);border-radius:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 22px 46px -22px rgba(11,37,69,.28),0 6px 18px -10px rgba(11,92,214,.22);padding:26px 24px;display:flex;flex-direction:column}
.tst .t::before{content:"";position:absolute;top:0;left:0;right:0;height:58%;background:radial-gradient(130% 100% at 20% 0%,rgba(255,255,255,.5),transparent 68%);pointer-events:none}
.tst .t > *{position:relative}
.tst .t .qm{font-family:Georgia,serif;font-size:2.6rem;line-height:1;color:var(--blue);opacity:.38;margin-bottom:6px}
.tst .t .stars{color:var(--amber);letter-spacing:2px;font-size:1rem;margin-bottom:12px}
.tst .t p{color:var(--ink);font-size:1.02rem;line-height:1.55;margin:0 0 18px}
.tst .t .by{margin-top:auto;display:flex;align-items:center;gap:11px}
.tst .t .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2D7BF0,var(--blue));color:#fff;display:grid;place-items:center;font-weight:700;font-size:.95rem;flex:none;box-shadow:0 4px 10px -3px rgba(11,92,214,.5),inset 0 1px 0 rgba(255,255,255,.35)}
.tst .t .nm{font-weight:700;color:var(--navy);font-size:.97rem}
.tst .t .rl{color:var(--ink-2);font-size:.85rem}
@media(max-width:880px){.tst .grid{grid-template-columns:1fr}}

/* Review-source badges (Yelp / Google) */
.tst-src{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.tst-src a{display:inline-flex;align-items:center;gap:11px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;box-shadow:var(--sh-sm);transition:box-shadow .15s,transform .15s}
.tst-src a:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.tst-src .pl{font-weight:700;font-size:1.02rem;color:var(--navy)}
.tst-src .yp{color:#d32323}
.tst-src .gg{color:#4285F4}
.tst-src .mid{display:flex;flex-direction:column;line-height:1.15}
.tst-src .st{color:var(--amber);letter-spacing:1px;font-size:.92rem}
.tst-src .ct{color:var(--ink-2);font-size:.82rem;font-weight:600}
.tst-src .go{color:var(--ink-2);font-size:1.1rem;margin-left:2px}

/* Hero review-proof row */
.hero-reviews{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:20px 0 4px}
.hero-reviews a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 14px;box-shadow:var(--sh-sm);transition:box-shadow .15s,transform .15s}
.hero-reviews a:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.hero-reviews .pl{font-weight:700;font-size:.98rem;color:var(--navy);padding-right:10px;border-right:1px solid var(--line)}
.hero-reviews .yp{color:#d32323}
.hero-reviews .gg{color:#4285F4}
.hero-reviews .nd{color:#1FA85A}
.hero-reviews .mid{display:flex;flex-direction:column;justify-content:center;line-height:1.12}
.hero-reviews .st{color:var(--amber);letter-spacing:1px;font-size:.85rem}
.hero-reviews .ndr{color:#1FA85A;font-weight:700;font-size:.82rem;letter-spacing:.2px}
.hero-reviews .ct{color:var(--ink-2);font-size:.78rem;font-weight:600}
@media(max-width:520px){.hero-reviews a{flex:1 1 auto}}

/* ============================================================
   Support chat widget — supply the design tokens the shared
   /css/style-chat.css consumes, tuned for the light "glass"
   panel so text reads cleanly. Defining the variables (rather
   than overriding rules) survives the later-loaded stylesheet.
   ============================================================ */
.chat-widget{
  --surface:rgba(255,255,255,.9);
  --surface-alt:#eef3fa;
  --text:#0A2540;
  --text-muted:#5a6a7d;
  --border:rgba(10,37,64,.1);
  --gradient-vibrant:linear-gradient(135deg,#0B5CD6,#3E8BFF);
  --accent-electric:#0B5CD6;
  --radius-lg:22px;
  --ease-soft:cubic-bezier(.4,0,.2,1);
}
/* Ensure all panel text defaults to the readable ink colour. */
.chat-widget .ticket-assistant{color:var(--text)}
/* Soften the close control so it matches the brand rather than alarm-red. */
.chat-widget .chat-widget-header-close{background:rgba(255,255,255,.16)}
.chat-widget .chat-widget-header-close:hover{background:rgba(255,255,255,.28)}

/* Screen-reader-only utility (new design has no Bootstrap; the chat
   widget relies on this to hide its "Reply" label). */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   Hero social-proof block — modern rating cluster + frameless
   icon stats. Shared across service / city / industry heroes.
   ============================================================ */
.hero-proof{margin-top:28px;display:flex;flex-direction:column;gap:20px}

/* Rating cluster — frosted pill with overlapping platform marks */
.rating-cluster{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;padding:9px 20px 9px 11px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(10,37,64,.08);border-radius:999px;box-shadow:0 1px 2px rgba(10,37,64,.05),0 10px 26px -14px rgba(10,37,64,.35);text-decoration:none;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}
.rating-cluster:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(10,37,64,.06),0 18px 36px -16px rgba(10,37,64,.4)}
.rating-marks{display:inline-flex;align-items:center}
.rating-marks .rmark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.86rem;color:#fff;border:2.5px solid #fff;margin-left:-12px;box-shadow:0 2px 8px rgba(10,37,64,.22)}
.rating-marks .rmark:first-child{margin-left:0}
.rating-marks .rmark.g{background:#4285F4}
.rating-marks .rmark.y{background:#d32323}
.rating-marks .rmark.n{background:#1FA85A}
.rating-info{display:flex;flex-direction:column;line-height:1.18}
.rating-line{display:flex;align-items:center;gap:8px}
.rating-line .rstars{color:var(--amber);font-size:.92rem;letter-spacing:1.5px}
.rating-line b{font-size:.95rem;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.rating-sub{font-size:.78rem;color:var(--slate);font-weight:600;margin-top:2px}

/* Stat row — frameless, soft icon chips */
.hero-stats{display:flex;flex-wrap:wrap;gap:14px 26px}
.hero-stats .hs{display:flex;align-items:center;gap:12px}
.hero-stats .hs-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(140deg,var(--blue-50),#fff);color:var(--blue);border:1px solid rgba(11,92,214,.14);box-shadow:0 4px 12px -6px rgba(11,92,214,.3);flex:none}
.hero-stats .hs-ic svg{width:19px;height:19px}
.hero-stats .hs-tx{display:flex;flex-direction:column;line-height:1.22}
.hero-stats .hs-tx b{font-size:.92rem;font-weight:700;color:var(--navy);letter-spacing:-.01em}
.hero-stats .hs-tx span{font-size:.77rem;color:var(--slate);font-weight:600}
@media(max-width:560px){.hero-stats{gap:14px}.hero-stats .hs{flex:1 1 100%}}

/* ============================================================
   Taste polish — film grain, tabular figures
   ============================================================ */
/* Subtle fixed grain overlay breaks digital flatness (premium tactile feel). */
body::after{content:"";position:fixed;inset:0;z-index:2147483000;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){body::after{opacity:.025}}
/* Tabular figures on numeric displays — engineered, aligned numbers. */
.hc-val,.pkg .price,.pkg .price small,.result .v,.areas .stat-row .s b,.cs-metric .v,
.hero-stats .hs-tx b,.rating-line b,.trust .t b,.stat-float .sv,.tst-src .ct{font-variant-numeric:tabular-nums}

/* ============================================================
   Track Your Ticket — result + notices (new design)
   ============================================================ */
.tkt-note{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:var(--sh-sm)}
.tkt-note svg{color:var(--blue);flex:none;margin-top:1px}
.tkt-note b{display:block;color:var(--navy);font-weight:600;font-size:1.02rem}
.tkt-note span{display:block;color:var(--slate);font-size:.92rem;margin-top:3px;line-height:1.5}
.tkt-note a{color:var(--blue);font-weight:600}
.tkt-note--warn{border-color:#f0c9a0;background:linear-gradient(180deg,#fffaf3,#fff)}
.tkt-note--warn svg{color:#c2701a}
.tkt-card{margin-top:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--sh-md);overflow:hidden}
.tkt-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:22px 24px;background:linear-gradient(180deg,#f6f9ff,#fff);border-bottom:1px solid var(--line)}
.tkt-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.tkt-num{font-size:1.5rem;font-weight:700;color:var(--navy);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px}
.tkt-status{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;padding:7px 14px;border-radius:30px;white-space:nowrap}
.tkt-status .tkt-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.tkt-status--open{background:#e7f0ff;color:#0847A8}
.tkt-status--progress{background:#fff3e0;color:#b5710f}
.tkt-status--resolved{background:#e7f8ef;color:#0f7a45}
.tkt-meta{display:flex;flex-wrap:wrap;gap:10px 22px;padding:16px 24px 4px}
.tkt-meta span{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;font-weight:500;color:var(--slate)}
.tkt-meta svg{color:var(--slate)}
.tkt-row{padding:14px 24px;border-top:1px solid var(--soft-2)}
.tkt-row .tkt-label{margin-bottom:6px}
.tkt-subject{font-size:1.05rem;font-weight:600;color:var(--navy)}
.tkt-details{color:var(--ink);font-size:.96rem;line-height:1.6}
.tkt-timeline{margin:6px 0 0;padding:0;list-style:none}
.tkt-timeline li{position:relative;display:flex;gap:14px;padding:0 0 16px 2px}
.tkt-timeline li:last-child{padding-bottom:0}
.tkt-tl-dot{width:11px;height:11px;border-radius:50%;background:var(--blue);flex:none;margin-top:4px;box-shadow:0 0 0 4px var(--blue-50)}
.tkt-timeline li:not(:last-child)::before{content:"";position:absolute;left:7px;top:16px;bottom:-2px;width:2px;background:var(--line)}
.tkt-tl-msg{font-size:.95rem;color:var(--navy);font-weight:500}
.tkt-tl-time{font-size:.82rem;color:var(--slate);margin-top:2px;font-variant-numeric:tabular-nums}
.tkt-foot{display:flex;flex-wrap:wrap;gap:.7rem;padding:18px 24px 22px;border-top:1px solid var(--soft-2)}

/* ============================================================
   Remote Support page
   ============================================================ */
.rs-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;padding:8px 0 10px}
.rs-dl{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,var(--soft));padding:26px}
.rs-dl-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.rs-dl-ic{width:46px;height:46px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}
.rs-dl-head h2{font-size:1.32rem;color:var(--navy);line-height:1.15}
.rs-dl-head p{font-size:.92rem;color:var(--slate);margin-top:3px}
.rs-dl-copy{font-size:.98rem;line-height:1.6;color:var(--slate)}
.rs-dl-copy b{color:var(--navy)}
.rs-dl-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin:20px 0 14px}
.rs-dl-btns .btn svg{flex:none}
.rs-note{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--slate)}
.rs-note svg{color:var(--green);flex:none}
.rs-steps{margin-top:28px}
.rs-steps h3{font-size:1.16rem;color:var(--navy);margin-bottom:16px}
.rs-steps ol{list-style:none;display:flex;flex-direction:column;gap:16px}
.rs-steps li{display:flex;gap:14px;align-items:flex-start}
.rs-step-n{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;font-weight:700;display:grid;place-items:center;flex:none;font-size:.92rem}
.rs-steps li div{font-size:.98rem;line-height:1.5;color:var(--slate);padding-top:3px}
.rs-steps li b{color:var(--navy)}
.rs-help{margin-top:20px;font-size:.92rem;color:var(--slate)}
.rs-help a{color:var(--blue);font-weight:600}
@media(max-width:900px){.rs-grid{grid-template-columns:1fr;gap:34px}}

/* ============================================================
   BLOG (index + cards), ARTICLE (single post), SITEMAP
   ============================================================ */
.blog{padding:48px 0 64px}
.blog-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:30px}
.blog-filters .chip{font-size:.85rem;font-weight:600;color:var(--slate);background:#fff;border:1px solid var(--line);border-radius:30px;padding:.45rem .95rem;transition:.16s}
.blog-filters .chip:hover{border-color:var(--blue);color:var(--blue)}
.blog-filters .chip.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.blog-note{font-size:.95rem;color:var(--slate);margin-bottom:22px}
.blog-note a{color:var(--blue);font-weight:600}
.blog-empty{border:1px solid var(--line);border-radius:16px;background:#fff;padding:54px 30px;text-align:center}
.blog-empty h2{font-size:1.4rem;color:var(--navy);margin-bottom:.5rem}
.blog-empty p{color:var(--slate)}
.blog-empty a{color:var(--blue);font-weight:600}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px -22px rgba(11,37,69,.34);border-color:#c7d3e2}
.post-card-top{display:block;aspect-ratio:16/9;background:var(--blue-50);position:relative;overflow:hidden}
.post-card-top img{width:100%;height:100%;object-fit:cover;display:block}
.post-card-top[data-noimg]{display:grid;place-items:center;background:color-mix(in srgb,var(--accent,#0B5CD6) 12%,#fff)}
.post-card-mono{font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:2.6rem;color:var(--accent,#0B5CD6);opacity:.8;line-height:1}
.post-card-body{display:flex;flex-direction:column;gap:.5rem;padding:18px 20px 20px;flex:1}
.post-card-cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.post-card-body h2{font-size:1.14rem;line-height:1.32;margin:0;font-weight:700}
.post-card-body h2 a{color:var(--ink);text-decoration:none}
.post-card-body h2 a:hover{color:var(--blue)}
.post-card-body p{color:var(--slate);font-size:.92rem;line-height:1.55;margin:0;flex:1}
.post-card-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem;padding-top:.8rem;border-top:1px solid var(--line)}
.post-card-date{font-size:.8rem;color:#5A6B82}
.post-card-link{font-size:.88rem;font-weight:700;color:var(--blue);text-decoration:none}
.post-card-link:hover{text-decoration:underline}
.blog-pager{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:42px}
.blog-pager-n{font-size:.9rem;color:var(--slate);font-variant-numeric:tabular-nums}
.blog--recent{padding-top:8px}

/* Article (single post) */
.article{padding:40px 0 8px}
.article-wrap{max-width:760px;margin:0 auto}
.article-head{margin-bottom:6px}
.article-cat{display:inline-block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);text-decoration:none;margin-bottom:10px}
.article-cat:hover{text-decoration:underline}
.article-head h1{font-size:2.3rem;line-height:1.14;letter-spacing:-.01em;color:var(--navy);margin:0 0 12px}
.article-meta{display:flex;align-items:center;gap:.5rem;color:var(--slate);font-size:.92rem}
.article-meta .dot{opacity:.5}
.article-hero{margin:24px 0 8px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.article-hero img{width:100%;height:auto;display:block}
.article-body{font-size:1.07rem;line-height:1.78;color:var(--ink-1,#1D3350);padding-top:18px}
.article-body>*:first-child{margin-top:0}
.article-body h2{font-size:1.5rem;line-height:1.25;color:var(--navy);margin:2rem 0 .8rem;font-weight:700}
.article-body h3{font-size:1.2rem;line-height:1.3;color:var(--navy);margin:1.6rem 0 .6rem;font-weight:700}
.article-body p{margin:0 0 1.1rem}
.article-body a{color:var(--blue);font-weight:600}
.article-body ul,.article-body ol{margin:0 0 1.2rem 1.2rem;padding-left:.6rem}
.article-body li{margin-bottom:.5rem}
.article-body img{max-width:100%;height:auto;border-radius:12px;margin:1.2rem 0}
.article-body blockquote{margin:1.4rem 0;padding:.4rem 0 .4rem 1.3rem;border-left:3px solid var(--blue-50);color:var(--slate);font-style:italic}
.article-related{max-width:760px;margin:42px auto 0;border-top:1px solid var(--line);padding-top:28px}
.article-related h2{font-size:1.05rem;color:var(--navy);margin-bottom:14px}
.article-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.article-related-card{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;transition:.16s;background:#fff}
.article-related-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.article-related-card .t{font-weight:700;color:var(--ink)}
.article-related-card .m{font-size:.82rem;color:var(--slate)}

/* Sitemap */
.sitemap{padding:40px 0 56px}
.sitemap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 30px}
.sitemap-col h2{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);padding-bottom:.6rem;margin-bottom:.9rem;border-bottom:1px solid var(--line)}
.sitemap-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.sitemap-col a{color:var(--slate);text-decoration:none;font-size:.94rem;transition:.14s}
.sitemap-col a:hover{color:var(--blue)}
.sitemap-col--wide{grid-column:span 2}
.sitemap-cities{display:grid!important;grid-template-columns:repeat(3,1fr);gap:.5rem 1rem}

@media(max-width:900px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .sitemap-grid{grid-template-columns:repeat(2,1fr)}
  .sitemap-col--wide{grid-column:span 2}
  .article-head h1{font-size:1.9rem}
  .article-related-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .blog-grid{grid-template-columns:1fr}
  .sitemap-grid{grid-template-columns:1fr}
  .sitemap-col--wide{grid-column:auto}
  .sitemap-cities{grid-template-columns:repeat(2,1fr)}
}

/* ============================================================
   REMOTE SUPPORT — intake form, authorization cards, assurances
   ============================================================ */
.rs-note-card{background:var(--blue-50);border:1px solid #d4e2f7;border-radius:16px;padding:24px 26px}
.rs-note-card h3{font-size:1.05rem;color:var(--navy);margin-bottom:.5rem}
.rs-note-card>p{font-size:.92rem;color:var(--slate);line-height:1.6;margin-bottom:.9rem}
.rs-assure{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:.55rem}
.rs-assure li{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;color:var(--ink-1);font-weight:600}
.rs-assure svg{color:var(--blue);flex:none;margin-top:2px}
.rs-note-card .rs-help{margin-top:6px;font-size:.9rem;color:var(--slate)}
.rs-note-card .rs-help a{color:var(--blue);font-weight:700}

.rs-form-wrap{padding:6px 0 66px}
.rs-intake{max-width:880px;margin:26px auto 0}
.req{color:#d4322b;font-weight:700}
.form-sec{padding:22px 0;border-top:1px solid var(--line)}
.form-sec:first-of-type{padding-top:2px;border-top:none}
.form-sec-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin-bottom:15px}

.auth-box{display:flex;gap:.8rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:15px 17px;margin-bottom:12px;cursor:pointer;transition:border-color .16s,background .16s}
.auth-box:hover{border-color:#c1d0e3}
.auth-box input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--blue);cursor:pointer}
.auth-box span{font-size:.88rem;color:var(--slate);line-height:1.55}
.auth-box b{display:block;color:var(--navy);font-size:.95rem;font-weight:700;margin-bottom:.25rem}
.auth-box:has(input:checked){border-color:var(--blue);background:#f2f7ff}
.auth-box--sm b{font-size:.9rem}

@media(max-width:560px){.rs-intake{padding:22px}.form-row{grid-template-columns:1fr}}

/* ============================================================
   Keep Google's reCAPTCHA badge clear of the floating chat button
   (badge defaults to bottom-right, same corner as the .fab chat CTA)
   ============================================================ */
.grecaptcha-badge{bottom:90px!important;z-index:80!important;transition:bottom .2s ease}
@media(max-width:560px){.grecaptcha-badge{bottom:152px!important}}
