/* ==========================================================================
   Locksmiths Canada — v2 polish layer (UI audit, 4 Oct 2026)

   Loaded last, after v1, v2.css, bridge.css and the asset cache. Visual layer
   only: no copy that search engines read, no schema, no tracking.

   1. Tokens       one CTA orange that passes AA, two type families,
                   a 1.25 type scale, an 8-based spacing scale
   2. Fonts        every legacy family name resolves to the two families
   3. Base type    body 16px / 1.6, headings 700, subheads 600, figures 700
   4. Rhythm       sections 96px desktop, 56px phone (v1: 80 / 48)
   5. Controls     every button and touch target 44px or taller
   6. Components   cards, tags, chips, fee blocks, FAQ, plans, guides
   7. Pages        home, city, profile, hubs, provinces, how we check,
                   plans, guides, article, sample bar
   ========================================================================== */

/* ---------- 1. tokens ---------- */
:root{
  /* CTA: white on #cf4519 = 4.65:1, on #b33b14 = 5.9:1 (was #e8562a = 3.62:1) */
  --or:#cf4519; --or-h:#b33b14; --or-ink:#ffffff;

  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:var(--sans);

  /* type scale, ratio 1.25 on a 16px base */
  --t-xs:13px; --t-s:16px; --t-m:20px; --t-l:25px; --t-xl:31px; --t-2xl:39px; --t-3xl:49px; --t-4xl:61px;

  /* spacing scale */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s6:48px; --s8:64px; --s12:96px;

  /* section rhythm */
  --sec:clamp(56px,8vw,96px);
  --sec-v1:clamp(48px,6vw,80px);

  --sh1:0 1px 2px rgba(11,46,36,.06),0 4px 16px rgba(11,46,36,.06);
  --sh2:0 2px 8px rgba(11,46,36,.08),0 16px 40px rgba(11,46,36,.12);
}

/* ---------- 2. fonts: legacy family names resolve to the two families ---------- */
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/wp-content/uploads/lc/fonts/onest-latin-var.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/wp-content/uploads/lc/fonts/onest-latin-ext-var.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/wp-content/uploads/lc/fonts/onest-cyrillic-var.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/wp-content/uploads/lc/fonts/onest-cyrillic-ext-var.woff2) format("woff2");
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/wp-content/uploads/lc/fonts/onest-symbols-var.woff2) format("woff2");
  unicode-range:U+2190-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+2300-243F,U+25A0-27BF,U+2B00-2BFF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;
  src:url(/wp-content/uploads/lc/fonts/source-serif-4-cyrillic-var.woff2) format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* Legacy names: anything still asking for these renders in Onest, so the
   old files are never downloaded and no third family appears on screen. */
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/lc/fonts/onest-latin-var.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/lc/fonts/onest-latin-var.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/lc/fonts/onest-latin-var.woff2) format("woff2")}

/* every selector that named the mono family: the sans, tabular figures, no negative tracking */
.lc-art__eyebrow,.lc-guide__eyebrow,.lc-prose ol li::marker,.lc-toc__h,.lc-tw__hint,
.cty-cell b,.lc-cb__g,.lc-hd__num,.lc-hd__s,.lc-hg__k,.lc__sp,.lcf__f span,.pf dt,
.lc-doc--404 .empty h3,.lc-doc--404 .empty p,.ph-slot::after,.sec>.wrap::before,.vb::after,
.b2__n,.cmp__f,.fr__v,.fresh b,.gc__k,.hw__n,.im__d,.im__src,.lc__fee b,.lc__fee s,.lc__rt,.mk__t s,
.mono,.nr s,.pl__p,.pr b,.pv__ab,.pv__c,.rvb__n,.sr__r,.sres__q,.st__n,.sv__c,.tbl td:last-child,
.toc li::before,.lc-anch,.st__n,.v2-inv h3,.v2-inv li i,.v2-ph__tag,.lc-prose blockquote p:first-child>strong:first-child{
  font-family:var(--sans)!important;letter-spacing:normal!important;font-variant-numeric:tabular-nums}
.lc-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}

/* ---------- 3. base type ---------- */
body,body.lc-v2{font-family:var(--sans);font-size:var(--t-s);line-height:1.6;font-weight:400}
body.lc-v2 :is(input,select,textarea,button){font-family:var(--sans)}

