/* ---------- Enamel — Cusp dental rooms (bridge 86) ----------
   The structural move is the fee table. The pricing block's single plan is
   stripped of its card and its tick marks and rebuilt as a one-column ledger of
   treatment-and-amount rows ruled by teal hairlines — and the same flex-order
   trick drops that block's disclaimer BENEATH the ledger (and the three address
   lines beneath the contact form), which the section markup otherwise puts
   above. The ground never alternates: one warm, faintly yellowed bone white from
   the nav to the footer, broken only by the two slate bands — the appointment
   cta and the full-bleed film still. */
body.t-enamel.ws-body { --bg: #f7f3ea; --fg: #4c5254; --heading: #1c2022; --text: #4c5254; --muted: #8a908f;
  --cs-teal: #5f9d99; --cs-slate: #202c31; --cs-line: #e3ddce; }
body.t-enamel { background: var(--bg); }
/* one unbroken enamel ground — the shared zebra tint never lands */
body.t-enamel .ws-section:nth-child(even):not(.ws-cta):not(.ws-shoplink) { background: transparent; }

/* the menu has no strip of its own: it rides over the hero photograph and fixes */
body.t-enamel .ws-nav { position: fixed; top: 0; left: 0; right: 0; border-bottom: 0; color: #eef1ef;
  background: color-mix(in srgb, var(--cs-slate) 86%, transparent); backdrop-filter: saturate(1.2) blur(8px); }
body.t-enamel .ws-nav-links a { color: #d3dad8; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: 1; }
body.t-enamel .ws-nav-links a:hover, body.t-enamel .ws-nav-links a.on { color: var(--cs-teal); }
body.t-enamel .ws-hero { min-height: 100vh; --hero-a: rgba(14,22,24,.32); --hero-b: rgba(14,22,24,.58); }
body.t-enamel.ws-body .btn.brand, body.t-enamel.ws-body .ws-hero-cta.btn.brand { background: var(--cs-teal); color: #0f1618;
  border-radius: 2px; font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; padding: 15px 30px; }
body.t-enamel.ws-body .btn.brand:hover, body.t-enamel.ws-body .ws-hero-cta.btn.brand:hover { background: #4d8783; }

/* the card pair — roughly half photograph, half copy, one gap between the two */
body.t-enamel .ws-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
body.t-enamel .ws-gallery-item img { aspect-ratio: 16 / 11; border-radius: 0; }
body.t-enamel .ws-gallery-cap { padding: 22px 24px 26px; background: #efe9dc; gap: 8px; }
body.t-enamel .ws-gallery-cap strong { font-size: 19px; font-weight: 600; color: var(--heading); }
body.t-enamel .ws-gallery-cap span { font-size: 14.5px; line-height: 1.6; color: var(--text); }

/* the widest block on the page: six icons edge to edge, held apart by padding */
body.t-enamel .ws-features { padding: 0; border-top: 1px solid var(--cs-line); border-bottom: 1px solid var(--cs-line); }
body.t-enamel .ws-features .ws-container { max-width: none; padding: 0; }
body.t-enamel .ws-features-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
body.t-enamel .ws-feature { text-align: left; padding: 46px clamp(22px, 3.4vw, 54px) 50px; }
body.t-enamel .ws-feature-icon { color: var(--cs-teal); margin-bottom: 16px; }

/* pictures squared, portraits four across, the numbered run marked in teal */
body.t-enamel .ws-story-media img { border-radius: 0; aspect-ratio: 4 / 3; }
body.t-enamel .ws-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; }
body.t-enamel .ws-member-photo img { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 0; }
body.t-enamel .ws-list-number li::marker { color: var(--cs-teal); font-weight: 700; }

/* THE FEE TABLE — one plan, no card, no ticks, a teal hairline over every row */
body.t-enamel .ws-plan { border: 0; border-radius: 0; background: transparent; padding: 0; text-align: left; }
body.t-enamel .ws-plan-price, body.t-enamel .ws-plan li::before { display: none; }
body.t-enamel .ws-plan ul { display: block; margin: 14px 0 30px; }
body.t-enamel .ws-plan li { padding: 15px 2px; border-top: 1px solid var(--cs-teal); font-size: 16px; color: var(--heading); }
/* the disclaimer under the ledger and the address lines under the form — both
   arrive above their block in the markup, so they are re-ordered, not moved */
body.t-enamel .ws-pricing .ws-container, body.t-enamel .ws-contact .ws-container { display: flex; flex-direction: column; max-width: 780px; }
body.t-enamel .ws-pricing .ws-sub, body.t-enamel .ws-contact .ws-sub { order: 3; margin: 26px auto 0; white-space: pre-line; font-size: 13.5px; line-height: 1.85; }

/* the two dark moments that bracket the white middle */
body.t-enamel .ws-cta { background: var(--cs-slate); }
body.t-enamel .ws-photogrid { padding: 0; background: var(--cs-slate); position: relative; }
body.t-enamel .ws-photogrid-grid { grid-template-columns: 1fr; }
body.t-enamel .ws-photogrid-grid img { aspect-ratio: 21 / 9; opacity: .84; }
body.t-enamel .ws-photogrid::after { content: '▶'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 76px; height: 76px; border-radius: 50%; background: #f7f3ea; color: var(--cs-slate); display: grid; place-content: center;
  font-size: 21px; padding-left: 4px; pointer-events: none; }
body.t-enamel .ws-footer { background: var(--cs-slate); color: #ccd4d2; border-top: 0; padding: 38px 0; }

@media (max-width: 860px) {
  body.t-enamel .ws-features-grid, body.t-enamel .ws-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.t-enamel .ws-gallery-grid { grid-template-columns: 1fr; }
  body.t-enamel .ws-hero { min-height: 84vh; }
  body.t-enamel .ws-nav-links { background: var(--cs-slate); border-radius: 2px; }
}

/* night — the enamel ground inverts to slate and the sea-glass lifts to read on it */
html[data-theme="dark"] body.t-enamel.ws-body { --bg: #14181a; --fg: #b2b9b8; --heading: #f1eee5; --text: #b2b9b8; --muted: #7d8584;
  --cs-teal: #7fc0bb; --cs-slate: #0d1113; --cs-line: #2a3130; }
html[data-theme="dark"] body.t-enamel { background: var(--bg); }
html[data-theme="dark"] body.t-enamel .ws-gallery-cap { background: #1d2325; }
html[data-theme="dark"] body.t-enamel.ws-body .btn.brand, html[data-theme="dark"] body.t-enamel.ws-body .ws-hero-cta.btn.brand { background: var(--cs-teal); color: #0d1113; }
html[data-theme="dark"] body.t-enamel.ws-body .btn.brand:hover, html[data-theme="dark"] body.t-enamel.ws-body .ws-hero-cta.btn.brand:hover { background: #66a8a3; }
html[data-theme="dark"] body.t-enamel .ws-photogrid::after { background: #f1eee5; color: #0d1113; }
html[data-theme="dark"] body.t-enamel .ws-field input, html[data-theme="dark"] body.t-enamel .ws-field textarea,
html[data-theme="dark"] body.t-enamel .ws-field select { background: #1b2123; border-color: #2a3130; color: var(--heading); }
