/* SmileCraft v2.3 — client revision layer. Loaded after every previous stylesheet. */
:root{
  --sc23-blue:#17354f;
  --sc23-blue-2:#4f7191;
  --sc23-gold:#c6a05f;
  --sc23-cream:#f7f0e3;
  --sc23-pale:#e9eff6;
  --sc23-white:#fffdf9;
  --sc23-ink:#17354f;
}

/* Global header revision */
.sc23-site-header .sc-header-inner{gap:clamp(14px,2vw,30px)}
.sc23-header-logo{margin:0!important;flex:0 0 auto;width:82px!important;max-width:82px!important}
.sc23-header-logo a{display:block}
.sc23-header-logo img{display:block!important;width:82px!important;height:63px!important;object-fit:cover!important;border-radius:7px!important;box-shadow:0 6px 20px rgba(23,53,79,.12)}
.sc23-site-header .main-nav{flex:1 1 auto;min-width:0}
.sc23-site-header .main-nav .wp-block-navigation__container{gap:clamp(11px,1.2vw,22px)!important;white-space:nowrap}
.sc23-site-header .main-nav .wp-block-navigation-item__content{font-size:clamp(12px,.92vw,14px);font-weight:650}
.sc23-site-header .sc-header-actions{flex:0 0 auto}
.sc23-site-header .wp-block-navigation__submenu-container{margin-top:0!important;top:calc(100% - 1px)!important;transform:none!important}
.sc23-site-header .wp-block-navigation__submenu-container:before{content:"";position:absolute;left:0;right:0;top:-12px;height:14px}

/* Full opening film */
.sc23-home-opening{position:relative;min-height:clamp(620px,84svh,880px);margin:0!important;overflow:hidden;background:#d7c6a2;isolation:isolate}
.sc23-home-video,.sc23-home-video>.wp-block-group,.sc23-home-video .sc-media-loop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;max-width:none!important}
.sc23-home-video .sc-media-loop video,.sc23-home-video .sc-media-loop-poster{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;border:0!important;border-radius:0!important}
.sc23-home-opening:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,240,227,.98) 0%,rgba(247,240,227,.9) 30%,rgba(247,240,227,.28) 58%,rgba(23,53,79,.06) 100%);z-index:1;pointer-events:none}
.sc23-home-opening-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:inherit;width:min(650px,52vw);padding:clamp(56px,7vw,105px) clamp(28px,7vw,110px);margin:0!important;max-width:none!important}
.sc23-home-opening-copy .sc17-display{font-size:clamp(58px,7.1vw,106px)!important;line-height:.88!important;letter-spacing:-.045em;max-width:7.2ch;margin:.15em 0 .28em}
.sc23-home-opening-copy .sc17-display em{color:var(--sc23-gold);font-weight:500}
.sc23-home-opening-copy .sc17-lead{max-width:540px;font-size:clamp(18px,1.5vw,23px)!important;line-height:1.55}
.sc23-home-opening-copy .sc17-btns{margin-top:20px}
.sc23-scroll-cue{margin-top:34px!important;font-size:12px!important;letter-spacing:.15em;text-transform:uppercase;color:rgba(23,53,79,.68)}
.sc23-scroll-cue:after{content:"↓";display:inline-block;margin-left:10px;animation:sc23-cue 1.8s ease-in-out infinite}
@keyframes sc23-cue{0%,100%{transform:translateY(-2px);opacity:.5}50%{transform:translateY(5px);opacity:1}}

/* Doctor image and long-form story */
.sc23-doctor .sc17-doctor-photo img,.sc23-doctor-portrait img{object-fit:cover!important;object-position:center 28%!important;width:100%!important;height:100%!important}
.sc23-doctor .sc17-doctor-photo{aspect-ratio:4/5!important;min-height:0!important}
.sc23-doctor-portrait{aspect-ratio:4/5!important;min-height:0!important}
.sc23-story-grid{display:grid!important;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);align-items:start;max-width:1120px;margin:0 auto}
.sc23-story-grid>div:last-child{font-size:clamp(16px,1.18vw,19px);line-height:1.75}
.sc23-story-grid>div:last-child p:first-child{margin-top:0}
.sc23-center-buttons{justify-content:center;margin-top:44px}

