/* Shared refinements for the home, program and privacy pages. */
:root{--line:#173f3821;--muted:#49685f;--radius:18px}
html{scroll-padding-top:115px}
body{-webkit-font-smoothing:antialiased}
header{position:sticky;top:0;z-index:4;background:#faf8eff5;backdrop-filter:blur(12px);padding-block:20px}
header .brand{flex-shrink:0}
nav a{padding-block:8px;color:var(--muted)}
nav a:hover{color:var(--ink);text-decoration:underline}
nav button{min-height:40px;font-size:13px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a47525;outline-offset:4px}
main>section{padding-block:88px}
.hero{gap:64px;padding-block:72px 82px}
.hero h1{font-size:clamp(46px,5vw,68px);line-height:1.08;letter-spacing:-1.8px}
.lead{line-height:1.75}
.hero .lead{color:var(--muted);margin-bottom:0}
.eyebrow{letter-spacing:1.8px;margin-bottom:22px}
.actions{gap:22px}
.actions>a:not(.button){font-size:14px;font-weight:600}
.button{min-height:48px;padding:13px 23px;line-height:1.5;transition:background .15s ease}
.button:hover{background:#2c5b4e}
.button.light:hover{background:#fff}
.art-note{left:50%;transform:translateX(-50%);white-space:nowrap}
.ribbon{gap:clamp(22px,5vw,70px);font-size:21px;padding-block:22px}
.section-intro>p:last-child{color:var(--muted);line-height:1.8}
.program-grid{gap:24px;margin-top:38px;align-items:stretch}
.program{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#edf1e9}
.program:nth-child(2){background:#f5eee0}
.program:nth-child(3){background:#eaf0ed}
.program-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.program .number{font-size:30px;margin:0;color:#56766b}
.program-icon{width:46px;height:46px;stroke:var(--ink);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.program .eyebrow{font-size:10px;line-height:1.6;min-height:32px;margin-bottom:14px}
.program h3{font-size:29px;line-height:1.2;margin-bottom:20px}
.program>p:not(.eyebrow){color:var(--muted);line-height:1.8;margin-bottom:28px}
.program>a{margin-top:auto;font-weight:600;align-self:flex-start;min-height:38px;display:flex;align-items:center}
.story{gap:64px}
.story p:not(.eyebrow):not(.signature){color:var(--muted)}
.story .signature{padding-top:22px;border-top:1px solid var(--line)}
.involve-grid{gap:24px;margin-top:36px}
.involve-grid article{border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start;padding:36px}
.involve-grid h3{line-height:1.2}
.involve-grid p{margin-bottom:28px;line-height:1.8}
.involve-grid .button{margin-top:auto}
.updates{border-radius:var(--radius)}
.notes{gap:32px}
.notes h3{line-height:1.2;font-size:25px}
.notes p{color:var(--muted);margin-bottom:0}
.contact{gap:64px;align-items:start}
.contact>div>p:last-child{color:var(--muted);max-width:430px}
.contact form{padding:32px;background:#fffdf7;border:1px solid var(--line);border-radius:var(--radius);gap:9px}
.contact label:not(:first-child){margin-top:9px}
.contact input,.contact select,.contact textarea{background:#fffefa;border-radius:8px;padding:12px 13px;min-height:46px;font-size:15px}
.contact textarea{min-height:130px}
.contact form .button{width:100%;text-align:center;margin-top:12px}
.contact .fine{margin:6px 0 0;font-size:12px;overflow-wrap:anywhere}
footer{padding-top:36px;padding-bottom:96px}
footer>.brand{font-size:20px}
footer>p{margin-top:12px}
footer>div{flex-wrap:wrap;gap:12px 26px}
footer>.fine{max-width:710px}
.detail{max-width:950px;padding-top:65px}
.detail .lead{color:var(--muted)}
.detail>h1{overflow-wrap:anywhere}
.detail .notice{border-radius:var(--radius);border:1px solid var(--line)}
.detail .notice p:last-child{margin-bottom:0}
#chat-launch{min-height:48px;padding:13px 21px}
#chat:not([hidden]){display:flex;flex-direction:column;max-height:min(680px,calc(100dvh - 110px));overflow:hidden}
.chat-head,.chat-label,.chat-options,#chat-form{flex-shrink:0}
.chat-head{padding:14px 18px}
.chat-head button{min-width:40px;min-height:40px}
#chat-log{flex:1;min-height:80px;max-height:320px;overscroll-behavior:contain}
#chat-form input{min-width:0}
#chat-form button{min-width:58px}
[hidden]{display:none!important}
@media(max-width:1000px) and (min-width:801px){.hero{gap:34px}.program{padding:24px}.program h3{font-size:25px}.ribbon{font-size:19px}.contact{gap:36px}}
@media(max-width:800px){
 html{scroll-padding-top:150px}
 header{padding:14px 24px;flex-wrap:wrap;gap:12px}
 header>.brand{font-size:20px}
 header>.brand svg{width:39px}
 header nav{width:100%;gap:12px;justify-content:space-between}
 header nav a{display:block;font-size:12px;padding:4px 0;white-space:nowrap}
 header nav button{padding:5px 11px;font-size:12px;min-height:36px;flex-shrink:0}
 main>section{padding:58px 24px}
 .hero{padding-top:42px;gap:34px}
 .hero h1{font-size:clamp(40px,9vw,58px);letter-spacing:-1px}
 .hero .lead{font-size:17px}
 .hero .art-wrap{width:100%;max-width:420px;margin-inline:auto}
 .art-note{font-size:17px;padding:9px 18px}
 .ribbon{flex-wrap:wrap;gap:10px 15px;font-size:15px;padding:18px 16px}
 .program-grid{margin-top:28px;gap:18px}
 .program{padding:26px}
 .program .eyebrow{min-height:0}
 .program h3{max-width:420px;font-size:29px}
 .program-top{margin-bottom:22px}
 .story,.contact{gap:28px}
 .involve-grid article{padding:28px}
 .notes{gap:28px}
 .notes span{margin-bottom:16px}
 .contact form{padding:24px}
 .contact{padding-bottom:80px}
 footer{padding:32px 24px 92px}
 footer>.brand{font-size:18px}
 #chat-launch{right:14px;bottom:14px;font-size:13px;min-height:44px}
 #chat:not([hidden]){right:12px;bottom:72px;width:calc(100% - 24px);max-height:calc(100dvh - 88px)}
}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail li{padding:8px 0}.detail ul{padding-left:22px}@media(max-width:800px){.program-grid{grid-template-columns:1fr}}

/* Featured community program, immediately after the welcome section. */
.women-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center;padding:72px 40px;border-bottom:1px solid var(--line,#d5dfd6);scroll-margin-top:110px}
.women-feature h2{font-size:clamp(32px,3.1vw,46px);line-height:1.15;margin:16px 0 24px;letter-spacing:-1.4px}
.women-feature h2 em{font-style:normal;color:#447668}
.women-feature .lead{font-size:18px;line-height:1.7}
.women-feature .actions{gap:18px;flex-wrap:wrap;margin-top:26px}
.women-stage{font-size:12px;line-height:1.65;color:#53685e;margin:20px 0 0}
.women-services{display:grid;gap:14px}
.women-services article{display:flex;gap:18px;align-items:flex-start;padding:24px;background:#edf3eb;border:1px solid #d7e3d7;border-radius:18px}
.women-service-number{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#173f38;color:#f6f0df;font-size:12px;font-weight:700}
.women-services h3{font-size:19px;line-height:1.3;margin:2px 0 8px}
.women-services p{font-size:14px;line-height:1.65;margin:0;color:#53685e}
@media(max-width:800px){.women-feature{grid-template-columns:1fr;gap:30px;padding:56px 24px;scroll-margin-top:140px}.women-feature h2{font-size:34px}.women-feature .lead{font-size:17px}.women-services article{padding:22px}.women-feature .actions .button{white-space:normal}}

.marketing-policy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:26px}.marketing-policy h3{font-size:23px;line-height:1.4;margin:0 0 14px}.marketing-policy p{font-size:15px;line-height:1.8;color:#49685f;margin:0 0 12px}.marketing-policy p:last-child{margin-bottom:0}.women-feature>.marketing-policy{margin-top:-24px}.detail>.marketing-policy{margin-top:36px}@media(max-width:800px){.women-feature>.marketing-policy{margin-top:0}}
