[data-reveal]{will-change:transform, opacity;pointer-events:none}[data-reveal].is-revealed{pointer-events:auto}[data-reveal=fade]{opacity:0}[data-reveal=fade].is-revealed{opacity:1;transform:none}[data-reveal=fade-up]{opacity:0;transform:translateY(30px)}[data-reveal=fade-up].is-revealed{opacity:1;transform:none}[data-reveal=fade-down]{opacity:0;transform:translateY(-30px)}[data-reveal=fade-down].is-revealed{opacity:1;transform:none}[data-reveal=fade-left]{opacity:0;transform:translate(30px)}[data-reveal=fade-left].is-revealed{opacity:1;transform:none}[data-reveal=fade-right]{opacity:0;transform:translate(-30px)}[data-reveal=fade-right].is-revealed{opacity:1;transform:none}[data-reveal=zoom]{opacity:0;transform:scale(.95)}[data-reveal=zoom].is-revealed{opacity:1;transform:none}[data-reveal=flip]{opacity:0;transform:perspective(1000px)rotateX(10deg)}[data-reveal=flip].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}}[data-stagger]>*{opacity:0;will-change:transform, opacity;transform:translateY(30px)}[data-stagger]>.is-revealed{opacity:1;transform:none}[data-parallax]{will-change:transform}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.reveal-on-scroll{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.stagger-7{animation-delay:.7s}.stagger-8{animation-delay:.8s}.stagger-9{animation-delay:.9s}.stagger-10{animation-delay:1s}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.hover-lift{transition:transform .3s}.hover-lift:hover{transform:translateY(-5px)}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s}.hover-rotate:hover{transform:rotate(5deg)}.newsletter-section{background:var(--color-sage-50);text-align:center;padding:80px 56px}.newsletter-inner{max-width:600px;margin:0 auto}.newsletter-section .section-eyebrow{color:var(--color-sage);text-align:center;margin-bottom:12px}.newsletter-section .section-h2{color:var(--color-text);margin-bottom:14px;font-size:clamp(28px,3vw,44px)}.newsletter-desc{font-size:var(--font-size-base);color:var(--color-text-muted);margin-bottom:32px;line-height:1.7}.newsletter-form{gap:10px;max-width:480px;margin:0 auto;display:flex}.newsletter-form input[type=email]{font-family:var(--font-family-body);font-size:var(--font-size-md);border:2px solid var(--color-sage-100);border-radius:var(--border-radius-base);color:var(--color-text);background:#fff;outline:none;flex:1;padding:12px 18px;transition:border-color .2s}.newsletter-form input[type=email]:focus{border-color:var(--color-sage-300)}.newsletter-form input[type=email]::placeholder{color:var(--color-text-subtle)}.newsletter-form button{background:var(--color-sage);color:#fff;font-family:var(--font-family-body);font-size:var(--font-size-sm);border-radius:var(--border-radius-base);cursor:pointer;letter-spacing:.03em;white-space:nowrap;border:none;padding:12px 24px;font-weight:600;transition:background .2s}.newsletter-form button:hover{background:var(--color-sage-400)}.newsletter-privacy{color:var(--color-text-subtle);margin-top:12px;font-size:11.5px}@media (width<=768px){.newsletter-section{padding:64px 24px}}@media (width<=480px){.newsletter-form{flex-direction:column}.newsletter-form input,.newsletter-form button{border-radius:var(--border-radius-sm);width:100%}}