/* SmileCraft Difference */
.sc23-difference-title{font-size:clamp(48px,5.6vw,82px)!important;line-height:.96!important;letter-spacing:-.035em!important}
.sc23-difference .sc17-section-head{max-width:880px}
.sc23-difference-grid{align-items:stretch}
.sc23-difference-card{padding:0 0 28px!important;overflow:hidden;display:flex!important;flex-direction:column;min-height:100%;border:1px solid rgba(198,160,95,.18)!important}
.sc23-difference-card>.wp-block-heading,.sc23-difference-card>p{padding-left:28px;padding-right:28px}
.sc23-difference-image{margin:0 0 22px!important;width:100%;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#fbf8f1,#e8eef4)}
.sc23-difference-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.sc23-difference-card:hover .sc23-difference-image img{transform:scale(1.035)}

/* Homepage treatment cards */
.sc23-home-treatments .sc17-section-head{max-width:820px}
.sc23-pathway-card{cursor:pointer;position:relative;transition:transform .42s cubic-bezier(.2,.75,.2,1),box-shadow .42s ease,border-color .42s ease!important}
.sc23-pathway-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(23,53,79,.14)!important;border-color:rgba(198,160,95,.45)!important}
.sc23-pathway-card .sc17-pathway-media{overflow:hidden}
.sc23-pathway-card .sc17-pathway-media img{transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.sc23-pathway-card:hover .sc17-pathway-media img{transform:scale(1.045)}
.sc23-pathway-card .sc17-kicker{letter-spacing:.12em}

/* Gallery */
.sc23-case-caption{font-size:clamp(14px,1.2vw,18px)!important;letter-spacing:.06em!important;color:var(--sc23-blue)!important}
.sc23-gallery-case .sc17-case-item,.sc23-interactive-case .sc17-case-item{transition:transform .45s cubic-bezier(.2,.75,.2,1),filter .4s ease,opacity .4s ease;outline:none;position:relative;z-index:1}
.sc23-gallery-case .sc17-case-item:hover,.sc23-gallery-case .sc17-case-item:focus,.sc23-interactive-case .sc17-case-item:hover,.sc23-interactive-case .sc17-case-item:focus{transform:scale(1.025);z-index:3;box-shadow:0 22px 50px rgba(23,53,79,.18)}
.sc23-gallery-case:has(.sc17-case-item:hover) .sc17-case-item:not(:hover),.sc23-interactive-case:has(.sc17-case-item:hover) .sc17-case-item:not(:hover){filter:saturate(.72);opacity:.72}
.sc23-gallery-note{max-width:860px;margin:28px auto 0!important}

/* Warm virtual consult + referral layouts */
.sc23-warm-hero{padding-bottom:clamp(42px,6vw,76px)!important;background:linear-gradient(145deg,#f8f1e5 0%,#f8f4ec 46%,#e7eef6 100%)}
.sc23-warm-hero-grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(30px,5vw,76px);max-width:1200px;margin:0 auto 34px}
.sc23-warm-hero-copy .sc17-display{font-size:clamp(56px,6vw,90px)!important;line-height:.92!important}
.sc23-warm-hero-image{margin:0!important;aspect-ratio:16/9;overflow:hidden;border-radius:32px;box-shadow:0 25px 60px rgba(23,53,79,.14)}
.sc23-warm-hero-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.sc23-step-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1040px;margin:0 auto}
.sc23-step-card{background:rgba(255,255,255,.9);border:1px solid rgba(23,53,79,.08);border-radius:18px;padding:24px 24px 28px;box-shadow:0 12px 30px rgba(23,53,79,.07);transition:transform .35s ease,box-shadow .35s ease}
.sc23-step-card:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(23,53,79,.12)}
.sc23-step-card h3{margin:.6em 0 .35em!important;font-size:clamp(22px,2vw,28px)!important}
.sc23-step-icon{width:58px!important;height:58px!important;border-radius:50%;background:#f6ecd7;padding:11px;margin:0!important}
.sc23-step-icon img{width:100%!important;height:100%!important;object-fit:contain!important}
.sc23-referral-call{text-align:center;margin:26px auto 0!important;font-size:15px}

/* Contact / Google map */
.sc23-contact-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:30px;align-items:stretch;max-width:1180px;margin:0 auto}
.sc23-map-wrap{width:100%;height:100%;min-height:590px;border-radius:26px;overflow:hidden;box-shadow:0 25px 55px rgba(23,53,79,.14);border:1px solid rgba(23,53,79,.08)}
.sc23-map-wrap iframe{display:block;width:100%;height:100%;min-height:590px;border:0}
.sc23-contact-actions{display:grid!important;gap:18px}
.sc23-contact-card{background:#fff;border:1px solid rgba(23,53,79,.09);border-radius:20px;padding:28px;box-shadow:0 10px 28px rgba(23,53,79,.06)}
.sc23-contact-card-highlight{background:var(--sc23-blue)!important;color:#fff!important}
.sc23-contact-card-highlight h3,.sc23-contact-card-highlight p,.sc23-contact-card-highlight .sc17-kicker{color:#fff!important}

/* Treatments: focal scroll state + editable hover/tap details */
.sc23-treatment-focus{position:relative;scroll-margin-top:150px;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.2,1),filter .55s ease,box-shadow .55s ease}
body.sc23-treatment-mode .sc23-treatment-focus:not(.is-focal){opacity:.46;transform:scale(.982);filter:saturate(.78)}
body.sc23-treatment-mode .sc23-treatment-focus.is-focal{opacity:1;transform:scale(1);filter:none;z-index:2;box-shadow:0 0 0 1px rgba(198,160,95,.1),0 28px 80px rgba(23,53,79,.08)}
.sc23-treatment-split{max-width:1120px!important}
.sc23-treatment-image{aspect-ratio:16/10!important;min-height:0!important;overflow:hidden;border-radius:24px!important}
.sc23-treatment-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.sc23-topic-list{display:grid!important;gap:10px;margin-top:25px;position:relative;overflow:visible!important}
.sc23-treatment-topic{position:relative;margin:0!important;overflow:visible!important;border:1px solid rgba(23,53,79,.12);border-radius:12px;background:rgba(255,255,255,.82);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.sc23-treatment-topic summary{list-style:none;cursor:pointer;padding:14px 46px 14px 16px;font-weight:700;color:var(--sc23-blue);position:relative}
.sc23-treatment-topic summary::-webkit-details-marker{display:none}
.sc23-treatment-topic summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--sc23-gold);transition:transform .25s ease}
.sc23-treatment-topic[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.sc23-treatment-topic>p{position:absolute;left:calc(100% + 14px);top:-8px;width:min(430px,42vw);margin:0!important;padding:18px 20px;background:#fff;border:1px solid rgba(23,53,79,.12);border-radius:14px;box-shadow:0 22px 55px rgba(23,53,79,.18);z-index:30;opacity:0;visibility:hidden;transform:translateX(8px) translateY(4px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease;font-size:14px;line-height:1.55;color:#4a5c6c}
.sc23-treatment-topic:hover,.sc23-treatment-topic:focus-within{border-color:rgba(198,160,95,.65);box-shadow:0 10px 24px rgba(23,53,79,.08);transform:translateX(3px)}
.sc23-treatment-topic:hover>p,.sc23-treatment-topic:focus-within>p,.sc23-treatment-topic[open]>p{opacity:1;visibility:visible;transform:translate(0,0)}
.sc23-treatment-focus:nth-of-type(even) .sc23-treatment-topic>p{left:auto;right:calc(100% + 14px)}

/* Visual reveal hooks: JS runs the actual WAAPI animation. */
.sc23-js-animated{will-change:transform,opacity,filter}

@media (max-width:1180px){
  .sc23-site-header .sc-header-phone{display:none!important}
  .sc23-header-logo,.sc23-header-logo img{width:72px!important;max-width:72px!important;height:56px!important}
  .sc23-site-header .main-nav .wp-block-navigation__container{gap:12px!important}
  .sc23-site-header .main-nav .wp-block-navigation-item__content{font-size:12px}
}

@media (max-width:960px){
  .sc23-site-header .sc-header-inner{min-height:76px}
  .sc23-header-logo,.sc23-header-logo img{width:68px!important;height:52px!important}
  .sc23-home-opening{min-height:760px}
  .sc23-home-opening:after{background:linear-gradient(180deg,rgba(247,240,227,.92) 0%,rgba(247,240,227,.84) 46%,rgba(247,240,227,.16) 80%,rgba(23,53,79,.08) 100%)}
  .sc23-home-opening-copy{width:100%;min-height:inherit;padding:76px 7vw 90px;justify-content:flex-start}
  .sc23-home-opening-copy .sc17-display{font-size:clamp(58px,10vw,88px)!important;max-width:8ch;margin-top:30px}
  .sc23-warm-hero-grid,.sc23-contact-grid{grid-template-columns:1fr!important}
  .sc23-warm-hero-image{max-width:780px;width:100%;margin:0 auto!important}
  .sc23-map-wrap,.sc23-map-wrap iframe{min-height:450px}
  .sc23-treatment-topic>p,.sc23-treatment-focus:nth-of-type(even) .sc23-treatment-topic>p{left:0;right:auto;top:calc(100% + 8px);width:min(520px,82vw)}
}

@media (max-width:760px){
  .sc-announcement-inner .sc-announcement-right{display:none!important}
  .sc23-header-logo,.sc23-header-logo img{width:60px!important;height:46px!important}
  .sc23-home-opening{min-height:720px}
  .sc23-home-opening-copy{padding:60px 24px 72px;justify-content:flex-end}
  .sc23-home-opening-copy .sc17-display{font-size:clamp(52px,15vw,72px)!important}
  .sc23-home-opening-copy .sc17-lead{font-size:17px!important;max-width:92%}
  .sc23-home-opening-copy .sc17-btns{gap:10px!important}
  .sc23-home-opening-copy .wp-block-button{width:auto!important}
  .sc23-story-grid{grid-template-columns:1fr!important;gap:18px}
  .sc23-difference-title{font-size:clamp(42px,12vw,60px)!important}
  .sc23-difference-grid,.sc23-step-grid{grid-template-columns:1fr!important}
  .sc23-difference-card{max-width:520px;width:100%;margin:0 auto}
  .sc23-warm-hero{padding-top:50px!important}
  .sc23-warm-hero-grid{gap:24px}
  .sc23-warm-hero-copy .sc17-display{font-size:clamp(48px,13vw,68px)!important}
  .sc23-warm-hero-image{aspect-ratio:4/3;border-radius:22px}
  .sc23-step-grid{gap:12px}
  .sc23-step-card{padding:22px}
  body.sc23-treatment-mode .sc23-treatment-focus:not(.is-focal){opacity:.7;transform:none;filter:saturate(.9)}
  .sc23-treatment-topic{transform:none!important}
  .sc23-treatment-topic>p,.sc23-treatment-focus:nth-of-type(even) .sc23-treatment-topic>p{position:static;width:auto;margin:0 14px 14px!important;padding:14px 0 0;background:transparent;border:0;border-top:1px solid rgba(23,53,79,.09);border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}
  .sc23-treatment-topic[open]>p{display:block}
  .sc23-contact-grid{gap:18px}
  .sc23-map-wrap,.sc23-map-wrap iframe{min-height:360px;border-radius:18px}
  .sc23-contact-card{padding:22px}
}

@media (prefers-reduced-motion:reduce){
  .sc23-scroll-cue:after{animation:none}
  .sc23-pathway-card,.sc23-difference-image img,.sc23-gallery-case .sc17-case-item,.sc23-treatment-focus{transition:none!important}
}
.sc23-site-header .wp-block-navigation-submenu.sc23-menu-open>.wp-block-navigation__submenu-container{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;display:flex!important}

/* v2.4 overrides — lighter header logo + intro-to-hero morph */
.sc23-site-header .sc-header-inner{gap:clamp(18px,2vw,32px);min-height:88px}
.sc23-header-logo{width:96px!important;max-width:96px!important}
.sc23-header-logo img{display:block!important;width:96px!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.sc23-site-header .main-nav .wp-block-navigation-item__content{padding-top:8px;padding-bottom:8px}
.sc23-site-header .wp-block-navigation__submenu-container{padding-top:12px!important;padding-bottom:12px!important;border:1px solid rgba(23,53,79,.08)!important;border-radius:16px!important;box-shadow:0 18px 40px rgba(23,53,79,.10)!important;background:rgba(255,253,249,.98)!important;min-width:260px!important}
.sc23-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{white-space:normal;line-height:1.35;padding:10px 14px!important}
.sc23-site-header .wp-block-navigation-submenu:hover>.wp-block-navigation-item__content,.sc23-site-header .wp-block-navigation-item__content:hover{color:var(--sc23-blue)!important}

.sc24-opening-stage{position:relative;height:188svh;margin:0!important;background:radial-gradient(circle at 15% 22%,rgba(198,160,95,.12),transparent 26%),linear-gradient(180deg,#fbf7ef 0%,#f5efe5 55%,#f7f2ea 100%);overflow:clip;isolation:isolate;--sc24-progress:0}
.sc24-opening-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.18) 42%,rgba(23,53,79,.04) 100%);pointer-events:none;z-index:0}
.sc24-opening-sticky{position:sticky;top:0;min-height:100svh;display:flex;align-items:stretch;overflow:hidden}
.sc24-opening-shell{position:relative;z-index:1;width:min(1240px,calc(100vw - 48px));min-height:100svh;margin:0 auto;padding:clamp(30px,4vw,56px) 0 30px}
.sc24-opening-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,.94fr);gap:clamp(30px,5vw,88px);align-items:center;min-height:calc(100svh - clamp(60px,8vw,112px));position:relative}
.sc24-opening-copy{position:relative;z-index:2;max-width:610px;opacity:calc(.08 + (var(--sc24-progress) * .92));transform:translate3d(calc((1 - var(--sc24-progress)) * -26px),calc((1 - var(--sc24-progress)) * 28px),0);transition:opacity .18s linear,transform .18s linear;pointer-events:none}
.sc24-opening-stage.is-settled .sc24-opening-copy{pointer-events:auto}
.sc24-opening-copy .sc17-display{font-size:clamp(58px,6.8vw,108px)!important;line-height:.89!important;letter-spacing:-.05em;max-width:7.2ch;margin:.12em 0 .28em}
.sc24-opening-copy .sc17-display em{color:var(--sc23-gold);font-weight:500}
.sc24-opening-copy .sc17-lead{max-width:34ch;font-size:clamp(18px,1.42vw,23px)!important;line-height:1.58}
.sc24-opening-copy .sc17-btns{margin-top:20px}
.sc24-opening-copy .sc17-btns .wp-block-button__link{pointer-events:auto}
.sc24-opening-target{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:clamp(360px,40vw,520px)}
.sc24-opening-target-frame{width:100%;aspect-ratio:16/10.2;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.24));border:1px solid rgba(198,160,95,.36);box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
.sc24-opening-video-shell{position:absolute!important;overflow:hidden;margin:0!important;border-radius:34px;background:#e9dece;box-shadow:0 28px 70px rgba(23,53,79,.18),0 2px 0 rgba(255,255,255,.48) inset;border:1px solid rgba(198,160,95,.22);z-index:3;will-change:left,top,width,height,transform}
.sc24-opening-video-shell .sc-media-loop,.sc24-opening-video-shell .sc-media-loop video,.sc24-opening-video-shell .sc-media-loop-poster{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;border-radius:inherit!important;object-fit:cover!important;display:block!important}
.sc24-opening-video-shell .sc-media-loop{position:relative!important}
.sc24-opening-hint{position:absolute;left:50%;bottom:clamp(18px,4vh,42px);transform:translateX(-50%);margin:0!important;font-size:12px!important;letter-spacing:.16em;text-transform:uppercase;color:rgba(23,53,79,.72);opacity:calc(1 - (var(--sc24-progress) * 1.3));transition:opacity .2s linear;z-index:4;pointer-events:none}
.sc24-opening-hint:after{content:"↓";display:inline-block;margin-left:10px;animation:sc23-cue 1.8s ease-in-out infinite}

/* subtle live motion so the page feels less static */
.sc24-opening-stage .sc24-opening-video-shell{animation:sc24-float 7s ease-in-out infinite}
.sc24-opening-stage.is-settled .sc24-opening-video-shell{animation:none}
@keyframes sc24-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Improve generic image wrappers that still showed empty space in some layouts. */
.sc23-difference-image,
.sc23-warm-hero-image,
.sc23-map-wrap,
.sc23-opening-target-frame,
.sc24-opening-video-shell,
.sc17-pathway-media,
.sc17-photo,
.sc17-case-photo{line-height:0!important}
.sc23-difference-image img,
.sc23-warm-hero-image img,
.sc17-pathway-media img,
.sc17-photo img,
.sc17-case-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}

