:root{color-scheme:light} html{scroll-behavior:smooth} body{background:#FAF9F6;color:#181A1B;font-family:"Plus Jakarta Sans",sans-serif}

    ::selection {
      background-color: #EAE6DF;
      color: #181A1B;
    }
    .img-zoom {
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .group:hover .img-zoom {
      transform: scale(1.03);
    }
    .ba-slider {
      position: relative;
      overflow: hidden;
      user-select: none;
      touch-action: pan-y;
    }
    input[type=range]::-webkit-slider-thumb {
      appearance: none;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: #181A1B;
      cursor: pointer;
      box-shadow: 0 1px 4px rgba(0,0,0,0.15);
      border: 2px solid #FAF9F6;
    }
    .nav-link.is-active { color: #B89B72; }
    .nav-link.is-active:hover { color: #9F835B; }
    section[id] { scroll-margin-top: 96px; }
    .page[hidden] { display: none !important; }
    .ex-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: #F4EFEB; border: 1px dashed #B89B72; color: #8A6E45; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; vertical-align: middle; }
    .map-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
    .map-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
    .map-open { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; background: #181A1B; color: #FAF9F6; font-size: 12px; font-weight: 500; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
    .map-open:hover { background: #242729; }

    @media (min-width: 768px) { .svc-tabs { align-self: flex-start; } }
    /* ---- Sleep apnea page ---- */
    .sl-img { object-position: 38% center; }
    .sl-badge { top: auto; bottom: 16px; left: auto; right: 16px; max-width: 62%; }

    /* ---- Treatment cost calculators (implants, cosmetic, family) ---- */
    .tc-card { display: grid; grid-template-columns: 1fr; background: #fff; border: 1px solid #EAE6DF; border-radius: 1.5rem; overflow: hidden; box-shadow: 0 1px 2px rgba(24,26,27,.04); }
    @media (min-width: 900px) { .tc-card { grid-template-columns: 1.35fr 1fr; } }
    .tc-left { padding: 24px; display: flex; flex-direction: column; gap: 26px; }
    @media (min-width: 640px) { .tc-left { padding: 36px; } }
    .tc-step { border: 0; margin: 0; padding: 0; min-width: 0; }
    .tc-label { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #3F4448; padding: 0; }
    .tc-num { width: 22px; height: 22px; border-radius: 999px; background: #F4EFEB; color: #8A6E45; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: 0; flex-shrink: 0; }
    .tc-options { display: grid; grid-template-columns: 1fr; gap: 8px; }
    .tc-options { grid-template-columns: 1fr 1fr; }
    @media (max-width: 559px) { .tc-opt { padding: 10px 12px; } .tc-opt-name { font-size: 13px; } .tc-opt-price { font-size: 11px; } }
    .tc-opt { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid #D7D1C7; border-radius: 12px; background: #FAF9F6; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
    .tc-opt:hover { border-color: #A9A296; }
    .tc-opt input { position: absolute; opacity: 0; pointer-events: none; }
    .tc-opt-name { font-size: 14px; font-weight: 600; color: #181A1B; line-height: 1.3; }
    .tc-opt-price { font-size: 12px; color: #7B7468; }
    .tc-opt:has(input:checked) { border-color: #181A1B; background: #fff; box-shadow: 0 0 0 1px #181A1B; }
    .tc-opt:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(184,155,114,.45); }
    .tc-opt.is-on { border-color: #181A1B; background: #fff; box-shadow: 0 0 0 1px #181A1B; }
    .tc-stepper { display: inline-flex; align-items: center; border: 1px solid #D7D1C7; border-radius: 999px; background: #fff; }
    .tc-stepper button { width: 40px; height: 40px; border: 0; background: none; font-size: 18px; color: #181A1B; cursor: pointer; border-radius: 999px; }
    .tc-stepper button:disabled { color: #D7D1C7; cursor: default; }
    .tc-stepper button:not(:disabled):hover { background: #F5F3EF; }
    .tc-stepper output { min-width: 84px; text-align: center; font-size: 14px; font-weight: 600; color: #181A1B; }
    .tc-extras { display: flex; flex-wrap: wrap; gap: 8px; }
    .tc-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid #D7D1C7; border-radius: 999px; font-size: 13px; color: #3F4448; background: #fff; cursor: pointer; }
    .tc-chip input { accent-color: #181A1B; width: 15px; height: 15px; margin: 0; }
    .tc-chip span small { color: #7B7468; font-size: 12px; }
    .tc-terms { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
    .tc-terms button { padding: 9px 0; font-size: 12px; font-weight: 600; border-radius: 10px; border: 1px solid #D7D1C7; background: #fff; color: #3F4448; cursor: pointer; }
    .tc-terms button[aria-pressed="true"] { background: #181A1B; border-color: #181A1B; color: #FAF9F6; }
    .tc-right { background: #F4EFEB; padding: 24px; display: flex; flex-direction: column; gap: 14px; border-top: 1px solid #EAE6DF; }
    @media (min-width: 640px) { .tc-right { padding: 36px; } }
    @media (min-width: 900px) { .tc-right { border-top: 0; border-left: 1px solid #EAE6DF; } }
    .tc-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8A6E45; }
    .tc-sel { font-family: "Playfair Display", Georgia, serif; font-size: 22px; color: #181A1B; line-height: 1.25; }
    .tc-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-top: 1px solid #D7D1C7; border-bottom: 1px solid #D7D1C7; font-size: 13px; color: #52575C; }
    .tc-total strong { font-size: 18px; color: #181A1B; }
    .tc-monthly { font-family: "Playfair Display", Georgia, serif; font-size: 44px; line-height: 1; color: #181A1B; letter-spacing: -.01em; }
    .tc-monthly small { font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; color: #52575C; letter-spacing: 0; }
    .tc-note { font-size: 11px; color: #52575C; margin: -6px 0 0; }
    .tc-incl { font-size: 12px; color: #3F4448; line-height: 1.5; margin: 0; }
    .tc-btns { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
    .tc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 18px; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; transition: background .15s; }
    .tc-btn-dark { background: #181A1B; color: #FAF9F6; }
    .tc-btn-dark:hover { background: #242729; }
    .tc-btn-light { background: #fff; color: #181A1B; border: 1px solid #D7D1C7; }
    .tc-btn-light:hover { background: #FAF9F6; }
    .tc-fine { font-size: 11px; color: #7B7468; line-height: 1.55; margin: 0; }
    .tc-fine a { color: #181A1B; font-weight: 600; text-decoration: underline; }
    .tc-ins { background: #fff; border: 1px solid #EAE6DF; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; }
    .tc-ins-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .tc-ins-label { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #52575C; }
    .tc-ins-tag { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
    .tc-ins-tag[data-cover="often"] { background: #E3F1EA; color: #1E6B47; }
    .tc-ins-tag[data-cover="partly"] { background: #EAF0F6; color: #2F5577; }
    .tc-ins-tag[data-cover="sometimes"] { background: #F7EEDD; color: #8A5A12; }
    .tc-ins-tag[data-cover="rarely"] { background: #F1EEEA; color: #5C574F; }
    .tc-ins-text { font-size: 12px; color: #3F4448; line-height: 1.5; margin: 0; }
    .tc-ins-link { font-size: 12px; font-weight: 600; color: #181A1B; text-decoration: underline; text-underline-offset: 2px; align-self: flex-start; }
    .tc-ins-link:hover { color: #9F835B; }
    .tc-ins-link { background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; }
    .tc-plan { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
    .tc-plan-input { width: 100%; padding: 9px 14px; border: 1px solid #D7D1C7; border-radius: 999px; font-size: 13px; background: #FAF9F6; color: #181A1B; outline: none; }
    .tc-plan-input:focus { border-color: #B89B72; box-shadow: 0 0 0 3px rgba(184,155,114,.2); background: #fff; }
    .tc-plan-list { list-style: none; margin: 0; padding: 0; max-height: 150px; overflow-y: auto; border: 1px solid #F1EEEA; border-radius: 10px; }
    .tc-plan-list li { display: flex; align-items: center; gap: 8px; padding: 7px 12px; font-size: 12.5px; color: #242729; border-bottom: 1px solid #F5F3EF; }
    .tc-plan-list li:last-child { border-bottom: 0; }
    .tc-plan-list small { margin-left: auto; font-size: 10.5px; font-weight: 700; color: #1E6B47; }
    .tc-plan-ok { color: #1E6B47; font-size: 11px; }
    .tc-plan-empty { margin: 0; font-size: 12px; color: #52575C; }
    .tc-plan-empty a { color: #181A1B; font-weight: 600; text-decoration: underline; }
    .plan-other { display: flex; align-items: center; gap: 10px; padding: 9px 14px; margin-top: 6px; border: 1px dashed #D7D1C7; border-radius: 10px; background: #fff; font-size: 13px; color: #242729; }
    .plan-other::before { content: "+"; color: #8A6E45; font-weight: 700; width: 12px; text-align: center; }
    .plan-other-link { margin-left: auto; font-size: 11px; font-weight: 700; color: #8A6E45; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
    .plan-other-link:hover { color: #181A1B; }
    .ppo-box .plan-other { margin: 0; border: 0; border-top: 1px dashed #D7D1C7; border-radius: 0; padding: 11px 18px; font-size: 14px; background: #FAF9F6; }
    .plan-note { margin: 8px 0 0; font-size: 11.5px; line-height: 1.55; color: #52575C; }
    .plan-note a { color: #181A1B; font-weight: 600; text-decoration: underline; }
    .plan-note-fin { max-width: 26rem; font-size: 12.5px; }

    .home-plan .tc-plan-input { background: #fff; }
    .home-plan .tc-plan-list { background: #fff; max-height: 168px; }
    .slider-lbl-l { flex: 1 1 auto; padding-right: 16px; } .slider-lbl-r { flex: 0 0 auto; white-space: nowrap; text-align: right; }
    .tc-plan[hidden], .tc-plan-list[hidden], .tx-more[hidden] { display: none; }
    /* ---- Expandable treatment cards ---- */
    .tx-card { cursor: pointer; }
    .tx-card:focus-within { border-color: #A9A296; }
    .tx-card.is-open { border-color: #181A1B !important; box-shadow: 0 0 0 1px #181A1B; }
    .tx-toggle { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; font: inherit; font-size: 12px; font-weight: 600; color: #181A1B; cursor: pointer; }
    .tx-toggle:hover { color: #9F835B; }
    .tx-plus { width: 20px; height: 20px; border-radius: 999px; border: 1px solid #D7D1C7; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; line-height: 1; transition: transform .2s; }
    .tx-card.is-open .tx-plus { transform: rotate(45deg); }
    .tx-more { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; cursor: default; }
    .tx-more dl { margin: 0; display: flex; flex-direction: column; gap: 8px; }
    .tx-more dt { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #8A6E45; }
    .tx-more dd { margin: 2px 0 0; font-size: 12.5px; color: #3F4448; line-height: 1.5; }
    .tx-est { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: #181A1B; color: #FAF9F6; font-size: 12px; font-weight: 600; }
    .tx-est:hover { background: #242729; }



    .ppo-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
    .ppo-box { max-width: 26rem; border: 1px solid #EAE6DF; border-radius: 1rem; background: #FAF9F6; overflow: hidden; }
    .ppo-search-wrap { position: relative; padding: 12px; border-bottom: 1px solid #EAE6DF; background: #fff; }
    .ppo-search-icon { position: absolute; left: 26px; top: 50%; transform: translateY(-50%); color: #A9A296; font-size: 13px; pointer-events: none; }
    #ppo-search { width: 100%; padding: 10px 12px 10px 38px; border: 1px solid #D7D1C7; border-radius: 999px; font-size: 14px; color: #181A1B; background: #FAF9F6; outline: none; }
    #ppo-search:focus { border-color: #B89B72; box-shadow: 0 0 0 3px rgba(184,155,114,.2); background: #fff; }
    .ppo-list { max-height: 220px; overflow-y: auto; margin: 0; padding: 6px 0; list-style: none; }
    .ppo-list li { padding: 9px 18px; font-size: 14px; color: #3F4448; border-bottom: 1px solid #F5F3EF; }
    .ppo-list li:last-child { border-bottom: 0; }
    /* ---- Implants dropdown ---- */
    .nav-dd { position: relative; display: inline-flex; align-items: center; height: 80px; }
    .nav-dd-menu { position: absolute; top: 72px; left: -18px; min-width: 270px; padding: 8px; background: #fff; border: 1px solid #EAE6DF; border-radius: 16px; box-shadow: 0 20px 40px -16px rgba(24,26,27,.25); display: none; flex-direction: column; text-transform: none; letter-spacing: 0; white-space: normal; z-index: 60; }
    .nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { display: flex; }
    .nav-dd-menu a { display: block; padding: 10px 12px; border-radius: 10px; font-size: 14px; font-weight: 600; color: #181A1B; }
    .nav-dd-menu a small { display: block; font-size: 12px; font-weight: 400; color: #7B7468; margin-top: 2px; }
    .nav-dd-menu a:hover { background: #F4EFEB; }
    /* Phone menu: tap-to-open groups with a chevron */
    .mm-group { border-bottom: 1px solid #E7E5E4; }
    .mm-toggle { width: 100%; display: flex; align-items: center; justify-content: flex-start; gap: 14px; padding: 12px 0; background: none; border: 0; font: inherit; text-transform: inherit; letter-spacing: inherit; color: inherit; text-align: left; cursor: pointer; }
    .mm-chev { width: 20px; height: 20px; flex: 0 0 auto; color: #A9805A; transition: transform .2s ease; }
    .mm-toggle[aria-expanded="true"] .mm-chev { transform: rotate(180deg); }
    .mm-panel { display: flex; flex-direction: column; padding: 0 0 8px 14px; }
    .mm-panel[hidden] { display: none; }
    .mm-panel a { padding: 10px 0; font-size: 14px; text-transform: none; letter-spacing: 0; color: #52575C; border-top: 1px solid #EFECE6; }
    .mm-panel a:first-child { border-top: 0; }
    .mm-panel a:hover, .mm-panel a[aria-current="page"] { color: #181A1B; }
    .nav-sub { padding: 10px 0 10px 16px; border-bottom: 1px solid #EAE6DF; font-size: 13px; text-transform: none; letter-spacing: 0; color: #52575C; }
    .nav-sub::before { content: "\2022"; margin-right: 8px; color: #B89B72; }

    /* ---- Hero review rating badges (Google, Yelp) ---- */
    .hb-cta { display: flex; flex-direction: column; gap: 16px; }
    .hb-ratings { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    @media (max-width: 480px) { .rv-sep { display: none; } }
    .rv-ratings { max-width: 640px; margin-left: auto; margin-right: auto; }
    @media (min-width: 640px) {
      .rv-ratings { gap: 18px; }
      .rv-ratings .hb-rate { padding: 18px 24px; gap: 16px; border-radius: 20px; }
      .rv-ratings .hb-g { width: 40px; height: 40px; } .rv-ratings .hb-yicon { font-size: 38px; width: 40px; }
      .rv-ratings .hb-name { font-size: 16px; } .rv-ratings .hb-yname { font-size: 19px; }
      .rv-ratings .hb-line strong { font-size: 24px; } .rv-ratings .hb-line { gap: 8px; margin: 4px 0 3px; }
      .rv-ratings .hb-gstars svg { width: 19px; height: 19px; }
      .rv-ratings .hb-yt { width: 22px; height: 22px; } .rv-ratings .hb-yt svg { width: 15px; height: 15px; }
      .rv-ratings .hb-count { font-size: 14px; }
    }
    .hb-rate { justify-content: center; }
    @media (min-width: 640px) { .hb-cta { display: inline-flex; max-width: 100%; } }
    .hb-rate { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px 10px 12px; background: #fff; border: 1px solid #E3DED4; border-radius: 14px; box-shadow: 0 8px 22px -16px rgba(24,26,27,.35); transition: border-color .2s, box-shadow .2s; text-decoration: none; }
    .hb-rate:hover { border-color: #C9BBA5; box-shadow: 0 12px 26px -16px rgba(24,26,27,.45); }
    .hb-g { width: 30px; height: 30px; flex: 0 0 auto; }
    .hb-yicon { font-size: 28px; color: #D32323; width: 30px; text-align: center; flex: 0 0 auto; }
    .hb-body { display: flex; flex-direction: column; line-height: 1.15; }
    .hb-name { font-size: 13px; font-weight: 600; color: #3C4043; }
    .hb-gname { font-family: Arial, Helvetica, sans-serif; letter-spacing: 0; }
    .hb-yname { font-family: Arial, Helvetica, sans-serif; font-weight: 700; font-size: 15px; color: #D32323; letter-spacing: -.02em; }
    .hb-line { display: flex; align-items: center; gap: 6px; margin: 3px 0 2px; }
    .hb-line strong { font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: 700; color: #202124; }
    .hb-count { font-size: 11.5px; color: #70757A; font-family: Arial, Helvetica, sans-serif; }
    .hb-gstars { display: inline-flex; gap: 1px; }
    .hb-gstars svg { width: 15px; height: 15px; display: block; }
    .hb-ystars { display: inline-flex; gap: 2px; }
    .hb-yt { width: 17px; height: 17px; border-radius: 3px; background: #E2E2E2; display: inline-flex; align-items: center; justify-content: center; }
    .hb-yt.on { background: #E00707; }
    .hb-yt.half { background: linear-gradient(90deg, #E00707 50%, #E2E2E2 50%); }
    .hb-yt svg { width: 12px; height: 12px; fill: #fff; }
    @media (max-width: 639px) {
      .hb-ratings { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
      .hb-rate { justify-content: center; padding: 12px 10px; border-radius: 16px; }
    }
    @media (max-width: 480px) {
      .hb-ratings { gap: 8px; }
      .hb-rate { padding: 10px 8px; gap: 8px; border-radius: 14px; }
      .hb-g { width: 22px; height: 22px; } .hb-yicon { font-size: 21px; width: 22px; }
      .hb-name { font-size: 12px; } .hb-yname { font-size: 13px; }
      .hb-line { gap: 4px; } .hb-line strong { font-size: 15px; }
      .hb-gstars svg { width: 12px; height: 12px; }
      .hb-yt { width: 14px; height: 14px; border-radius: 2px; } .hb-yt svg { width: 10px; height: 10px; }
      .hb-ystars { gap: 1px; }
      .hb-count { font-size: 10.5px; }
    }
    /* Tighter gap between the home hero and "Our Disciplines" */
    .hero-sec { padding-bottom: 48px !important; }
    #services-hub { padding-top: 56px !important; }
    @media (min-width: 768px) { .hero-sec { padding-bottom: 48px !important; } #services-hub { padding-top: 64px !important; } }
    /* ---- Patient review cards ---- */
    .rv-card { margin: 0; background: #fff; border: 1px solid #EAE6DF; border-radius: 1.5rem; padding: 32px; box-shadow: 0 20px 40px -28px rgba(24,26,27,.2); display: flex; flex-direction: column; gap: 18px; }
    @media (min-width: 640px) { .rv-card { padding: 40px 44px; } }
    .rv-top { display: flex; justify-content: space-between; align-items: center; }
    .rv-stars { color: #F4B400; font-size: 20px; letter-spacing: 3px; }
    .rv-g { width: 24px; height: 24px; }
    .rv-quote { margin: 0; font-family: "Playfair Display", Georgia, serif; font-size: 21px; line-height: 1.55; color: #181A1B; }
    @media (min-width: 640px) { .rv-quote { font-size: 24px; } }
    .rv-quote.rv-long { font-size: 17px; line-height: 1.65; }
    @media (min-width: 640px) { .rv-quote.rv-long { font-size: 19px; } }
    .rv-who { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid #F1EEEA; }
    .rv-avatar { width: 40px; height: 40px; border-radius: 999px; background: #F4EFEB; color: #8A6E45; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; flex-shrink: 0; }
    .rv-who strong { display: block; font-size: 14px; color: #181A1B; }
    .rv-who span span { display: block; font-size: 12px; color: #7B7468; }
    .rv-grid { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: stretch; }
    @media (min-width: 900px) { .rv-grid { grid-template-columns: 1fr 1fr; } }
    .rv-grid .rv-quote { flex: 1; }
    .rv-src { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #7B7468; }
    .rv-yelp { font-family: Arial, sans-serif; font-weight: 700; font-size: 18px; color: #D32323; letter-spacing: -.02em; }
    .rv-sep { margin: 0 12px; color: #A9A296; }
    .rv-more { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #181A1B; text-decoration: underline; text-underline-offset: 3px; }
    .rv-more:hover { color: #9F835B; }
    /* 3D scan video in Diagnostic Excellence: plays once when seen, click to replay */
    .scan-vid { position:relative; width:100%; height:100%; background:#D2D0DE; cursor:pointer; }
    .scan-vid-el { width:100%; height:100%; object-fit:contain; display:block; }
    .scan-replay { position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:999px; background:rgba(24,26,27,.85); color:#fff; font-size:12px; font-weight:600; opacity:0; pointer-events:none; transition:opacity .2s; }
    .scan-vid.is-ended .scan-replay { opacity:1; pointer-events:auto; }
    /* ===== Look: white backgrounds, black calls to action, sharp images, pop colours ===== */
    :root { --pop-footer:#FF5A36; --pop-label:#0F766E; --ink:#111214; }
    body { background:#fff !important; }
    header.bg-stone-50\/95 { background-color:rgba(255,255,255,.96) !important; }
    section.bg-stone-50, section.bg-stone-100, aside.bg-stone-100, footer.bg-stone-50, .bg-stone-50 { background-color:#fff !important; }
    /* calls to action in black */
    a.bg-sand-accent, button.bg-sand-accent { background-color:var(--ink) !important; color:#fff !important; }
    a.bg-sand-accent:hover, button.bg-sand-accent:hover { background-color:#2A2D30 !important; }
    .tab-active { background-color:var(--ink) !important; color:#fff !important; }
    /* inside dark areas, buttons flip to white so they still stand out */
    .bg-graphite-900 a.bg-sand-accent, .bg-graphite-900 button.bg-sand-accent { background-color:#fff !important; color:var(--ink) !important; }
    /* bright footer border */
    footer { border-top:1px solid #E3D3C0 !important; }
    /* section labels in a bright accent */
    span.uppercase.text-sand-accent { color:var(--pop-label) !important; }
    .bg-graphite-900 span.uppercase.text-sand-accent { color:#5FD4C4 !important; }
    /* sharp corners on every photo and image frame */
    img:not(.rounded-full) { border-radius:0 !important; }
    .rounded-3xl:has(img:not(.rounded-full)), .rounded-2xl:has(img:not(.rounded-full)), .rounded-xl:has(> img), .rounded-2xl:has(video),
    .ba2, #ba-container, .absolute.-top-4.-right-4, .rounded-3xl.h-80 { border-radius:0 !important; }
    /* ===== end look ===== */
    /* ===== Colour additions: hero tag, footer colour, bigger header ===== */
    .inline-flex.rounded-full.bg-stone-100.uppercase { background-color:#E3F5F2 !important; border-color:#A8DED6 !important; color:#0F766E !important; }
    .inline-flex.rounded-full.bg-stone-100.uppercase > span.rounded-full { background-color:#1D4ED8 !important; }
    footer.bg-stone-50, footer { background-color:#F5EDE3 !important; color:#5A4230 !important; }
    footer .text-graphite-900 { color:#3A2A1D !important; }
    footer .text-graphite-600, footer .text-stone-500 { color:#5E4632 !important; }
    footer .border-stone-200 { border-color:#E3D3C0 !important; }
    footer a.bg-graphite-900 { background-color:#7E5B3F !important; color:#fff !important; }
    footer a.bg-graphite-900 .text-sand-accent { color:#F5EDE3 !important; }
    footer a.border-stone-300 { border-color:#C9AE92 !important; color:#3A2A1D !important; }
    footer a.border-stone-300:hover { background-color:#EADCCB !important; }
    footer .foot-links a { color:#4A3524 !important; }
    footer .foot-links a:hover, footer a:not(.bg-graphite-900):hover { color:#7E5B3F !important; }
    footer .price-note { color:#6B5340 !important; }
    footer .price-note strong { color:#3A2A1D !important; }
    /* bigger header, logo and practice name */
    /* phones: Book Online moves to the sticky bottom bar, so the logo and name can be larger */
    header > div.h-20 { height:100px !important; gap:8px !important; padding-left:14px !important; padding-right:14px !important; }
    header a[href="/"] { gap:10px !important; }
    header a[href="/"] img { width:68px !important; height:68px !important; }
    header a[href="/"] span.font-serif { font-size:22px !important; }
    header a[href="/"] span.font-serif + span { font-size:10.5px !important; margin-top:7px !important; }
    @media (max-width:767px) { header .nav-book { display:none !important; } }
    @media (max-width:359px) {
      header a[href="/"] img { width:56px !important; height:56px !important; }
      header a[href="/"] span.font-serif { font-size:19px !important; }
      header a[href="/"] span.font-serif + span { font-size:9px !important; letter-spacing:.14em !important; }
    }
    @media (min-width:640px) {
      header > div.h-20 { height:124px !important; padding-left:32px !important; padding-right:32px !important; }
      header a[href="/"] { gap:14px !important; }
      header a[href="/"] img { width:92px !important; height:92px !important; }
      header a[href="/"] span.font-serif { font-size:30px !important; }
      header a[href="/"] span.font-serif + span { font-size:12.5px !important; margin-top:10px !important; }
    }
    /* desktop: two rows, logo and Book Online on top, a larger menu underneath */
    @media (min-width:1024px) {
      header > div.h-20 { height:auto !important; flex-wrap:wrap !important; row-gap:0 !important; padding-top:16px !important; max-width:1440px !important; }
      header a[href="/"] img { width:112px !important; height:112px !important; }
      header a[href="/"] span.font-serif { font-size:38px !important; }
      header a[href="/"] span.font-serif + span { font-size:14px !important; margin-top:12px !important; letter-spacing:.24em !important; }
      header > div.h-20 > div.shrink-0 { margin-left:auto; gap:18px !important; }
      header > div.h-20 > div.shrink-0 > a[href^="tel"] { display:inline-flex !important; font-size:16px !important; }
      header .nav-book { padding:15px 30px !important; font-size:16px !important; }
      header nav.lg-nav { order:3; flex-basis:100%; justify-content:center; gap:30px !important; margin-top:14px; border-top:1px solid #EAE6DF; font-size:14px !important; letter-spacing:.06em !important; }
      header nav.lg-nav .nav-dd { height:56px !important; }
      header nav.lg-nav { align-items:center !important; }
      header nav.lg-nav > a, header nav.lg-nav .nav-dd > a { height:56px; display:inline-flex !important; align-items:center; }
      header .nav-dd-menu { top:52px !important; }
    }
    /* once the visitor scrolls, the header slims down so it does not cover the page */
    header a[href="/"] img, header a[href="/"] span, header > div.h-20, header nav.lg-nav .nav-dd, header nav.lg-nav > a { transition: all .25s ease; }
    @media (min-width:1024px) {
      body.hdr-compact header > div.h-20 { padding-top:6px !important; }
      body.hdr-compact header a[href="/"] img { width:60px !important; height:60px !important; }
      body.hdr-compact header a[href="/"] span.font-serif { font-size:26px !important; }
      body.hdr-compact header a[href="/"] span.font-serif + span { font-size:11px !important; margin-top:7px !important; }
      body.hdr-compact header nav.lg-nav { margin-top:6px !important; }
      body.hdr-compact header nav.lg-nav .nav-dd, body.hdr-compact header nav.lg-nav > a, body.hdr-compact header nav.lg-nav .nav-dd > a { height:44px !important; }
      body.hdr-compact header .nav-dd-menu { top:42px !important; }
      body.hdr-compact header .nav-book { padding:11px 24px !important; font-size:14px !important; }
    }
    @media (min-width:1024px) and (max-width:1279px) { header nav.lg-nav { gap:18px !important; font-size:13px !important; letter-spacing:.03em !important; } }
    @media (min-width:1280px) { header nav.lg-nav { gap:42px !important; font-size:15px !important; } }
    section[id] { scroll-margin-top:200px; }
    /* ===== end colour additions ===== */
    /* ===== Palette: alabaster, soft sage, snowbound, pale oak, natural rattan + white & black ===== */
    :root { --ink:#212121; --alabaster:#F2EFE6; --snow:#F7F6F2; --sage:#B5BDAC; --sage-soft:#DCE1D5; --oak:#DDD3C5; --rattan:#BFA684; --sage-text:#4F5A48; --rattan-text:#6E5A3F; }
    .bg-graphite-900 { background-color:var(--ink) !important; }
    a.bg-sand-accent, button.bg-sand-accent, .tab-active { background-color:var(--ink) !important; color:#fff !important; }
    .tab-active { box-shadow: inset 0 -3px 0 var(--rattan) !important; }
    aside.bg-stone-100 { background-color:var(--snow) !important; }
    section.bg-stone-50 { background-color:var(--alabaster) !important; }
    section.bg-stone-100 { background-color:var(--oak) !important; }
    span.uppercase.text-sand-accent, .faq-icon { color:var(--sage-text) !important; }
    .bg-graphite-900 span.uppercase.text-sand-accent { color:var(--sage) !important; }
    .text-emerald-600 { color:var(--sage-text) !important; }
    .ax-price-num, .tc-monthly, strong[data-editable], div.font-serif.text-4xl.text-graphite-900 { color:var(--sage-text) !important; }
    .bg-graphite-900 .font-serif.text-4xl, .bg-graphite-900 strong[data-editable] { color:var(--rattan) !important; }
    .nav-link.is-active { color:var(--ink) !important; box-shadow: inset 0 -3px 0 var(--rattan); }
    .rv-stars, .fa-star.text-amber-500 { color:var(--rattan) !important; }
    .inline-flex.rounded-full.bg-stone-100.uppercase { background-color:var(--sage-soft) !important; border-color:var(--sage) !important; color:var(--sage-text) !important; }
    .inline-flex.rounded-full.bg-stone-100.uppercase > span.rounded-full { background-color:var(--rattan) !important; }
    .tc-opt.is-on { border-color:var(--sage-text) !important; box-shadow:0 0 0 1px var(--sage-text) !important; }
    .tc-terms button[aria-pressed="true"] { background:var(--ink) !important; border-color:var(--ink) !important; }
    .ba2-tag-r { background:var(--rattan) !important; color:var(--ink) !important; }
    section.bg-graphite-900 { background-color:var(--sage) !important; color:var(--ink) !important; }
    section.bg-graphite-900 .text-stone-300, section.bg-graphite-900 .text-stone-50 { color:var(--ink) !important; }
    section.bg-graphite-900 a.bg-sand-accent { background-color:var(--ink) !important; color:#fff !important; }
    section.bg-graphite-900 a.border-stone-500 { border-color:var(--ink) !important; color:var(--ink) !important; }
    footer.bg-stone-50, footer { background-color:var(--oak) !important; border-top:0 !important; }
    footer .border-stone-200 { border-color:rgba(33,33,33,.14) !important; }
    footer .text-graphite-600, footer .text-stone-500, footer .price-note, footer .foot-links a { color:#33302B !important; }
    footer .text-graphite-900, footer .price-note strong { color:var(--ink) !important; }
    footer a.bg-graphite-900 { background-color:var(--ink) !important; color:#fff !important; }
    footer a.bg-graphite-900 .text-sand-accent { color:var(--rattan) !important; }
    footer a.border-stone-300 { border-color:var(--ink) !important; color:var(--ink) !important; }
    footer a.border-stone-300:hover { background-color:rgba(255,255,255,.4) !important; }
    footer .foot-links a:hover, footer a:not(.bg-graphite-900):hover { color:var(--sage-text) !important; }
    /* ===== end palette ===== */
    /* ===== Patient FAQs (blog) ===== */
    .bl-wrap { max-width: 80rem; margin: 0 auto; padding: 0 16px; }
    @media (min-width: 640px) { .bl-wrap { padding: 0 32px; } }
    .bl-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; color: #5A5F63; margin-bottom: 18px; }
    .bl-crumbs a { color: #3F4448; text-decoration: underline; text-underline-offset: 3px; }
    .bl-crumbs a:hover { color: #181A1B; }
    .bl-crumbs .sep { color: #A9A296; }
    .bl-head { background: var(--alabaster, #FAF4EE); border-bottom: 1px solid #E7E1D6; padding: 32px 0 36px; }
    @media (min-width: 768px) { .bl-head { padding: 44px 0 48px; } }
    .bl-tile { display: flex; align-items: center; justify-content: center; background: var(--alabaster, #FAF4EE); border: 1px solid #E7E1D6; color: var(--rattan-text, #8A6E45); }
    .bl-tile { font-size: 44px; }
    .bl-tile svg { height: 1em; width: auto; }
    .bl-feature .bl-tile { font-size: 64px; }
    .bl-post-head .bl-tile { font-size: 72px; }
    .bl-chip { padding: 8px 14px; border-radius: 999px; border: 1px solid #D7D1C7; background: #fff; font-size: 12px; font-weight: 600; color: #3F4448; cursor: pointer; white-space: nowrap; }
    .bl-chip[aria-pressed="true"] { background: #212121; border-color: #212121; color: #fff; }
    .bl-search { width: 100%; max-width: 320px; padding: 10px 14px 10px 36px; border-radius: 999px; border: 1px solid #D7D1C7; background: #fff; font-size: 14px; }
    .bl-search-wrap { position: relative; }
    .bl-search-wrap svg { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); width: 13px; color: #7B7468; }
    .bl-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
    @media (min-width: 640px) { .bl-grid { grid-template-columns: 1fr 1fr; } }
    @media (min-width: 1024px) { .bl-grid { grid-template-columns: repeat(3, 1fr); } }
    .bl-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #E7E1D6; transition: box-shadow .2s, transform .2s; }
    .bl-card:hover { box-shadow: 0 18px 36px -24px rgba(24,26,27,.35); transform: translateY(-2px); }
    .bl-card .bl-tile { aspect-ratio: 16 / 9; border: 0; border-bottom: 1px solid #E7E1D6; }
    .bl-card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
    .bl-cat { font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--sage-text, #4F5A48); }
    .bl-card h3 { font-family: "Playfair Display", Georgia, serif; font-size: 20px; line-height: 1.3; color: #181A1B; }
    .bl-card h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
    .bl-ex { font-size: 13px; line-height: 1.55; color: #52575C; }
    .bl-by { margin-top: auto; padding-top: 10px; font-size: 11.5px; color: #6B6F73; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; }
    .bl-hub-body { background: #fff; padding: 40px 0 56px; }
    @media (min-width: 768px) { .bl-hub-body { padding: 56px 0 80px; } }
    .bl-hub-stack > * + * { margin-top: 32px; }
    .bl-filters { display: flex; flex-direction: column; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid #E7E2DA; }
    .bl-filters #blog-chips { display: flex; flex-wrap: wrap; gap: 10px; }
    .bl-filters .bl-search-wrap { max-width: 420px; width: 100%; }
    @media (max-width: 639px) { .bl-filters #blog-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .bl-filters #blog-chips::-webkit-scrollbar { display: none; } .bl-filters .bl-chip { flex: 0 0 auto; } }
    .bl-grid-compact .bl-card > a:first-child:not(.has-photo) { display: none; }
    .bl-tile.bl-photo { padding: 0; overflow: hidden; background: #EFEAE2; }
    .bl-tile.bl-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .bl-feature .bl-tile.bl-photo { align-self: stretch; }
    @media (max-width: 1023px) { .bl-post-head .bl-tile.bl-photo { height: auto; aspect-ratio: 16 / 9; } }
    .bl-grid-compact { gap: 16px; }
    .bl-pop { display: inline-flex; padding: 2px 8px; border-radius: 999px; background: #EEF1EA; color: #5E6E55; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
    .bl-draft { display: inline-flex; padding: 2px 8px; border-radius: 999px; background: #F4EFEB; border: 1px dashed #B89B72; color: #8A6E45; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
    .bl-feature { display: grid; grid-template-columns: 1fr; background: #fff; border: 1px solid #E7E1D6; }
    @media (min-width: 768px) { .bl-feature { grid-template-columns: 1.1fr 1fr; } }
    .bl-feature .bl-tile { min-height: 220px; border: 0; }
    .bl-feature-body { padding: 26px 28px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
    .bl-feature h2 { font-family: "Playfair Display", Georgia, serif; font-size: 28px; line-height: 1.25; color: #181A1B; }
    .bl-empty { padding: 28px; text-align: center; color: #52575C; font-size: 14px; border: 1px dashed #D7D1C7; background: #fff; }
    .bl-band { background: #212121; color: #fff; padding: 40px 0; text-align: center; }
    .bl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 24px; border-radius: 999px; font-size: 14px; font-weight: 600; }
    .bl-btn-dark { background: #212121; color: #fff; } .bl-btn-dark:hover { background: #3A3A3A; }
    .bl-btn-light { background: #fff; color: #181A1B; border: 1px solid #D7D1C7; } .bl-btn-light:hover { border-color: #181A1B; }
    /* post page */
    .bl-post-head { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: center; }
    @media (min-width: 1024px) { .bl-post-head { grid-template-columns: 1.4fr 1fr; gap: 48px; } }
    .bl-post-head h1 { font-family: "Playfair Display", Georgia, serif; font-size: 34px; line-height: 1.15; color: #181A1B; letter-spacing: -.01em; }
    @media (min-width: 768px) { .bl-post-head h1 { font-size: 46px; } }
    .bl-intro { margin-top: 16px; font-size: 17px; line-height: 1.65; color: #3F4448; max-width: 40rem; }
    .bl-post-head .bl-tile { aspect-ratio: auto; height: 130px; border-radius: 1.25rem; }
    @media (min-width: 640px) and (max-width: 1023px) { .bl-post-head .bl-tile { height: 160px; } }
    @media (min-width: 1024px) { .bl-post-head .bl-tile { height: auto; aspect-ratio: 4 / 3; } }
    .bl-meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; padding-top: 18px; border-top: 1px solid #E2DBCF; }
    .bl-meta div { display: flex; flex-direction: column; gap: 3px; }
    .bl-meta span:first-child { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6B6F73; }
    .bl-meta span:last-child, .bl-meta a { font-size: 13px; color: #181A1B; font-weight: 600; }
    .bl-meta a { text-decoration: underline; text-underline-offset: 3px; }
    .bl-body { background: #F5F3EF; padding: 32px 0 56px; }
    .bl-cols { display: grid; grid-template-columns: 1fr; gap: 24px; }
    @media (min-width: 1024px) { .bl-cols { grid-template-columns: 30% 1fr; gap: 40px; align-items: start; } }
    .bl-toc { background: #fff; border: 1px solid #E7E1D6; border-radius: 16px; padding: 18px 18px 14px; }
    @media (min-width: 1024px) { .bl-toc { position: sticky; top: 150px; max-height: calc(100vh - 170px); overflow: auto; } }
    .bl-toc-title { font-family: "Playfair Display", Georgia, serif; font-size: 18px; color: #181A1B; display: flex; justify-content: space-between; align-items: center; width: 100%; text-align: left; }
    .bl-toc ol { margin-top: 10px; display: flex; flex-direction: column; }
    .bl-toc li button { display: flex; gap: 10px; width: 100%; text-align: left; padding: 8px 6px; border-radius: 8px; font-size: 13.5px; line-height: 1.4; color: #3F4448; }
    .bl-toc li button::before { content: "\2192"; color: var(--rattan, #B89B72); font-weight: 700; flex-shrink: 0; }
    .bl-toc li button:hover { background: #F5F3EF; color: #181A1B; }
    .bl-toc li button.is-on { background: #F5F3EF; color: #181A1B; font-weight: 600; }
    .bl-toc-toggle-ic { transition: transform .2s; }
    @media (max-width: 1023px) { .bl-toc:not(.is-open) ol { display: none; } .bl-toc.is-open .bl-toc-toggle-ic { transform: rotate(180deg); } }
    @media (min-width: 1024px) { .bl-toc-toggle-ic { display: none; } .bl-toc-title { pointer-events: none; } }
    .bl-article { min-width: 0; }
    .bl-article > * + * { margin-top: 28px; }
    .bl-short { background: #fff; border-left: 4px solid var(--rattan, #B89B72); padding: 20px 22px; border-radius: 4px 12px 12px 4px; }
    .bl-short-label { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rattan-text, #8A6E45); margin-bottom: 8px; }
    .bl-short p { font-size: 16px; line-height: 1.65; color: #181A1B; }
    .bl-article h2 { font-family: "Playfair Display", Georgia, serif; font-size: 27px; line-height: 1.25; color: #181A1B; scroll-margin-top: 160px; }
    .bl-article h3 { font-size: 17px; font-weight: 700; color: #181A1B; margin-top: 18px; }
    .bl-sec > * + * { margin-top: 12px; }
    .bl-sec p, .bl-sec li { font-size: 15.5px; line-height: 1.7; color: #3F4448; }
    .bl-sec a { color: #181A1B; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rattan, #B89B72); }
    .bl-sec .bl-small { font-size: 12.5px; color: #6B6F73; }
    .bl-sec a.bl-btn { text-decoration: none; }
    .bl-sec a.bl-btn-dark { color: #fff; }
    .bl-sec a.bl-btn-light { color: #181A1B; }
    .bl-list { display: flex; flex-direction: column; gap: 8px; }
    .bl-list li { position: relative; padding-left: 20px; }
    .bl-list li::before { content: ""; position: absolute; left: 4px; top: .75em; width: 7px; height: 7px; border-radius: 999px; background: var(--rattan, #B89B72); }
    .bl-ol { counter-reset: blo; } .bl-ol li { counter-increment: blo; padding-left: 26px; } .bl-ol li::before { content: counter(blo) "."; width: auto; height: auto; top: 0; left: 0; border-radius: 0; background: none; color: var(--rattan, #8A6D45); font-weight: 700; }
    .bl-fig { margin: 20px 0; } .bl-fig img { display: block; width: 100%; height: auto; border-radius: 14px; }
    .bl-do { display: grid; grid-template-columns: 1fr; gap: 16px; }
    @media (min-width: 640px) { .bl-do { grid-template-columns: 1fr 1fr; } }
    .bl-do > div { background: #fff; border: 1px solid #E7E1D6; border-radius: 14px; padding: 18px 20px; }
    .bl-do h3 { margin: 0 0 10px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
    .bl-do ul { display: flex; flex-direction: column; gap: 9px; }
    .bl-do li { display: flex; gap: 10px; font-size: 14.5px; line-height: 1.5; color: #3F4448; }
    .bl-do li svg { flex-shrink: 0; margin-top: 4px; width: 13px; }
    .bl-do .is-do svg { color: var(--rattan-text, #8A6E45); }
    .bl-do .is-dont svg { color: #212121; }
    .bl-onelist { background: #fff; border: 1px solid #E7E1D6; border-radius: 14px; padding: 18px 20px; }
    .bl-table { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #E7E1D6; border-radius: 12px; background: #fff; }
    .bl-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
    .bl-table table:has(thead th:nth-child(3)) { min-width: 560px; }
    .bl-table th, .bl-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #EFEAE2; color: #3F4448; line-height: 1.5; }
    .bl-table thead th { background: #212121; color: #fff; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
    .bl-table tbody th { font-weight: 600; color: #181A1B; background: #FAF8F4; }
    .bl-table tr:last-child td, .bl-table tr:last-child th { border-bottom: 0; }
    .bl-mid { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; background: var(--sage-soft, #E8EDE4); border-radius: 14px; padding: 16px 20px; }
    .bl-mid p { font-size: 15px; color: #181A1B; font-weight: 600; }
    .bl-local { background: #fff; border: 1px solid #E7E1D6; border-radius: 16px; padding: 22px; }
    .bl-faq details { background: #fff; border: 1px solid #E7E1D6; border-radius: 12px; padding: 0 18px; }
    .bl-faq details + details { margin-top: 10px; }
    .bl-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 14px; padding: 15px 0; font-weight: 600; font-size: 15px; color: #181A1B; }
    .bl-faq summary::-webkit-details-marker { display: none; }
    .bl-faq summary::after { content: "+"; font-size: 20px; line-height: 1; color: var(--rattan-text, #8A6E45); }
    .bl-faq details[open] summary::after { content: "\2212"; }
    .bl-faq details p { padding-bottom: 16px; font-size: 15px; line-height: 1.65; color: #3F4448; }
    .bl-cta-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
    .bl-author { display: flex; gap: 16px; background: #fff; border: 1px solid #E7E1D6; border-radius: 16px; padding: 20px; }
    .bl-author-mark { width: 56px; height: 56px; border-radius: 999px; flex-shrink: 0; border: 1px solid #D7D1C7; background: var(--alabaster, #FAF4EE); display: flex; align-items: center; justify-content: center; font-family: "Playfair Display", Georgia, serif; font-size: 20px; color: var(--rattan-text, #8A6E45); }
    .bl-author p { font-size: 14px; line-height: 1.6; color: #3F4448; }
    .bl-author a { text-decoration: underline; text-underline-offset: 3px; }
    .bl-sources { font-size: 12.5px; color: #52575C; line-height: 1.7; }
    .bl-sources a { text-decoration: underline; text-underline-offset: 2px; }
    .bl-note { font-size: 12px; color: #6B6F73; }
    .bl-outline { background: #fff; border: 1px dashed #C9BFAE; border-radius: 14px; padding: 20px 22px; }
    .bl-outline p { font-size: 14.5px; color: #3F4448; line-height: 1.6; }
    /* related guides strips on other pages */
    .bl-strip-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 26px; }
    .bl-see { font-size: 13px; font-weight: 600; color: #181A1B; text-decoration: underline; text-underline-offset: 3px; }
    /* Our Practice dropdown */
    .nav-dd > button.nav-link { background: none; border: 0; padding: 0; font: inherit; letter-spacing: inherit; text-transform: uppercase; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; color: inherit; }
    .nav-dd.is-open .nav-dd-menu { display: flex; }
    .nav-dd-right .nav-dd-menu { left: auto; right: -18px; }
    .nav-sub-guides { padding-left: 16px; }
    .foot-guides { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 12px; }
    .foot-guides strong { font-weight: 700; }
    .bl-steps { counter-reset: st; display: flex; flex-direction: column; gap: 10px; }
    .bl-steps li { counter-increment: st; position: relative; padding-left: 34px; }
    .bl-steps li::before { content: counter(st); position: absolute; left: 0; top: 2px; width: 24px; height: 24px; border-radius: 999px; background: #212121; color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
    /* ===== end Patient FAQs ===== */
    .nav-dd.nav-dd-click:not(.is-open):not(:hover) .nav-dd-menu { display: none; }
    @media (min-width: 1024px) { header nav.lg-nav .nav-dd > button { height: 56px; } body.hdr-compact header nav.lg-nav .nav-dd > button { height: 44px !important; } }
    /* Homepage already shows address, phone and hours in the location section */
    body[data-page="home"] .ft-nap { display: none; }
    body[data-page="home"] .ft-nap + * { margin-top: 0; }

    /* Compact patient review sections */
    section.rv-section { padding-top: 48px; padding-bottom: 48px; }
    @media (min-width: 768px) { section.rv-section { padding-top: 60px; padding-bottom: 60px; } }
    section.rv-section > div { max-width: 44rem; }
    section.rv-section > div > * + * { margin-top: 20px; }
    section.rv-section > div:has(.rv-grid) { max-width: 60rem; }
    section.rv-section h2 { font-size: 24px; line-height: 1.25; }
    @media (min-width: 640px) { section.rv-section h2 { font-size: 28px; } }
    section.rv-section .rv-card { padding: 22px 22px; gap: 12px; border-radius: 1.1rem; }
    @media (min-width: 640px) { section.rv-section .rv-card { padding: 26px 30px; } }
    section.rv-section .rv-stars { font-size: 15px; letter-spacing: 2px; }
    section.rv-section .rv-g { width: 18px; height: 18px; }
    section.rv-section .rv-yelp { font-size: 15px; }
    section.rv-section .rv-quote { font-size: 16px; line-height: 1.6; }
    @media (min-width: 640px) { section.rv-section .rv-quote { font-size: 17px; } }
    section.rv-section .rv-quote.rv-long { font-size: 14px; line-height: 1.65; }
    @media (min-width: 640px) { section.rv-section .rv-quote.rv-long { font-size: 15px; } }
    section.rv-section .rv-who { padding-top: 12px; gap: 10px; }
    section.rv-section .rv-avatar { width: 32px; height: 32px; font-size: 13px; }
    section.rv-section .rv-who strong { font-size: 13px; }
    section.rv-section .rv-who span span { font-size: 11px; }
    section.rv-section .rv-grid { gap: 18px; }
    section.rv-section .rv-more { font-size: 12px; }

    .scan-credit { margin-top: 24px; display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border-radius: 16px; background: #F4EFEB; border: 1px solid #EADFCF; }
    .scan-credit-icon { width: 40px; height: 40px; flex-shrink: 0; border-radius: 999px; background: #181A1B; color: #B89B72; display: flex; align-items: center; justify-content: center; font-size: 15px; }
    .scan-credit strong { display: block; font-size: 15px; color: #181A1B; margin-bottom: 4px; font-weight: 600; }
    .scan-credit span { display: block; font-size: 13px; line-height: 1.6; color: #3F4448; }

    /* ---- In-house membership plans ---- */
    .mem-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px; background: #fff; border: 1px solid #EAE6DF; border-radius: 1.5rem; }
    .mem-hi { border: 2px solid #181A1B; box-shadow: 0 20px 40px -24px rgba(24,26,27,.25); }
    .mem-badge { position: absolute; top: -12px; right: 24px; background: #181A1B; color: #FAF9F6; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; }
    .mem-tag { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #8A6E45; }
    .mem-who { margin: 0; font-size: 13px; color: #52575C; line-height: 1.5; min-height: 2.9em; }
    .mem-price { font-family: "Playfair Display", Georgia, serif; font-size: 46px; line-height: 1; color: #181A1B; margin-top: 6px; }
    .mem-price small { font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; color: #52575C; margin-left: 2px; }
    .mem-tc { margin: 0; }
    .tc-mo .tc-total { display: none; }
    .tc-mo .tc-step:has(.tc-terms) { display: none; }
    .whiten-note { margin: 0; padding: 10px 12px; border-radius: 10px; background: #F4EFEB; font-size: 12px; line-height: 1.5; color: #3F4448; }
    .cherry-pts { list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid #F1EEEA; text-align: left; display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: #3F4448; }
    .cherry-pts li { display: flex; gap: 8px; align-items: flex-start; }
    .cherry-pts li > i, .cherry-pts li > svg { color: #1E6B47; font-size: 10px; margin-top: 4px; flex-shrink: 0; }
    .mem-perk { background: #F4EFEB; margin: 2px -10px 0; padding: 8px 10px; border-radius: 10px; }
    .mem-perk strong { font-weight: 700; color: #181A1B; }
    .mem-list { list-style: none; margin: 8px 0 0; padding: 14px 0 0; border-top: 1px solid #EAE6DF; display: flex; flex-direction: column; gap: 10px; flex: 1; }
    .mem-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: #242729; }
    .mem-list li > i, .mem-list li > svg { color: #1E6B47; font-size: 12px; margin-top: 4px; flex-shrink: 0; }
    .mem-btns { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
    @media (min-width: 480px) { .mem-btns { flex-direction: row; } .mem-btn { flex: 1; } }
    .mem-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; }
    .mem-btn-dark { background: #181A1B; color: #FAF9F6; } .mem-btn-dark:hover { background: #242729; }
    .mem-btn-light { background: #fff; color: #181A1B; border: 1px solid #D7D1C7; } .mem-btn-light:hover { background: #FAF9F6; }

    /* ---- Cosmetic page before/after slider ---- */
    .ba2 { position: relative; aspect-ratio: 17 / 10; width: 100%; overflow: hidden; user-select: none; touch-action: pan-y; cursor: ew-resize; background: #EAE6DF; --pos: 50%; }
    .ba2-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
    .ba2-over { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
    .ba2-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; background: #fff; transform: translateX(-1px); box-shadow: 0 0 6px rgba(0,0,0,.25); pointer-events: none; }
    .ba2-handle span { position: absolute; top: 50%; left: 50%; width: 36px; height: 36px; transform: translate(-50%,-50%); border-radius: 999px; background: #fff; border: 1px solid #EAE6DF; box-shadow: 0 4px 12px rgba(0,0,0,.2); display: flex; align-items: center; justify-content: center; color: #52575C; font-size: 12px; }
    .ba2-tag { position: absolute; top: 12px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; color: #fff; pointer-events: none; }
    .ba2-tag-l { left: 12px; background: rgba(24,26,27,.8); }
    .ba2-tag-r { right: 12px; background: #B89B72; }
    .ba2 ~ .absolute { pointer-events: none; }
    .ba2-range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }

    /* ---- Homepage periodontal & oral surgery card ---- */
    .perio-card { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr; gap: 24px; padding: 28px; border-radius: 1rem; background: #FAF9F6; border: 1px solid rgba(234,230,223,.9); }
    .perio-card:hover { border-color: #D7D1C7; }
    @media (min-width: 900px) { .perio-card { grid-template-columns: 0.9fr 1.6fr; gap: 40px; padding: 32px 36px; align-items: start; } }
    .perio-head { display: flex; flex-direction: column; gap: 10px; }
    .perio-img { position: relative; height: 200px; border-radius: 12px; overflow: hidden; margin-bottom: 6px; }
    .perio-tag-on { position: absolute; top: 12px; left: 12px; }
    .perio-tag { align-self: flex-start; background: #181A1B; color: #FAF9F6; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; border-radius: 6px; }
    .perio-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; margin-top: 4px; border-top: 1px solid #EAE6DF; font-size: 12px; }
    .perio-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
    @media (min-width: 640px) { .perio-list { grid-template-columns: 1fr 1fr; } }
    .perio-item { display: flex; gap: 12px; align-items: flex-start; padding: 14px; background: #fff; border: 1px solid #EAE6DF; border-radius: 12px; }
    .perio-item strong { display: block; font-size: 13px; font-weight: 600; color: #181A1B; margin-bottom: 2px; }
    .perio-item span span { display: block; font-size: 12px; line-height: 1.5; color: #52575C; font-weight: 300; }
    .perio-icon { width: 32px; height: 32px; flex-shrink: 0; border-radius: 999px; background: #F4EFEB; color: #8A6E45; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }

    /* ---- Emergency & All-on-X pages ---- */
    .underline { text-decoration-line: underline; } .gap-10 { gap: 2.5rem; } .mt-5 { margin-top: 1.25rem; } .space-y-10 > :not([hidden]) ~ :not([hidden]) { margin-top: 2.5rem; }
    .em-card { background: #fff; border: 1px solid #EAE6DF; border-radius: 1.5rem; padding: 28px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 20px 40px -24px rgba(24,26,27,.18); }
    .em-phone { font-family: "Playfair Display", Georgia, serif; font-size: 34px; color: #181A1B; line-height: 1.1; }
    .em-phone:hover { color: #9F835B; }
    .em-hours { list-style: none; margin: 6px 0 0; padding: 0; border-top: 1px solid #EAE6DF; }
    .em-hours li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #F1EEEA; font-size: 13px; color: #3F4448; }
    .em-hours li span:first-child { font-weight: 600; color: #181A1B; }
    .em-aid { display: flex; flex-direction: column; border-top: 1px solid #EAE6DF; }
    .em-aid > div { padding: 16px 0; border-bottom: 1px solid #EAE6DF; }
    .em-aid h3 { font-family: "Playfair Display", Georgia, serif; font-size: 19px; color: #181A1B; margin: 0 0 4px; }
    .em-aid p { font-size: 13px; color: #52575C; line-height: 1.6; margin: 0; }
    .em-alert { display: flex; gap: 14px; padding: 22px; border-radius: 1.25rem; background: #FBEDEA; border: 1px solid #F0CFC8; color: #7A2E21; }
    .em-alert > i, .em-alert > svg { font-size: 20px; margin-top: 2px; flex-shrink: 0; }
    .em-alert h3 { font-size: 14px; font-weight: 700; margin: 0 0 6px; }
    .em-alert ul { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.7; list-style: disc; }
    .ax-price { background: #fff; border: 1px solid #EAE6DF; border-radius: 1.5rem; padding: 28px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 20px 40px -24px rgba(24,26,27,.18); }
    .ax-price-num { font-family: "Playfair Display", Georgia, serif; font-size: 44px; color: #181A1B; line-height: 1; }
    .ax-price-num small { font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; color: #52575C; }
    .ax-table-wrap { overflow-x: auto; border: 1px solid #EAE6DF; border-radius: 1.25rem; background: #fff; }
    .ax-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 13px; }
    .ax-table th, .ax-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid #F1EEEA; color: #3F4448; vertical-align: top; }
    .ax-table thead th { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #52575C; background: #FAF9F6; }
    .ax-table tbody th { font-weight: 600; color: #181A1B; width: 22%; }
    .ax-table .ax-hi { background: #F4EFEB; color: #181A1B; font-weight: 600; }
    .ax-table thead .ax-hi { color: #8A6E45; }
    .ax-table tbody tr:last-child th, .ax-table tbody tr:last-child td { border-bottom: 0; }
    .price-note { margin: 0; max-width: 56rem; font-size: 11px; line-height: 1.6; color: #7B7468; }
    .price-note strong { color: #52575C; font-weight: 600; }
    .foot-links { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 12px; }
    .foot-links a { color: #3F4448; }
    .foot-links a:hover { color: #9F835B; }

    /* ---- Insurance page ---- */
    .ins-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0 28px; }
    @media (min-width: 640px) { .ins-grid { grid-template-columns: 1fr 1fr; } }
    @media (min-width: 1024px) { .ins-grid { grid-template-columns: 1fr 1fr 1fr; } }
    .ins-grid li { display: flex; align-items: center; gap: 10px; padding: 12px 4px; border-bottom: 1px solid #EAE6DF; font-size: 14px; color: #242729; }
    .ins-grid li::before { content: "\2713"; color: #1E6B47; font-size: 12px; font-weight: 700; }
    .ins-other { display: flex; flex-direction: column; gap: 14px; padding: 20px 22px; border: 1px dashed #D7D1C7; border-radius: 16px; background: #FAF9F6; }
    @media (min-width: 768px) { .ins-other { flex-direction: row; align-items: center; justify-content: space-between; } }
    .ins-other-title { display: block; font-family: "Playfair Display", Georgia, serif; font-size: 20px; color: #181A1B; margin-bottom: 4px; }
    .ins-other-text { display: block; font-size: 13px; color: #52575C; line-height: 1.55; max-width: 44rem; }
    .ins-other-text a { color: #181A1B; font-weight: 600; text-decoration: underline; }
    .ins-other-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 999px; background: #181A1B; color: #FAF9F6; font-size: 13px; font-weight: 600; white-space: nowrap; }
    .ins-other-btn:hover { background: #242729; }

    .nav-book { padding: 9px 14px; font-size: 12px; }
    @media (max-width: 479px) { .nav-book > :first-child { display: none; } }
    @media (min-width: 640px) { .nav-book { padding: 11px 18px; font-size: 13px; } }
    @media (min-width: 1280px) { .nav-book { padding: 13px 26px; font-size: 14px; } }
    @media (min-width: 1024px) and (max-width: 1279px) { .nav-book { padding: 9px 14px; font-size: 12px; } .nav-book > :first-child { display: none; } nav.lg-nav { gap: 9px; } }
    .ppo-list li { display: flex; align-items: center; gap: 10px; }
    .ppo-list li::before { content: "\2713"; color: #1E6B47; font-size: 12px; }
    .ppo-list li::after { content: "Accepted"; margin-left: auto; font-size: 11px; font-weight: 700; color: #1E6B47; }
    .tc-select-wrap { position: relative; }
    .tc-select-wrap::after { content: ""; position: absolute; right: 18px; top: 50%; width: 8px; height: 8px; border-right: 2px solid #181A1B; border-bottom: 2px solid #181A1B; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
    .tc-select { width: 100%; appearance: none; -webkit-appearance: none; padding: 14px 44px 14px 16px; border: 1px solid #181A1B; border-radius: 12px; background: #fff; font: inherit; font-size: 14px; font-weight: 600; color: #181A1B; cursor: pointer; }
    .tc-select:focus { outline: none; box-shadow: 0 0 0 3px rgba(184,155,114,.35); }

    .ppo-list li[hidden] { display: none; }
    .ppo-list mark { background: #F4EFEB; color: #181A1B; font-weight: 600; padding: 0 1px; border-radius: 3px; }
    .ppo-empty { margin: 0; padding: 14px 18px; font-size: 13px; color: #52575C; }
    .ppo-empty a { color: #181A1B; font-weight: 600; text-decoration: underline; }

    details > summary { list-style: none; cursor: pointer; }
    details > summary::-webkit-details-marker { display: none; }
    details[open] .faq-icon { transform: rotate(45deg); }
    .faq-icon { transition: transform .2s; }
    .tab-active {
      background-color: #181A1B;
      color: #FAF9F6;
      border-color: #181A1B;
    }
    .tab-inactive {
      background-color: #FFFFFF;
      color: #52575C;
      border-color: #EAE6DF;
    }
    .tab-inactive:hover {
      border-color: #181A1B;
      color: #181A1B;
    }

    /* Visual Editor Styling */
    body.is-editing [data-editable="text"] {
      outline: 1.5px dashed rgba(184, 155, 114, 0.85);
      outline-offset: 3px;
      cursor: text;
      border-radius: 4px;
      transition: background-color 0.2s;
    }
    body.is-editing [data-editable="text"]:hover,
    body.is-editing [data-editable="text"]:focus {
      background-color: rgba(184, 155, 114, 0.12);
      outline: 2px solid #B89B72;
    }
    .img-edit-wrapper {
      position: relative;
    }
    .img-edit-btn {
      display: none;
    }
    body.is-editing .img-edit-btn {
      display: flex;
    }
    /* Service sub-pages (generated) */
    .svc-more { font-size: 12px; font-weight: 600; color: #181A1B; text-decoration: underline; text-underline-offset: 3px; align-self: flex-start; }
    .svc-more:hover { color: #9F835B; }
    .svc-photo { display: block; margin: -24px -24px 6px; width: calc(100% + 48px); aspect-ratio: 16 / 10; object-fit: cover; max-width: none; border-radius: 1rem 1rem 0 0; background: #EFEAE2; }

    .rv-ratings-one { grid-template-columns: 1fr !important; max-width: 320px; }
    section.sec-sage { background-color: #E7ECE0 !important; }
    .oat-head { display: grid; gap: 28px; align-items: center; margin-bottom: 48px; }
    @media (min-width: 1024px) { .oat-head { grid-template-columns: 1fr 1fr; gap: 56px; } }
    .oat-img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 1.5rem; border: 1px solid #E7E1D6; box-shadow: 0 20px 40px -28px rgba(24,26,27,.35); }

    .svc-title { color: inherit; text-decoration: none; } .svc-title:hover { color: #9F835B; text-decoration: underline; text-underline-offset: 4px; }
    .svc-facts ul li { line-height: 1.5; }
    .nav-dd-wide { min-width: 470px; }
    .nav-dd-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6px; border-top: 1px solid #EFECE6; margin-top: 4px; padding-top: 6px; }
    .nav-dd-cols > div { display: flex; flex-direction: column; }
    .nav-dd-h { display: block; padding: 8px 12px 4px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #9F835B; }
    .nav-dd-cols a { padding: 7px 12px; font-size: 13.5px; }
    .mm-sub { padding: 10px 0 2px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #9F835B; border-top: 1px solid #EFECE6; }

  
/* Homepage hero: on desktop the photo runs from the top badge to the bottom of the stats */
@media (min-width: 1024px) {
  .hero-grid { align-items: stretch; }
  .hero-visual > .relative { height: 100%; }
  .hero-visual .img-edit-wrapper { height: 100%; }
  .hero-visual .img-edit-wrapper > img { height: 100% !important; min-height: 470px; }
}

/* styles from individual pages */

      .legal-doc { max-width: 46rem; margin: 0 auto; padding: 3rem 1rem 4.5rem; }
      .legal-doc h1 { font-size: clamp(2rem, 5vw, 2.75rem); line-height: 1.15; margin: .5rem 0 .4rem; }
      .legal-doc .legal-sub { color: #6E5A3F; font-size: .95rem; margin-bottom: 2rem; }
      .legal-doc h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; color: #181A1B; margin: 2rem 0 .6rem; }
      .legal-doc p { color: #4a4d50; font-size: .95rem; line-height: 1.75; font-weight: 300; margin: 0 0 .9rem; }
      .legal-doc a { color: #181A1B; text-decoration: underline; text-underline-offset: 2px; }
      .legal-doc ul { margin: 0 0 1rem; padding-left: 1.2rem; list-style: disc; }
      .legal-doc li { color: #4a4d50; font-size: .95rem; line-height: 1.7; font-weight: 300; margin-bottom: .4rem; }
      .legal-doc li::marker { color: #B89B72; }
      .legal-doc b { font-weight: 600; color: #181A1B; }
      .legal-doc .legal-banner { font-weight: 500; color: #181A1B; background: #F5F3EF; border-left: 3px solid #B89B72; padding: .9rem 1.1rem; border-radius: .25rem; }
      .legal-doc .legal-sub { font-size: 1rem; }
    