/* 1. Design tokens and foundations. Fonts are local system fonts: no external requests. */
:root{--cream:#faf7f2;--paper:#fffdf9;--ink:#352c27;--brown:#6c3526;--accent:#a85636;--muted:#70675f;--line:#e5ddd3;--sage:#e9eddf;--rose:#f2e5da;--radius:16px;--shadow:0 12px 40px #492b1810}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--brown)}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;display:block}svg{flex-shrink:0}p{margin:0 0 1.2rem}h1,h2,h3{color:var(--ink);line-height:1.12;letter-spacing:-.045em;margin:0 0 1.3rem;font-weight:500}h1,h2{font-family:Georgia,"Times New Roman",serif}h1{font-size:clamp(3rem,4.6vw,4.55rem)}h2{font-size:clamp(2.25rem,3.4vw,3.35rem)}h3{font-size:1.3rem;font-weight:600;letter-spacing:-.025em}em{color:var(--brown);font-weight:400}strong{font-weight:600}::selection{background:#eacbb7}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #376953;outline-offset:5px}section[id]{scroll-margin-top:105px}.shell{width:min(1232px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:.67rem;letter-spacing:.17em;font-weight:700;text-transform:uppercase;color:var(--brown);margin-bottom:20px}.icon{width:21px;height:21px;vertical-align:middle}.small{font-size:.78rem}.muted{color:var(--muted)}.pending-label{display:inline-block;color:#74563e;font-size:.68rem;line-height:1.5;background:#f0e8dc;padding:5px 9px;border-radius:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--brown);border:1px solid var(--brown);color:#fffdf9;padding:15px 23px;min-height:50px;border-radius:7px;font-size:.85rem;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#50271d;color:white;transform:translateY(-2px)}.button .icon{width:18px;height:18px}.button-small{padding:11px 17px;min-height:44px;font-size:.78rem}.button-light{background:var(--paper);border-color:var(--paper);color:var(--brown)}.button-light:hover{background:#efe2d6;color:var(--brown)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:.85rem;min-height:44px;font-weight:600;border-bottom:1px solid #b8a492;padding-bottom:3px}.text-link:hover{border-color:var(--brown)}.button-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.full-width{width:100%}.icon-box{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--rose);border-radius:50%;color:var(--brown);margin-bottom:24px}.back-link{display:inline-block;margin-bottom:32px;font-size:.85rem;min-height:44px}.lead-copy{font-size:1.05rem;color:var(--muted)}
/* FocusOnNavigate moves focus to the heading without a decorative outline. */
h1:focus{outline:none}
.way-card.way-donate>p:not(.eyebrow){color:#61574e}
/* 2. Navigation */
.site-header{position:sticky;top:0;z-index:30;background:#faf7f2f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-family:Georgia,serif;font-size:1.7rem;font-weight:700;letter-spacing:-.04em;color:var(--brown);line-height:1.1}.brand img{width:42px;height:54px;object-fit:cover;object-position:50% 32%;mix-blend-mode:multiply}.brand-sub{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:.48rem;line-height:2.1;letter-spacing:.15em;font-weight:600;color:var(--muted);margin-top:5px}.navigation{display:flex;align-items:center;gap:24px}.navigation>a:not(.button){font-size:.74rem;white-space:nowrap;min-height:44px;display:flex;align-items:center}.navigation>a:hover{color:var(--accent)}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;width:44px;height:44px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--brown);color:white;padding:12px;z-index:100}.skip-link:focus{top:10px}
/* 3. Hero and campaign progress */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:64px 70px;align-items:center}.hero-copy{padding:12px 0}.hero .eyebrow{font-size:.66rem;letter-spacing:.14em}.small-dash{width:27px;height:1px;background:var(--accent)}.hero h1{max-width:560px;line-height:1.055;margin-bottom:25px}.title-period{color:var(--accent)}.hero-description{max-width:420px;font-size:.92rem;color:var(--muted);line-height:1.85;margin-bottom:27px}.hero .text-link{font-size:.78rem}.trust-line{display:flex;align-items:center;gap:12px;font-size:.68rem;color:var(--muted);line-height:1.8;margin:28px 0 0}.trust-line .icon{color:#696e52}.trust-line strong{color:var(--ink);font-size:.64rem;letter-spacing:.035em}.hero-visual{position:relative;padding:10px 24px 24px 0}.photo-frame{height:524px;overflow:hidden;border-radius:160px 160px 14px 14px;background:#e6ded3}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.photo-note{position:absolute;right:0;top:39px;background:#f0e8cb;color:#5e4b2b;padding:11px 18px;border-radius:6px;box-shadow:var(--shadow);font-family:Georgia,serif;font-size:1rem;transform:rotate(7deg)}.photo-note>span{font-size:1.5rem;vertical-align:middle;padding-right:8px}.photo-caption{position:absolute;bottom:0;left:-24px;display:flex;align-items:center;gap:13px;background:var(--paper);padding:19px 25px;border-radius:10px;box-shadow:var(--shadow);font-size:.8rem;line-height:1.6}.caption-heart{width:41px;height:41px;display:grid;place-items:center;border-radius:50%;background:var(--rose);color:var(--brown)}.hero-side-note{position:absolute;right:-10px;top:48%;writing-mode:vertical-rl;font-size:.51rem;letter-spacing:.18em;color:var(--muted)}.progress-wrap{padding-bottom:15px}.campaign-progress{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:31px 36px;display:grid;grid-template-columns:1fr 1.5fr auto;gap:36px;align-items:center;box-shadow:0 5px 25px #492b1805}.campaign-progress h2{font-size:1.6rem;letter-spacing:-.03em;margin-bottom:8px}.campaign-progress .eyebrow{font-size:.55rem;margin-bottom:9px}.campaign-progress p{margin-bottom:0}.amount-line{display:flex;gap:10px;align-items:baseline;margin-bottom:10px;color:var(--muted);font-size:.8rem}.amount-line strong{font-size:1.9rem;color:var(--brown);line-height:1.4}.percentage{margin-left:auto;font-size:.65rem}.empty-progress,progress{display:block;width:100%;height:7px;border:0;border-radius:8px;background:#ede8df;margin-bottom:12px;overflow:hidden}progress::-webkit-progress-bar{background:#ede8df}progress::-webkit-progress-value{background:var(--brown);border-radius:8px}progress::-moz-progress-bar{background:var(--brown)}.progress-data .small{font-size:.62rem}.progress-data .icon{width:15px;height:15px;margin-right:4px}.campaign-progress .button{white-space:nowrap}
/* 4. Story, needs, transparency */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-image{position:relative;padding:0 0 24px 24px}.about-image:before{content:"";position:absolute;inset:28px 30px 0 0;background:#e7e7d9;border-radius:14px}.about-image>img{position:relative;border-radius:12px;width:100%;height:490px;object-fit:cover}.image-label{position:absolute;bottom:0;left:45px;background:var(--paper);padding:14px 20px;border-radius:7px;font-family:Georgia,serif;font-size:1.05rem;box-shadow:var(--shadow)}.image-label span{margin-left:14px;color:var(--brown)}.about-copy h2{margin-bottom:24px}.personality-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:28px 0}.personality-grid h3{font-size:.85rem;margin:0 0 8px}.personality-grid p{font-size:.75rem;color:var(--muted);line-height:1.6}.tiny-star{color:var(--accent);font-size:1.2rem;float:left;margin-right:10px;line-height:1}.story-section{background:#f0eae1}.story-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:120px}.section-intro>p:not(.eyebrow){max-width:300px;color:var(--muted);font-size:.9rem}.story-illustration{height:195px;width:200px;object-fit:contain;mix-blend-mode:multiply;margin:26px 0 -15px}.timeline{padding-left:40px;border-left:1px solid #d3c5b6;margin-left:20px}.timeline-item{position:relative;padding:4px 0 24px 20px}.timeline-item:last-child{padding-bottom:0}.timeline-item h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400}.timeline-item p{font-size:.86rem;color:var(--muted)}.timeline-number{position:absolute;left:-59px;top:0;width:38px;height:38px;background:#f0eae1;border:1px solid #c8b6a5;border-radius:50%;display:grid;place-items:center;font-size:.67rem;color:var(--brown)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:.8rem;color:var(--muted);max-width:340px}.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.help-card{padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.help-card:nth-child(2n) .icon-box{background:var(--sage);color:#536048}.help-card h3{font-size:1.08rem}.help-card p{font-size:.82rem;color:var(--muted)}.transparency-section{background:#e9eddf}.transparency-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:center}.transparency-grid>div>p:not(.eyebrow){font-size:.88rem;color:#5b6351}.association-data{margin:30px 0 0;font-size:.8rem}.association-data>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid #ccd3c0;padding:10px 0;gap:15px}.association-data dt{font-weight:600}.association-data dd{margin:0;overflow-wrap:anywhere}.funds-card{padding:42px;background:var(--paper);border-radius:13px;box-shadow:var(--shadow)}.funds-card h3{font-family:Georgia,serif;font-size:2rem;font-weight:400}.funds-card p{font-size:.85rem;color:var(--muted)}.funds-note{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-bottom:22px;font-size:.72rem;color:var(--muted)}
/* 5. Participation, association, FAQ and updates */
.center-heading{text-align:center;margin-bottom:40px}.center-heading .eyebrow{justify-content:center}.center-heading>p:last-child{font-size:.9rem;color:var(--muted)}.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.way-card{padding:35px 30px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.way-donate{background:var(--rose)}.way-donate .icon-box{background:var(--paper)}.way-card .eyebrow{font-size:.6rem}.way-card h3{font-family:Georgia,serif;font-size:1.85rem;font-weight:400}.way-card>p:not(.eyebrow){font-size:.86rem;color:var(--muted);min-height:75px}.share-buttons{display:flex;gap:7px;flex-wrap:wrap}.share-buttons>a,.share-buttons>button{background:transparent;border:1px solid #bcae9f;border-radius:5px;padding:8px 10px;font-size:.72rem;min-height:44px;display:inline-flex;align-items:center;gap:7px;color:var(--brown)}.share-buttons>a:hover,.share-buttons>button:hover{background:var(--rose)}.share-status:empty{display:none}.share-status{margin-top:10px;overflow-wrap:anywhere}.association-section{display:grid;grid-template-columns:1fr 1.7fr;gap:90px;align-items:center;border-top:1px solid var(--line)}.association-section h2{font-size:2.45rem;overflow-wrap:anywhere}.association-section p{font-size:.88rem;color:var(--muted)}.association-logo{border:1px dashed #c9bdae;border-radius:16px;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:var(--muted);font-size:.8rem;text-align:center;padding:30px;background:#f3eee7}.association-logo .icon{width:48px;height:48px;color:#86735f}.association-logo img{max-height:200px;object-fit:contain}.faq-section{background:#f2ede5}.faq-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:90px}.faq-grid>div>p:not(.eyebrow){font-size:.88rem;color:var(--muted);max-width:320px}.faq-list details{border-bottom:1px solid #d9cfc2;padding:0 0 4px}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:70px;padding:15px 0;font-size:.91rem;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.5rem;color:var(--brown);font-weight:300}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{font-size:.85rem;color:var(--muted);padding-right:25px}.updates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.update-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.update-card-body{padding:30px}.update-card .eyebrow{font-size:.58rem;margin-bottom:12px}.update-card h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;line-height:1.25;margin-top:18px}.update-card p:not(.eyebrow){font-size:.82rem;color:var(--muted)}.update-image{width:100%;height:200px;object-fit:cover}.donation-cta{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;padding:54px 62px;display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--brown);color:var(--paper)}.donation-cta h2{color:var(--paper);font-size:3.2rem}.donation-cta .eyebrow{color:#f2d8bd}.donation-cta p:last-child{color:#ecd6c9;font-size:.86rem;margin-bottom:0}.donation-cta .button{z-index:1;flex-shrink:0}.cta-decoration{position:absolute;z-index:-1;right:140px;top:-130px;font-size:420px;font-family:Georgia,serif;font-weight:400;color:#ffffff0b;transform:rotate(-15deg)}
/* 6. Forms and secondary pages */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.contact-grid>div>p:not(.eyebrow){max-width:340px;font-size:.88rem;color:var(--muted)}.contact-form{background:var(--paper);padding:35px;border:1px solid var(--line);border-radius:12px}.form-notice{font-size:.74rem;color:var(--muted);padding-bottom:17px;border-bottom:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.79rem;font-weight:600;margin:12px 0 7px}input:not([type=checkbox]),textarea,select{display:block;width:100%;max-width:100%;min-height:46px;background:var(--cream);border:1px solid #b9aa9a;border-radius:5px;padding:10px 12px;color:var(--ink);font-size:.88rem}textarea{resize:vertical}small{font-size:.7rem;color:var(--muted)}.checkbox-row{display:flex;align-items:flex-start;gap:12px;font-size:.73rem;line-height:1.6;font-weight:400;margin:22px 0}.checkbox-row input{width:19px;height:19px;flex-shrink:0;margin-top:2px;accent-color:var(--brown)}.checkbox-row a{text-decoration:underline}.validation-message,.validation-errors{color:#a22424;font-size:.79rem;margin-top:5px}.invalid{border-color:#a22424!important}.form-status:not(:empty){padding:16px;background:var(--sage);border-radius:6px;font-size:.82rem;margin-top:20px}.form-status:empty{display:none}.donate-page{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.donate-page h1{font-size:3.3rem}.donate-illustration{max-height:300px;max-width:280px;object-fit:contain;mix-blend-mode:multiply;margin-top:30px}.donate-panel{background:var(--paper);padding:40px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.donate-panel h2{font-size:2rem;margin-top:24px}.donate-panel>p{font-size:.87rem;color:var(--muted)}fieldset{min-width:0;margin:25px 0}legend{font-size:.87rem;font-weight:600;margin-bottom:14px}.amount-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.amount-option{padding:15px;border:1px solid #b9aa9a;background:var(--cream);border-radius:6px;color:var(--brown)}.amount-option:last-child{grid-column:1/-1}.amount-option.selected{background:var(--brown);color:white;border-color:var(--brown)}.page-heading{max-width:740px;margin-bottom:50px}.article-page{max-width:820px;min-height:60vh}.article-page h1{font-size:3.2rem}.article-page h2{font-size:2rem;margin-top:32px}.article-page .eyebrow{margin-top:20px}.article-image{width:100%;max-height:500px;object-fit:cover;margin:30px 0;border-radius:12px}.article-body{white-space:pre-line;margin-block:30px}.legal-notice{background:#f1dfc9;border-left:4px solid var(--brown);padding:18px;margin-bottom:24px;font-size:.85rem;font-weight:600}
.contact-fields{border:0;padding:0;margin:0;min-width:0}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* 7. Footer, runtime UI and motion */
.site-footer{background:#eee7dc;border-top:1px solid var(--line);padding-block:48px 28px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:40px;align-items:center;padding-bottom:40px}.footer-top>p{font-family:Georgia,serif;font-size:1rem;color:var(--muted);margin:0}.footer-top>p strong{font-weight:400;color:var(--ink)}.footer-top nav{display:flex;gap:20px;flex-wrap:wrap}.site-footer nav a{font-size:.72rem;min-height:44px;display:inline-flex;align-items:center}.site-footer nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #d8cebf;padding-top:23px;display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-bottom p{font-size:.66rem;margin:0}.footer-bottom p span{font-size:.6rem;color:var(--muted)}.footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom nav a{font-size:.63rem}.mobile-donation{display:none}.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;z-index:60;background:var(--paper);padding:24px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;display:flex;gap:16px;align-items:center}.cookie-banner p{margin:0;font-size:.85rem;flex:1}.cookie-banner a{text-decoration:underline}#blazor-error-ui{display:none;position:fixed;bottom:0;width:100%;z-index:100;background:#fff0d8;padding:16px}#blazor-error-ui .dismiss{position:absolute;right:12px;top:10px;border:0;background:none}.in-view{animation:appear .65s ease both}@keyframes appear{from{transform:translateY(15px)}to{transform:translateY(0)}}
/* 8. Responsive: no content is hidden to mask horizontal overflow. */
@media(min-width:1450px){.hero{gap:95px;padding-block:75px}.photo-frame{height:550px}}
@media(max-width:1199px){.shell{width:calc(100% - 64px)}.navigation{gap:14px}.navigation>a:not(.button){font-size:.68rem}.brand{font-size:1.5rem}.brand-sub{font-size:.42rem}.hero{gap:40px}.hero h1{font-size:3.6rem}.photo-frame{height:490px}.hero .button-row{gap:16px}.campaign-progress{padding:26px;gap:22px;grid-template-columns:1fr 1.4fr}.campaign-progress>.button{grid-column:1/-1;justify-self:end}.about-grid,.story-grid,.transparency-grid,.contact-grid{gap:60px}.faq-grid{gap:50px}.way-card{padding:28px 22px}.footer-top{gap:25px}.footer-top nav{gap:13px}.donate-page{gap:50px}}
@media(max-width:1050px){.header-inner{min-height:82px}.menu-toggle{display:block}.navigation{display:none;position:absolute;top:82px;left:0;right:0;padding:20px 32px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.navigation>a:not(.button){font-size:.9rem}.navigation>.button{margin-top:12px}.hero{gap:32px}.hero h1{font-size:3.2rem}.hero .button-row{align-items:start;flex-direction:column;gap:10px}.photo-frame{height:480px}.needs-grid{gap:16px}.help-card{padding:25px}.way-card h3{font-size:1.6rem}.donation-cta{padding:45px}.donation-cta h2{font-size:2.8rem}.donation-cta>.button{font-size:.75rem}.association-section{gap:50px}}
@media(max-width:800px){.shell{width:calc(100% - 48px)}.section{padding-block:70px}.hero{gap:28px;padding-block:45px}.hero h1{font-size:2.7rem}.hero-description{font-size:.83rem}.hero .eyebrow{font-size:.55rem}.hero-visual{padding-right:14px}.photo-frame{height:430px;border-radius:100px 100px 12px 12px}.photo-note{font-size:.8rem;padding:9px 12px;right:-4px}.photo-caption{left:-10px;font-size:.7rem;padding:14px}.hero-side-note{right:-8px;font-size:.45rem}.campaign-progress{gap:20px}.about-grid{gap:36px}.about-image>img{height:410px}.about-copy h2{font-size:2.4rem}.personality-grid{gap:15px}.story-grid{gap:50px}.needs-grid{grid-template-columns:repeat(2,1fr)}.transparency-grid{gap:35px}.funds-card{padding:30px}.ways-grid{grid-template-columns:1fr}.way-card{display:block;padding:30px}.way-card>p:not(.eyebrow){min-height:0}.way-card h3 br{display:none}.way-card .icon-box{float:right}.association-section h2{font-size:2rem}.faq-grid{grid-template-columns:1fr;gap:28px}.updates-grid{gap:16px}.update-card-body{padding:22px}.update-card h3{font-size:1.4rem}.donation-cta{padding:40px;display:block}.donation-cta .button{margin-top:28px}.contact-grid{grid-template-columns:1fr;gap:25px}.footer-top{grid-template-columns:1fr 1fr}.footer-top nav{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.donate-page{grid-template-columns:1fr;gap:30px}.donate-illustration{display:none}.donate-panel{padding:30px}.cookie-banner{flex-wrap:wrap}.cookie-banner p{flex-basis:100%}}
@media(max-width:600px){html{scroll-padding-top:85px}section[id]{scroll-margin-top:88px}.shell{width:calc(100% - 40px)}.header-inner{min-height:74px}.brand{font-size:1.5rem}.brand img{width:32px;height:44px}.brand-sub{font-size:.43rem}.navigation{top:74px;padding-inline:20px}.hero{display:flex;flex-direction:column;gap:38px;padding-top:30px;padding-bottom:46px}.hero-copy{padding:0}.hero h1{font-size:3.05rem;line-height:1.08;margin-bottom:22px}.hero .eyebrow{font-size:.58rem;margin-bottom:20px}.hero-description{font-size:.9rem;margin-bottom:22px;max-width:none}.hero .button-row{flex-direction:row;align-items:center;gap:13px}.hero .button{padding:13px 16px;font-size:.78rem}.hero .text-link{font-size:.73rem;gap:6px}.trust-line{font-size:.65rem;margin-top:21px}.hero-visual{width:100%;padding:0 13px 20px 0}.photo-frame{height:auto;aspect-ratio:1/.98;border-radius:110px 110px 12px 12px}.photo-frame img{object-position:center 40%}.photo-note{top:20px;right:0;font-size:.9rem}.photo-caption{left:12px;padding:13px 18px;font-size:.74rem}.hero-side-note{right:-4px;font-size:.45rem}.campaign-progress{padding:24px;grid-template-columns:1fr;gap:22px}.campaign-progress>.button{grid-column:auto;justify-self:stretch}.campaign-progress .small{font-size:.72rem}.progress-data .small{font-size:.65rem}.amount-line strong{font-size:1.8rem}.section{padding-block:60px}h2{font-size:2.55rem}.about-grid{grid-template-columns:1fr;gap:35px}.about-image>img{height:370px}.about-image{padding-left:17px}.image-label{left:32px;font-size:.94rem}.about-copy h2{font-size:2.65rem}.lead-copy{font-size:.96rem}.personality-grid{gap:18px}.personality-grid h3{font-size:.88rem}.story-grid{grid-template-columns:1fr;gap:35px}.story-illustration{display:none}.story-grid h2 br{display:none}.timeline{padding-left:24px;margin-left:16px}.timeline-item{padding-left:20px}.timeline-number{left:-43px}.section-heading{display:block;margin-bottom:28px}.section-heading>p,.section-heading>.text-link{margin-top:22px}.needs-grid{gap:12px}.help-card{padding:21px 16px}.help-card h3{font-size:.98rem}.help-card p{font-size:.75rem}.help-card .pending-label{font-size:.58rem}.icon-box{width:41px;height:41px;margin-bottom:19px}.transparency-grid{grid-template-columns:1fr;gap:35px}.funds-card{padding:30px}.association-data>div{grid-template-columns:85px 1fr;gap:10px}.center-heading h2{font-size:2.4rem}.association-section{grid-template-columns:1fr;gap:30px}.association-logo{min-height:165px}.association-section h2{font-size:2.15rem}.faq-grid h2{font-size:2.5rem}.faq-list summary{font-size:.86rem}.updates-grid{grid-template-columns:1fr;gap:18px}.update-card-body{padding:28px}.update-card h3{font-size:1.65rem}.donation-cta{padding:35px 26px}.donation-cta h2{font-size:2.7rem}.donation-cta .eyebrow{font-size:.6rem}.donation-cta .button{width:100%;padding-inline:13px;font-size:.75rem}.cta-decoration{right:-90px}.contact-form{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:0}.contact-grid h2{font-size:2.6rem}.footer-top{grid-template-columns:1fr;gap:25px;padding-bottom:25px}.footer-top nav{gap:18px}.footer-bottom nav{gap:15px}.site-footer{padding-bottom:110px}.mobile-donation{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:20px;right:20px;z-index:35;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:var(--brown);color:white;border-radius:9px;box-shadow:0 5px 25px #352c2733;font-size:.87rem;min-height:52px}.mobile-donation:hover{color:white}.donation-route .mobile-donation{display:none}.donation-route .site-footer{padding-bottom:35px}.donate-page h1,.article-page h1,.page-heading h1{font-size:2.65rem}.donate-panel{padding:25px 20px}.donate-panel h2{font-size:1.8rem}.cookie-banner{bottom:78px;left:12px;right:12px;padding:20px}.cookie-banner .button{flex:1;font-size:.7rem}.back-link{margin-bottom:22px}}
/* 9. Campaign editorial identity: autonomy, wheels and a concrete shared goal. */
.hero h1{font-size:clamp(3.3rem,5.25vw,5.05rem);letter-spacing:-.055em;line-height:1.02}
.hero h1 em{display:block;color:var(--brown)}
.hero-description{max-width:460px;font-size:1rem;line-height:1.8}
.hero-purpose{display:flex;align-items:center;gap:12px;max-width:440px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:.76rem;color:var(--muted);line-height:1.7;min-height:44px}
.hero-purpose .icon{color:var(--brown)}.hero-purpose strong{color:var(--brown);font-size:.88rem}.hero-purpose:hover{color:var(--brown)}
.hero-visual::before{content:"";position:absolute;inset:-17px 4px 8px 18px;border:1px solid #c4b69e;border-radius:170px 170px 20px 20px;transform:rotate(3deg);z-index:-1}
.hero-visual{isolation:isolate}.photo-note{top:32px;font-size:.97rem}.photo-caption strong{font-family:Georgia,serif;font-size:1.18rem;font-weight:400;color:var(--brown)}
.campaign-progress{grid-template-columns:1.3fr 1.3fr auto}.campaign-progress h2{max-width:275px;font-size:1.75rem}.campaign-progress .amount-line strong{font-size:2.4rem}.campaign-progress .empty-progress{margin-bottom:10px}
.goal-section{position:relative;overflow:hidden;background:#e8eddf;padding-block:72px}
.goal-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:95px}
.goal-art{position:relative;isolation:isolate;display:grid;place-items:center;min-height:400px}
.goal-art img{width:290px;height:355px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-5deg)}
.goal-orbit{position:absolute;border:1px solid #bac6a9;border-radius:50%;z-index:-1;width:360px;height:360px}
.orbit-two{width:440px;height:440px;border-style:dashed;opacity:.7}
.goal-art::before{content:"✳";position:absolute;right:15%;top:5%;font-size:60px;color:#6b7657;transform:rotate(8deg)}
.goal-art-note{position:absolute;bottom:2px;left:50%;transform:translateX(-50%) rotate(-5deg);white-space:nowrap;font-family:Georgia,serif;font-style:italic;font-size:1.1rem;background:#fffdf9;padding:11px 22px;border-radius:5px;box-shadow:var(--shadow)}
.goal-art-note span{padding-left:10px;color:var(--brown)}.goal-copy h2{font-size:clamp(2.8rem,4vw,3.8rem);max-width:540px}.goal-copy>p:not(.eyebrow){color:#56604e;font-size:.94rem;max-width:490px}
.goal-amount{display:flex;gap:24px;align-items:center;margin:25px 0 28px;border-top:1px solid #bdc7af;padding-top:24px}.goal-amount strong{font-family:Georgia,serif;font-size:3.3rem;line-height:1;color:#384531;font-weight:400;white-space:nowrap;letter-spacing:-.045em}.goal-amount>span{font-size:.76rem;line-height:1.7;color:#4f5948}
.story-source{font-size:.72rem;color:var(--muted);display:inline-block;padding-top:12px;border-top:1px solid #cbbbaa}.timeline-item{padding-bottom:32px}.timeline-item p{font-size:.93rem;line-height:1.85}.timeline-item h3{font-size:1.7rem;line-height:1.2}
.help-card h3{font-family:Georgia,serif;font-size:1.6rem;line-height:1.18;font-weight:400}.help-card p{font-size:.88rem;line-height:1.8;margin-bottom:0}.needs-grid .help-card:nth-child(3){background:#eee9e1}
.instagram-section{display:flex;gap:30px;align-items:center;background:#efe4d9;border:1px solid #decebb;padding:35px 40px;border-radius:14px;margin-bottom:60px}.instagram-symbol{width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:var(--paper);color:var(--brown);flex-shrink:0;transform:rotate(-6deg)}.instagram-symbol svg{width:45px;height:45px}.instagram-section>div{flex:1;min-width:0}.instagram-section .eyebrow{font-size:.59rem;margin-bottom:8px}.instagram-section h2{font-size:1.8rem;margin-bottom:8px}.instagram-section p:last-child{margin-bottom:0;color:#65564a;font-size:.83rem}.button-outline{background:transparent;color:var(--brown)}.button-outline:hover{background:var(--brown);color:var(--paper)}.instagram-section .button{font-size:.76rem;flex-shrink:0}
.editorial-note{font-size:.77rem;color:var(--muted);margin:-10px 0 25px;max-width:620px}.update-card{border-top:3px solid #ad7459}.update-card:nth-child(2){border-top-color:#758261}.update-card:nth-child(3){border-top-color:#ae9250}.update-card h3{font-size:1.8rem}.update-card p:not(.eyebrow){font-size:.9rem}.donation-cta h2{font-size:2.75rem;max-width:640px}.donation-cta h2>span{color:#f2d8bd;font-style:italic}.donate-goal{display:flex;align-items:center;gap:15px;margin-top:25px;background:var(--sage);padding:22px;border-radius:10px;color:#44513b;font-size:.87rem}.donate-goal strong{font-size:1.2rem}.donate-goal .icon{width:30px;height:30px}
@media(max-width:1199px){.hero h1{font-size:3.9rem}.campaign-progress{grid-template-columns:1fr 1.4fr}.goal-grid{gap:55px}.goal-orbit{width:300px;height:300px}.orbit-two{width:365px;height:365px}.goal-amount{gap:17px}.goal-amount strong{font-size:2.9rem}.instagram-section{gap:22px;padding:30px}.instagram-section h2{font-size:1.6rem}}
@media(max-width:800px){.hero h1{font-size:3.1rem}.hero-description{font-size:.9rem}.hero-purpose{font-size:.7rem}.hero .photo-note{font-size:.8rem}.goal-grid{gap:35px}.goal-art{min-height:330px}.goal-art img{width:210px;height:285px}.goal-orbit{width:240px;height:240px}.orbit-two{width:300px;height:300px}.goal-art-note{font-size:.85rem;padding:10px 14px}.goal-copy h2{font-size:2.6rem}.goal-amount{flex-wrap:wrap;gap:15px}.goal-amount strong{font-size:2.7rem}.instagram-section{flex-wrap:wrap}.instagram-section .button{margin-left:90px}.needs-grid{grid-template-columns:1fr}.help-card{padding:28px}.help-card h3{font-size:1.8rem}.donation-cta h2{font-size:2.65rem}}
@media(max-width:600px){.hero h1{font-size:3.25rem}.hero-description{font-size:.95rem}.hero-purpose{margin-top:22px;padding-top:17px;font-size:.75rem}.hero .photo-note{font-size:.85rem;right:0}.hero-visual::before{inset:-10px 0 7px 15px;border-radius:110px 110px 15px 15px}.photo-caption strong{font-size:1.05rem}.campaign-progress{grid-template-columns:1fr}.campaign-progress h2{font-size:1.9rem;max-width:none}.goal-section{padding-block:52px}.goal-grid{grid-template-columns:1fr;gap:35px}.goal-art{min-height:310px;order:2;margin-top:10px}.goal-art img{width:210px;height:280px}.goal-orbit{width:260px;height:260px}.orbit-two{width:315px;height:315px}.goal-art-note{font-size:1rem}.goal-art::before{font-size:45px;right:12%}.goal-copy h2{font-size:2.85rem}.goal-copy .button{width:100%;font-size:.8rem}.goal-amount{flex-wrap:nowrap;gap:17px}.goal-amount strong{font-size:2.85rem}.goal-amount>span{font-size:.72rem}.timeline-item h3{font-size:1.5rem}.timeline-item p{font-size:.9rem}.story-grid h2{font-size:2.5rem}.instagram-section{padding:25px 22px;gap:20px;margin-bottom:35px}.instagram-symbol{width:49px;height:49px;border-radius:13px}.instagram-symbol svg{width:34px;height:34px}.instagram-section h2{font-size:1.65rem}.instagram-section .eyebrow{font-size:.54rem}.instagram-section>div{flex-basis:calc(100% - 69px)}.instagram-section .button{margin:0;width:100%}.editorial-note{font-size:.78rem}.donation-cta h2{font-size:2.5rem}.image-label{font-size:.9rem;left:26px;padding:12px 15px}.image-label span{margin-left:6px}}
/* Family: a supporting chapter after Carolina's story, with the whole photo visible. */
.family-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center;border-bottom:1px solid var(--line)}
.family-photo{margin:0;padding:12px 12px 0;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);transform:rotate(-1deg)}
.family-photo img{display:block;width:100%;height:auto;border-radius:9px}
.family-photo figcaption{display:flex;align-items:center;gap:10px;padding:17px 8px;color:var(--muted);font-size:.73rem;line-height:1.6}
.family-photo figcaption .icon{width:17px;height:17px;color:var(--brown)}
.family-copy h2{font-size:clamp(2.5rem,3.5vw,3.5rem);margin-bottom:28px}
.family-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.9;color:var(--muted)}
.family-closing{display:flex;align-items:flex-start;gap:15px;padding:22px 0;border-block:1px solid var(--line);margin:27px 0 20px}
.family-closing>.icon{color:var(--brown);margin-top:4px}
.family-closing p{font-family:Georgia,serif;font-size:1.2rem;line-height:1.5;margin:0;color:var(--brown)}
@media(max-width:1050px){.family-section{gap:45px;grid-template-columns:1fr 1.1fr}.family-copy h2{font-size:2.6rem}.family-copy>p:not(.eyebrow){font-size:.87rem}}
@media(max-width:800px){.family-section{grid-template-columns:1fr;gap:38px}.family-photo{max-width:460px;justify-self:center;width:100%}.family-copy{max-width:600px;justify-self:center}.family-copy>p:not(.eyebrow){font-size:.94rem}}
@media(max-width:600px){.family-section{gap:32px}.family-photo{padding:9px 9px 0;transform:none;border-radius:12px}.family-photo figcaption{font-size:.7rem;padding:14px 5px}.family-copy h2{font-size:2.45rem}.family-copy>p:not(.eyebrow){font-size:.91rem}.family-closing p{font-size:1.15rem}.family-copy .text-link{font-size:.78rem}}
/* On phones, bring Carolina's portrait into the first screen, before the longer introduction. */
@media(max-width:600px){.hero{display:grid;grid-template-columns:1fr;gap:0}.hero-copy{display:contents}.hero .eyebrow{order:0}.hero h1{order:1;font-size:2.8rem;margin-bottom:30px}.hero-visual{order:2;margin-bottom:30px}.hero-description{order:3}.hero .button-row{order:4}.hero-purpose{order:5}.hero-visual .photo-frame{aspect-ratio:1/1}.photo-caption{bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.footer-credits{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px 24px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.footer-credits p{margin:0}.footer-credits a{text-decoration:underline;text-underline-offset:3px}.footer-credits strong{color:var(--ink)}

.article-page code{color:var(--ink);overflow-wrap:anywhere}

/* Consentimiento: misma presentación para aceptar/rechazar y espacio móvil. */
.cookie-banner[hidden]{display:none!important}
.cookie-banner{display:block;max-height:calc(100dvh - 32px);overflow:auto;bottom:16px;z-index:1000}
.cookie-banner h2{font-size:1.25rem;margin:0 0 12px}.cookie-banner p{font-size:.85rem;margin:0 0 12px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:12px}.cookie-actions .button{flex:1;min-width:160px}
.cookie-preferences-open .mobile-donation{display:none}
.cookie-settings-link{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;min-height:44px;text-align:left}

/* Apariciones editoriales: recursos locales, sin widgets sociales ni rastreadores. */
.press-section{background:#f1ece3;border-block:1px solid var(--line)}
.press-heading>p{max-width:380px;color:var(--muted);margin:0}
.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.press-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px #352c2705}
.press-source{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 30px;border-bottom:1px solid var(--line);font-weight:700;font-size:1.05rem}
.press-card-social .press-source{background:var(--sage)}
.press-category{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.press-card-body{display:flex;flex-direction:column;align-items:flex-start;padding:32px;flex:1}
.press-card time{font-size:.75rem;color:var(--muted);margin-bottom:18px}
.press-card h3{font-family:Georgia,serif;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:400;line-height:1.22;margin-bottom:22px}
.press-card-body>p{font-size:.9rem;color:var(--muted)}
.press-card .text-link{margin-top:auto;padding-top:16px}
.press-card blockquote{border-left:2px solid #b8a492;padding-left:18px;margin:0 0 22px}
.press-card blockquote p{font-family:Georgia,serif;font-size:1.05rem;line-height:1.6;margin:0 0 8px}
.press-card cite{font-size:.7rem;color:var(--muted);font-style:normal}
.press-note{font-size:.75rem;color:var(--muted);margin:22px 0 0}
.press-image{width:100%;height:auto;max-height:360px;object-fit:contain}
.budget-summary{margin:28px 0;padding-top:24px;border-top:1px solid #c6b9ac}
.budget-summary h4{font-size:1.35rem;line-height:1.35;margin:0 0 12px}
.budget-source,.budget-note{font-size:.8rem;line-height:1.65}
.budget-source>span,.budget-source>time{display:block}.budget-source>time{margin-top:5px}.budget-summary>.text-link{margin-bottom:16px}
.transparency-copy>p:not(.eyebrow){font-size:.88rem;line-height:1.85;color:#5b6351;margin-bottom:20px}
.budget-lines{margin:22px 0}.budget-lines>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #c6b9ac}
.budget-lines dt{font-weight:500;min-width:0}.budget-lines dd{margin:0;white-space:nowrap;font-weight:600}.budget-lines small{display:block;font-size:.7rem;font-weight:400}
.budget-lines .budget-total{font-size:1.05rem}.budget-total dt{font-weight:700}
.crowdfunding-brand{gap:24px}.crowdfunding-brand img{width:min(260px,80%);height:auto;object-fit:contain}.crowdfunding-brand p{margin:0;color:var(--muted);font-size:.8rem}
@media(max-width:767px){.press-grid{grid-template-columns:1fr;gap:20px}.press-heading{display:block}.press-heading>p{max-width:none}.press-card-body{padding:26px 24px}.press-source{padding:20px 24px;flex-wrap:wrap}.association-data dd{overflow-wrap:anywhere}}
