/* Seattle Rideshare Lawyer — editorial motion layer
   Lightweight, progressively enhanced motion inspired by motion.page-style
   interactions. No framework dependency. */
:root{
  --motion-ease:cubic-bezier(.22,.8,.25,1);
  --motion-slow:cubic-bezier(.16,1,.3,1);
  --motion-gold:#ebd274;
  --motion-plum:#745d7e;
}

.motion-managed{
  transition:opacity .72s var(--motion-ease),transform .82s var(--motion-slow);
  transition-delay:var(--motion-delay,0ms);
}
html.motion-capable .motion-managed.motion-pending{opacity:0;transform:translate3d(0,22px,0)}
html.motion-capable .motion-managed.motion-pending.motion-from-left{transform:translate3d(-24px,0,0)}
html.motion-capable .motion-managed.motion-pending.motion-from-right{transform:translate3d(24px,0,0)}
html.motion-capable .motion-managed.is-inview{opacity:1;transform:translate3d(0,0,0)}

/* Hero title line masks */
.motion-hero-title .motion-hero-line-wrap{display:block;overflow:hidden;padding-bottom:.055em;margin-bottom:-.055em}
.motion-hero-title .motion-hero-line{display:inline-block;transform:translate3d(0,108%,0);opacity:.01;transition:transform .92s var(--motion-slow),opacity .36s ease;transition-delay:calc(var(--motion-line,0) * 105ms)}
.motion-hero.is-inview .motion-hero-line{transform:none;opacity:1}
.motion-hero .kicker,.motion-hero .hero-copy,.motion-hero .hero-actions,.motion-hero .hero-meta{transition:opacity .72s var(--motion-ease),transform .82s var(--motion-slow)}
html.motion-capable .motion-hero:not(.is-inview) .kicker,
html.motion-capable .motion-hero:not(.is-inview) .hero-copy,
html.motion-capable .motion-hero:not(.is-inview) .hero-actions,
html.motion-capable .motion-hero:not(.is-inview) .hero-meta{opacity:0;transform:translateY(18px)}
.motion-hero .hero-copy{transition-delay:.20s}.motion-hero .hero-actions{transition-delay:.29s}.motion-hero .hero-meta{transition-delay:.24s}

/* Page and blog mastheads */
.motion-photo-host{position:relative;overflow:hidden;isolation:isolate}
.motion-photo-host::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:var(--motion-mask,#332c3e);transform-origin:right center;transform:scaleX(1);transition:transform 1.05s var(--motion-slow)}
.motion-photo-host.is-inview::before{transform:scaleX(0)}
.motion-parallax-media{will-change:transform;transform:translate3d(0,var(--motion-parallax,0px),0) scale(1.045)!important}
.page-hero.motion-page-hero .page-hero-inner,.blog-visual-hero.motion-article-hero .blog-visual-inner{transition:opacity .72s var(--motion-ease),transform .9s var(--motion-slow)}
html.motion-capable .page-hero.motion-page-hero:not(.is-inview) .page-hero-inner,
html.motion-capable .blog-visual-hero.motion-article-hero:not(.is-inview) .blog-visual-inner{opacity:0;transform:translateY(24px)}

/* Homepage journey route */
.journey.motion-journey .stops{position:relative;--route-progress:0}
.journey.motion-journey .stops::after{content:"";position:absolute;left:0;top:-1px;width:calc(var(--route-progress) * 100%);height:2px;background:linear-gradient(90deg,var(--motion-plum),var(--motion-gold));transition:width .1s linear;pointer-events:none}
.journey.motion-journey .stop{position:relative;transition:transform .4s var(--motion-ease),opacity .35s ease}
.journey.motion-journey .stop::before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:2px solid var(--motion-plum);transform:scale(.8);transition:transform .34s ease,background .34s ease,border-color .34s ease}
.journey.motion-journey .stop.is-active{transform:translateY(-3px)}
.journey.motion-journey .stop.is-active::before{transform:scale(1.15);background:var(--motion-gold);border-color:var(--motion-gold)}
.journey.motion-journey .stop.is-active .stop-num{color:var(--motion-plum)}

