:root{--blue:#185ba3;--ink:#0b384a;--yellow:#fff047;--purple:#913a8b;--pink:#eaa0c2;--sky:#86c3e3;--line:#d8e2e7;--offset:8px;--offset-outer:16px;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:var(--yellow);padding:16px;z-index:10}.skip-link:focus{top:16px}
body::before{content:"";display:block;height:6px;background:linear-gradient(90deg,#e64237 0 16.6667%,#ee8541 16.6667% 33.3333%,var(--yellow) 33.3333% 50%,#74b347 50% 66.6667%,var(--blue) 66.6667% 83.3333%,var(--purple) 83.3333% 100%)}
.site-header{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:18px;text-decoration:none}.brand-logo{width:90px;height:90px;object-fit:contain;flex-shrink:0}.brand-name{font-size:15px;font-weight:700;line-height:1.5}.brand-name>span{font-size:14px;font-weight:400}nav{display:flex;align-items:center;gap:32px;font-size:15px}nav a{text-decoration:none}.nav-primary{border:1px solid var(--blue);color:var(--blue);padding:12px 19px;border-radius:5px;background:#f2f7fc;transition:background .2s,color .2s}.nav-primary:hover{background:var(--blue);color:white}
h1,h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:0}h1{font-size:clamp(70px,7.6vw,110px);letter-spacing:-.045em;line-height:.97}h2{font-size:clamp(44px,4.7vw,62px)}h1 em,h2 em{font-weight:400;color:var(--purple)}.eyebrow{font-size:13px;letter-spacing:.09em;line-height:1.6;color:var(--purple);margin:0 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;min-height:52px;padding:14px 23px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:white}.button-blue:hover{background:var(--purple)}
/* Consistent offset geometry, with two colors behind each main framed surface. */
.offset-frame{box-shadow:var(--offset) var(--offset) 0 var(--frame-front,var(--pink)),var(--offset-outer) var(--offset-outer) 0 var(--frame-back,var(--yellow))}
.hero-shell{background:#fffce3;overflow:hidden}.hero{padding-block:44px 32px}.hero-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:end;margin-bottom:38px}.hero-invitation{max-width:330px;justify-self:end;padding-bottom:4px}.hero-description{font-size:20px;line-height:1.6;margin:0 0 24px}.hero-photo{position:relative;margin:0;padding-right:var(--offset-outer)}.hero-photo>img{width:100%;height:auto;aspect-ratio:1600/806;object-fit:contain;border-radius:12px}.hero-photo figcaption{font-size:14px;line-height:1.5;margin-top:29px;color:#465c6a}.hero-photo figcaption span{margin-left:12px;font-size:13px;color:#697781}.photo-note{position:absolute;top:-20px;right:38px;padding:17px 23px;transform:rotate(6deg);font:400 29px/.98 "Libre Caslon Display",Georgia,serif;background:var(--yellow);color:var(--ink);border-radius:2px;box-shadow:4px 4px 0 var(--pink)}
.photo-reel{padding-block:40px 30px;--reel-gap:28px}.reel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:20px}.reel-heading h2{font-size:30px;letter-spacing:-.025em}
.reel-window{display:block;gap:var(--reel-gap);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:5px max(48px,calc((100vw - 1280px)/2)) 18px;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}.reel-window::-webkit-scrollbar{display:none}.reel-window:focus-visible{outline:2px solid var(--purple);outline-offset:-2px}.reel-group{display:flex;gap:var(--reel-gap);flex:none}.reel-photo{width:clamp(280px,30vw,400px);flex:none;margin:0;padding-right:8px}.reel-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:7px;box-shadow:7px 7px 0 #f0d0e1}.reel-photo:nth-child(3n+2) img{box-shadow:7px 7px 0 #d1e8f4}.reel-photo:nth-child(3n+3) img{box-shadow:7px 7px 0 #f5eea5}.reel-photo figcaption{display:flex;align-items:baseline;gap:13px;margin-top:19px;font:400 24px/1.2 "Libre Caslon Display",Georgia,serif;color:var(--ink)}.reel-photo figcaption span{font:400 12px/1.5 "DM Sans",Arial,sans-serif;letter-spacing:.08em;color:#6b7780}
.about-section{background:#f8f1f7;margin-top:24px}.about{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,6vw,80px);align-items:center;padding-block:64px 76px;padding-right:var(--offset-outer)}.about-copy h2{color:var(--purple);margin-bottom:24px}.about-copy p{font-size:21px;line-height:1.6;margin:0}.about-copy p+p{font-size:17px;line-height:1.7;margin-top:20px;color:#465c6a}.about-copy strong{font-weight:600;color:var(--purple)}.about-photo{margin:0;min-width:0}.about-photo img{--frame-front:var(--pink);--frame-back:var(--sky);width:100%;height:auto;border-radius:9px}
.activities{padding-block:64px 84px;padding-right:var(--offset-outer)}.activities-heading h2{font-size:clamp(40px,4vw,54px);max-width:650px}.activities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:34px}.activity{--frame-front:#b6d9ed;--frame-back:#e2edf5;--art-color:var(--blue);--art-wash:#d4e9f5;background:#edf6fb;padding:27px 27px 30px;border-radius:9px}.activity:nth-child(2){--frame-front:#eaa0c2;--frame-back:#ead9ef;--art-color:var(--purple);--art-wash:#f5d3e4;background:#fcecf3}.activity:nth-child(3){--frame-front:#efda69;--frame-back:#f6e6bc;--art-color:#876a15;--art-wash:#f7e9a5;background:#fffae1}.activity-art{display:block;width:80px;height:64px;color:var(--art-color);margin-bottom:22px}.art-wash{fill:var(--art-wash)}.activity h3{font:400 30px/1.15 "Libre Caslon Display",Georgia,serif;letter-spacing:-.02em;margin:0 0 13px}.activity p{font-size:16px;line-height:1.7;color:#384f5c;margin:0}
.instagram-section{background:var(--blue);color:white;padding-block:68px 80px}.instagram-layout{display:block;padding-right:var(--offset-outer)}.instagram-copy .eyebrow{color:var(--yellow)}.instagram-copy .button{margin:0;white-space:nowrap;background:var(--yellow);color:var(--ink)}.instagram-copy .button:hover{background:var(--pink)}.instagram-section a:focus-visible{outline-color:var(--yellow)}.instagram-content{--frame-front:var(--sky);--frame-back:#104679;background:#fff;color:var(--ink);border-radius:8px;overflow:hidden;width:100%;max-width:none;justify-self:end}.instagram-heading{background:#fffce3;padding:16px 20px;font-size:15px;font-weight:600;border-bottom:1px solid var(--line)}.instagram-feed{min-height:250px;display:flex;align-items:center;justify-content:center;padding:0}.instagram-media{width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;min-width:0!important}.instagram-media>a{display:block;text-align:center;padding:70px 24px;font-size:18px;line-height:1.7}.instagram-feed iframe{width:100%!important;max-width:none!important;min-width:0!important;border:0!important;border-radius:0!important}
.contact-section{background:#fffce3;padding-block:68px 84px}.contact-layout{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center;padding-right:var(--offset-outer)}.contact-alternative{font-size:16px;line-height:1.6;margin:26px 0 0;color:var(--blue)}.contact-form{--frame-back:#c8afd3;background:white;padding:30px;border:1px solid #e4dfc7;border-radius:8px;min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{min-width:0;margin-bottom:20px}.form-field label{display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:8px}.form-field label span{font-size:12px;font-weight:400}.form-field input,.form-field textarea{display:block;width:100%;min-width:0;border:2px solid #607987;border-radius:4px;background:white;color:var(--ink);font:400 16px/1.5 "DM Sans",Arial,sans-serif;padding:11px 12px}.form-field input{min-height:50px}.form-field textarea{resize:vertical;min-height:130px;max-height:600px}.form-field input:focus,.form-field textarea:focus{outline:3px solid var(--blue);outline-offset:2px}.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:#b1324b}.form-honeypot{display:none}
.newsletter-section{background:var(--purple);color:white;padding-block:48px}.newsletter-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:50px;align-items:center}.newsletter-layout h2{font-size:clamp(40px,4vw,52px)}.newsletter-form{min-width:0}.newsletter-fields{display:grid;grid-template-columns:.8fr 1.2fr auto;gap:15px;align-items:end}.newsletter-fields .form-field{margin:0}.newsletter-fields input{border-color:#526675}.newsletter-fields input:focus{outline-color:var(--yellow)}.newsletter-submit{background:var(--yellow);color:var(--ink)}.newsletter-submit:hover{background:#fffce3}.newsletter-fields button:focus-visible{outline-color:white}
.supporter-strip{border-bottom:1px solid var(--line)}.supporter-inner{display:flex;justify-content:center;align-items:center;gap:48px;padding-block:28px}.supporter-inner img{width:235px;height:auto;flex-shrink:0}.supporter-inner p{font-size:17px;line-height:1.7;min-width:0;margin:0;color:#465c6a}.supporter-inner a{display:inline-block;max-width:100%;color:var(--ink);font-weight:600;text-decoration:none}.supporter-inner a:hover{text-decoration:underline}footer{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding-block:24px 30px;font-size:14px}footer a{text-decoration:none}.footer-brand{display:flex;align-items:center;gap:10px;font-weight:600}.footer-brand img{width:44px;height:44px}.footer-social{display:flex;gap:22px;margin-left:auto}footer small{font-size:12px;color:#526675}
@media(max-width:1100px){.newsletter-layout{grid-template-columns:1fr;gap:28px}.newsletter-fields{grid-template-columns:1fr 1.3fr auto}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.brand-logo{width:80px;height:80px}.brand-name{font-size:14px}.brand-name>span{font-size:13px}nav{gap:24px}.hero-intro{gap:36px}h1{font-size:76px}.hero-description{font-size:18px}.reel-window{padding-inline:32px}.about,.instagram-layout,.contact-layout{gap:46px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:26px}}
@media(max-width:760px){:root{--offset:6px;--offset-outer:12px}.wrap{width:calc(100% - 40px)}.site-header{min-height:102px;gap:13px}.brand{gap:9px}.brand-logo{width:70px;height:70px}.brand-name{font-size:13px}.brand-name>span{font-size:12px}.nav-about,.nav-activities{display:none}.nav-primary{padding:11px;font-size:13px}.hero{padding-block:32px 26px}.hero-intro{grid-template-columns:1fr;gap:22px;margin-bottom:36px}h1{font-size:clamp(54px,12vw,86px)}h2{font-size:48px}.hero-invitation{justify-self:start;max-width:450px}.hero-description{font-size:18px;margin-bottom:20px}.hero-photo>img{border-radius:7px}.hero-photo figcaption{font-size:13px;margin-top:23px}.photo-note{top:-18px;right:26px;font-size:22px;padding:12px 16px}.photo-reel{padding-block:28px 20px;--reel-gap:22px}.reel-heading h2{font-size:27px}.reel-window{padding-inline:20px;mask-image:none}.reel-photo{width:76vw;max-width:370px}.reel-photo figcaption{font-size:23px}.about{grid-template-columns:1fr;gap:24px;padding-block:40px}.about-copy p{font-size:17px}.activities{padding-bottom:46px}.activities-heading{padding-top:30px}.activities-heading h2{font-size:42px;max-width:400px}.activities-grid{grid-template-columns:1fr;gap:25px;margin-top:26px}.activity{padding-top:17px}.activity h3{font-size:29px;margin-bottom:9px}.instagram-section{padding-block:44px 58px}.instagram-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.instagram-copy .button{margin-top:24px}.instagram-content{justify-self:center}.instagram-feed{padding:10px}.contact-section{padding-block:44px 56px}.contact-form{padding:23px}.contact-alternative{margin-top:22px}.contact-form .button{width:100%}.newsletter-section{padding-block:38px}.newsletter-fields{grid-template-columns:1fr;gap:16px}.newsletter-fields .button{width:100%;margin-top:3px}.supporter-inner{flex-direction:column;gap:16px;text-align:center;padding-block:26px}.supporter-inner img{width:200px}.supporter-inner p{font-size:16px}footer{gap:16px 20px}.footer-brand{width:100%;font-size:13px}.footer-brand img{width:36px;height:36px}.footer-social{margin-left:0}footer small{margin-left:auto}}
@media(max-width:380px){.brand-name>span{display:none}.brand-logo{width:60px;height:60px}.brand-name{font-size:12px}.nav-primary{font-size:12px;padding:10px 8px}.site-header{gap:8px}h1{font-size:53px}.instagram-feed{padding:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.reel-copy{display:none}}

/* The entire photo belt moves on one composited layer. */
.reel-belt{display:flex;gap:var(--reel-gap);width:max-content;will-change:transform}
.reel-window{cursor:grab;user-select:none}
.reel-window.is-looping{overflow:clip;touch-action:pan-y pinch-zoom}
.photo-link{display:block;border-radius:7px;cursor:grab;text-decoration:none}
.reel-window.is-dragging,.reel-window.is-dragging .photo-link{cursor:grabbing}
.photo-link:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
.photo-preview{width:fit-content;max-width:min(1120px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:18px;border:0;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 24px 100px #061b3866}
.photo-preview::backdrop{background:#07182de0;backdrop-filter:blur(5px)}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 0 12px}
.preview-toolbar p{font:400 26px/1.25 "Libre Caslon Display",Georgia,serif;margin:0}
.preview-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font:400 28px/1 Arial,sans-serif}
.preview-close:hover{background:#f4edf5}
.photo-preview>img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 135px);object-fit:contain;border-radius:5px;margin:auto}
body.preview-open{overflow:hidden}
.instagram-copy{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:30px}
.instagram-copy h2{font-size:clamp(42px,4.7vw,62px)}
.instagram-feed{padding:0}
@media(max-width:760px){.instagram-copy{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:26px}.instagram-copy .button{margin:0}.photo-preview{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px}.preview-toolbar{gap:16px}.preview-toolbar p{font-size:23px}.photo-preview>img{max-height:calc(100dvh - 115px)}}
@media(prefers-reduced-motion:reduce){.reel-belt{will-change:auto}}

@media(min-width:761px) and (max-width:1050px){.about-copy p{font-size:19px}.about-copy p+p{font-size:16px}.activities-grid{gap:24px}.activity{padding:24px 20px}.activity h3{font-size:28px}}
@media(max-width:760px){.about-section{margin-top:16px}.about{gap:30px;padding-block:40px 54px}.about-copy h2{margin-bottom:20px}.about-copy p{font-size:19px}.about-copy p+p{font-size:16px;margin-top:16px}.about-photo{width:100%;max-width:560px;justify-self:center}.activities{padding-block:42px 62px}.activities-heading{padding:0}.activities-grid{gap:32px;margin-top:28px}.activity{padding:24px}.activity-art{width:64px;height:51px;margin-bottom:16px}.activity h3{font-size:30px;margin-bottom:12px}}

.contact-lead{font-size:18px;line-height:1.6;margin:22px 0 0}.social-icons{display:flex;gap:12px;margin-top:22px}.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--blue);color:white;transition:background .2s,transform .2s}.social-icons a:hover{background:var(--purple);transform:translateY(-2px)}.social-icons svg{width:22px;height:22px}.footer-social{align-items:center}.footer-social .social-icons{margin:0;gap:10px}.footer-social .social-icons a{width:36px;height:36px}.footer-social .social-icons svg{width:18px;height:18px}
fieldset.form-choices{border:0;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px 20px}.form-choices legend{font-size:14px;font-weight:500;line-height:1.5;margin-bottom:8px;padding:0;width:100%}.form-choices legend span{font-size:12px;font-weight:400}.form-choices label,.form-consent{display:inline-flex;align-items:center;gap:8px;font-size:15px;min-height:32px;cursor:pointer}.form-choices input,.form-consent input{width:18px;height:18px;accent-color:var(--blue);margin:0}.form-consent{margin:0 0 20px}
.hero-subtitle{display:block;font-size:.56em;letter-spacing:-.02em;margin-top:.25em}
.form-consent{display:flex}
.social-icons a.social-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.social-icons a.social-fb{background:#1877f2}.social-icons a:hover{background:var(--purple);filter:none}.social-icons a.social-ig:hover,.social-icons a.social-fb:hover{filter:brightness(1.1)}
.hero-subtitle{font-size:.6em;color:#7a2f75}
.form-field label,.form-choices legend{font-size:15px}.form-field label span,.form-choices legend span{font-size:13px;color:#526675}.form-choices label,.form-consent{font-size:16px}
.hero-photo figcaption{color:#3d5260}.hero-photo figcaption span{color:#526675}
.contact-form{padding:24px}.form-row{gap:14px}.form-field{margin-bottom:14px}.form-field label{margin-bottom:5px}.form-field input{min-height:44px;padding:8px 11px}.form-field textarea{min-height:84px;padding:8px 11px}fieldset.form-choices{margin-bottom:14px;gap:4px 18px}.form-choices legend{margin-bottom:4px}.form-choices label,.form-consent{min-height:28px}.form-consent{margin-bottom:16px}
@media(max-width:1050px){.form-row{grid-template-columns:1fr 1fr;gap:12px}.contact-form{padding:22px}}
@media(max-width:520px){.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:18px}}