/* headings: serif 700 for display, sans 600 for subheads */
body.lc-v2 .v2-serif,body.lc-v2 .dsp,body:not(.lc-v2-home).lc-v2 :is(h1,h2){font-weight:700!important;line-height:1.1}
body.lc-v2:not(.lc-v2-home) :is(h3,h4){font-weight:600!important;line-height:1.3}

/* inner-page h1 / h2 on the scale (inline sizes on v1 headings are overridden) */
body.lc-v2 .sec h1.dsp{font-size:clamp(var(--t-xl),4vw,var(--t-3xl))!important;line-height:1.1!important;margin-bottom:var(--s2)!important}
body.lc-v2 .sec h2.dsp,body.lc-v2 .sh h2.dsp{font-size:clamp(var(--t-l),2.6vw,var(--t-xl))!important;line-height:1.15!important}
body.lc-v2 .lc-h3{font-size:var(--t-m)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.01em!important}
body.lc-v2 .v2-h2{font-size:clamp(var(--t-xl),3.4vw,var(--t-2xl))}
body.lc-v2 .v2-top__intro .v2-h2,body.lc-v2 .v2-guides__intro .v2-h2{font-size:clamp(var(--t-l),2.5vw,var(--t-xl))}

/* lede, body copy, measure */
body.lc-v2 .lede{font-size:clamp(18px,1.6vw,var(--t-m))!important;line-height:1.55!important;max-width:60ch!important;margin-bottom:var(--s3)!important}
body.lc-v2 .intro,body.lc-v2 .v2c-copy .intro{max-width:68ch}
body.lc-v2 .intro p,body.lc-v2 .faq details>div,body.lc-v2 .faq details>p{font-size:var(--t-s)!important;line-height:1.65!important}
body.lc-v2 .intro p{margin-bottom:var(--s2)!important}
body.lc-v2 main p{max-width:72ch}
body.lc-v2 .v2-sub,body.lc-v2 .v2-price p,body.lc-v2 .v2c-emerg p,body.lc-v2 .v2p-own__c p{font-size:var(--t-s)}

/* eyebrows: short labels only, 13px */
body.lc-v2 .eyb,body.lc-v2 .v2-eyb{font-size:var(--t-xs)!important;letter-spacing:.12em!important;font-weight:600!important;margin-bottom:var(--s2)!important}

/* figures: prices, phones, counts in 700 */
body.lc-v2 :is(.lc__fee b,.pl__p,.fr__v,.v2-fee b,.pr b,.st__n,.stat__n,.kp__v,.cmp__f,.rvb__n,.b2__n){font-weight:700!important;font-variant-numeric:tabular-nums}

/* ---------- 4. rhythm ---------- */
body.lc-v2 .v2-sec{padding:var(--sec) 0}
body.lc-v2 .v2-sec--tight{padding:clamp(48px,6vw,80px) 0}
body.lc-v2 .sec{padding:var(--sec-v1) 0}
body.lc-v2 .wrap>.sec+.sec{padding-top:0}
body.lc-v2 .sec.faq{padding-bottom:var(--sec-v1)}
body.lc-v2 .cn{padding-top:var(--s2)}
body.lc-v2 .cn+.sec{padding-top:var(--s4)}
body.lc-v2 .sh{margin-bottom:var(--s3)!important;padding-bottom:0!important}

/* ---------- 5. controls and touch targets ---------- */
body.lc-v2 .v2-btn{min-height:48px;padding:0 var(--s3);font-size:var(--t-s);font-weight:600;border-radius:8px}
body.lc-v2 .v2-search .v2-btn{min-height:56px}
body.lc-v2 .v2-card__act .v2-btn,body.lc-v2 .v2-plan .v2-btn{min-height:44px;font-size:var(--t-s);padding:0 var(--s2)}
body.lc-v2 .btn{min-height:44px!important;height:auto!important;padding:0 var(--s3)!important;font-size:var(--t-s)!important;border-radius:8px!important}
body.lc-v2 .btn--sm{min-height:44px!important;padding:0 var(--s2)!important}
body.lc-v2 .lc-save{min-height:44px!important;min-width:44px;padding:0 var(--s2)!important;font-size:var(--t-s)!important;display:inline-flex!important;align-items:center;gap:var(--s1)}
body.lc-v2 .v2-hd .v2-cityp{min-height:44px;font-size:15px}
body.lc-v2 .v2-ft__nav a,body.lc-v2 .v2-ft__base nav a{display:inline-flex;align-items:center;min-height:44px}
body.lc-v2 .v2-mnav a{min-height:48px;display:flex!important;align-items:center}
body.lc-v2 .lcf__map{min-height:44px}
body.lc-v2 .v2c-panel .lcf__f select,body.lc-v2 select,body.lc-v2 input[type=text],body.lc-v2 input[type=email],body.lc-v2 input[type=tel],body.lc-v2 input[type=url],body.lc-v2 input[type=number]{min-height:48px}
body.lc-v2 .v2-search__f select{min-height:32px}
body.lc-v2 .faq summary{min-height:56px;align-items:center;font-size:var(--t-s)!important;padding:var(--s2) 0!important}
body.lc-v2 .faq summary::after{color:var(--g700)!important;font-size:var(--t-m)!important}
body.lc-v2 :focus-visible{outline:3px solid var(--or);outline-offset:2px}

