/* momanidental.com — motion v1 (2026-10-21)
   One hero sequence, one signature interaction, feedback-only elsewhere. */

/* ---- kill the template effects ---- */
.sparks-layer,.particle,.ambient-extra{display:none !important}
.reveal-up:not(.gcase):not(.about-video-wrap),
.section-head.reveal-up,.commit-card.reveal-up,.commit-stat.reveal-up,.commit-case-marker.reveal-up,
.approach-card.reveal-up,.ptier.reveal-up,.review.reveal-up,.pricing-row.reveal-up,.mentor-card.reveal-up,
.faq-list details.reveal-up,.reviews-stat.reveal-up,.reveal-card{opacity:1 !important;transform:none !important;transition:none !important}
.btn-primary{transform:none !important}

/* ---- hero load sequence (runs once) ---- */
.hero .eyebrow,.hero h1 .hl,.hero .lead,.hero .hero-cta,.hero .hero-stats{animation:mRise .62s cubic-bezier(.22,.61,.36,1) both}
.hero h1 .hl{display:block}
.hero .eyebrow{animation-delay:.05s}
.hero h1 .hl:nth-child(1){animation-delay:.14s}
.hero h1 .hl:nth-child(2){animation-delay:.24s}
.hero h1 .hl:nth-child(3){animation-delay:.34s}
.hero .lead{animation-delay:.46s}
.hero .hero-cta{animation-delay:.56s}
.hero .hero-stats{animation-delay:.68s}
.hero .hero-video-wrap{animation:mWipe .9s cubic-bezier(.22,.61,.36,1) .25s both}
@keyframes mRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes mWipe{from{clip-path:inset(0 0 0 100% round 28px);opacity:.6}to{clip-path:inset(0 0 0 0 round 28px);opacity:1}}

/* ---- before/after: nudge once on first view ---- */
.gcase-slider.m-nudge .ba-before{transition:clip-path .7s cubic-bezier(.22,.61,.36,1),-webkit-clip-path .7s cubic-bezier(.22,.61,.36,1)}
.gcase-slider.m-nudge .ba-handle{transition:left .7s cubic-bezier(.22,.61,.36,1)}
.gcase.reveal-up{transition-duration:.5s}
.gscroll-btn{transition:background .18s,color .18s,transform .18s}
.gscroll-btn:hover{background:var(--gold) !important;color:#0a0a0a !important}
.gscroll-btn:active{transform:scale(.94)}

/* ---- service tabs: one sliding underline, faster panel ---- */
.srv-tab::after{display:none !important}
.srv-ink{position:absolute;bottom:-1px;height:2px;background:var(--gold);left:0;width:0;transition:left .35s cubic-bezier(.22,.61,.36,1),width .35s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.srv-panel{animation-duration:.22s !important}

/* ---- treatment finder ---- */
.tf-option{animation:mRise .38s cubic-bezier(.22,.61,.36,1) both;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
.tf-option:nth-child(1){animation-delay:.04s}.tf-option:nth-child(2){animation-delay:.10s}.tf-option:nth-child(3){animation-delay:.16s}.tf-option:nth-child(4){animation-delay:.22s}.tf-option:nth-child(5){animation-delay:.28s}.tf-option:nth-child(6){animation-delay:.34s}
.tf-q,.tf-help{animation:mRise .35s cubic-bezier(.22,.61,.36,1) both}
.tf-option.m-picked{background:rgba(200,165,116,.22) !important;border-color:var(--gold) !important;transform:translateX(3px)}
.tf-option:active{transform:translateX(3px) scale(.99)}

/* ---- accordions ---- */
details .m-acc{overflow:hidden}
details[open] .rc-icon{transform:rotate(45deg)}
.rc-icon,.rc-arrow{transition:transform .26s cubic-bezier(.22,.61,.36,1),background .2s,color .2s}
.faq-list details summary>span:last-child{display:inline-block;transition:transform .26s cubic-bezier(.22,.61,.36,1)}
.faq-list details[open] summary>span:last-child{transform:rotate(45deg)}

/* ---- feedback ---- */
.btn{transition:background .18s,color .18s,border-color .18s,transform .12s,box-shadow .18s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.nav-links a::after{left:0 !important;transform:none !important;width:100% !important;transform-origin:left;transform:scaleX(0) !important;transition:transform .2s cubic-bezier(.22,.61,.36,1) !important}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1) !important}
.pricing-row:not(.head){transition:background .18s}
.pricing-row:not(.head):hover{background:rgba(200,165,116,.06)}
.pill,.tech-item,.approach-card,.review{transition:border-color .2s,background .2s}

/* ---- mobile action bar slides in after the hero ---- */
@media (max-width:860px){
  .action-bar{transform:translate(-50%,140%);transition:transform .3s cubic-bezier(.22,.61,.36,1)}
  .action-bar.m-on{transform:translate(-50%,0)}
}

@media (prefers-reduced-motion:reduce){
  .hero .eyebrow,.hero h1 .hl,.hero .lead,.hero .hero-cta,.hero .hero-stats,.hero .hero-video-wrap,.tf-option,.tf-q,.tf-help{animation:none !important}
  .gcase-slider.m-nudge .ba-before,.gcase-slider.m-nudge .ba-handle,.srv-ink,.action-bar{transition:none !important}
  .reveal-up{opacity:1 !important;transform:none !important}
}
