/* Lens: the site skin (Under Magnification direction, 26 Sep concept, our own design).
   Loaded last on every page except the paid landers (body.is-lp keep lp-fix / lp-campaign), from
   src/layouts/Page.astro. Markup, copy, photos and every tracking hook (data-cta, data-call-location,
   page_context) are untouched; this file only replaces the visible design: type, palette, shapes.
   Homepage-only treatments (the hero lens) sit under body:not(.is-lp) further down. */

@font-face {
  font-family: 'Bricolage';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/assets/fonts/bricolage-latin-wght.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}
/* Metric-matched fallback so the swap does not shift the layout. */
@font-face {
  font-family: 'Bricolage Fallback';
  src: local('Arial');
  size-adjust: 103%;
  ascent-override: 92%;
  descent-override: 26%;
  line-gap-override: 0%;
}

body:not(.is-lp) {
  --ln-blue: #23407A;
  --ln-blue-2: #2E55A0;
  --ln-navy: #0F1B33;
  --ln-navy-2: #172746;
  --ln-yellow: #F2C14E;
  --ln-yellow-2: #F7D27A;
  --ln-field: #F5F6F4;
  --ln-glass: #FFFFFF;
  --ln-mist: #E9ECEF;
  --ln-graphite: #15191D;
  --ln-slate: #5B6770;
  --ln-steel: #5B636B;
  --ln-call: #1F7A4D;
  --ln-call-2: #17633E;
  --ln-alert: #C8372D;
  --ln-alert-2: #A82B22;
  --ln-line: rgba(21, 25, 29, .12);
  --ln-line-2: rgba(21, 25, 29, .22);
  --ln-font: 'Bricolage', 'Bricolage Fallback', system-ui, sans-serif;
  --ln-ease: cubic-bezier(.16, 1, .3, 1);

  /* Re-point the shared tokens so components that read them follow the new palette. */
  --text: var(--ln-font);
  --dc-font: var(--ln-font);
  --display: var(--ln-font);
  --ink: var(--ln-graphite);
  --ink-2: var(--ln-navy);
  --t1: var(--ln-graphite);
  --t2: rgba(21, 25, 29, .74);
  --t3: rgba(21, 25, 29, .68);
  --t-body: rgba(21, 25, 29, .84);
  --accent: var(--ln-blue);
  --accent-2: var(--ln-blue-2);
  --accent-light: var(--ln-yellow);
  --accent-soft: #E3E9F4;
  --bone: var(--ln-field);
  --blush: var(--ln-mist);
  --sand: var(--ln-mist);
  --stone: var(--ln-mist);
  --sage: #E3E9F4;
  --lime: var(--ln-field);
  --card: var(--ln-glass);
  --line: var(--ln-line);
  --line-strong: var(--ln-line-2);
  --on-ink: #FFFFFF;
  --on-ink-2: rgba(255, 255, 255, .8);
  --on-ink-3: rgba(255, 255, 255, .64);
  --on-ink-line: rgba(255, 255, 255, .18);
  --r: 4px;
  --r-card: 4px;
  --r-img: 4px;
  --frame: none;
  --lift: 0 18px 40px -24px rgba(15, 27, 51, .45);

  /* dc.css tokens */
  --dc-font: var(--ln-font);
  --dc-color-green: var(--ln-blue);
  --dc-color-green-hover: var(--ln-navy);
  --dc-color-mint: var(--ln-yellow);
  --dc-color-bone: var(--ln-mist);
  --dc-color-paper: var(--ln-field);
  --dc-color-paper-glass: rgb(255 255 255 / .96);
  --dc-color-sand: var(--ln-mist);
  --dc-color-sage: #E3E9F4;
  --dc-color-sage-tint: #E3E9F4;
  --dc-color-ink: var(--ln-graphite);
  --dc-color-ink-2: var(--ln-navy);
  --dc-color-red: var(--ln-alert);
  --dc-color-red-hover: var(--ln-alert-2);
  --dc-green-35: rgb(35 64 122 / .35);
  --dc-green-45: rgb(35 64 122 / .45);
  --dc-green-line: rgb(35 64 122 / .16);
  --dc-ink-05: rgb(21 25 29 / .05);
  --dc-ink-06: rgb(21 25 29 / .06);
  --dc-ink-48: rgb(21 25 29 / .68);
  --dc-ink-72: rgb(21 25 29 / .74);
  --dc-ink-82: rgb(21 25 29 / .84);
  --dc-line: var(--ln-line);
  --dc-line-strong: var(--ln-line-2);
  --dc-line-ring: rgb(21 25 29 / .22);
  --dc-radius-card: 4px;
  --dc-radius-media: 4px;
  --dc-radius-panel: 6px;
  --dc-radius-tile: 4px;
  --dc-shadow-lift: 0 10px 26px rgb(15 27 51 / .16);
  --dc-shadow-overlay: 0 24px 60px rgb(15 27 51 / .18);
  --dc-color-on-ink: #FFFFFF;
  --dc-on-ink: rgb(255 255 255 / .8);
  --dc-on-ink-muted: rgb(255 255 255 / .64);
  --dc-on-ink-line: rgb(255 255 255 / .18);
  --dc-on-ink-control: rgb(255 255 255 / .4);
  --dc-ring: rgb(21 25 29 / .2);
  --on-bone-2: rgba(21, 25, 29, .74);
  --on-bone-3: rgba(21, 25, 29, .68);
  /* site.css leftovers */
  --accent-light: var(--ln-yellow);
  --sage-line: rgb(35 64 122 / .16);
  --sage-2: #D5DEEC;
  --gauze: var(--ln-mist);
  --porcelain: var(--ln-glass);
  --paper: var(--ln-glass);
  --taupe: var(--ln-steel);
  --taupe-deep: var(--ln-slate);
  --brass: var(--ln-blue);
  --brass-2: var(--ln-yellow);
  --graphite: var(--ln-graphite);
  --slate: var(--ln-navy-2);
  --blue: var(--ln-navy);
  --blue-deep: var(--ln-navy-2);
  --alert: var(--ln-navy);
  --mist: var(--ln-line);
  --ring: rgb(21 25 29 / .2);
  /* sandstone.css tokens */
  --slate-deep: var(--ln-navy);
  --slate-2: var(--ln-navy-2);
  --brass-s: var(--ln-blue);
  --brass-s2: var(--ln-yellow);
  --brass-t: var(--ln-blue);
  --brass-line: rgb(35 64 122 / .2);
  --stone-l: var(--ln-mist);

  background: var(--ln-field) !important;
  color: var(--ln-graphite);
  font-family: var(--ln-font) !important;
}
body:not(.is-lp) :where(h1, h2, h3, h4, p, li, a, button, input, select, textarea, label, summary, blockquote, figcaption, address, span, b, strong) {
  font-family: var(--ln-font) !important;
}

