/* Florentra motion: quiet hierarchy, one ambient focal point, immediate controls. */
.landing{--motion-ease:cubic-bezier(.25,.46,.45,1);--reveal-distance:10px;--float-distance:-3px;--enter-distance:10px}
/* Keep the layout height; the sticky inset gently reduces the visible header. */
.landing .site-header{position:sticky;top:-12px;z-index:20;isolation:isolate}
.landing .site-header:before{content:"";position:absolute;inset:0 -16px;z-index:-1;background:#f7f5edf5;border-bottom:1px solid #d7dfcf;box-shadow:0 8px 24px -21px #253d2f70;opacity:0;pointer-events:none;transition:opacity .45s}
@supports(backdrop-filter:blur(6px)){.landing .site-header:before{background:#f7f5edeb;backdrop-filter:blur(6px)}}
.landing .site-header.is-scrolled:before{opacity:1}
.landing #main,.landing main>section{scroll-margin-top:116px}
.landing .site-header .navlink:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}
.landing .site-header .navlink:focus-visible:after{transform:scaleX(1)}
/* Typography stays at its final size. The product arrives with the message,
   while support cards only fade: no scaling text or competing float loops. */
@keyframes florentra-enter{from{opacity:0;translate:0 var(--enter-distance)}to{opacity:1;translate:0 0}}
@keyframes florentra-fade{from{opacity:0}to{opacity:1}}
@keyframes florentra-breathe{0%,100%{translate:0 0}50%{translate:0 var(--float-distance)}}
.landing.motion-start .hero-copy>.eyebrow{--enter-distance:6px;animation:florentra-enter .65s var(--motion-ease) 0s backwards}
.landing.motion-start .hero-copy>h1{animation:florentra-enter .85s var(--motion-ease) .06s backwards}
.landing.motion-start .hero-copy>.lead{animation:florentra-fade .75s var(--motion-ease) .16s backwards}
.landing.motion-start .hero-actions,.landing.motion-start .hero-note{animation:florentra-fade .7s var(--motion-ease) .26s backwards}
.landing.motion-start .pf-phone{--enter-distance:14px;animation:florentra-enter 1s var(--motion-ease) .3s backwards}
.landing.motion-start .pf-float{animation:florentra-fade .75s var(--motion-ease) .56s backwards}
.landing.motion-start .pf-float-health{animation-delay:.64s}
.landing.motion-start .pf-float-leaf{animation-delay:.72s}
.landing.motion-start .hero-actions:focus-within,.landing.motion-start .pf-phone:focus-within{animation:none}
.landing.motion-enabled .pf-frame{animation:florentra-breathe 9s ease-in-out 1.6s infinite;animation-play-state:var(--ambient-play,paused)}
.landing.ambient-active{--ambient-play:running}
.landing .pf-composition:focus-within .pf-frame{animation-play-state:paused}
/* Armed only after the observer is constructed. Keyboard focus reveals at once. */
.fade-up{--reveal-y:var(--reveal-distance)}
.landing.motion-enabled [data-reveal]{transition:opacity .85s var(--motion-ease),transform .85s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.landing.motion-enabled .reveal-pending{opacity:0;transform:translateY(var(--reveal-y,10px))}
.landing [data-reveal]:focus-within{opacity:1;transform:none;transition:none!important}
/* Information cards are reading surfaces, not moving click targets. */
.landing .feature-cards .card:hover,.landing .feature-cards .card:hover .help-visual img{transform:none;translate:none;scale:none;box-shadow:none}
.landing .button>span[aria-hidden]{display:inline-block}
.landing.motion-enabled .button{transition:transform .28s var(--motion-ease),background-color .28s,box-shadow .28s}
.landing.motion-enabled .button>span[aria-hidden]{transition:translate .32s var(--motion-ease)}
@media(min-width:768px) and (hover:hover) and (pointer:fine){
 .landing.motion-enabled .button:hover{transform:translateY(-1px);background:#284b33;box-shadow:0 6px 14px -11px #20392870}
 .landing.motion-enabled .button:hover>span[aria-hidden]{translate:2px 0}
 .landing .site-header .navlink:hover{text-decoration:none}
 .landing .site-header .navlink:hover:after{transform:scaleX(1)}
 .landing .pf-composition:hover .pf-frame{animation-play-state:paused}
}
.landing.motion-enabled .button:active{transform:scale(.99);transition-duration:.12s}
@media(hover:none),(pointer:coarse){
 .landing .button:hover{transform:none;box-shadow:none}
}
/* Fixed 1px indicator scaled with transform, never an animated layout width. */
.landing .cf-active-indicator{position:absolute;left:0;top:0;width:1px;height:2px;background:#65824e;transform-origin:left center;pointer-events:none;opacity:0}
.landing .has-indicator .cf-active-indicator{opacity:1}
.landing.motion-enabled .has-indicator .cf-active-indicator{transition:transform .42s var(--motion-ease)}
.landing.motion-enabled .cf-tab{transition:background-color .28s,border-color .28s,color .28s}
/* One soft boundary and a small, original four-stage botanical signature. */
.landing .helps-section{position:relative;isolation:isolate}
.landing .helps-section:before{content:"";position:absolute;top:0;left:8%;right:8%;height:22px;border-radius:0 0 50% 50%;background:#e6ebdc70;z-index:-1;pointer-events:none}
.landing .growth-motif{margin:28px 0 30px;max-width:400px}
.landing .growth-motif figcaption{font:italic 1rem/1.6 Georgia,serif;color:#526c48;margin-bottom:14px}
.landing .growth-motif ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative}
.landing .growth-motif ol:before{content:"";position:absolute;left:9%;right:9%;top:58px;height:1px;background:#c5d1b6}
.landing .growth-motif li{position:relative;min-width:0;text-align:center}
.landing .growth-motif svg{display:block;margin:0 auto 8px;max-width:100%;fill:none;stroke:#587443;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.landing .growth-leaf{fill:#d8e3c9}.landing .growth-seed{fill:#a68a63;stroke:#8a7658}.landing .growth-soil{stroke:#bbc9aa}
.landing .growth-motif li>span{font-size:.73rem;line-height:1.5;color:#526348}
.landing .motion-toggle{font:inherit;font-size:.75rem;line-height:1.5;min-height:44px;padding:8px 12px;border:1px solid #cbd5bd;border-radius:999px;background:transparent;color:var(--green)}
.landing .motion-toggle:hover{background:#e8eddf}
@media(max-width:767px){
 .landing{--reveal-distance:6px;--enter-distance:6px}
 .landing.motion-start .pf-phone{--enter-distance:8px}
 .landing.motion-enabled .pf-frame{animation:none}
 .landing .site-header{top:-8px}.landing .site-header:before{inset:0 -10px}
 .landing #main,.landing main>section{scroll-margin-top:98px}
 .landing.motion-enabled .button:hover{transform:none;box-shadow:none}
 .landing.motion-enabled .button:active{transform:scale(.99)}
 .landing .button:hover>span[aria-hidden]{translate:none}
 .landing .growth-motif{margin:24px 0;max-width:100%}
}
html.motion-paused{scroll-behavior:auto}
.landing.motion-paused *,.landing.motion-paused *:before,.landing.motion-paused *:after{animation:none!important;transition:none!important}
.landing.motion-paused [data-reveal]{opacity:1;transform:none}
.landing.motion-paused .button:hover,.landing.motion-paused .button:active,.landing.motion-paused .feature-cards .card:hover .help-visual img{transform:none}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .landing *,.landing *:before,.landing *:after{animation:none!important;transition:none!important}
 .landing [data-reveal]{opacity:1;transform:none}
 .landing .button:hover,.landing .button:active,.landing .feature-cards .card:hover,.landing .feature-cards .card:hover .help-visual img{transform:none;translate:none;scale:none}
 .landing .button>span[aria-hidden],.landing .text-link>span[aria-hidden]{translate:none}
}
