body.ssbdp-page {
    --ssbdp-ink: #173247;
    --ssbdp-text: #40596a;
    --ssbdp-muted: #6f8492;
    --ssbdp-line: #dce7ed;
    --ssbdp-soft: #f4f8fa;
    --ssbdp-card: #ffffff;
    --ssbdp-blue: #087eae;
    --ssbdp-rainbow: linear-gradient(90deg,#12b8d7 0%,#3a78f2 22%,#8656d9 44%,#df5aa5 65%,#ff6b54 84%,#f2b400 100%);
    background: #fff;
}
body.ssbdp-page .ssbdp-main,
body.ssbdp-page .ssbdp-main * { box-sizing: border-box; }
body.ssbdp-page .ssbdp-main { margin:0; padding:0; background:#fff; color:var(--ssbdp-text); font-family:Raleway,Arial,sans-serif; font-size:17px; line-height:1.62; }
body.ssbdp-page .ssbdp-shell { width:min(1220px, calc(100% - 48px)); margin:0 auto; }
body.ssbdp-page .ssbdp-eyebrow { margin:0 0 12px !important; color:#11799f; font-size:12px; font-weight:800; letter-spacing:.13em; line-height:1.3; text-transform:uppercase; }
body.ssbdp-page .ssbdp-main h1,
body.ssbdp-page .ssbdp-main h2,
body.ssbdp-page .ssbdp-main h3 { font-family:Raleway,Arial,sans-serif; text-transform:none; text-align:left; color:var(--ssbdp-ink); padding:0; border:0; }
body.ssbdp-page .ssbdp-main h1 { margin:0 0 22px; font-size:clamp(46px,5.8vw,78px); line-height:.98; letter-spacing:-.055em; font-weight:700; overflow:visible; }
body.ssbdp-page .ssbdp-main h1 span,
body.ssbdp-page .ssbdp-main h2 span { display:inline-block; color:transparent; background:var(--ssbdp-rainbow); -webkit-background-clip:text; background-clip:text; }
body.ssbdp-page .ssbdp-main h2 { margin:0 0 18px; font-size:clamp(36px,4.2vw,58px); line-height:1.02; letter-spacing:-.045em; font-weight:700; }
body.ssbdp-page .ssbdp-main h3 { margin:0 0 12px; font-size:24px; line-height:1.2; font-weight:700; }
body.ssbdp-page .ssbdp-main p { margin:0 0 18px; padding:0; }
body.ssbdp-page .ssbdp-lead { max-width:720px; font-size:20px; line-height:1.55; color:#4c6677; }
body.ssbdp-page .ssbdp-small { font-size:14px; line-height:1.5; color:var(--ssbdp-muted); }
body.ssbdp-page .ssbdp-hero { padding:72px 0 64px; background:linear-gradient(180deg,#fff 0%,#f7fafb 100%); border-bottom:1px solid var(--ssbdp-line); }
body.ssbdp-page .ssbdp-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.92fr); gap:64px; align-items:center; }
body.ssbdp-page .ssbdp-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 24px; }
body.ssbdp-page .ssbdp-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 22px; border-radius:999px; font-weight:800; font-size:15px; line-height:1.2; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
body.ssbdp-page .ssbdp-button:hover { transform:translateY(-1px); }
body.ssbdp-page .ssbdp-button-primary { color:#fff !important; background:linear-gradient(90deg,#12b8b5,#506edb,#a944f4); box-shadow:0 10px 24px rgba(47,83,140,.18); }
body.ssbdp-page .ssbdp-button-secondary { color:var(--ssbdp-ink) !important; background:#fff; border:1px solid #cbdbe4; }
body.ssbdp-page .ssbdp-trust-row { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
body.ssbdp-page .ssbdp-trust-row span { display:inline-flex; padding:7px 11px; border:1px solid #dbe7ec; border-radius:999px; background:#fff; color:#577081; font-size:12px; font-weight:700; }
body.ssbdp-page .ssbdp-hero-visual { position:relative; min-width:0; }
body.ssbdp-page .ssbdp-hero-visual > img { display:block; width:100%; height:560px; object-fit:cover; border-radius:28px; box-shadow:0 24px 64px rgba(20,49,68,.18); }
body.ssbdp-page .ssbdp-price-float { position:absolute; left:28px; right:28px; bottom:28px; padding:20px; border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 14px 36px rgba(20,49,68,.18); backdrop-filter:none; }
body.ssbdp-page .ssbdp-price-float-label { display:block; margin-bottom:10px; color:#678090; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
body.ssbdp-page .ssbdp-price-float dl { margin:0; }
body.ssbdp-page .ssbdp-price-float dl div { display:flex; justify-content:space-between; gap:20px; padding:8px 0; border-top:1px solid #edf2f5; }
body.ssbdp-page .ssbdp-price-float dl div:first-child { border-top:0; }
body.ssbdp-page .ssbdp-price-float dt { color:#506979; font-size:14px; }
body.ssbdp-page .ssbdp-price-float dd { margin:0; color:var(--ssbdp-ink); font-size:17px; font-weight:800; }
body.ssbdp-page .ssbdp-anchorbar { position:relative; z-index:2; background:#fff; border-bottom:1px solid var(--ssbdp-line); }
body.ssbdp-page .ssbdp-anchorbar .ssbdp-shell { display:flex; gap:8px; overflow-x:auto; padding-top:12px; padding-bottom:12px; scrollbar-width:none; }
body.ssbdp-page .ssbdp-anchorbar a { flex:0 0 auto; padding:8px 12px; color:#50697a; font-size:13px; font-weight:700; text-decoration:none; border-radius:999px; }
body.ssbdp-page .ssbdp-anchorbar a:hover { background:#eef5f8; color:#126e91; }
body.ssbdp-page .ssbdp-section { padding:86px 0; background:#fff; }
body.ssbdp-page .ssbdp-section-soft { background:var(--ssbdp-soft); }
body.ssbdp-page .ssbdp-section-head { max-width:820px; margin-bottom:38px; }
body.ssbdp-page .ssbdp-section-head > p:last-child { max-width:730px; color:#5b7181; font-size:18px; }
body.ssbdp-page .ssbdp-table-card,
body.ssbdp-page .ssbdp-breakdown-card,
body.ssbdp-page .ssbdp-context-card,
body.ssbdp-page .ssbdp-arch-card,
body.ssbdp-page .ssbdp-support-grid article,
body.ssbdp-page .ssbdp-journey-grid article { position:relative; overflow:hidden; border:1px solid var(--ssbdp-line); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(24,52,70,.07); }
body.ssbdp-page .ssbdp-table-card::before,
body.ssbdp-page .ssbdp-breakdown-card::before,
body.ssbdp-page .ssbdp-context-card::before,
body.ssbdp-page .ssbdp-arch-card::before,
body.ssbdp-page .ssbdp-support-grid article::before,
body.ssbdp-page .ssbdp-journey-grid article::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--ssbdp-rainbow); }
body.ssbdp-page .ssbdp-price-table { width:100%; border-collapse:collapse; margin:0; }
body.ssbdp-page .ssbdp-price-table th,
body.ssbdp-page .ssbdp-price-table td { padding:18px 22px; border-bottom:1px solid #e7eef2; vertical-align:top; }
body.ssbdp-page .ssbdp-price-table thead th { background:#f4f8fa; color:var(--ssbdp-ink); text-align:left; font-size:13px; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid #dce7ed; }
body.ssbdp-page .ssbdp-price-table thead th:last-child,
body.ssbdp-page .ssbdp-price-table td:last-child { width:240px; text-align:right; }
body.ssbdp-page .ssbdp-price-table tbody th { color:#27485d; font-weight:600; text-align:left; }
body.ssbdp-page .ssbdp-price-table .ssbdp-group th { padding:12px 22px; background:#f1f6f8; color:#718896; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
body.ssbdp-page .ssbdp-current-price { display:block; color:var(--ssbdp-ink); font-size:20px; font-weight:800; }
body.ssbdp-page .ssbdp-was,
body.ssbdp-page .ssbdp-cell-note { display:block; margin-top:2px; color:#7d909d; font-size:12px; line-height:1.35; }
body.ssbdp-page .ssbdp-table-foot { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:17px 22px; }
body.ssbdp-page .ssbdp-table-foot p { margin:0; font-size:13px; color:#708590; }
body.ssbdp-page .ssbdp-table-foot a,
body.ssbdp-page .ssbdp-text-link { color:#087ca9; font-weight:800; text-decoration:none; }
body.ssbdp-page .ssbdp-two-col { display:grid; grid-template-columns:1.12fr .88fr; gap:26px; align-items:stretch; }
body.ssbdp-page .ssbdp-breakdown-card,
body.ssbdp-page .ssbdp-context-card { padding:30px; }
body.ssbdp-page .ssbdp-card-kicker { margin-bottom:18px; color:#718895; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
body.ssbdp-page .ssbdp-breakdown-row { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid #e7eef2; }
body.ssbdp-page .ssbdp-breakdown-row span { color:#526b7a; }
body.ssbdp-page .ssbdp-breakdown-row strong { color:var(--ssbdp-ink); }
body.ssbdp-page .ssbdp-muted-row { font-size:14px; }
body.ssbdp-page .ssbdp-total-row { display:flex; justify-content:space-between; align-items:end; gap:20px; padding:22px 0 8px; }
body.ssbdp-page .ssbdp-total-row span { color:#4e6778; font-weight:700; }
body.ssbdp-page .ssbdp-total-row strong { color:var(--ssbdp-ink); font-size:34px; line-height:1; }
body.ssbdp-page .ssbdp-context-card { display:flex; flex-direction:column; justify-content:center; background:#fff; color:var(--ssbdp-text); }
body.ssbdp-page .ssbdp-context-card h3 { color:var(--ssbdp-ink); font-size:31px; }
body.ssbdp-page .ssbdp-context-card .ssbdp-eyebrow { color:#11799f; }
body.ssbdp-page .ssbdp-context-card .ssbdp-text-link { color:#087ca9; }
body.ssbdp-page .ssbdp-compare-total { margin:12px 0 22px; padding:18px; border:1px solid #d9e7ed; border-radius:14px; background:#f2f7f9; }
body.ssbdp-page .ssbdp-compare-total span { display:block; color:#687f8e; font-size:13px; }
body.ssbdp-page .ssbdp-compare-total strong { display:block; margin-top:4px; color:var(--ssbdp-ink); font-size:32px; }
body.ssbdp-page .ssbdp-fullarch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
body.ssbdp-page .ssbdp-arch-card { padding:30px; min-height:255px; }
body.ssbdp-page .ssbdp-arch-card-wide { grid-column:1 / -1; min-height:0; }
body.ssbdp-page .ssbdp-big-price { display:block; margin-top:26px; color:var(--ssbdp-ink); font-size:42px; line-height:1; }
body.ssbdp-page .ssbdp-before-after { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px; padding:18px; border:1px solid var(--ssbdp-line); border-radius:22px; background:#f8fbfc; }
body.ssbdp-page .ssbdp-before-after div { position:relative; overflow:hidden; border-radius:14px; background:#eaf1f4; }
body.ssbdp-page .ssbdp-before-after img { display:block; width:100%; height:330px; object-fit:cover; }
body.ssbdp-page .ssbdp-before-after span { position:absolute; z-index:1; top:12px; left:12px; padding:5px 9px; border-radius:999px; background:rgba(20,45,61,.85); color:#fff; font-size:11px; font-weight:800; text-transform:uppercase; }
body.ssbdp-page .ssbdp-before-after > p { grid-column:1 / -1; margin:2px 4px 0; color:#718590; font-size:12px; }
body.ssbdp-page .ssbdp-section-dark { background:#f2f7f9; color:var(--ssbdp-text); border-top:1px solid var(--ssbdp-line); border-bottom:1px solid var(--ssbdp-line); }
body.ssbdp-page .ssbdp-section-head-light h2 { color:var(--ssbdp-ink); }
body.ssbdp-page .ssbdp-section-head-light > p:last-child { color:#5b7181; }
body.ssbdp-page .ssbdp-section-dark .ssbdp-eyebrow { color:#11799f; }
body.ssbdp-page .ssbdp-london-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.ssbdp-page .ssbdp-london-item { position:relative; overflow:hidden; min-height:112px; padding:22px 20px 20px; border:1px solid var(--ssbdp-line); border-radius:16px; background:#fff; box-shadow:0 9px 26px rgba(24,52,70,.06); }
body.ssbdp-page .ssbdp-london-item::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ssbdp-rainbow); }
body.ssbdp-page .ssbdp-london-item span { display:block; color:#667e8d; font-size:13px; }
body.ssbdp-page .ssbdp-london-item strong { display:block; margin-top:8px; color:var(--ssbdp-ink); font-size:25px; }
body.ssbdp-page .ssbdp-london-item small { display:block; color:#7d919e; font-size:11px; }
body.ssbdp-page .ssbdp-journey-grid,
body.ssbdp-page .ssbdp-support-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.ssbdp-page .ssbdp-journey-grid article,
body.ssbdp-page .ssbdp-support-grid article { padding:25px; }
body.ssbdp-page .ssbdp-journey-grid article > span { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; margin-bottom:20px; border-radius:50%; background:#e7f4f8; color:#12769d; font-weight:800; }
body.ssbdp-page .ssbdp-journey-grid p,
body.ssbdp-page .ssbdp-support-grid p { margin-bottom:0; color:#647b89; font-size:14px; }
body.ssbdp-page .ssbdp-support-grid { margin-top:18px; }
body.ssbdp-page .ssbdp-clinician { background:#fff; }
body.ssbdp-page .ssbdp-clinician-grid { display:grid; grid-template-columns:390px 1fr; gap:54px; align-items:center; }
body.ssbdp-page .ssbdp-clinician-grid img { display:block; width:100%; max-height:460px; object-fit:cover; object-position:center 18%; border-radius:24px; box-shadow:0 18px 48px rgba(24,52,70,.14); }
body.ssbdp-page .ssbdp-faqs { max-width:930px; }
body.ssbdp-page .ssbdp-faqs details { border-top:1px solid #d9e5ea; }
body.ssbdp-page .ssbdp-faqs details:last-child { border-bottom:1px solid #d9e5ea; }
body.ssbdp-page .ssbdp-faqs summary { list-style:none; cursor:pointer; position:relative; padding:21px 48px 21px 0; color:var(--ssbdp-ink); font-weight:800; }
body.ssbdp-page .ssbdp-faqs summary::-webkit-details-marker { display:none; }
body.ssbdp-page .ssbdp-faqs summary::after { content:"+"; position:absolute; right:8px; top:16px; font-size:28px; color:#1784ad; font-weight:400; }
body.ssbdp-page .ssbdp-faqs details[open] summary::after { content:"–"; }
body.ssbdp-page .ssbdp-faqs details div { padding:0 40px 18px 0; color:#5c7280; }
body.ssbdp-page .ssbdp-final-cta { padding:66px 0; background:#eef5f7; border-top:1px solid var(--ssbdp-line); }
body.ssbdp-page .ssbdp-final-cta-inner { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
body.ssbdp-page .ssbdp-final-cta h2 { font-size:clamp(34px,3.8vw,50px); }
body.ssbdp-page .ssbdp-final-actions { display:flex; flex-direction:column; gap:10px; min-width:300px; }
@media (max-width: 1050px) {
    body.ssbdp-page .ssbdp-hero-grid { grid-template-columns:1fr; }
    body.ssbdp-page .ssbdp-hero-visual { max-width:760px; }
    body.ssbdp-page .ssbdp-london-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.ssbdp-page .ssbdp-journey-grid,
    body.ssbdp-page .ssbdp-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    body.ssbdp-page .ssbdp-shell { width:min(100% - 30px, 1220px); }
    body.ssbdp-page .ssbdp-hero { padding:48px 0; }
    body.ssbdp-page .ssbdp-main h1 { font-size:clamp(42px,13vw,62px); }
    body.ssbdp-page .ssbdp-main h2 { font-size:clamp(34px,10.5vw,48px); }
    body.ssbdp-page .ssbdp-lead { font-size:18px; }
    body.ssbdp-page .ssbdp-hero-visual > img { height:460px; }
    body.ssbdp-page .ssbdp-price-float { position:relative; left:auto; right:auto; bottom:auto; margin:-74px 14px 0; }
    body.ssbdp-page .ssbdp-section { padding:64px 0; }
    body.ssbdp-page .ssbdp-two-col,
    body.ssbdp-page .ssbdp-fullarch-grid,
    body.ssbdp-page .ssbdp-london-grid,
    body.ssbdp-page .ssbdp-clinician-grid,
    body.ssbdp-page .ssbdp-final-cta-inner { grid-template-columns:1fr; }
    body.ssbdp-page .ssbdp-arch-card-wide { grid-column:auto; }
    body.ssbdp-page .ssbdp-clinician-grid img { max-width:430px; }
    body.ssbdp-page .ssbdp-final-actions { min-width:0; width:100%; }
    body.ssbdp-page .ssbdp-price-table th,
    body.ssbdp-page .ssbdp-price-table td { padding:15px 13px; }
    body.ssbdp-page .ssbdp-price-table thead th:last-child,
    body.ssbdp-page .ssbdp-price-table td:last-child { width:145px; }
    body.ssbdp-page .ssbdp-before-after { grid-template-columns:1fr; }
    body.ssbdp-page .ssbdp-before-after > p { grid-column:auto; }
}
@media (max-width: 540px) {
    body.ssbdp-page .ssbdp-actions { flex-direction:column; }
    body.ssbdp-page .ssbdp-button { width:100%; }
    body.ssbdp-page .ssbdp-journey-grid,
    body.ssbdp-page .ssbdp-support-grid { grid-template-columns:1fr; }
    body.ssbdp-page .ssbdp-table-foot { display:block; }
    body.ssbdp-page .ssbdp-table-foot a { display:inline-block; margin-top:8px; }
    body.ssbdp-page .ssbdp-breakdown-row { gap:12px; }
}


/* 1.0.1 visual alignment: keep comparison/pricing surfaces in the standard Smile Savers light system. */
body.ssbdp-page .ssbdp-context-card > p:not(.ssbdp-eyebrow) { color:#526b7a; }
body.ssbdp-page .ssbdp-section-dark .ssbdp-main h2,
body.ssbdp-page .ssbdp-section-dark h2 { color:var(--ssbdp-ink); }
body.ssbdp-page .ssbdp-section-dark h2 span { color:transparent; background:var(--ssbdp-rainbow); -webkit-background-clip:text; background-clip:text; }
body.ssbdp-page .ssbdp-price-table thead { border-top:0; }
body.ssbdp-page .ssbdp-price-table thead th:first-child { border-top-left-radius:0; }
body.ssbdp-page .ssbdp-price-table thead th:last-child { border-top-right-radius:0; }
@media (max-width:760px) {
    body.ssbdp-page .ssbdp-context-card { padding:26px; }
    body.ssbdp-page .ssbdp-london-item { min-height:0; }
}
