/* Shared interaction rhythm. Clinical diagrams remain uncropped and still. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1);--motion-fast:220ms;--motion-slow:650ms}
.service-card::before{transition:transform 900ms var(--motion-ease)}
.service-card::after{transition:opacity 650ms var(--motion-ease)}
.service-card>div{transition:transform var(--motion-slow) var(--motion-ease)}
.service-card .arrow{transition:transform 400ms var(--motion-ease)}
:is(.guide-card,.procedure-card,.cell-paths>a,.first-visit-links>a){transition:transform 350ms var(--motion-ease),box-shadow 350ms var(--motion-ease),border-color 250ms,background-color 250ms}
.article.clinical-body .guide-card{transition:transform 350ms var(--motion-ease),box-shadow 350ms var(--motion-ease),border-color 250ms,background-color 250ms}
:is(.guide-card,.procedure-card,.cell-paths>a)>span,.first-visit-links>a>b{display:inline-block;transition:transform 300ms var(--motion-ease)}
.button,.hero-cell,.quick-links a{transition:background-color 250ms,color 250ms,box-shadow 300ms,transform 300ms var(--motion-ease)}
.text-link,.hero-actions a,.clinical-hero-links a{transition:color 220ms,border-color 220ms,background-color 220ms}
.nav-item>a{position:relative}
.nav-item>a::after{content:"";position:absolute;bottom:12px;height:2px;left:0;right:0;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--motion-ease)}
.nav-item.sub-open>a::after,.nav-item>a:focus-visible::after{transform:scaleX(1)}
.submenu-toggle{transition:transform 250ms var(--motion-ease),color 250ms}
.submenu-toggle[aria-expanded="true"]{transform:rotate(180deg);color:var(--teal)}
.subnav{animation:menu-enter 220ms var(--motion-ease)}
.subnav a{transition:padding-left 220ms var(--motion-ease),background-color 220ms,color 220ms}
.subnav a:focus-visible{background:var(--soft);color:var(--teal)}
.menu-toggle span{transition:transform 250ms var(--motion-ease),opacity 200ms}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.faq-list summary{transition:color 220ms,background-color 220ms}
.faq-list details[open]>summary{color:var(--teal)}
.faq-list summary::after{transition:transform 250ms var(--motion-ease)}
.clinical-toc a{transition:color 200ms,background-color 200ms,box-shadow 200ms}
.clinical-toc a[aria-current="location"]{color:var(--teal);background:var(--soft);box-shadow:inset -2px 0 var(--teal)}
.clinical-toc a[aria-current="location"]::before{color:var(--teal)}
.procedure-stage-buttons button{transition:background-color 220ms,color 220ms,box-shadow 220ms}
.procedure-stage-buttons button:active,.button:active,.hero-cell:active{transform:translateY(1px)}
:is(.guide-card,.procedure-card,.cell-paths>a,.first-visit-links>a):focus-visible{border-color:var(--mint);box-shadow:0 10px 28px #30484b12}
.service-card:focus-visible .arrow{transform:translate(3px,-3px)}
@keyframes menu-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){
 .service-card:hover::before{transform:scale(1.075)}
 .service-card:hover::after{opacity:.8}
 .service-card:hover>div{transform:translateY(-5px)}
 .service-card:hover .arrow{transform:translate(4px,-4px)}
 :is(.guide-card,.procedure-card,.cell-paths>a,.first-visit-links>a):hover{transform:translateY(-4px);box-shadow:0 12px 30px #30484b10;border-color:var(--mint);background-color:#f5fbfb}
 :is(.guide-card,.procedure-card,.cell-paths>a):hover>span,.first-visit-links>a:hover>b{transform:translateX(4px)}
 .button:hover,.hero-cell:hover{transform:translateY(-2px);box-shadow:0 8px 22px #25848218}
 .quick-links a:hover{transform:translateY(-3px);box-shadow:0 7px 18px #25848220}
 .nav-item:hover>a::after{transform:scaleX(1)}
 .subnav a:hover{padding-left:24px;background:var(--soft);color:var(--teal)}
 .text-link:hover,.hero-actions a:hover,.clinical-hero-links a:hover{color:var(--ink);border-color:var(--teal)}
 .faq-list summary:hover{color:var(--teal);background:#f8fcfc}
}
@media(max-width:760px){
 .main-nav.is-open{animation:menu-enter 220ms var(--motion-ease)}
 .nav-item>a::after{bottom:8px}
 .quick-links a:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .service-card:hover::before,.service-card:hover>div,.service-card:hover .arrow{transform:none}
 :is(.guide-card,.procedure-card,.cell-paths>a,.first-visit-links>a,.button,.hero-cell,.quick-links a):hover{transform:none}
}