/* header nav on the scale; it moves to the burger a little earlier so 16px fits */
body.lc-v2 .v2-nav a{font-size:var(--t-s);padding:var(--s1) 10px;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:1180px){
  body.lc-v2 .v2-nav,body.lc-v2 .v2-hd .v2-btn--or,body.lc-v2 .v2-hd .v2-cityp{display:none}
  body.lc-v2 .v2-burger{display:inline-flex}
  body.lc-v2 .v2-mnav[data-open]{display:block;background:var(--g900);border-top:1px solid rgba(255,255,255,.12);padding:var(--s1) var(--gut) var(--s3)}
  body.lc-v2 .v2-mnav a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1);font-weight:500}
  body.lc-v2 .v2-mnav .v2-btn{margin-top:var(--s2);width:100%}
}
body.lc-v2 .v2-logo s{font-size:9px}
body.lc-v2 .v2-ft{font-size:var(--t-s);padding:var(--s6) 0 var(--s3)}
body.lc-v2 .v2-ft__nav{gap:0 var(--s3)}
body.lc-v2 .v2-ft__base{font-size:var(--t-xs);margin-top:var(--s3);padding-top:var(--s2)}

/* ---------- 6. components ---------- */
/* cards: one padding, one gap, one shadow */
body.lc-v2 :is(.box,.pl,.tc,.lc-guide,.frm){padding:var(--s3)!important}
body.lc-v2 .v2-card__b{padding:var(--s2) var(--s3) var(--s3);gap:var(--s1)}
body.lc-v2 .v2-card h3{font-size:var(--t-m)}
body.lc-v2 :is(.v2-top,.v2p-sim__g,.v2-guides,.v2c-list,.lc-guides,.tr__g,.pls){gap:var(--s2)!important}
body.lc-v2 :is(.v2c-lay,.v2p-lay,.v2-gb,.v2-price,.v2c-emerg__in,.v2p-three){gap:var(--s3)!important}
body.lc-v2 :is(.v2c-side,.v2p-side,.v2p-main){gap:var(--s2)!important}

/* meta text, chips, tags: 13px floor */
body.lc-v2 :is(.v2-chip,.ac,.v2-meta,.v2-fee s,.v2-check,.lc__fee s,.stamp,.v2-trust s,.v2-city s,.v2-guide s,.v2-plan s,.v2-inv li s,.v2-inv__n){font-size:var(--t-xs)!important}
body.lc-v2 .v2-chip,body.lc-v2 .ac{padding:4px 10px!important;line-height:1.4}
body.lc-v2 .v2-trust b{font-size:var(--t-s)}

/* registry and sponsored tags: sentence case, not shouted */
body.lc-v2 .tg-s{display:inline-block;font-size:var(--t-xs)!important;font-weight:600!important;text-transform:lowercase!important;letter-spacing:0!important;padding:4px 10px!important;line-height:1.4}
body.lc-v2 .tg-s::first-letter{text-transform:uppercase}

/* fee blocks */
body.lc-v2 .lc__fee em{font-size:var(--t-xs)!important;letter-spacing:.08em!important}
body.lc-v2 .v2c-list .lc__fee b{font-size:clamp(var(--t-m),1.9vw,var(--t-l))!important;white-space:normal!important;line-height:1.1;letter-spacing:-.01em!important}
body.lc-v2 .v2c-list .lc{grid-template-columns:136px minmax(0,1fr)!important}
body.lc-v2 .lc__b{padding:var(--s3)!important;min-width:0}
body.lc-v2 .lc__n{font-size:var(--t-m)!important}
body.lc-v2 .lc__m{font-size:var(--t-s)!important;color:var(--ink2)}
body.lc-v2 .lc__act{gap:var(--s1)!important;margin-top:var(--s2)!important}
body.lc-v2 .areas{gap:var(--s1)!important}

