/* Shared motion: short, consistent and optional. */
:root{--zoe-ease:cubic-bezier(.22,1,.36,1);--zoe-fast:180ms;--zoe-medium:420ms}
@view-transition{navigation:auto}
::view-transition-old(root){animation:zoe-page-out 160ms ease-out both}
::view-transition-new(root){animation:zoe-page-in 360ms var(--zoe-ease) both}
@keyframes zoe-page-out{to{opacity:0;transform:translateY(-5px)}}
@keyframes zoe-page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.button,.seo-button,.premium-button,.nav-cta{transition:background var(--zoe-fast),color var(--zoe-fast),border-color var(--zoe-fast),box-shadow var(--zoe-medium),transform var(--zoe-medium) var(--zoe-ease)}
@media(hover:hover){.button:hover,.seo-button:hover,.premium-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3a061414}.button:active,.seo-button:active,.premium-button:active{transform:translateY(0);box-shadow:none}.seo-case-link:hover,.text-link:hover{color:#8c4058}.seo-case article img{transition:transform 650ms var(--zoe-ease)}.seo-case article:hover img{transform:scale(1.025)}}
.footer-bottom a,.seo-footer a,.seo-links a,.contact-direct a,.footer-contact a{transition:color var(--zoe-fast),opacity var(--zoe-fast)}
.contact-form input,.contact-form select,.contact-form textarea{transition:border-color var(--zoe-fast),box-shadow var(--zoe-fast),background var(--zoe-fast)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{box-shadow:0 0 0 3px #b6e7e226}
summary{transition:color var(--zoe-fast),background var(--zoe-fast)}summary>span:last-child{transition:transform var(--zoe-medium) var(--zoe-ease)}details[open]>summary>span:last-child:not(:first-child){transform:none}.faq-list details[open]>summary>span:last-child,.seo-faq details[open]>summary>span:last-child{transform:rotate(45deg)}
.faq-list details[open]>p,.seo-faq details[open]>p,.contact-context[open]>.contact-context-fields,.recommender-context[open]>.recommender-context-fields{animation:zoe-detail-in 300ms var(--zoe-ease) both}
@keyframes zoe-detail-in{from{opacity:.35;transform:translateY(-7px)}to{opacity:1;transform:none}}
.zoe-premium .premium-hero-copy{animation:zoe-hero-in 750ms var(--zoe-ease) both}.zoe-premium .premium-type-visual{animation:zoe-type-in 950ms var(--zoe-ease) 80ms both}
@keyframes zoe-hero-in{from{opacity:.5;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes zoe-type-in{from{opacity:.45;translate:0 24px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
.zoe-premium .hero.hero-premium{padding-top:132px!important}.zoe-premium .hero-premium h1{font-size:clamp(48px,5.2vw,74px)!important;letter-spacing:-.06em!important}.zoe-premium .premium-hero-lede{margin-top:22px;color:#795b65}.zoe-premium .premium-type-visual{margin-top:45px;margin-bottom:35px}.zoe-premium .premium-zoe-word{font-size:clamp(110px,20vw,275px);letter-spacing:-.085em}.zoe-premium .premium-hero-bottom{padding-top:16px;padding-bottom:8px;letter-spacing:0}.zoe-premium .premium-hero-bottom>a{transition:translate 350ms var(--zoe-ease)}.zoe-premium .premium-hero-bottom>a:hover{translate:0 3px}.zoe-premium .intro h2 em,.zoe-premium .case-preview h2 em{color:#3a0614}.zoe-premium .direction-card{transition:background 300ms,box-shadow 420ms!important}.zoe-premium .direction-card:hover{box-shadow:0 12px 32px #3a06140a!important}
body[data-premium-paused="true"] *,body[data-premium-paused="true"] *::before,body[data-premium-paused="true"] *::after{animation-play-state:paused!important}
@media(max-width:850px){.site-nav{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px)!important;transition:opacity 220ms ease,transform 360ms var(--zoe-ease),visibility 0s 220ms!important}.site-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)!important;transition:opacity 220ms ease,transform 360ms var(--zoe-ease),visibility 0s!important}.menu-toggle span{transition:transform 300ms var(--zoe-ease),opacity 160ms!important}.zoe-premium .hero.hero-premium{padding-top:116px!important}.zoe-premium .premium-type-visual{margin:42px 0 35px}.zoe-premium .premium-zoe-word{font-size:clamp(95px,25vw,190px)}.zoe-premium .hero-premium h1{font-size:clamp(40px,9vw,64px)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}.premium-brand-visual{transform:none!important}.site-nav{transition:none!important}}
