
:root{--navy:#101c35;--pink:#f1a4d8;--white:#fffafc;--muted:#c4ccdb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--white);font:15px/1.85 Arial,Helvetica,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--pink);outline-offset:6px}.header{margin:0 6%;padding:43px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:0}.wordmark{display:block;line-height:0}.wordmark img{display:block;width:245px;height:auto}nav{display:flex;gap:48px;color:var(--pink);font:italic 23px Georgia,serif}nav a:hover{color:var(--white)}.home-layout{margin:30px 6% 80px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:9%;align-items:center}.event-feature{min-width:0}.event-feature a{display:block}.event-poster{display:block;width:100%;height:auto}.event-feature a:hover{opacity:.96}.about{max-width:350px;position:relative}.about p{font:normal 20px/1.8 Georgia,serif;margin:0 0 27px;color:var(--white)}.about p:first-child{color:var(--pink);font:italic 31px/1.4 Georgia,serif;letter-spacing:-.4px}.journal-page{margin:50px 6% 100px}.journal-page h1{font:italic 72px/1.1 Georgia,serif;color:var(--pink);font-weight:normal;margin:0 0 60px}.empty-section{height:0}.journal-signup{max-width:560px;margin-top:50px}.newsletter-form label{display:block;font:italic 27px Georgia,serif;color:var(--pink);margin-bottom:20px}.newsletter-row{display:flex;gap:12px;border-bottom:1px solid #f1a4d866;padding:0 0 14px}.newsletter-row input{min-width:0;flex:1;border:0;background:transparent;color:var(--white);font-size:16px;padding:10px 0;border-radius:0}.newsletter-row input::placeholder{color:var(--muted)}.newsletter-row button{border:0;background:var(--pink);color:var(--navy);padding:12px 24px;cursor:pointer}.newsletter-form p{font-size:11px;color:var(--muted);line-height:1.7}.events-page{max-width:760px;margin:30px auto 80px;padding:0 30px}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:850px){.home-layout{gap:6%;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr)}.about p:first-child{font-size:26px}.about p{font-size:17px}.wordmark img{width:210px}}@media(max-width:620px){.header{padding:28px 0;gap:20px}.wordmark img{width:170px}nav{font-size:19px;gap:23px}.home-layout{grid-template-columns:1fr;margin-top:20px;gap:38px}.about{max-width:none}.about p:first-child{font-size:28px}.about p{font-size:18px}.journal-page{margin-top:35px}.journal-page h1{font-size:56px}.newsletter-row button{padding:12px 18px}.events-page{padding:0;margin:20px 6% 60px}}@media(max-width:360px){.wordmark img{width:145px}nav{font-size:17px;gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Opening spread gathers into the event as the page scrolls. */
.scroll-story{height:240svh;position:relative}.story-stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}.scene-wordmark{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:clamp(170px,26vw,400px);z-index:1}.scene-wordmark img{width:100%;height:auto;display:block}.wellness-card{position:absolute;top:47%;left:50%;width:clamp(130px,18vw,260px);aspect-ratio:.83;border-radius:8px;overflow:hidden;box-shadow:0 20px 65px #0005;will-change:transform,opacity;transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:2;pointer-events:none;background:#34415a}.wellness-card img{width:100%;height:100%;object-fit:cover;display:block}.card-2,.card-3{aspect-ratio:1.17}.card-4{aspect-ratio:1.12}.card-5 img{object-position:80% center}.gathered-event{position:absolute;left:50%;top:47%;width:min(65svh,520px,78vw);transform:translate(-50%,-50%) scale(.8);opacity:0;z-index:4;box-shadow:0 30px 85px #0004;will-change:transform,opacity;pointer-events:none;visibility:hidden}.gathered-event img{display:block;width:100%;height:auto}.gathered-event.is-visible{visibility:visible;pointer-events:auto}.scroll-cue{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);color:var(--pink);font-size:26px;z-index:5;padding:8px 20px}.event-details{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin:0 10% 110px;padding-top:35px;scroll-margin-top:30px}.event-details p{font:20px/1.8 Georgia,serif;margin:0 0 22px}.event-details .event-date{font:italic 21px/1.65 Georgia,serif;color:var(--pink);margin-bottom:30px}.haus-description p{font:italic 28px/1.65 Georgia,serif;color:var(--pink)}.event-link{display:inline-flex;gap:35px;color:var(--pink);font-size:13px;padding:10px 0;border-bottom:1px solid #f1a4d855}.event-link:hover{color:white}.no-motion .scroll-story{height:90svh}.no-motion .wellness-card,.no-motion .scene-wordmark{display:none}.no-motion .gathered-event{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)}
@media(max-width:620px){.scroll-story{height:220svh}.wellness-card{width:29vw;border-radius:5px}.scene-wordmark{width:45vw}.event-details{grid-template-columns:1fr;margin:0 7% 70px;gap:30px}.event-details p{font-size:18px}.haus-description p{font-size:24px}.gathered-event{width:min(77vw,60svh)}}
@media(prefers-reduced-motion:reduce){.scroll-story{height:90svh}.wellness-card,.scene-wordmark{display:none}.gathered-event{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)}}

