
:root {
  --bg: #ffffff;
  --surface: #f5f5f7;
  --surface-2: #fafafc;
  --text: #1d1d1f;
  --muted: #6e6e73;
  --line: #d2d2d7;
  --link: #0b57d0;
  --radius: 22px;
  --container: 1180px;
  --shadow: 0 18px 60px rgba(0,0,0,.06);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--link); }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(calc(100% - 2rem), var(--container)); margin: 0 auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: #fff; color: #000; padding: .75rem 1rem; border-radius: 10px; z-index: 9999; }
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(0, 0, 0, .94);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.header-inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand { display: inline-flex; align-items: center; }
.brand-logo { width: clamp(145px, 18vw, 220px); }
.main-nav { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.main-nav a { color: rgba(255,255,255,.78); font-size: .97rem; letter-spacing: -.01em; }
.main-nav a:hover { color: #fff; }
.header-actions { display: flex; align-items: center; gap: .7rem; }
.pill, .button-primary, .button-secondary {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 1rem; border-radius: 999px; font-weight: 600;
  font-size: .96rem; letter-spacing: -.01em;
}
.pill, .button-secondary { border: 1px solid var(--line); background: rgba(255,255,255,.9); }
.button-primary { background: #111; color: #fff; }
.button-primary:hover { color: #fff; opacity: .92; }
.header-actions .pill { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.08); color: #fff; }
.header-actions .button-primary { background: #fff; color: #000; }
.header-actions .button-primary:hover { color: #000; opacity: .92; }
.hero { padding: 5.5rem 0 3rem; }
.hero-inner { max-width: 980px; }
.hero-logo { width: min(100%, 470px); margin: 0 auto 1.35rem; }
.eyebrow {
  margin: 0 0 .85rem; color: var(--muted); font-size: .85rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
}
h1, h2, h3 { letter-spacing: -0.03em; line-height: 1.05; margin: 0; font-weight: 700; }
h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); max-width: 14ch; }
h2 { font-size: clamp(1.85rem, 4vw, 2.8rem); max-width: 18ch; }
h3 { font-size: 1.3rem; }
p { line-height: 1.65; color: #3a3a3c; font-size: 1.02rem; }
.hero-subtitle, .body-large { font-size: clamp(1.05rem, 2.3vw, 1.22rem); color: #424245; max-width: 60ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin: 1.75rem 0 0; }
.popular-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }
.popular-links a { padding: .5rem .85rem; background: var(--surface); border-radius: 999px; font-size: .95rem; color: #424245; }
.make-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--surface-2); }
.make-strip p { margin: 0; padding: 1rem 0; color: var(--muted); font-size: .95rem; }
.section { padding: 5rem 0; }
.section-muted { background: var(--surface); }
.section-heading { margin-bottom: 2rem; }
.section-heading p:last-child { max-width: 62ch; }
.grid-2 { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.85fr); gap: 1.5rem; align-items: start; }
.card, .topic-card, .info-card, .cta-panel, .question-list, .service-card, .form-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.card, .info-card, .cta-panel, .question-list, .form-card { padding: 1.4rem; }
.summary-card { padding: 1.5rem; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--line); margin-bottom: 1.5rem; }
.heritage-quote { margin: 1.5rem 0 0; padding: 1.2rem 1.25rem; border-left: 3px solid #000; background: var(--surface); border-radius: 0 16px 16px 0; color: #2f2f31; }
.heritage-quote span { display: block; color: var(--muted); margin-top: .55rem; }
.info-card h2 { font-size: 1.4rem; max-width: none; }
.info-card nav, .footer-nav { display: grid; gap: .8rem; margin-top: 1rem; }
.topic-grid, .service-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.topic-card, .service-card { padding: 1.35rem; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.topic-card:hover, .service-card:hover { transform: translateY(-2px); border-color: #b8b8bd; }
.topic-card p, .service-card p { margin: .7rem 0 1rem; }
.topic-card span, .service-card span { color: #111; font-weight: 600; }
.split-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.2rem; align-items: start; }
.question-list a { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line); color: #2f2f31; }
.question-list a:first-child { padding-top: 0; }
.question-list a:last-child { padding-bottom: 0; border-bottom: none; }
.cta-panel h2 { max-width: 15ch; margin-top: .25rem; }
.cta-panel p { max-width: 56ch; }
.button-row { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1rem; }
.site-footer { border-top: 1px solid rgba(255,255,255,.12); padding: 2.4rem 0; background: #000; color: #fff; }
.footer-inner { display: flex; justify-content: space-between; gap: 1.2rem; align-items: flex-start; }
.footer-brand-logo { width: clamp(165px, 22vw, 255px); }
.footer-brand-block p, .site-footer p, .site-footer a { color: rgba(255,255,255,.86); font-weight: 600; }
.site-footer a:hover { color: #fff; }
.page-hero { padding: 4.6rem 0 2.4rem; }
.kicker-breadcrumbs { color: var(--muted); font-size: .95rem; margin-bottom: .9rem; }
.page-meta { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .8rem; color: var(--muted); }
.reading-width { max-width: 760px; }
.two-column-content { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 1.4rem; }
.bullet-list { padding-left: 1.2rem; color: #3a3a3c; }
.bullet-list li { margin-bottom: .65rem; line-height: 1.5; }
.inline-badge { display: inline-block; padding: .42rem .7rem; border-radius: 999px; background: var(--surface); color: #424245; font-size: .9rem; margin-right: .45rem; margin-bottom: .45rem; }
.note { font-size: .95rem; color: var(--muted); }
.local-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.local-grid a { display: block; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: #424245; font-weight: 600; }
.form-card { padding: 1.4rem; }
.contact-form { display: grid; gap: 1rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-form label { display: grid; gap: .45rem; color: #424245; font-weight: 600; font-size: .95rem; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: .9rem 1rem; font: inherit; color: var(--text); background: #fff;
}
.contact-form textarea { min-height: 140px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: 2px solid rgba(11,87,208,.25); border-color: #0b57d0; }
.form-note { color: var(--muted); font-size: .92rem; margin: 0; }
.feature-list { display: grid; gap: .8rem; margin-top: 1.2rem; }
.feature-list div { padding: 1rem; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-2); }
.feature-list strong { display:block; margin-bottom:.25rem; }
.search-box { width: 100%; border: 1px solid var(--line); border-radius: 999px; padding: 1rem 1.25rem; font: inherit; }
.search-results { display: grid; gap: 1rem; margin-top: 1.5rem; }
@media (max-width: 980px) {
  .header-inner { min-height: auto; flex-wrap: wrap; padding: .8rem 0; justify-content: center; }
  .brand-logo { width: min(220px, 68vw); }
  .main-nav { order: 3; width: 100%; }
  .grid-2, .split-layout, .two-column-content, .footer-inner, .topic-grid, .service-grid { grid-template-columns: 1fr; }
  .local-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .hero, .page-hero { padding-top: 3.8rem; }
  .section { padding: 3.6rem 0; }
  .hero-actions, .button-row { flex-direction: column; align-items: stretch; }
  .pill, .button-primary, .button-secondary { width: 100%; }
  .form-row, .local-grid { grid-template-columns: 1fr; }
}


@media (max-width: 640px) {
  .hero-logo { width: min(100%, 360px); }
  .footer-brand-logo { width: min(220px, 72vw); }
}


/* v1.7 launch continuity adjustments */
.summary-card h2 {
  max-width: none;
  margin-bottom: 1rem;
}
.summary-card p {
  font-size: 1.04rem;
}
.summary-card strong {
  color: var(--text);
}
.summary-card em {
  color: #2f2f31;
}


/* v1.8 production copy + stronger header/footer readability */
.site-header,
.site-footer {
  color: #fff;
}

.main-nav a,
.footer-nav a {
  color: rgba(255,255,255,.9);
  font-weight: 700;
  letter-spacing: .005em;
}

.main-nav a:hover,
.footer-nav a:hover {
  color: #fff;
}

.header-actions .pill,
.header-actions .button-primary {
  font-weight: 800;
}

.site-footer p,
.footer-brand-block p {
  color: rgba(255,255,255,.86);
  font-weight: 600;
}

.page-hero {
  padding-top: 5.6rem;
}

.kicker-breadcrumbs {
  font-weight: 600;
}

.page-kicker {
  margin: 0 0 .85rem;
  color: var(--muted);
  font-size: .85rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.prose-section {
  margin-bottom: 2rem;
}

.prose-section h2 {
  max-width: none;
  margin: 2rem 0 .8rem;
}

.prose-section h3 {
  margin: 1.4rem 0 .5rem;
}

.prose-section p {
  margin: 0 0 1rem;
}

.service-callout {
  border: 1px solid var(--line);
  background: var(--surface-2);
  border-radius: 20px;
  padding: 1.15rem 1.25rem;
  margin: 1.25rem 0;
}

.service-callout strong {
  display: block;
  margin-bottom: .35rem;
}

.next-step-card {
  position: sticky;
  top: 7rem;
}

.next-step-card h2 {
  max-width: none;
}

.next-step-card nav a {
  font-weight: 700;
}

.trust-list {
  padding-left: 1.2rem;
  color: #3a3a3c;
}

.trust-list li {
  margin-bottom: .65rem;
  line-height: 1.55;
}

.copy-note {
  font-size: .95rem;
  color: var(--muted);
}

@media (max-width: 980px) {
  .next-step-card {
    position: static;
  }
}


/* v1.9 logo path fix
   Header/footer images now reference existing white logo assets.
   Backward-compatible aliases were added for smisco-logo-horizontal-white.*.
*/

/* v2.0 customer-facing cleanup */
.main-nav a,.footer-nav a{color:rgba(255,255,255,.92);font-weight:750;letter-spacing:.005em}.main-nav a:hover,.footer-nav a:hover{color:#fff}.header-actions .pill,.header-actions .button-primary{font-weight:800}.site-footer p,.footer-brand-block p{color:rgba(255,255,255,.88);font-weight:600}.page-kicker{margin:0 0 .85rem;color:var(--muted);font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.prose-section{margin-bottom:2rem}.prose-section h2{max-width:none;margin:2rem 0 .8rem}.prose-section h3{margin:1.4rem 0 .5rem}.prose-section p{margin:0 0 1rem}.next-step-card{position:sticky;top:7rem}.next-step-card h2{max-width:none}.next-step-card nav a{font-weight:700}.trust-list{padding-left:1.2rem;color:#3a3a3c}.trust-list li{margin-bottom:.65rem;line-height:1.55}.local-grid a{font-weight:700}@media(max-width:980px){.next-step-card{position:static}}


/* v2.1 call heading fix */
.cta-panel h2 {
  max-width: 18ch;
}


/* v2.2 contact note cleanup */
.contact-form .form-note:empty {
  display: none;
}


/* v2.3 stacked call heading */
.cta-panel h2 {
  max-width: none;
  line-height: 1.04;
}

.cta-panel h2 .phone-line {
  display: inline-block;
  white-space: nowrap;
}


/* v2.4 layout whitespace fix */
.two-column-content {
  align-items: start;
  grid-template-columns: minmax(0, 760px) minmax(280px, 340px);
  justify-content: center;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.two-column-content > .info-card,
.two-column-content > .next-step-card {
  align-self: start;
  height: auto;
  min-height: 0;
}

.next-step-card {
  position: sticky;
  top: 6.5rem;
}

.section:has(.two-column-content) {
  padding-bottom: 3.25rem;
}

.section-muted {
  padding-top: 3.6rem;
  padding-bottom: 3.6rem;
}

.cta-panel {
  max-width: 980px;
  margin: 0 auto;
}

.cta-panel h2 {
  max-width: none;
}

@media (max-width: 980px) {
  .two-column-content {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .next-step-card {
    position: static;
  }

  .section:has(.two-column-content) {
    padding-bottom: 2.75rem;
  }
}


/* v2.5 stacked symmetrical layout */
.two-column-content {
  display: grid;
  grid-template-columns: minmax(0, 980px);
  justify-content: center;
  gap: 1.35rem;
  align-items: start;
}

.two-column-content > article.reading-width {
  max-width: none;
  width: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: clamp(1.35rem, 3vw, 2.2rem);
}

.two-column-content > .info-card,
.two-column-content > .next-step-card {
  width: 100%;
  max-width: 980px;
  justify-self: center;
  align-self: start;
  height: auto;
  min-height: 0;
  position: static;
}

.next-step-card {
  position: static;
  top: auto;
}

.next-step-card nav {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
}

.next-step-card nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 .95rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-weight: 700;
}

.next-step-card .note {
  max-width: 62ch;
}

.section:has(.two-column-content) {
  padding-bottom: 3rem;
}

.section-muted {
  padding-top: 3.2rem;
}

.cta-panel {
  max-width: 980px;
  margin: 0 auto;
}

.cta-panel h2 {
  max-width: none;
  line-height: 1.04;
}

.cta-panel h2 .phone-line {
  display: block;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .two-column-content > article.reading-width,
  .two-column-content > .info-card,
  .two-column-content > .next-step-card,
  .cta-panel {
    border-radius: 18px;
  }

  .next-step-card nav {
    display: grid;
  }
}


/* v2.6 mobile phone button fix */
.header-actions .button-primary[href^="tel"] {
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  min-width: max-content;
}

@media (max-width: 760px) {
  .site-header {
    padding-bottom: .9rem;
  }

  .header-inner {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: .9rem;
  }

  .brand-logo {
    width: min(430px, 72vw);
    height: auto;
  }

  .header-actions {
    width: min(92vw, 560px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
  }

  .header-actions .pill,
  .header-actions .button-primary {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: .75rem .85rem;
    font-size: clamp(.92rem, 3.15vw, 1.05rem);
    line-height: 1;
    text-align: center;
  }

  .header-actions .button-primary[href^="tel"] {
    white-space: nowrap;
    letter-spacing: -.015em;
  }

  .main-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem 1.1rem;
    max-width: 92vw;
  }

  .main-nav a {
    white-space: nowrap;
    font-size: clamp(.95rem, 3.4vw, 1.08rem);
    line-height: 1.1;
  }
}

@media (max-width: 390px) {
  .header-actions {
    grid-template-columns: 1fr;
  }

  .header-actions .button-primary[href^="tel"] {
    font-size: 1.05rem;
  }
}


/* v2.7 mobile header order */
@media (max-width: 760px) {
  .brand {
    order: 1;
  }

  .main-nav {
    order: 2;
    width: min(92vw, 620px);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .8rem 1.2rem;
    margin-top: .15rem;
  }

  .header-actions {
    order: 3;
    width: min(92vw, 520px);
    margin-top: .15rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
  }

  .header-actions .pill,
  .header-actions .button-primary {
    min-height: 52px;
  }
}

@media (max-width: 390px) {
  .header-actions {
    width: min(88vw, 360px);
    grid-template-columns: 1fr;
  }
}


/* v2.8 approved CTA layout */
.cta-panel {
  text-align: left;
}

.cta-panel h2 {
  max-width: none;
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.cta-panel h2 .phone-line {
  display: block;
  white-space: nowrap;
}

.cta-panel p {
  max-width: 62ch;
}

.cta-panel .button-row {
  justify-content: flex-start;
}

@media (max-width: 640px) {
  .cta-panel {
    text-align: center;
  }

  .cta-panel h2 {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
    line-height: 1.02;
  }

  .cta-panel p {
    margin-left: auto;
    margin-right: auto;
  }

  .cta-panel .button-row {
    justify-content: center;
  }

  .cta-panel .button-row a {
    white-space: nowrap;
  }
}


/* v2.9 compact mobile header */
@media (max-width: 760px) {
  .site-header {
    padding-top: .7rem;
    padding-bottom: .75rem;
  }

  .header-inner {
    row-gap: .55rem;
  }

  .brand-logo {
    width: min(300px, 58vw);
    max-height: 92px;
    object-fit: contain;
  }

  .main-nav {
    order: 2;
    width: min(94vw, 560px);
    gap: .42rem .9rem;
    margin-top: 0;
  }

  .main-nav a {
    font-size: clamp(.86rem, 3.05vw, .98rem);
    line-height: 1.05;
    font-weight: 800;
  }

  .header-actions {
    order: 3;
    width: min(92vw, 460px);
    gap: .55rem;
    margin-top: .15rem;
  }

  .header-actions .pill,
  .header-actions .button-primary {
    min-height: 44px;
    padding: .55rem .75rem;
    font-size: clamp(.84rem, 2.9vw, .96rem);
    line-height: 1;
    border-radius: 999px;
  }

  .header-actions .button-primary[href^="tel"] {
    white-space: nowrap;
    letter-spacing: -.02em;
  }

  .page-hero {
    padding-top: 3.8rem;
  }
}

@media (max-width: 430px) {
  .brand-logo {
    width: min(280px, 62vw);
    max-height: 82px;
  }

  .main-nav {
    gap: .38rem .78rem;
  }

  .main-nav a {
    font-size: clamp(.84rem, 3.6vw, .95rem);
  }

  .header-actions {
    width: min(91vw, 410px);
    grid-template-columns: 1fr 1fr;
  }

  .header-actions .pill,
  .header-actions .button-primary {
    min-height: 42px;
    font-size: clamp(.8rem, 3.25vw, .92rem);
  }
}

@media (max-width: 350px) {
  .header-actions {
    grid-template-columns: 1fr;
    width: min(86vw, 320px);
  }
}


/* v3.0 extra compact iPhone header */
@media (max-width: 760px) {
  .site-header {
    padding-top: .48rem;
    padding-bottom: .58rem;
  }

  .header-inner {
    row-gap: .38rem;
  }

  .brand-logo {
    width: min(225px, 48vw);
    max-height: 64px;
    object-fit: contain;
  }

  .main-nav {
    order: 2;
    width: min(94vw, 520px);
    gap: .24rem .68rem;
    margin-top: 0;
    line-height: 1;
  }

  .main-nav a {
    font-size: clamp(.74rem, 2.7vw, .86rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.01em;
  }

  .header-actions {
    order: 3;
    width: min(88vw, 390px);
    gap: .42rem;
    margin-top: .08rem;
    grid-template-columns: 1fr 1fr;
  }

  .header-actions .pill,
  .header-actions .button-primary {
    min-height: 36px;
    padding: .42rem .58rem;
    font-size: clamp(.72rem, 2.62vw, .86rem);
    line-height: 1;
    border-radius: 999px;
  }

  .header-actions .button-primary[href^="tel"] {
    white-space: nowrap;
    letter-spacing: -.025em;
  }

  .page-hero {
    padding-top: 2.75rem;
  }
}

@media (max-width: 430px) {
  .brand-logo {
    width: min(215px, 54vw);
    max-height: 60px;
  }

  .main-nav {
    gap: .22rem .58rem;
  }

  .main-nav a {
    font-size: clamp(.72rem, 3.25vw, .84rem);
  }

  .header-actions {
    width: min(88vw, 370px);
  }

  .header-actions .pill,
  .header-actions .button-primary {
    min-height: 34px;
    padding: .38rem .5rem;
    font-size: clamp(.72rem, 3.05vw, .82rem);
  }
}

@media (max-width: 350px) {
  .brand-logo {
    width: min(195px, 58vw);
  }

  .header-actions {
    grid-template-columns: 1fr;
    width: min(82vw, 300px);
  }
}


/* v3.1 fast conversion flow */
.header-actions .pill[href="/contact/"] {
  border-color: rgba(255,255,255,.45);
  background: rgba(255,255,255,.08);
}

@media (max-width: 760px) {
  .header-actions {
    width: min(84vw, 340px);
  }

  .header-actions .pill,
  .header-actions .button-primary {
    min-height: 34px;
  }
}

@media (max-width: 430px) {
  .header-actions {
    width: min(82vw, 330px);
  }
}


/* v3.2 Claude + V-BPG conversion cleanup */
.next-step-card nav.service-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.next-step-card nav.service-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 1rem;
  border-radius: 999px;
  font-weight: 800;
}

.next-step-card nav.service-actions .action-call {
  background: #111;
  color: #fff;
  border: 1px solid #111;
}

.next-step-card nav.service-actions .action-book {
  background: #fff;
  color: #111;
  border: 1px solid var(--line);
}

.next-step-card .note a {
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.copy-note {
  max-width: 58ch;
  color: var(--muted);
  font-size: .96rem;
  line-height: 1.55;
}

.mobile-call-bar {
  display: none;
}

@media (max-width: 760px) {
  body {
    padding-bottom: 72px;
  }

  .mobile-call-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 200;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    padding: .65rem .75rem calc(.65rem + env(safe-area-inset-bottom));
    background: rgba(0,0,0,.92);
    border-top: 1px solid rgba(255,255,255,.18);
    backdrop-filter: saturate(180%) blur(18px);
  }

  .mobile-call-bar a {
    min-height: 46px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 850;
    font-size: .92rem;
    text-decoration: none;
    white-space: nowrap;
  }

  .mobile-call-bar a:first-child {
    background: #fff;
    color: #111;
  }

  .mobile-call-bar a:last-child {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,.5);
  }
}

@media (max-width: 360px) {
  .mobile-call-bar {
    grid-template-columns: 1fr;
  }

  body {
    padding-bottom: 126px;
  }
}


/* v3.4 launch polish */
.info-card nav.service-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1rem;
}

.info-card nav.service-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 1rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}

.info-card nav.service-actions .action-call {
  background: #111;
  color: #fff;
  border: 1px solid #111;
}

.info-card nav.service-actions .action-book {
  background: #fff;
  color: #111;
  border: 1px solid var(--line);
}

.info-card .note {
  margin-top: .85rem;
}

.info-card .note a {
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 640px) {
  .info-card nav.service-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