/* ---------- Type ---------- */
body:not(.is-lp) .display,
body:not(.is-lp) .h2,
body:not(.is-lp) h2,
body:not(.is-lp) h3 {
  font-weight: 720 !important;
  letter-spacing: -.025em !important;
  color: inherit;
}
body:not(.is-lp) .h2, body:not(.is-lp) h2 { line-height: 1.06 !important; }
body:not(.is-lp) .lede { font-weight: 400 !important; letter-spacing: 0 !important; }
body:not(.is-lp) .label {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: var(--ln-blue) !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}
body:not(.is-lp) .label::before {
  content: '' !important; display: block !important; position: static !important;
  width: 14px !important; height: 14px !important; flex: none; margin: 0 !important;
  border-radius: 50% !important;
  border: 3px solid var(--ln-yellow) !important;
  background: transparent !important; opacity: 1 !important; transform: none !important;
}
body:not(.is-lp) .label::after, body:not(.is-lp) .cut .label::after, body:not(.is-lp) .cut::after { display: none !important; content: none !important; }
body:not(.is-lp) :is(.band--ink, .hero--ink, .pricecards .panel, .panel--ink, .pricebox, .calc__out, .foot, .ctaband) .label,
body:not(.is-lp) .label--ink { color: var(--ln-yellow) !important; }
body:not(.is-lp) :is(.lede--ink, .fine--ink) { color: rgba(255, 255, 255, .8) !important; }
body:not(.is-lp) :is(.hero--ink, .band--ink, .pricecards .panel, .panel--ink, .pricebox, .ctaband) :is(.lede, .head__p, .hero__sub, .fine) { color: rgba(255, 255, 255, .8) !important; }
body:not(.is-lp) :is(.rating--ink, .band--ink .rating, .hero--ink .rating) { color: rgba(255, 255, 255, .86) !important; }
body:not(.is-lp) :is(.rating--ink, .band--ink .rating, .hero--ink .rating) b { color: var(--ln-yellow) !important; }
body:not(.is-lp) svg.mark { display: none !important; }
body:not(.is-lp) .cut { border: 0 !important; }
body:not(.is-lp) .cut::before, body:not(.is-lp) .cut::after { display: none !important; }
body:not(.is-lp) .prose a, body:not(.is-lp) .link, body:not(.is-lp) .faq__a a, body:not(.is-lp) .fine a {
  color: var(--ln-blue) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: 3px;
}