/* Slightly smaller event artwork with softly rounded corners. */
.gathered-event{width:min(58svh,465px,70vw);border-radius:22px;overflow:hidden}
.events-page .event-poster{width:90%;margin-inline:auto;border-radius:22px}
@media(max-width:620px){.gathered-event{width:min(70vw,54svh);border-radius:18px}.events-page .event-poster{border-radius:18px}}

/* Quiet, simple header navigation. */
.header nav{font:400 14px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.3px}
@media(max-width:620px){.header nav{font-size:12px}}

.header nav{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:.6px}

/* White typography on the navy background. */
.header nav,.header nav a,.about p,.about p:first-child,.journal-page h1,.newsletter-form label,.event-details .event-date,.haus-description p,.event-link,.scroll-cue{color:var(--white)}
.header nav a:hover,.event-link:hover{opacity:.7}

/* Central statement stays clear between the opening image cards. */
.scene-wordmark.mission-statement{width:min(49vw,650px);text-align:center;z-index:3;pointer-events:none}
.mission-statement h1{margin:0;color:var(--white);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;font-size:clamp(25px,3.4vw,52px);line-height:1.25;letter-spacing:-.6px}
@media(max-width:620px){.scene-wordmark.mission-statement{width:65vw}.mission-statement h1{font-size:clamp(20px,5vw,30px);letter-spacing:-.3px}}

/* Match the central statement to the header navigation typography. */
.mission-statement h1{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:.6px;line-height:1.5}

/* Serif typography echoes the supplied outlined RougeHaus wordmark. */
.mission-statement h1{font-family:"Bodoni 72",Didot,"Times New Roman",serif;font-weight:400;letter-spacing:-.7px;line-height:1.16;font-size:clamp(29px,4vw,60px)}
@media(max-width:620px){.mission-statement h1{font-size:clamp(23px,5.8vw,35px);letter-spacing:-.4px}}

/* Crops for the supplied Pinterest selections. */
.card-0 img{object-position:center}.card-1 img{object-position:center}.card-2 img{object-position:center 60%}.card-3 img{object-position:center 55%}.card-4 img{object-position:center}.card-5 img{object-position:center 42%}

/* Event details travel with the poster and appear immediately beneath it. */
.gathered-event{overflow:visible;box-shadow:none;border-radius:0}
.gathered-event>img{border-radius:22px;box-shadow:0 24px 70px #0004}
.poster-summary{display:flex;flex-direction:column;gap:5px;margin-top:17px;text-align:center;color:var(--white);font:300 13px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.2px}
.poster-summary .poster-date{font-weight:400;font-size:14px;margin-bottom:2px}
@media(max-width:620px){.gathered-event{width:min(67vw,47svh);top:44%}.gathered-event>img{border-radius:18px}.poster-summary{font-size:11px;gap:4px;margin-top:13px}.poster-summary .poster-date{font-size:12px}}
@media(max-height:650px) and (min-width:621px){.gathered-event{width:min(49svh,420px,65vw);top:44%}.poster-summary{font-size:11px}}

.poster-summary .poster-luma{align-self:center;margin-top:3px;font-size:12px;padding:5px 0;gap:14px}
.event-details{grid-template-columns:1fr;max-width:650px;margin-inline:auto;padding-inline:25px}

.haus-description p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:300;font-size:16px;line-height:1.8;letter-spacing:.2px;color:var(--white)}
@media(max-width:620px){.haus-description p{font-size:15px}}

