/* Smile Lab USA — GEO wave 3 (27.10.2026): price index and about-us team page.
   Loaded after sl-geo.css only on /pages/flipper-tooth-price-index and /pages/about-us.
   Mobile 390 first; the web layer sits in the (min-width:768px) and (min-height:560px) query. */

/* hero mini stats */
main.gx-page .gx-hstats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 16px !important; padding: 0 !important; list-style: none; }
main.gx-page .gx-hstats li { margin: 0 !important; padding: 10px 6px !important; background: #fff; border-radius: 16px; border: 1px solid rgba(20, 50, 43, .08); text-align: center; }
main.gx-page .gx-hstats li::before { content: none !important; }
main.gx-page .gx-hstats b { display: block; font-size: 24px; line-height: 1.1; font-weight: 800; color: #a97c22; letter-spacing: -.02em; }
main.gx-page .gx-hstats span { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.25; color: var(--ink); font-weight: 700; white-space: nowrap; }

/* key finding cards: gold digits, black words */
main.gx-page .gx-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px !important; padding: 0 !important; list-style: none; }
main.gx-page .gx-stats li {
  margin: 0 !important; padding: 14px 12px !important; background: #fff; border-radius: 18px; border: 1px solid rgba(20, 50, 43, .08);
  box-shadow: 0 18px 40px -32px rgba(12, 47, 37, .5);
}
main.gx-page .gx-stats li::before { content: none !important; }
main.gx-page .gx-stats b { display: block; font-size: 30px; line-height: 1.05; font-weight: 800; letter-spacing: -.03em; color: #a97c22; white-space: nowrap; }
main.gx-page .gx-stats span { display: block; margin-top: 6px; font-size: 13.5px; line-height: 1.3; font-weight: 700; color: var(--ink); text-wrap: balance; }
main.gx-page .gx-lead { margin: 0 0 10px !important; font-size: 14px; line-height: 1.4; color: var(--text); }
main.gx-page .gx-lead b { color: #a97c22; font-weight: 800; }
main.gx-page .gx-lead--c { text-align: center; color: var(--ink-2); font-size: 13px; }

/* photos */
main.gx-page .gx-pic { margin: 0 0 12px !important; }
main.gx-page .gx-pic img { display: block; width: 100%; margin: 0 !important; border-radius: 20px; object-fit: cover; background: #faf7f2; }
main.gx-page .gx-pic--prod img { aspect-ratio: 16 / 9; object-fit: contain; background: linear-gradient(160deg, #fffaf0, #f3ece0); }
main.gx-page .gx-pic--wide img { aspect-ratio: 16 / 9; }

/* bar tables */
main.gx-page .gx-tbl th:nth-child(1) { width: 52%; }
main.gx-page .gx-tbl3 th:nth-child(1) { width: 34%; }
main.gx-page .gx-tbl3 { font-size: 12.5px; }
main.gx-page .gx-tbl3 :is(th, td) { padding: 8px 6px; }
main.gx-page .gx-tbl3 small { display: block; margin-top: 2px; font-size: 11px; line-height: 1.25; font-weight: 700; color: #a97c22; }
main.gx-page .gx-tbl tbody th small, main.gx-page .gx-tbl4 td small {
  display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.25; font-weight: 600; color: var(--muted);
}
main.gx-page .gx-tbl td.gx-pr b { display: block; font-weight: 800; color: var(--ink); white-space: nowrap; }
main.gx-page .gx-bar { display: block; height: 7px; margin-top: 5px; border-radius: 9px; background: #f1ebe0; overflow: hidden; }
main.gx-page .gx-bar i { display: block; height: 100%; border-radius: 9px; background: linear-gradient(90deg, #e2bd6a, #c8962f); }
main.gx-page .gx-off th, main.gx-page .gx-off td { background: #fbf5f3 !important; }
main.gx-page .gx-off .gx-bar i { background: linear-gradient(90deg, #e58c7c, #c44d3c); }
main.gx-page .gx-tbl4 { font-size: 12.5px; }
main.gx-page .gx-tbl4 :is(th, td) { padding: 8px 6px; }

/* per-tooth bar list */
main.gx-page .gx-h3 { margin: 4px 0 8px !important; font-size: 15px; line-height: 1.25; font-weight: 800; color: var(--ink); white-space: nowrap; }
main.gx-page .gx-bars { margin: 0 0 14px !important; padding: 0 !important; list-style: none; }
main.gx-page .gx-bars li { position: relative; display: grid; grid-template-columns: 8.8em minmax(0, 1fr) 8.6em; align-items: center; column-gap: 8px; margin: 0 !important; padding: 4px 0 !important; font-size: 13px; line-height: 1.2; }
main.gx-page .gx-bars li::before { content: none !important; }
main.gx-page .gx-bars span { color: var(--ink); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
main.gx-page .gx-bars i { display: block; height: 10px; border-radius: 9px; background: linear-gradient(90deg, #e2bd6a, #c8962f); }
main.gx-page .gx-bars b { text-align: right; font-weight: 800; color: var(--ink); white-space: nowrap; }
main.gx-page .gx-bars .gx-off i { background: linear-gradient(90deg, #e58c7c, #c44d3c); }
main.gx-page .gx-bars .gx-off { background: none !important; }

/* door to door and dentist lists */
main.gx-page .gx-duo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
main.gx-page .gx-mini { margin: 0 0 10px !important; padding: 0 !important; list-style: none; background: #fff; border-radius: 16px; border: 1px solid rgba(20, 50, 43, .08); }
main.gx-page .gx-mini li { display: flex; justify-content: space-between; gap: 10px; margin: 0 !important; padding: 9px 12px !important; border-bottom: 1px solid #eee7db; font-size: 13.5px; line-height: 1.3; }
main.gx-page .gx-mini li:last-child { border-bottom: 0; }
main.gx-page .gx-mini li::before { content: none !important; }
main.gx-page .gx-mini b { color: var(--ink); }
main.gx-page .gx-mini span { color: var(--text); text-align: right; }
main.gx-page .gx-mini--dot li { font-weight: 700; color: var(--ink); }

/* methodology, sources, citation */
main.gx-page .gx-det { margin: 0 0 10px; background: #fff; border-radius: 16px; border: 1px solid rgba(20, 50, 43, .08); padding: 0 14px; }
main.gx-page .gx-det summary { padding: 14px 0; font-weight: 800; color: var(--ink); cursor: pointer; white-space: nowrap; }
main.gx-page .gx-det[open] { padding-bottom: 12px; }
main.gx-page .gx-src { margin: 0 !important; padding: 0 0 0 22px !important; font-size: 13px; line-height: 1.4; }
main.gx-page .gx-src li { margin: 0 0 6px !important; padding: 0 !important; }
main.gx-page .gx-src li::before { content: none !important; }
main.gx-page .gx-src a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; word-break: break-word; }
main.gx-page .gx-cite { margin: 4px 0 0; padding: 14px; border-radius: 16px; background: #fffaf0; border: 1px solid rgba(216, 165, 72, .35); }
main.gx-page .gx-cite b { display: block; font-size: 14px; color: var(--ink); }
main.gx-page .gx-cite p { margin: 4px 0 10px !important; font-size: 13px; line-height: 1.4; color: var(--text); word-break: break-word; }
main.gx-page .gx-csv {
  display: block; padding: 12px 14px; border-radius: 999px; background: var(--accent); color: var(--ink) !important;
  font-weight: 800; font-size: 14px; text-align: center; text-decoration: none !important; white-space: nowrap;
}

/* about: history timeline */
main.gx-page .gx-tl { margin: 0 !important; padding: 0 !important; list-style: none; position: relative; }
main.gx-page .gx-tl li { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 14px; margin: 0 0 12px !important; padding: 0 !important; }
main.gx-page .gx-tl li::before { content: none !important; }
main.gx-page .gx-tl img { width: 112px; height: 112px; object-fit: cover; margin: 0 !important; border-radius: 999px; border: 2px solid var(--accent); box-shadow: 0 0 0 4px rgba(216, 165, 72, .14); }
main.gx-page .gx-tl b { display: block; font-size: 22px; line-height: 1.1; font-weight: 800; color: #a97c22; }
main.gx-page .gx-tl span { display: block; margin-top: 3px; font-size: 14.5px; line-height: 1.35; color: var(--ink); text-wrap: balance; }

/* about: team cards */
main.gx-page .gx-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
main.gx-page .gx-team li { margin: 0 !important; padding: 0 0 12px !important; overflow: hidden; border-radius: 18px; background: #fff; border: 1px solid rgba(20, 50, 43, .08); box-shadow: 0 18px 40px -32px rgba(12, 47, 37, .5); }
main.gx-page .gx-team li::before { content: none !important; }
main.gx-page .gx-team img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 0 10px !important; border-radius: 0 !important; }
main.gx-page .gx-team b { display: block; padding: 0 10px; font-size: 14px; line-height: 1.25; font-weight: 800; color: var(--ink); white-space: nowrap; }
main.gx-page .gx-team span { display: block; padding: 2px 10px 0; font-size: 12.5px; line-height: 1.3; color: var(--muted); text-wrap: balance; }

main.gx-page .gx-na { margin: 18px auto 8px !important; max-width: 640px; padding: 0 16px; font-size: 11.5px; line-height: 1.4; color: var(--muted); text-align: center; }

@media (min-width: 768px) and (min-height: 560px) {
  main.gx-page .gx-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: 32px; align-items: center; }
  main.gx-page .gx-split--flip > .gx-pic { order: 2; }
  main.gx-page .gx-split > .gx-pic { margin: 0 !important; }
  main.gx-page .gx-pic--prod img { aspect-ratio: 1 / 1; }
  main.gx-page .gx-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  main.gx-page .gx-team { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  main.gx-page .gx-duo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  main.gx-page .gx-tl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  main.gx-page .gx-tl li { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  main.gx-page .gx-tl img { width: 140px; height: 140px; }
  main.gx-page .gx-hstats { max-width: 520px; }
}

/* about: hand-made gallery, 3 x 2 on the phone */
main.gx-page .gx-gal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 14px -8px 0 !important; padding: 0 !important; list-style: none; }
main.gx-page .gx-gal li { margin: 0 !important; padding: 0 !important; }
main.gx-page .gx-gal li::before { content: none !important; }
main.gx-page .gx-gal img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0 !important; border-radius: 14px; }
@media (min-width: 768px) and (min-height: 560px) { main.gx-page .gx-gal { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 768px) and (min-height: 560px) { main.gx-page .gx-team span { font-size: 14px; font-weight: 700; } }

/* CSS-only tabs: wrapped one-line chips, panes stay in the HTML */
main.gx-page .gx-r { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
main.gx-page .gx-tabl { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
main.gx-page .gx-tabl label {
  padding: 8px 12px; border-radius: 999px; background: #fff; border: 1px solid rgba(20, 50, 43, .14);
  font-size: 13px; line-height: 1.2; font-weight: 800; color: var(--ink); white-space: nowrap; cursor: pointer;
}
main.gx-page .gx-pane { display: none; }
main.gx-page .gx-pane > .gx-h3 { font-size: 17px; margin: 0 0 10px !important; }
main.gx-page .gx-r:nth-of-type(1):checked ~ .gx-panes > .gx-pane--0,
main.gx-page .gx-r:nth-of-type(2):checked ~ .gx-panes > .gx-pane--1,
main.gx-page .gx-r:nth-of-type(3):checked ~ .gx-panes > .gx-pane--2,
main.gx-page .gx-r:nth-of-type(4):checked ~ .gx-panes > .gx-pane--3,
main.gx-page .gx-r:nth-of-type(5):checked ~ .gx-panes > .gx-pane--4,
main.gx-page .gx-r:nth-of-type(6):checked ~ .gx-panes > .gx-pane--5,
main.gx-page .gx-r:nth-of-type(7):checked ~ .gx-panes > .gx-pane--6 { display: block; }
main.gx-page .gx-r:nth-of-type(1):checked ~ .gx-tabl label:nth-child(1),
main.gx-page .gx-r:nth-of-type(2):checked ~ .gx-tabl label:nth-child(2),
main.gx-page .gx-r:nth-of-type(3):checked ~ .gx-tabl label:nth-child(3),
main.gx-page .gx-r:nth-of-type(4):checked ~ .gx-tabl label:nth-child(4),
main.gx-page .gx-r:nth-of-type(5):checked ~ .gx-tabl label:nth-child(5),
main.gx-page .gx-r:nth-of-type(6):checked ~ .gx-tabl label:nth-child(6),
main.gx-page .gx-r:nth-of-type(7):checked ~ .gx-tabl label:nth-child(7) { background: var(--accent); border-color: var(--accent); }
main.gx-page .gx-r:focus-visible ~ .gx-tabl { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 12px; }
@media print { main.gx-page .gx-pane { display: block; } }
main.gx-page .gx-tbl3 tbody th, main.gx-page .gx-tbl4 tbody th { overflow-wrap: anywhere; hyphens: auto; }
main.gx-page .gx-tbl3 th:nth-child(1) { width: 37%; }
main.gx-page :is(.gx-stats, .gx-bars, .gx-team, .gx-gal, .gx-tl, .gx-tabl, .gx-hstats, .gx-src) { max-width: none !important; width: 100%; }
@media (min-width: 768px) and (min-height: 560px) {
  main.gx-page .gx-split .gx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  main.gx-page .gx-split > .gx-pic--wide img { aspect-ratio: 4 / 3; }
}

/* web layer: dark wide panels (dk-wide), bar list width, wide photos not full bleed */
@media (min-width: 768px) and (min-height: 560px) {
  main.gx-page .dk-wide :is(.gx-h3, .gx-bars span, .gx-bars b, .gx-lead, .gx-tl span, .gx-team b) { color: #fff !important; }
  main.gx-page .dk-wide .gx-lead b { color: #f6cf6b !important; }
  main.gx-page .gx-bars { max-width: 620px !important; }
  main.gx-page .pp-panel__in > .gx-pic--wide img, main.gx-page .gx-pane > .gx-pic--wide img { aspect-ratio: 21 / 8; }
}
@media (min-width: 768px) and (min-height: 560px) {
  main.gx-page ul.gx-bars { width: min(100%, 640px) !important; max-width: 640px !important; }
  main.gx-page .gx-pane > .gx-pic--wide, main.gx-page .pp-panel__in > .gx-pic--wide { max-width: 980px; margin-left: auto !important; margin-right: auto !important; }
}
main.gx-page .gx-split--flip > .gx-pic { margin-top: 4px !important; }
@media (min-width: 768px) and (min-height: 560px) {
  main.gx-page .gx-split--flip > .gx-pic { order: -1; }
  main.gx-page .gx-pt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "a p" "b p"; column-gap: 40px; align-items: center; }
  main.gx-page .gx-pt > div:first-child { grid-area: a; }
  main.gx-page .gx-pt > .gx-pic { grid-area: p; margin: 0 !important; }
  main.gx-page .gx-pt > div:last-child { grid-area: b; }
  main.gx-page .gx-pt .gx-pic--prod img { aspect-ratio: 1 / 1; }
  main.gx-page .gx-pt { align-items: start; row-gap: 8px; }
  main.gx-page .gx-pt .gx-bars li { grid-template-columns: 10.5em minmax(0, 1fr) 8.6em; }
}
main.gx-page .gx-cite p { font-size: 12.5px; white-space: nowrap; }
main.gx-page ul.gx-gal { width: calc(100% + 16px) !important; margin-left: -8px !important; margin-right: -8px !important; gap: 4px; }
@media (min-width: 768px) and (min-height: 560px) { main.gx-page ul.gx-gal { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; gap: 10px; } }