/* ---------- Buttons ---------- */
body:not(.is-lp) .btn {
  border-radius: 999px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: background-color .25s var(--ln-ease), color .25s var(--ln-ease), border-color .25s var(--ln-ease), transform .25s var(--ln-ease) !important;
}
body:not(.is-lp) .btn:active { transform: scale(.98); }
body:not(.is-lp) .btn--accent, body:not(.is-lp) .btn--ink {
  background: var(--ln-blue) !important; color: #fff !important; border-color: var(--ln-blue) !important;
}
body:not(.is-lp) .btn--accent:is(:hover, :focus-visible), body:not(.is-lp) .btn--ink:is(:hover, :focus-visible) {
  background: var(--ln-navy) !important; border-color: var(--ln-navy) !important;
}
body:not(.is-lp) .btn--emergency, body:not(.is-lp) .btn--alert {
  background: var(--ln-alert) !important; color: #fff !important; border-color: var(--ln-alert) !important;
}
body:not(.is-lp) .btn--emergency:is(:hover, :focus-visible), body:not(.is-lp) .btn--alert:is(:hover, :focus-visible) {
  background: var(--ln-alert-2) !important; border-color: var(--ln-alert-2) !important;
}
/* Call buttons stay green (Fayez's rule), in the new green. */
body:not(.is-lp) .btn[href^="tel:"] {
  background: var(--ln-call) !important; color: #fff !important; border: 1px solid var(--ln-call) !important;
}
body:not(.is-lp) .btn[href^="tel:"]:is(:hover, :focus-visible) { background: var(--ln-call-2) !important; border-color: var(--ln-call-2) !important; }
body:not(.is-lp) .btn--ghost:not([href^="tel:"]) {
  background: transparent !important; color: var(--ln-graphite) !important; border: 1.5px solid var(--ln-graphite) !important;
}
body:not(.is-lp) .btn--ghost:not([href^="tel:"]):is(:hover, :focus-visible) {
  background: var(--ln-graphite) !important; color: #fff !important;
}
body:not(.is-lp) .btn--ghost-ink:not([href^="tel:"]) {
  background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255, 255, 255, .7) !important;
}
body:not(.is-lp) .btn--ghost-ink:not([href^="tel:"]):is(:hover, :focus-visible) {
  background: #fff !important; color: var(--ln-navy) !important; border-color: #fff !important;
}
body:not(.is-lp) .btn--ghost-ink:not([href^="tel:"]) * { color: inherit !important; }
body:not(.is-lp) .band--ink .btn--ghost:not([href^="tel:"]) { color: #fff !important; border-color: rgba(255,255,255,.7) !important; }
body:not(.is-lp) .band--ink .btn--ghost:not([href^="tel:"]):is(:hover, :focus-visible) { background: #fff !important; color: var(--ln-navy) !important; }
body:not(.is-lp) .btn--bone { background: #fff !important; color: var(--ln-navy) !important; border-color: #fff !important; }
body:not(.is-lp) .btn--bone:is(:hover, :focus-visible) { background: var(--ln-yellow) !important; border-color: var(--ln-yellow) !important; }

/* ---------- Announce bar + header ---------- */
body:not(.is-lp) .announce { background: var(--ln-blue) !important; color: #fff !important; border: 0 !important; }
body:not(.is-lp) .announce * { color: inherit !important; }
body:not(.is-lp) .announce__dot { background: var(--ln-yellow) !important; box-shadow: 0 0 0 4px rgba(242, 193, 78, .28) !important; }
body:not(.is-lp) .announce__hours a {
  background: var(--ln-yellow) !important; color: var(--ln-navy) !important; border-color: var(--ln-yellow) !important;
  border-radius: 999px !important; font-weight: 700 !important; font-style: normal !important;
  transition: background-color .25s var(--ln-ease) !important;
}
body:not(.is-lp) .announce__hours a:is(:hover, :focus-visible) { background: #fff !important; }

body:not(.is-lp) .header {
  background: rgba(255, 255, 255, .97) !important;
  border-bottom: 1px solid var(--ln-line) !important;
  box-shadow: none !important;
}
body:not(.is-lp) .nav__link { font-weight: 600 !important; color: var(--ln-graphite) !important; letter-spacing: 0 !important; }
body:not(.is-lp) .nav__link:is(:hover, :focus-visible) { color: var(--ln-blue) !important; }
body:not(.is-lp) .nav__item--accent > .nav__link { color: var(--ln-alert) !important; }
body:not(.is-lp) .mega { background: #fff !important; border: 1px solid var(--ln-line) !important; border-radius: 6px !important; box-shadow: var(--lift) !important; }
body:not(.is-lp) .mega a:is(:hover, :focus-visible) { color: var(--ln-blue) !important; }
body:not(.is-lp) .header__tel {
  border: 1.5px solid var(--ln-call) !important; color: var(--ln-call) !important;
  border-radius: 999px !important; background: #fff !important; font-weight: 650 !important;
}
body:not(.is-lp) .header__tel:is(:hover, :focus-visible) { background: var(--ln-call) !important; color: #fff !important; }
body:not(.is-lp) .header__tel svg { color: currentColor !important; stroke: currentColor !important; }

/* Wordmark: same SVG, redrawn in the new type with a lens dot. */
body:not(.is-lp) .logo svg text { font-family: var(--ln-font) !important; }
body:not(.is-lp) .logo svg text:first-child { font-weight: 760 !important; letter-spacing: -1.6px !important; }
body:not(.is-lp) .logo svg text:first-child tspan { fill: var(--ln-yellow) !important; font-weight: 800 !important; }
body:not(.is-lp) .logo svg text:last-child { font-weight: 600 !important; letter-spacing: 3.2px !important; fill: var(--ln-blue) !important; }
body:not(.is-lp) .logo--bone svg text:last-child { fill: rgba(255, 255, 255, .7) !important; }

/* Drawer (mobile menu) */
body:not(.is-lp) .drawer, body:not(.is-lp) .drawer__panel { background: #fff !important; }
body:not(.is-lp) .drawer__link { font-weight: 650 !important; color: var(--ln-graphite) !important; }
body:not(.is-lp) .drawer__head { border-color: var(--ln-line) !important; }

/* ---------- Hero: one centred block under the lens ---------- */
body.is-home .hhero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 118%, rgba(35, 64, 122, .10) 0 34%, transparent 34.2%),
    repeating-radial-gradient(circle at 50% 118%, transparent 0 46px, rgba(35, 64, 122, .07) 46px 47px),
    var(--ln-field) !important;
  border-bottom: 1px solid var(--ln-line);
}
body.is-home .hhero::before,
body.is-home .hhero::after {
  content: '';
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}
body.is-home .hhero::before {
  width: 240px; height: 240px; right: max(4vw, calc(50% - 640px)); top: -84px;
  border: 14px solid var(--ln-yellow);
  opacity: .9;
}
body.is-home .hhero::after {
  width: 120px; height: 120px; left: max(3vw, calc(50% - 660px)); bottom: 72px;
  background: var(--ln-blue);
  opacity: .06;
}
body.is-home .hhero__title { color: var(--ln-graphite) !important; font-weight: 760 !important; letter-spacing: -.035em !important; line-height: 1 !important; }
body.is-home .hhero__pre {
  display: flex !important; align-items: center; gap: 10px;
  width: fit-content; margin: 0 auto 22px !important;
  font-size: 14px !important; font-weight: 600 !important; letter-spacing: .02em !important;
  color: var(--ln-blue) !important; background: #fff !important;
  border: 1px solid var(--ln-line) !important; border-radius: 999px !important;
  padding: 8px 16px 8px 12px !important;
}
body.is-home .hhero__pre::before {
  content: ''; width: 12px; height: 12px; border-radius: 50%; border: 3px solid var(--ln-yellow); flex: none;
}
body.is-home .hhero .em,
body:not(.is-lp) .em {
  color: var(--ln-blue) !important;
  font-style: normal !important;
  background: radial-gradient(ellipse 54% 46% at 50% 56%, transparent 86%, var(--ln-yellow) 87% 96%, transparent 97%) !important;
  padding: 0 .12em;
}
body.is-home .hhero__sub { color: var(--t2) !important; }
body:not(.is-lp) .chip {
  background: #fff !important; color: var(--ln-graphite) !important;
  border: 1px solid var(--ln-line) !important; border-radius: 4px !important;
  font-weight: 500 !important;
}
body:not(.is-lp) .chip b { color: var(--ln-blue) !important; font-weight: 750 !important; }
body.is-home .hhero__rate, body:not(.is-lp) .rating { color: var(--ln-graphite) !important; }
body.is-home .hhero__rate b, body:not(.is-lp) .rating b { color: var(--ln-blue) !important; }
body.is-home .hhero__rate span::before, body:not(.is-lp) .stars { color: var(--ln-yellow) !important; }

/* ---------- Bands ---------- */
body:not(.is-lp) .band { background: var(--ln-field) !important; color: var(--ln-graphite) !important; border: 0 !important; }
body:not(.is-lp) .band--blush, body:not(.is-lp) .band--bone2 { background: var(--ln-glass) !important; }
body:not(.is-lp) .band--ink {
  background:
    repeating-radial-gradient(circle at 100% 0%, transparent 0 58px, rgba(255, 255, 255, .045) 58px 59px),
    var(--ln-navy) !important;
  color: #fff !important;
}
body:not(.is-lp) .band--ink :is(.h2, h2, h3, p, li, blockquote, figcaption, .lede, .head__p) { color: inherit !important; }
body:not(.is-lp) .band--ink .lede, body:not(.is-lp) .band--ink .head__p { color: var(--on-ink-2) !important; }
body:not(.is-lp) .head__p, body:not(.is-lp) .lede { color: var(--t2) !important; }

/* Patient films: square frames, lens play button */
body:not(.is-lp) .film, body:not(.is-lp) .yt { border-radius: 4px !important; }
body:not(.is-lp) .yt img { border-radius: 4px !important; }
body:not(.is-lp) .yt__play {
  background: linear-gradient(180deg, transparent 52%, rgba(15, 27, 51, .78)) !important;
  border: 0 !important; border-radius: 4px !important; box-shadow: none !important;
  color: #fff !important; font-weight: 650 !important;
}
body:not(.is-lp) .yt__play > span {
  background: #fff !important; color: var(--ln-navy) !important;
  border: 0 !important; border-radius: 50% !important;
  box-shadow: 0 0 0 4px var(--ln-yellow) !important;
  transition: transform .35s var(--ln-ease), background-color .25s var(--ln-ease) !important;
}
body:not(.is-lp) .yt:hover .yt__play > span, body:not(.is-lp) .yt__play:focus-visible > span { transform: scale(1.1); background: var(--ln-yellow) !important; }
body:not(.is-lp) .film__cap blockquote { font-weight: 500 !important; }

/* Reviews: white tiles on the field, yellow stars, numbered ring */
body:not(.is-lp) .revs { gap: 14px !important; }
body:not(.is-lp) .rev {
  background: var(--ln-field) !important; border: 1px solid var(--ln-line) !important;
  border-radius: 4px !important; box-shadow: none !important;
  transition: border-color .25s var(--ln-ease), transform .35s var(--ln-ease) !important;
}
body:not(.is-lp) .rev:hover { border-color: var(--ln-blue) !important; transform: translateY(-2px); }
body:not(.is-lp) .rev__q { color: var(--ln-graphite) !important; font-weight: 450 !important; }
body:not(.is-lp) .rev__n { color: var(--ln-graphite) !important; font-weight: 700 !important; }
body:not(.is-lp) .rev__src, body:not(.is-lp) .rev__m { color: var(--ln-steel) !important; }
body:not(.is-lp) .rev__f { border-color: var(--ln-line) !important; }

/* Prices: one big figure in a lens, plates below */
body:not(.is-lp) .price__n {
  color: var(--ln-blue) !important; font-weight: 780 !important; letter-spacing: -.04em !important;
  display: inline-grid !important; place-items: center;
  width: clamp(190px, 22vw, 260px); aspect-ratio: 1; border-radius: 50%;
  border: 10px solid var(--ln-yellow); background: #fff; margin-inline: auto;
}
body:not(.is-lp) .price__u { color: var(--ln-graphite) !important; font-weight: 600 !important; }
body:not(.is-lp) .tiers { gap: 12px !important; }
body:not(.is-lp) .tier {
  background: var(--ln-field) !important; border: 1px solid var(--ln-line) !important; border-radius: 4px !important;
  box-shadow: none !important; color: var(--ln-graphite) !important;
  transition: border-color .25s var(--ln-ease), background-color .25s var(--ln-ease), transform .35s var(--ln-ease) !important;
}
body:not(.is-lp) .tier:is(:hover, :focus-visible) { border-color: var(--ln-blue) !important; background: #fff !important; transform: translateY(-2px); }
body:not(.is-lp) .tier__w { color: var(--ln-blue) !important; font-weight: 700 !important; letter-spacing: .1em !important; }
body:not(.is-lp) .tier__t { color: var(--ln-graphite) !important; }
body:not(.is-lp) .tier__p, body:not(.is-lp) .tier__pn { color: var(--ln-blue) !important; font-weight: 780 !important; }
body:not(.is-lp) .tier__b { color: var(--t2) !important; }
body:not(.is-lp) .price__grid { gap: 12px !important; }
body:not(.is-lp) .price__c {
  background: var(--ln-navy) !important; color: #fff !important; border: 0 !important; border-radius: 4px !important;
  position: relative; overflow: hidden;
}
body:not(.is-lp) .price__c::after {
  content: ''; position: absolute; right: -28px; top: -28px; width: 84px; height: 84px;
  border-radius: 50%; border: 8px solid var(--ln-yellow); opacity: .9;
}
body:not(.is-lp) .price__ct { color: #fff !important; }
body:not(.is-lp) .price__cb { color: var(--on-ink-2) !important; }

/* Results: lens handle on the before/after slider */
body:not(.is-lp) .ba-card, body:not(.is-lp) .ba, body:not(.is-lp) .ba img { border-radius: 4px !important; }
body:not(.is-lp) .ba__handle {
  background: transparent !important;
}
body:not(.is-lp) .ba__handle::before, body:not(.is-lp) .ba__handle::after { background-color: var(--ln-yellow) !important; border-color: var(--ln-yellow) !important; }
body:not(.is-lp) .ba__tag {
  background: var(--ln-navy) !important; color: #fff !important; border-radius: 999px !important; font-weight: 650 !important;
}
body:not(.is-lp) .ba__tag--after { background: var(--ln-yellow) !important; color: var(--ln-navy) !important; }
body:not(.is-lp) .ba-card figcaption { color: var(--t2) !important; }

/* How we work: numbered lenses */
body:not(.is-lp) .pillars { gap: 14px !important; counter-reset: lens; }
body:not(.is-lp) .pillar {
  background: #fff !important; border: 1px solid var(--ln-line) !important; border-radius: 4px !important;
  box-shadow: none !important; position: relative; counter-increment: lens;
}
body:not(.is-lp) .pillar__k {
  color: var(--ln-blue) !important; font-weight: 700 !important; letter-spacing: .12em !important;
}
body:not(.is-lp) .pillar::after {
  content: counter(lens);
  position: absolute; top: 18px; right: 18px;
  width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center;
  border: 3px solid var(--ln-yellow); color: var(--ln-navy);
  font: 750 15px/1 var(--ln-font);
}
body:not(.is-lp) .pillar__t { color: var(--ln-graphite) !important; }
body:not(.is-lp) .pillar__b { color: var(--t2) !important; }

/* Team: circular portraits, the lens on each clinician */
body:not(.is-lp) .doc { text-align: center; }
body:not(.is-lp) .doc__f {
  display: block; width: min(100%, 220px); aspect-ratio: 1 !important; margin-inline: auto;
  border-radius: 50% !important; overflow: hidden;
  box-shadow: 0 0 0 6px #fff, 0 0 0 9px var(--ln-yellow) !important;
  transition: box-shadow .35s var(--ln-ease), transform .35s var(--ln-ease) !important;
}
body:not(.is-lp) .doc__f img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 50% !important; aspect-ratio: 1 !important; }
body:not(.is-lp) .doc__f:is(:hover, :focus-visible) { box-shadow: 0 0 0 6px #fff, 0 0 0 9px var(--ln-blue) !important; transform: translateY(-3px); }
body:not(.is-lp) .doc__n { color: var(--ln-graphite) !important; margin-top: 22px !important; }
body:not(.is-lp) .doc__r { color: var(--ln-blue) !important; font-weight: 600 !important; }
body:not(.is-lp) .doc__g { color: var(--ln-steel) !important; }

/* FAQ */
body:not(.is-lp) .faq { background: #fff !important; border: 1px solid var(--ln-line) !important; border-radius: 4px !important; margin-bottom: 8px !important; }
body:not(.is-lp) .faq + .faq { border-top: 1px solid var(--ln-line) !important; }
body:not(.is-lp) .faq__q { color: var(--ln-graphite) !important; font-weight: 650 !important; }
body:not(.is-lp) .faq__i {
  border-radius: 50% !important; border: 2px solid var(--ln-blue) !important; background: transparent !important; color: var(--ln-blue) !important;
}
body:not(.is-lp) .faq__i::before, body:not(.is-lp) .faq__i::after { background: var(--ln-blue) !important; }
body:not(.is-lp) .faq[open] .faq__i { background: var(--ln-yellow) !important; border-color: var(--ln-yellow) !important; }
body:not(.is-lp) .faq[open] .faq__i::before, body:not(.is-lp) .faq[open] .faq__i::after { background: var(--ln-navy) !important; }
body:not(.is-lp) .faq__a { color: var(--t-body) !important; }

/* Enquire band + form */
body:not(.is-lp) .band--ink :is(.checks li, .checks__p) { color: var(--on-ink-2) !important; }
body:not(.is-lp) .checks__n, body:not(.is-lp) .checks li::before {
  background: transparent !important; color: var(--ln-yellow) !important; border-color: var(--ln-yellow) !important;
}
body:not(.is-lp) .form {
  background: #fff !important; color: var(--ln-graphite) !important; border: 0 !important; border-radius: 6px !important;
  box-shadow: 0 0 0 10px rgba(242, 193, 78, .9) !important;
}
body:not(.is-lp) .form :is(.form__t, .form__s, label, p, span):not(.btn *) { color: var(--ln-graphite) !important; }
body:not(.is-lp) .form .btn, body:not(.is-lp) .form .btn * { color: #fff !important; }
body:not(.is-lp) .form__s { color: var(--t2) !important; }
body:not(.is-lp) .field input, body:not(.is-lp) .field select, body:not(.is-lp) .field textarea {
  background: var(--ln-field) !important; border: 1.5px solid var(--ln-line-2) !important; border-radius: 4px !important; color: var(--ln-graphite) !important;
  transition: border-color .2s var(--ln-ease), box-shadow .2s var(--ln-ease) !important;
}
body:not(.is-lp) .field :is(input, select, textarea):focus { border-color: var(--ln-blue) !important; box-shadow: 0 0 0 3px rgba(35, 64, 122, .18) !important; outline: none !important; }
body:not(.is-lp) .band--ink .fine { color: var(--on-ink-3) !important; }

/* Find us */
body:not(.is-lp) .mapcard { gap: clamp(20px, 3vw, 40px) !important; }
body:not(.is-lp) .mapcard__map, body:not(.is-lp) .mapcard__map iframe { border-radius: 6px !important; }
body:not(.is-lp) .mapcard__map { box-shadow: 0 0 0 1px var(--ln-line) !important; }
body:not(.is-lp) .mapcard__addr { color: var(--ln-graphite) !important; font-style: normal; }
body:not(.is-lp) .mapcard__list li, body:not(.is-lp) .dirs li { border-color: var(--ln-line) !important; color: var(--t-body) !important; }
body:not(.is-lp) .dirs b, body:not(.is-lp) .mapcard__list b { color: var(--ln-blue) !important; }
body:not(.is-lp) .dirs { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
body:not(.is-lp) .dirs li { background: #fff !important; border: 1px solid var(--ln-line) !important; border-radius: 4px !important; }
body:not(.is-lp) #how .h2 { max-width: 30ch !important; }

/* Closing prose band */
body:not(.is-lp) .prose { color: var(--t-body) !important; }
body:not(.is-lp) .prose h3 { color: var(--ln-graphite) !important; }

/* ---------- Footer ---------- */
body:not(.is-lp) .foot {
  background:
    repeating-radial-gradient(circle at 0% 100%, transparent 0 58px, rgba(255, 255, 255, .04) 58px 59px),
    var(--ln-graphite) !important;
  color: rgba(255, 255, 255, .78) !important;
}
body:not(.is-lp) .foot a { color: rgba(255, 255, 255, .82) !important; }
body:not(.is-lp) .foot a:is(:hover, :focus-visible) { color: var(--ln-yellow) !important; }
body:not(.is-lp) .foot__legal, body:not(.is-lp) .foot__top { border-color: rgba(255, 255, 255, .14) !important; }
body:not(.is-lp) .foot__tag { color: rgba(255, 255, 255, .7) !important; }

/* ---------- Dock, sheet, consent, back-to-top ---------- */
body:not(.is-lp) .dock { background: #fff !important; border-top: 1px solid var(--ln-line) !important; box-shadow: 0 -10px 30px -18px rgba(15, 27, 51, .4) !important; }
body:not(.is-lp) .dock a, body:not(.is-lp) .dock button { font-weight: 650 !important; }
body:not(.is-lp) .dock__call { background: var(--ln-call) !important; color: #fff !important; }
body:not(.is-lp) .dock__book { background: var(--ln-blue) !important; color: #fff !important; }
body:not(.is-lp) .dock__pulse { background: var(--ln-yellow) !important; }
body:not(.is-lp) .sheet__panel { background: #fff !important; border-radius: 10px 10px 0 0 !important; }
body:not(.is-lp) .sheet__bg { background-color: var(--ln-navy) !important; }
body:not(.is-lp) .consent { background: var(--ln-navy) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; }
body:not(.is-lp) .consent * { color: inherit; }
body:not(.is-lp) .consent a { color: var(--ln-yellow) !important; }
body:not(.is-lp) .consent .btn { border-radius: 999px !important; }
body:not(.is-lp) .consent .btn:not(.consent__reject) { background: transparent !important; color: #fff !important; border: 1.5px solid rgba(255, 255, 255, .6) !important; }
body:not(.is-lp) .consent .btn:not(.consent__reject):first-child { background: var(--ln-yellow) !important; color: var(--ln-navy) !important; border-color: var(--ln-yellow) !important; }
body:not(.is-lp) .consent__reject { background: transparent !important; color: rgba(255, 255, 255, .8) !important; border: 0 !important; text-decoration: underline; }
body:not(.is-lp) .totop { background: var(--ln-blue) !important; color: #fff !important; border-radius: 50% !important; }

/* ---------- Leftover accents from the earlier layers ---------- */
body:not(.is-lp) .foot, body:not(.is-lp) .foot__legal a, body:not(.is-lp) .foot__social a, body:not(.is-lp) .foot__contact :is(a, span) { color: rgba(255, 255, 255, .86) !important; }
body:not(.is-lp) .foot__legal { color: rgba(255, 255, 255, .62) !important; }
body:not(.is-lp) .foot__contact :is(a, span) { border-left-color: var(--ln-yellow) !important; }
body:not(.is-lp) .secnav { background: rgba(255, 255, 255, .97) !important; }
body:not(.is-lp) .secnav a.is-active { background: var(--ln-blue) !important; color: #fff !important; }
/* Medical warnings stay alert red, in the Lens red. */
body:not(.is-lp) .redflag { background: #FBECEA !important; border-color: #F0C4BF !important; border-left-color: var(--ln-alert) !important; }
body:not(.is-lp) .redflag b { color: var(--ln-alert-2) !important; }
body:not(.is-lp) .redflag p { color: #4A1A16 !important; }
body:not(.is-lp) .pricebox__offer { border-top-color: var(--ln-yellow) !important; }
/* Urgency row cards (emergency symptom guides): now = alert red, today = blue, soon = steel. */
body:not(.is-lp) .rowcard--now { background: #FBECEA !important; border-color: #F0C4BF !important; border-top-color: var(--ln-alert) !important; }
body:not(.is-lp) .rowcard--now .rowcard__t { color: var(--ln-alert-2) !important; }
body:not(.is-lp) .rowcard--now .rowcard__b { color: #4A1A16 !important; }
body:not(.is-lp) .rowcard--today { border-top-color: var(--ln-blue) !important; }
body:not(.is-lp) .rowcard--soon { border-top-color: var(--ln-steel) !important; }
body:not(.is-lp) .skip { background: var(--ln-navy) !important; color: #fff !important; }
body:not(.is-lp) .yt, body:not(.is-lp) .ba { background-color: var(--ln-navy) !important; }
body:not(.is-lp) .price__n sup { color: var(--ln-blue) !important; }
body:not(.is-lp) :is(.tiers, .price__grid, .faqs) { border-top-color: var(--ln-line-2) !important; }
body:not(.is-lp) :is(.ba-card figcaption span, .fine, .mapcard__addr b, .dirs li span, .dirs li small) { color: var(--t2) !important; }
body:not(.is-lp) .mapcard__addr b, body:not(.is-lp) .dirs li span { color: var(--ln-graphite) !important; }
body:not(.is-lp) .mapcard__list svg { color: var(--ln-blue) !important; }
body:not(.is-lp) .mapcard__list a { color: var(--ln-call) !important; }
body:not(.is-lp) .band--ink .checks li { border-top-color: rgba(255, 255, 255, .16) !important; }
body:not(.is-lp) .foot { border-top-color: transparent !important; }
body:not(.is-lp) .foot__contact :is(a, span) { border-top-color: rgba(255, 255, 255, .14) !important; }
body:not(.is-lp) .foot__contact svg { color: var(--ln-yellow) !important; }
body:not(.is-lp) .dock__wa { border-color: var(--ln-line) !important; color: var(--ln-graphite) !important; }
body:not(.is-lp) .dock__enq { background: var(--ln-navy) !important; color: #fff !important; }

@media (max-width: 1280px) {
  body.is-home .hhero::before { width: 170px; height: 170px; border-width: 12px; top: -60px; right: -40px; }
  body.is-home .hhero::after { left: -40px; }
}
@media (max-width: 760px) {
  body.is-home .hhero::before { width: 120px; height: 120px; border-width: 9px; top: -62px; right: -44px; }
  body.is-home .hhero__pre { font-size: 12.5px !important; padding: 7px 13px 7px 10px !important; white-space: nowrap; }
  body.is-home .hhero::after { display: none; }
  body:not(.is-lp) .price__n { width: 170px; border-width: 8px; }
  body:not(.is-lp) .doc__f { width: min(100%, 160px); }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.is-lp) *, body:not(.is-lp) *::before, body:not(.is-lp) *::after { transition-duration: .01ms !important; }
}