/* freshness line: the dot sits in the sentence */
body.lc-v2 .fresh{display:block!important;font-size:var(--t-xs)!important;line-height:1.6;padding:var(--s2)!important}
body.lc-v2 .fresh__d{display:inline-block!important;vertical-align:middle;margin-right:var(--s1)}
body.lc-v2 .fresh a{display:inline-block;margin-left:var(--s1);font-weight:600}

/* placeholders: a quiet label */
body.lc-v2 .v2-ph__tag{font-size:11px!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important;padding:4px 8px!important}

/* invoice explainer */
body.lc-v2 .v2-inv h3{font-size:var(--t-xs)!important;letter-spacing:.12em!important;text-transform:uppercase}
body.lc-v2 .v2-inv li i{font-size:var(--t-xs)!important;font-weight:600}
body.lc-v2 .v2-inv li b{font-size:var(--t-s)}

/* ---------- 7. pages ---------- */

/* 7.1 home */
body.lc-v2 .v2-hero h1{font-size:clamp(var(--t-2xl),6.4vw,76px)}
body.lc-v2 .v2-hero__in{padding:clamp(48px,7vw,96px) 0 clamp(32px,4.5vw,48px)}
body.lc-v2 .v2-hero__lede{font-size:clamp(18px,1.6vw,var(--t-m))}
body.lc-v2 .v2-search{margin-top:var(--s4)}
body.lc-v2 .v2-search__f label{font-size:var(--t-xs)}
body.lc-v2 .v2-search__f select{font-size:var(--t-s)}
body.lc-v2 .v2-urgent{font-size:var(--t-s);margin-top:var(--s2)}
body.lc-v2 .v2-trust{gap:var(--s2) var(--s4);margin-top:var(--s4)}
/* service tiles: the title and icon carry the tile; the repeated door drawing goes */
body.lc-v2 .v2-svc{gap:var(--s2)}
body.lc-v2 .v2-svc .v2-ph__art{display:none}
body.lc-v2 .v2-svc a{aspect-ratio:1/1}
body.lc-v2 .v2-svc a::after{background:linear-gradient(180deg,rgba(8,35,27,0) 20%,rgba(8,35,27,.9) 100%)}
body.lc-v2 .v2-svc__t{left:var(--s2);right:var(--s2);bottom:var(--s2)}
body.lc-v2 .v2-svc__t b{font-size:var(--t-s)}
body.lc-v2 .v2-guide b{font-size:var(--t-s)}
body.lc-v2 .v2-guide div{padding:var(--s2)}
body.lc-v2 .v2-biz{padding:var(--s3);gap:var(--s2)}
body.lc-v2 .v2-biz>p{font-size:var(--t-s)}
body.lc-v2 .v2-plan{padding:var(--s2)}
body.lc-v2 .v2-plan b{font-size:var(--t-s)}
body.lc-v2 .v2-city{padding:var(--s1) var(--s2) var(--s1) var(--s1)}
body.lc-v2 .v2-city b{font-size:var(--t-s)}
@media (max-width:1180px) and (min-width:1061px){body.lc-v2 .v2-svc{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){
  body.lc-v2 .v2-card__ph{aspect-ratio:21/9}
  body.lc-v2 .v2-svc a{aspect-ratio:4/3}
}

/* 7.2 city */
body.lc-v2 .v2c-hero h1{font-size:clamp(var(--t-2xl),5vw,var(--t-4xl))}
body.lc-v2 .v2c-lede{font-size:clamp(var(--t-s),1.5vw,18px)}
body.lc-v2 .v2c-lay{padding:var(--s6) 0 var(--s2)}
body.lc-v2 .v2c-rhead{margin-bottom:var(--s2)}
body.lc-v2 .v2c-side{top:88px}
body.lc-v2 .v2c-side .box h3{font-size:var(--t-m)!important}
body.lc-v2 .v2c-rank p,body.lc-v2 .v2c-hoods li{font-size:var(--t-s)}
body.lc-v2 .v2c-emerg{margin-top:var(--s8)}
body.lc-v2 .v2c-emerg__in{padding:var(--s6) var(--gut)}
body.lc-v2 .v2c-tiles{gap:var(--s2)}
body.lc-v2 .v2c-tiles a{padding:var(--s2) var(--s3)}
body.lc-v2 .v2c-tiles b{font-size:var(--t-s)}
body.lc-v2 .v2c-tiles s{font-size:var(--t-xs)}
body.lc-v2 .v2c-panel .lcf{padding:var(--s3)!important}
body.lc-v2 .v2c-panel .lcf__f span{font-size:var(--t-xs)!important}
@media (max-width:560px){
  /* first listing higher on phones: trust in a 2x2 grid, a tighter hero, a tighter filter */
  body.lc-v2 .v2c-hero{padding:var(--s2) 0 var(--s8)}
  body.lc-v2 .v2c-hero h1{margin:var(--s2) 0 var(--s1)}
  body.lc-v2 .v2c-trust{grid-template-columns:1fr 1fr!important;gap:var(--s2)!important;margin-top:var(--s3)!important}
  body.lc-v2 .v2c-trust li{gap:var(--s1)}
  body.lc-v2 .v2c-trust svg{width:20px;height:20px}
  body.lc-v2 .v2c-trust b{font-size:15px}
  body.lc-v2 .v2c-panel{margin-top:-48px}
  body.lc-v2 .v2c-panel .lcf{padding:var(--s2)!important}
  body.lc-v2 .v2c-lay{padding-top:var(--s4)}
  body.lc-v2 .v2c-list .lc{grid-template-columns:minmax(0,1fr)!important}
  body.lc-v2 .lc__b{padding:var(--s2)!important}
  body.lc-v2 .lc__act>*{flex:1 1 auto}
}

/* 7.3 profile: the main action is the orange button */
body.lc-v2 .v2p-cta .v2-btn--ghost:not(.lc-save){background:var(--or);border-color:var(--or);color:#fff}
body.lc-v2 .v2p-cta .v2-btn--ghost:not(.lc-save):hover{background:var(--or-h);border-color:var(--or-h)}
body.lc-v2 .v2p-hero{padding:var(--s3) 0 var(--s6)}
body.lc-v2 .v2p-hero h1{font-size:clamp(var(--t-2xl),5vw,var(--t-4xl))!important}
body.lc-v2 .v2p-loc,body.lc-v2 .v2p-badges li{font-size:var(--t-s)}
body.lc-v2 .v2p-badges{gap:var(--s1) var(--s3);margin:var(--s2) 0 var(--s3)}
body.lc-v2 .v2p-strip ul{gap:var(--s1) var(--s4);padding:var(--s2) 0}
body.lc-v2 .v2p-strip li{font-size:var(--t-s)}
body.lc-v2 .v2p-three{padding:var(--s6) 0 var(--s2)}
body.lc-v2 .v2p-col h2{font-size:clamp(var(--t-l),2.2vw,var(--t-xl))!important;margin-bottom:var(--s2)}
body.lc-v2 .v2p-key dl>div{font-size:var(--t-s);padding:var(--s1) 0}
body.lc-v2 .v2p-muted{font-size:var(--t-s)!important}
body.lc-v2 .v2p-lay{padding:var(--s3) 0 var(--s2)}
body.lc-v2 .v2p-side .box h3{font-size:var(--t-m)!important}
body.lc-v2 .v2p-verif p,body.lc-v2 .v2p-q li,body.lc-v2 .v2p-areas li{font-size:var(--t-s)}
body.lc-v2 .v2p-verif dl>div{font-size:var(--t-xs)}
body.lc-v2 .v2p-own{gap:var(--s2);margin:var(--s6) 0 var(--s2)}
body.lc-v2 :is(.v2p-own__c,.v2p-own__r){padding:var(--s3)}
/* notes inside price cards: a rule, not a nested grey card */
body.lc-v2 .disc{background:none!important;border:0!important;border-top:1px solid var(--rule)!important;border-radius:0!important;padding:var(--s2) 0 0!important;margin-top:var(--s2)!important;font-size:var(--t-xs)!important;line-height:1.6!important;color:var(--ink2)!important;box-shadow:none!important}
body.lc-v2 .pr{font-size:var(--t-s)}
body.lc-v2 .pr s{font-size:var(--t-xs)!important}
@media (max-width:640px){
  body.lc-v2 .v2p-strip ul{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
  body.lc-v2 .v2p-strip li{align-items:flex-start;font-size:15px}
  body.lc-v2 .v2p-strip svg{width:22px;height:22px;flex:none}
  body.lc-v2 .v2p-hero__ph{aspect-ratio:21/9}
  body.lc-v2 .v2p-cta .v2-btn{flex:1 1 auto}
}

/* 7.4 hubs (services and service pages): city cards and the new city picker */
body.lc-v2 .prov{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:var(--s2)!important}
body.lc-v2 .pv{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:var(--s1)!important;padding:var(--s2) var(--s3)!important;min-height:88px}
body.lc-v2 .pv__l{display:flex;flex-direction:column;gap:4px}
body.lc-v2 .pv__ab{font-size:var(--t-xs)!important;font-weight:700!important;color:var(--g700)!important}
body.lc-v2 .pv__n{font-size:var(--t-s);font-weight:600}
body.lc-v2 .pv__c{font-size:var(--t-xs)!important;color:var(--ink3)!important;white-space:normal}

body.lc-v2 .lcx-hub{margin:var(--s3) 0 var(--s1);background:var(--g900);color:#fff;border-radius:12px;padding:var(--s3);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s3);align-items:end;max-width:880px}
body.lc-v2 .lcx-hub__t{grid-column:1/-1;font-family:var(--serif);font-weight:700;font-size:var(--t-m);line-height:1.25;margin:0;max-width:none}
body.lc-v2 .lcx-hub__t span{display:block;font-family:var(--sans);font-weight:400;font-size:var(--t-s);color:#cbdcd4;margin-top:4px}
body.lc-v2 .lcx-hub label{display:flex;flex-direction:column;gap:6px;font-size:var(--t-xs);font-weight:600;color:#cfe2da}
body.lc-v2 .lcx-hub select{min-height:52px;border-radius:8px;border:0;padding:0 var(--s2);font-size:var(--t-s);color:var(--ink);background:#fff;width:100%}
body.lc-v2 .lcx-hub .v2-btn{min-height:52px}
body.lc-v2 .lcx-hub__urgent{grid-column:1/-1;font-size:var(--t-s);color:#e3ece8;margin:0;max-width:none}
body.lc-v2 .lcx-hub__urgent a{color:#ffc3a6;font-weight:600}
@media (max-width:640px){body.lc-v2 .lcx-hub{grid-template-columns:1fr;padding:var(--s2)}body.lc-v2 .lcx-hub .v2-btn{width:100%}}

/* services grid cards */
body.lc-v2 .sv{padding:var(--s3)!important}
body.lc-v2 .sv p{font-size:var(--t-s)!important;line-height:1.55!important}
body.lc-v2 .sv__c{font-size:var(--t-xs)!important;font-weight:600!important;color:var(--g700)!important}
body.lc-v2 .sv h3,body.lc-v2 .sv__n{font-size:var(--t-m)!important}

/* 7.5 how we check: the mark sits beside the heading, no tinted square */
body.lc-v2 .tc{display:grid!important;grid-template-columns:24px minmax(0,1fr);column-gap:var(--s2);align-content:start}
body.lc-v2 .tc__i{grid-column:1;grid-row:1;width:24px!important;height:auto!important;background:none!important;border-radius:0!important;margin:0!important;font-size:var(--t-m)!important;line-height:1.3!important;font-weight:700!important;place-items:start!important}
body.lc-v2 .tc--y .tc__i{color:var(--ok)!important}
body.lc-v2 .tc--n .tc__i{color:var(--ink3)!important}
body.lc-v2 .tc>.lc-h3,body.lc-v2 .tc>h2,body.lc-v2 .tc>h3{grid-column:2;grid-row:1;margin:0 0 var(--s1)!important}
body.lc-v2 .tc>p{grid-column:2;font-size:var(--t-s)!important;line-height:1.6!important;color:var(--ink2)}

/* 7.6 plans */
body.lc-v2 .pls--2{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;max-width:960px}
body.lc-v2 .pl{gap:var(--s1)!important}
body.lc-v2 .pl ul{margin:var(--s2) 0 var(--s3)!important}
body.lc-v2 .pl li{font-size:var(--t-s)!important;line-height:1.5;padding:4px 0}
body.lc-v2 .pl .btn{margin-top:auto!important;min-height:48px!important}
body.lc-v2 .pl__n{font-size:var(--t-m)!important;font-weight:600!important}
body.lc-v2 .pl__p{font-size:var(--t-2xl)!important;letter-spacing:-.02em!important;margin:var(--s1) 0 0!important}
body.lc-v2 .pl__p s{font-size:var(--t-xs)!important;font-weight:400!important}
body.lc-v2 .pl__d{font-size:var(--t-s)!important;color:var(--ink2)}
body.lc-v2 .lc-pl__rule{max-width:68ch;font-size:var(--t-s);margin-top:var(--s4)!important}
@media (max-width:760px){body.lc-v2 .pls--2{grid-template-columns:1fr!important}}

/* 7.7 guides index */
body.lc-v2 .lc-guides{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}
body.lc-v2 .lc-guide{display:flex!important;flex-direction:column}
body.lc-v2 .lc-guide__eyebrow{font-size:var(--t-xs)!important;letter-spacing:.06em!important;margin-bottom:var(--s1)!important}
body.lc-v2 .lc-guide__t{font-size:var(--t-m)!important;line-height:1.3!important}
body.lc-v2 .lc-guide__x{font-size:var(--t-s)!important}
body.lc-v2 .lc-guide__go{font-size:var(--t-s)!important;padding-top:var(--s2)!important;color:var(--g700)!important}
body.lc-v2 .lc-guide__go::after{content:"\2192"!important}

/* 7.8 article: nothing ever wider than the phone */
body.lc-v2 .lc-art__grid{grid-template-columns:224px minmax(0,1fr)}
body.lc-v2 .lc-art__grid>*{min-width:0}
body.lc-v2 .lc-prose table{display:block!important;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;min-width:0!important;width:100%!important}
body.lc-v2 .lc-prose{font-size:var(--t-s);line-height:1.7}
body.lc-v2 .lc-prose p,body.lc-v2 .lc-prose li{max-width:68ch}
body.lc-v2 .lc-art .cn{margin-bottom:var(--s2)}
body.lc-v2 .lc-art__eyebrow{font-size:var(--t-xs)!important;letter-spacing:.08em!important;margin-top:var(--s2)}
body.lc-v2 .lc-art__by{font-size:var(--t-xs)}
body.lc-v2 .lc-toc{font-size:15px}
body.lc-v2 .lc-toc__h{font-size:var(--t-xs)!important;letter-spacing:.1em!important}
@media (max-width:900px){
  body.lc-v2 .lc-art__grid{grid-template-columns:minmax(0,1fr)!important}
  body.lc-v2 .lc-toc a{padding:var(--s1) 0!important}
}

/* 7.9 about / sidebars: copy on the scale */
body.lc-v2 .box p{font-size:var(--t-s)!important;line-height:1.6!important}

/* 7.10 add your business: steps read as steps, not buttons */
body.lc-v2 .steps{gap:var(--s2)!important}
body.lc-v2 .steps .st{background:transparent!important;color:var(--ink)!important;border:0!important;border-top:3px solid var(--rule2)!important;border-radius:0!important;box-shadow:none!important;padding:var(--s2) 0 0!important}
body.lc-v2 .steps .st.on{border-top-color:var(--g700)!important}
body.lc-v2 .steps .st__n{font-size:var(--t-xs)!important;font-weight:700!important;color:var(--g700)!important}
body.lc-v2 .steps .st__t{font-size:var(--t-s)!important;font-weight:600!important;color:var(--ink)!important}
body.lc-v2 .frm label{font-size:var(--t-s)!important;font-weight:600;color:var(--ink)!important;margin-bottom:var(--s1)}
body.lc-v2 .frm :is(input,select,textarea){border-radius:8px!important;font-size:var(--t-s)!important}
body.lc-v2 .frm p,body.lc-v2 .frm small{font-size:var(--t-xs)!important;line-height:1.55!important}

/* 7.11 sample-data note: compact; on phones it sits at the top instead of covering the screen */
body.lc-v2 .lc-sample__bar{font-size:var(--t-xs)!important;line-height:1.5;padding:var(--s1) var(--s2) calc(var(--s1) + env(safe-area-inset-bottom,0px))!important}
body.lc-v2.lc-sample{padding-bottom:48px!important}
@media (max-width:760px){
  body.lc-v2 .lc-sample__bar{position:static!important;bottom:auto!important;text-align:left!important;padding:var(--s1) var(--gut)!important;z-index:auto}
  body.lc-v2.lc-sample{padding-bottom:0!important}
}

/* ---------- motion: no lift-on-hover bounce, reduced motion respected ---------- */
body.lc-v2 :is(.pv,.lc,.sv,.lc-guide,.v2-svc a,.v2-card,.v2-guide):hover{transform:none!important}
@media (prefers-reduced-motion:reduce){body.lc-v2 *{animation:none!important}}

/* ---------- second pass after the first screenshots ---------- */
/* header: labels never wrap; the city pill steps aside before the nav gets tight */
body.lc-v2 .v2-nav{gap:0}
body.lc-v2 .v2-nav a{white-space:nowrap;padding:var(--s1) 10px}
body.lc-v2 .v2-btn{white-space:nowrap}
@media (max-width:1480px){body.lc-v2 .v2-hd .v2-cityp{display:none}}
/* hub picker: the urgent link is light on the dark panel */
body.lc-v2 .lcx-hub .lcx-hub__urgent a{color:#ffc3a6!important;text-decoration:none}
body.lc-v2 .lcx-hub .lcx-hub__urgent a:hover{text-decoration:underline}
/* home intro column: the button sits on one line */
body.lc-v2 .v2-top__intro .v2-btn{padding:0 var(--s2)}
/* Elementor pages: the first section after the breadcrumb band starts 32px down, like the hubs */
body.lc-v2 .elementor>.e-con:nth-child(2) .sec:first-child{padding-top:var(--s4)}
body.lc-v2 .v2-nav a{padding:var(--s1)}
/* services grid: one padding (the card body), titles on the scale, descriptions at 16px */
body.lc-v2 .sv{padding:0!important}
body.lc-v2 .sv__b{padding:var(--s3)!important;gap:var(--s1)!important}
body.lc-v2 .sv__n{font-size:var(--t-m)!important;line-height:1.3!important;font-weight:600!important}
body.lc-v2 .sv__d{font-size:var(--t-s)!important;line-height:1.55!important;color:var(--ink2)!important}
body.lc-v2 .sv__c{margin-top:var(--s2)!important;padding-top:var(--s2)!important}
/* Elementor pages: a band that follows another band does not add its own top padding */
body.lc-v2 .elementor>.e-con:nth-child(n+3) .lc-band .sec:first-child{padding-top:0}
/* a form inside a card is not a second card */
body.lc-v2 .box .frm{padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
/* a section whose continuation sits in the next widget closes up to it */
body.lc-v2 .elementor-widget:has(+ .elementor-widget .sec[style*="padding-top:0"]) .sec{padding-bottom:var(--s4)}

/* b-notify: notify form under the city grid */
.lcn{display:grid;gap:var(--s4);padding:var(--s5) 0}
@media (min-width:900px){.lcn{grid-template-columns:1fr 1.5fr;align-items:end}}
.lcn__f{display:grid;gap:var(--s3);grid-template-columns:1fr}
@media (min-width:700px){.lcn__f{grid-template-columns:1fr 1fr auto;align-items:end}}
.lcn__f label{display:grid;gap:6px;font-weight:600}
.lcn__f input,.lcn__f select{min-height:44px;padding:0 12px;border:1px solid #cfc8bd;border-radius:8px;font:inherit;background:#fff;width:100%;box-sizing:border-box}
.lcn__c{grid-column:1/-1;display:flex!important;align-items:center;gap:8px;font-weight:400!important}
.lcn__c input{width:20px;min-height:20px!important;flex:none}
.lcn__msg{margin:0;font-weight:600;color:#1f5d3a;grid-column:1/-1}
.lcn__msg--err{color:#8a1f10}
.lc-claim-biz{display:grid;gap:6px}.lc-claim-biz select{width:100%;background:#fff}

/* Business photos (m-photos): profile strip and owner card */
.lc-photos{padding-block:8px 28px}
.lc-photos h2{margin:0 0 12px}
.lc-photos__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.lc-photos__g img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.lc-gal__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 16px}
.lc-gal__i{margin:0;display:grid;gap:6px}
.lc-gal__i img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.lc-gal__i figcaption{font-size:13px;color:#555}
.lc-gal__i form{margin:0}
.lc-gal__up{display:grid;gap:8px;margin-top:12px}
.lc-gal__up input[type=file]{font:inherit;max-width:100%}

/* Breadcrumb on guides: the chevron belongs to the item before it, so a title that wraps never starts a line with one. */
body .cn li+li::before{content:none}
body .cn li:not(:last-child)::after{content:"\203A";color:var(--ink30)}

/* Sign-in: room between the intro line and the EMAIL label. */
#lcdash .lg .sub{margin:0 0 16px}
