    :root {
      --red: #DD0014;
      --red-2: #b80010;
      --yellow: #DD0014;
      --yellow-2: #b80010;
      --ink: #514C4A;
      --muted: #6a6563;
      --line: #d8d8da;
      --bg: #E9E9EB;
      --white: #fff;
    }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
      color: var(--ink); background: var(--white); line-height: 1.5;
      padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }
    a { color: inherit; }
    img { max-width: 100%; display: block; }
    .wrap { width: min(1120px, calc(100% - 28px)); margin: 0 auto; }
    .topbar {
      background: var(--ink); color: #fff; font-size: 12px;
      display: flex; justify-content: space-between; gap: 8px; padding: 8px 14px; flex-wrap: wrap;
    }
    .topbar a { color: var(--yellow); text-decoration: none; font-weight: 700; }
    header {
      position: sticky; top: 0; z-index: 40; background: #fff;
      border-bottom: 3px solid #DD0014;
    }
    .nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 72px; }
    .logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; color: var(--ink); }
    .logo-img { height: 42px; width: auto; display: block; }
    .logo-rond { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
    .logo span { display: block; font-size: 10px; font-weight: 700; color: var(--muted); letter-spacing: .04em; }
    nav { display: none; }
    nav.open {
      display: flex; flex-direction: column; position: absolute; left: 0; right: 0; top: 64px;
      background: #fff; padding: 16px; border-bottom: 3px solid #DD0014; gap: 14px; font-weight: 700;
    }
    nav a { text-decoration: none; }
    .btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      background: #DD0014; color: #fff; font-weight: 800; text-decoration: none;
      padding: 12px 16px; border-radius: 8px; border: 0; cursor: pointer;
    }
    .btn:hover { background: #b80010; color: #fff; }
    .btn-dark { background: var(--ink); color: #fff; }
    .btn-ghost { background: transparent; border: 2px solid #fff; color: #fff; }
    .hero { position: relative; min-height: 88svh; display: grid; align-items: end; color: #fff; }
    .hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.82) 100%); }
    .hero-inner { position: relative; z-index: 1; padding: 48px 0 36px; }
    .badges { display: flex; gap: 8px; flex-wrap: wrap; }
    .badge { display: inline-flex; background: #DD0014; color: #fff; font-weight: 800; font-size: 12px; padding: 6px 10px; border-radius: 6px; text-decoration: none; }
    .badge-ghost { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.3); }
    .stars { color: #DD0014; letter-spacing: 2px; font-size: 22px; }
    h1 { font-size: clamp(30px, 8vw, 52px); line-height: 1.04; letter-spacing: -.04em; margin: 14px 0 10px; max-width: 16ch; }
    .lead { max-width: 46ch; font-size: 16px; color: #eee; margin-bottom: 18px; }
    .cta-row { display: flex; gap: 10px; flex-wrap: wrap; }
    .cta-row .btn { flex: 1; min-height: 50px; }
    .trust { background: var(--ink); color: #fff; }
    .trust .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 20px 0; }
    .trust p { font-size: 13px; } .trust strong { display: block; font-size: 15px; color: #DD0014; }
    section { padding: 48px 0; }
    .kicker { color: #DD0014; font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
    h2 { font-size: clamp(24px, 6vw, 36px); letter-spacing: -.03em; margin: 6px 0 10px; }
    .sub { color: var(--muted); max-width: 60ch; }
    .grid-3, .grid-svc, .split, .team { display: grid; gap: 14px; margin-top: 22px; }
    .grid-svc { grid-template-columns: 1fr; }
    .card { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
    .card img { height: 170px; width: 100%; object-fit: cover; }
    .card-body { padding: 14px 16px 18px; border-top: 3px solid #DD0014; }
    .card h3 { font-size: 17px; margin-bottom: 4px; }
    .card p { color: var(--muted); font-size: 14px; }
    .team article { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px; }
    .team h3 { font-size: 16px; margin-bottom: 4px; }
    .team p { font-size: 13px; color: var(--muted); }
    .hours { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 18px; }
    .hours li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line); list-style: none; font-size: 15px; }
    iframe.map { width: 100%; height: 280px; border: 0; border-radius: 12px; background: #ddd; }
    .nap { font-size: 17px; font-weight: 700; line-height: 1.4; margin: 14px 0; }
    .faq details { border-bottom: 1px solid var(--line); padding: 14px 0; }
    .faq summary { cursor: pointer; font-weight: 700; }
    .faq p { color: var(--muted); margin-top: 8px; }
    form { display: grid; gap: 10px; }
    input, textarea, select { width: 100%; padding: 12px 14px; border: 1px solid #ddd; border-radius: 8px; font: inherit; }
    footer { background: #514C4A; color: #E9E9EB; padding: 32px 0 20px; font-size: 14px; }
    footer a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
    .foot { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
    .burger { background: none; border: 0; font-size: 26px; line-height: 1; }
    .btn-call { white-space: nowrap; }
    .btn-call .num { display: none; }
    .callbar {
      display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; gap: 8px;
      padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
      background: #514C4A;
    }
    .callbar .btn { flex: 1; min-height: 50px; font-size: 16px; border-radius: 8px; }
    .callbar .btn-itin { background: #fff; color: #514C4A; }
    @media (min-width: 860px) {
      body { padding-bottom: 0; }
      .callbar, .burger { display: none; }
      nav { display: flex; gap: 20px; font-size: 14px; font-weight: 700; position: static; flex-direction: row; padding: 0; border: 0; }
      header .btn-call .num { display: inline; }
      .hero { min-height: 72vh; }
      .cta-row .btn { flex: 0 1 auto; min-width: 200px; }
      .trust .wrap { grid-template-columns: repeat(5, 1fr); }
      .grid-svc { grid-template-columns: repeat(3, 1fr); }
      .grid-3 { grid-template-columns: repeat(3, 1fr); }
      .split { grid-template-columns: 1.05fr .95fr; gap: 28px; align-items: start; }
      .team { grid-template-columns: 1fr 1fr; }
      section { padding: 72px 0; }
      iframe.map { height: 420px; }
      .lead { font-size: 18px; }
    }
/* preview additions */
.card img{height:auto;aspect-ratio:4/3}
.card a{text-decoration:none}
.page-hero{min-height:46vh}
.prose h2{margin-top:34px}.prose p,.prose ul{margin:8px 0;max-width:70ch}.prose ul{padding-left:20px}
.links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.links a{background:var(--bg);border-radius:6px;padding:6px 10px;font-weight:700;text-decoration:none;font-size:14px}
nav a[aria-current]{color:#DD0014}
.reviews{display:grid;gap:14px;margin-top:22px;text-align:left}@media(min-width:860px){.reviews{grid-template-columns:repeat(3,1fr)}}
.review{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}.review .who{display:flex;gap:10px;align-items:center;font-weight:700}.review img{width:36px;height:36px;border-radius:50%}.review small{color:var(--muted)}
.g-attr{font-size:12px;color:var(--muted);margin-top:14px}
.placeholder-box{border:3px dashed #DD0014;border-radius:12px;padding:18px;background:#fff8f8;font-weight:700;color:#DD0014;margin-bottom:14px}
iframe.sv{width:100%;height:450px;border:0;border-radius:12px}
.dd{position:relative}
@media(min-width:860px){nav{gap:14px;font-size:13px}}
