/* =====================================================================
   Urgent Guard — site design system (loaded after each page's own styles)
   Near-black + white, Urgent Guard lime, bold Inter, quiet grid texture.
   ===================================================================== */
:root{
  --ink:#0b0b0d;--ink-2:#16161a;--ink-3:#232428;
  --green:#9fe870;--green-d:#0b7a3b;--green-dd:#075a2b;
  --muted:#5f636b;--muted-2:#8a8e96;--line:#e6e8eb;--line-2:#d6d8dc;
  --bg:#fff;--soft:#f6f7f8;--soft-2:#eef0f2;
  --r:14px;--r-lg:20px;
  --shadow-1:0 1px 2px rgba(11,11,13,.04),0 4px 14px rgba(11,11,13,.05);
  --shadow-2:0 2px 6px rgba(11,11,13,.06),0 18px 40px rgba(11,11,13,.10);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-family:"Inter",-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;font-feature-settings:"ss01","cv11";letter-spacing:-.005em;overflow-x:hidden}
img,svg,iframe,video{max-width:100%}
::selection{background:var(--green);color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green-d);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;padding-left:24px;padding-right:24px}

/* ---------- Header ---------- */
header.ugh{position:sticky;top:0;z-index:100;background:rgba(11,11,13,.86);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(255,255,255,.07);color:#fff}
header.ugh::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(159,232,112,.55) 30%,rgba(159,232,112,.55) 70%,transparent)}
.ugh-in{max-width:1180px;margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;gap:28px}
.ugh-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.4px;color:#fff;white-space:nowrap;flex:0 0 auto}
.ugh-logo b{color:var(--green);font-weight:800}
.ugh-nav{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}
.ugh-nav a{color:#c9ccd1;font-size:14.5px;font-weight:600;padding:8px 12px;border-radius:8px;transition:color .15s,background .15s;white-space:nowrap}
.ugh-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.ugh-nav a[aria-current="page"]{color:#fff}
.ugh-nav a[aria-current="page"]::after{content:"";display:block;height:2px;margin-top:3px;border-radius:2px;background:var(--green)}
.ugh-act{display:flex;align-items:center;gap:10px;margin-left:auto;flex:0 0 auto}
.ugh-tel{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:800;font-size:15px;white-space:nowrap;padding:8px 6px}
.ugh-tel svg{flex:0 0 auto}
.ugh-login{color:#fff;font-weight:600;font-size:14px;padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;white-space:nowrap;transition:border-color .15s,background .15s}
.ugh-login:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.05)}
.ugh-cta{background:var(--green);color:var(--ink);font-weight:800;font-size:14.5px;padding:10px 16px;border-radius:10px;white-space:nowrap;transition:box-shadow .2s,transform .1s}
.ugh-cta:hover{box-shadow:0 8px 22px rgba(159,232,112,.35)}
.ugh-cta:active{transform:translateY(1px)}
.ugh-burger{display:none;width:44px;height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.06);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.ugh-burger span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .25s var(--ease),opacity .2s}
.ugh-burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.ugh-burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.ugm{display:none}
@media(max-width:1080px){.ugh-login{display:none}}
@media(max-width:940px){
  .ugh-nav{display:none}
  .ugh-burger{display:inline-flex}
  .ugh-in{gap:12px;height:64px;padding:0 16px}
  .ugm{display:block;position:fixed;z-index:99;left:0;right:0;top:64px;bottom:0;background:var(--ink);overflow:auto;padding:12px 16px calc(28px + env(safe-area-inset-bottom));transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),transform .25s var(--ease),visibility 0s .25s}
  .ugm.open{opacity:1;visibility:visible;transform:none;transition:opacity .2s var(--ease),transform .25s var(--ease)}
  .ugm a.ugm-l{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:22px;font-weight:700;letter-spacing:-.4px;padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .ugm a.ugm-l::after{content:"→";color:var(--green);font-weight:600}
  .ugm-sub{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
  .ugm-sub a{display:block;text-align:center;padding:14px;border-radius:12px;font-weight:700;font-size:15px;border:1px solid rgba(255,255,255,.16);color:#fff}
  .ugm-sub a.pri{background:var(--green);color:var(--ink);border-color:var(--green)}
  .ugm-note{color:#80848c;font-size:13px;margin-top:18px;text-align:center}
  body.ugm-open{overflow:hidden}
}
@media(max-width:560px){
  .ugh-tel span{display:none}
  .ugh-tel{width:44px;height:44px;justify-content:center;padding:0;border-radius:10px;background:rgba(159,232,112,.12)}
  .ugh-cta{padding:10px 13px;font-size:14px}
  .ugh-logo{font-size:17px}
  .ugh-logo svg{width:26px;height:26px}
}
@media(max-width:420px){.ugh-tel{display:none}.ugh-act{gap:8px}.ugh-burger{width:42px;height:42px}}
@media(max-width:340px){.ugh-logo span{display:none}}

/* ---------- Buttons ---------- */
.btn{border-radius:12px;font-weight:700;letter-spacing:-.1px;transition:transform .12s var(--ease),box-shadow .25s var(--ease),background .2s,border-color .2s;white-space:nowrap}
.btn-primary{background:var(--green);color:var(--ink)}
.btn-primary:hover{box-shadow:0 10px 26px rgba(159,232,112,.38)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--ink-3);box-shadow:0 12px 26px rgba(11,11,13,.25)}
.btn-ghost{border:1px solid rgba(255,255,255,.28)}
.btn:active{transform:translateY(1px)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:84px 0 88px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(60% 80% at 0% 0%,rgba(159,232,112,.18) 0%,rgba(159,232,112,0) 60%),
  radial-gradient(50% 60% at 100% 100%,rgba(159,232,112,.09) 0%,rgba(159,232,112,0) 60%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 20%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 30% 20%,#000 0%,transparent 75%)}
.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);background:rgba(159,232,112,.10);border:1px solid rgba(159,232,112,.28);padding:6px 12px;border-radius:999px}
section:not(.hero) .eyebrow{color:var(--green-d);background:rgba(11,122,59,.07);border-color:rgba(11,122,59,.18)}
.hero h1{font-size:clamp(34px,5.6vw,64px);line-height:1.02;letter-spacing:-.035em;font-weight:800;max-width:900px;text-wrap:balance}
.hero h1 .hl{color:var(--green)}
.hero p,.hero .sub{color:#b9bcc2;font-size:clamp(16px,1.6vw,19px);line-height:1.6;max-width:680px}
.hero-cta{gap:12px;margin-top:30px}
.hero .call{color:#9da1a8}
.crumbs{color:#8a8e96}
.hero .crumbs a{color:var(--green)}

/* credentials strip */
.cred,.credbar{background:var(--ink-2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);color:#c9ccd1}
.cred .wrap{gap:10px 30px;padding-top:16px;padding-bottom:16px}
.cred span{display:inline-flex;align-items:center;gap:8px}

/* ---------- Sections ---------- */
section{padding:76px 0}
section h2,.band h2{font-size:clamp(26px,3.4vw,40px);line-height:1.1;font-weight:800;letter-spacing:-.025em;text-wrap:balance}
.sub{color:var(--muted);font-size:17px;line-height:1.6}
section[style*="--soft"],section.alt{background:var(--soft)!important}

/* cards */
.grid{gap:18px;margin-top:32px}
.card,.postcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-1);transition:transform .2s var(--ease),box-shadow .25s var(--ease),border-color .2s}
.card:hover,.postcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--line-2)}
.card h3,.postcard h3{font-size:17px;font-weight:700;letter-spacing:-.2px}
.card p,.postcard p{color:var(--muted);font-size:14.5px;line-height:1.55}
.postcard{display:block;margin-top:0}
.postcard h3{color:var(--ink)}
.wrap:has(>.postcard){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.wrap:has(>.postcard)>:not(.postcard){grid-column:1/-1}
.wrap:has(>.postcard)>.sub{margin-bottom:14px}
@media(max-width:900px){.wrap:has(>.postcard){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.wrap:has(>.postcard){grid-template-columns:1fr}}

/* checks */
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin-top:28px}
.check{margin-top:0;padding:18px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.check .k{flex:0 0 28px;height:28px;border-radius:9px;background:var(--ink);color:var(--green);font-size:14px}
.check b{font-size:15.5px;letter-spacing:-.15px}
@media(max-width:700px){.checks{grid-template-columns:1fr}}

/* chips */
.chip{background:#fff;border:1px solid var(--line);color:#33363b;font-weight:500;transition:border-color .15s,color .15s}
a.chip:hover,.chip a:hover{border-color:var(--green-d);color:var(--green-d)}
.locs a{color:var(--green-d);font-weight:600}
.locs a:hover{text-decoration:underline}

/* CTA band */
.band{position:relative;overflow:hidden;background:var(--ink)!important;color:#fff!important;text-align:center;isolation:isolate}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 120% at 50% 0%,rgba(159,232,112,.20),rgba(159,232,112,0) 70%)}
.band h2{color:#fff}
.band p{color:#b9bcc2}
.band .btn{margin-top:18px}
.band .btn-dark{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.band .btn-dark:hover{border-color:#fff;background:rgba(255,255,255,.06);box-shadow:none}

/* FAQ */
details{border:1px solid var(--line);border-radius:12px;padding:2px 18px;background:#fff;transition:border-color .2s,box-shadow .2s}
details[open]{border-color:var(--line-2);box-shadow:var(--shadow-1)}
summary{font-weight:700;padding:16px 0;letter-spacing:-.15px}
summary::after{color:var(--green-d)}
details .a{color:var(--muted);line-height:1.65}

/* articles / legal */
.art{max-width:760px}
.art p,.art li{color:#2c2f34;line-height:1.75;font-size:16.5px}
.art h2{font-size:clamp(22px,2.6vw,28px);margin-top:36px}
.art a{color:var(--green-d);text-decoration:underline;text-underline-offset:3px}
.art table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.art th,.art td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.art th{background:var(--soft);font-weight:700}

/* maps */
.mapwrap{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-1)}

/* forms (contact / apply / home booking) */
.frm input,.frm select,.frm textarea,form input:not([type=checkbox]):not([type=radio]),form select,form textarea{font-family:inherit;font-size:16px;border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s;max-width:100%}
.frm input:focus,.frm select:focus,.frm textarea:focus,form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(159,232,112,.45)}
.frm label{font-weight:600;color:#25272c}
@media(max-width:640px){.frm .row2,.row2{grid-template-columns:1fr!important}}

/* call FAB (mobile) */
.ugfab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));border-radius:999px;padding:13px 18px;box-shadow:0 10px 26px rgba(11,11,13,.32)}

/* ---------- Footer ---------- */
footer.ugf{position:relative;background:var(--ink);color:#9da1a8;padding:72px 0 28px;font-size:14px;overflow:hidden;isolation:isolate}
footer.ugf::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 0% 100%,rgba(159,232,112,.10),rgba(159,232,112,0) 70%)}
footer.ugf a{color:#c9ccd1;transition:color .15s}
footer.ugf a:hover{color:#fff}
.ugf-in{max-width:1180px;margin:0 auto;padding:0 24px}
.ugf-top{display:grid;grid-template-columns:1.25fr 2fr;gap:48px}
.ugf-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.4px;color:#fff!important}
.ugf-logo b{color:var(--green)}
.ugf-blurb{margin-top:14px;max-width:340px;line-height:1.6;color:#9da1a8}
.ugf-tel{display:block;margin-top:22px;font-size:26px;font-weight:800;letter-spacing:-.6px;color:var(--green)!important}
.ugf-tel small{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#80848c;margin-bottom:4px}
.ugf-mail{display:inline-block;margin-top:8px}
.ugf-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ugf-cols h4{color:#fff;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.ugf-cols a{display:block;padding:5px 0;font-size:14px}
.ugf-bot{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:#80848c}
.ugf-bot .fmut{margin:0;color:#80848c;font-size:12.5px}
.ugf-bot .fmut a{color:#9da1a8}
.ugf-apps{display:flex;gap:16px}
@media(max-width:900px){.ugf-top{grid-template-columns:1fr}.ugf-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){footer.ugf{padding-top:56px}.ugf-bot{flex-direction:column;align-items:flex-start}}

/* ---------- Motion ---------- */
@media(prefers-reduced-motion:no-preference){
  .ug-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .ug-reveal.in{opacity:1;transform:none}
  .hero .wrap>*{animation:ugUp .7s var(--ease) both}
  .hero .wrap>*:nth-child(2){animation-delay:.06s}.hero .wrap>*:nth-child(3){animation-delay:.12s}.hero .wrap>*:nth-child(4){animation-delay:.18s}.hero .wrap>*:nth-child(5){animation-delay:.24s}
}
@keyframes ugUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.card:hover,.postcard:hover{transform:none}}

/* ---------- Small screens ---------- */
@media(max-width:640px){
  .wrap{padding-left:18px;padding-right:18px}
  section{padding:56px 0}
  .hero{padding:56px 0 60px}
  .hero-cta .btn{flex:1 1 100%;justify-content:center}
  .grid{grid-template-columns:1fr!important}
}

body.ugm-open .ugfab,body.ugm-open #ugCk,body.ugm-open .callfab{display:none!important}
.hero .trust .i{display:block}
.hero .trust .i .dotpulse{display:inline-block;margin-right:6px;vertical-align:middle}
@media(max-width:640px){.hero .trust{gap:10px 22px;margin-top:26px}}
.ugf-legal{display:inline-block;margin-top:6px;color:#6b6f77;font-size:12px;line-height:1.5}
header.ugh a,.ugm a,footer.ugf a{text-decoration:none!important}

/* ---------- Live UK coverage map (homepage hero) ---------- */
.ugmap{position:relative;width:100%;max-width:470px;margin-left:auto;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:16px 16px 14px;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
.ugmap-head{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#9da1a8;min-height:20px}
.ugmap-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green);background:rgba(159,232,112,.10);border:1px solid rgba(159,232,112,.28);padding:4px 9px;border-radius:999px;flex:0 0 auto}
.ugmap-live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(159,232,112,.7);animation:ugPing 1.8s infinite}
.ugmap-totals{line-height:1.35}.ugmap-totals b{color:#fff;font-weight:800}.ugmap-totals b.g{color:var(--green)}
.ugmap-ago{color:#6b6f77}
.ugmap-stage{position:relative;margin:8px auto 0;height:min(560px,62vh);display:flex;justify-content:center}
.ugmap-stage svg{height:100%;width:auto;overflow:visible;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}
.ugmap-a{fill:#1b1c20;stroke:#33353b;stroke-width:1.1;cursor:pointer;transition:fill .35s,stroke .2s;outline:none}
.ugmap-a[data-l="1"]{fill:#1f2a1d}.ugmap-a[data-l="2"]{fill:#27401f}.ugmap-a[data-l="3"]{fill:#33601f}.ugmap-a[data-l="4"]{fill:#4f8a2c}.ugmap-a[data-l="5"]{fill:#7cc04a}
.ugmap-a:hover,.ugmap-a:focus-visible{stroke:var(--green);stroke-width:2.2;filter:brightness(1.25)}
.ugmap-a.sel{stroke:#fff;stroke-width:2.6;filter:brightness(1.35)}
.ugmap-dots{pointer-events:none}
.ugmap-dot{fill:var(--green);stroke:#0b0b0d;stroke-width:1.5}
.ugmap-halo{transform-box:fill-box;transform-origin:center;animation:ugHalo 2.4s ease-out infinite}
@keyframes ugHalo{0%{opacity:.85;transform:scale(.4)}100%{opacity:0;transform:scale(2.2)}}
@keyframes ugPing{0%{box-shadow:0 0 0 0 rgba(159,232,112,.6)}100%{box-shadow:0 0 0 8px rgba(159,232,112,0)}}
.ugmap-tip{position:absolute;transform:translate(-50%,-100%);background:#fff;color:var(--ink);font-size:12.5px;line-height:1.4;padding:8px 11px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.35);pointer-events:none;white-space:nowrap;z-index:2}
.ugmap-tip span{color:var(--muted);font-weight:600}.ugmap-tip em{color:var(--green-d);font-style:normal;font-weight:700}
.ugmap-card{margin-top:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;color:#c9ccd1;font-size:13.5px;min-height:96px;transition:border-color .3s,background .3s}
.ugmap-card.flash{border-color:rgba(159,232,112,.55);background:rgba(159,232,112,.06)}
.ugmap-card-h{display:flex;align-items:center;gap:8px;color:#fff;font-size:16px}
.ugmap-code{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--ink);background:var(--green);padding:2px 7px;border-radius:6px}
.ugmap-card-s{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;color:#b9bcc2}
.ugmap-card-s .on{color:var(--green);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.ugmap-card-s .on i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:ugPing 1.8s infinite}
.ugmap-card-a{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}
.ugmap-card-a .btn{padding:9px 14px;font-size:13.5px;border-radius:10px}
.ugmap-more{color:var(--green);font-weight:700;font-size:13px}
.ugmap-legend{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11.5px;color:#80848c}
.ugmap-legend .sw{display:flex;gap:2px}.ugmap-legend .sw i{width:16px;height:8px;border-radius:2px;display:block}
.ugmap-legend .dotk{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.ugmap-legend .dotk i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.ugmap-note{margin-top:6px;font-size:11px;color:#6b6f77}
.ugmap:not(.ready) .ugmap-stage svg{opacity:.5}
@media(max-width:980px){.ugmap{margin:34px auto 0}}
@media(max-width:640px){.ugmap{padding:12px}.ugmap-stage{height:min(460px,70vh)}}
@media(prefers-reduced-motion:reduce){.ugmap-halo,.ugmap-live i,.ugmap-card-s .on i{animation:none}}

/* ---------- Typography: Archivo (semi-expanded) for display, Inter for text ---------- */
h1,h2,.hero h1,section h2,.band h2,.ugmap-card-h b,.stat .n,.pricecard h3,.ugq-price b,.ugf-tel{font-family:"Archivo","Inter",-apple-system,Helvetica,Arial,sans-serif;font-stretch:112%;font-optical-sizing:auto}
.hero h1{font-weight:800;letter-spacing:-.035em;line-height:.98}
section h2,.band h2{font-weight:800;letter-spacing:-.03em;line-height:1.04}
.card h3,.postcard h3,.check b{font-weight:700;letter-spacing:-.2px}
body{font-size:16px;line-height:1.6}
.sub,.hero p{max-width:62ch}
.stat .n,.ugq-price b,.ugmap-totals b{font-variant-numeric:tabular-nums}
.eyebrow{font-family:"Inter",sans-serif;font-weight:700}
.stat .n{font-weight:800;letter-spacing:-.03em}
h1 .hl,.hero h1 .hl{background:linear-gradient(90deg,#9fe870,#c6f5a6);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Line icons ---------- */
.ugi{width:1.1em;height:1.1em;flex:0 0 auto;vertical-align:-.17em;display:inline-block}
a .ugi,button .ugi,.btn .ugi{margin-right:.45em}
.cred b,.credbar .b{display:inline-flex;color:var(--green)}
.cred b .ugi,.secbadge .b .ugi{width:17px;height:17px}
.card h3>.ugi:first-child,.pricecard h3>.ugi:first-child,.postcard h3>.ugi:first-child{display:flex;width:42px;height:42px;padding:10px;margin:0 0 14px;border-radius:12px;background:#eef7e8;color:var(--green-d);box-sizing:border-box}
.hero .card h3>.ugi:first-child{background:rgba(159,232,112,.12);color:var(--green)}
.contactline .ic{display:flex;align-items:center;justify-content:center;color:var(--green-d)}
.contactline .ic .ugi{width:22px;height:22px}
.check .k .ugi{width:15px;height:15px;margin:0}
.ugfab .ugi{margin-right:.4em}

/* ---------- Hero quick quote ---------- */
.ugq{margin-top:26px;max-width:640px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px;box-shadow:0 18px 50px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ugq-row{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"pc dt" "ty go";gap:10px;align-items:end}
.ugq-pc{grid-area:pc}.ugq-dt{grid-area:dt}.ugq-row>.ugq-f:nth-child(2){grid-area:ty}.ugq-go{grid-area:go}
.ugq-f label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9da1a8;margin:0 0 6px 2px}
.ugq-f input,.ugq-f select{width:100%;height:46px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#141519;color:#fff;font:600 15px/1 "Inter",sans-serif;padding:0 12px;margin:0;color-scheme:dark;transition:border-color .15s,box-shadow .15s}
.ugq-f input::placeholder{color:#6b6f77;font-weight:500}
.ugq-f input:focus,.ugq-f select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(159,232,112,.25)}
.ugq-pc input{text-transform:uppercase}
.ugq-go{height:46px;padding:0 20px;border-radius:10px;justify-content:center}
.ugq-out{margin-top:12px;padding:14px 16px;border-radius:12px;background:rgba(159,232,112,.07);border:1px solid rgba(159,232,112,.25);color:#d6d9de;font-size:14px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"price avail" "price note" "book book";gap:4px 20px;align-items:center}
.ugq-out[hidden]{display:none}
.ugq-out.err{background:rgba(255,90,90,.08);border-color:rgba(255,120,120,.35);color:#ffb4b4;display:block}
.ugq-out.loading{display:block;color:#9da1a8;background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08)}
.ugq-price{grid-area:price;color:#fff;white-space:nowrap}
.ugq-price span{font-size:12px;color:#9da1a8;font-weight:600;text-transform:uppercase;letter-spacing:.08em;display:block}
.ugq-price b{font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--green)}
.ugq-price em{font-style:normal;font-size:13px;color:#b9bcc2;margin-left:4px}
.ugq-avail{display:flex;align-items:center;gap:8px;color:#e6e8eb}
.ugq-avail b{color:#fff}
.ugq-avail i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(159,232,112,.6);animation:ugPing 1.8s infinite;flex:0 0 auto}
.ugq-avail{grid-area:avail}.ugq-note{grid-area:note;font-size:12px;color:#80848c}
.ugq-book{grid-area:book;justify-content:center;margin-top:8px;padding:12px 16px;border-radius:10px;font-size:14.5px}
@media(max-width:520px){
  .ugq-row{grid-template-columns:1fr;grid-template-areas:"pc" "ty" "dt" "go"}
  .ugq-out{grid-template-columns:1fr;grid-template-areas:"price" "avail" "note" "book"}
}
#ugQuote .ugq-f input,#ugQuote .ugq-f select{background:#141519;color:#fff;border:1px solid rgba(255,255,255,.14);font-size:16px}
#ugQuote .ugq-f input:focus,#ugQuote .ugq-f select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(159,232,112,.25)}

/* ---------- Price calculator ---------- */
.ugc{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:22px;margin-top:30px;align-items:start}
.ugc-form{display:grid;gap:14px}
.ugc-f{border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;background:#fff;box-shadow:var(--shadow-1);margin:0;min-width:0}
.ugc-f legend{display:flex;align-items:center;gap:10px;font:800 17px/1.2 "Archivo","Inter",sans-serif;font-stretch:108%;letter-spacing:-.01em;padding:0;margin-bottom:14px;float:left;width:100%}
.ugc-f legend+*{clear:both}
.ugc-f legend span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--ink);color:var(--green);font:800 13px "Inter",sans-serif}
.ugc label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 7px}
.ugc input,.ugc select{width:100%;height:46px;border:1px solid var(--line-2);border-radius:10px;padding:0 12px;font:600 16px "Inter",sans-serif;color:var(--ink);background:#fff;margin:0}
.ugc input:focus,.ugc select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(159,232,112,.45)}
.ugc-svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ugc-svc button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-family:inherit;color:var(--ink);transition:border-color .15s,box-shadow .2s,transform .1s,background .15s}
.ugc-svc button:hover{border-color:var(--line-2);box-shadow:var(--shadow-1)}
.ugc-svc button .ugi{width:24px;height:24px;color:var(--green-d);margin-bottom:6px}
.ugc-svc button b{font-size:14px;font-weight:700;line-height:1.25}
.ugc-svc button small{font-size:12px;color:var(--muted);font-weight:600}
.ugc-svc button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(11,11,13,.18)}
.ugc-svc button[aria-pressed="true"] .ugi{color:var(--green)}
.ugc-svc button[aria-pressed="true"] small{color:#b9bcc2}
.ugc-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ugc-num{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;height:46px;overflow:hidden;background:#fff}
.ugc-num input{border:0!important;box-shadow:none!important;text-align:center;height:44px;padding:0;min-width:0}
.ugc-num button{flex:0 0 44px;height:44px;border:0;background:var(--soft);font:700 20px/1 "Inter",sans-serif;color:var(--ink);cursor:pointer}
.ugc-num button:hover{background:var(--soft-2)}
.ugc-presets,.ugc-pattern,.ugc-days{display:flex;flex-wrap:wrap;gap:8px}
.ugc-presets{margin-top:12px}
.ugc-presets button,.ugc-pattern button,.ugc-days button{height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font:600 13.5px "Inter",sans-serif;color:#33363b;cursor:pointer;transition:all .15s}
.ugc-pattern button{flex:1;height:46px;border-radius:10px;font-size:15px}
.ugc-presets button[aria-pressed="true"],.ugc-pattern button[aria-pressed="true"],.ugc-days button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.ugc-days button{min-width:52px}
.ugc-oneoff,.ugc-weekly{margin-top:14px}
.ugc-weekly select{margin-top:2px;max-width:260px}
.ugc-weekly label+.ugc-days{margin-bottom:12px}
.ugc[data-pattern="oneoff"] .ugc-weekly,.ugc[data-pattern="weekly"] .ugc-oneoff{display:none}
.ugc[data-mode="callout"] .ugc-weekly{display:none}.ugc[data-mode="callout"] .ugc-oneoff{display:block}
.ugc:not([data-mode="hour"]) .ugc-only-hour,.ugc:not([data-mode="patrol"]) .ugc-only-patrol,.ugc[data-mode="callout"] .ugc-not-callout{display:none}
.ugc[data-mode="callout"] .ugc-n3{font-size:0}.ugc[data-mode="callout"] .ugc-n3::after{content:"2";font-size:13px}
.ugc-sum{position:sticky;top:88px;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:24px;overflow:hidden;isolation:isolate;box-shadow:0 30px 60px rgba(11,11,13,.25)}
.ugc-sum::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 60% at 100% 0%,rgba(159,232,112,.18),rgba(159,232,112,0) 70%)}
.ugc-sum-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.ugc-total{margin-top:10px;font:800 clamp(30px,3.4vw,40px)/1.05 "Archivo","Inter",sans-serif;font-stretch:110%;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ugc-total small{display:block;font:600 13px "Inter",sans-serif;color:#9da1a8;letter-spacing:0;margin-top:6px}
.ugc-total.bump{animation:ugBump .35s var(--ease)}
@keyframes ugBump{0%{opacity:.4;transform:translateY(3px)}100%{opacity:1;transform:none}}
.ugc-inc{color:#b9bcc2;font-size:14px;margin-top:4px}
.ugc-lines{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:9px}
.ugc-lines li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;font-size:13.5px;color:#b9bcc2;align-items:baseline}
.ugc-lines li span:first-child{color:#80848c;white-space:nowrap}
.ugc-lines li b{color:#fff;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ugc-lines li span b{color:#fff}
.ugc-note{margin-top:12px;font-size:13px;color:var(--green);min-height:18px}
.ugc-book{width:100%;justify-content:center;margin-top:16px;padding:15px 18px;font-size:15.5px}
.ugc-call{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;color:#c9ccd1!important;font-size:13.5px;font-weight:600}
.ugc-call .ugi{margin-right:0}
.ugc-fine{margin-top:16px;font-size:11.5px;line-height:1.55;color:#6b6f77}
@media(max-width:980px){.ugc{grid-template-columns:1fr}.ugc-sum{position:relative;top:auto}.ugc-svc{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.ugc-svc{grid-template-columns:repeat(2,minmax(0,1fr))}.ugc-grid3{grid-template-columns:1fr 1fr}.ugc-grid3>.ugc-step-n{grid-column:1/-1}.ugc-f{padding:16px}}
@media(max-width:640px){.ugc-lines li{grid-template-columns:1fr auto;gap:2px 10px}.ugc-lines li span:first-child{grid-column:1/-1;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.ugc-sum{padding:20px}}

/* Homepage: live map first on small screens, then the headline */
@media(max-width:980px){.hero .herogrid>div:last-child{order:0}.hero .ugmap{margin:6px auto 0}}
.ugc-sec{padding-top:64px}

/* ---------- Area pages + areas hub ---------- */
.uga-hero-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.uga-hero-in>div:first-child{align-self:center}
.uga-hero .crumbs{font-size:13px;color:var(--mut,#6b6b72);margin-bottom:14px}
.uga-hero .crumbs a{color:inherit}
.uga-live{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 6px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06);font-size:15px;color:inherit}
.uga-live b{color:#9fe870}
.uga-live b{font-size:20px;font-weight:800}
.uga-map{position:relative;aspect-ratio:1/1;border-radius:24px;background:#141417;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;padding:36px 36px 52px;overflow:hidden;min-height:460px}
.uga-map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(159,232,112,.18),transparent 60%)}
.uga-shape{position:relative;width:100%;height:100%}
.uga-shape path{fill:#9fe870;stroke:#0b0b0d;stroke-width:1;vector-effect:non-scaling-stroke}
.uga-map-k{position:absolute;left:16px;bottom:14px;color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em}
.uga-map-x{position:relative;color:#9fe870;font-weight:800;font-size:clamp(60px,10vw,110px);letter-spacing:-.04em}
.uga-stats{background:#0b0b0d;color:#fff;padding:44px 0}
.uga-stats-h{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:20px}
.uga-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.uga-grid>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:18px}
.uga-grid b{display:block;font-size:clamp(26px,3.4vw,38px);font-weight:800;color:#9fe870;letter-spacing:-.02em}
.uga-grid span{font-size:14px;color:rgba(255,255,255,.75)}
.uga-src{font-size:13px;color:rgba(255,255,255,.6);margin:16px 0 0}
.uga-two{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:start}
.uga-side{background:var(--soft,#f4f4f1);border-radius:18px;padding:24px}
.uga-side h3{margin:0 0 12px;font-size:17px}
.uga-list{margin:0;padding:0;list-style:none}
.uga-list li{padding:10px 0 10px 26px;border-top:1px solid rgba(0,0,0,.07);position:relative}
.uga-list li:first-child{border-top:0}
.uga-list li:before{content:"";position:absolute;left:4px;top:17px;width:10px;height:10px;border-radius:3px;background:#9fe870}
.uga-towns{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.uga-towns li{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:6px 14px;font-size:14px}
.uga-nears{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-top:14px}
.uga-near{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(0,0,0,.09);border-radius:14px;color:inherit;text-decoration:none;font-weight:600;transition:border-color .15s,transform .15s}
.uga-near:hover{border-color:#0b0b0d;transform:translateY(-1px)}
.uga-near span{display:inline-flex;min-width:38px;height:30px;padding:0 6px;align-items:center;justify-content:center;border-radius:8px;background:#0b0b0d;color:#9fe870;font-weight:800;font-size:13px}
.uga-near.all span{background:#9fe870;color:#0b0b0d}
.uga-region{margin:0 0 34px}
.uga-region h2{font-size:22px;margin:0 0 12px}
.uga-hubgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.uga-hubitem{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;padding:12px 14px;border:1px solid rgba(0,0,0,.09);border-radius:14px;color:inherit;text-decoration:none;transition:border-color .15s}
.uga-hubitem:hover{border-color:#0b0b0d}
.uga-hubitem .c{grid-row:1/3;align-self:center;display:inline-flex;min-width:40px;height:36px;padding:0 6px;align-items:center;justify-content:center;border-radius:9px;background:#0b0b0d;color:#9fe870;font-weight:800;font-size:14px}
.uga-hubitem .n{font-weight:700}
.uga-hubitem .o{font-size:13px;color:var(--mut,#6b6b72)}
@media(max-width:980px){
  .uga-hero-in,.uga-two{grid-template-columns:1fr;gap:28px}
  .uga-map{order:-1;aspect-ratio:auto;height:170px;min-height:0;padding:18px}
  .uga-grid{grid-template-columns:repeat(2,1fr)}
}

/* homepage hero: equal halves, map fills its half */
@media(min-width:981px){.hero .herogrid{grid-template-columns:1fr 1fr;gap:48px}.hero .ugmap{max-width:none;margin-left:0}}

/* ---------- Shared quote form + mobile action bar ---------- */
.ugl-sec{background:var(--soft,#f4f4f1)}
.ugl-pref{border:0;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ugl-pref legend{font-weight:600;color:#25272c;font-size:14px;margin-bottom:6px;padding:0}
.ugl-pref label{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2,#ddd);border-radius:10px;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600;margin:0}
.ugl-pref input{width:16px;height:16px;accent-color:#0b0b0d;margin:0}
.ugl-pref label:has(input:checked){border-color:#0b0b0d;background:rgba(159,232,112,.18)}
.ugl-consent{display:flex!important;gap:9px;align-items:flex-start;margin-top:14px;font-size:12.5px!important;font-weight:400!important;color:#555!important;cursor:pointer}
.ugl-consent input{margin-top:3px;flex:0 0 auto;width:16px;height:16px}
.ugl-send{width:100%;justify-content:center;margin-top:16px}
.ugl-err{min-height:18px;margin-top:8px;font-size:13px;color:#c00f0c}
.ugl-done{text-align:center;padding:26px 6px}
.ugl-ok{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;background:#9fe870;color:#0b0b0d;font-size:28px;font-weight:900;display:flex;align-items:center;justify-content:center}
.ugl-done p{color:#6b6b6b;margin-top:8px;font-size:15px}
@media(max-width:520px){.ugl-pref{grid-template-columns:1fr}}
.ugbar{display:none}
@media(max-width:760px){
  .ugbar{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(11,11,13,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08)}
  .ugbar a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:12px;font-weight:800;font-size:15.5px;text-decoration:none}
  .ugbar-call{background:rgba(255,255,255,.1);color:#fff}
  .ugbar-quote{background:#9fe870;color:#0b0b0d}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  body.ugm-open .ugbar{display:none}
}
@media(min-width:761px){.ugbar-desk{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:#9fe870;color:#0b0b0d;font-weight:800;padding:13px 18px;border-radius:999px;box-shadow:0 10px 26px rgba(11,11,13,.32);text-decoration:none}}
@media(max-width:760px){.ugbar-desk{display:none}}
/* shared quote form: self-contained styles (pages other than the homepage lack the form CSS) */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ugl-sec .split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.ugl-sec .check{display:flex;gap:12px;margin-top:16px}
.ugl-sec .check .k{flex:0 0 26px;height:26px;border-radius:50%;background:var(--green,#9fe870);color:#0b0b0d;display:flex;align-items:center;justify-content:center}
.ugl-sec .check .k .ugi{width:14px;height:14px}
.ugl-sec .check b{font-size:16px}
.ugl-sec .check p{color:var(--muted,#6b6b72);font-size:14.5px;margin-top:2px}
.ugl-sec .card{border:1px solid var(--line,#e6e6e6);border-radius:16px;padding:26px;box-shadow:0 20px 50px rgba(11,11,13,.08)}
.ugl-sec .card:hover{transform:none}
.ugl-sec .frm label{display:block;font-size:12.5px;font-weight:600;color:#555;margin:11px 0 4px}
.ugl-sec .frm input:not([type=checkbox]):not([type=radio]),.ugl-sec .frm select,.ugl-sec .frm textarea{width:100%;padding:11px 12px;border:1px solid var(--line-2,#d9d9d9);border-radius:10px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink,#0b0b0d)}
.ugl-sec .frm .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ugl-sec .ugl-pref label{margin:0;font-size:14px;color:var(--ink,#0b0b0d)}
.ugl-sec .ugl-consent{margin-top:14px}
@media(max-width:980px){.ugl-sec .split{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.ugl-sec .frm .row2{grid-template-columns:1fr}}
