
/* Her Circle NL — optional elegant motion layer */
:root { --motion-ease: cubic-bezier(.22,1,.36,1); }
html { scroll-behavior:smooth; }
.motion-reveal { opacity:0; transform:translateY(30px); transition:opacity .75s var(--motion-ease),transform .75s var(--motion-ease); }
.motion-reveal.motion-left { transform:translateX(-42px); }
.motion-reveal.motion-right { transform:translateX(42px); }
.motion-reveal.is-visible { opacity:1; transform:translate(0,0); }
.motion-reveal:nth-child(2) { transition-delay:.09s; }
.motion-reveal:nth-child(3) { transition-delay:.16s; }
.motion-reveal:nth-child(4) { transition-delay:.22s; }
.hero h1, .hero .hero-lead, .hero .hero-description, .hero .hero-buttons { animation:hero-rise .85s var(--motion-ease) both; }
.hero .hero-lead { animation-delay:.12s; }
.hero .hero-description { animation-delay:.22s; }
.hero .hero-buttons { animation-delay:.34s; }
@keyframes hero-rise { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
/* Accessible carousel controls and member review cards */
.member-voices { padding:clamp(55px,7vw,105px) 0; background:#fff7fa; overflow:hidden; }
.member-voices .voices-intro { max-width:700px; margin-bottom:28px; }
.voices-header { display:flex; justify-content:space-between; align-items:end; gap:16px; flex-wrap:wrap; }
.voices-controls { display:flex; gap:10px; }
.voices-controls button { border:1px solid #b8839e; background:#fff; color:#693a55; border-radius:100%; width:44px; height:44px; cursor:pointer; font-size:24px; }
.voices-controls button:hover, .voices-controls button:focus-visible { background:#713d5b; color:white; }
.voices-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; gap:18px; padding:14px 2px 24px; scrollbar-width:thin; }
.voice-card { flex:0 0 calc((100% - 36px)/3); scroll-snap-align:start; background:white; border:1px solid #eedce6; border-radius:22px; padding:clamp(22px,3vw,35px); box-shadow:0 12px 35px rgba(91,41,68,.06); min-width:0; }
.voice-mark { color:#bb7e9e; font-family:Georgia,serif; font-size:60px; line-height:1; }
.voice-card p { line-height:1.75; color:#493a44; }
.voice-card strong { display:block; margin-top:22px; color:#64364e; }
.voice-card small { display:block; margin-top:8px; color:#866e7b; }
.gallery-marquee:hover .gallery-track, .gallery-marquee:focus-within .gallery-track { animation-play-state:paused; }
@media(max-width:900px) { .voice-card { flex-basis:calc((100% - 18px)/2); } }
@media(max-width:620px) { .voice-card { flex-basis:88%; } .motion-reveal.motion-left,.motion-reveal.motion-right { transform:translateY(24px); } .voices-header h2 { font-size:clamp(32px,8vw,48px); } }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .motion-reveal,.motion-reveal.motion-left,.motion-reveal.motion-right {opacity:1;transform:none;transition:none;} .hero h1,.hero .hero-lead,.hero .hero-description,.hero .hero-buttons {animation:none;} .voices-track {scroll-behavior:auto;} .gallery-track,.marquee-track {animation:none!important;} }

.partner-logo, .footer-logo img { background:transparent !important; }
