@font-face{font-family:Montserrat;src:url('/fonts/montserrat-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:optional}
@font-face{font-family:Montserrat;src:url('/fonts/montserrat-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:optional}
:root{--red:#E1081A;--deep:#323232;--ink:#323232;--muted:#666465;--line:#DADADA;--soft:#F7F6F4;--white:#FFFFFF;--navy:#011E41;--max:1320px;font-family:Montserrat,Arial,sans-serif}
html,body{background:#fff}body{font-family:Montserrat,Arial,sans-serif;color:var(--ink)}body::before{display:none!important}.page-content h2,.hero h1,.card h3{font-family:Montserrat,Arial,sans-serif}
header{height:104px;background:rgba(255,255,255,.94);border-bottom:1px solid #e5e5e5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.brand{min-width:315px;gap:15px}.brand-logo{display:block;width:190px;height:60px;object-fit:contain;object-position:left center}.branch-name{padding-left:15px;border-left:1px solid #bdbdbd;font-size:10px;font-weight:700;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;max-width:106px}header nav{font-size:.78rem;gap:1.25rem}header nav>a,header nav summary{position:relative;padding:.8rem 0}header nav>a::after,header nav summary::after{content:"";position:absolute;left:0;right:100%;bottom:.35rem;height:2px;background:var(--red);transition:right .25s ease}header nav>a:hover::after,header nav summary:hover::after{right:0}.header-action{background:var(--red);border:2px solid var(--red);transition:background .2s,color .2s}.header-action:hover{background:#fff;color:var(--red)}
.hero{min-height:620px;padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(4rem,7vw,7rem);grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:clamp(3rem,7vw,8rem);border-bottom:1px solid #dadada;overflow:hidden}.hero-home{min-height:720px}.hero:not(.hero-home){min-height:480px;padding-top:clamp(3rem,5vw,5rem);padding-bottom:clamp(3rem,5vw,5rem);grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)}.hero-emblem-stage{position:relative;aspect-ratio:1;display:grid;place-items:center;background:#fff;isolation:isolate}.hero:not(.hero-home) .hero-emblem-stage{width:100%;max-width:300px}.hero-emblem-stage::before,.hero-emblem-stage::after{content:"";position:absolute;z-index:-2;background:var(--red)}.hero-emblem-stage::before{width:56%;height:18%;left:-10%;top:12%;transform:translateX(calc(var(--scroll-progress,0)*70px))}.hero-emblem-stage::after{width:18%;height:62%;right:-4%;bottom:-10%;background:var(--navy);transform:translateY(calc(var(--scroll-progress,0)*-90px))}.hero-emblem-stage .signal{position:absolute;z-index:-1;background:#fff;border:2px solid var(--red)}.hero-emblem-stage .signal-a{inset:4% 7% 7% 4%}.hero-emblem-stage .signal-b{width:28%;height:28%;right:-4%;top:-4%;border-color:#dadada}.hero-emblem-stage img{display:block;width:92%;height:auto;background:#fff;position:relative;z-index:2}.hero h1{font-size:clamp(3.8rem,7.2vw,7.9rem);line-height:.88;letter-spacing:-.065em;font-weight:700;max-width:930px;text-wrap:balance}.hero:not(.hero-home) h1{font-size:clamp(3.25rem,5.4vw,6rem)}.hero p{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.5;max-width:760px}.kicker{color:var(--red);font-weight:700;letter-spacing:.14em}.hero-actions{gap:.6rem}
.button{border-radius:0;box-shadow:none;background:var(--red);border-color:var(--red);position:relative;overflow:hidden;isolation:isolate}.button::before{content:"";position:absolute;inset:0;background:var(--navy);transform:translateX(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);z-index:-1}.button:hover{background:var(--red);border-color:var(--red);transform:none}.button:hover::before{transform:translateX(0)}.button.secondary{background:#fff;border-color:#323232;color:#323232}.button.secondary::before{background:#323232}.button.secondary:hover{color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(225,8,26,.42);outline-offset:3px}
nav a[aria-current="page"]{color:var(--red)}nav a[aria-current="page"]::after{right:0}
.page-content{padding-top:clamp(4rem,7vw,7rem)}.page-content h2{font-weight:700;letter-spacing:-.04em}.page-content>section:not(.donation):not(.cards):not(.form-card):not(.empty),.form-card,.empty{border-radius:0;background:#fff;border:0;box-shadow:none;padding:0}.prose{margin-left:0;max-width:850px}.prose p{font-size:1.08rem;line-height:1.75}.split{gap:clamp(2rem,8vw,8rem)}.note{border-radius:0;background:#f7f6f4;border-top:0;border-left:8px solid var(--red);box-shadow:none;padding:2rem}
.cards{border:0;background:transparent;gap:12px;grid-template-columns:1.3fr .85fr .85fr}.card{min-height:300px;border:1px solid #dadada;border-radius:0;background:#fff;position:relative;overflow:hidden;transition:color .32s ease,border-color .32s ease,transform .32s ease}.card::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .38s cubic-bezier(.2,.8,.2,1);z-index:0}.card>*{position:relative;z-index:1}.card:first-child{grid-row:span 2;min-height:420px;background:var(--navy);color:#fff;border-color:var(--navy)}.card:first-child p{color:#fff}.card:hover{background:#fff;color:#fff;border-color:var(--red);transform:translateY(-6px);box-shadow:none}.card:hover::before{transform:translateY(0)}.card:hover p{color:#fff}.card h3{font-weight:700}
.form-card{max-width:900px;margin-left:0;border-top:6px solid var(--red);background:#f7f6f4;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:18px 18px 0 #dadada}input,textarea,select{border-radius:0;background:#fff;border:1px solid #adafaf;box-shadow:none}input:focus,textarea:focus,select:focus{outline:3px solid rgba(225,8,26,.18);border-color:var(--red)}
.donation{border-radius:0;background:var(--navy);box-shadow:none;position:relative;overflow:hidden;scroll-margin-top:120px}.donation::before{content:"";position:absolute;width:420px;height:420px;right:38%;top:-260px;border:70px solid rgba(225,8,26,.85);transform:rotate(45deg);pointer-events:none}.donation-copy{position:relative;z-index:1}.donation-copy h2{font-family:Montserrat,Arial,sans-serif;font-weight:700;letter-spacing:-.045em}.donation-form{background:#fff}.segmented button,.amounts button{border-radius:0;background:#fff}.segmented button.active,.amounts button.active{background:var(--red);color:#fff;box-shadow:none}.goal progress{accent-color:var(--red)}.mini-links button{border-radius:0}
.empty{border:1px solid #dadada;border-left:8px solid var(--red);padding:clamp(2rem,5vw,4rem);background:#f7f6f4}.doc-list{max-width:none}.doc-list li{padding:1.5rem;border-bottom:1px solid #dadada}.faq summary{position:relative;padding-right:3rem}.faq summary::after{content:"+";position:absolute;right:.5rem;top:-.2rem;color:var(--red);font-size:1.8rem;line-height:1;transition:transform .25s ease}.faq details[open] summary::after{transform:rotate(45deg)}
.drawer{border-radius:0;background:#fff;border-top:8px solid var(--red);box-shadow:0 32px 90px rgba(1,30,65,.24)}body.has-dialog::after{content:"";position:fixed;inset:0;background:rgba(1,30,65,.28);z-index:29;backdrop-filter:blur(2px)}body.has-dialog .drawer{z-index:30}
footer{background:#323232;color:#fff}footer .brand{background:#fff;padding:.85rem 1rem;width:min(100%,30rem);display:grid;grid-template-columns:minmax(0,220px) minmax(9.5rem,1fr);align-items:center;column-gap:1rem}footer .brand-logo{width:100%;max-width:220px;height:auto;min-width:0}footer .branch-name{color:#323232;min-width:0;max-width:none;padding-left:1rem;font-size:.69rem;line-height:1.45;overflow-wrap:anywhere}

/* Typographic rhythm and spacing audit */
body{font-size:1rem;line-height:1.6}
header{gap:clamp(1rem,2vw,1.75rem);padding-inline:max(1.5rem,calc((100vw - var(--max))/2))}
.branch-name{font-size:.75rem;line-height:1.4}
header nav{font-size:.875rem;line-height:1.35;gap:clamp(.8rem,1.35vw,1.2rem)}
.header-action{line-height:1.2;padding:.9rem 1.15rem}
.hero{padding-inline:clamp(1.25rem,3vw,2rem)}
.hero:not(.hero-home){min-height:420px;padding-top:3.5rem;padding-bottom:3.5rem}
.hero h1{line-height:.94;letter-spacing:-.05em;margin:.65rem 0 1.5rem}
.hero:not(.hero-home) h1{line-height:.98;letter-spacing:-.045em}
.hero p{line-height:1.58;max-width:46rem}
.kicker{line-height:1.4}
.page-content{padding-inline:clamp(1.25rem,3vw,2rem)}
.page-content h2{line-height:1.14;margin-bottom:1.5rem;overflow-wrap:anywhere}
.page-content h3{line-height:1.3;overflow-wrap:anywhere}
.prose{max-width:48rem}
.prose p{font-size:1.0625rem;line-height:1.7;margin-bottom:1.25rem}
.split>div>p{line-height:1.7;margin:0 0 1.25rem}
.page-content>.button{margin-top:1.5rem}
.note{line-height:1.65}
.note p{margin:.65rem 0 1.1rem}
.cards{gap:1rem;margin-top:4.5rem}
.card{padding:clamp(1.5rem,2.5vw,2.25rem)}
.card h3{line-height:1.2;margin-bottom:.85rem}
.card p{line-height:1.6}
.form-card{width:min(100%,45rem);max-width:45rem;margin-top:4.5rem;padding:clamp(1.5rem,3vw,2.35rem);border-top:5px solid var(--red);box-shadow:8px 8px 0 #dadada}
.form-card h2{font-size:clamp(1.8rem,3vw,2.55rem);margin-bottom:1.2rem}
form{gap:1.25rem}
label{gap:.5rem;line-height:1.45}
input,textarea,select{line-height:1.4;padding:.72rem .9rem;min-height:44px}
textarea{min-height:7rem;max-height:14rem}
.faq details{padding:1.35rem 0}
.faq summary{line-height:1.45}
.faq p{line-height:1.7;margin-bottom:.25rem}
.donation-copy>p{line-height:1.65}
.donation-copy>.kicker{color:#fff;opacity:.98}
.donation-form small{display:block;line-height:1.55}
footer{gap:clamp(2rem,4vw,3.5rem);line-height:1.55;padding-top:4rem;padding-bottom:3.25rem}
footer p,footer a,footer span{line-height:1.55}
footer>div:first-child>p{max-width:38rem}

/* Stable geometry and tactile controls */
html,body{max-width:100%;overflow-x:clip}
.hero>*,.split>*,.cards>*,.donation>*,footer>*{min-width:0}
img,svg{max-width:100%}
.button,.header-action{border-radius:3px;box-shadow:0 5px 0 #97000b,0 10px 22px rgba(1,30,65,.14);transform:translateY(0);transition:transform .16s ease,box-shadow .16s ease,background .2s,color .2s,border-color .2s}
.button::after,.header-action::after{content:"";position:absolute;inset:1px 1px auto;height:38%;border-radius:2px 2px 45% 45%;background:linear-gradient(to bottom,rgba(255,255,255,.2),rgba(255,255,255,0));pointer-events:none}
.header-action{position:relative;isolation:isolate}
.button:hover,.header-action:hover{transform:translateY(-2px);box-shadow:0 7px 0 #97000b,0 14px 26px rgba(1,30,65,.18)}
.button:active,.header-action:active{transform:translateY(4px);box-shadow:0 1px 0 #97000b,0 4px 10px rgba(1,30,65,.12)}
.button.secondary{box-shadow:0 5px 0 #9d9d9d,0 10px 22px rgba(1,30,65,.1)}
.button.secondary:hover{box-shadow:0 7px 0 #1f1f1f,0 14px 26px rgba(1,30,65,.16)}
.button.secondary:active{box-shadow:0 1px 0 #1f1f1f,0 4px 10px rgba(1,30,65,.1)}
.segmented button,.amounts button,.mini-links button{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}
.segmented button,.amounts button{box-shadow:0 2px 0 #c7c7c7}
.segmented button:hover,.amounts button:hover{transform:translateY(-1px);border-color:#888;box-shadow:0 3px 0 #b8b8b8}
.segmented button:active,.amounts button:active{transform:translateY(2px);box-shadow:none}
.segmented button.active,.amounts button.active{box-shadow:0 3px 0 #97000b}
.mini-links button{box-shadow:0 2px 0 rgba(255,255,255,.28)}
.mini-links button:hover{transform:translateY(-1px);box-shadow:0 3px 0 rgba(255,255,255,.42)}
.donation-form{padding:clamp(1.4rem,3vw,2.25rem)}
.donation-form fieldset{min-width:0}
.donation-form .button{min-height:48px}
.form-card .button{justify-self:start;min-width:12rem}
@keyframes copy-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .48s ease,transform .58s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.cards .card.reveal:nth-child(2){transition-delay:.1s}.cards .card.reveal:nth-child(3){transition-delay:.2s}.drawer:not([hidden]){animation:drawer-in .35s ease both}.form-state.success{animation:copy-in .35s ease both}
@media(max-width:1180px){.brand{min-width:0}.brand-logo{width:155px;height:auto}.branch-name{display:none}header{height:auto}nav.open{background:#fff;font-size:1rem;line-height:1.45}nav>a,nav summary{padding:.75rem}.menu-toggle{min-height:44px}footer .brand{grid-template-columns:minmax(0,220px) minmax(9.5rem,1fr)}footer .branch-name{display:block}}
@media(max-width:900px){.split,.donation{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card:first-child{grid-row:auto;min-height:300px}.donation-copy{padding:clamp(2rem,6vw,3.5rem)}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}.footer-bottom{grid-column:1/-1}}
@media(max-width:760px){header{padding:.9rem 1.25rem;gap:.75rem}.hero,.hero-home{padding-top:2.5rem;min-height:0}.hero-emblem-stage{width:min(82vw,340px);margin:0 auto 3.5rem}.hero:not(.hero-home) .hero-emblem-stage{width:180px;margin:0 0 2.25rem}.hero h1{font-size:clamp(3.25rem,15vw,5.3rem);line-height:.98;letter-spacing:-.045em}.hero:not(.hero-home) h1{font-size:clamp(2.75rem,12vw,4.25rem);line-height:1}.hero p{line-height:1.62}.hero:not(.hero-home){padding-top:2rem;padding-bottom:3.5rem}.page-content{padding-top:3.5rem;padding-bottom:5rem}.page-content h2{line-height:1.16}.prose p,.split>div>p{line-height:1.68}.cards{grid-template-columns:1fr;margin-top:3.5rem}.card:first-child{grid-row:auto;min-height:280px}.card{min-height:240px}.form-card{margin-top:3rem;padding:1.35rem;box-shadow:5px 5px 0 #dadada}.form-card h2{font-size:1.75rem}.form-card .button{width:100%;min-width:0}.donation{margin-left:-1.25rem;margin-right:-1.25rem}.donation::before{right:-180px;top:-250px}.donation-copy,.donation-form{padding:1.65rem 1.25rem}.amounts button,.segmented button{min-height:44px;padding:.65rem .45rem}.summary{gap:.75rem}.summary b{text-align:right}footer{grid-template-columns:1fr;padding:3rem 1.25rem;gap:2.5rem}footer .brand{width:100%;grid-template-columns:minmax(0,1fr);padding:.75rem}footer .brand-logo{width:min(100%,190px);max-width:190px}footer .branch-name{display:none}}
@media(max-width:420px){header{padding-inline:1rem}.hero,.page-content{padding-inline:1rem}.donation{margin-left:-1rem;margin-right:-1rem}.amounts{grid-template-columns:1fr 1fr}footer{padding-inline:1rem}.button,.header-action{box-shadow:0 4px 0 #97000b,0 8px 16px rgba(1,30,65,.12)}}
@media(prefers-reduced-motion:reduce){.drawer:not([hidden]),.form-state.success{animation:none!important}.reveal,.reveal.is-visible{opacity:1;transform:none;transition:none}.button::before,.card::before,header nav>a::after,header nav summary::after{transition:none}}

/* Design audit v10: calm editorial system */
:root{--radius-control:10px;--radius-card:18px;--radius-panel:24px;--shadow-soft:0 12px 34px rgba(1,30,65,.08);--shadow-hover:0 18px 42px rgba(1,30,65,.13)}
header{height:92px;background:rgba(255,255,255,.98);box-shadow:0 1px 0 rgba(50,50,50,.08);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px)}
header nav{font-size:.84rem;gap:clamp(.75rem,1.15vw,1.05rem)}
header nav>a,header nav summary{padding:.7rem 0}
nav details>div{top:2.6rem;border:1px solid #e2e2e2;border-radius:14px;box-shadow:var(--shadow-soft);padding:.45rem;overflow:hidden}
nav details a{border-radius:9px;padding:.65rem .75rem}
.header-action,.button{min-height:46px;padding:.78rem 1.25rem;border:1px solid var(--red);border-radius:999px;background:var(--red);color:#fff;box-shadow:none;line-height:1.2;letter-spacing:.005em;overflow:hidden;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.button::before,.button::after,.header-action::after{display:none}
.header-action:hover,.button:hover{background:#bd0010;border-color:#bd0010;color:#fff;transform:translateY(-1px);box-shadow:0 7px 18px rgba(225,8,26,.18)}
.header-action:active,.button:active{transform:translateY(0);box-shadow:none}
.button.secondary{background:#fff;color:var(--ink);border-color:#b9b9b9;box-shadow:none}
.button.secondary:hover{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 7px 18px rgba(1,30,65,.14)}
.button.secondary:active{box-shadow:none}
.hero{min-height:560px;gap:clamp(2.5rem,6vw,6rem);padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem);border-bottom:0}
.hero-home{min-height:650px}
.hero:not(.hero-home){min-height:390px;padding-top:3rem;padding-bottom:3rem}
.hero h1{font-size:clamp(3.5rem,6.5vw,7rem);line-height:.95;letter-spacing:-.045em;margin:.65rem 0 1.35rem}
.hero:not(.hero-home) h1{font-size:clamp(3rem,4.8vw,5rem);line-height:1}
.hero p{font-size:clamp(1.05rem,1.45vw,1.25rem);line-height:1.62;max-width:43rem}
.hero-emblem-stage{border-radius:var(--radius-panel)}
.hero-emblem-stage::before{border-radius:999px;width:48%;height:14%;left:-5%;top:10%}
.hero-emblem-stage::after{border-radius:999px;width:14%;height:54%;right:1%;bottom:-5%}
.hero-emblem-stage .signal{border-radius:18px;border-width:1px}
.kicker{font-size:.78rem;letter-spacing:.12em}
.page-content{padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(5rem,7vw,7rem)}
.page-content h2{font-size:clamp(2rem,3.1vw,3rem);letter-spacing:-.035em}
.prose{max-width:46rem}
.prose p,.split>div>p{font-size:1.05rem;line-height:1.72}
.note{border:1px solid #e5e2df;border-left:5px solid var(--red);border-radius:var(--radius-card);padding:1.6rem;background:#faf9f7}
.cards{gap:1rem;margin-top:4rem}
.card,.card:first-child{border-radius:var(--radius-card);min-height:260px}
.card:first-child{min-height:380px}
.card{border-color:#e1e1e1;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease}
.card::before{display:none}
.card:hover{background:#fff;color:var(--ink);border-color:#c9c9c9;transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.card:hover p{color:var(--muted)}
.card:first-child:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.card:first-child:hover p{color:#fff}
.form-card{width:min(100%,40rem);max-width:40rem;margin-top:4rem;padding:clamp(1.35rem,3vw,2.1rem);border:1px solid #ddd;border-top:4px solid var(--red);border-radius:var(--radius-card);background:#fafafa;box-shadow:none}
.form-card h2{font-size:clamp(1.75rem,2.6vw,2.35rem);margin-bottom:1rem}
form{gap:1rem}
label{gap:.42rem;font-size:.94rem}
input,textarea,select{min-height:44px;padding:.7rem .85rem;border:1px solid #aaa;border-radius:var(--radius-control);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}
textarea{min-height:6.5rem}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,8,26,.13)}
.check input{border-radius:5px}
.form-card .button{min-width:0;padding-inline:1.35rem}
.donation{margin-top:5rem;border-radius:var(--radius-panel);background:var(--navy);box-shadow:var(--shadow-soft)}
.donation::before{opacity:.72}
.donation-copy{padding:clamp(2.2rem,5vw,4.5rem)}
.donation-copy h2{font-size:clamp(2.3rem,4.4vw,4.4rem);line-height:1}
.donation-form{margin:1rem;border-radius:18px;padding:clamp(1.35rem,2.8vw,2.1rem);box-shadow:0 10px 32px rgba(0,0,0,.14)}
.segmented,.amounts{gap:.55rem}
.segmented button,.amounts button{min-height:44px;padding:.68rem .55rem;border:1px solid #d0d0d0;border-radius:var(--radius-control);background:#fff;box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.segmented button:hover,.amounts button:hover{transform:none;border-color:#8d8d8d;box-shadow:none;background:#f6f6f6}
.segmented button:active,.amounts button:active{transform:scale(.98)}
.segmented button.active,.amounts button.active{border-color:var(--red);background:var(--red);color:#fff;box-shadow:none}
.mini-links{gap:.65rem}
.mini-links button{min-height:42px;padding:.65rem .9rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;box-shadow:none}
.mini-links button:hover{transform:none;background:#fff;color:var(--navy);border-color:#fff;box-shadow:none}
.goal progress{height:10px;border-radius:999px;overflow:hidden}
.empty{border:1px solid #ddd;border-left:5px solid var(--red);border-radius:var(--radius-card);background:#fafafa}
.faq details{padding:1.2rem 0}
.faq summary{border-radius:8px}
.drawer{border:1px solid #ddd;border-top:5px solid var(--red);border-radius:var(--radius-card);box-shadow:0 24px 70px rgba(1,30,65,.2)}
footer{background:#292929}
footer .brand{border-radius:var(--radius-card);box-shadow:none}
.footer-bottom{font-size:.8rem}
@media(max-width:900px){.hero{min-height:0}.donation{border-radius:20px}.donation-form{margin:0 1rem 1rem}.card:first-child{min-height:300px}}
@media(max-width:760px){header{min-height:72px}.hero,.hero-home{padding-top:2.25rem}.hero-emblem-stage{border-radius:18px}.hero h1{font-size:clamp(3rem,14vw,4.8rem)}.hero:not(.hero-home) h1{font-size:clamp(2.65rem,11vw,3.9rem)}.page-content{padding-top:3.25rem}.card,.card:first-child{border-radius:15px;min-height:0}.form-card{margin-top:2.75rem;padding:1.25rem;border-radius:15px}.form-card .button{width:auto;min-width:0}.donation{margin-left:0;margin-right:0;border-radius:18px}.donation-copy,.donation-form{padding:1.5rem 1.15rem}.donation-form{margin:0 .75rem .75rem;border-radius:14px}.amounts{gap:.45rem}footer .brand{border-radius:12px}}
@media(max-width:420px){.hero,.page-content{padding-inline:1rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.form-card .button{width:100%}.donation{margin-left:0;margin-right:0}.donation-copy,.donation-form{padding:1.35rem 1rem}.donation-form{margin:0 .55rem .55rem}.segmented button,.amounts button{font-size:.9rem}.mini-links{display:grid}.mini-links button{width:100%}}
@media(prefers-reduced-motion:reduce){.button,.header-action,.card,.segmented button,.amounts button,input,textarea,select{transition:none}.button:hover,.header-action:hover,.card:hover{transform:none}}

/* Hero mark refinement v11 */
.hero-emblem-stage .signal-a{inset:6% 8% 8% 5%;border:1px solid var(--red);border-radius:4px}
.hero-emblem-stage .signal-b{display:none}
.hero-emblem-stage::before{width:44%;height:12%;left:-3%;top:15%;border-radius:999px}
.hero-emblem-stage::after{width:12%;height:48%;right:2%;bottom:-3%;border-radius:999px}
@media(max-width:760px){.hero-emblem-stage .signal-a{inset:5% 7% 8% 4%;border-radius:3px}.hero-emblem-stage::before{left:-2%;top:14%}.hero-emblem-stage::after{right:2%;bottom:-2%}}

/* Separate the navy capsule from the red frame */
.hero-emblem-stage::after{width:9%;height:46%;right:-4%;bottom:-4%}
@media(max-width:760px){.hero-emblem-stage::after{width:9%;right:-4%;bottom:-3%}}

/* The logo asset has an opaque rectangular canvas; remove the capsule behind it. */
.hero-emblem-stage::after{display:none}

/* Local branch lockup v14 */
.hero-emblem-stage::before{display:none}
.hero-emblem-stage .signal-a{z-index:1}
.hero-emblem-stage .signal-a::before,.hero-emblem-stage .signal-a::after{content:"";position:absolute;display:block;background:var(--red);border-radius:999px}
.hero-emblem-stage .signal-a::before{width:3.6rem;height:.45rem;right:1.25rem;top:-.25rem}
.hero-emblem-stage .signal-a::after{width:.45rem;height:3.6rem;left:-.25rem;bottom:1.25rem}
.hero-emblem-stage .signal-b{display:block;z-index:3;left:auto;right:10%;top:auto;bottom:8%;width:max-content;max-width:54%;height:auto;border:0;border-left:3px solid var(--red);border-radius:0;background:#fff;padding:.2rem 0 .2rem .65rem;color:var(--ink);font-size:clamp(.55rem,.75vw,.72rem);font-weight:700;line-height:1.35;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:pre-line}
.hero-emblem-stage .signal-b::before{content:"Зеленоградское\Aместное отделение"}
.hero-emblem-stage img{width:88%;transform:translateY(-5%)}
@media(max-width:760px){.hero-emblem-stage .signal-a::before{width:2.4rem;height:.35rem;right:.8rem;top:-.2rem}.hero-emblem-stage .signal-a::after{width:.35rem;height:2.4rem;left:-.2rem;bottom:.8rem}.hero-emblem-stage .signal-b{right:8%;bottom:7%;max-width:58%;border-left-width:2px;padding-left:.45rem;font-size:.5rem;letter-spacing:.055em}.hero-emblem-stage img{width:88%;transform:translateY(-7%)}}

/* Motion system v15: expressive, short and performance-first. */
@keyframes stage-in{from{opacity:0;transform:perspective(900px) translateY(22px) scale(.965) rotateX(2deg)}to{opacity:1;transform:perspective(900px) translateY(0) scale(1) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}}
@keyframes logo-wipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes frame-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes branch-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
@keyframes hero-line-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes accent-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes accent-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes control-pop{0%{transform:scale(1)}45%{transform:scale(.95)}100%{transform:scale(1)}}
@keyframes faq-open{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

.motion-ready .hero-emblem-stage{animation:stage-in .72s cubic-bezier(.2,.75,.25,1) both;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .28s ease-out}
.motion-ready .hero-emblem-stage img{animation:logo-wipe .72s .18s cubic-bezier(.2,.75,.25,1) both}
.motion-ready .hero-emblem-stage .signal-a{animation:frame-in .55s .1s ease-out both}
.motion-ready .hero-emblem-stage .signal-b{animation:branch-in .55s .58s ease-out both}
.motion-ready .hero-emblem-stage .signal-a::before{transform-origin:right center;animation:accent-x .48s .72s cubic-bezier(.2,.75,.25,1) both}
.motion-ready .hero-emblem-stage .signal-a::after{transform-origin:center bottom;animation:accent-y .48s .8s cubic-bezier(.2,.75,.25,1) both}
.motion-ready .hero-copy>.kicker,.motion-ready .hero-copy>h1,.motion-ready .hero-copy>p,.motion-ready .hero-copy>.hero-actions{animation:hero-line-in .62s cubic-bezier(.2,.75,.25,1) both}
.motion-ready .hero-copy>.kicker{animation-delay:.08s}.motion-ready .hero-copy>h1{animation-delay:.16s}.motion-ready .hero-copy>p{animation-delay:.25s}.motion-ready .hero-copy>.hero-actions{animation-delay:.34s}

.page-content h2::after{content:"";display:block;width:3.25rem;height:3px;margin-top:.65rem;background:var(--red);transform:scaleX(0);transform-origin:left center;transition:transform .55s .12s cubic-bezier(.2,.75,.25,1)}
.reveal.is-visible h2::after,h2.reveal.is-visible::after{transform:scaleX(1)}
.card>span{display:inline-block;transition:transform .28s ease}.card:hover>span{transform:translateX(.4rem)}
.card h3{transition:transform .32s ease}.card:hover h3{transform:translateY(-.2rem)}
.faq details[open] p{animation:faq-open .32s ease-out both}
.control-pop{animation:control-pop .38s ease-out}
nav.open{animation:nav-open .24s ease-out both}
input:focus,textarea:focus,select:focus{transform:translateY(-2px);box-shadow:0 8px 22px rgba(23,23,23,.08)}
.drawer:not([hidden]) [data-panel-content]>*{animation:hero-line-in .38s ease-out both}
.drawer:not([hidden]) [data-panel-content]>*:nth-child(2){animation-delay:.04s}.drawer:not([hidden]) [data-panel-content]>*:nth-child(3){animation-delay:.08s}.drawer:not([hidden]) [data-panel-content]>*:nth-child(4){animation-delay:.12s}

@media(max-width:760px){.hero-home .hero-emblem-stage{width:min(calc(100vw - 2rem),340px);margin-left:0;margin-right:auto}.motion-ready .hero-emblem-stage{animation-duration:.58s}.motion-ready .hero-copy>h1{animation-delay:.1s}.motion-ready .hero-copy>p{animation-delay:.17s}.motion-ready .hero-copy>.hero-actions{animation-delay:.24s}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-emblem-stage,.motion-ready .hero-emblem-stage img,.motion-ready .hero-emblem-stage .signal-a,.motion-ready .hero-emblem-stage .signal-b,.motion-ready .hero-emblem-stage .signal-a::before,.motion-ready .hero-emblem-stage .signal-a::after,.motion-ready .hero-copy>*,.faq details[open] p,.control-pop,nav.open,.drawer:not([hidden]) [data-panel-content]>*{animation:none!important}.motion-ready .hero-emblem-stage{transform:none;transition:none}.page-content h2::after{transform:scaleX(1);transition:none}.card>span,.card h3,input,textarea,select{transition:none}.card:hover>span,.card:hover h3,input:focus,textarea:focus,select:focus{transform:none}}

/* Approved illustration 01: home. */
.section-illustration{position:relative;width:min(100%,360px);margin:0;justify-self:center;align-self:center;overflow:hidden;border:1px solid #d8e7ec;border-radius:28px;background:#fff;box-shadow:0 22px 55px rgba(1,30,65,.13)}
.section-illustration::after{content:"";position:absolute;inset:0;border:7px solid rgba(255,255,255,.52);border-radius:inherit;pointer-events:none}
.section-illustration img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;object-position:center bottom}
.motion-ready .section-illustration{animation:stage-in .72s cubic-bezier(.2,.75,.25,1) both}
.motion-ready .section-illustration img{animation:logo-wipe .7s .12s cubic-bezier(.2,.75,.25,1) both}
@media(max-width:760px){.section-illustration{width:min(78vw,300px);margin:0 auto 2.25rem;border-radius:22px}.motion-ready .section-illustration{animation-duration:.58s}}
@media(prefers-reduced-motion:reduce){.motion-ready .section-illustration,.motion-ready .section-illustration img{animation:none!important}}

/* Approved classic header and footer from the original visual direction. */
header{isolation:isolate;overflow:visible;background:linear-gradient(180deg,#f7fcff 0%,#fff 72%);border:1px solid #d9edf5;border-top:0;border-radius:0 0 30px 30px;box-shadow:0 8px 24px rgba(1,30,65,.06)}
header>*{position:relative;z-index:2}
header::after{content:"";position:absolute;z-index:0;right:0;bottom:0;width:260px;height:44px;border-radius:100% 0 28px 0;background:radial-gradient(ellipse at 35% 100%,#b8dd96 0 42%,transparent 43%),radial-gradient(ellipse at 70% 100%,#8fc876 0 48%,transparent 49%);pointer-events:none;opacity:.82}
header nav>a,header nav summary{color:#27313b}
header nav>a[aria-current="page"]{color:var(--red)}

footer{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff9f9 100%);color:var(--ink);border-top:1px solid #f1dfe1}
footer::before{content:"";position:absolute;z-index:0;left:0;right:0;bottom:38px;height:3px;background:var(--red);opacity:.72}
footer::after{content:"";position:absolute;z-index:0;right:2%;bottom:40px;width:310px;height:92px;background:radial-gradient(circle at 12% 100%,#f6a0a6 0 24%,transparent 25%),radial-gradient(circle at 32% 100%,#ee7f88 0 30%,transparent 31%),radial-gradient(circle at 55% 100%,#f6a0a6 0 25%,transparent 26%),linear-gradient(90deg,transparent 0 66%,#ed6d77 66% 72%,transparent 72% 78%,#e95460 78% 88%,transparent 88%);opacity:.72;pointer-events:none}
footer>div{position:relative;z-index:1}
footer p,footer span{color:#5e6670}
footer a:hover{color:var(--red)}
footer .brand{background:transparent;border:0;box-shadow:none}
.footer-bottom{border-top-color:#efc4c8;color:#4f5962}
@media(max-width:760px){header{border-radius:0 0 22px 22px}header::after{width:150px;height:30px;opacity:.55}footer::after{width:190px;height:62px;opacity:.5}footer::before{bottom:28px}}

/* Mobile navigation control v16 */
@media(max-width:1180px){
  .menu-toggle{
    position:relative;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    min-height:48px;
    margin-left:auto;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(23,23,23,.14);
    border-radius:16px;
    background-color:rgba(255,255,255,.94);
    background-image:linear-gradient(currentColor,currentColor);
    background-repeat:no-repeat;
    background-position:center;
    background-size:20px 2px;
    color:var(--deep);
    font-size:0;
    line-height:0;
    box-shadow:0 7px 18px rgba(1,30,65,.09),inset 0 1px 0 rgba(255,255,255,.92);
    cursor:pointer;
    transition:color .2s ease,border-color .2s ease,background-color .2s ease,background-size .2s ease,box-shadow .2s ease,transform .2s ease;
  }
  .menu-toggle::before,.menu-toggle::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:20px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform-origin:center;
    transition:transform .28s cubic-bezier(.2,.75,.25,1),background-color .2s ease;
  }
  .menu-toggle::before{transform:translate(-50%,-8px)}
  .menu-toggle::after{transform:translate(-50%,6px)}
  .menu-toggle:hover{
    color:var(--red);
    border-color:rgba(225,8,26,.34);
    background-color:#fff;
    box-shadow:0 9px 24px rgba(1,30,65,.12),0 0 0 3px rgba(225,8,26,.07);
    transform:translateY(-1px);
  }
  .menu-toggle:active{transform:translateY(1px) scale(.97);box-shadow:0 3px 10px rgba(1,30,65,.1)}
  .menu-toggle:focus-visible{outline:3px solid rgba(225,8,26,.28);outline-offset:3px}
  .menu-toggle[aria-expanded="true"]{
    color:#fff;
    border-color:var(--red);
    background-color:var(--red);
    background-size:0 2px;
    box-shadow:0 9px 24px rgba(225,8,26,.22),inset 0 1px 0 rgba(255,255,255,.24);
  }
  .menu-toggle[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
  .menu-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
}
@media(max-width:420px){.menu-toggle{width:46px;height:46px;min-height:46px;border-radius:15px}}
@media(prefers-reduced-motion:reduce){.menu-toggle,.menu-toggle::before,.menu-toggle::after{transition:none!important}}

/* Approved illustrated site chrome v22: shared desktop, tablet and mobile. */
.site-header{position:absolute;inset:0 0 auto;z-index:20;display:block;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.site-header::after{display:none}
.header-bar{position:relative;z-index:3;width:min(calc(100% - 32px),1980px);min-height:128px;margin:22px auto 0;padding:12px 18px;display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.62);border-radius:38px;background:rgba(255,255,255,.5);box-shadow:0 16px 44px rgba(1,30,65,.12);-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}
.header-bar .brand{flex:0 0 300px;min-width:300px;gap:14px}
.header-bar .brand-logo{width:184px;height:66px}
.header-bar .branch-name{max-width:105px;font-size:10px}
.branch-name>span{display:block;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.primary-nav{display:grid;grid-template-columns:repeat(10,minmax(64px,1fr));align-items:stretch;gap:2px;flex:1;min-width:0;margin:0;font-size:10px;font-weight:700;line-height:1.16}
.primary-nav>a{min-height:92px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:20px;color:#222;text-align:center;white-space:normal;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.primary-nav>a::after{display:none}
.primary-nav>a:hover,.primary-nav>a[aria-current="page"]{color:var(--red);background:#fff0f1;transform:translateY(-2px)}
.nav-icon{width:29px;height:29px;flex:0 0 29px;color:var(--red)}
.primary-nav details{display:none}
.header-tools{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.header-search{width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:50%;background:#f5f6f7;color:#1d2731;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.header-search svg{width:25px;height:25px}
.header-search:hover{background:#fff0f1;color:var(--red);transform:translateY(-2px)}
.header-bar .header-action{min-height:56px;padding:0 24px;display:inline-flex;align-items:center;gap:10px;border-radius:999px;white-space:nowrap;font-size:.96rem}
.header-bar .header-action span{font-size:1.45rem;line-height:1}
.header-scene{position:relative;z-index:1;width:100%;height:calc(clamp(360px,33.333vw,720px) + clamp(100px,7.8vw,150px));margin:0;overflow:hidden;background-color:#c9f1ff;background-image:image-set(url('/illustrations/header-city-v2.webp') 1x,url('/illustrations/header-city-v2-2x.webp') 2x);background-repeat:no-repeat;background-position:center calc(clamp(100px,7.8vw,150px) + var(--scroll-progress,0)*12px);background-size:100% auto;border-bottom:1px solid rgba(1,30,65,.08)}
.site-search-dialog{width:min(620px,calc(100vw - 28px));max-height:min(760px,calc(100vh - 28px));padding:clamp(22px,4vw,40px);border:0;border-radius:24px;box-shadow:0 30px 90px rgba(1,30,65,.28);color:var(--ink)}
.site-search-dialog::backdrop{background:rgba(1,30,65,.45);backdrop-filter:blur(4px)}
.site-search-dialog h2{margin:0 44px 18px 0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.08}
.site-search-dialog label{font-size:.9rem}
.site-search-close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:0;border-radius:50%;background:#f1f2f3;font-size:1.8rem;line-height:1;cursor:pointer}
.site-search-results{margin-top:16px;display:grid;gap:7px}
.site-search-results a{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #e1e3e5;border-radius:12px;text-decoration:none;font-weight:700}
.site-search-results a:hover{border-color:var(--red);color:var(--red);background:#fff7f7}
.site-search-results p{color:var(--muted)}

.site-footer{position:relative;isolation:isolate;overflow:hidden;display:block;padding:64px max(24px,calc((100vw - 1680px)/2)) 210px;background-color:#fff;background-image:image-set(url('/illustrations/footer-city-v2.webp') 1x,url('/illustrations/footer-city-v2-2x.webp') 2x);background-repeat:no-repeat;background-position:center bottom;background-size:cover;color:var(--ink);border-top:1px solid #e8ecef}
@media(max-width:760px){.header-scene{background-image:url('/illustrations/header-city-v2-mobile.webp')}.site-footer{background-image:url('/illustrations/footer-city-v2-mobile.webp')}}
.site-footer::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 48%,rgba(255,255,255,.66) 76%,rgba(255,255,255,.08) 100%);pointer-events:none}
.site-footer::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:74px;height:3px;background:linear-gradient(90deg,transparent 0 4%,var(--red) 4% 45%,transparent 45% 55%,var(--red) 55% 92%,transparent 92%);opacity:.85;pointer-events:none}
.footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,1.55fr) repeat(6,minmax(110px,.78fr));gap:clamp(18px,2vw,34px);align-items:start}
.footer-grid>div{display:grid;align-content:start;gap:8px}
.footer-grid b{margin-bottom:8px;color:#171717;font-size:1rem}
.footer-grid a{color:#314052;text-decoration:none;line-height:1.38}
.footer-grid a:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.footer-brand .brand{width:100%;min-width:0;margin:0 0 10px;padding:0;display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;column-gap:14px}
.footer-brand .brand-logo{width:160px;height:auto;min-width:0}
.footer-brand .branch-name{min-width:0;max-width:none;padding-left:12px;font-size:.62rem;line-height:1.38}
.footer-brand p{max-width:260px;margin:0;color:#536170;line-height:1.5}
.social-links{display:flex!important;grid-auto-flow:column;justify-content:start;gap:10px!important;margin-top:12px}
.social-links a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#ffe9eb;color:var(--red);font-size:.82rem;font-weight:900;text-decoration:none!important;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.social-links .email-link{display:grid;width:44px;max-width:none}
.social-links .email-link::before{display:none}
.social-links a:hover{background:var(--red);color:#fff;transform:translateY(-3px)}
.footer-contact{grid-column:1/4!important;grid-row:2;align-self:start;justify-self:start;width:min(760px,100%);max-width:100%;min-width:0;display:grid!important;grid-template-columns:minmax(300px,1.2fr) max-content minmax(210px,1fr);grid-template-areas:"title phone email" "address contacts account";gap:7px 16px!important;padding:12px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(1,30,65,.94);box-shadow:0 10px 24px rgba(1,30,65,.13);-webkit-backdrop-filter:none;backdrop-filter:none}
.footer-contact>b{grid-area:title;margin:0;color:rgba(255,255,255,.76)!important;font-size:.72rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.footer-contact a{min-width:0;color:#fff!important;font-size:.82rem;font-weight:600;line-height:1.35;overflow-wrap:normal}
.footer-contact a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
.footer-contact .footer-phone{grid-area:phone;font-size:.9rem;font-weight:700;white-space:nowrap}
.footer-contact .footer-email{grid-area:email;width:auto;max-width:100%;overflow-wrap:anywhere}
.footer-contact .footer-address{grid-area:address;max-width:none}
.footer-contact .footer-contacts-link{grid-area:contacts}
.footer-contact .footer-account{grid-area:account}
.footer-contact .footer-contacts-link,.footer-contact .footer-account{color:rgba(255,255,255,.84)!important;font-size:.78rem}
.site-footer .footer-bottom{position:absolute;z-index:1;left:max(24px,calc((100vw - 1680px)/2));right:max(24px,calc((100vw - 1680px)/2));bottom:20px;display:flex;justify-content:space-between;gap:24px;padding:12px 16px;border:1px solid rgba(225,8,26,.2);border-radius:12px;background:rgba(255,255,255,.82);color:#243240;font-size:.78rem;backdrop-filter:blur(6px)}
.site-footer .footer-bottom span{color:#374655}

@media(min-width:1200px) and (max-width:1499px){
  .header-bar{width:calc(100% - 24px);min-height:108px;margin-top:12px;padding:10px 12px;gap:8px;border-radius:28px}
  .header-bar .brand{flex:0 0 245px;min-width:245px;gap:8px}
  .header-bar .brand-logo{width:137px;height:54px}
  .header-bar .branch-name{max-width:96px;padding-left:8px;font-size:7px}
  .primary-nav{grid-template-columns:repeat(10,minmax(48px,1fr));font-size:8px;gap:0}
  .primary-nav>a{min-height:78px;padding:6px 2px;gap:5px;border-radius:16px}
  .nav-icon{width:24px;height:24px;flex-basis:24px}
  .header-tools{gap:7px}
  .header-search{width:46px;height:46px}
  .header-search svg{width:22px;height:22px}
  .header-bar .header-action{min-height:48px;padding:0 14px;gap:7px;font-size:.8rem}
  .header-bar .header-action span{font-size:1.15rem}
}
@media(max-width:1199px){
  .header-bar{min-height:92px;flex-wrap:wrap;border-radius:28px;padding:12px 16px}
  .header-bar .brand{flex:0 1 auto;min-width:270px}
  .header-bar .brand-logo{width:172px;height:58px}
  .menu-toggle{display:grid;order:2;margin-left:auto}
  .header-tools{order:1;margin-left:auto}
  .primary-nav{display:none;order:3;flex-basis:100%;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px 0 4px;border-top:1px solid #e6e8ea;font-size:.9rem}
  .primary-nav.open{display:grid}
  .primary-nav>a{min-height:58px;display:grid;grid-template-columns:34px 1fr;justify-items:start;text-align:left;padding:10px 14px;border:1px solid #e5e7e9;border-radius:14px}
  .nav-icon{width:27px;height:27px}
  .primary-nav details{display:block;grid-column:1/-1}
  .primary-nav summary{padding:12px 14px;border:1px solid #e5e7e9;border-radius:14px;list-style:none;color:#27313b}
  .primary-nav details>div{position:static;width:auto;margin-top:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;border:0;box-shadow:none;background:transparent}
  .primary-nav details a{padding:10px 14px;border:1px solid #e5e7e9;border-radius:12px;background:#fff}
  .header-scene{height:190px}
  .footer-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}
  .footer-brand{grid-column:span 2}
}
@media(max-width:760px){
  .site-header{position:absolute;inset:0 0 auto;background:transparent}
  .header-bar{width:calc(100% - 16px);margin-top:8px;min-height:72px;border-radius:20px;gap:6px;padding:8px 10px}
  .header-bar .brand{min-width:0;flex:1 1 176px;gap:7px}
  .header-bar .brand-logo{width:108px;height:44px}
  .header-bar .branch-name{display:block;max-width:72px;padding-left:7px;font-size:6px;line-height:1.25}
  .header-tools{gap:7px;margin-left:0}
  .header-search{width:42px;height:42px}
  .header-bar .header-action{display:none}
  .menu-toggle{order:2;margin-left:0}
  .primary-nav{grid-template-columns:1fr;font-size:.95rem}
  .primary-nav details>div{grid-template-columns:1fr}
  .header-scene{height:388px;margin:0;background-position:72% 88px;background-size:auto 300px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .footer-brand{grid-column:1/-1}
  .footer-contact{grid-column:1/-1!important;display:grid!important;gap:6px!important}
  .site-footer{padding:48px 20px 190px;background-position:60% bottom}
  .site-footer .footer-brand .brand{grid-template-columns:minmax(0,150px) minmax(104px,1fr);gap:10px;padding:0}
  .site-footer .footer-brand .branch-name{display:block;max-width:none;padding-left:10px;font-size:.63rem;line-height:1.4}
  .site-footer .footer-bottom{left:20px;right:20px;bottom:22px;display:grid;gap:8px}
}
@media(max-width:460px){
  .header-bar .brand-logo{width:104px}
  .header-search{width:40px;height:40px}
  .menu-toggle{width:42px;height:42px;min-height:42px}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
}
@media(max-width:360px){
  .header-bar{padding-inline:8px;gap:5px}
  .header-bar .brand{flex-basis:154px;gap:5px}
  .header-bar .brand-logo{width:90px}
  .header-bar .branch-name{max-width:62px;padding-left:5px;font-size:5.6px}
  .header-search,.menu-toggle{width:38px;height:38px;min-height:38px}
}
@media(prefers-reduced-motion:reduce){
  .header-scene{background-position:center clamp(100px,7.8vw,150px)}
  .primary-nav>a,.header-search,.social-links a{transition:none}
  .primary-nav>a:hover,.header-search:hover,.social-links a:hover{transform:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.header-scene{background-position:72% 88px}}

/* Production polish: keep the task and primary action in the first mobile view. */
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.donation-direct{grid-template-columns:1fr}
.donation-direct .donation-copy{max-width:900px}
.donation-benefits{display:grid;gap:.7rem;margin:2rem 0;padding-left:1.25rem;color:#e8edf1}
.donation-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.8rem 0 1rem}
.donation-actions .button.secondary{border-color:#fff;background:transparent;color:#fff}
.donation-actions .button.secondary:hover{background:#fff;color:var(--deep)}
.donation-direct small{color:#bfc8ce}
button:disabled{cursor:wait;opacity:.66}
.footer-grid{grid-template-columns:minmax(290px,1.35fr) minmax(170px,.85fr) minmax(150px,.75fr) minmax(240px,.9fr)}

@media(min-width:761px){
  .footer-brand{grid-column:1!important;grid-row:1}
  .footer-grid>div:nth-child(2){grid-column:2;grid-row:1}
  .footer-grid>div:nth-child(3){grid-column:3;grid-row:1}
}

@media(max-width:1199px){
  .footer-grid{grid-template-columns:minmax(260px,1.25fr) minmax(170px,.85fr) minmax(150px,.75fr)}
  .footer-brand{grid-column:auto}
  .footer-contact{grid-column:1/-1!important;grid-row:2;justify-self:start;width:min(760px,100%);max-width:100%}
}

@media(max-width:760px){
  .header-scene{height:224px;background-position:72% 70px;background-size:auto 176px}
  .hero,.hero-home{padding-top:1.5rem;padding-bottom:2.75rem}
  .hero-home .hero-emblem-stage{display:none}
  .hero:not(.hero-home){display:flex;flex-direction:column;padding-top:1.5rem}
  .hero:not(.hero-home) .hero-copy{order:-1;margin-bottom:1.75rem}
  .hero:not(.hero-home) .section-illustration{order:2;width:min(68vw,260px);margin:0 auto}
  .hero h1,.hero:not(.hero-home) h1{font-size:clamp(2.65rem,11vw,4rem);line-height:1}
  .hero-actions{margin-top:1.35rem}
  .donation-actions{display:grid}
  .donation-actions .button{width:100%}
  .site-footer{padding-top:38px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .footer-brand{grid-column:1/-1}
  .header-bar .brand-logo{width:112px}
  .header-bar .branch-name{max-width:78px;font-size:7px;line-height:1.28}
}

@media(max-width:360px){
  .header-bar .brand-logo{width:100px}
  .header-bar .branch-name{max-width:68px;font-size:6.3px}
}

@media(min-width:1200px){
  .primary-nav{grid-template-columns:repeat(8,minmax(66px,1fr))}
}

.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.publication-card{--publication-padding:clamp(1.25rem,2.5vw,2rem);display:grid;align-content:start;gap:.8rem;min-height:240px;padding:var(--publication-padding);border:1px solid #dfe4e7;border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 12px 34px rgba(1,30,65,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.publication-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:0 18px 42px rgba(1,30,65,.12)}
.publication-card span{color:var(--red);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.publication-card h2{margin:0;font-size:clamp(1.35rem,2vw,2rem);line-height:1.12}
.publication-card p{margin:0;color:var(--muted);line-height:1.55}
.publication-card b{margin-top:auto;color:var(--red)}
.publication-card>img{width:auto;height:170px;margin:calc(0px - var(--publication-padding)) calc(0px - var(--publication-padding)) .45rem;object-fit:cover;border-radius:17px 17px 0 0}
.managed-content{max-width:860px}
.managed-image{width:min(100%,1100px);margin:0 auto clamp(2rem,5vw,4rem);overflow:hidden;border-radius:24px;background:#eef3f5;box-shadow:0 18px 50px rgba(1,30,65,.12)}
.managed-image img{display:block;width:100%;max-height:680px;object-fit:cover}
@media(max-width:900px){.publication-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.publication-grid{grid-template-columns:1fr}.publication-card{min-height:0}}

/* Final composition pass: the message and primary actions share the first
   desktop screen with the city illustration instead of starting below it. */
@media(min-width:901px){
  .header-scene{height:clamp(500px,45vw,640px);background-position:center clamp(92px,7.8vw,126px)}
  .hero-home{position:relative;z-index:2;display:block;min-height:0;margin-top:-350px;padding:0 max(32px,calc((100vw - 1680px)/2)) 42px;color:#fff}
  .hero-home .hero-emblem-stage{display:none}
  .hero-home .hero-copy{width:min(680px,58vw);padding:30px 34px 32px;border:1px solid rgba(255,255,255,.32);border-radius:24px;background:rgba(1,30,65,.82);box-shadow:0 22px 60px rgba(1,30,65,.24);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .hero-home .kicker{color:#fff}
  .hero-home h1{font-size:clamp(3.25rem,5.6vw,6.5rem);margin:.55rem 0 1rem;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.18)}
  .hero-home p{max-width:620px;margin-bottom:1.35rem;color:#f2f7fa}
  .hero-home .button.secondary{border-color:#fff;background:transparent;color:#fff}
  .hero-home .button.secondary:hover{background:#fff;color:var(--deep)}
  .page-content{padding-top:clamp(3.75rem,5vw,5.25rem)}
}

/* Tighter rhythm and a calmer footer. */
.page-content>.prose:first-child,.page-content>.split:first-child{margin-top:0}
.page-content>section+section{margin-top:clamp(2.75rem,5vw,4.5rem)}
.site-footer{padding-top:50px;padding-bottom:170px}
.footer-grid{gap:clamp(20px,2.2vw,34px)}
.footer-grid>div:not(.footer-brand):not(.footer-contact) a{font-size:.92rem}
.breadcrumbs{display:flex;align-items:center;gap:.55rem;margin:0 0 1rem;color:#5d6875;font-size:.86rem;line-height:1.4}
.breadcrumbs a{color:var(--deep);text-decoration-thickness:1px;text-underline-offset:.22em}
.breadcrumbs span[aria-current="page"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:900px) and (min-width:761px){
  .header-scene{height:230px;background-position:center 92px;background-size:auto 230px}
  .hero,.hero-home{padding-top:2.75rem;padding-bottom:3.5rem}
  .hero-home{grid-template-columns:1fr}
  .hero-home .hero-emblem-stage{display:none}
}

@media(max-width:760px){
  .page-content{padding-top:2.75rem;padding-bottom:4rem}
  .page-content>section+section{margin-top:2.5rem}
  .site-footer{padding-top:34px;padding-bottom:10.25rem}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
  .footer-brand{grid-column:1/-1}
  .footer-contact{grid-column:1/-1!important;grid-row:auto;justify-self:stretch;width:100%;max-width:100%;padding:12px 14px!important}
}

@media(max-width:800px){
  .footer-contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title title" "phone email" "address address" "contacts account";gap:8px 14px!important}
  .footer-contact .footer-phone{white-space:normal}
}

@media(min-width:461px) and (max-width:760px){
  .footer-contact{justify-self:start;width:min(100%,38rem)}
}

@media(max-width:360px){
  .footer-grid{grid-template-columns:1fr}
  .footer-brand,.footer-contact{grid-column:1!important}
  .footer-contact{grid-template-columns:1fr;grid-template-areas:"title" "phone" "email" "address" "contacts" "account"}
  .site-footer{padding-bottom:13.125rem}
}