@media (max-width:1180px){
  .sc23-header-logo{width:88px!important;max-width:88px!important}
  .sc23-header-logo img{width:88px!important}
}

@media (max-width:960px){
  .sc24-opening-stage{height:168svh}
  .sc24-opening-shell{width:min(100vw - 28px,1120px);padding:24px 0}
  .sc24-opening-grid{grid-template-columns:1fr!important;gap:22px;align-content:end;min-height:calc(100svh - 48px);padding-bottom:34px}
  .sc24-opening-copy{max-width:100%;order:2}
  .sc24-opening-copy .sc17-display{font-size:clamp(52px,11vw,82px)!important;max-width:8ch}
  .sc24-opening-copy .sc17-lead{max-width:32ch}
  .sc24-opening-target{order:1;min-height:clamp(260px,48vw,420px)}
  .sc24-opening-target-frame,.sc24-opening-video-shell{border-radius:28px}
}

@media (max-width:760px){
  .sc23-site-header .sc-header-inner{min-height:76px}
  .sc23-header-logo{width:74px!important;max-width:74px!important}
  .sc23-header-logo img{width:74px!important}
  .sc24-opening-stage{height:156svh}
  .sc24-opening-shell{width:calc(100vw - 20px);padding:14px 0 20px}
  .sc24-opening-grid{min-height:calc(100svh - 24px);padding-bottom:20px}
  .sc24-opening-copy .sc17-display{font-size:clamp(46px,15vw,68px)!important}
  .sc24-opening-copy .sc17-lead{font-size:17px!important;max-width:95%}
  .sc24-opening-copy .sc17-btns{gap:10px!important}
  .sc24-opening-target{min-height:250px}
  .sc24-opening-target-frame,.sc24-opening-video-shell{border-radius:22px}
}

@media (prefers-reduced-motion:reduce){
  .sc24-opening-stage .sc24-opening-video-shell,.sc24-opening-hint:after{animation:none!important}
}

/* v2.4.1 corrected package — force the intended intro state and supplied logo assets. */
.sc24-opening-copy{opacity:var(--sc24-progress)!important}
.sc24-opening-target-frame{opacity:var(--sc24-progress)!important;transition:opacity .18s linear}
.sc24-footer-logo{width:min(220px,100%)!important;max-width:220px!important;margin:0 0 20px!important;line-height:0}
.sc24-footer-logo a{display:block}
.sc24-footer-logo img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important}
@media(max-width:760px){.sc24-footer-logo{max-width:190px!important}}

/* ========================================================================
   SmileCraft v2.4.2 — corrected live-site overrides
   ======================================================================== */