/* Subtle editorial word band */
.motion-wordband{height:clamp(84px,9vw,128px);overflow:hidden;display:flex;align-items:center;pointer-events:none;user-select:none;background:color-mix(in srgb,var(--lav) 7%,transparent);border-top:1px solid color-mix(in srgb,var(--lav) 18%,transparent);border-bottom:1px solid color-mix(in srgb,var(--lav) 18%,transparent)}
.motion-wordband span{white-space:nowrap;font-family:var(--serif);font-size:clamp(62px,8.8vw,128px);line-height:.8;letter-spacing:-.055em;color:color-mix(in srgb,var(--lav2) 8%,transparent);transform:translate3d(var(--motion-word-x,-38px),0,0);will-change:transform}
html[data-theme="dark"] .motion-wordband{background:color-mix(in srgb,var(--lav) 9%,transparent);border-color:color-mix(in srgb,var(--lav) 18%,transparent)}
html[data-theme="dark"] .motion-wordband span{color:color-mix(in srgb,#eadff0 7%,transparent)}

/* Cards and list interactions */
.attorney-card.motion-photo-card::after,.about-portrait.motion-photo-card::after,.team-card.motion-card::after,.blog-card.motion-card::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid color-mix(in srgb,var(--motion-plum) 0%,transparent);border-radius:inherit;transition:border-color .3s ease}
.attorney-card.motion-photo-card:hover::after,.about-portrait.motion-photo-card:hover::after,.team-card.motion-card:hover::after,.blog-card.motion-card:hover::after{border-color:color-mix(in srgb,var(--motion-plum) 34%,transparent)}
.attorney-card.motion-photo-card img,.about-portrait.motion-photo-card img,.team-card.motion-card img,.blog-card.motion-card img{transition:transform .75s var(--motion-slow)}
.attorney-card.motion-photo-card:hover img,.team-card.motion-card:hover img,.blog-card.motion-card:hover img{transform:scale(1.02)}
.practice-row.motion-practice-row{position:relative;overflow:hidden}
.practice-row.motion-practice-row::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:linear-gradient(90deg,var(--motion-plum),var(--motion-gold));transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--motion-ease)}
.practice-row.motion-practice-row:hover::after,.practice-row.motion-practice-row:focus-visible::after{transform:scaleX(1)}
.practice-row.motion-practice-row>span:last-child{transition:transform .28s var(--motion-ease)}
.practice-row.motion-practice-row:hover>span:last-child,.practice-row.motion-practice-row:focus-visible>span:last-child{transform:translateX(5px)}

/* Long-form section headings */
.content-section.motion-section>h2,.blog-body .motion-section-title{position:relative}
.content-section.motion-section>h2::after,.blog-body .motion-section-title::after{content:"";display:block;width:min(78px,20%);height:2px;margin-top:14px;background:linear-gradient(90deg,var(--motion-plum),var(--motion-gold));transform:scaleX(0);transform-origin:left center;transition:transform .72s var(--motion-slow) .1s}
.content-section.motion-section.is-inview>h2::after,.blog-body .motion-section-title.is-inview::after{transform:scaleX(1)}
.statement-band.motion-draw-rule{position:relative;overflow:hidden}
.statement-band.motion-draw-rule::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--motion-gold);transform:scaleY(0);transform-origin:top center;transition:transform .95s var(--motion-slow)}
.statement-band.motion-draw-rule.is-inview::before{transform:scaleY(1)}

/* FAQ accordion micro-motion */
.faq-accordion summary{transition:background-color .25s ease,color .25s ease}
.faq-accordion .faq-answer{animation:faq-fade .28s ease both}
@keyframes faq-fade{from{opacity:.35;transform:translateY(-3px)}to{opacity:1;transform:none}}
.faq-group.motion-managed{transition-delay:var(--motion-delay,0ms)}

/* Article reading progress */
.motion-reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:120;transform-origin:left center;transform:scaleX(var(--motion-read-progress,0));background:linear-gradient(90deg,var(--motion-plum),var(--motion-gold));pointer-events:none}

/* About principles and team */
.about-principles.motion-principles article{position:relative}
.about-principles.motion-principles article::before{content:"";position:absolute;left:0;top:-1px;width:56px;height:2px;background:var(--motion-gold);transform:scaleX(0);transform-origin:left center;transition:transform .65s var(--motion-slow) var(--motion-delay,0ms)}
.about-principles.motion-principles article.is-inview::before{transform:scaleX(1)}
.team-card.motion-card{position:relative;overflow:hidden}

@media(max-width:820px){
  .motion-parallax-media{transform:none!important}
  .motion-wordband{height:76px}.motion-wordband span{font-size:62px}
  .journey.motion-journey .stops::after{left:3px;top:0;width:2px;height:calc(var(--route-progress) * 100%);background:linear-gradient(180deg,var(--motion-plum),var(--motion-gold))}
  .journey.motion-journey .stop{padding-left:24px}
  .journey.motion-journey .stop::before{left:-1px;top:27px}
  .journey.motion-journey .stop.is-active{transform:translateX(3px)}
}

@media(prefers-reduced-motion:reduce){
  .motion-managed,.motion-hero-line,.motion-photo-host::before,.practice-row.motion-practice-row::after,
  .content-section.motion-section>h2::after,.blog-body .motion-section-title::after,.statement-band.motion-draw-rule::before,
  .about-principles.motion-principles article::before,.motion-wordband span,.motion-parallax-media{transition:none!important;animation:none!important;transform:none!important;opacity:1!important}
  .motion-reading-progress{display:none}
}
