:root{--cream:#fcf9f2;--pink:#c80b64;--blue:#007a93;--ink:#203e39}body{background:var(--cream)}header{padding-top:18px;padding-bottom:18px}.brand img{mix-blend-mode:multiply}.brand{isolation:auto}nav a{transition:color .2s}.hero{padding:65px 0 90px;gap:45px}.hero h1{font-size:clamp(48px,5.5vw,76px)}.hero-art{height:500px;border-radius:180px 180px 35px 35px;box-shadow:0 22px 45px #24453c12;transform:rotate(2deg);overflow:visible;background:#dce8d9}.hero-art:before,.hero-art:after{display:none}.hero-illustration{width:100%;height:100%;object-fit:cover;object-position:44% center;border-radius:inherit}.art-title{top:-18px;left:24px;background:#ffdc86;border-radius:28px;padding:12px 18px;z-index:2;box-shadow:0 6px 15px #253f3010}.tag{top:auto;bottom:80px;right:-14px;box-shadow:0 8px 30px #203b3020;animation:float-tag 5s ease-in-out infinite}.art-words{bottom:20px;background:#fff9efeb;padding:8px 18px;border-radius:20px;font-size:21px}.hero-art .tag{font-size:13px}.hero-art:focus-within{transform:none}.btn{box-shadow:0 5px 13px #c80b6416;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #c80b6425}.btn.secondary{box-shadow:none}.section.tint{background:#eff3e9;position:relative;border-radius:50px 50px 0 0}.card{border:0;border-radius:24px;box-shadow:0 5px 24px #24453c08;transition:transform .3s,box-shadow .3s}.card:hover{box-shadow:0 16px 36px #24453c18;transform:translateY(-6px)}.card-visual{height:215px;position:relative;overflow:hidden;align-items:flex-start}.event-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .event-image{transform:scale(1.045)}.date-box{position:relative;z-index:1;background:#fffdf4f2;box-shadow:0 3px 15px #203e3910}.image-caption{position:absolute;right:12px;bottom:12px;background:#fffcf0e8;font-size:9px;padding:3px 7px;border-radius:12px;color:#334d45}.card-body{padding:26px}.card-bottom strong{font-size:12px}.quote{background:#fbe7ad;border-radius:70px 18px 65px 18px}.community{position:relative;border-radius:40px 40px 100px 40px;background:#214f46;overflow:hidden}.community:after{content:'✳';font-size:170px;position:absolute;right:24px;bottom:-95px;color:#ffffff08;pointer-events:none}.group-link{transition:background .2s,transform .2s}.group-link:hover{background:#ffffff10;transform:translateX(4px)}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.post-card{border-top:1px solid #ccd7cb;padding:25px 8px 35px;display:block}.post-card h3{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.15;margin:14px 0}.post-card p{font-size:14px;color:#54665c}.post-icon{display:block;font:38px Georgia,serif;color:#bf1965;margin-bottom:20px}.post-card:nth-child(3n+2) .post-icon{color:#007e93}.post-card:nth-child(3n) .post-icon{color:#b47a11}.post-card:hover h3{color:var(--pink)}.detail-image{margin:0 0 30px}.detail-image img{width:100%;max-height:340px;object-fit:cover;border-radius:24px}.detail-image figcaption{font-size:10px;color:#667469;margin-top:7px}.form-panel{box-shadow:0 10px 40px #26473608}.site-footer{display:block;max-width:none;margin:55px 0 0;padding:65px 0 25px;background:#183e36;color:#f9f4e8;border:0;position:relative;isolation:isolate}.site-footer:before{content:'';position:absolute;top:-14px;left:0;right:0;height:16px;background:radial-gradient(18px at 50% 18px,#183e36 97%,transparent 100%) 0 0/36px 18px repeat-x}.footer-inner{max-width:1184px;margin:auto;padding:0 28px;display:grid;grid-template-columns:1.4fr 1fr;gap:50px}.site-footer h2{font-size:44px;margin:18px 0 28px}.site-footer .eyebrow{color:#b7d2bb}.site-footer h3{font-size:16px;margin:8px 0 24px}.footer-links>a{display:block;margin:12px 0;color:#f6f0de;overflow-wrap:anywhere}.footer-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.footer-social a{border:1px solid #f9f4e850;padding:10px 18px;border-radius:24px}.footer-social a:hover{background:#ffffff12}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px}.footer-bottom div{display:flex;gap:18px;flex-wrap:wrap}.footer-bottom small{width:100%;color:#bbcec3;font-size:10px}.reveal{opacity:0;transform:translateY(15px);transition:opacity .6s ease,transform .6s ease}.reveal.revealed{opacity:1;transform:translateY(0)}.quote.revealed{transform:rotate(-2deg)}@keyframes float-tag{50%{transform:translateY(-7px) rotate(5deg)}}
@media(max-width:900px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{height:420px}.hero{gap:30px}.footer-inner{gap:28px}.site-footer h2{font-size:36px}}
@media(max-width:650px){.hero{padding:35px 0 55px}.hero-art{height:370px;margin:10px 10px 0}.hero h1{font-size:53px}.card-visual{height:220px}.post-grid{grid-template-columns:1fr}.post-card{padding-bottom:20px}.community{border-radius:30px}.footer-inner{grid-template-columns:1fr;padding:0 22px;gap:32px}.site-footer h2{font-size:34px}.site-footer{margin-top:30px}.art-title{font-size:10px;left:8px}.tag{right:-8px}.section.tint{border-radius:30px 30px 0 0}.hero .lead{max-width:95%}.detail-image img{max-height:240px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.quote.revealed{transform:none}}
@media print{.reveal{opacity:1;transform:none}.site-footer{display:none!important}}
main:focus{outline:none}

.tag{animation:none!important}.post-cover{width:100%;height:210px;object-fit:cover;border-radius:16px;margin-bottom:20px}.article-photo{display:block;width:100%;height:auto;border-radius:20px}.article figure{margin:24px 0}.article figcaption{font-size:.85rem;color:#55685c;margin-top:8px}.helper-pool{background:#e6eee3;border-radius:28px;padding:clamp(24px,5vw,60px);margin-bottom:60px}.board-login{max-width:520px;margin-bottom:70px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.legal{max-width:850px;padding-bottom:70px}.legal h2{font-size:25px;margin-top:32px}.legal a{overflow-wrap:anywhere}

/* Comfortable reading rhythm and a single flowing consent sentence. */
.eyebrow + h2{margin-top:18px}
.actions + .small,.form-panel button + .small{margin-top:18px}
.team-placeholder p{margin-bottom:24px}
.team-placeholder > .btn + p{margin-top:22px;margin-bottom:0}
.section.helper-pool{padding:clamp(28px,5vw,60px)}
.helper-pool h2{margin-bottom:28px}
.helper-pool p{max-width:750px;margin-bottom:24px}
.helper-pool > .btn{margin-top:10px}
.form-panel .check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;margin-top:24px;line-height:1.65}
.form-panel .check input{width:18px;height:18px;margin:3px 0 0}
.form-panel .check span{min-width:0}
.form-panel .check a{text-decoration:underline;text-underline-offset:3px}
.legal h2{margin:36px 0 16px}.legal p{margin-bottom:22px}
/* Six independent, slow loops, clipped to the illustration. */
.soap-bubbles{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.soap-bubble{position:absolute;bottom:-70px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;border:1px solid #ffffffa8;background:radial-gradient(circle at 28% 24%,#fff9 0 3%,transparent 9%),radial-gradient(circle at 67% 78%,#efafd840,transparent 62%);box-shadow:inset 2px 2px 5px #fff6,inset -2px -3px 6px #92d6db60;opacity:0;animation:bubble-rise var(--duration) linear infinite;animation-delay:var(--delay)}
.bubble-1{--x:22%;--size:27px;--duration:23s;--delay:-4s;--drift:20px}
.bubble-2{--x:48%;--size:44px;--duration:29s;--delay:-17s;--drift:-27px}
.bubble-3{--x:72%;--size:32px;--duration:26s;--delay:-10s;--drift:19px}
.bubble-4{--x:35%;--size:19px;--duration:31s;--delay:-24s;--drift:-18px}
.bubble-5{--x:83%;--size:23px;--duration:28s;--delay:-21s;--drift:-24px}
.bubble-6{--x:60%;--size:37px;--duration:34s;--delay:-2s;--drift:24px}
@keyframes bubble-rise{0%{transform:translate(0,0);opacity:0}10%{opacity:.65}35%{transform:translate(var(--drift),-210px)}65%{transform:translate(calc(var(--drift) * -.35),-400px);opacity:.55}90%{opacity:.35}100%{transform:translate(var(--drift),-610px);opacity:0}}
@media(prefers-reduced-motion:reduce){.soap-bubbles{display:none}.soap-bubble{animation:none}}
.payment-summary{padding:18px 20px;margin:20px 0;background:#edf3e9;border-radius:14px;line-height:1.7;font-size:14px}.payment-summary .btn{max-width:100%;white-space:normal}.payment-summary h3{font-size:19px;margin:0 0 14px}.payment-summary p:last-child{margin:18px 0 0}.success>.btn{margin-top:12px}