/* Clear centre copy between the images; event information alongside artwork. */
.scene-wordmark.mission-statement{width:46vw;max-width:740px}
.mission-statement h1{white-space:nowrap;font-size:clamp(23px,3.1vw,48px);letter-spacing:-.6px}
.mission-copy{font:300 clamp(12px,1.15vw,17px)/1.8 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.15px;color:var(--white);margin:22px auto 0;max-width:100%}
.gathered-event{width:min(80vw,950px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:clamp(28px,5vw,75px);align-items:center}
.gathered-event>img{width:100%;max-height:58svh;object-fit:contain}
.poster-summary{margin:0;text-align:left;font-size:15px;line-height:1.7;gap:13px}
.poster-summary .poster-date{font-size:16px;margin:0}
.poster-summary .poster-luma{align-self:flex-start;font-size:13px;margin-top:8px}
@media(max-width:620px){.scene-wordmark.mission-statement{width:72vw}.mission-statement h1{font-size:clamp(20px,5vw,31px)}.mission-copy{font-size:12px;line-height:1.65;margin-top:15px}.gathered-event{width:88vw;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;top:47%}.gathered-event>img{max-height:48svh}.poster-summary{font-size:11px;gap:9px}.poster-summary .poster-date{font-size:12px}.poster-summary .poster-luma{font-size:11px;gap:5px}}
@media(max-height:650px) and (min-width:621px){.gathered-event{width:min(78vw,850px);top:47%}.gathered-event>img{max-height:65svh}}

/* Fit the entire collage in the visible area beneath the header. */
.story-stage{height:calc(100svh - var(--header-height,115px));min-height:240px}
.wellness-card,.scene-wordmark.mission-statement{top:50%}
.scene-wordmark.mission-statement{width:min(78%,1050px)}
.mission-statement h1{font-size:clamp(19px,3.1vw,48px);line-height:1.16}
.mission-copy{font-size:clamp(11px,1.1vw,16px);line-height:1.65;margin-top:16px}
.wellness-card{min-width:0;max-width:none}
.scroll-cue{bottom:0;font-size:18px;padding:0 16px}
.gathered-event{top:50%;width:min(82%,950px)}
.gathered-event>img{max-height:calc((100svh - var(--header-height,115px)) * .82)}
@media(max-width:620px){.scene-wordmark.mission-statement{width:90%}.mission-statement h1{font-size:clamp(18px,5vw,30px)}.mission-copy{font-size:11px;line-height:1.6;margin-top:12px}.gathered-event{width:88%}.poster-summary{font-size:10px}.poster-summary .poster-date{font-size:11px}}
@media(max-height:500px){.mission-copy{font-size:10px;line-height:1.4;margin-top:8px}.mission-statement h1{font-size:clamp(18px,2.5vw,30px)}.poster-summary{gap:5px;font-size:10px}.poster-summary .poster-date{font-size:11px}}

/* A closer, larger ring rather than a widely spaced image grid. */
.scene-wordmark.mission-statement{width:min(49%,760px)}
.mission-statement h1{font-size:clamp(20px,2.8vw,44px)}
.mission-copy{font-size:clamp(11px,1.05vw,16px);line-height:1.6}
@media(max-width:620px){.scene-wordmark.mission-statement{width:54%}.mission-statement h1{white-space:normal;font-size:clamp(20px,5vw,29px)}.mission-copy{font-size:10px;line-height:1.5}}

/* Reference arrangement: two rows of three, with a protected centre. */
.scene-wordmark.mission-statement{width:43%}
.mission-statement h1{font-size:clamp(18px,2.7vw,43px)}
.mission-copy{font-size:clamp(11px,1vw,15px);line-height:1.6}
@media(max-width:620px){.scene-wordmark.mission-statement{width:48%}.mission-statement h1{white-space:normal;font-size:clamp(18px,4.8vw,28px)}.mission-copy{font-size:10px;line-height:1.5}}

/* Give the images more room while preserving the clear centre. */
.scene-wordmark.mission-statement{width:40%}
@media(max-width:620px){.scene-wordmark.mission-statement{width:45%}}

/* Slightly larger type; image positions follow its measured height. */
.mission-statement h1{font-size:clamp(19px,2.85vw,45px)}
.mission-copy{font-size:clamp(11.5px,1.06vw,16px)}
@media(max-width:620px){.mission-statement h1{font-size:clamp(19px,5vw,29px)}.mission-copy{font-size:10.5px}}

/* Centre the event in the full viewport once its stage sticks to the top. */
.gathered-event{top:calc(50% + var(--header-height,115px) / 2)}
/* The centred poster extends beyond the shorter animation stage. */
.story-stage:has(.gathered-event.is-visible){overflow:visible}
