/*
Theme Name: Sweet Journey 17 — Love Like Ari
Version: 1.0.0
Description: An original watercolor editorial theme for Sweet Journey 17 Foundation.
Author: Sweet Journey 17
Text Domain: swj17
*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Cormorant+Garamond:ital,wght@1,400;1,500&family=DM+Sans:wght@400;500;600;700&family=Allura&display=swap');
:root{--paper:#fffdf9;--ink:#493733;--muted:#78645f;--pink:#ce0a59;--rose:#fbe7e8;--blush:#fff2f1;--gold:#b67e38;--line:#ead7d0;--serif:'Fraunces',Georgia,serif;--body:'DM Sans',Arial,sans-serif;--italic:'Cormorant Garamond',Georgia,serif;--script:'Allura',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 var(--body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(48px,5.6vw,86px)}h2{font-size:clamp(35px,3.5vw,51px)}h3{font-size:28px}h1 em,h2 em{font-family:var(--italic);font-size:1.12em;line-height:.9;font-weight:400;color:var(--pink)}p{margin:0 0 1.2em}p:last-child{margin-bottom:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a,button,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--pink);outline-offset:5px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}svg{display:block;width:24px;height:24px;flex-shrink:0}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.narrow{max-width:820px}.center{text-align:center}.small{font-size:13px}.muted{color:var(--muted)}.lead{font-size:20px;line-height:1.7}.eyebrow{font:600 11px/1.5 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--pink);margin-bottom:20px}.script{font-family:var(--script);font-size:64px;line-height:1.05;font-weight:400;color:var(--pink)}.text-link{font-size:14px;font-weight:600;padding:7px 0;border-bottom:1px solid var(--gold);display:inline-block;line-height:1.5}.text-link:hover{color:var(--pink);border-color:var(--pink)}.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:54px;border:1px solid var(--pink);border-radius:99px;padding:14px 25px;background:var(--pink);color:white;font:500 14px/1.4 var(--body);transition:background .2s,transform .2s;white-space:normal;text-align:center}.button:hover{background:#a60846;transform:translateY(-2px)}.button svg{width:21px;height:21px}.button-small{min-height:43px;padding:11px 20px;font-size:13px}.button-outline{background:transparent;color:var(--pink)}.button-outline:hover{background:var(--blush)}.button-row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.wash{position:relative;background-color:#fff9f6;background-image:url('assets/watercolor.webp');background-size:cover;background-position:center}.top-note{text-align:center;font-size:10px;letter-spacing:.12em;background:#f9e7e5;color:#74514f;padding:8px 20px}.top-note span{margin-left:24px;color:var(--pink)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.98);border-bottom:1px solid #ead7d080}.header-inner{max-width:1450px;margin:auto;padding:23px 40px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;flex-direction:column;min-width:238px;align-items:center}.brand>span{font:400 29px/1.1 var(--serif);letter-spacing:-1.4px;white-space:nowrap}.brand em{font:italic 38px/.9 var(--italic);color:var(--pink);margin-left:3px}.brand small{font-size:9px;letter-spacing:2.3px;line-height:1;margin-top:10px}.desktop-nav{display:flex;justify-content:center;gap:21px;flex:1}.nav-group{position:relative}.nav-group summary{font-size:12px;font-weight:500;list-style:none;white-space:nowrap;padding:10px 0}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary span{color:#9e7770;margin-left:4px}.dropdown{position:absolute;top:100%;left:-20px;padding:12px 0;width:218px;background:var(--paper);box-shadow:0 12px 28px #49373318;border:1px solid var(--line);border-radius:4px}.dropdown a{display:block;padding:9px 20px;font-size:13px}.dropdown a:hover,.dropdown a:focus{color:var(--pink);background:var(--blush)}.header-actions{display:flex;align-items:center;gap:16px}.menu-toggle{display:none;background:none;border:0;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px}.menu-lines{display:block;width:22px;height:14px;border-top:1.5px solid var(--pink);border-bottom:1.5px solid var(--pink);position:relative}.menu-lines:after{position:absolute;content:'';left:0;right:0;top:5px;height:1.5px;background:var(--pink)}.mobile-nav{padding:12px 26px 30px;max-height:calc(100dvh - 110px);overflow-y:auto;background:var(--paper)}.mobile-nav details{border-bottom:1px solid var(--line)}.mobile-nav summary{font:24px/1.6 var(--serif);padding:12px 0}.mobile-nav a{display:block;padding:10px 12px;font-size:14px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--pink);color:white;padding:12px}.skip-link:focus{top:10px}.hero{overflow:hidden;padding:72px 0 88px;background-position:center 80%}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}.hero-copy{padding:5px 0}.hero h1{line-height:1.04;letter-spacing:-.045em}.hero h1 em{display:inline-block;margin-top:6px;font-size:1.19em}.hero-intro{font:400 24px/1.4 var(--serif);letter-spacing:-.025em;margin-bottom:17px}.hero-copy>p:not(.eyebrow):not(.hero-intro):not(.hero-footnote){max-width:460px;font-size:15px;color:#6b554f}.heart-divider{display:flex;align-items:center;gap:16px;margin:27px 0;color:var(--gold);max-width:220px}.heart-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold))}.heart-divider span:last-child{transform:rotate(180deg)}.heart-divider svg{width:25px;height:25px;stroke-width:2}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:27px}.hero-footnote{font-size:11px;color:var(--muted);line-height:1.7;margin-top:32px;letter-spacing:.025em}.hero-footnote em{font:italic 19px/1.4 var(--italic)}.hero-art{position:relative;max-width:450px;justify-self:center;width:100%;padding:8px 12px 0}.portrait-frame{padding:11px;background:rgba(255,253,249,.85);border:1px solid #d4b480;border-radius:180px 180px 30px 30px;transform:rotate(2deg);box-shadow:10px 19px 50px #b4636820}.ari-portrait{width:100%;height:510px;object-fit:cover;object-position:center 35%;border-radius:170px 170px 22px 22px}.portrait-caption{text-align:center;position:relative;margin-top:23px}.portrait-caption .script{font-size:43px;display:block;transform:rotate(-5deg)}.portrait-caption>span:last-child{display:block;font-size:8px;letter-spacing:.22em;margin-top:9px}.sparkle{color:var(--gold);font-size:60px;line-height:1;pointer-events:none}.sparkle-one{position:absolute;right:-24px;top:-15px}.sparkle-two{position:absolute;left:-25px;bottom:90px;font-size:37px}.butterfly{position:absolute;pointer-events:none;width:80px;filter:drop-shadow(0 7px 5px #97335114)}.hero-butterfly{right:-28px;bottom:115px;width:94px;transform:rotate(-24deg)}.section-heading{margin-bottom:45px}.section-heading h2{margin-bottom:16px}.section-heading p:not(.eyebrow){font-size:15px;color:var(--muted)}.programs-section{padding-block:79px 70px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.program{display:block;position:relative;text-align:center;padding:0 10px}.icon-wash{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border:1px solid #c39452;border-radius:49% 51% 46% 54% / 52% 46% 54% 48%;background:var(--blush) url('assets/watercolor.webp') 20% 70%/400%;margin:0 auto 25px;position:relative}.icon-wash:after{position:absolute;content:'';inset:4px;border:1px solid #c3945240;border-radius:48% 52% 53% 47%}.icon-wash img{width:51px;height:51px}.program h3{font-size:25px;color:var(--pink);margin-bottom:14px}.program p{font-size:13px;line-height:1.75;color:var(--muted);max-width:220px;margin:0 auto}.program-arrow{display:block;margin-top:17px;color:var(--gold);font-size:22px;transition:transform .2s}.program:hover .program-arrow{transform:translate(3px,-3px)}.family-link{font-size:13px;margin-top:37px}.family-link a{font-size:13px;margin-left:6px}.ari-band{padding:66px 0}.ari-band-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.ari-band-inner>div:last-child{max-width:510px}.ari-band h2{margin-bottom:25px}.ari-band p:not(.eyebrow){font-size:15px;color:var(--muted)}.love-art{position:relative;isolation:isolate;width:320px;height:285px;display:grid;place-content:center;margin:auto}.love-art>svg{position:absolute;inset:-3px;width:100%;height:100%;color:#c69b63;stroke-width:.5;transform:rotate(-12deg);z-index:-1}.love-art .script{font-size:79px;line-height:.76;text-align:center;transform:rotate(-12deg);padding-bottom:8px}.love-art .butterfly{bottom:0;left:-7px;width:100px;transform:rotate(15deg)}.events-section{padding-block:95px 80px}.heading-row{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.heading-row h2{margin-bottom:0}.heading-row>.text-link{margin-bottom:6px;white-space:nowrap}.event-features{display:grid;grid-template-columns:1fr 1fr;gap:28px}.event-feature{min-height:300px;padding:38px;position:relative;overflow:hidden;border-radius:5px;display:flex;align-items:center;gap:25px}.terra-feature{background:#fae9e6}.event-feature h3{font-size:35px;line-height:1.2;margin-bottom:17px}.event-feature .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:17px}.event-feature p:not(.eyebrow){font-size:12px}.event-feature .sparkle{position:absolute;right:14px;top:18px;opacity:.6;font-size:35px}.event-date{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);min-width:73px;text-align:center;padding:12px 0;display:flex;flex-direction:column;line-height:1.5;color:var(--pink)}.event-date strong{font:400 42px/1.1 var(--serif);letter-spacing:-.06em}.event-date span{font-size:9px;letter-spacing:.2em}.gala-feature{background:#542637;color:#fff9ef}.gala-feature .eyebrow{color:#f4cda8}.gala-feature p{color:#f3d8db}.gala-feature .text-link{color:#fff4e8}.gala-feature>div{position:relative;z-index:1}.gala-orb{width:150px;height:150px;border-radius:50%;display:block;background:repeating-linear-gradient(0deg,transparent 0 13px,#ffffff45 14px 15px),repeating-linear-gradient(90deg,transparent 0 13px,#ffffff55 14px 15px),radial-gradient(circle at 25% 25%,#fff3e0,#e7a0b8 23%,#bb426c 50%,#601c3b 95%);box-shadow:inset -20px -20px 25px #46062450,inset 7px 7px 20px #ffffff80,0 0 50px #ec7e9c22;position:absolute;right:-30px;bottom:-18px;transform:rotate(-15deg);opacity:.9}.gala-orb:before{content:'';position:absolute;bottom:100%;left:50%;height:150px;width:1px;background:#e6bcc7}.help-strip{padding:47px 50px;border:1px solid var(--line);background:#fffaf5;display:grid;grid-template-columns:1fr 1fr;gap:75px;border-radius:4px;margin-bottom:85px;align-items:center}.help-strip h2{font-size:38px}.help-strip p:not(.eyebrow){font-size:14px;color:var(--muted)}.closing{text-align:center;padding:85px 0 80px;overflow:hidden;background-position:center 85%}.closing .script{font-size:80px;margin-bottom:7px}.closing h2{font-size:42px}.closing .heart-divider{margin:27px auto 22px}.closing p:not(.script){font-size:14px}.closing .button{min-width:205px}.closing-butterfly{right:12%;top:35%;width:90px;transform:rotate(-15deg)}.site-footer{background:#fffdf9;padding:60px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr 1.2fr;gap:55px;padding-bottom:45px}.footer-logo{width:215px;mix-blend-mode:multiply;margin:-13px 0 12px}.footer-grid h3{font:600 11px/1.4 var(--body);letter-spacing:.13em;text-transform:uppercase;margin-bottom:22px}.footer-grid a:not(.brand){display:block;font-size:12px;margin-bottom:10px}.footer-grid a:hover{color:var(--pink)}.footer-grid p{font-size:12px;color:var(--muted)}.footer-grid .script{font-size:39px;margin-top:15px;color:var(--pink)}.footer-bottom{border-top:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;gap:20px}.page-intro{text-align:center;padding:76px 0 67px;overflow:hidden}.page-intro h1{font-size:clamp(47px,5.2vw,76px);margin-bottom:24px}.page-intro .lead{max-width:650px;margin-inline:auto;font-size:17px}.page-intro .heart-divider{margin:25px auto 0}.intro-butterfly{right:9%;bottom:35px;transform:rotate(-20deg);width:65px}.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-block:80px}.editorial-split figure img{width:100%;max-height:560px;object-fit:cover;border-radius:6px}.editorial-split figure{margin:0}.editorial-split h2{margin-bottom:25px}.editorial-split p:not(.eyebrow){font-size:15px;color:var(--muted)}figcaption{font:italic 21px/1.4 var(--italic);margin-top:14px;color:var(--muted)}.editorial-split .editorial-quote{font:italic 35px/1.3 var(--italic);color:var(--pink);margin-top:25px}.ari-band .editorial-split{padding-block:5px}.family-story img{max-height:400px;object-position:50% 25%}.prose{padding-block:65px 80px}.prose h2{margin:40px 0 22px;font-size:36px}.prose h2:first-child{margin-top:0}.prose p{color:var(--muted)}.prose .button{margin-top:14px}.page-intro+.wrap>.program-grid{padding-top:65px}.program-details{padding-block:50px 80px}.program-detail{display:flex;gap:55px;align-items:center;border-bottom:1px solid var(--line);padding-block:35px}.program-detail .icon-wash{margin:0;flex-shrink:0}.program-detail h2{font-size:37px;margin-bottom:15px}.program-detail p:not(.eyebrow){max-width:760px;color:var(--muted);font-size:15px}.program-detail .eyebrow{margin-bottom:12px}.resource-grid,.involvement-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 80px;padding-block:75px}.resource-grid article{position:relative;border-bottom:1px solid var(--line);padding-bottom:30px}.resource-number{font:italic 40px/1 var(--italic);color:var(--gold)}.resource-grid h2{font-size:33px;margin:20px 0}.resource-grid p{font-size:15px;color:var(--muted)}.involvement-grid article{padding:40px;background:var(--blush);border:1px solid var(--line)}.involvement-grid h2{font-size:36px;margin-bottom:25px}.involvement-grid p:not(.eyebrow){font-size:15px;color:var(--muted)}.faq-list{padding-block:50px}.faq-list details{border-bottom:1px solid var(--line);padding:21px 0}.faq-list summary{font:400 23px/1.5 var(--serif);padding-right:20px}.faq-list details p{color:var(--muted);font-size:15px;margin:20px 0 0}.calendar-section{padding-top:65px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.calendar-toolbar h2{font-size:33px}.calendar-toolbar>div{display:flex;gap:8px}.calendar-toolbar button{border:1px solid var(--line);background:transparent;min-width:44px;min-height:44px;padding:8px 14px;border-radius:4px}.calendar-toolbar button:hover{background:var(--blush)}.calendar{border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:15px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:var(--blush);font-size:11px;text-transform:uppercase;letter-spacing:.12em;text-align:center;padding:15px 0}.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:105px;padding:10px;border-top:1px solid var(--line);border-right:1px solid var(--line);font-size:12px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.empty{background:#faf7f4}.calendar-day.today{background:#fff0f4}.calendar-day>span{display:inline-block;min-width:23px}.calendar-event{display:block;padding:6px;background:#f8d9e3;font-size:10px;color:#8c1645;border-radius:3px;line-height:1.4;margin-top:7px;font-weight:600}.event-list{padding-block:65px}.event-list-row{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding:30px 0}.event-list-row>div:nth-child(2){flex:1}.event-list-row .event-date{min-width:95px}.event-list-row h3{font-size:28px;margin-bottom:8px}.event-list-row p{margin-bottom:0;font-size:13px}.event-list-row .eyebrow{margin-bottom:10px;font-size:10px}.event-facts{display:grid;grid-template-columns:80px 1fr;gap:18px;font-size:14px;margin:30px 0}.event-facts dt{color:var(--pink);font-weight:600}.event-facts dd{margin:0}.invitation{max-width:430px;justify-self:center}.gala-intro{padding:190px 0 65px;position:relative;overflow:hidden}.gala-intro .gala-orb{width:110px;height:110px;top:34px;bottom:auto;left:calc(50% - 55px);right:auto}.gala-intro h2{margin-bottom:20px}.gala-intro>p:last-child{font-size:14px;color:var(--muted)}.gala-options{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:70px}.gala-options article{padding:30px 22px;border:1px solid var(--line);background:var(--blush)}.gala-options .eyebrow{font-size:9px}.gala-options h3{font-size:39px;color:var(--pink);margin-bottom:20px}.gala-options p:not(.eyebrow){font-size:13px}.status-tag{font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding:5px 10px;border:1px solid var(--line);display:inline-block}.donation-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-block:75px}.donation-layout h2{margin-bottom:24px}.donation-layout .program-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.donation-layout .program .icon-wash{width:65px;height:65px;margin-bottom:10px}.donation-layout .program img{width:31px;height:31px}.donation-layout .program h3{font-size:23px}.donation-layout .program p,.donation-layout .program-arrow{display:none}.donation-panel{padding:45px 35px;background:var(--blush);border:1px solid var(--line);border-radius:6px;text-align:center;align-self:start}.donation-panel>svg{width:44px;height:44px;color:var(--pink);margin:0 auto 30px}.donation-panel p{font-size:15px}.donation-panel .small{font-size:12px;margin-top:24px}.donation-panel .small a{text-decoration:underline;overflow-wrap:anywhere}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-block:75px}.news-grid img{width:100%;height:300px;object-fit:cover;object-position:50% 30%;margin-bottom:25px;border-radius:5px}.news-grid h2{font-size:35px;margin-bottom:20px}.news-grid p:not(.eyebrow){font-size:15px;color:var(--muted)}.news-event{padding:50px;background:var(--blush);align-content:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:75px}.contact-grid h2{margin-bottom:25px}.contact-grid article:last-child{padding:35px;background:var(--blush)}.contact-grid .small{margin-top:24px}.application-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;padding-block:70px}.application-layout aside h2{font-size:38px;margin-bottom:25px}.application-layout aside p{font-size:14px;color:var(--muted)}.note{background:var(--blush);padding:25px;margin:30px 0}.note h3{font-size:23px}.note ul{padding-left:18px;font-size:13px;color:var(--muted)}.note li{margin:10px 0}.application-form{padding:34px;border:1px solid var(--line);background:white;border-radius:6px}.application-form fieldset{border:0;padding:0;margin:0 0 30px}.application-form legend{font:400 25px/1.4 var(--serif);margin-bottom:23px;letter-spacing:-.02em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:block;font-size:12px;font-weight:500}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #cdbab2;border-radius:4px;min-height:46px;padding:10px;margin-top:7px;background:#fffdfb;color:var(--ink);font-size:15px}.form-field textarea{min-height:110px;resize:vertical}.form-field.full{grid-column:1/-1}.form-field small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400}.check-label input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--pink)}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.application-form .consent{font-size:12px;line-height:1.7;margin-top:15px}.application-form .button{width:100%;margin-top:24px}.form-status{font-size:14px;margin-top:18px;line-height:1.6;padding:15px;background:var(--blush)}.form-status:empty{display:none}.form-status.success{background:#eef4ed}.form-status.error{border:1px solid #b02850}.form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.preview-notice{background:#fff2ce;padding:15px;font-size:13px;margin-bottom:20px}.mobile-only{display:none}.woocommerce{max-width:1180px;margin:50px auto;padding:20px}.woocommerce button.button{border-radius:99px;background:var(--pink);color:white}.woocommerce input{padding:10px}
@media(min-width:1400px){.hero-grid{gap:110px}.hero{padding-top:80px}}
@media(max-width:1200px){.desktop-nav{gap:14px}.header-inner{gap:20px;padding-inline:26px}.brand{min-width:220px}.brand>span{font-size:27px}.nav-group summary{font-size:11px}.hero-grid{gap:50px}.hero h1{font-size:70px}.ari-portrait{height:470px}.wrap{width:calc(100% - 72px)}.event-feature{padding:30px;gap:20px}.event-feature h3{font-size:31px}.footer-grid{gap:30px}}
@media(max-width:1050px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-actions{margin-left:auto}.hero h1{font-size:64px}.hero-grid{gap:45px}.hero-art{padding-right:0}.ari-portrait{height:420px}.hero-actions{gap:20px}.hero-actions .button{padding-inline:18px;font-size:13px}.ari-band-inner{gap:50px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:35px}.footer-grid>div:last-child{grid-column:1/-1;display:flex;gap:30px;align-items:center;flex-wrap:wrap}.footer-grid>div:last-child>*{margin:0}.event-feature .event-date{display:none}.help-strip{gap:40px;padding:35px}.application-layout{gap:35px}.form-grid{grid-template-columns:1fr}.gala-options{grid-template-columns:1fr 1fr}}
@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}.top-note{font-size:8px;letter-spacing:.06em;padding:7px 10px}.top-note span{margin-left:10px}.header-inner{padding:16px 20px;gap:10px}.brand{min-width:0;align-items:flex-start}.brand>span{font-size:22px;letter-spacing:-1px}.brand em{font-size:30px}.brand small{font-size:7px;letter-spacing:1.8px;margin-top:7px}.header-actions{gap:9px}.button-small{padding:9px 14px;font-size:11px;min-height:38px}.button-small svg{width:17px;height:17px}.menu-label{display:none}.menu-toggle{padding:6px;min-width:32px}.hero{padding:43px 0 47px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{max-width:500px;text-align:center;margin:auto}.hero .eyebrow{font-size:9px;letter-spacing:.15em}.hero h1{font-size:65px;line-height:1.04}.hero .heart-divider{margin:23px auto}.hero-intro{font-size:22px}.hero-copy>p:not(.eyebrow):not(.hero-intro):not(.hero-footnote){font-size:14px;max-width:350px;margin-inline:auto}.hero-actions{justify-content:center;gap:25px;margin-top:23px}.hero-footnote{display:none}.hero-art{width:310px;padding-inline:7px;max-width:85%}.ari-portrait{height:360px}.portrait-frame{padding:8px;border-radius:150px 150px 25px 25px}.hero-butterfly{width:73px;right:-27px;bottom:100px}.sparkle-one{right:-19px;font-size:44px}.sparkle-two{font-size:28px;left:-20px}.portrait-caption{margin-top:18px}.portrait-caption .script{font-size:37px}.portrait-caption>span:last-child{font-size:7px}.programs-section{padding-block:55px 48px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:35px}.eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:15px}.program-grid{grid-template-columns:1fr 1fr;gap:32px 17px}.program{padding:0}.icon-wash{width:95px;height:95px;margin-bottom:18px}.icon-wash img{width:42px;height:42px}.program h3{font-size:22px;margin-bottom:10px}.program p{font-size:12px;line-height:1.65}.program-arrow{margin-top:9px;font-size:19px}.family-link{font-size:11px;margin-top:25px}.family-link a{font-size:12px}.ari-band{padding-block:40px 48px}.ari-band-inner{grid-template-columns:1fr;gap:22px;text-align:center}.love-art{width:240px;height:220px}.love-art .script{font-size:66px}.love-art .butterfly{width:70px;left:0}.ari-band-inner>div:last-child{max-width:440px;margin:auto}.ari-band h2{font-size:36px;margin-bottom:19px}.ari-band p:not(.eyebrow){font-size:14px}.events-section{padding-block:55px}.heading-row{display:block}.heading-row>.text-link{margin-top:13px}.event-features{grid-template-columns:1fr;gap:18px}.event-feature{min-height:260px;padding:30px}.event-feature h3{font-size:34px}.event-feature .event-date{display:flex}.terra-feature{gap:24px}.event-date{min-width:60px}.event-date strong{font-size:36px}.help-strip{padding:30px 24px;grid-template-columns:1fr;gap:20px;margin-bottom:50px}.help-strip h2{font-size:33px}.help-strip p:not(.eyebrow){font-size:13px}.help-strip .button{font-size:12px;padding-inline:20px}.closing{padding-block:55px}.closing .script{font-size:55px}.closing h2{font-size:33px}.closing-butterfly{width:50px;right:4%;top:25px}.site-footer{padding-top:38px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 25px;padding-bottom:30px}.footer-identity{grid-column:1/-1;text-align:center}.footer-logo{width:220px;margin:0 auto 8px}.footer-grid h3{font-size:10px;margin-bottom:17px}.footer-grid>div:last-child{display:block;grid-column:1/-1}.footer-grid>div:last-child>*{margin-bottom:10px}.footer-grid .script{margin-top:20px!important}.footer-bottom{display:block;font-size:9px;padding-block:17px}.footer-bottom>div{margin-top:12px}.page-intro{padding-block:48px 45px}.page-intro h1{font-size:49px}.page-intro .lead{font-size:15px}.intro-butterfly{width:35px;right:6%;bottom:15px}.editorial-split{grid-template-columns:1fr;gap:30px;padding-block:45px}.editorial-split figure{max-width:430px;margin:auto}.editorial-split figure img{max-height:430px}.editorial-split h2{font-size:35px}.editorial-split p:not(.eyebrow){font-size:14px}.reverse>div{order:2}.prose{padding-block:45px}.prose h2{font-size:30px}.prose p{font-size:14px}.program-details{padding-block:25px 40px}.program-detail{gap:24px;align-items:flex-start}.program-detail .icon-wash{width:62px;height:62px}.program-detail .icon-wash img{width:30px;height:30px}.program-detail h2{font-size:29px}.program-detail p:not(.eyebrow){font-size:13px}.resource-grid,.involvement-grid{grid-template-columns:1fr;gap:25px;padding-block:45px}.resource-grid h2{font-size:30px}.involvement-grid article{padding:30px}.involvement-grid h2{font-size:32px}.faq-list{padding-block:30px}.faq-list summary{font-size:21px}.calendar-section{padding-top:35px}.calendar-toolbar h2{font-size:25px}.calendar-toolbar>div{gap:4px}.calendar-toolbar button{padding:6px 10px;font-size:12px;min-width:36px;min-height:40px}.calendar-day{min-height:66px;padding:5px;font-size:10px}.calendar-weekdays{font-size:9px;letter-spacing:0}.calendar-event{font-size:8px;padding:3px;overflow-wrap:anywhere}.event-list{padding-block:35px}.event-list-row{display:grid;grid-template-columns:60px 1fr;gap:20px}.event-list-row .event-date{min-width:60px}.event-list-row h3{font-size:24px}.event-list-row .button{grid-column:2;justify-self:start;font-size:12px;min-height:42px;padding:10px 18px}.event-list-row .eyebrow{font-size:8px}.gala-intro{padding-top:175px;padding-bottom:40px}.gala-intro h2{font-size:35px}.gala-options{gap:12px;margin-bottom:40px}.gala-options article{padding:22px 16px}.gala-options h3{font-size:33px}.gala-options p:not(.eyebrow){font-size:12px}.donation-layout,.contact-grid,.application-layout,.news-grid{grid-template-columns:1fr;gap:35px;padding-block:45px}.donation-layout h2{font-size:35px}.donation-panel{padding:30px 25px}.news-event{padding:30px}.contact-grid article:last-child{padding:25px}.contact-grid h2{font-size:35px}.application-form{padding:25px 20px}.application-layout aside h2{font-size:35px}.check-grid{gap:15px 10px}.check-label{font-size:12px}.form-grid{grid-template-columns:1fr}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}
/* September 24: official identity and artwork from the foundation's print direction. */
.header-inner{padding:10px 32px;gap:24px}.brand{min-width:190px;width:190px;flex-shrink:0}.header-logo{width:190px;height:116px;object-fit:contain;mix-blend-mode:multiply}.hero-grid{gap:45px;grid-template-columns:1fr 1fr}.hero-art{max-width:570px;padding:0}.portrait-watercolor{width:100%;position:relative}.ari-portrait{height:590px;border-radius:0;object-position:60% 35%;-webkit-mask-image:radial-gradient(ellipse 65% 67% at 52% 45%,#000 46%,#000c 60%,transparent 79%);mask-image:radial-gradient(ellipse 65% 67% at 52% 45%,#000 46%,#000c 60%,transparent 79%)}.portrait-caption{margin-top:-36px}.hero-butterfly{right:-12px;bottom:80px;width:125px;transform:rotate(-12deg)}.hero-butterfly-high{width:100px;left:-20px;top:35px;transform:rotate(12deg)}.sparkle-one{right:5px;top:25px}.sparkle-two{left:0;bottom:130px}.hero-assistance{margin-top:17px}.hero-assistance .text-link{font-size:15px;color:var(--pink)}.hero-actions{gap:22px}.hero-actions .button{padding-inline:22px}.family-link .button{font-size:15px;margin:0}.help-strip{margin-top:55px}.help-strip .text-link{display:block;width:fit-content;margin-top:15px}.terra-invitation-feature{display:grid;grid-template-columns:1fr;gap:25px}.terra-invitation-feature .invite-link{display:block}.homepage-invite{width:100%;height:auto;border-radius:5px}.terra-invitation-feature h3{margin-bottom:15px;font-size:34px}.terra-invitation-feature p{font-size:15px}.event-features{grid-template-columns:1.15fr .85fr;align-items:start;gap:45px}.gala-feature{min-height:520px;align-items:flex-end;padding-top:240px}.gala-mirrorball{position:absolute;top:-12px;right:0;width:230px;height:245px;object-fit:contain;pointer-events:none}.gala-intro .gala-mirrorball{left:50%;right:auto;transform:translateX(-50%);top:0;width:185px;height:185px}.gala-intro{padding-top:205px}.butterfly{filter:drop-shadow(0 6px 5px #97335112)}
@media(min-width:761px) and (max-width:1199px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-inner{justify-content:space-between}.header-logo{width:175px;height:105px}.brand{min-width:175px;width:175px}.hero-grid{gap:15px}.hero h1{font-size:64px}.hero-actions{flex-wrap:wrap}.ari-portrait{height:540px}}
@media(max-width:760px){.header-inner{padding:8px 19px;gap:12px;justify-content:space-between}.brand{min-width:0;width:150px}.header-logo{width:150px;height:94px}.header-actions{gap:8px}.hero{padding-top:30px}.hero-grid{grid-template-columns:1fr;gap:22px}.hero h1{font-size:60px}.hero-art{width:100%;max-width:440px}.ari-portrait{height:440px}.hero-footnote{display:block;margin-top:22px}.portrait-caption{margin-top:-20px}.hero-butterfly-high{left:-5px;top:18px;width:85px}.hero-butterfly{right:-8px;bottom:50px;width:100px}.sparkle-one{right:8px;top:10px}.sparkle-two{left:0;bottom:80px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-actions .button{font-size:13px;padding-inline:18px}.hero-assistance{margin-top:16px}.family-link .button{font-size:13px}.help-strip{margin-top:35px;margin-bottom:0}.event-features{grid-template-columns:1fr;gap:35px}.gala-feature{min-height:410px;padding-top:215px}.gala-mirrorball{height:210px;width:205px;right:5px}.terra-invitation-feature{gap:18px}.gala-intro{padding-top:205px}}

.ari-portrait{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 48%,#000e 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 48%,#000e 62%,transparent 100%)}

/* Ari's story: family memories and reserved media spaces. */
.ari-life{padding-bottom:75px}.ari-life .prose{padding-bottom:35px}.ari-memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:960px}.ari-photo-placeholder{aspect-ratio:4/3;border:1px dashed #c99783;border-radius:28px;background:rgba(255,253,249,.78);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:25px;text-align:center;color:var(--pink)}.ari-photo-placeholder svg{width:38px;height:38px}.ari-photo-placeholder span{font:30px/1.2 var(--serif)}.ari-photo-placeholder small{font:12px/1.5 var(--body);color:var(--muted)}.ari-memory figcaption{font-size:13px;color:var(--muted);margin-top:15px;text-align:center}.ari-video-section{padding:70px 0}.ari-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ari-video-placeholder{aspect-ratio:16/11;border:1px dashed #c99783;border-radius:24px;background:rgba(255,253,249,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.ari-video-symbol{font:40px/1 var(--body);color:var(--pink);margin-bottom:15px}.ari-video-placeholder h3{font-size:25px}.ari-video-placeholder p{font-size:12px;color:var(--muted);margin:12px 0 0}.ari-legacy .button{margin-top:12px}.ari-opening .lead{font-family:var(--italic);font-size:26px;line-height:1.45}
@media(max-width:760px){.ari-memory-grid,.ari-video-grid{grid-template-columns:1fr;gap:28px}.ari-memory-grid{max-width:430px}.ari-life{padding-bottom:45px}.ari-video-section{padding:45px 0}.ari-video-placeholder{aspect-ratio:16/9}.ari-opening .lead{font-size:23px!important}}

/* Original family photographs, shown without cropping. */
.ari-memory-grid{align-items:center}.ari-memory-photo{display:block;width:100%;height:auto;border-radius:24px}.ari-hospital-memory{max-width:340px;justify-self:center}.editorial-split figure img.ari-original-photo{width:100%;height:auto;max-height:none;object-fit:contain}.ari-memory-grid .ari-memory{margin:0}
/* September 26: a continuous blush wash, intimate memories and clearer navigation. */
body.home{background:#fff4f3}body.home main{background-color:#fff4f3;background-image:linear-gradient(#fff4f399,#fff4f399),url('assets/watercolor.webp');background-size:100% 100%,100% auto;background-repeat:no-repeat,repeat-y}body.home main>.wash{background:transparent}body.home .help-strip{background:#fffaf7a8;border-color:#e7c6c0}body.home .site-footer{background:#fff4f3}.why-exist,.support-begins{padding-block:55px}.why-exist .section-heading{max-width:820px;margin-inline:auto}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.why-grid article{border-top:1px solid #d4afa3;padding-top:22px}.why-grid h3,.support-steps h3{font-size:28px;margin:10px 0}.why-grid p,.support-steps p{font-size:14px}.presence-story{padding-block:45px}.presence-story figure{max-width:430px}.presence-story figure img{border:8px solid #fffaf7;box-shadow:0 12px 40px #cd8b9826;height:auto;max-height:none;border-radius:48% 48% 32px 32px}.support-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:35px 0}.support-steps li>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #c59d79;border-radius:50%;color:var(--pink)}.support-contact{font-size:13px;margin-top:20px}.support-contact a{text-decoration:underline}.desktop-nav{gap:12px}.nav-direct,.nav-group summary{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.nav-direct{padding:12px 0}.dropdown{border-radius:14px;background:#fffdfa;min-width:265px}.dropdown a{border-radius:8px}.dropdown a:hover{background:#fff0f3}.header-inner{gap:18px}.ari-life-layout{display:grid;grid-template-columns:1.25fr .85fr;gap:65px;align-items:center}.ari-life .prose{width:100%;padding-block:40px}.ari-life{padding-block:15px}.ari-memory-grid{display:flex;flex-direction:column;gap:22px;width:100%;max-width:360px}.nicu-stack{position:relative;width:100%;height:275px}.nicu-stack .ari-memory{position:absolute;width:73%;left:0;top:0;transform:rotate(-7deg)}.nicu-stack .ari-memory+ .ari-memory{left:auto;right:0;top:95px;transform:rotate(7deg)}.ari-memory-photo,.editorial-split figure img.ari-original-photo{border:6px solid #fffaf7;border-radius:22px;box-shadow:0 10px 28px #b75e7826,0 0 25px #f6bfc866}.ari-memory figcaption{font-size:11px;line-height:1.5;margin-top:8px}.ari-hospital-memory{width:155px;max-width:155px;align-self:center}.ari-service{grid-template-columns:1.4fr .6fr;gap:55px;padding-block:45px}.ari-service figure{width:210px;max-width:210px;justify-self:center}.ari-video-grid{max-width:820px;margin:auto;gap:35px}.ari-video{margin:0}.ari-video video{display:block;width:100%;aspect-ratio:9/16;max-height:350px;background:#352c31;object-fit:contain;border-radius:20px;border:5px solid #fff9f6;box-shadow:0 10px 30px #bc728426}.ari-video figcaption{text-align:center;font-size:12px;color:var(--muted);margin-top:10px}.ari-video-section{padding-block:45px}.handwriting>span{display:block}.handwriting.writing>span{animation:ari-write 1.9s cubic-bezier(.45,.05,.35,1) both}.handwriting.writing>span+span{animation-delay:1.9s}@keyframes ari-write{from{clip-path:inset(-25% 105% -25% -10%)}to{clip-path:inset(-25% -15% -25% -10%)}}
@media(min-width:1200px) and (max-width:1350px){.header-inner{padding-inline:20px}.desktop-nav{gap:9px}.brand{width:165px;min-width:165px}.header-logo{width:165px;height:103px}.header-actions .button{padding-inline:16px}.nav-direct,.nav-group summary{font-size:10px}}
@media(max-width:760px){.why-exist,.support-begins{padding-block:35px}.why-grid{grid-template-columns:1fr;gap:20px}.why-grid h3,.support-steps h3{font-size:24px}.support-steps{grid-template-columns:1fr 1fr;gap:25px 20px}.support-steps p{font-size:12px}.ari-life-layout{grid-template-columns:1fr;gap:5px}.ari-life .prose{padding-bottom:15px}.ari-memory-grid{max-width:300px;padding-bottom:25px}.nicu-stack{height:245px}.nicu-stack .ari-memory+ .ari-memory{top:85px}.ari-hospital-memory{width:135px;max-width:135px}.ari-service{grid-template-columns:1fr;gap:22px}.ari-service figure{width:170px}.ari-video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ari-video video{border-width:3px;border-radius:12px}.ari-video figcaption{font-size:10px}.presence-story figure{max-width:300px}.presence-story{padding-block:30px}.support-contact{font-size:12px}}
@media(prefers-reduced-motion:reduce){.handwriting.writing>span{animation:none;clip-path:none}}
@media(max-width:760px){.ari-video-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:220px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 8px 18px;gap:18px}.ari-video{scroll-snap-align:start}.ari-video video{max-height:none}.ari-video figcaption{font-size:12px}}
/* One continuous watercolor field; no repeating tile edges between sections. */
body.home main{background-repeat:no-repeat;background-size:100% 100%,cover;background-attachment:scroll,fixed}
/* Shared watercolor atmosphere and one consistent menu across all screen sizes. */
body{background:#fff4f3}body main,body.home main{background-color:#fff4f3;background-image:linear-gradient(#fff4f399,#fff4f399),url('assets/watercolor.webp');background-size:100% 100%,cover;background-attachment:scroll,fixed;background-repeat:no-repeat}body main .wash{background:transparent}body .site-footer{background:#fff4f3}body .help-strip{background:#fffaf7a8;border-color:#e7c6c0}.site-header{background:#fffaf7f5}.header-actions{margin-left:auto;gap:30px}.header-meet-ari{font-size:15px;font-weight:600;white-space:nowrap}.menu-toggle{display:flex!important;align-items:center;gap:10px;min-height:44px}.menu-label{display:inline!important;font-size:14px}.full-menu{position:absolute;top:100%;left:0;right:0;background:#fff5f4;max-height:calc(100dvh - 135px);overflow-y:auto;box-shadow:0 20px 35px #9d627220;padding:20px 0 28px}.full-menu[hidden]{display:none!important}.menu-inner{width:min(780px,calc(100% - 48px));margin:auto}.full-menu details{border-bottom:1px solid #dcc3bf}.full-menu summary{font:400 27px/1.3 var(--serif);padding:16px 0;cursor:pointer}.menu-subtabs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding-bottom:15px}.full-menu .menu-subtabs a{font:15px/1.5 var(--body);padding:10px 14px;min-height:44px;border-radius:8px}.full-menu a:hover,.full-menu a:focus-visible{background:#fce3e9;color:var(--pink)}.menu-help{display:flex;justify-content:space-between;gap:20px;padding-top:15px}.menu-help a{font-size:14px;padding:12px 0}.nicu-stack{height:auto;width:min(260px,100%)}.nicu-stack .ari-memory{position:static;width:100%;transform:none}.ari-memory-grid{gap:26px}.ari-memory figcaption,.ari-service figcaption,.ari-video figcaption{font:400 14px/1.6 var(--body)!important;color:#503c3d!important;background:#fff8f5;padding:10px 12px;border-radius:10px;margin-top:12px!important}.ari-hospital-memory{width:190px;max-width:190px}.ari-service figure{width:230px;max-width:230px}.ari-service figure img.ari-original-photo{width:180px;margin:auto}.ari-video figcaption{font-size:12px!important}
@media(max-width:760px){.header-inner{padding:8px 14px;gap:8px}.brand{width:110px;min-width:110px}.header-logo{width:110px;height:75px}.header-actions{gap:12px}.header-meet-ari{font-size:12px}.header-actions .button{padding:9px 12px}.header-actions .button svg{display:none}.menu-toggle{gap:6px;padding:4px}.menu-label{font-size:12px}.menu-lines{width:20px}.full-menu{max-height:calc(100dvh - 92px);padding:12px 0 20px}.menu-inner{width:calc(100% - 36px)}.full-menu summary{font-size:24px}.menu-subtabs{grid-template-columns:1fr;gap:0}.full-menu .menu-subtabs a{font-size:14px}.menu-help{gap:10px}.menu-help a{font-size:12px}.nicu-stack{max-width:235px}.ari-hospital-memory{width:165px;max-width:165px}}
@media(max-width:359px){.header-inner{padding-inline:10px}.brand{width:90px;min-width:90px}.header-logo{width:90px;height:68px}.header-actions{gap:8px}.header-meet-ari{font-size:11px}.header-actions .button{padding-inline:10px;font-size:11px}.menu-label{font-size:11px}.menu-lines{width:18px}}
/* Approved gold sparkle shapes and the Young Ambassadors collection. */
.sparkle{font-size:0!important;width:42px;height:64px;background:url('assets/star-north.svg') center/contain no-repeat;animation:sj-shimmer 5s ease-in-out infinite;pointer-events:none}.sparkle-two{background-image:url('assets/star-four.svg');animation-delay:-2s}.sj-star-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.sj-star{position:absolute;width:26px;height:42px;background:url('assets/star-four.svg') center/contain no-repeat;animation:sj-shimmer 5.5s ease-in-out infinite}.sj-star:nth-child(even){background-image:url('assets/star-north.svg');height:65px;width:30px}.sj-decorated{position:relative;isolation:isolate}@keyframes sj-shimmer{0%,100%{opacity:.38;transform:scale(.85);filter:drop-shadow(0 0 0 #f9daab00)}50%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 7px #f7d5a7)}}
.mission-statement{padding-block:65px}.mission-statement h2{margin-bottom:25px}.programs-note{text-align:center;padding-bottom:35px}.support-program-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-block:15px 65px}.support-program-cards article{position:relative;padding:30px 22px;background:#fffaf7b8;border:1px solid #e8cfc5;border-radius:70px 70px 20px 20px;text-align:center;scroll-margin-top:160px}.support-program-cards .resource-number{font-size:11px;color:var(--gold);letter-spacing:.2em}.support-program-cards .icon-wash{margin:16px auto 22px}.support-program-cards h2{font-size:29px;margin-bottom:18px}.support-program-cards p{font-size:14px}.research-impact{padding-block:50px}.research-impact .section-heading{max-width:820px;margin:0 auto 45px}.research-impact .section-heading p{margin-top:25px}.research-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-bottom:28px}.research-stats article{border-top:1px solid #cbab91;padding:24px 0}.research-stats strong{font:400 65px/1.2 var(--serif);color:var(--pink)}.research-stats p{font-size:15px;margin-top:18px}.research-limitations{font-size:13px;max-width:750px}.support-footer{padding-block:30px}.support-footer .button{margin-right:20px}.support-footer .script{margin-top:28px}
.ambassador-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-block:65px 45px}.ambassador-hero h1{font-size:clamp(45px,5vw,72px)}.ambassador-hero .lead{margin:28px 0;font-size:18px}.ambassador-art{position:relative;min-height:420px;display:grid;place-items:center}.ambassador-art>svg{width:90%;height:370px;color:#bf944c;stroke-width:.7;filter:drop-shadow(0 3px 4px #d79c6830);transform:rotate(-9deg)}.amb-butterfly{position:absolute;width:130px;filter:drop-shadow(0 10px 10px #bc47792a)}.amb-b1{top:15px;right:0;transform:rotate(20deg)}.amb-b2{bottom:35px;left:-20px;transform:rotate(-20deg);width:160px}.amb-b3{bottom:10px;right:45px;width:85px;transform:rotate(12deg)}.amb-art-caption{position:absolute;top:43%;left:17%;font-size:54px;transform:rotate(-12deg)}.ambassador-community{padding-block:45px}.ambassador-community p{margin-top:24px}.ambassador-actions{padding-block:30px 55px}.ambassador-five{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;text-align:center}.ambassador-five .icon-wash{margin:0 auto 20px;width:100px;height:100px}.ambassador-five svg{width:50px;height:50px;color:var(--pink)}.ambassador-five h3{font-size:28px;margin-bottom:15px}.ambassador-five p{font-size:14px}.ambassador-growth{padding-block:40px}.ambassador-growth>h2{text-align:center;margin-bottom:35px}.ambassador-three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ambassador-three article{padding:32px;background:#fffaf7b8;border:1px solid #e6c5bc;border-radius:22px}.ambassador-three h3{font-size:27px;margin-bottom:18px}.ambassador-three p{font-size:15px}.ambassador-join{padding-block:50px 75px}.ambassador-join h2{margin-bottom:28px}.ambassador-join p{font-size:13px;margin-top:22px}
@media(max-width:900px){.support-program-cards{grid-template-columns:repeat(2,1fr)}.ambassador-five{grid-template-columns:repeat(3,1fr)}.ambassador-hero{gap:25px}.amb-art-caption{font-size:42px}.ambassador-art>svg{height:290px}.ambassador-art{min-height:330px}.amb-b1{width:95px}.amb-b2{width:115px}.ambassador-three{gap:16px}.ambassador-three article{padding:22px}}
@media(max-width:600px){.mission-statement{padding-block:40px}.support-program-cards{gap:15px;padding-bottom:30px}.support-program-cards article{padding:22px 14px;border-radius:45px 45px 18px 18px}.support-program-cards h2{font-size:23px}.support-program-cards p{font-size:13px}.support-program-cards .icon-wash{width:65px;height:65px}.research-stats{grid-template-columns:1fr;gap:5px}.research-stats strong{font-size:54px}.research-impact{padding-block:30px}.research-impact h2{font-size:32px}.research-impact p{font-size:14px}.ambassador-hero{grid-template-columns:1fr;padding-top:40px;gap:10px}.ambassador-hero .lead{font-size:16px}.ambassador-art{max-width:330px;width:100%;margin:auto;min-height:320px}.ambassador-community{padding-block:25px}.ambassador-five{grid-template-columns:1fr 1fr;gap:28px 20px}.ambassador-five article:last-child{grid-column:1/-1;max-width:220px;justify-self:center}.ambassador-three{grid-template-columns:1fr}.ambassador-growth .script,.ambassador-join .script{font-size:48px}.ambassador-join{padding-block:30px 50px}.sj-star{width:17px;height:28px}.sj-star:nth-child(even){width:20px;height:43px}.support-footer .button{margin:0 0 14px}.support-footer>a{margin-inline:8px}}
@media(prefers-reduced-motion:reduce){.sj-star,.sparkle{animation:none!important;opacity:.7}}

/* Refinements, 2026-09 (website 2.0). Appended last so these win over the earlier layers. */
/* Top bar: call to action to the Gala page. Header shrinks so bar + header keep the previous total height. */
.top-note{display:block;font-size:12px;letter-spacing:.06em;line-height:1.5;padding:8px 20px;background:#f9e3e6;color:#6b4046;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-note .top-note-short{display:none}
.top-note .top-note-cta{margin-left:14px;color:var(--pink);font-weight:600;border-bottom:1px solid currentColor}
.top-note:hover .top-note-cta,.top-note:focus-visible .top-note-cta{color:#a60846}
.header-inner{padding-block:5px}
.brand{width:144px;min-width:144px}
.header-logo{width:144px;height:88px}
@media(max-width:760px){.top-note{font-size:11px;letter-spacing:.03em;padding:7px 12px}.top-note .top-note-long{display:none}.top-note .top-note-short{display:inline}.top-note .top-note-cta{margin-left:8px}
.header-inner{padding-block:4px}.brand{width:88px;min-width:88px}.header-logo{width:88px;height:56px}}
@media(max-width:359px){.brand{width:80px;min-width:80px}.header-logo{width:80px;height:52px}}
/* Hero portrait: original fade, with a more gradual (softer) edge */
.ari-portrait{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 46%,rgba(0,0,0,.9) 58%,rgba(0,0,0,.55) 74%,rgba(0,0,0,.2) 88%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 46%,rgba(0,0,0,.9) 58%,rgba(0,0,0,.55) 74%,rgba(0,0,0,.2) 88%,transparent 100%)}
/* Stars: same twinkle, lighter to draw (opacity and transform only, no animated glow filter) */
@keyframes sj-shimmer{0%,100%{opacity:.4;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
.sparkle,.sj-star{filter:drop-shadow(0 0 5px #f7d5a780)}
/* Menu: drawn chevrons instead of the browser triangle, gentle open, dimmed page behind, Close state */
.full-menu summary,.faq-list summary,.sj-gala-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:color .2s}
.full-menu summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker,.sj-gala-faq summary::-webkit-details-marker{display:none}
.full-menu summary::after,.faq-list summary::after,.sj-gala-faq summary::after{content:'';flex-shrink:0;width:9px;height:9px;margin-right:6px;border-right:1.5px solid var(--pink);border-bottom:1.5px solid var(--pink);transform:translateY(-3px) rotate(45deg);transition:transform .3s ease}
.full-menu details[open]>summary::after,.faq-list details[open]>summary::after,.sj-gala-faq details[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.full-menu summary:hover,.faq-list summary:hover,.sj-gala-faq summary:hover{color:var(--pink)}
.full-menu details[open]>.menu-subtabs,.faq-list details[open]>p,.sj-gala-faq details[open]>p{animation:sj-reveal .3s ease-out}
.full-menu:not([hidden]){animation:sj-menu-in .28s ease-out;box-shadow:0 20px 35px #9d627220,0 100vmax 0 100vmax #49373333}
@keyframes sj-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes sj-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.menu-lines{transition:border-color .2s}
.menu-lines:before,.menu-lines:after{position:absolute;content:'';left:0;right:0;top:5px;height:1.5px;background:var(--pink);transition:transform .25s ease}
.menu-lines:before{opacity:0}
.menu-toggle[aria-expanded=true] .menu-lines{border-color:transparent}
.menu-toggle[aria-expanded=true] .menu-lines:before{opacity:1;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}
.menu-label{min-width:40px;text-align:left}
/* "Love Like Ari": hidden until it scrolls into view (no flash), heart outline draws itself, then each line is
   written with a soft moving edge instead of a hard wipe; the butterfly lands last. */
.will-write .handwriting>span{-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent 60%);mask-image:linear-gradient(90deg,#000 40%,transparent 60%);-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0;animation:none}
.will-write>svg path{stroke-dasharray:130;stroke-dashoffset:130}
.will-write>.butterfly{opacity:0}
.writing .handwriting>span{animation:sj-write 1.5s cubic-bezier(.33,0,.2,1) .7s forwards}
.writing .handwriting>span+span{animation-delay:1.8s}
.writing>svg path{animation:sj-draw 1.3s cubic-bezier(.45,0,.2,1) forwards}
.writing>.butterfly{animation:sj-land .9s ease-out 3s forwards}
@keyframes sj-write{to{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes sj-draw{to{stroke-dashoffset:0}}
@keyframes sj-land{from{opacity:0;translate:-14px 10px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.will-write .handwriting>span{-webkit-mask-image:none;mask-image:none}.will-write>svg path{stroke-dasharray:none}.will-write>.butterfly{opacity:1}}
/* Home events: two matching cards. Each one is a small frame of the same height (poster / mirrorball) with the
   text underneath, so the Terra poster no longer towers over the gala card. */
.event-features{grid-template-columns:1fr 1fr;gap:45px;align-items:start}
.terra-invitation-feature{gap:25px}
.terra-invitation-feature .invite-link{height:400px;display:grid;place-items:center;padding:22px;border-radius:6px;background:#fff8f6;box-shadow:inset 0 0 0 1px #e7c6c0,inset 0 0 0 7px #fff8f6,inset 0 0 0 8px #d9b98a55}
.homepage-invite{width:auto;max-width:100%;height:100%;max-height:356px;object-fit:contain;border:6px solid #fff;border-radius:3px;box-shadow:0 10px 28px #b75e7826;transition:transform .3s ease}
.invite-link:hover .homepage-invite{transform:translateY(-3px) rotate(-.6deg)}
.gala-feature{display:grid;gap:25px;min-height:0;padding:0;background:none;color:var(--ink);overflow:visible;border-radius:0;align-items:start}
.gala-feature::before{content:'';height:400px;border-radius:6px;background:radial-gradient(circle at 50% 45%,#7a3450 0,#542637 62%);box-shadow:inset 0 0 0 7px #542637,inset 0 0 0 8px #d9b98a66}
.gala-feature .gala-mirrorball{top:95px;left:50%;right:auto;transform:translateX(-50%);width:210px;height:210px}
.gala-feature .eyebrow{color:var(--pink)}
.gala-feature p{color:var(--muted)}
.gala-feature .text-link{color:var(--ink)}
.gala-feature h3,.terra-invitation-feature h3{font-size:34px;margin-bottom:15px}
.gala-feature:hover .gala-mirrorball{transform:translateX(-50%) rotate(-4deg)}
.gala-mirrorball{transition:transform .5s ease}
@media(max-width:760px){.event-features{grid-template-columns:1fr;gap:40px}.terra-invitation-feature .invite-link,.gala-feature::before{height:330px}.homepage-invite{max-height:290px}.gala-feature .gala-mirrorball{top:75px;width:180px;height:180px}.gala-feature h3,.terra-invitation-feature h3{font-size:30px}}
.terra-invitation-feature .eyebrow,.gala-feature .eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:14px}
.terra-invitation-feature p:not(.eyebrow),.gala-feature p:not(.eyebrow){font-size:15px;color:var(--muted)}
/* Love Like Ari, pass 2: room around the script so the tall "L" and the swashes are not cut by the mask; a
   narrower soft edge; "Love" speeds up into "Like Ari", which starts as "Love" ends, so it reads as one stroke. */
.love-art .handwriting>span{padding:.3em .25em;margin:-.3em -.25em}
.will-write .handwriting>span{-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%)}
.writing .handwriting>span{animation:sj-write 1s cubic-bezier(.5,0,.9,.7) .9s forwards}
.writing .handwriting>span+span{animation:sj-write 1.7s cubic-bezier(.1,.35,.4,1) 1.82s forwards}
.writing>.butterfly{animation-delay:3.3s}
/* Home events, pass 2: flyer-sized frames that hug their content (poster / mirrorball), same size, no side space. */
.terra-invitation-feature .invite-link{width:fit-content;height:auto;padding:8px;background:#fff;border-radius:4px;box-shadow:0 0 0 1px #e7c6c0,0 12px 30px #b75e7822}
.homepage-invite{width:280px;height:420px;max-height:none;object-fit:cover;border:0;border-radius:2px;box-shadow:none}
.gala-feature::before{width:296px;height:436px;box-sizing:border-box;border:8px solid #fff;border-radius:4px;background:radial-gradient(circle at 50% 42%,#7a3450 0,#542637 65%);box-shadow:0 0 0 1px #e7c6c0,0 12px 30px #b75e7822}
.gala-feature .gala-mirrorball{top:105px;left:148px;width:200px;height:200px}
@media(max-width:760px){.homepage-invite{width:240px;height:360px}.gala-feature::before{width:256px;height:376px}.gala-feature .gala-mirrorball{top:90px;left:128px;width:170px;height:170px}}
/* Love Like Ari, pass 3: the butterfly lands after "Ari" (right side); on desktop the heart sits a little further left. */
.love-art .butterfly{left:auto;right:-38px;bottom:34px;width:84px;transform:rotate(-14deg)}
@media(min-width:761px){.ari-band-inner>.love-art,.love-art{margin-left:24px;margin-right:auto}}
@media(max-width:760px){.love-art .butterfly{right:-26px;bottom:24px;width:62px}}
/* Home events, pass 3: each card centred in its column (frame, then text), same on phone. */
.terra-invitation-feature,.gala-feature{justify-items:center;text-align:center}
.terra-invitation-feature>div,.gala-feature>div{max-width:440px}
.gala-feature .gala-mirrorball{left:50%}
/* Motion pack (Toni): livelier star twinkle, a mirrorball that sways and catches the light, butterflies that flap.
   Transform, opacity and background-position only; everything stops for prefers-reduced-motion. */
@keyframes sj-shimmer{0%,100%{opacity:.45;transform:scale(.85) rotate(0)}40%{opacity:.7;transform:scale(.95) rotate(0)}50%{opacity:1;transform:scale(1.18) rotate(14deg)}60%{opacity:.8;transform:scale(1) rotate(0)}}
.gala-mirrorball{transform-origin:50% 0;animation:sj-sway 7s ease-in-out infinite}
@keyframes sj-sway{0%,100%{rotate:-3deg}50%{rotate:3deg}}
.gala-feature:hover .gala-mirrorball{transform:translateX(-50%)}
.sj-fly{display:block;perspective:700px;animation:sj-bob 7s ease-in-out infinite}
.sj-fly .sj-wing{display:block;width:100%;height:auto;transform-origin:47.6% 61%;animation:sj-flap-l 6s ease-in-out infinite;animation-delay:var(--flap-delay,0s)}
.sj-fly .sj-wing-l{clip-path:polygon(0 0,76.7% 0,32.3% 100%,0 100%)}
.sj-fly .sj-wing-r{position:absolute;inset:0;clip-path:polygon(75.7% 0,100% 0,100% 100%,31.3% 100%);animation-name:sj-flap-r}
@keyframes sj-flap-l{0%,28%,100%{transform:none}6%,17%{transform:rotate3d(.466,-.885,0,62deg)}11.5%,22.5%{transform:rotate3d(.466,-.885,0,6deg)}}
@keyframes sj-flap-r{0%,28%,100%{transform:none}6%,17%{transform:rotate3d(.466,-.885,0,-62deg)}11.5%,22.5%{transform:rotate3d(.466,-.885,0,-6deg)}}
@keyframes sj-bob{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media(prefers-reduced-motion:reduce){.gala-mirrorball,.sj-glint,.sj-fly,.sj-fly .sj-wing{animation:none!important}}
/* Mirrorball glints: small sparkles that light up on different tiles, each on its own beat (added by site.js). */
.sj-ball{display:block}
.sj-ball>img{display:block;width:100%;height:100%;object-fit:contain}
.sj-glint{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;opacity:0;pointer-events:none;
  background:radial-gradient(circle,#fff 0 14%,rgba(255,255,255,.55) 26%,transparent 52%),linear-gradient(#fff,#fff) center/100% 1.2px no-repeat,linear-gradient(#fff,#fff) center/1.2px 100% no-repeat;
  -webkit-mask:radial-gradient(circle,#000 22%,transparent 70%);mask:radial-gradient(circle,#000 22%,transparent 70%);animation:sj-glint 3.6s ease-in-out infinite}
@keyframes sj-glint{0%,62%,100%{opacity:0;transform:scale(.3) rotate(0)}74%{opacity:1;transform:scale(1) rotate(25deg)}86%{opacity:.25;transform:scale(.6) rotate(40deg)}}
.sj-glint{width:22px;height:22px;margin:-11px 0 0 -11px;filter:drop-shadow(0 0 3px #fff)}
/* Gala intro: date and venue with icons, easy to read */
.gala-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 34px;margin-top:22px;font-size:16px;font-weight:500;color:var(--ink)}
.gala-meta span{display:inline-flex;align-items:center;gap:10px}
.gala-meta svg{width:22px;height:22px;color:var(--gold)}
@media(max-width:760px){.gala-meta{flex-direction:column;align-items:center;font-size:15px}}
.gala-intro>p.gala-meta{font-size:17px;color:var(--ink)}
@media(max-width:760px){.gala-intro>p.gala-meta{font-size:16px}}
/* Sponsorship page (/sponsorship/), after Toni's mock-up of 2026-09-28. */
.sponsor-hero{padding:70px 0 60px;overflow:hidden}
.sponsor-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.sponsor-hero h1{font-size:clamp(46px,5.4vw,78px);margin-bottom:10px}
.sponsor-hero .heart-divider{margin:22px 0}
.sponsor-lead{font:400 26px/1.35 var(--serif);letter-spacing:-.02em;margin-bottom:14px}
.sponsor-hero p:not(.eyebrow):not(.sponsor-lead):not(.script){font-size:16px;color:var(--muted);max-width:540px}
.sponsor-hero .sponsor-facts{font-weight:600;color:var(--ink)!important;margin-top:18px}
.sponsor-hero-art{position:relative;min-height:420px}
.sponsor-hero-art .gala-mirrorball{position:absolute;left:auto;transform:none}
.sponsor-hero-art .sponsor-ball-one{top:0;right:6%;width:250px;height:250px}
.sponsor-hero-art .sponsor-ball-two{top:170px;right:52%;width:150px;height:150px}
.sponsor-legacy{position:absolute;right:4%;bottom:10px;display:grid;gap:2px;font-size:40px;line-height:1.05;transform:rotate(-8deg);text-align:right}
.sponsor-remote{display:flex;gap:26px;align-items:flex-start;padding:30px 36px;margin-block:10px 30px;border-left:3px solid var(--pink);background:#fffaf7b8;border-radius:0 8px 8px 0}
.sponsor-remote-icon svg{width:34px;height:34px;color:var(--pink)}
.sponsor-remote .eyebrow{margin-bottom:10px}
.sponsor-remote p:not(.eyebrow){font-size:16px;color:var(--muted)}
.sponsor-list{padding-block:45px 70px}
.sponsor-list .heart-divider{margin:4px auto 0}
.sponsor-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.sponsor-card{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:18px;background:#fffdfb;border:1px solid #ecd6cc;border-radius:8px;box-shadow:0 10px 26px #b75e7810;scroll-margin-top:150px}
.sponsor-photo{margin:0}
.sponsor-photo img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;border-radius:4px}
.sponsor-card h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:24px;letter-spacing:.02em;text-transform:uppercase;margin:4px 0 2px}
.sponsor-price{color:var(--pink);font-size:22px}
.sponsor-price:before{content:'';display:inline-block;width:1px;height:18px;background:var(--gold);margin-right:14px;vertical-align:-2px}
.sponsor-type{font:italic 21px/1.3 var(--italic);color:var(--muted);margin-bottom:12px}
.sponsor-body>p:not(.sponsor-type):not(.sponsor-rec-title){font-size:15px;color:var(--muted)}
.sponsor-rec-title{font-size:13px;font-weight:600;margin:14px 0 6px}
.sponsor-body ul{margin:0 0 16px;padding-left:18px;font-size:13px;color:var(--muted);line-height:1.6}
.sponsor-closing{position:relative}
.sponsor-closing .gala-mirrorball.sponsor-ball-close{position:absolute;left:4%;bottom:-20px;top:auto;width:170px;height:170px;transform:none;opacity:.95}
@media(max-width:1050px){.sponsor-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sponsor-hero{padding:40px 0}.sponsor-hero-grid{grid-template-columns:1fr}.sponsor-hero-art{min-height:300px;order:-1}.sponsor-hero-art .sponsor-ball-one{right:auto;left:50%;translate:-30% 0;width:190px;height:190px}.sponsor-hero-art .sponsor-ball-two{top:140px;right:auto;left:8%;width:110px;height:110px}.sponsor-legacy{font-size:30px;right:2%}.sponsor-lead{font-size:22px}.sponsor-remote{padding:22px;gap:16px}.sponsor-card{grid-template-columns:1fr;padding:14px}.sponsor-photo img{aspect-ratio:16/10}.sponsor-closing .gala-mirrorball.sponsor-ball-close{width:110px;height:110px;opacity:.6}}
.sponsor-card h3{display:grid;gap:2px}
.sponsor-price:before{content:none}
/* Sponsorship hero and closing, with the mirror-ball photo (assets/sponsors/hero.webp, closing.webp). */
body main .sponsor-hero{background:linear-gradient(90deg,rgba(255,244,243,.94) 0,rgba(255,244,243,.82) 38%,rgba(255,244,243,0) 64%),url('assets/sponsors/hero.webp') right center/cover no-repeat;padding:90px 0 80px}
.sponsor-hero-art{min-height:360px}
.sponsor-legacy{right:0;bottom:-10px;color:#fff;text-shadow:0 2px 14px #7a2b4a99}
.sponsor-remote{margin-top:40px}
body main .sponsor-closing{background:linear-gradient(180deg,#fff4f3 0,rgba(255,244,243,0) 90px,rgba(255,244,243,0) calc(100% - 90px),#fff4f3 100%),linear-gradient(90deg,rgba(255,244,243,0) 0,rgba(255,244,243,.55) 220px,#fff4f3 390px),url('assets/sponsors/closing.webp') left center/auto 100% no-repeat}
@media(max-width:760px){
 body main .sponsor-hero{background:linear-gradient(180deg,rgba(255,244,243,0) 0,rgba(255,244,243,.15) 150px,rgba(255,244,243,.9) 320px,#fff4f3 400px),url('assets/sponsors/hero.webp') 82% top/auto 420px no-repeat;padding:250px 0 40px}
 .sponsor-hero-art{position:absolute;inset:0 0 auto 0;min-height:0;height:240px;order:0}
 .sponsor-hero .sponsor-hero-grid{position:relative}
 .sponsor-legacy{display:none}
 body main .sponsor-closing{background:linear-gradient(180deg,rgba(255,244,243,.2) 0,rgba(255,244,243,.85) 180px,#fff4f3 250px),url('assets/sponsors/closing.webp') left top/auto 260px no-repeat}
}
/* Sponsorship hero, pass 2: the script sits on the soft side of the photo, in pink, so it stays readable. */
.sponsor-legacy{left:-6%;right:auto;bottom:-10px;color:var(--pink);text-shadow:0 0 12px #fff,0 0 3px #fff;text-align:left}
/* Gala: "Sponsor the evening" button under the intro heading (added by site.js). */
.sj-sponsor-button{margin-top:26px;box-shadow:0 10px 24px #ce0a5930}
/* Sponsorship cards: the button sits at the same distance from the bottom of every card, so a row lines up. */
.sponsor-card{align-items:stretch}
.sponsor-body{display:flex;flex-direction:column}
.sponsor-body .sponsor-button{margin-top:auto;align-self:flex-start}
.sponsor-body>p:not(.sponsor-type):not(.sponsor-rec-title){margin-bottom:0}.sponsor-rec-title{margin-top:18px}
.sponsor-back{margin-top:18px}.sponsor-closing-actions{justify-content:center;margin-top:6px}
/* Sponsorship closing on phones: the mirror-ball photo full width above the text, fading into the page. */
@media(max-width:760px){body main .sponsor-closing{background:linear-gradient(180deg,#fff4f3 0,rgba(255,244,243,0) 70px,rgba(255,244,243,.15) 120px,rgba(255,244,243,.92) 260px,#fff4f3 320px),url('assets/sponsors/hero.webp') 82% top/auto 340px no-repeat;padding-top:230px}}
/* Sponsorship cards, desktop: the two cards of a row share the same row lines (subgrid), so "Sponsor recognition
   includes", the lists and the buttons start at the same height whatever the length of each description. */
@media(min-width:1051px){
 .sponsor-grid{grid-auto-rows:auto;row-gap:26px}
 .sponsor-card{grid-row:span 6;display:grid;grid-template-columns:180px 1fr;grid-template-rows:subgrid;row-gap:0;column-gap:24px;align-items:start}
 .sponsor-photo{grid-column:1;grid-row:1/-1}
 .sponsor-body{display:contents}
 .sponsor-body>*{grid-column:2}
 .sponsor-body .sponsor-button{align-self:end;justify-self:start;margin-top:18px}
}
/* Phones: a portrait watercolor (floral frame at the sides and foot, plain paper in the middle) on a fixed layer
   behind the content. Works on iPhone, where background-attachment:fixed is ignored. Desktop keeps the original. */
@media(max-width:760px){
 body main,body.home main{background:transparent!important}
 body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#fff4f399,#fff4f399),url('assets/watercolor-phone.webp') center/cover no-repeat}
}
/* Donate page: Zeffy form embedded beside the copy, trust notes, programs, more ways to help
   (layout adapted from the archived build, ../website/v2/prototipo/donate.html). */
.donate-hero{text-align:left;padding-block:70px 60px}
.donate-grid{display:grid;grid-template-columns:5fr 6fr;gap:60px;align-items:start}
.donate-copy{position:sticky;top:150px}
.donate-hero .donate-copy h1{margin-bottom:20px}
.donate-hero .donate-copy .lead{margin-inline:0;max-width:520px}
.donate-hero .heart-divider{margin:26px 0}
.donate-trust{list-style:none;padding:22px 0 0;margin:0;display:grid;gap:14px;border-top:1px solid var(--line)}
.donate-trust li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);line-height:1.55}
.donate-trust b{color:var(--ink);font-weight:600}
.donate-trust svg{width:22px;height:22px;flex:none;margin-top:2px;fill:none;stroke:var(--pink);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.donate-embed{position:relative;height:clamp(560px,72vh,720px);overflow:hidden;background:#fff;border:1px solid #e3c9a3;border-radius:8px;box-shadow:0 0 0 7px #fffdfb,0 0 0 8px #e7c6c0,0 16px 36px #b75e7822}
.donate-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.donate-fallback{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.donate-fallback+.donate-fallback{margin-top:6px}
.donate-fallback a{color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.donate-programs{padding-block:60px 30px}
.donate-programs .section-heading p:not(.eyebrow){max-width:560px;margin:14px auto 0}
.donate-ways{padding-block:40px 80px}
.donate-ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:980px;margin:0 auto}
.donate-ways-grid article{padding:30px 26px;background:#fffdfb;border:1px solid #ecd6cc;border-radius:8px;box-shadow:0 10px 26px #b75e7810;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.donate-ways-grid svg,.donate-ways-star{width:40px;height:40px;color:var(--gold);margin-bottom:8px}
.donate-ways-grid h3{font-size:26px}
.donate-ways-grid p{font-size:15px;color:var(--muted);margin-bottom:10px}
.donate-ways-grid .text-link{margin-top:auto}
@media(max-width:980px){.donate-grid{grid-template-columns:1fr;gap:36px}.donate-copy{position:static}}
@media(max-width:760px){.donate-hero{padding-block:40px}.donate-embed{height:640px}.donate-ways-grid{grid-template-columns:1fr}}
.donate-hero .donate-copy h1{font-size:clamp(44px,4.4vw,66px)}
.donate-embed{height:clamp(500px,62vh,600px)}
@media(max-width:980px){
 .donate-copy{display:contents}
 .donate-copy>*{order:1}
 .donate-form{order:2}
 .donate-copy>.donate-trust{order:3;margin-top:4px}
 .donate-hero .heart-divider{margin:18px 0 6px}
}
.donate-copy{position:static;padding-top:28px}
.donate-hero{padding-bottom:90px}
.donate-hero{padding-bottom:60px}.donate-programs{padding-block:50px 80px}
/* Donate programs: closer to the heading; small arrows lined up at the foot of each column. */
.donate-programs .section-heading{margin-bottom:28px}
.donate-programs .program{display:flex;flex-direction:column;align-items:center;height:100%}
.donate-programs .program-arrow{margin-top:auto;padding-top:12px;font-size:15px;line-height:1}
.page-intro+.donate-programs>.program-grid{padding-top:0}
/* Donate heart divider: each line gets its own gradient instead of a 180° rotation (a rotated 1px line can land
   half a pixel off its twin, so the pair looked crooked); lines sit exactly on the heart's middle. */
.donate-hero .heart-divider{height:25px}
.donate-hero .heart-divider span{height:1px;align-self:center;transform:none;background:linear-gradient(90deg,transparent,var(--gold))}
.donate-hero .heart-divider span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
/* Optical centring: the heart's weight is in its two lobes, so the lines meet it at the lobes, not its box middle. */
.donate-hero .heart-divider svg{translate:0 2px}
/* The divider spans the whole text column, heart in the middle. */
.donate-hero .heart-divider{max-width:none;width:100%}
/* Tablet and phone: one column, where the copy's children are grid items (display:contents), so the grid gap
   opened a big space between every line. Spacing comes from margins instead. */
@media(max-width:980px){
 .donate-grid{row-gap:0}
 .donate-hero .donate-copy h1{margin-bottom:18px}
 .donate-hero .heart-divider{margin:24px 0 30px}
 .donate-form{margin-bottom:30px}
 .donate-copy>.donate-trust{margin-top:0}
}
/* Sponsorship in the cart (SPON-01): a sold package keeps its card, with a quiet "Sponsored — thank you". */
.sponsor-button.is-sponsored{background:transparent;border-color:var(--line);color:var(--muted);cursor:default;transform:none}
.sponsor-button.is-sponsored:hover{background:transparent;transform:none}
.sj-sponsor-fields{padding:24px 0 8px}
.sj-sponsor-fields h3{font-size:24px;margin-bottom:14px}
.sj-sponsor-fields .small{color:var(--muted);margin-top:10px}
.sj-sponsor-notices{padding-top:24px}
/* Young Ambassadors heart: caption centred on the heart (it was pinned to top/left percentages, so it sat left of
   the heart's middle); one line at every width. */
.amb-art-caption{top:47%;left:50%;translate:-50% -50%;white-space:nowrap}
/* News & Community (NEWS-00): cards the team fills from Posts; same card language as the sponsorship page. */
.news-section{padding-block:40px 60px}
.news-section>h2{margin-bottom:14px}
.news-intro{max-width:720px;font-size:16px;color:var(--muted);margin-bottom:28px}
.news-group{font:600 11px/1.5 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:8px 0 16px}
.news-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px;margin-bottom:34px}
.news-card{display:flex;flex-direction:column;background:#fffdfb;border:1px solid #ecd6cc;border-radius:8px;box-shadow:0 10px 26px #b75e7810;overflow:hidden}
.news-card-media{display:block;aspect-ratio:4/3;background:var(--blush)}
.news-card-media img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.news-card-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--pink);background:#fbe7e8 url('assets/watercolor.webp') 30% 60%/300%;border-bottom:1px solid #ecd6cc}
.news-card-date span{font:600 11px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase}
.news-card-date strong{font:400 64px/1 var(--serif);letter-spacing:-.04em}
.news-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.news-card .eyebrow{margin:0;font-size:10px;letter-spacing:.16em}
.news-card h3{font-size:24px;line-height:1.2}
.news-card h3 a:hover{color:var(--pink)}
.news-card p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}
.news-card .text-link{margin-top:auto;align-self:flex-start}
.news-card-press{padding:24px 24px 22px;gap:10px;border-left:3px solid var(--gold);border-radius:0 8px 8px 0}
.news-grid-press{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.news-more{margin-top:-10px}
.news-archive{padding-top:50px}
.news-single-intro h1{max-width:820px;margin-inline:auto}
.news-single{padding-block:40px 70px}
.news-single figure,.news-single .wp-block-video,.news-single .wp-block-image{margin:0 0 26px}
.news-single img,.news-single video{width:100%;height:auto;border-radius:8px;box-shadow:0 10px 26px #b75e7818}
.news-single video{max-height:78vh;background:#352c31;object-fit:contain}
.news-back{margin-top:34px}
@media(max-width:760px){.news-grid-cards,.news-grid-press{grid-template-columns:1fr;gap:20px}.news-card h3{font-size:22px}.news-card-date strong{font-size:52px}.news-section{padding-block:30px 40px}}
/* News cards, pass 2: three even columns for events; press cards stretch to the row (a single article is not a
   narrow card floating on the left) and read as a quote strip. */
.news-grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-grid-press{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.news-card-press{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px 48px;padding:30px 36px}
.news-card-press .eyebrow,.news-card-press h3{grid-column:1}
.news-card-press h3{font-size:30px}
.news-card-press p:not(.eyebrow){grid-column:2;grid-row:1/3;font-size:15px}
.news-card-press .text-link{grid-column:2;margin-top:6px}
@media(max-width:980px){.news-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card-press{grid-template-columns:1fr;padding:24px}.news-card-press p:not(.eyebrow),.news-card-press .text-link{grid-column:1;grid-row:auto}.news-card-press h3{font-size:25px}}
@media(max-width:760px){.news-grid-cards,.news-grid-press{grid-template-columns:1fr}}
.news-card-media{position:relative;overflow:hidden}
.news-card-media img{position:absolute;inset:0}
.news-card-press .text-link{justify-self:start}
#press+.news-section{padding-top:0}
@media(min-width:761px){#press+.news-section{margin-top:-40px}}
/* Phones: a card without a photo puts its date in a narrow column beside the text, so three events do not
   stack three large date panels. */
@media(max-width:760px){
 .news-card:has(.news-card-date){flex-direction:row}
 .news-card:has(.news-card-date) .news-card-date{flex:0 0 86px;aspect-ratio:auto;border-bottom:0;border-right:1px solid #ecd6cc;background:#fbe7e8 url('assets/watercolor.webp') 35% 60%/auto 180% no-repeat}
 .news-card:has(.news-card-date) .news-card-date strong{font-size:40px}
 .news-card:has(.news-card-date) .news-card-date span{font-size:10px;letter-spacing:.14em}
 .news-card:has(.news-card-date) .news-card-body{padding:18px 18px 20px}
}
/* News, pass 3 (Anna): the video frame hugs the video (no dark side bands); the date panel is plain paper with a
   gold hairline instead of a second watercolor on top of the page's; card media a little lower (3:2). */
.news-single video{display:block;width:auto;max-width:100%;height:auto;max-height:78vh;margin:0 auto;background:transparent}
.news-single .wp-block-video{text-align:center}
.news-card-media{aspect-ratio:3/2}
.news-card-media img{object-position:50% 20%}
.news-card-date,.news-card:has(.news-card-date) .news-card-date{background:#fffaf7;box-shadow:inset 0 0 0 10px #fffaf7,inset 0 0 0 11px #e3c9a3}
@media(max-width:760px){.news-card:has(.news-card-date) .news-card-date{box-shadow:inset 0 0 0 7px #fffaf7,inset 0 0 0 8px #e3c9a3}}
/* News, pass 4 (Anna): on wider screens the date sits in a gold medallion (the program icons' ring) on a blush
   glow, in a lower panel, instead of a large white frame. Phones keep the narrow framed column. */
@media(min-width:761px){
 .news-card-date,.news-card:has(.news-card-date) .news-card-date{aspect-ratio:auto;height:190px;position:relative;isolation:isolate;box-shadow:none;background:radial-gradient(ellipse 70% 90% at 50% 50%,#f9d9df 0,#fcebed 45%,#fffaf7 100%)}
 .news-card-date::before,.news-card-date::after{content:'';position:absolute;left:50%;top:50%;border-radius:50%;translate:-50% -50%;z-index:-1}
 .news-card-date::before{width:132px;height:132px;background:#fffaf7cc;border:1px solid #c39452}
 .news-card-date::after{width:120px;height:120px;border:1px solid #c3945240}
 .news-card-date strong{font-size:48px}
 .news-card-date span{font-size:10px}
}
/* News, pass 5: only a faint blush halo behind the medallion (no coloured panel); the heart for posts with no
   date and no photo; the date medallion on a post page that has no photo yet. */
@media(min-width:761px){
 .news-card-date,.news-card:has(.news-card-date) .news-card-date{background:#fffaf7 radial-gradient(circle at 50% 50%,#fbe6ea 0,#fbe6ea00 105px)}
}
.news-card-icon svg{width:40px;height:40px;color:var(--pink)}
@media(max-width:760px){.news-card-icon svg{width:30px;height:30px}}
.news-single .news-single-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;isolation:isolate;height:170px;margin:0 0 20px;color:var(--pink);background:radial-gradient(circle at 50% 50%,#fbe6ea 0,#fbe6ea00 105px)!important;box-shadow:none!important;border:0}
.news-single .news-single-date::before,.news-single .news-single-date::after{content:'';position:absolute;left:50%;top:50%;border-radius:50%;translate:-50% -50%;z-index:-1}
.news-single .news-single-date::before{width:132px;height:132px;background:#fffaf7cc;border:1px solid #c39452}
.news-single .news-single-date::after{width:120px;height:120px;border:1px solid #c3945240}
.news-single .news-single-date strong{font:400 48px/1 var(--serif);letter-spacing:-.04em}
.news-single .news-single-date span{font:600 10px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase}
.prose .news-list{margin-top:30px}
/* News page top (Anna): a section menu under the title, and "Our story" as one aligned feature (photo beside the
   text, centred on it) instead of two unrelated cards. */
.news-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.news-nav a{display:inline-flex;align-items:center;min-height:42px;padding:9px 20px;border:1px solid #d9b98a;border-radius:99px;background:#fffaf7cc;font-size:14px;font-weight:500;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.news-nav a:hover,.news-nav a:focus-visible{background:var(--pink);border-color:var(--pink);color:#fff}
.news-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding-block:60px 70px}
.news-feature figure{margin:0}
.news-feature figure>img:not(.butterfly){width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 30%;border-radius:6px;border:8px solid #fffaf7;box-shadow:0 12px 32px #b75e7822}
.news-feature h2{margin-bottom:18px}
.news-feature p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:420px}
@media(max-width:760px){.news-nav{gap:8px;margin-top:22px}.news-nav a{min-height:38px;padding:7px 14px;font-size:13px}.news-feature{grid-template-columns:1fr;gap:26px;padding-block:40px 45px}}
/* News & Community: a few butterflies and sparkles near the content (the approved butterfly and stars). */
.news-feature figure,.news-section,.news-stories{position:relative}
.news-feature-butterfly{top:-34px;right:-30px;width:92px;transform:rotate(14deg);z-index:2}
.news-cc-butterfly{top:26px;right:3%;width:74px;transform:rotate(-16deg)}
.news-sparkle{position:absolute;z-index:1}
.news-sparkle-feature{left:-26px;bottom:-30px}
.news-sparkle-stories{left:-54px;top:4px;width:30px;height:46px;background-image:url('assets/star-four.svg')}
@media(max-width:760px){.news-feature-butterfly{width:66px;top:-24px;right:-8px}.news-cc-butterfly{width:52px;top:14px;right:0}.news-sparkle-feature{left:-8px;bottom:-24px;width:30px;height:46px}.news-sparkle-stories{display:none}}
@media(max-width:760px){#press+.news-section{padding-top:16px}}
/* News & Community, pass 6 (Anna): a sparkle beside the title of category and post pages; less space between
   the title and the content; every News section on the same left edge. */
.news-archive-intro .wrap,.news-single-intro .wrap{position:relative}
.news-title-sparkle{position:absolute;left:4%;top:34px}
.news-single-intro,.news-archive-intro{padding-bottom:34px}
.news-single{padding-top:18px}
.news-archive{padding-top:24px}
.news-section>h2{margin-bottom:14px}
.news-section>p:not(.news-group):not(.news-more){max-width:720px;font-size:16px;color:var(--muted)}
.news-stories,.news-resources{padding-block:40px}
.news-resources{padding-bottom:80px}
@media(max-width:760px){.news-title-sparkle{left:0;top:10px;width:28px;height:42px}.news-single-intro,.news-archive-intro{padding-bottom:22px}}
/* Title sparkle rides on the title itself (just left of its first line, whatever the title's length). */
.news-archive-intro h1,.news-single-intro h1{position:relative;display:inline-block}
.news-title-sparkle{left:-60px;top:2px}
.news-stories .news-list{margin-top:30px}
.news-resources>.sj-star-field{left:-90px;right:-90px}
@media(max-width:760px){.news-title-sparkle{left:-6px;top:-34px}}
@media(max-width:760px){.news-archive-intro .intro-butterfly,.news-single-intro .intro-butterfly{top:16px;bottom:auto;right:16px;width:40px}}
.news-title-sparkle{left:-120px;top:14px}
/* Text links, B2 (Anna and Toni, 2026-09-30): pink text on a fine gold rule, and a long hairline arrow drawn here
   (same stroke as the heart and the gold rules). → stays on the site; ↗ leaves it (other sites, e-mail). Arrows
   typed in page text are removed when the page renders (swj_link_arrows in functions.php). */
.text-link,.gala-feature .text-link,.hero-assistance .text-link{color:var(--pink)}
.text-link{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;border-bottom:1px solid #c39452;transition:color .2s,border-color .2s;
 --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E");
 --out:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M10 5h9v9'/%3E%3C/svg%3E")}
.text-link::after{content:'';flex:none;width:26px;height:13px;background:#b67e38;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .25s ease,background-color .2s}
.text-link:is([href^="http"]:not([href*="sweetjourney17.org"]):not([href*="swjstg.wpengine"]),[href^="mailto:"],[target="_blank"])::after{width:14px;height:14px;-webkit-mask-image:var(--out);mask-image:var(--out)}
.text-link:hover,.text-link:focus-visible{color:var(--pink);border-color:var(--pink)}
.text-link:hover::after,.text-link:focus-visible::after{transform:translateX(4px);background:var(--pink)}
.text-link:is([href^="http"]:not([href*="sweetjourney17.org"]):not([href*="swjstg.wpengine"]),[href^="mailto:"],[target="_blank"]):hover::after{transform:translate(2px,-2px)}
/* "Back" links: the arrow points left, before the words. */
.text-link-back::after{content:none}
.text-link-back::before{content:'';flex:none;width:26px;height:13px;background:#b67e38;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transform:scaleX(-1);transition:transform .25s ease,background-color .2s}
.text-link-back:hover::before{transform:scaleX(-1) translateX(4px);background:var(--pink)}
.help-strip .text-link{display:flex}
@media(prefers-reduced-motion:reduce){.text-link::after,.text-link-back::before{transition:none}}
/* Program cards (home, donate): the same hairline arrow instead of the typed ↗ (they open pages of this site). */
.program .program-arrow,.donate-programs .program-arrow{font-size:0;line-height:0;padding:0;width:26px;height:26px;margin:4px auto 0;background:#b67e38;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E") center bottom/26px 13px no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E") center bottom/26px 13px no-repeat;
 transition:transform .25s ease,background-color .2s}
.donate-programs .program-arrow{margin-top:auto}
.program:hover .program-arrow{transform:translateX(4px);background:var(--pink)}
/* Program cards: the arrows line up at the foot of every column, whatever the length of the text. */
.program{display:flex;flex-direction:column;align-items:center}
.program .program-arrow{margin-top:auto;padding-top:0}
.program p{margin-bottom:10px}
/* Program cards, pass 2 (Anna): a lone arrow read as a stray ornament; it becomes a "Learn more" link in the text
   link style (pink, fine gold rule, hairline arrow). CSS only: the page content keeps its <span class=program-arrow>. */
.program .program-arrow,.donate-programs .program-arrow{display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;margin:14px auto 0;padding:6px 0;
 background:none;-webkit-mask:none;mask:none;border-bottom:1px solid #c39452;font:600 13px/1.5 var(--body);color:var(--pink);transform:none}
.program .program-arrow::before{content:'Learn more'}
.program .program-arrow::after{content:'';width:26px;height:13px;background:#b67e38;transition:transform .25s ease,background-color .2s;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E") center/contain no-repeat}
.program:hover .program-arrow{transform:none;background:none;border-color:var(--pink)}
.program:hover .program-arrow::after{transform:translateX(4px);background:var(--pink)}
.program .program-arrow{margin-top:auto}
.program p{margin-bottom:16px}
.program .program-arrow,.donate-programs .program-arrow{font-size:0;line-height:0}
.program .program-arrow::before{font:600 13px/1.5 var(--body)}
.program .program-arrow,.donate-programs .program-arrow{gap:0}.program .program-arrow::after{margin-left:10px}
/* Optical centring (Anna): the words sit on the column's centre line with their rule; the light arrow hangs to the
   right, outside the centring (measured centred, it read as pulled left). */
.program .program-arrow{position:relative;overflow:visible}
.program .program-arrow::after{position:absolute;left:100%;top:50%;margin:-6px 0 0 10px}
.program:hover .program-arrow::after{transform:translateX(4px)}
/* Buttons: the same drawn arrow as the text links, a little shorter (→ on the site, ↗ out of it). */
.btn-arrow{display:inline-block;flex:none;width:22px;height:11px;background:currentColor;transition:transform .25s ease;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 16' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h27M23 3l6 5-6 5'/%3E%3C/svg%3E") center/contain no-repeat}
.btn-arrow-out{width:12px;height:12px;
 -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M10 5h9v9'/%3E%3C/svg%3E");
 mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M10 5h9v9'/%3E%3C/svg%3E")}
.button:hover .btn-arrow{transform:translateX(3px)}
.button:hover .btn-arrow-out{transform:translate(2px,-2px)}
/* Program cards: the gold rule runs under the arrow too, while the words stay on the centre line (the extra
   space on the right is mirrored by a margin on the left). */
.program .program-arrow{padding-right:36px;margin-left:36px}
.program .program-arrow::after{left:auto;right:0;margin:-6px 0 0 0}
/* Decorative stars never sit on content: pinned to the page edges, in the margin outside the text column. */
.sj-decorated>.sj-star-field .sj-star:first-child{left:4px!important}
.sj-decorated>.sj-star-field .sj-star:last-child{left:auto!important;right:4px}
.wrap.sj-decorated>.sj-star-field{left:-36px;right:-36px}
@media(min-width:1200px){.wrap.sj-decorated>.sj-star-field{left:calc((1180px - 100vw)/2 + 16px);right:calc((1180px - 100vw)/2 + 16px)}}
@media(max-width:760px){.wrap.sj-decorated>.sj-star-field{left:-20px;right:-20px}.sj-decorated>.sj-star-field .sj-star:first-child{left:1px!important}.sj-decorated>.sj-star-field .sj-star:last-child{right:1px}}
/* No ornament on text (Anna, 2026-09-30): butterflies moved clear of the words they touched, measured with a
   script on every page at 1440px and 390px. */
.love-art .butterfly{right:-86px;bottom:-4px}
.donate-hero .intro-butterfly{top:34px;bottom:auto;right:3%}
.amb-b1{top:4px;right:0;width:110px}
.amb-b2{left:-40px;bottom:0;width:118px}
@media(max-width:760px){
 .sj-star{width:12px;height:20px}.sj-star:nth-child(even){width:13px;height:28px}
 .closing-butterfly{top:0;width:42px}
 .hero-butterfly{bottom:118px;width:80px}
 .love-art .butterfly{right:-50px;bottom:-12px;width:54px}
 .news-archive-intro .intro-butterfly,.news-single-intro .intro-butterfly{top:4px;width:32px}
 .amb-b1{top:-6px;width:72px}.amb-b2{left:-14px;bottom:-16px;width:88px}
}
/* Tablets: narrower columns bring some butterflies back onto text. */
@media(min-width:761px) and (max-width:1199px){
 .closing-butterfly{top:14px;right:4%;width:64px}
 .hero-butterfly{bottom:140px;width:96px}
 .love-art .butterfly{right:-24px;bottom:-26px;width:72px}
 .news-archive-intro .intro-butterfly,.news-single-intro .intro-butterfly{top:14px;bottom:auto;right:3%;width:44px}
 .amb-b1{top:-10px;width:76px}.amb-b2{left:-8px;bottom:-18px;width:88px}
}
@media(min-width:761px) and (max-width:1199px){.love-art .butterfly{right:-34px;bottom:-48px;width:66px}}
/* Program links (Anna): the whole link (words, arrow and rule) on the column's centre line. */
.program .program-arrow{margin-left:0;margin-right:0;align-self:center}
/* Ornaments stay close to the content on very wide screens: at most ~110px outside the 1180px column. */
@media(min-width:1440px){
 .wrap.sj-decorated>.sj-star-field{left:max(-110px,calc((1180px - 100vw)/2 + 16px));right:max(-110px,calc((1180px - 100vw)/2 + 16px))}
 .sj-decorated:not(.wrap)>.sj-star-field{left:max(0px,calc(50% - 700px));right:max(0px,calc(50% - 700px))}
 .intro-butterfly{right:max(9%,calc(50% - 650px))}
 .closing-butterfly{right:max(12%,calc(50% - 600px))}
 .donate-hero .intro-butterfly{right:max(3%,calc(50% - 680px))}
}
/* Why we exist (Anna, after the numbers were removed): the top rule stays, the three blocks are narrower, card-like
   proportions without being cards (no border box or background), centred as a group under the heading. */
.why-grid{grid-template-columns:repeat(3,minmax(0,290px));justify-content:center;gap:56px}
.why-grid article{border-top:1px solid #d4afa3;padding-top:26px}
.why-grid h3{margin:0 0 12px}
.why-grid p{font-size:15px;line-height:1.7}
@media(max-width:980px){.why-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
@media(max-width:760px){.why-grid{grid-template-columns:1fr;gap:26px;max-width:420px;margin-inline:auto}}
/* Home rhythm (Anna, 2026-09-30): the same space between sections — 120px on wider screens, 80px on phones —
   with a little more after the hero and before the closing (140 / 96). Values measured from the visible content. */
body.home main #our-mission{padding-top:43px}
body.home main #why-we-exist{padding-top:55px}
body.home main #why-presence-matters{padding-top:65px}
body.home main .programs-section{padding-top:75px}
body.home main .ari-band{padding-top:50px}
body.home main #how-support-begins{padding-top:54px}
body.home main .help-strip{margin-top:65px}
body.home main .events-section{padding-top:35px}
body.home main .closing{padding-top:60px}
@media(max-width:760px){
 body.home main #our-mission{padding-top:9px}
 body.home main #why-we-exist{padding-top:40px}
 body.home main #why-presence-matters{padding-top:45px}
 body.home main .programs-section{padding-top:50px}
 body.home main .ari-band{padding-top:32px}
 body.home main #how-support-begins{padding-top:32px}
 body.home main .help-strip{margin-top:45px}
 body.home main .events-section{padding-top:80px}
 body.home main .closing{padding-top:41px}
}
@media(max-width:760px){body.home main .closing-butterfly{top:-22px}}
@media(max-width:760px){body.home main .closing-butterfly{top:4px;width:34px;right:4%}}
@media(max-width:760px){body.home main .closing-butterfly{top:auto;bottom:34px;right:5%;width:44px}}
/* How support begins (Anna): without the numbers the four steps read as loose items. A fine gold timeline with a
   small gold dot at each step shows the order; vertical on phones. Card-like column widths, as in "Why we exist". */
.support-steps{--step-gap:48px;grid-template-columns:repeat(4,minmax(0,250px));justify-content:center;gap:28px var(--step-gap);margin:45px 0 40px}
.support-steps li{position:relative;padding-top:34px}
.support-steps li::before{content:'';position:absolute;top:0;left:0;width:11px;height:11px;border:1px solid #c39452;border-radius:50%;background:#fff4f3;z-index:1}
.support-steps li:not(:last-child)::after{content:'';position:absolute;top:6px;left:18px;right:calc(var(--step-gap) * -1 + 6px);height:1px;background:linear-gradient(90deg,#c39452,#c3945266)}
.support-steps h3{margin:0 0 10px}
.support-steps p{font-size:15px;line-height:1.7}
@media(max-width:1050px){.support-steps{--step-gap:28px;grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 .support-steps{--step-gap:26px;grid-template-columns:1fr;max-width:420px;margin-inline:auto}
 .support-steps li{padding:0 0 0 30px}
 .support-steps li::before{top:9px}
 .support-steps li:not(:last-child)::after{top:24px;left:6px;right:auto;bottom:calc(var(--step-gap) * -1 + 8px);width:1px;height:auto;background:linear-gradient(180deg,#c39452,#c3945266)}
 .support-steps p{font-size:14px}
}
/* Last step (Anna): on wider screens the line carries on past "Support" and fades out, so the row does not stop on
   a bare dot (and the support goes on). Phones keep the vertical line ending on the last dot. */
@media(min-width:761px){.support-steps li:last-child::after{content:'';position:absolute;top:6px;left:18px;right:0;height:1px;background:linear-gradient(90deg,#c39452,#c3945200)}}

/* Family assistance, the family's page (SITE-10). The four steps are joined by hand-drawn gold arrows (curved to the
   right on wide screens, looping down on phones), so the page does not repeat the timeline of the home; then the
   things to know in a thin gold frame, and the way in for care teams on its own below. */
.journey-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 78px;max-width:1120px;margin:34px auto 0;padding:0;list-style:none;text-align:center}
.journey-steps li{position:relative}
.journey-steps h3{font-size:28px;margin:0 0 10px}
.journey-steps p{font-size:15px;line-height:1.7;margin:0}
.journey-steps li:not(:last-child)::after{content:'';position:absolute;top:-30px;left:calc(100% + 1px);width:76px;height:76px;background:#b67e38;-webkit-mask:url('assets/arrow-curve.svg') center/contain no-repeat;mask:url('assets/arrow-curve.svg') center/contain no-repeat}
.family-know{max-width:820px;padding-block:34px 10px}
.family-know .note{margin:0}
.family-know .note,.application-layout aside .note{padding:26px 30px;border:1px solid #e3c58d;border-radius:12px;background:#fffdfb99}
/* On these two pages the text starts closer to the heading and its heart divider. */
.application-layout aside p a{color:var(--pink);text-decoration:underline;text-underline-offset:2px}
.page-intro.intro-tight{padding-bottom:30px}
.page-intro.intro-tight+section{padding-top:34px}
.family-care-teams{max-width:700px;padding-block:56px 84px}
.family-care-teams h2{font-size:36px;margin:8px 0 14px}
.family-care-teams>p:not(.eyebrow):not(.support-contact){font-size:15px;color:var(--muted);margin:0 auto 24px}
@media(max-width:980px){.journey-steps{gap:0 62px}.journey-steps li:not(:last-child)::after{width:60px;height:60px;left:calc(100% + 1px);top:-24px}.journey-steps h3{font-size:24px}}
@media(max-width:760px){.page-intro.intro-tight{padding-bottom:22px}.page-intro.intro-tight+section{padding-top:26px}.journey-steps{grid-template-columns:1fr;max-width:420px;gap:0}.journey-steps li:not(:last-child){padding-bottom:74px}.journey-steps li:not(:last-child)::after{top:auto;bottom:10px;left:calc(50% - 34px);width:68px;height:68px;-webkit-mask-image:url('assets/arrow-loop.svg');mask-image:url('assets/arrow-loop.svg')}.family-know{padding-block:26px 6px}.family-care-teams{padding-block:40px 56px}.family-care-teams h2{font-size:28px}}
.application-form .consent a{text-decoration:underline;text-underline-offset:2px;color:var(--pink)}

/* Family resources, tidied (Anna, 2026-10-02; same words): the four ideas each under a thin rule with the site's watercolour icon badge, the invitation to
   ask for help as the page's one framed moment, and the two closing notes side by side under a thin rule. */
.resource-grid.resource-cards{gap:40px 70px;max-width:1100px;padding-block:34px 70px}
.resource-cards article{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;align-items:start;padding:28px 0 0;border:0;border-top:1px solid #d4afa3}
.resource-cards article:nth-child(-n+2){border-top:0;padding-top:6px}
.resource-cards .icon-wash{width:76px;height:76px;margin:0}
.resource-cards .icon-wash img{width:34px;height:34px}
.resource-cards h2{font-size:28px;margin:6px 0 10px}
.resource-cards p{margin:0;line-height:1.7}
.help-strip.help-feature{position:relative;display:block;max-width:820px;padding:44px 48px 42px;border:1px solid #e3c58d;border-radius:18px;background:linear-gradient(180deg,#fffaf7,#ffeff2);text-align:center;margin-bottom:76px}
.help-feature h2{font-size:42px;margin:0 0 16px}
.help-feature h2 em{color:var(--pink)}
.help-feature p:not(.eyebrow){max-width:520px;margin:0 auto 24px;font-size:15px;line-height:1.7}
.help-feature .help-butterfly{position:absolute;top:-30px;right:44px;left:auto;bottom:auto;width:78px;margin:0;transform:rotate(12deg)}
.resource-more{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1040px;padding-block:6px 92px}
.resource-more article{padding-top:26px;border-top:1px solid #d4afa3}
.resource-more h2{font-size:30px;margin:0 0 12px}
.resource-more h2 em{color:var(--pink)}
.resource-more p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 18px}
@media(max-width:760px){.resource-grid.resource-cards{gap:26px;padding-block:26px 48px}.resource-cards article{grid-template-columns:60px minmax(0,1fr);gap:16px;padding-top:22px}.resource-cards article:nth-child(2){border-top:1px solid #d4afa3;padding-top:22px}.resource-cards .icon-wash{width:60px;height:60px}.resource-cards .icon-wash img{width:28px;height:28px}.resource-cards h2{font-size:24px;margin-top:2px}.help-strip.help-feature{padding:40px 24px 36px;margin-bottom:50px}.help-feature h2{font-size:32px}.help-feature .help-butterfly{width:58px;right:22px;top:-24px}.resource-more{grid-template-columns:1fr;gap:34px;padding-block:0 60px}.resource-more h2{font-size:26px}}

/* Legal pages (LEGAL-01): the lawyer's text as written, set to be read: a narrow column, quiet headings, the list of
   sections on top of the Terms, the contact lines as one block. */
.prose.legal{max-width:800px;padding-block:34px 90px}
.prose.legal h2{margin:44px 0 14px;font-size:24px;line-height:1.3;scroll-margin-top:150px}
.prose.legal h3{margin:28px 0 10px;font:600 16px/1.4 var(--body);color:var(--ink)}
.prose.legal p,.prose.legal li{font-size:15px;line-height:1.75;color:var(--muted)}
.prose.legal p{margin:0 0 14px}
.prose.legal ul{margin:0 0 16px;padding-left:22px}
.prose.legal li{margin:0 0 8px}
.prose.legal strong{color:var(--ink);font-weight:600}
.prose.legal a{color:var(--pink);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.prose.legal .legal-item{padding-left:26px;text-indent:-26px}
.prose.legal .legal-contact{padding:16px 20px;border-left:2px solid #d4afa3;color:var(--ink)}
.legal-toc{margin:0 0 30px;padding:22px 26px;border:1px solid #e3c58d;border-radius:12px;background:#fffdfb99}
.legal-toc ol{columns:2;column-gap:36px;margin:0;padding-left:22px;font-size:14px;line-height:1.6}
.legal-toc li{margin:0 0 6px;break-inside:avoid}
.prose.legal .legal-toc a{color:var(--ink);text-decoration:none}
.prose.legal .legal-toc a:hover{color:var(--pink);text-decoration:underline}
.legal-disclosure{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.legal-disclosure p{margin:0 0 8px;font-size:10.5px;line-height:1.65;letter-spacing:.01em;color:#8a7772}
.legal-disclosure strong{font-weight:600}
/* Donate: no second rule right under the heart divider. */
.donate-trust{border-top:0;padding-top:4px}
.legal-disclosure a{text-decoration:underline}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:flex-end}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:0 0 16px}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row{padding:12px 16px;border:1px solid #ecd3d9;border-radius:10px;background:#fff7f9}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;font-weight:500;color:var(--ink)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--pink)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{color:var(--pink);text-decoration:underline;text-underline-offset:2px}
/* FAQ: a link inside an answer reads as a link. */
.faq-list details p a{color:var(--pink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.faq-list details p a:hover{color:var(--ink)}
@media(max-width:760px){.prose.legal{padding-block:26px 60px}.prose.legal h2{font-size:21px;margin-top:36px}.legal-toc ol{columns:1}.legal-toc{padding:18px 20px}.footer-bottom>div{justify-content:flex-start}}
/* Meet Ari: "A few of Ari's favorite things" (ARI-01) closes the opening text, after the paragraph about what she
   loved: a small heading and the list as one sentence in the lead's italics. */
.ari-opening .ari-favorites{margin-top:34px}
.ari-opening .ari-favorites .eyebrow{margin:0 0 12px}
.ari-opening .ari-favorites p:not(.eyebrow){margin:0;font-family:var(--italic);font-size:26px;line-height:1.45;color:var(--ink)}
@media(max-width:760px){.ari-opening .ari-favorites{margin-top:26px}.ari-opening .ari-favorites p:not(.eyebrow){font-size:23px}}
/* The opening lead keeps its own size on computers too (the general rule for text beside a picture was winning). */
.ari-opening p.lead:not(.eyebrow){font-size:26px}
/* Same cause: the pull line "Being there is everything." was meant large and pink (.editorial-quote) and showed as small grey text. */
.editorial-split p.editorial-quote:not(.eyebrow){font-size:35px;color:var(--pink)}
@media(max-width:760px){.editorial-split p.editorial-quote:not(.eyebrow){font-size:28px}}
/* Meet Ari videos: on computers the frame follows the video's own shape (9:16), so no dark bars at the sides. */
@media(min-width:761px){.ari-video video{max-height:none;object-fit:cover}}
/* Legacy: its closing line is a pull line too (the class was there, the style only reached text beside pictures). */
.ari-legacy p.editorial-quote{font:italic 35px/1.3 var(--italic);color:var(--pink);margin:26px 0 30px}
@media(max-width:760px){.ari-legacy p.editorial-quote{font-size:28px}}
/* Meet Ari, "She kept showing up", on computers: the text first, then the two photographs side by side under it
   (like the videos), at the same height, so the page alternates picture and text the way it does on a phone. */
@media(min-width:761px){
.ari-life-layout{grid-template-columns:1fr;gap:6px}
.ari-life .prose{padding-bottom:20px}
.ari-life .ari-memory-grid{flex-direction:row;justify-content:center;align-items:flex-start;gap:44px;max-width:none;padding-bottom:20px}
.ari-life .nicu-stack{width:auto;max-width:none;height:auto;flex:none}
.ari-life .ari-memory-grid .ari-memory,.ari-life .ari-hospital-memory{width:min-content;max-width:none;flex:none;align-self:flex-start}
.ari-life .ari-memory-photo{width:auto;max-width:none;height:320px}
/* "A heart for helping others": its photograph at the height of the two above (about 320px), not a thumbnail. */
.ari-service{grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}
.ari-service figure{width:252px;max-width:100%}
.ari-service figure img.ari-original-photo{width:100%}
/* The same breathing room between the page's sections (about 120px from the end of one to the start of the next;
   they ranged from 80 to 165). */
.ari-opening{padding-top:40px} /* closer to the page title above it: the title introduces this section */
.ari-life .prose{padding-top:25px}
.ari-life .ari-memory-grid{padding-bottom:60px}
.ari-legacy{padding-top:75px;padding-bottom:35px}
}
/* Referral form while referrals are switched off: visible, greyed, not usable (the plugin adds "inert"). */
.application-form.is-preview{opacity:.5;pointer-events:none;user-select:none}
/* Who We Are, arranged (same words), after the About page of Anna's earlier build: the mission beside a portrait of
   Ari, a large "17" beside its story, the family with their photograph and the team note, the
   invitation at the end. */
.who-mission{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;max-width:980px;padding-block:20px 80px}
.who-mission .eyebrow{margin-bottom:18px}
.who-statement{margin:0;font-size:18px;line-height:1.8;color:var(--ink)}
.who-polaroid{margin:0;justify-self:center;width:310px;max-width:100%}
.who-polaroid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:78% 50%;border-radius:6px}
.who-17{background:#fffaf7b3;border-block:1px solid #ecd3cd}
.who-17-grid{display:grid;grid-template-columns:auto minmax(0,520px);justify-content:center;gap:120px;align-items:center;padding-block:60px}
.who-17-n{margin:-.12em 0 0;text-align:center;font:500 320px/.74 var(--italic);letter-spacing:-8px;padding-right:.06em;background:linear-gradient(180deg,#f3c9b5 0,#e7a58f 55%,#d98d86 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.who-17 h2{font-size:36px;margin:0 0 18px}
.who-17 p:not(.who-17-n){margin:0;font-size:17px;line-height:1.75;color:var(--muted)}
.who-family{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1080px;padding-block:90px 60px}
.who-family h2{margin:0 0 20px}
.who-family p{margin:0;font-size:17px;line-height:1.75;color:var(--muted)}
.who-family .who-note{margin-top:20px;padding:1px 0 1px 12px;border-left:2px solid var(--pink);font-size:13px;line-height:1.5;color:var(--muted)}
.who-family figure{margin:0}
.who-family img{display:block;width:100%;max-height:440px;object-fit:cover;border-radius:6px}
.who-community{padding-block:50px 90px;text-align:center}
.who-community h2{margin:0 0 20px}
.who-community p{max-width:620px;margin:0 auto 28px;color:var(--muted)}
@media(max-width:860px){.who-mission,.who-family{grid-template-columns:1fr;gap:40px}.who-mission{padding-bottom:56px}.who-statement{font-size:17px}.who-polaroid{width:300px}.who-17-grid{grid-template-columns:1fr;gap:6px;padding-block:36px;text-align:center}.who-17-n{font-size:190px}.who-17 h2{font-size:30px}.who-family{padding-block:50px 30px}.who-family figure{order:-1}.who-community{padding-block:36px 56px}}
/* Get Involved: the four ways in one row, each with a small watercolour badge, like the four programs on the home
   page (no boxes; one main button and three text links), and "Our Sponsors" as a framed invitation before the
   closing instead of after it. */
.involvement-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;max-width:1140px;padding-block:40px 96px;text-align:center}
.involvement-row article{display:flex;flex-direction:column;align-items:center;padding:0;background:none;border:0}
.involvement-row .icon-wash{width:92px;height:92px;margin:0 0 20px}
.involvement-row .icon-wash img{width:40px;height:40px}
.involvement-row .eyebrow{margin-bottom:10px}
.involvement-row h2{font-size:25px;line-height:1.2;margin-bottom:12px}
.involvement-row p:not(.eyebrow){margin:0 0 18px;font-size:14px;line-height:1.65}
.involvement-row .button,.involvement-row .text-link{margin-top:auto}
.involvement-sponsors{max-width:820px;margin-bottom:96px;padding:42px 48px 44px;border:1px solid #e3c58d;border-radius:18px;background:linear-gradient(180deg,#fffaf7,#ffeff2);text-align:center}
.involvement-sponsors h2{margin:0 0 14px;font-size:36px}
.involvement-sponsors p{max-width:520px;margin:0 auto 24px;font-size:15px;color:var(--muted)}
@media(max-width:1000px){.involvement-row{grid-template-columns:1fr 1fr;gap:44px 30px;max-width:640px}}
@media(max-width:760px){.involvement-row{grid-template-columns:1fr;gap:40px;max-width:340px;padding-block:26px 44px}.involvement-sponsors{padding:34px 24px;margin-bottom:50px}.involvement-sponsors h2{font-size:30px}}
/* Events, "Past gatherings": a quiet centred note while there is nothing to show yet. */
/* Events calendar, easier to see: a white card with a gold edge on the watercolour, clearer day numbers, today in a
   pink ring, and the event as a solid pink tag. */
.calendar{border:1px solid #e3c58d;border-radius:16px;background:#fffdfb;box-shadow:0 14px 34px #b75e781f}
.calendar-weekdays{background:#fde9ee;color:var(--ink);font-weight:600;padding:14px 0}
.calendar-day{border-color:#f0dcd6;font-size:14px;color:var(--ink);padding:12px}
.calendar-day.empty{background:#fbf5f1}
.calendar-day.today{background:#fff5f8}
.calendar-day.today>span{display:inline-grid;place-items:center;min-width:28px;height:28px;margin:-4px 0 0 -5px;border:1.5px solid var(--pink);border-radius:50%;color:var(--pink);font-weight:600}
.calendar-event{margin-top:8px;padding:7px 9px;border-radius:8px;background:var(--pink);color:#fff;font-size:12px;line-height:1.35;font-weight:600;text-decoration:none}
a.calendar-event:hover{background:#a8084a}
.calendar-toolbar h2{font-size:36px}
.calendar-toolbar button{border-color:#e3c58d;border-radius:99px;background:#fffdfb;color:var(--ink);cursor:pointer}
.calendar-toolbar button:hover{background:#fde9ee}
@media(max-width:760px){.calendar{border-radius:12px}.calendar-day{font-size:11px;padding:6px}.calendar-day.today>span{min-width:20px;height:20px;margin:-2px 0 0 -3px}.calendar-event{font-size:9px;padding:3px 4px;border-radius:5px}.calendar-toolbar h2{font-size:26px}}
/* Footer: the foundation's social pages, as small round links under the address (the same links as in the gala
   e-mails, gala-emails.php). */
.site-footer .footer-social{display:flex;gap:8px;margin:12px 0 4px}
.site-footer .footer-social svg{width:17px;height:17px}
.site-footer .footer-social a{display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:1px solid #d9b168;border-radius:50%;color:var(--pink);transition:background .2s,color .2s}
.site-footer .footer-social a:hover{background:var(--pink);border-color:var(--pink);color:#fff}
/* The heart after "Love Like Ari" in the footer is a plain character from another font and came out taller than the
   signature: it follows the letters' size now. */
.footer-grid .script .script-heart{font-size:.58em;vertical-align:.12em;margin-left:.08em}
/* The Board & Care Team (SITE-15): one person per row, portrait beside the position, name and short bio, sides
   alternating; rows stack on phones. An empty frame with initials stands in until a photograph arrives. */
.team-list{max-width:1040px;padding-block:30px 90px}
.team-person{display:grid;grid-template-columns:300px minmax(0,1fr);gap:70px;align-items:center;padding-block:54px;border-top:1px solid #d4afa3}
.team-person:first-child{border-top:0;padding-top:20px}
.team-person-flip{grid-template-columns:minmax(0,1fr) 300px}
.team-person-flip figure{order:2}
.team-person figure{margin:0}
.team-person img,.team-photo-empty{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
.team-photo-empty{display:grid;place-items:center;border:1px solid #e3c58d;background:var(--blush) url('assets/watercolor.webp') 30% 60%/300%;font:italic 500 84px/1 var(--italic);color:var(--pink)}
.team-person .eyebrow{margin-bottom:10px}
.team-person h2{font-size:38px;margin:0 0 18px}
.team-cred{display:inline-block;margin-left:12px;font:500 13px/1 var(--body);letter-spacing:.14em;color:var(--muted);vertical-align:.5em}
.team-quote{margin:24px 0 0;padding:2px 0 2px 22px;border-left:2px solid #d9b168}
.team-person .team-quote p:not(.eyebrow){margin:0;font-family:var(--italic);font-size:23px;line-height:1.45;color:var(--ink)}
/* Each row arrives once, when it comes into view (Toni, 2026-10-07, after the board page of selflesslove.org, whose
   builder zooms and fades things in over one second): the portrait comes forward from 60% with the position and the
   name, in one second; the bio and the quote rise after. A row already on screen when the page opens plays at once.
   site.js adds .will-reveal and then .is-in; without JavaScript or with reduced motion everything is simply there. */
.team-person.will-reveal figure{opacity:0;transform:scale(.6);transform-origin:50% 60%;transition:opacity .9s ease-out,transform 1s cubic-bezier(.16,.8,.3,1)}
.team-person.will-reveal>div>*{opacity:0;transform:translateY(40px);transition:opacity .9s ease-out,transform 1s cubic-bezier(.16,.8,.3,1)}
.team-person.will-reveal.is-in figure,.team-person.will-reveal.is-in>div>*{opacity:1;transform:none}
.team-person.will-reveal.is-in>div>*:nth-child(3){transition-delay:.45s}.team-person.will-reveal.is-in>div>*:nth-child(4){transition-delay:.62s}.team-person.will-reveal.is-in>div>*:nth-child(5){transition-delay:.82s}
@media(max-width:760px){.team-list{padding-block:10px 50px}.team-person,.team-person-flip{grid-template-columns:1fr;gap:24px;padding-block:38px}.team-person-flip figure{order:0}.team-person figure{max-width:260px}.team-person h2{font-size:30px}.team-cred{display:block;margin:10px 0 0}.team-person .team-quote p:not(.eyebrow){font-size:20px}}
/* Who We Are: the way to the Board & Care Team page, where the team note was. */
.who-family .who-team-link{margin-top:22px}
/* Donate while donations are closed (donate-switch.php): a "coming soon" card where the form was. */
.donate-soon{align-self:center;padding:54px 44px;border:1px solid #e3c58d;border-radius:18px;background:linear-gradient(180deg,#fffaf7,#ffeff2);text-align:center}
.donate-soon .eyebrow{margin-bottom:14px}
.donate-soon h2{margin:0 0 18px;font-size:40px}
.donate-soon p:not(.eyebrow){margin:0 auto 14px;max-width:380px;color:var(--muted)}
.donate-soon .donate-fallback{margin-top:22px;font-size:14px}
@media(max-width:760px){.donate-soon{padding:40px 24px}.donate-soon h2{font-size:32px}}
/* Meet Ari on phones: the legacy text and the closing sat 40px apart while the other sections have about 90. */
@media(max-width:760px){.ari-legacy{padding-bottom:95px}}

/* Board & Care Team: the founders open the page as one piece (Melissa, 2026-10-08: the two of them together, the
   bios tied to the letter, "in the end it is all heart"; layout chosen by Toni the same day): who they are (their
   photograph, full length, beside their name), why they are here (the letter "From Ari's parents", in the same
   column). Their two bios stood under it and came out the same evening (Melissa: less is more); one line under
   their name says what they do together. No card: on a paper card it read as a magazine. */
/* The page opens on the group photograph, edge to edge, with the title over its lower part (Toni: "like Selfless
   Love", "pop through on the top"): it arrives slightly enlarged and settles. On phones the whole photograph shows
   and the title sits under it. The photograph is 2800px wide (Britteny's reworked version, 2026-10-09), enough to
   run edge to edge on any screen. */
.team-hero{position:relative;overflow:hidden;background:#3d2f2b}
.team-hero img{display:block;width:100%;aspect-ratio:2.05;object-fit:cover;object-position:50% 16%;animation:team-hero-in 1.6s cubic-bezier(.16,.8,.3,1) both}
.team-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:58%;background:linear-gradient(#2a1c1900,#2a1c19c7)}
.team-hero-text{position:absolute;inset:auto 0 0 0;z-index:1;padding:0 20px 44px;text-align:center;animation:team-hero-text .9s .5s ease-out both}
.team-hero-text .eyebrow{margin:0 0 10px;color:#fff;opacity:.9}
.team-hero-text h1{margin:0;color:#fff;font-size:clamp(40px,5.4vw,76px);line-height:1.02;text-shadow:0 2px 24px #0006}
.team-hero-text h1 em{color:#ffd9e6}
@keyframes team-hero-in{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
@keyframes team-hero-text{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.team-hero img,.team-hero-text{animation:none}}
@media(max-width:760px){.team-hero{background:none}.team-hero img{aspect-ratio:4/3;object-position:50% 50%}.team-hero::after{display:none}.team-hero-text{position:static;padding:30px 20px 6px;animation:none}.team-hero-text .eyebrow{color:var(--pink);opacity:1}.team-hero-text h1{color:var(--ink);text-shadow:none;font-size:40px}.team-hero-text h1 em{color:var(--pink)}}
.founders{max-width:1040px;padding-block:60px 70px}
.founders-top{display:grid;grid-template-columns:40% minmax(0,1fr);gap:64px;margin-top:10px}
.founders-top figure{position:relative;min-height:520px;margin:0}
.founders-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;border-radius:6px}
.founders-top .eyebrow{margin:6px 0 8px}
.founders-top h2{margin:0;font-size:40px;line-height:1.1}
.founders-rule{height:1px;margin:26px 0;background:linear-gradient(90deg,#d9b168,#d9b16800)}
.founders-letter h3{margin:0 0 22px;font:400 30px/1.2 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.founders-letter h3 em{font-family:var(--italic);color:var(--pink)}
.founders-letter p{margin:0 0 16px;font-size:16.5px;line-height:1.75;color:var(--ink)}
.founders-letter p.founders-close{margin:24px 0 0;font:italic 28px/1.3 var(--italic);color:var(--pink)}
.founders-letter p.founders-sign{margin:0;font:italic 21px/1.4 var(--italic);color:var(--muted)}
.founders-top p.founders-work{margin:12px 0 0;font-size:15.5px;line-height:1.6;color:var(--muted)}
.founders-top.will-reveal figure{opacity:0;transform:scale(.9);transform-origin:50% 60%;transition:opacity .9s ease-out,transform 1s cubic-bezier(.16,.8,.3,1)}
.founders-top.will-reveal>div>*{opacity:0;transform:translateY(40px);transition:opacity .9s ease-out,transform 1s cubic-bezier(.16,.8,.3,1)}
.founders-top.will-reveal.is-in figure,.founders-top.will-reveal.is-in>div>*{opacity:1;transform:none}
.founders-top.will-reveal.is-in>div>*:nth-child(4){transition-delay:.3s}
.founders-top.will-reveal.is-in>div>*:nth-child(5){transition-delay:.5s}
.founders+.team-list{padding-top:0}
.founders+.team-list .team-person:first-child{border-top:1px solid #d4afa3;padding-top:54px}
@media(max-width:860px){.founders{padding-block:10px 44px}.founders-top{grid-template-columns:1fr;gap:26px;margin-top:26px}.founders-top figure{min-height:0;aspect-ratio:4/5}.founders-top h2{font-size:30px}.founders-letter h3{font-size:25px}.founders-letter p{font-size:16px}.founders+.team-list .team-person:first-child{padding-top:38px}}

/* Contact (Anna, 2026-10-09): e-mail and telephone side by side with a fine gold rule between them (no cards: white
   blocks sat heavy on the watercolour), the town as a quiet line under them; then what people usually come for
   beside the box for families, and the usual closing. It was two uneven columns with a gap under the left one.
   A visitor sent here about something that cannot be bought online (…/contact/?topic=…) gets a note on top, in a
   gold outline; site.js writes it (sponsorship, tickets or any event). */
.contact-reach{display:grid;grid-template-columns:1fr 1fr;max-width:760px;padding-block:10px 0;text-align:center}
.contact-way{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 24px;color:var(--ink);transition:color .2s}
.contact-way+.contact-way{border-left:1px solid #d9b168}
a.contact-way:hover{color:var(--pink)}
.contact-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:8px;border:1px solid #c39452;border-radius:50%;color:var(--pink);transition:background .2s,color .2s}
a.contact-way:hover .contact-icon{background:var(--pink);border-color:var(--pink);color:#fff}
.contact-icon svg{width:24px;height:24px}
.contact-way .eyebrow{margin:0}
.contact-way strong{font:400 23px/1.3 var(--serif);letter-spacing:-.01em;overflow-wrap:anywhere}
.contact-where{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:8px;margin:28px 0 0;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-where svg{width:19px;height:19px;color:var(--pink)}
.contact-grid{align-items:start;padding-block:70px 80px}
.contact-grid h2 em{color:var(--pink)}
.contact-grid article:last-child{background:none;border:1px solid #d9b168;border-radius:10px}
.contact-rows{border-top:1px solid #d4afa3}
.contact-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 4px;border-bottom:1px solid #d4afa3;color:var(--ink);transition:padding .2s,color .2s}
.contact-row:hover{padding-inline:10px 0;color:var(--pink)}
.contact-row strong{display:block;font:400 22px/1.3 var(--serif);letter-spacing:-.01em}
.contact-row small{display:block;margin-top:2px;font-size:14px;color:var(--muted)}
.contact-row .btn-arrow{flex-shrink:0;color:var(--pink)}
.contact-grid .button-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:6px}
.contact-topic{max-width:820px;margin:10px auto 40px;padding:34px 40px;border:1px solid #d9b168;border-radius:10px;text-align:center}
.contact-topic[hidden]{display:none}
.contact-topic h2{margin:0 0 12px;font-size:34px}.contact-topic h2 em{color:var(--pink)}
.contact-topic p:not(.eyebrow){max-width:560px;margin:0 auto 22px;color:var(--muted)}
@media(max-width:760px){.contact-reach{grid-template-columns:1fr}.contact-way+.contact-way{border-left:0;border-top:1px solid #d9b168;margin-top:8px;padding-top:22px}.contact-way strong{font-size:21px}.contact-grid{padding-block:44px 50px}.contact-topic{padding:26px 20px;margin-bottom:26px}.contact-topic h2{font-size:27px}}

/* Events (EVENT-PAST-01): the page reads as one programme, in order of time. One outlined box holds the next event
   (invitation, when, where, button) and the ones after it as rows; the calendar opens on request, or by itself when
   the menu's "Event Calendar" brings the visitor (#calendar); then the past gatherings, which lead to their stories.
   Everything sits on the same 1040px column. No white cards: a gold outline and hairlines. The same box is on Home. */
.page-intro.agenda-intro{padding-bottom:26px}
.agenda{max-width:1040px;padding-block:0 70px}
.agenda-box{max-width:1040px;margin-inline:auto;border:1px solid #d9b168;border-radius:8px;background:#fffdf9cc}
.agenda-next{display:grid;grid-template-columns:330px minmax(0,1fr);gap:60px;align-items:center;padding:44px 48px}
.agenda-art{display:block;padding:8px;border-radius:4px;background:#fff;box-shadow:0 0 0 1px #e7c6c0,0 12px 30px #b75e7822;transition:transform .3s ease}
a.agenda-art:hover{transform:translateY(-4px)}
.agenda-art img{display:block;width:100%;border-radius:2px}
.agenda-plain{display:grid;place-items:center;aspect-ratio:2/3;border-radius:2px;background:radial-gradient(circle at 50% 42%,#7a3450 0,#542637 65%)}
.agenda-plain img.ball{width:64%}
.agenda-next .eyebrow{margin:0 0 14px}
.agenda-next h2{margin:0 0 14px;font-size:46px;line-height:1.08}
.agenda-facts{margin:0 0 18px;padding:0;list-style:none;font-size:17px;color:var(--ink)}
.agenda-facts li{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}
.agenda-facts li:first-child{border-top:1px solid var(--line)}
.agenda-facts b{font:500 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.agenda-next p.agenda-text{margin:0 0 24px;color:var(--muted)}
.agenda-rows{border-top:1px solid #d9b168}
.agenda-label{margin:0;padding:22px 48px 6px;font:500 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.agenda-row{display:grid;grid-template-columns:86px 64px minmax(0,1fr) auto;gap:28px;align-items:center;padding:20px 48px;color:inherit;text-decoration:none;transition:background .25s}
.agenda-row+.agenda-row,.agenda-rest .agenda-row{border-top:1px solid var(--line)}
a.agenda-row:hover{background:#fdeef0}
.agenda-date{text-align:center;font-family:var(--serif);color:var(--ink);line-height:1}
.agenda-date small{display:block;font:500 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.agenda-date strong{display:block;margin:6px 0 4px;font-size:40px;font-weight:400}
.agenda-date span{font:400 12px/1 var(--body);color:var(--muted)}
.agenda-thumb{display:grid;place-items:center;width:64px;aspect-ratio:2/3;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px #e7c6c0;background:radial-gradient(circle at 50% 42%,#7a3450 0,#542637 65%)}
.agenda-thumb img{width:100%;height:100%;object-fit:cover}
.agenda-thumb img.ball{width:70%;height:auto;object-fit:contain}
.agenda-row h3{margin:0 0 4px;font-size:26px;line-height:1.15}
.agenda-row p{margin:0;font-size:15px;color:var(--muted)}
.agenda-go{font:500 14px/1 var(--body);color:var(--pink);white-space:nowrap}
.agenda-none{margin:0;padding:44px 48px;text-align:center;color:var(--muted)}
.agenda-rest>summary,.agenda-callink>summary{display:block;cursor:pointer;list-style:none;font:500 14px/1 var(--body);color:var(--pink)}
.agenda-rest>summary::-webkit-details-marker,.agenda-callink>summary::-webkit-details-marker{display:none}
.agenda-rest>summary{padding:18px 48px 20px;border-top:1px solid var(--line);text-align:center}
.agenda-rest>summary::after{content:" →"}
.agenda-rest[open]>summary{display:none}
.agenda-callink{margin-top:26px;text-align:center}
.agenda-callink>summary{display:inline-block;padding:12px 22px;border:1px solid #e3c58d;border-radius:99px;background:#fffdfb;transition:background .25s}
.agenda-callink>summary:hover{background:#fde9ee}
.agenda-callink[open]>summary{margin-bottom:30px}
.agenda-callink .calendar-section{width:auto;max-width:none;padding:0;text-align:left}
.agenda-callink .calendar-toolbar h2{font-size:30px}
.calendar-event.calendar-out{background:#fff;color:var(--pink);box-shadow:inset 0 0 0 1px #e9a9c0}
a.calendar-event.calendar-out:hover{background:#fde9ee}
.cal-key{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;margin:12px 0 0;font:400 13px/1.3 var(--body);color:var(--muted)}
.cal-key p{margin:0}
.cal-key span+span{margin-left:22px}
.cal-key i{display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:3px;background:var(--pink);vertical-align:-1px}
.cal-key i.out{background:#fff;box-shadow:inset 0 0 0 1px #e9a9c0}
.agenda-past{margin-top:70px}
.agenda-h{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid #d9b168}
.agenda-h h2{margin:0;font-size:30px}
.past-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:center;padding:4px 0 30px;color:inherit;text-decoration:none}
.past-row+.past-row{padding-top:30px;border-top:1px solid var(--line)}
.past-row figure{aspect-ratio:4/5}
.past-row h3{margin:0 0 10px;font-size:30px;line-height:1.15}
.past-row p:not(.eyebrow){margin:0 0 14px;color:var(--muted)}
.past-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}
.past-rest .past-grid{margin-top:44px}
.past-rest>summary{margin-top:34px}
.past-card{display:block;color:inherit;text-decoration:none}
.past-card figure{margin-bottom:16px;aspect-ratio:4/3}
.past-row figure,.past-card figure{border-radius:6px;overflow:hidden}
.past-row figure img,.past-card figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .5s ease}
a.past-row:hover figure img,a.past-card:hover figure img{transform:scale(1.04)}
.past-row .eyebrow,.past-card .eyebrow{margin:0 0 8px}
.past-card .eyebrow{font-size:11px}
.past-card h3{margin:0 0 8px;font-size:23px;line-height:1.2}
.past-card p:not(.eyebrow){margin:0 0 10px;font-size:15px;color:var(--muted)}
/* A past event with no story yet: its date in a medallion under the mirror ball, as the news cards do, so a row of
   them is told apart by the dates and not a wall of the same picture. */
figure.past-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid #ecd6cc;background:#fbe7e8 url('assets/watercolor.webp') 30% 60%/300%;font-family:var(--serif);color:var(--pink);line-height:1}
figure.past-date img.ball{width:46px;height:auto;margin-bottom:8px;object-fit:contain;transform:none}
figure.past-date small,figure.past-date span{font:600 11px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase}
figure.past-date strong{font-size:58px;font-weight:400;letter-spacing:-.04em}
.agenda-host{margin-top:60px;padding-top:50px;border-top:1px solid #d9b168;text-align:center}
.agenda-host h2{margin:0 0 10px;font-size:30px}
.agenda-host p{margin:0 0 18px;color:var(--muted)}
.agenda-host p.agenda-also{margin:26px 0 0;font-size:15px}
.agenda-host p.agenda-also a{color:var(--pink)}
.events-section .agenda-box{margin-top:10px}
/* The page of an event that has passed: one line under the header says so and leads to the story. */
.event-past-note{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;justify-content:center;padding:14px 20px;border-bottom:1px solid #e7c6c0;background:#fbe7e8;text-align:center}
.event-past-note p{margin:0;font-size:15px;color:var(--ink)}
/* Get Involved, "Our Partners": the thanks to a partner, with its photograph. */
.partner-thanks{max-width:1040px;padding-block:20px 60px}
.partner-thanks .past-row{align-items:start}
/* The partners' logos (Toni, 2026-10-12): one row, each in the same box so a wide wordmark and a square mark weigh
   the same; as sent, on the page's own ground. */
.partner-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 44px;align-items:center;margin:6px 0 44px;padding:0 0 40px;list-style:none;border-bottom:1px solid var(--line)}
.partner-logos li{display:flex;align-items:center;justify-content:center;min-width:0;height:118px}
.partner-logos img{display:block;max-width:100%;max-height:110px;width:auto;height:auto;object-fit:contain}
@media(max-width:820px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 26px}.partner-logos li{height:92px}.partner-logos img{max-height:84px}}
@media(max-width:480px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.partner-thanks .past-row p.partner-close{margin:0;font-family:var(--italic);font-size:21px;color:var(--ink)}
@media(max-width:820px){.agenda-next{grid-template-columns:1fr;gap:26px;padding:22px;text-align:center}.agenda-art{max-width:280px;margin-inline:auto}.agenda-next h2{font-size:34px}.agenda-facts{text-align:left;font-size:16px}.agenda-next .button{margin-bottom:8px}.agenda-label{padding:20px 22px 4px}.agenda-row{grid-template-columns:62px minmax(0,1fr);gap:16px;padding:18px 22px}.agenda-thumb,.agenda-go{display:none}.past-row .agenda-go,.past-card .agenda-go{display:inline}.agenda-date strong{font-size:32px}.agenda-row h3{font-size:21px}.agenda-rest>summary{padding-inline:22px}.agenda-h h2{font-size:26px}.past-row{grid-template-columns:1fr;gap:18px}.past-row figure{aspect-ratio:4/3}.past-row h3{font-size:24px}.past-grid{grid-template-columns:1fr;gap:34px}.cal-key span+span{margin-left:0}}

/* Arriving by an anchor (Anna, 2026-10-12): several menu items lead to one page, each to its own block (Sweet Stays
   on How We Help; Volunteer, Corporate Partnerships, Our Partners, Our Sponsors on Get Involved). The block the
   visitor asked for is ringed in gold for a moment, then the ring fades; nothing else on the block changes. With
   reduced motion the ring simply stays. */
.support-program-cards article:target,.involvement-row article:target,#our-impact:target,#our-partners:target,#sponsors:target{outline:2px solid #d9b16800;outline-offset:14px;animation:anchor-ring 3.6s ease-out}
.involvement-row article:target,#our-impact:target,#our-partners:target{border-radius:18px}
/* room above the block for the ring and a breath under the header (these blocks have no padding of their own) */
.involvement-row article,#our-partners,#sponsors{scroll-margin-top:44px}
.support-program-cards article:target,#sponsors:target{outline-offset:7px}
@keyframes anchor-ring{0%{outline-color:#d9b16800;outline-width:2px}12%,62%{outline-color:#d9b168;outline-width:3px}100%{outline-color:#d9b16800;outline-width:2px}}
@media(prefers-reduced-motion:reduce){.support-program-cards article:target,.involvement-row article:target,#our-impact:target,#our-partners:target,#sponsors:target{animation:none;outline-color:#d9b168}}
