
/* ICONIC SMILES V12 — canonical cross-site design system */
:root{--v12-purple:#9424CE;--v12-charcoal:#28282D;--v12-stone:#F6F4F0;--v12-ink:#242328;--v12-line:#DED9D4;--v12-muted:#746E75}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",Arial,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body p,body li{line-height:1.58}
h1,h2,h3,.quote,.case-label,.review-box strong,.practice-row b{font-family:"DM Serif Display",Georgia,serif}
/* one button system */
:where(.btn,.hero-actions .btn,.treatment-actions .btn,.cp-actions .btn,.v3x-actions .btn,.v3r-actions .btn,.pp-actions .btn,.ep-actions .btn){min-height:40px!important;padding:10px 15px!important;border-radius:2px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;font-family:"DM Sans",Arial,sans-serif!important;font-size:10px!important;line-height:1.15!important;font-weight:650!important;letter-spacing:.055em!important;box-sizing:border-box!important}
/* exact global quickbar geometry; fixes historical left-justified Smile Enquiry */
.quickbar{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;text-align:center!important}
.quickbar>a,.quickbar>button{width:100%!important;height:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:4.8px!important;padding:5px 2px!important;margin:0!important}
.quickbar>a span,.quickbar>button span{width:100%!important;text-align:center!important;white-space:normal!important}
.quickbar svg{flex:0 0 auto}
/* common image discipline */
img{max-width:100%}
:where(.treatment-hero-visual,.ep-media,.split-media,.story-media,.case-image,.clinician-card,.location-card){overflow:hidden}
:where(.treatment-hero-visual>img,.ep-media>img,.split-media>img,.story-media>img,.case-image>img,.location-card>img){width:100%;height:100%;object-fit:cover}
/* homepage five pathway cards */
.path-card img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;filter:saturate(.94) contrast(1.02)!important}
/* transformation film strip — full content preserved, no forced crop */
.transform-film-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line,#DED9D4)}
.transform-film-card{margin:0;position:relative;background:#17171B;overflow:hidden;border:1px solid rgba(36,35,40,.12);aspect-ratio:4/5;min-width:0}
.transform-film-card video{display:block;width:100%;height:100%;object-fit:contain;background:#17171B}
.transform-film-card video:focus-visible{outline:2px solid var(--v12-purple);outline-offset:2px}
/* menu and header consistency */
.header,.menu-panel,.footer,.quickbar{box-sizing:border-box}
.desktop-nav a,.menu-primary,.menu-group summary{font-family:Montserrat,"DM Sans",Arial,sans-serif}
/* policy/referral/forms: prevent narrow controls and accidental uneven spacing */
:where(form,.wpcf7-form) input,:where(form,.wpcf7-form) select,:where(form,.wpcf7-form) textarea{max-width:100%;box-sizing:border-box}
/* subtle cross-family polish without flattening page-specific layouts */
:where(.ep-section,.v3x-section,.v3r-section,.pp-section) p:last-child{margin-bottom:0}
@media(max-width:700px){
  :where(.btn,.hero-actions .btn,.treatment-actions .btn,.cp-actions .btn,.v3x-actions .btn,.v3r-actions .btn,.pp-actions .btn,.ep-actions .btn){min-height:42px!important;padding:10px 14px!important;font-size:10px!important}
  .quickbar>a,.quickbar>button{min-height:66px!important;height:66px!important;padding:5px 2px!important}
  .quickbar>a span,.quickbar>button span{font-size:8px!important;line-height:1.05!important;letter-spacing:.02em!important}
  .transform-film-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:10px!important;margin-left:-16px!important;margin-right:-16px!important;padding:20px 16px 5px!important;scrollbar-width:none!important}
  .transform-film-grid::-webkit-scrollbar{display:none!important}
  .transform-film-card{flex:0 0 76%!important;scroll-snap-align:start!important}
}
@media(min-width:701px) and (max-width:1099px){.transform-film-grid{gap:8px}}


/* V12 FINAL PRODUCTION — release hardening */
:root{--v12-focus:#6f169b;--v12-shadow:0 18px 45px rgba(25,20,28,.16)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--v12-focus)!important;outline-offset:3px!important}
.production-breadcrumbs{margin:0 0 30px;color:#77727a;font:600 9px/1.35 "DM Sans",Arial,sans-serif;letter-spacing:.045em;text-transform:uppercase}
.production-breadcrumbs ol{list-style:none!important;display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0!important;padding:0!important}
.production-breadcrumbs li{display:flex;align-items:center;gap:7px;margin:0!important;padding:0!important}
.production-breadcrumbs li:not(:last-child)::after{content:"›";opacity:.55}
.production-breadcrumbs a{color:inherit;text-decoration:none}.production-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.standalone-form-status{margin:16px 0 0!important;padding:12px 14px!important;border-left:3px solid var(--v12-purple)!important;background:#f7f2f9!important;color:#4b4550!important;font:600 11px/1.5 "DM Sans",Arial,sans-serif!important}
/* Explicit desktop action widget: visible on every standalone page without covering the content column. */
@media(min-width:1100px){
 .quickbar{display:grid!important;position:fixed!important;z-index:120!important;left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;width:min(620px,calc(100vw - 48px))!important;height:66px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;overflow:hidden!important;background:rgba(28,27,31,.96)!important;box-shadow:var(--v12-shadow)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
 .quickbar>a,.quickbar>button{color:#fff!important;border-right:1px solid rgba(255,255,255,.10)!important;text-decoration:none!important;background:transparent!important}
 .quickbar>a:last-child,.quickbar>button:last-child{border-right:0!important}
 .quickbar>a:hover,.quickbar>button:hover{background:rgba(148,36,206,.18)!important}
 body{padding-bottom:92px!important}
}
@media(max-width:700px){.production-breadcrumbs{margin-bottom:22px;font-size:8px}.standalone-form-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* V14.1 production regression locks */
.media-masthead{overflow:hidden}
.logo-economist img{filter:grayscale(1) contrast(2)!important}
@media(min-width:1100px){
  .quickbar{display:none!important}
  html{scroll-padding-bottom:0!important}
  body{padding-bottom:0!important}
  .footer,.desktop-footer{padding-bottom:42px!important}
}