/* Exact supplied header logo: larger and readable, without a card treatment. */
.sc23-site-header .sc-header-inner{min-height:96px!important;gap:clamp(16px,1.7vw,28px)!important}
.sc23-header-logo{width:118px!important;max-width:118px!important;flex:0 0 118px!important;margin:0!important}
.sc23-header-logo a{display:block!important;width:100%!important}
.sc23-header-logo img{
  display:block!important;
  width:118px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* About page: the client supplied sentence should read editorially, not like an oversized billboard. */
.sc242-about-hero{
  display:block!important;
  padding-top:clamp(74px,8vw,112px)!important;
  padding-bottom:clamp(62px,6.5vw,92px)!important;
}
.sc242-about-hero>.sc17-kicker{margin:0 0 18px!important;max-width:1180px!important}
.sc242-about-hero>.sc17-display{
  width:min(100%,1080px)!important;
  max-width:1080px!important;
  font-size:clamp(48px,5.15vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-.038em!important;
  text-wrap:balance;
}
.sc242-about-intro .sc17-split{
  grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr)!important;
  gap:clamp(44px,6vw,92px)!important;
  align-items:center!important;
}
.sc242-about-intro .sc17-split>figure.sc242-about-portrait{
  width:100%!important;
  max-width:520px!important;
  aspect-ratio:4/4.8!important;
  min-height:0!important;
  height:auto!important;
  justify-self:center!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
.sc242-about-intro .sc17-split>figure.sc242-about-portrait>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 24%!important;
}

/* Footer: logo replaces the redundant brand heading. */
.site-footer .sc24-footer-logo{margin:0 0 18px!important;max-width:150px!important;width:150px!important}
.site-footer .sc24-footer-logo img{width:100%!important;height:auto!important;object-fit:contain!important}
.site-footer .sc-footer-grid>div:first-child>p:first-of-type{margin-top:0!important}

/* Contact map: runtime iframe mount, plus a graceful visible fallback while loading. */
.sc242-map-wrap{position:relative!important;background:linear-gradient(145deg,#f3ecdf,#e7eef5)!important}
.sc242-map-embed{position:absolute;inset:0;width:100%;height:100%;min-height:inherit;background:#e8edf0}
.sc242-map-embed iframe{display:block;width:100%;height:100%;min-height:inherit;border:0!important}
.sc242-map-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:32px;color:var(--sc23-blue);background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.95),rgba(231,238,245,.94));z-index:0}
.sc242-map-loading strong{font-family:"Newsreader",serif;font-size:clamp(24px,2.2vw,36px);font-weight:600}
.sc242-map-loading span{font-size:14px;color:#66798a}
.sc242-map-loading a{margin-top:10px;display:inline-flex;padding:11px 17px;border-radius:999px;background:var(--sc23-blue);color:#fff!important;text-decoration:none;font-weight:700;font-size:12px}
.sc242-map-embed.is-loaded .sc242-map-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}

/* Homepage opening: video is the only dominant first view, then morphs into the right hero column. */
.sc24-opening-stage{height:190svh!important;--sc24-progress:0;overflow:clip!important}
.sc24-opening-sticky{position:sticky!important;top:0!important;min-height:100svh!important;height:100svh!important;overflow:hidden!important}
.sc24-opening-shell{position:relative!important;min-height:100svh!important;height:100svh!important;width:min(1240px,calc(100vw - 48px))!important;margin:0 auto!important;padding:clamp(28px,4vw,52px) 0!important}
.sc24-opening-grid{min-height:calc(100svh - clamp(56px,8vw,104px))!important;grid-template-columns:minmax(0,1fr) minmax(390px,.94fr)!important;gap:clamp(36px,5vw,82px)!important;align-items:center!important}
.sc24-opening-copy{
  opacity:var(--sc24-progress)!important;
  transform:translate3d(calc((1 - var(--sc24-progress)) * -34px),calc((1 - var(--sc24-progress)) * 24px),0)!important;
  visibility:hidden;
}
.sc24-opening-stage.is-copy-visible .sc24-opening-copy{visibility:visible}
.sc24-opening-target-frame{
  opacity:var(--sc24-progress);
  border-color:rgba(198,160,95,calc(var(--sc24-progress) * .36))!important;
}
.sc24-opening-video-shell{
  position:absolute!important;
  z-index:5!important;
  margin:0!important;
  overflow:hidden!important;
  background:#172f47!important;
  border:1px solid rgba(198,160,95,.3)!important;
  box-shadow:0 34px 85px rgba(23,53,79,.2)!important;
}
.sc24-opening-video-shell .sc-media-loop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;background:#172f47!important}
.sc24-opening-video-shell .sc-media-loop video{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;display:block!important;visibility:visible!important;opacity:1!important;
}
/* Critical: old v2.3 CSS forced the poster on top of the video. */
.sc24-opening-video-shell .sc-media-loop .sc-media-loop-poster{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.sc24-opening-hint{z-index:8!important}

@media (max-width:1180px){
  .sc23-header-logo{width:104px!important;max-width:104px!important;flex-basis:104px!important}
  .sc23-header-logo img{width:104px!important}
}
@media (max-width:960px){
  .sc23-site-header .sc-header-inner{min-height:82px!important}
  .sc23-header-logo{width:90px!important;max-width:90px!important;flex-basis:90px!important}
  .sc23-header-logo img{width:90px!important}
  .sc242-about-intro .sc17-split{grid-template-columns:1fr!important;gap:32px!important}
  .sc242-about-intro .sc17-split>figure.sc242-about-portrait{width:min(100%,620px)!important;max-width:620px!important;aspect-ratio:4/4.7!important;justify-self:start!important}
  .sc24-opening-shell{width:min(100vw - 28px,1120px)!important;padding:20px 0!important}
  .sc24-opening-grid{grid-template-columns:1fr!important;align-content:end!important;gap:18px!important;min-height:calc(100svh - 40px)!important;padding-bottom:24px!important}
  .sc24-opening-target{order:1!important;min-height:clamp(260px,45vw,390px)!important}
  .sc24-opening-copy{order:2!important}
}
@media (max-width:760px){
  .sc23-header-logo{width:78px!important;max-width:78px!important;flex-basis:78px!important}
  .sc23-header-logo img{width:78px!important}
  .sc242-about-hero>.sc17-display{font-size:clamp(42px,11.8vw,58px)!important;line-height:1!important}
  .sc242-about-intro .sc17-split>figure.sc242-about-portrait{aspect-ratio:4/4.65!important;border-radius:22px!important}
  .sc24-opening-stage{height:166svh!important}
  .sc24-opening-shell{width:calc(100vw - 20px)!important;padding:12px 0 18px!important}
  .sc24-opening-grid{min-height:calc(100svh - 24px)!important;padding-bottom:14px!important}
}

@media (prefers-reduced-motion:reduce){
  body:not(.logged-in) .sc24-opening-video-shell .sc-media-loop video{display:none!important}
  body:not(.logged-in) .sc24-opening-video-shell .sc-media-loop .sc-media-loop-poster{display:block!important;visibility:visible!important;opacity:1!important}
}

/* No-flash initial placement before the scroll controller runs. */
.sc24-opening-video-shell{
  left:50%;
  top:50%;
  width:min(94vw,1480px);
  height:auto;
  aspect-ratio:16/9;
  transform:translate(-50%,-50%);
  animation:none!important;
}

/* ========================================================================
   SmileCraft v2.4.3 — premium intro morph without a fake long scroll scene
   The hero stays in its normal document position. The first downward gesture
   only transforms the welcome film into the hero's right media column.
   ======================================================================== */
.sc24-opening-stage{
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  --sc24-progress:0;
}
.sc24-opening-sticky{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.sc24-opening-shell{
  position:relative!important;
  width:min(1240px,calc(100vw - 48px))!important;
  height:auto!important;
  min-height:clamp(680px,calc(100svh - 128px),900px)!important;
  padding:clamp(34px,4.5vw,64px) 0!important;
  margin:0 auto!important;
  overflow:visible!important;
}
.sc24-opening-grid{
  min-height:clamp(610px,calc(100svh - 200px),790px)!important;
  height:auto!important;
  align-items:center!important;
}
.sc24-opening-stage.is-intro .sc24-opening-copy{
  opacity:0!important;
  visibility:hidden!important;
  transform:translate3d(-34px,22px,0)!important;
  pointer-events:none!important;
}
.sc24-opening-stage.is-transitioning .sc24-opening-copy{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0)!important;
  transition:opacity .72s .22s cubic-bezier(.16,1,.3,1),transform .72s .22s cubic-bezier(.16,1,.3,1)!important;
  pointer-events:none!important;
}
.sc24-opening-stage.is-settled .sc24-opening-copy{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}
.sc24-opening-stage.is-intro .sc24-opening-target-frame{
  opacity:0!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.sc24-opening-stage.is-transitioning .sc24-opening-target-frame,
.sc24-opening-stage.is-settled .sc24-opening-target-frame{
  opacity:1!important;
  transition:opacity .5s .25s ease!important;
}
.sc24-opening-stage.is-intro .sc24-opening-hint{opacity:1!important}
.sc24-opening-stage.is-transitioning .sc24-opening-hint,
.sc24-opening-stage.is-settled .sc24-opening-hint{opacity:0!important;transition:opacity .22s ease!important}
.sc24-opening-video-shell{
  animation:none!important;
  will-change:left,top,width,height,border-radius,box-shadow!important;
}
.sc24-opening-stage.is-settled .sc24-opening-video-shell{
  box-shadow:0 24px 60px rgba(23,53,79,.15)!important;
}

@media(max-width:960px){
  .sc24-opening-stage{height:auto!important}
  .sc24-opening-shell{
    min-height:clamp(720px,calc(100svh - 104px),940px)!important;
    padding:24px 0 34px!important;
  }
  .sc24-opening-grid{
    min-height:0!important;
    padding-bottom:0!important;
    align-content:center!important;
  }
}
@media(max-width:760px){
  .sc24-opening-stage{height:auto!important}
  .sc24-opening-shell{
    width:calc(100vw - 24px)!important;
    min-height:720px!important;
    padding:18px 0 28px!important;
  }
  .sc24-opening-grid{
    min-height:680px!important;
    gap:20px!important;
  }
  .sc24-opening-target{min-height:245px!important}
}

/* ========================================================================
   SmileCraft v2.5 — client review 3
   Full-screen voiceover welcome film, family photo, clean hover treatments,
   expanded gallery cases and clearer legal placement.
   ======================================================================== */
html.sc25-video-locked,
html.sc25-video-locked body{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
body.sc25-video-gate-active .sc-announcement,
body.sc25-video-gate-active .site-header{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-110%)!important;
}
.sc-announcement,.site-header{
  transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1),visibility .45s ease;
}
.sc24-opening-stage.is-video-gate .sc24-opening-copy,
.sc24-opening-stage.is-video-complete .sc24-opening-copy{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.sc24-opening-stage.is-video-gate .sc24-opening-target-frame,
.sc24-opening-stage.is-video-complete .sc24-opening-target-frame{
  opacity:0!important;
}
.sc24-opening-video-shell{
  background:#102b43!important;
}
.sc24-opening-stage.is-video-gate .sc24-opening-video-shell .sc-media-loop video,
.sc24-opening-stage.is-video-complete .sc24-opening-video-shell .sc-media-loop video{
  object-fit:contain!important;
  object-position:center center!important;
  background:#102b43!important;
}
.sc24-opening-stage.is-settled .sc24-opening-video-shell .sc-media-loop video,
.sc24-opening-stage.is-transitioning .sc24-opening-video-shell .sc-media-loop video{
  object-fit:cover!important;
  object-position:center center!important;
}
.sc25-video-ui{
  position:absolute;
  inset:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(10,28,44,.02),rgba(10,28,44,.16));
}
.sc25-video-start,
.sc25-video-finished{
  pointer-events:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
}
.sc25-video-start{
  flex-direction:column;
  padding:20px;
}
.sc25-video-start>span,
.sc25-video-finished>span{
  color:rgba(255,255,255,.82);
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.sc25-video-play,
.sc25-video-replay,
.sc25-video-enter{
  appearance:none;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  padding:14px 22px;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.sc25-video-play,
.sc25-video-enter{
  color:#17354f;
  background:#fffdf9;
  box-shadow:0 14px 36px rgba(0,0,0,.24);
}
.sc25-video-replay{
  color:#fff;
  background:rgba(23,53,79,.7);
  backdrop-filter:blur(12px);
}
.sc25-video-play:hover,
.sc25-video-replay:hover,
.sc25-video-enter:hover{
  transform:translateY(-2px);
}
.sc25-video-finished{
  position:absolute;
  left:50%;
  bottom:clamp(26px,5vh,54px);
  transform:translateX(-50%);
  width:min(92vw,720px);
  padding:14px;
  border-radius:22px;
  background:rgba(9,29,46,.62);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}
.sc25-video-finished[hidden],
.sc25-video-start[hidden]{display:none!important}
.sc24-opening-stage.is-video-playing .sc25-video-ui{
  background:transparent;
}

/* Family photo at the bottom of Meet Dr. Ohanesian. */
.sc25-family-section{
  padding-top:clamp(26px,4vw,54px)!important;
  padding-bottom:clamp(72px,8vw,120px)!important;
  background:linear-gradient(180deg,#f7f0e3 0%,#f4ecdf 100%);
}
.sc25-family-photo{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(23,53,79,.14);
  line-height:0;
}
.sc25-family-photo img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
}

/* Client wants treatment explanations to disappear as soon as the pointer leaves. */
@media (hover:hover) and (pointer:fine){
  .sc23-treatment-topic>p,
  .sc23-treatment-topic[open]>p{
    opacity:0!important;
    visibility:hidden!important;
    transform:translateX(8px) translateY(4px)!important;
    pointer-events:none!important;
  }
  .sc23-treatment-topic.is-hovered>p,
  .sc23-treatment-topic:focus-within[open]>p{
    opacity:1!important;
    visibility:visible!important;
    transform:translate(0,0)!important;
    pointer-events:auto!important;
  }
}

/* Gallery: three case presentations, with clear editable placeholders where
   additional approved photography has not yet been supplied. */
.sc25-gallery-cases{display:grid!important;gap:clamp(34px,5vw,68px)}
.sc25-gallery-case{margin:0 auto!important;width:min(980px,100%)}
.sc25-case-note{
  margin:18px 0 0!important;
  text-align:center;
  color:#536779;
  font-size:clamp(15px,1.25vw,18px)!important;
  line-height:1.55;
}
.sc25-case-placeholder{
  min-height:clamp(250px,30vw,360px);
  display:flex!important;
  align-items:center;
  justify-content:center;
  position:relative;
  border-radius:20px;
  border:1px dashed rgba(23,53,79,.24);
  background:linear-gradient(135deg,#f7f0e3,#e7eef5);
  color:#6c7f8e;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sc25-case-placeholder .sc17-case-label{position:absolute!important;top:14px!important;left:14px!important}

/* Make the legal-page location explicit in the global footer. */
.sc-footer-legal{
  display:flex!important;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px!important;
}
.sc-footer-legal strong{
  color:#fff!important;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media(max-width:760px){
  .sc25-video-finished{
    flex-direction:column;
    bottom:18px;
    width:calc(100vw - 28px);
  }
  .sc25-video-play,.sc25-video-replay,.sc25-video-enter{width:100%;max-width:340px}
  .sc25-family-photo{border-radius:20px}
  .sc25-case-placeholder{min-height:210px}
  .sc-footer-legal{gap:8px 12px!important}
}
@media (prefers-reduced-motion:reduce){
  /* The welcome film is meaningful client-provided content with explicit controls,
     so reduced-motion visitors still get the video; only the morph is simplified. */
  .sc24-opening-stage.is-video-gate .sc24-opening-video-shell .sc-media-loop video,
  .sc24-opening-stage.is-video-complete .sc24-opening-video-shell .sc-media-loop video{
    display:block!important;visibility:visible!important;opacity:1!important;
  }
  .sc24-opening-stage.is-video-gate .sc24-opening-video-shell .sc-media-loop .sc-media-loop-poster,
  .sc24-opening-stage.is-video-complete .sc24-opening-video-shell .sc-media-loop .sc-media-loop-poster{
    display:none!important;visibility:hidden!important;opacity:0!important;
  }
}

/* ========================================================================
   SmileCraft v2.5.1 — welcome-film state fix + editable gallery image slots
   ======================================================================== */
.sc24-opening-target-frame{
  position:relative!important;
  overflow:hidden!important;
}
.sc24-opening-target-frame>.sc24-opening-video-shell{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
  z-index:2!important;
}
/* Full-screen means full-screen: fill the viewport instead of creating side bars. */
.sc24-opening-stage.is-video-gate .sc24-opening-video-shell .sc-media-loop video,
.sc24-opening-stage.is-video-complete .sc24-opening-video-shell .sc-media-loop video{
  object-fit:cover!important;
  object-position:center center!important;
  background:#102b43!important;
}
/* The old scroll hint was visible while scrolling was intentionally locked,
   which made the welcome state look broken. The finished overlay already gives
   the correct "scroll to continue" instruction after the film completes. */
.sc24-opening-hint{display:none!important}

/* Once the film has docked, there must never be an empty media target behind it. */
.sc24-opening-stage.is-settled .sc24-opening-target-frame,
.sc24-opening-stage.is-transitioning .sc24-opening-target-frame{
  opacity:1!important;
}
.sc24-opening-stage.is-settled .sc24-opening-video-shell{
  box-shadow:none!important;
  border:0!important;
}

/* Normal Gutenberg Image blocks are used for future gallery cases. These keep
   the intended before/after crop while remaining fully replaceable from the
   standard Image block toolbar / Media Library controls. */
.sc25-editable-case-item{position:relative;overflow:hidden!important}
.sc25-case-image-slot{
  width:100%!important;
  aspect-ratio:1.167/1!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f8f2e8,#e7eef5)!important;
}
.sc25-case-image-slot>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.editor-styles-wrapper .sc25-case-image-slot{
  outline:2px dashed rgba(198,160,95,.45);
  outline-offset:-8px;
  cursor:pointer;
}
.editor-styles-wrapper .sc25-case-image-slot:hover{
  outline-color:#c6a05f;
}

/* ========================================================================
   SmileCraft v2.6 — client final review v4
   ======================================================================== */

/* The intro must start automatically and always show the complete 16:9 film.
   Letterboxing is preferable to cropping meaningful video content on phones. */
.sc24-opening-stage.is-video-gate .sc24-opening-video-shell .sc-media-loop video,
.sc24-opening-stage.is-video-complete .sc24-opening-video-shell .sc-media-loop video,
.sc24-opening-stage.is-video-playing .sc24-opening-video-shell .sc-media-loop video{
  object-fit:contain!important;
  object-position:center center!important;
  background:#102b43!important;
}
.sc24-opening-target-frame{aspect-ratio:16/9!important;background:#102b43!important}
.sc24-opening-stage.is-settled .sc24-opening-video-shell .sc-media-loop video,
.sc24-opening-stage.is-transitioning .sc24-opening-video-shell .sc-media-loop video{
  object-fit:contain!important;
  object-position:center center!important;
  background:#102b43!important;
}

/* Running-video controls sit at the bottom instead of blocking the film. */
.sc26-video-ui{background:linear-gradient(180deg,transparent 64%,rgba(6,23,37,.42) 100%)!important}
.sc26-video-running{
  position:absolute;
  left:50%;
  bottom:max(22px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  width:min(92vw,720px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  pointer-events:auto;
}
.sc26-video-running[hidden]{display:none!important}
.sc26-video-sound,.sc26-video-skip{
  appearance:none;
  border-radius:999px;
  padding:12px 19px;
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
  backdrop-filter:blur(14px);
}
.sc26-video-sound{
  color:#17354f;
  background:rgba(255,253,249,.96);
  border:1px solid rgba(255,255,255,.7);
}
.sc26-video-skip{
  color:#fff;
  background:rgba(10,31,49,.58);
  border:1px solid rgba(255,255,255,.42);
}
.sc26-video-sound:hover,.sc26-video-skip:hover{transform:translateY(-2px)}
.sc26-video-sound[hidden]{display:none!important}

/* Treatments: true hover card. Setting <details open> in JS allows the browser
   to render its content; this rule then presents the explanation as the popup. */
@media (hover:hover) and (pointer:fine){
  .sc23-treatment-topic.is-hovered[open]>p,
  .sc23-treatment-topic:focus-within[open]>p{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(0,0,0)!important;
    pointer-events:auto!important;
  }
  .sc23-treatment-topic:not(.is-hovered):not(:focus-within)>p{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Test-ready secure portal areas. External provider URLs render in isolated
   iframes; without a provider, a non-submitting demo allows UX testing. */
.sc26-secure-portal{width:min(960px,100%);margin:0 auto!important}
.sc26-provider-bar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;border-radius:16px 16px 0 0;background:#17354f;color:#fff;
  font-family:"Plus Jakarta Sans",sans-serif;
}
.sc26-provider-bar strong{font-size:14px}
.sc26-provider-bar span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#d7bd8f}
.sc26-secure-form-frame{display:block;width:100%;border:1px solid rgba(23,53,79,.12);border-top:0;background:#fff;border-radius:0 0 18px 18px}
.sc26-demo-warning{display:grid;gap:3px;padding:14px 18px;background:#fff7df;border:1px solid rgba(198,160,95,.34);border-top:0;color:#5e5138;font-size:13px;line-height:1.45}
.sc26-demo-warning strong{color:#17354f;text-transform:uppercase;letter-spacing:.07em;font-size:11px}
.sc26-demo-portal{padding:clamp(20px,3vw,34px);background:#fff;border:1px solid rgba(23,53,79,.12);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 20px 52px rgba(23,53,79,.08)}
.sc26-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sc26-demo-grid label{display:grid;gap:8px;color:#17354f;font-size:13px;font-weight:700;font-family:"Plus Jakarta Sans",sans-serif}
.sc26-demo-grid input,.sc26-demo-grid textarea{width:100%;box-sizing:border-box;border:1px solid rgba(23,53,79,.18);border-radius:12px;padding:13px 14px;background:#fbfcfd;color:#17354f;font:500 14px/1.4 "Plus Jakarta Sans",sans-serif}
.sc26-demo-wide{grid-column:1/-1}
.sc26-demo-upload{display:flex;min-height:90px;align-items:center;justify-content:center;text-align:center;padding:16px;border:1px dashed rgba(23,53,79,.25);border-radius:12px;background:#f3f6f8;color:#6d7f8c;font-weight:600}
.sc26-demo-submit{margin-top:20px;border:0;border-radius:999px;padding:13px 20px;background:#d7dfe5;color:#667785;font-weight:800;cursor:not-allowed}
.sc26-portal-privacy{margin:14px 0 0!important;text-align:center;font-size:12px!important;line-height:1.55;color:#6b7a87}
.sc26-portal-privacy a{color:#17354f;font-weight:800}

/* Legal pages: readable editorial measure on desktop and phones. */
.sc26-legal .section-container{max-width:980px!important}
.sc26-legal .sc-inline-102{max-width:15ch;font-size:clamp(44px,6vw,78px)!important;line-height:.98!important}
.sc26-legal .sc-inline-105{display:grid!important;gap:clamp(26px,4vw,46px)!important}
.sc26-legal .sc-inline-105>.wp-block-group{padding:0 0 clamp(22px,3vw,34px);border-bottom:1px solid rgba(23,53,79,.1)}
.sc26-legal .sc-inline-104{font-size:clamp(22px,2.2vw,30px)!important;line-height:1.12!important}
.sc26-legal p,.sc26-legal li{font-size:16px!important;line-height:1.75!important;color:#435765}
.sc26-legal a{font-weight:700;color:#315e82;text-decoration-thickness:1px;text-underline-offset:3px}

@media(max-width:760px){
  .sc26-video-running{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100vw - 24px);gap:8px}
  .sc26-video-sound,.sc26-video-skip{flex:1;padding:12px 10px;font-size:12px}
  .sc25-video-finished{bottom:max(14px,env(safe-area-inset-bottom))!important}
  .sc24-opening-target-frame{aspect-ratio:16/9!important;min-height:0!important}
  .sc26-demo-grid{grid-template-columns:1fr}
  .sc26-demo-wide{grid-column:auto}
  .sc26-provider-bar{align-items:flex-start;flex-direction:column;gap:4px}
  .sc26-legal .sc-inline-102{font-size:clamp(38px,12vw,56px)!important}
  .sc26-legal p,.sc26-legal li{font-size:15px!important;line-height:1.68!important}
}
@media (prefers-reduced-motion:reduce){
  body:not(.logged-in) .sc24-opening-video-shell .sc-media-loop video{
    display:block!important;visibility:visible!important;opacity:1!important;
  }
  body:not(.logged-in) .sc24-opening-video-shell .sc-media-loop .sc-media-loop-poster{
    display:none!important;visibility:hidden!important;opacity:0!important;
  }
}
.sc26-portal-note{max-width:900px;margin:22px auto 0!important;text-align:center;font-size:13px!important;line-height:1.6;color:#647583}
.sc26-portal-note a{font-weight:800;color:#17354f}
.sc26-site-host{margin:8px 0 32px!important;font-size:14px!important;color:#5d6f7d}
/* v2.6 responsive safety pass */
html,body{max-width:100%;overflow-x:hidden}
.wp-site-blocks{overflow-x:clip}
.wp-block-image img,video,iframe{max-width:100%}
.sc17-section,.section-container{box-sizing:border-box}
.sc17-btns{flex-wrap:wrap!important}
@media(max-width:980px){
  .sc23-warm-hero-grid,.sc23-treatment-split,.sc17-split{grid-template-columns:1fr!important}
  .sc23-warm-hero-copy{max-width:760px}
  .sc23-warm-hero-image{width:min(100%,760px)!important;margin-inline:auto!important}
  .sc23-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .sc17-section{padding-left:18px!important;padding-right:18px!important}
  .sc23-warm-hero-grid,.sc23-treatment-split,.sc17-split{gap:24px!important}
  .sc23-step-grid{grid-template-columns:1fr!important;gap:14px!important}
  .sc23-step-card{min-width:0!important}
  .sc23-warm-hero-image{aspect-ratio:16/10!important;min-height:0!important}
  .sc23-warm-hero-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .sc17-btns .wp-block-button,.sc17-btns .wp-block-button__link{max-width:100%}
  .sc26-secure-form-frame{min-height:900px!important}
}
@media(max-width:480px){
  .sc17-section{padding-left:14px!important;padding-right:14px!important}
  .sc24-opening-video-shell{max-width:100vw!important}
  .sc26-secure-form-frame{min-height:820px!important}
}


/* v2.7 client review — adult hover visibility, case gallery pages, safe form testing */
#adult .sc23-treatment-split{align-items:start!important}
@media (min-width:961px){
  #adult .sc23-topic-list{position:relative;z-index:4}
  #adult .sc23-treatment-topic>p,
  #adult .sc23-treatment-focus:nth-of-type(even) .sc23-treatment-topic>p{
    left:0!important;right:auto!important;top:calc(100% + 8px)!important;width:100%!important;max-width:560px!important;z-index:80!important;
  }
  #adult .sc23-treatment-image{position:relative;z-index:1}
}
.sc26-demo-submit{background:#17354f!important;color:#fff!important;cursor:pointer!important;transition:transform .2s ease,box-shadow .2s ease!important}
.sc26-demo-submit:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(23,53,79,.18)}
.sc27-test-confirm{display:flex!important;align-items:flex-start!important;gap:10px!important;margin-top:18px!important;font-size:12px!important;font-weight:600!important;color:#5d6f7d!important}
.sc27-test-confirm input{width:auto!important;margin-top:2px}
.sc27-test-result{margin-top:16px;padding:14px 16px;border-radius:12px;background:#e9f7ef;color:#1e6745;font-weight:700;font-size:13px}
.sc27-demo-file{padding:10px!important;background:#fff!important}
.sc27-gallery-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,38px)!important}
.sc27-gallery-card{padding:clamp(20px,2.5vw,30px)!important;border:1px solid rgba(23,53,79,.10);border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(23,53,79,.07);overflow:hidden}
.sc27-gallery-preview{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px!important;border-radius:18px;overflow:hidden;background:#edf1f3}
.sc27-gallery-thumb{margin:0!important;aspect-ratio:4/3;overflow:hidden}
.sc27-gallery-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.sc27-gallery-card h2{font-size:clamp(30px,3vw,44px)!important;line-height:1!important;margin:.2em 0!important}
.sc27-gallery-card>p:not(.sc17-kicker){font-size:15px!important;line-height:1.65;color:#5d6f7d}
.sc27-case-page{background:#fbfaf6;color:#17354f}
.sc27-case-hero,.sc27-case-views,.sc27-case-story{width:min(1180px,calc(100% - 40px));margin:0 auto!important;padding:clamp(54px,7vw,96px) 0}
.sc27-case-hero{border-bottom:1px solid rgba(23,53,79,.12)}
.sc27-case-title{font-family:"Newsreader",serif!important;font-size:clamp(48px,6vw,82px)!important;line-height:.96!important;max-width:14ch;margin:.14em 0 .18em!important}
.sc27-case-desc{font-size:clamp(17px,1.4vw,21px)!important;line-height:1.6!important;max-width:900px;color:#5d6f7d}
.sc27-case-facts{display:grid!important;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px!important}
.sc27-case-fact{padding:20px!important;border:1px solid rgba(23,53,79,.14);border-radius:16px;background:#fff}
.sc27-case-fact p:last-child{font-size:14px!important;line-height:1.55;margin-bottom:0!important}
.sc27-case-story{display:grid!important;grid-template-columns:minmax(240px,.7fr) 1.4fr;gap:clamp(32px,6vw,80px);align-items:start;background:#f4efe5;width:100%;padding-left:max(20px,calc((100% - 1180px)/2));padding-right:max(20px,calc((100% - 1180px)/2))}
.sc27-case-story h2{font-size:clamp(38px,4vw,56px)!important;line-height:1!important}
.sc27-case-story>p{font-size:16px!important;line-height:1.75!important}
.sc27-case-views>h2{font-size:clamp(40px,4.5vw,64px)!important;margin:.15em 0 .65em!important}
.sc27-case-pair{margin:0 0 clamp(34px,5vw,64px)!important}
.sc27-case-view-title{font-size:15px!important;letter-spacing:.08em;text-transform:uppercase;font-family:"Plus Jakarta Sans",sans-serif!important;margin:0 0 12px!important}
.sc27-case-pair-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:18px}
.sc27-case-photo-wrap{position:relative;border:1px solid rgba(23,53,79,.14);background:#fff;border-radius:14px;overflow:hidden}
.sc27-case-img{margin:0!important;line-height:0!important}
.sc27-case-img img{display:block!important;width:100%!important;height:auto!important;max-height:620px;object-fit:contain!important;background:#fff}
.sc27-ba-label{position:absolute;z-index:3;left:14px;top:14px;margin:0!important;padding:7px 12px;border-radius:999px;color:#fff;font:800 10px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.08em;background:#17354f}
.sc27-ba-label.sc27-after{background:#c97850}
.sc27-case-cta{display:flex!important;justify-content:space-between;align-items:center;gap:24px;padding:34px max(20px,calc((100% - 1180px)/2))!important;background:#143b42;color:#fff}
.sc27-case-cta h3{font-size:clamp(26px,3vw,40px)!important;margin:0!important;color:#fff!important}
.sc27-case-cta .wp-block-button__link{background:#d58a63!important}
@media(max-width:900px){.sc27-gallery-grid{grid-template-columns:1fr!important}.sc27-case-facts{grid-template-columns:1fr!important}.sc27-case-story{grid-template-columns:1fr!important}.sc27-case-pair-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sc27-case-hero,.sc27-case-views{width:calc(100% - 24px)}.sc27-case-pair-grid{gap:8px}.sc27-case-img img{max-height:none}.sc27-case-cta{display:grid!important}.sc27-gallery-card{border-radius:18px}.sc27-gallery-preview{gap:4px}}

/* v2.8 client review — stable treatment popovers + gallery labels */
@media (min-width:961px){
  .sc23-treatment-topic{z-index:2}
  .sc23-treatment-topic.is-hovered,
  .sc23-treatment-topic:focus-within{z-index:180!important}
  .sc23-treatment-topic.is-hovered>p,
  .sc23-treatment-topic:focus-within>p,
  .sc23-treatment-topic[open]>p{z-index:190!important}

  /* Adult/advanced descriptions open across the image area in a readable card,
     instead of sitting behind the next subsection header. */
  #adult .sc23-topic-list{overflow:visible!important;z-index:20!important}
  #adult .sc23-treatment-topic>p,
  #adult .sc23-treatment-focus:nth-of-type(even) .sc23-treatment-topic>p{
    left:calc(100% + 28px)!important;
    right:auto!important;
    top:-6px!important;
    width:min(430px,38vw)!important;
    max-width:430px!important;
    padding:18px 20px!important;
    background:rgba(255,255,255,.98)!important;
    border:1px solid rgba(23,53,79,.14)!important;
    box-shadow:0 22px 55px rgba(23,53,79,.20)!important;
    z-index:220!important;
  }
  #adult .sc23-treatment-topic.is-hovered>p,
  #adult .sc23-treatment-topic:focus-within>p{
    opacity:1!important;visibility:visible!important;transform:none!important;
  }
  #adult .sc23-treatment-image{z-index:1!important}
}

/* Every gallery preview gets a standardized in-frame label so baked-in labels
   cannot disappear or be cropped by the thumbnail geometry. */
.sc27-gallery-thumb{position:relative!important}
.sc27-gallery-preview .sc27-gallery-thumb::after{
  position:absolute;z-index:8;top:10px;right:10px;
  padding:7px 11px;border-radius:999px;color:#fff;
  font:800 9px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.09em;
  box-shadow:0 4px 12px rgba(0,0,0,.12);pointer-events:none;
}
.sc27-gallery-preview .sc27-gallery-thumb:first-child::after{content:"BEFORE";background:#17354f}
.sc27-gallery-preview .sc27-gallery-thumb:last-child::after{content:"AFTER";background:#c97850}

@media(max-width:640px){
  .sc27-gallery-preview .sc27-gallery-thumb::after{top:7px;right:7px;padding:6px 8px;font-size:8px}
}
.sc28-labels-baked .sc27-ba-label{display:none!important}
.sc27-gallery-preview .sc27-gallery-thumb:first-child::after{left:10px!important;right:auto!important}
.sc27-gallery-preview .sc27-gallery-thumb:last-child::after{right:10px!important;left:auto!important}
@media(max-width:640px){
  .sc27-gallery-preview .sc27-gallery-thumb:first-child::after{left:7px!important;right:auto!important}
  .sc27-gallery-preview .sc27-gallery-thumb:last-child::after{right:7px!important;left:auto!important}
}

/* v2.10 — final Smile Gallery label cleanup from client edits v7/v8. */
/* The v2.8 blanket pseudo-label rule caused duplicate/cropped labels on approved
   images that already contain BEFORE/AFTER artwork. Turn it off globally first. */
.sc27-gallery-preview .sc27-gallery-thumb::after{
  content:none!important;
  display:none!important;
}
/* Cases 1 and 2 use clean source photography, so add one reliable label per image. */
.sc27-gallery-preview.sc210-needs-overlay-labels .sc27-gallery-thumb::after{
  display:block!important;
  position:absolute!important;
  z-index:8!important;
  top:10px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  color:#fff!important;
  font:800 9px/1 "Plus Jakarta Sans",sans-serif!important;
  letter-spacing:.09em!important;
  box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
  pointer-events:none!important;
}
.sc27-gallery-preview.sc210-needs-overlay-labels .sc27-gallery-thumb:first-child::after{
  content:"BEFORE"!important;
  left:10px!important;
  right:auto!important;
  background:#17354f!important;
}
.sc27-gallery-preview.sc210-needs-overlay-labels .sc27-gallery-thumb:last-child::after{
  content:"AFTER"!important;
  right:10px!important;
  left:auto!important;
  background:#c97850!important;
}
/* Approved gallery artwork for cases 3–5 contains its own labels. Show the entire
   image instead of cropping the edges where those labels live. */
.sc27-gallery-preview.sc210-baked-labels{
  align-items:center!important;
  background:#fff!important;
}
.sc27-gallery-preview.sc210-baked-labels .sc27-gallery-thumb{
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
.sc27-gallery-preview.sc210-baked-labels .sc27-gallery-thumb img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Full case pages: never cover clinical annotations with floating BEFORE/AFTER
   pills. When the approved image already includes the wording, hide the HTML
   label. Otherwise move the label into a dedicated bar above the image. */
.sc210-baked-pair .sc27-ba-label{display:none!important}
.sc210-labels-above .sc27-case-photo-wrap{
  overflow:visible!important;
  padding-top:34px!important;
  background:#fff!important;
}
.sc210-labels-above .sc27-ba-label{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;
  margin:0!important;
  border-radius:12px 12px 0 0!important;
  background:#f7f4ec!important;
  color:#17354f!important;
  box-shadow:none!important;
  font:800 10px/1 "Plus Jakarta Sans",sans-serif!important;
  letter-spacing:.08em!important;
  z-index:2!important;
}
.sc210-labels-above .sc27-ba-label.sc27-after{
  color:#b9653f!important;
  background:#f7f4ec!important;
}
.sc210-labels-above .sc27-case-img{
  border-radius:0 0 12px 12px!important;
  overflow:hidden!important;
}
.sc210-labels-above .sc27-case-img img{
  border-radius:0 0 12px 12px!important;
}
@media(max-width:640px){
  .sc27-gallery-preview.sc210-needs-overlay-labels .sc27-gallery-thumb::after{
    top:7px!important;padding:6px 8px!important;font-size:8px!important;
  }
  .sc27-gallery-preview.sc210-needs-overlay-labels .sc27-gallery-thumb:first-child::after{left:7px!important}
  .sc27-gallery-preview.sc210-needs-overlay-labels .sc27-gallery-thumb:last-child::after{right:7px!important}
  .sc210-labels-above .sc27-case-photo-wrap{padding-top:30px!important}
  .sc210-labels-above .sc27-ba-label{height:30px!important;font-size:9px!important}
}

/* v2.10.1 runtime safeguard — keep approved baked-label artwork fully visible
   even if an older Gutenberg serialization drops the modifier class again. */
.sc27-gallery-grid > .sc27-gallery-card:nth-child(n+3) .sc27-gallery-preview .sc27-gallery-thumb{
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
.sc27-gallery-grid > .sc27-gallery-card:nth-child(n+3) .sc27-gallery-preview .sc27-gallery-thumb img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.sc27-gallery-grid > .sc27-gallery-card:nth-child(n+3) .sc27-gallery-preview .sc27-gallery-thumb::after{
  content:none!important;
  display:none!important;
}

/* v2.11 — one uniform BEFORE / AFTER presentation across the entire Smile Gallery.
   Labels live in a dedicated header ABOVE the photograph — never on top of it. */
.sc27-gallery-preview::before,
.sc27-gallery-preview::after,
.sc27-gallery-preview .sc27-gallery-thumb::before,
.sc27-gallery-preview .sc27-gallery-thumb::after{
  content:none!important;
  display:none!important;
}

.sc27-gallery-preview.sc211-uniform-preview{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow:visible!important;
  background:transparent!important;
  border-radius:0!important;
}
.sc211-gallery-photo-wrap{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid rgba(23,53,79,.14)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.sc211-gallery-label{
  display:flex!important;
  align-items:center!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 12px!important;
  background:#f8f5ed!important;
  border:0!important;
  border-bottom:1px solid rgba(23,53,79,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font:800 10px/1 "Plus Jakarta Sans",sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.sc211-gallery-label.sc211-before{color:#17354f!important}
.sc211-gallery-label.sc211-after{color:#b9653f!important}
.sc211-gallery-photo-wrap .sc27-gallery-thumb{
  margin:0!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
.sc211-gallery-photo-wrap .sc27-gallery-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}

/* Full case pages — same exact label system for Smile, Main Bite, Upper Arch,
   Lower Arch, Right Bite, Left Bite, Panoramic View and every other pair. */
.sc27-case-pair.sc211-uniform-labels .sc27-case-photo-wrap,
.sc27-case-page .sc27-case-photo-wrap{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid rgba(23,53,79,.14)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.sc27-case-pair.sc211-uniform-labels .sc27-ba-label,
.sc27-case-page .sc27-ba-label{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  background:#f8f5ed!important;
  border:0!important;
  border-bottom:1px solid rgba(23,53,79,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#17354f!important;
  font:800 10px/1 "Plus Jakarta Sans",sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-align:left!important;
}
.sc27-case-pair.sc211-uniform-labels .sc27-ba-label.sc27-after,
.sc27-case-page .sc27-ba-label.sc27-after{color:#b9653f!important}
.sc27-case-pair.sc211-uniform-labels .sc27-case-img,
.sc27-case-page .sc27-case-img{
  order:2!important;
  margin:0!important;
  width:100%!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
}
.sc27-case-pair.sc211-uniform-labels .sc27-case-img img,
.sc27-case-page .sc27-case-img img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}
/* Retire every older baked/overlay label special case. */
.sc210-baked-pair .sc27-ba-label,
.sc28-labels-baked .sc27-ba-label{display:flex!important}
.sc210-labels-above .sc27-case-photo-wrap{padding-top:0!important}
.sc210-labels-above .sc27-ba-label{position:static!important;height:auto!important}

@media(max-width:640px){
  .sc27-gallery-preview.sc211-uniform-preview{gap:6px!important}
  .sc211-gallery-label,
  .sc27-case-pair.sc211-uniform-labels .sc27-ba-label,
  .sc27-case-page .sc27-ba-label{
    min-height:31px!important;
    padding:0 9px!important;
    font-size:8px!important;
    letter-spacing:.07em!important;
  }
}

/* v2.11.1 — reliable treatment accordions on mobile/touch devices.
   Use capability detection from JS rather than viewport width so tablets,
   large phones and mobile browsers with wider CSS viewports behave correctly. */
body.sc23-treatment-touch .sc23-topic-list{
  position:relative!important;
  z-index:5!important;
  overflow:visible!important;
}
body.sc23-treatment-touch .sc23-treatment-topic{
  position:relative!important;
  z-index:auto!important;
  transform:none!important;
  overflow:hidden!important;
}
body.sc23-treatment-touch .sc23-treatment-topic:hover,
body.sc23-treatment-touch .sc23-treatment-topic:focus-within{
  transform:none!important;
}
body.sc23-treatment-touch .sc23-treatment-topic summary{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
body.sc23-treatment-touch .sc23-treatment-topic>p,
body.sc23-treatment-touch .sc23-treatment-focus:nth-of-type(even) .sc23-treatment-topic>p,
body.sc23-treatment-touch #adult .sc23-treatment-topic>p{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:auto!important;
  max-width:none!important;
  margin:0 14px 14px!important;
  padding:14px 0 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(23,53,79,.09)!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  display:none!important;
}
body.sc23-treatment-touch .sc23-treatment-topic[open]>p{
  display:block!important;
}
body.sc23-treatment-touch .sc23-treatment-image{
  z-index:0!important;
}
