/* Homepage Motion Plus v2. Page-only presentation; existing forms/SES remain independent. */
.hm-home{--hm-ease:cubic-bezier(.16,1,.3,1);--hm-line:#d1e4ec;--hm-shadow:0 22px 60px #164f6610}
.hm-home .hc-hero{padding-top:2.4rem}
.hm-home .hc-hero-grid{gap:3rem;align-items:center}
.hm-home .hm-experience-badge{display:flex;align-items:center;gap:1rem;width:fit-content;max-width:100%;padding:.8rem 1.25rem;margin:0 0 1.55rem;background:linear-gradient(115deg,#fff3bc,#fff9df);border:1px solid #e8d58c;border-radius:1rem;box-shadow:0 8px 24px #997d1409}
.hm-home .hm-experience-number{font-size:2.65rem;line-height:1;font-weight:800;letter-spacing:-.065em;color:#a81760;flex:none}
.hm-experience-badge>div{min-width:0;display:flex;flex-direction:column;gap:.15rem}
.hm-experience-badge strong{font-size:1.15rem;line-height:1.35;font-weight:750;color:#163e48}
.hm-experience-badge>div>span{font-size:1rem;color:#615632;line-height:1.5}
.hm-home .hc-hero-note{max-width:31rem!important}
.hm-home .hc-explore-link{font-size:1.125rem;padding:.8rem .15rem;margin-top:.15rem;color:#146a85;font-weight:700;text-underline-offset:6px;text-decoration-thickness:1px}
.hm-home .hc-confidence{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1240px;background:#f9fcfd;box-shadow:none;margin-top:2.1rem}
.hm-home .hc-confidence>div{grid-column:auto!important;border:0!important;padding:1.1rem 1.6rem;justify-content:flex-start!important}
.hm-home .hc-confidence>div+div{border-left:1px solid #d5e5ea!important}
.hm-home .hc-confidence b{font-size:1.1rem}
.hm-home .hc-hero-visual{max-width:35rem}
.hm-home .hc-hero-art{height:30rem;border-radius:2rem;background:radial-gradient(ellipse at 28% 18%,#fff 0%,#e4f5fc 39%,#c4e6f1 100%);box-shadow:0 20px 70px #29667a0a}
.hm-home .hc-hero-tooth{height:33rem;top:-1.25rem;will-change:transform}
.hm-home .hc-sun{box-shadow:0 8px 0 #ebd16036}
.hm-home .hc-glow{transform:translateY(var(--hm-parallax,0px));background:radial-gradient(circle at var(--hc-x,38%) var(--hc-y,24%),#fff,transparent 65%)}
.hm-home .hc-motion-line{padding-block:.9rem .25rem}
.hm-home .hc-section{position:relative;padding-block:4.5rem}
.hm-home .hc-section h2:after{content:'';display:block;height:4px;width:4.5rem;background:linear-gradient(90deg,#b71364 0 72%,#f0d36b 72%);border-radius:4px;margin-top:1.15rem;transform-origin:left center;transition:transform .9s var(--hm-ease)}
.hm-home.hm-motion-enabled [data-hm-section]:not(.hm-section-seen) h2:after{transform:scaleX(.18)}
.hm-home [data-hm-section].hm-section-seen h2:after{transform:scaleX(1)}
.hm-home .hc-section-heading{margin-bottom:2.1rem;gap:2rem}
.hm-home .hc-section-heading>p{max-width:26rem}
/* Interactive lab: a single, clear activity with selectable dental topics. */
.hm-home .hm-explorer-section{padding-top:2.25rem;background:linear-gradient(#fff,#fbfdfe)}
.hm-lab{border:1px solid var(--hm-line);border-radius:1.55rem;background:#fff;box-shadow:var(--hm-shadow);overflow:hidden}
.hm-lab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;background:#fff;border-bottom:1px solid var(--hm-line)}
.hm-lab-instruction{display:flex;align-items:center;gap:.7rem;flex:0 0 auto;font-size:1.0625rem;font-weight:650;color:#315664;line-height:1.45}
.hm-lab-instruction b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e6f4fa;color:#236a83;font-size:1rem}
.hm-topics{display:flex;flex:0 1 auto;gap:.65rem;min-width:0;flex-wrap:wrap}
.hm-topic{display:flex;gap:.6rem;align-items:center;justify-content:center;min-height:3.3rem;padding:.8rem 1.1rem;background:#f8fbfc;border:1px solid #cbdfe8;border-radius:.85rem;font:650 1.0625rem/1.35 var(--font);min-width:0;color:#244856;transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .3s var(--hm-ease);text-align:center}
.hm-topic>span{min-width:0;overflow-wrap:anywhere}
.hm-topic .icon{width:1.4rem;height:1.4rem;color:#29758d;flex:none}
.hm-topic[aria-selected=true]{background:#b71364;border-color:#b71364;color:#fff;box-shadow:0 5px 16px #b713641b}
.hm-topic[aria-selected=true] .icon{color:#fff}
.hm-topic:hover{border-color:#b71364;transform:translateY(-2px)}
.hm-home .hm-care-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);scroll-margin-top:8rem}
.hm-care-panel+.hm-care-panel{border-top:1px solid var(--hm-line)}
.hm-lab.is-enhanced .hm-care-panel{border-top:0}
.hm-comparison-column{padding:1.4rem 1.5rem 1.35rem;background:linear-gradient(145deg,#f7fcfe,#edf7fb);min-width:0;border-right:1px solid var(--hm-line)}
.hm-figure-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:1rem;color:#2b6171;font-weight:650;margin-bottom:1rem}
.hm-figure-top>span:first-child{display:flex;align-items:center;gap:.5rem}
.hm-figure-top .icon{color:#b71364;width:1.15rem;height:1.15rem}
.hm-illustration-label{border:1px solid #c7dde6;background:#fff;padding:.35rem .7rem;border-radius:2rem;font-weight:500;font-size:1rem}
.hm-compare{--hm-position:50%;width:100%;min-width:0}
.hm-scene-labels{display:flex;justify-content:space-between;align-items:stretch;gap:1rem;position:relative;z-index:1;margin-bottom:.5rem;font-size:1rem;line-height:1.4}
.hm-scene-labels>span{max-width:47%;padding:.45rem .65rem;border-radius:.55rem;background:#fff;color:#76604a;border:1px solid #dcd3c1;overflow-wrap:anywhere}
.hm-scene-labels>span+span{color:#216477;border-color:#badce7;text-align:right}
.hm-picture{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid #cce3ed;border-radius:1rem;overflow:hidden;isolation:isolate;background:#ecf7fb;min-width:0}
.hm-before,.hm-after{min-width:0}
.hm-tooth-svg{display:block;width:100%;height:auto;max-width:100%}
.hm-divider{display:none}
.hm-lab.is-enhanced .hm-picture{display:block;aspect-ratio:600/420;cursor:ew-resize;touch-action:pan-y}
.hm-lab.is-enhanced .hm-before,.hm-lab.is-enhanced .hm-after{position:absolute;inset:0;width:100%;height:100%}
.hm-lab.is-enhanced .hm-tooth-svg{width:100%;height:100%}
.hm-lab.is-enhanced .hm-after{clip-path:inset(0 0 0 var(--hm-position));pointer-events:none}
.hm-lab.is-enhanced .hm-divider{display:block;position:absolute;top:0;bottom:0;left:var(--hm-position);width:2px;background:#b71364;pointer-events:none;transform:translateX(-50%)}
.hm-divider>span{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #b71364;box-shadow:0 4px 18px #163a5126;color:#b71364}
.hm-divider .icon{width:1.5rem;height:1.5rem}
.hm-slider-ui{padding-top:1.15rem}
.hm-slider-ui label{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1rem;line-height:1.45;color:#245b6b;font-weight:650;flex-wrap:wrap}
.hm-slider-ui label>span:first-child{display:flex;align-items:center;gap:.5rem}
.hm-slider-ui label .icon{width:1.15rem;height:1.15rem;color:#b71364}
.hm-range-value{font-size:1rem;font-weight:500;color:#4d6974}
.hm-slider-ui input[type=range]{display:block;width:100%;min-width:0;height:2.75rem;margin:.25rem 0 .5rem;appearance:none;-webkit-appearance:none;background:transparent;accent-color:#b71364;cursor:ew-resize;padding:0;border:0}
.hm-slider-ui input[type=range]::-webkit-slider-runnable-track{height:7px;background:linear-gradient(90deg,#d6c5ad,#b71364);border-radius:8px}
.hm-slider-ui input[type=range]::-moz-range-track{height:7px;background:linear-gradient(90deg,#d6c5ad,#b71364);border-radius:8px}
.hm-slider-ui input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:26px;height:26px;border-radius:50%;margin-top:-9.5px;background:#fff;border:3px solid #b71364;box-shadow:0 3px 9px #29536b20}
.hm-slider-ui input[type=range]::-moz-range-thumb{width:21px;height:21px;border-radius:50%;background:#fff;border:3px solid #b71364;box-shadow:0 3px 9px #29536b20}
.hm-slider-actions{display:flex;justify-content:space-between;gap:.5rem;align-items:center;flex-wrap:wrap}
.hm-play,.hm-reset{min-height:2.9rem;border:1px solid #b9d6e1;border-radius:.75rem;padding:.6rem .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:650 1rem/1.4 var(--font);background:#fff;color:#1e5263;transition:background .25s,box-shadow .25s,transform .25s}
.hm-play .icon{width:1rem;height:1rem}
.hm-play:hover{border-color:#b71364;color:#a9115a;box-shadow:0 4px 16px #2b566d12}
.hm-reset{background:transparent;font-weight:500;border-color:transparent;text-decoration:underline;text-underline-offset:4px;padding-inline:.45rem}
.hm-home p.hm-figure-note{font-size:1rem;line-height:1.65;color:#4a6371;margin:1rem 0 0}
.hm-explanation{padding:2.5rem 2.2rem;min-width:0;align-self:center}
.hm-home .hm-explanation>p.hc-eyebrow{letter-spacing:.01em;font-size:1rem;color:#296b80;margin-bottom:1rem}
html body.clean-template #main.hm-home .hm-explanation>h3{font-size:2.05rem;line-height:1.2;margin:0 0 1.25rem;letter-spacing:-.035em;text-wrap:balance}
.hm-home .hm-explanation>p{font-size:1.1875rem;line-height:1.75;margin-bottom:1.5rem}
.hm-question{padding:1.2rem 1.3rem;background:#fff8dc;border-left:3px solid #d8bb53;border-radius:0 .85rem .85rem 0;margin:1.5rem 0}
.hm-question>span{display:block;font-size:1rem;font-weight:650;color:#6c591e;margin-bottom:.5rem}
.hm-home .hm-question>p{font-size:1.125rem;line-height:1.6;color:#294954;margin:0;font-weight:550}
.hm-home .hm-explanation .text-link{font-size:1.125rem;max-width:100%;min-height:2.75rem}
.hm-lab-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2rem;padding:1.65rem 1.7rem;border-top:1px solid var(--hm-line);background:#fff}
.hm-lab-footer>div{min-width:0}
.hm-lab-footer strong{display:block;font-size:1.2rem;font-weight:750;line-height:1.4}
.hm-home .hm-lab-footer p{font-size:1.0625rem;margin:.4rem 0 0}
.hm-lab-footer .hc-actions{flex:0 1 auto;justify-content:flex-end;gap:.65rem}
.hm-home .hm-lab-footer .btn{font-size:1.0625rem;min-height:3.25rem;padding:.8rem 1rem}
.hm-explorer-foot{display:flex;justify-content:space-between;gap:1.3rem 2rem;align-items:center;margin:1.1rem .15rem 0}
.hm-home .hm-explorer-foot>p{font-size:1rem;line-height:1.6;max-width:47rem;margin:0}
.hm-explorer-foot>a{flex:0 0 auto}
.hm-home .hc-urgent{margin-top:1.5rem}
/* Better separation between sections; contrast remains light, clear and readable. */
.hm-home .hc-doctor-section{background:#f5fafb;border-block:1px solid #e1eef2}
.hm-home p.hm-doctor-experience{display:flex;align-items:center;gap:.85rem;margin:0 0 1.35rem;color:#b71364;font-size:1.2rem;line-height:1.4;font-weight:700;flex-wrap:wrap}
.hm-doctor-experience>strong{font-size:3.7rem;line-height:1;letter-spacing:-.07em;font-weight:800}
.hm-doctor-experience>span{max-width:10rem;line-height:1.25}
.hm-home .hc-doctor-portrait{background:radial-gradient(ellipse at 30% 15%,#fff5fb,#f7e5ef 70%);border-color:#ecd2e0}
.hm-home .hc-start-section{background:#fff}
.hm-home .hc-step{border-radius:1.1rem;box-shadow:0 8px 26px #184b6407;border-top:3px solid #cee8f2;transition:transform .4s var(--hm-ease),box-shadow .4s,border-color .3s}
.hm-home .hc-step:nth-child(2){border-top-color:#f0cfdf}
.hm-home .hc-step:nth-child(3){border-top-color:#f0df9c}
.hm-home .hc-step:hover{transform:translateY(-6px);box-shadow:0 18px 40px #184b6411}
.hm-home .hc-step-icon{transition:transform .45s var(--hm-ease),background .3s}
.hm-home .hc-step:hover .hc-step-icon{transform:rotate(-8deg) scale(1.07)}
.hm-home .hc-faq-section{background:#f6fbfd;border-block:1px solid #e4eff3}
.hm-home .hc-faq-section details{transition:background .3s,padding .3s;border-bottom-color:#cddfe7}
.hm-home .hc-faq-section details[open]{background:#fff;padding-inline:1rem;border-radius:.8rem}
.hm-home .hc-location-section{padding-block:4rem 1.5rem;background:#fff}
.hm-home .hc-location-panel{box-shadow:0 14px 35px #84712c0a;background:#fff7d5;border-color:#ecdfa8}
.hm-home .request-section{padding-top:3rem;background:linear-gradient(#fff,#f6fbfd)}
.hm-home .request-panel{box-shadow:0 18px 52px #19475d0b;border-color:#c7dce5}
/* Clearly visible, finite section transitions. Ongoing movement is decorative only. */
@media(prefers-reduced-motion:no-preference){
 html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-hero-tooth{animation:hm-float 7s ease-in-out infinite!important}
 html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-orbit-one{animation:hm-orbit 32s linear infinite!important}
 html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-orbit-two{animation:hm-orbit 43s linear infinite reverse!important}
 html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-hero-spark{animation:hm-twinkle 4s ease-in-out infinite!important}
 html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-spark-two{animation-delay:1.8s!important}
 html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-sun{animation:hm-sun 8s ease-in-out infinite!important}
 .hm-home .hc-hero-visual.hm-out-of-view *{animation-play-state:paused!important}
 @keyframes hm-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-17px) rotate(2deg)}}
 @keyframes hm-orbit{from{transform:rotate(-24deg)}to{transform:rotate(336deg)}}
 @keyframes hm-twinkle{0%,100%{transform:scale(.85) rotate(0);opacity:.55}50%{transform:scale(1.15) rotate(16deg);opacity:1}}
 @keyframes hm-sun{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(7px) rotate(8deg)}}
}
@media(hover:hover) and (pointer:fine){
 .hm-home .btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .3s var(--hm-ease),box-shadow .3s,background .3s}
 .hm-home .btn:before{content:'';position:absolute;z-index:-1;inset:-80% auto -80% -110%;width:65%;background:linear-gradient(90deg,transparent,#ffffff38,transparent);transform:rotate(24deg);transition:left .6s var(--hm-ease);pointer-events:none}
 .hm-home .btn:hover:before{left:150%}
 .hm-home .btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px #254b6418}
}
html.motion-paused .hm-home *,html.motion-paused .hm-home *:before,html.motion-paused .hm-home *:after{animation:none!important;transition:none!important}
html.motion-paused .hm-home h2:after{transform:none!important}
@media(prefers-reduced-motion:reduce){.hm-home *,.hm-home *:before,.hm-home *:after{animation:none!important;transition:none!important}.hm-home h2:after{transform:none!important}.hm-home .hc-glow{transform:none!important}}
@media(max-width:1100px){
 .hm-lab-toolbar{flex-direction:column;align-items:stretch;gap:1rem}.hm-topics{flex:1}.hm-topic{flex:1}
 .hm-home .hm-care-panel{grid-template-columns:minmax(0,1.07fr) minmax(0,1fr)}
 .hm-explanation{padding:1.65rem}.hm-comparison-column{padding:1.25rem}
 .hm-lab-footer{flex-wrap:wrap}.hm-lab-footer .hc-actions{justify-content:flex-start}
 .hm-home .hc-confidence>div{grid-column:auto!important;border-top:0!important}
 .hm-home .hc-hero-art{height:28rem}.hm-home .hc-hero-tooth{height:31rem;top:-1rem}
}
@media(max-width:780px){
 .hm-home .hc-hero-grid{grid-template-columns:1fr;gap:2rem}.hm-home .hc-hero-copy{max-width:44rem}
 .hm-home .hc-hero-visual{justify-self:center;max-width:30rem}.hm-home .hc-hero-art{height:27rem}.hm-home .hc-hero-tooth{height:30rem}
 .hm-home .hm-care-panel{grid-template-columns:1fr}.hm-comparison-column{border-right:0;border-bottom:1px solid #d1e4ec;padding:1.4rem}
 .hm-explanation{padding:1.7rem}.hm-home .hm-explanation>h3{font-size:1.9rem!important}
 .hm-lab-toolbar{padding:1.15rem}.hm-topics{gap:.5rem}.hm-topic{padding:.7rem .8rem;min-height:3.5rem}
 .hm-compare{max-width:37rem;margin:auto}.hm-explorer-foot{flex-direction:column;align-items:flex-start;gap:1rem}
 .hm-home .hc-section{padding-block:3.5rem}.hm-home .hm-explorer-section{padding-top:2rem}
 .hm-home .hc-hero-copy .hc-explore-link{font-size:1.125rem}.hm-home .hm-experience-badge{margin-bottom:1.4rem}
 .hm-lab-footer .hc-actions{width:100%}.hm-lab-footer .btn{flex:1 1 12rem}
 .hm-home .hc-section-heading>p{max-width:100%}
 .hm-home .hc-confidence{grid-template-columns:1fr}.hm-home .hc-confidence>div+div{border-left:0!important;border-top:1px solid #d5e5ea!important}
}
@media(max-width:480px){
 .hm-home .hc-hero{padding-top:1.65rem}.hm-home .hm-experience-badge{padding:.85rem 1rem;gap:.75rem;width:100%;margin-bottom:1.35rem}
 .hm-home .hm-experience-number{font-size:2.7rem}.hm-experience-badge strong{font-size:1.125rem}.hm-experience-badge>div>span{font-size:1rem}
 .hm-home .hc-hero-copy h1{font-size:clamp(2.6rem,10vw,3.1rem)!important}
 .hm-home .hc-hero-art{height:23rem}.hm-home .hc-hero-tooth{height:26rem}
 .hm-home .hc-confidence{margin-top:1.65rem}.hm-home .hc-confidence>div{padding:1rem 1.2rem}
 .hm-lab{border-radius:1.15rem}.hm-lab-toolbar{padding:1rem;gap:.9rem}.hm-lab-instruction{font-size:1rem}
 .hm-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}
 .hm-topic{flex-direction:column;font-size:1rem;min-height:5rem;padding:.65rem .35rem;gap:.35rem}
 .hm-topic .icon{width:1.3rem;height:1.3rem}
 .hm-comparison-column{padding:1.15rem 1rem 1.1rem}.hm-figure-top{gap:.5rem;font-size:1rem;margin-bottom:.85rem}
 .hm-illustration-label{font-size:.9375rem;padding:.3rem .5rem}
 .hm-scene-labels{gap:.7rem;font-size:.9375rem}.hm-scene-labels>span{padding:.4rem .5rem}
 .hm-slider-ui label{gap:.4rem;font-size:1rem}.hm-range-value{font-size:.9375rem}
 .hm-divider>span{width:2.5rem;height:2.5rem}.hm-divider .icon{width:1.25rem;height:1.25rem}
 .hm-home p.hm-figure-note{font-size:1rem}.hm-explanation{padding:1.5rem 1.2rem}
 .hm-home .hm-explanation>p{font-size:1.125rem}.hm-home .hm-explanation>h3{font-size:1.85rem!important}
 .hm-home .hm-question>p{font-size:1.0625rem}.hm-question{padding:1rem 1.1rem;margin:1.2rem 0}
 .hm-lab-footer{padding:1.35rem 1.2rem;gap:1.2rem}.hm-lab-footer strong{font-size:1.2rem}.hm-home .hm-lab-footer p{font-size:1.0625rem}
 .hm-lab-footer .hc-actions{gap:.65rem}.hm-home .hm-lab-footer .btn{min-height:3.5rem}
 .hm-home .hm-doctor-experience>strong{font-size:3.5rem}.hm-home p.hm-doctor-experience{font-size:1.2rem}
 .hm-experience-badge>div{flex:1}.hm-home .hm-experience-badge{flex-wrap:wrap}
 .hm-play{padding:.6rem .7rem;font-size:1rem}.hm-reset{font-size:1rem}
}
/* All labels reflow at enlarged text sizes. No fixed text heights or clipped words. */
.hm-home :is(.hm-experience-badge,.hm-lab-toolbar,.hm-lab-footer,.hm-scene-labels,.hm-slider-actions,.hm-figure-top)>*{min-width:0;overflow-wrap:anywhere}
.hm-home :is(.hm-topic,.hm-play,.hm-reset,.hm-lab-instruction,.hm-experience-badge){white-space:normal}
.hm-home .hm-topics,.hm-home .hm-figure-top,.hm-home .hm-lab-instruction{flex-wrap:wrap}
.hm-home .hm-explorer-foot>a{flex-shrink:1}
.hm-home .hm-picture *{user-select:none;-webkit-user-select:none}
@media print{.hm-topics,.hm-slider-ui,.hm-divider,.hm-lab-footer{display:none!important}.hm-care-panel[hidden]{display:grid!important}.hm-care-panel{break-inside:avoid}.hm-lab.is-enhanced .hm-picture{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:auto}.hm-lab.is-enhanced .hm-before,.hm-lab.is-enhanced .hm-after{position:static;clip-path:none}.hm-home [data-hm-reveal]{transform:none!important;opacity:1!important}.hm-home .hc-hero-tooth{animation:none!important}}
@media(prefers-reduced-motion:no-preference){html:not(.motion-paused) .hm-home.hm-motion-enabled .hc-hero-visual.hm-out-of-view *{animation-play-state:paused!important}}
/* Avoid adding a second large offset to the browser's existing sticky-header padding. */
.hm-home #explore-your-smile{scroll-margin-top:1rem}
