/* Groweva motion: one easing family, short entrances, and no scroll hijacking. */
:root{--motion-ease:cubic-bezier(.22,.68,.2,1);--motion-fast:240ms;--motion-enter:780ms}
.hero-line,.hero-line-inner{display:block}
.hero-line-inner{transform-origin:left bottom}
.motion-enabled .hero-line-inner{animation:hero-type-in 950ms var(--motion-ease) both}
.motion-enabled .hero-line:nth-child(2) .hero-line-inner{animation-delay:100ms}
.motion-enabled .hero-line:nth-child(3) .hero-line-inner{animation-delay:200ms}
.motion-enabled .hero-copy>.eyebrow{animation:gentle-arrive 750ms var(--motion-ease) both}
.motion-enabled .hero-description{animation:gentle-arrive 850ms var(--motion-ease) 250ms both}
.motion-enabled .hero .button-row{animation:gentle-arrive 850ms var(--motion-ease) 340ms both}
.motion-enabled .hero-footnote{animation:gentle-arrive 850ms var(--motion-ease) 420ms both}
.motion-enabled .hero-photo{animation:photo-arrive 1150ms var(--motion-ease) 120ms both}
.motion-enabled .growth-card{animation:card-arrive 950ms var(--motion-ease) 380ms both}
.motion-enabled .plant-tile{animation:card-arrive 950ms var(--motion-ease) 470ms both}
.motion-enabled .purpose-card{animation:card-arrive 950ms var(--motion-ease) 560ms both}
.motion-enabled .round-note{animation:card-arrive 950ms var(--motion-ease) 640ms both}
.motion-enabled .motion-reveal{opacity:0;translate:0 26px;transition:opacity var(--motion-enter) var(--motion-ease),translate var(--motion-enter) var(--motion-ease),scale 1050ms var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .motion-reveal-image{scale:.985}
.motion-enabled .motion-reveal.is-visible,.motion-enabled .motion-reveal:focus-within{opacity:1;translate:0 0;scale:1}
.motion-enabled .motion-reveal:focus-within{transition-delay:0ms}
.hero-photo img,.about-photo,.note-photo img,.forma-screen img{transition:scale 900ms var(--motion-ease),filter 900ms var(--motion-ease)}
.hero-photo:hover img{scale:1.025}
.header nav a{position:relative}
.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--purple);scale:0 1;transform-origin:left;transition:scale 300ms var(--motion-ease)}
.header nav a:hover:after,.header nav a:focus-visible:after{scale:1 1}
.button,.contact-orb,.visual-circle,.project-visual,.note-art{transition-timing-function:var(--motion-ease)}
.circle-arrow{transition:translate 300ms var(--motion-ease)}
.button:hover .circle-arrow{translate:2px -2px}
.project-meta h3,.note-card h3{transition:color 250ms ease}
.note-read>span,.note-read{transition:color 250ms ease,translate 350ms var(--motion-ease)}
.note-card:hover .note-read>span{translate:3px -3px}
.note-card:hover .note-read{color:var(--purple)}
.service-toggle,.faq-list summary>span{transition:transform 320ms var(--motion-ease),color 240ms ease}
.service[open] .service-content,.faq-list details[open]>p{animation:accordion-copy-in 360ms var(--motion-ease) both}
dialog[open]{animation:dialog-arrive 320ms var(--motion-ease)}
dialog[open]::backdrop{animation:backdrop-arrive 250ms ease}

/* Original Lottie artwork, with a still fallback reserved in the same space. */
.lottie-host{position:relative;isolation:isolate}
.lottie-canvas,.lottie-fallback{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lottie-canvas{opacity:0;transition:opacity 180ms ease}
.lottie-loaded>.lottie-canvas{opacity:1}
.lottie-loaded>.lottie-fallback{opacity:0;visibility:hidden}
.lottie-canvas svg{display:block;width:100%!important;height:100%!important;position:static}
.bars.lottie-host{display:block}
.bar-fallback{display:flex;align-items:flex-end;gap:6px}
.hero-scribble.lottie-host{position:absolute}
.hero-scribble>.lottie-fallback>svg{display:block;width:100%;height:100%;fill:none;stroke:#bba386;stroke-width:1.5}
.services-doodle>.studio-star{position:relative;display:block;font-size:inherit;line-height:1;width:1em;height:1em;flex:0 0 1em}
.services-doodle .studio-star .lottie-fallback{font-size:inherit;line-height:1;display:flex;align-items:center;justify-content:center}
.services-doodle .studio-star .lottie-canvas svg{position:static;bottom:auto;left:auto;width:100%!important;height:100%!important}
html.motion-paused{scroll-behavior:auto}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused .motion-reveal{opacity:1!important;translate:none!important;scale:1!important}

@media(hover:hover) and (pointer:fine){
  .note-card:hover .note-photo img{scale:1.045}
  .project:hover .forma-screen img{scale:1.025}
  .about-collage:hover .about-photo{filter:saturate(.8)}
  .purpose-card{transition:translate 450ms var(--motion-ease),box-shadow 450ms var(--motion-ease)}
  .purpose-card:hover{translate:0 -4px;box-shadow:0 22px 38px #173e3918}
}
@keyframes hero-type-in{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}
@keyframes gentle-arrive{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes photo-arrive{from{opacity:0;translate:0 18px;scale:.975}to{opacity:1;translate:0 0;scale:1}}
@keyframes card-arrive{from{opacity:0;translate:0 22px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
@keyframes accordion-copy-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes dialog-arrive{from{opacity:0;translate:0 12px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:640px){
  .motion-enabled .motion-reveal{translate:0 18px;transition-duration:650ms;transition-delay:0ms}
  .motion-enabled .motion-reveal.is-visible,.motion-enabled .motion-reveal:focus-within{translate:0 0}
  .bar-fallback{gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .motion-reveal,.motion-enabled .motion-reveal,.motion-enabled .motion-reveal-image{opacity:1!important;translate:none!important;scale:1!important}
  .hero-line-inner,.hero-photo,.growth-card,.plant-tile,.purpose-card,.round-note,.hero-description,.hero-copy>.eyebrow,.button-row,.hero-footnote{animation:none!important;translate:none!important;scale:1!important;opacity:1!important}
  .hero-photo img,.note-photo img,.forma-screen img{scale:1!important}
  .header nav a:after,.circle-arrow,.note-read>span{transition:none!important}
}
