@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--sand:#f7f1de;--sand-darker:#ece2ca;--deep:#0f3435;--sea:#1e7069;--muted:#52716b;--paper:#fbf6ea;--line:#b8c8b9;--font:'DM Sans',Arial,sans-serif;--display:'Outfit','Arial Black',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--deep);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:3px solid #c59864;outline-offset:3px}.container{max-width:1360px;margin:0 auto;padding:0 5.5%}.announcement{background:var(--deep);color:var(--sand);text-align:center;letter-spacing:.23em;font-weight:700;font-size:10px;padding:9px 10px}.tiny-wave{color:#72b2a1;margin:0 12px}.site-header{position:relative;z-index:20;background:var(--sand);border-bottom:1px solid #0f34351c}.header-inner{max-width:1360px;min-height:106px;margin:auto;padding:8px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand-link{display:block;flex:0 0 auto;line-height:0}.brand-link img{display:block;width:136px;height:auto}.site-header nav{display:flex;gap:27px;align-items:center}.site-header nav a{text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap;transition:opacity .2s}.site-header nav a:hover{opacity:.65}.site-header nav .nav-apply{border:1.5px solid var(--deep);padding:14px 19px;border-radius:4px}.nav-apply span{padding-left:10px}.site-header nav .nav-give{background:var(--deep);color:var(--sand-darker);padding:14px 19px;border-radius:4px}.nav-give span{font-size:19px;vertical-align:middle;padding-left:5px;line-height:0}.menu-toggle{display:none}.hero{background:var(--sand);overflow:hidden}.hero-inner{max-width:1360px;min-height:660px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:5%;margin:0 auto;padding:90px 5.5% 105px}.hero-art{min-width:0}.hero-overline,.hero-kicker,.eyebrow,.mini-label{font-size:11px;font-weight:800;letter-spacing:.18em}.hero-overline{display:flex;gap:14px;align-items:center;margin-bottom:35px}.line-short{display:block;background:var(--sea);width:38px;height:2px}.hero-wordmark{display:block;width:100%;max-width:620px;height:auto;filter:drop-shadow(0px 5px 0px transparent)}.hero-rule{color:var(--sea);margin:17px 0 0;width:100%;max-width:625px;opacity:.6}.hero-rule svg{width:100%;height:55px}.hero-copy{padding-left:1vw}.hero-kicker{color:var(--sea);margin:0 0 22px}.hero h1,h2,.footer-signoff{font-family:var(--display);letter-spacing:-.06em;font-weight:900;line-height:1.02}h1{font-size:clamp(49px,5.5vw,85px);margin:0 0 25px}h1 em,h2 em{font-style:normal;color:var(--sea)}.hero-copy>p:not(.hero-kicker){font-size:17px;line-height:1.75;max-width:460px;color:#395d57}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:33px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:17px 23px;border-radius:4px;text-decoration:none;font-size:13px;font-weight:800;border:0;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--deep);color:var(--sand-darker)}.button span{font-size:17px}.text-link{text-decoration:none;display:inline-flex;align-items:center;gap:15px;font-weight:800;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:7px}.text-link:hover{color:var(--sea)}.marquee{overflow:hidden;background:var(--sea);color:var(--sand);white-space:nowrap}.marquee-content{text-align:center;font:800 clamp(13px,1.7vw,20px) var(--display);letter-spacing:.12em;padding:18px 0;white-space:nowrap}.marquee-content span{margin:0 18px;color:#bdcfba}.section{padding:112px 0}.eyebrow{display:flex;align-items:center;gap:11px;color:var(--sea);margin-bottom:27px}.eyebrow-dot{width:9px;height:9px;background:var(--sea);display:inline-block;transform:rotate(45deg)}h2{font-size:clamp(48px,6.7vw,93px);margin:0}h3{font-family:var(--display);font-weight:800;letter-spacing:-.04em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.intro{background:var(--paper)}.section-text{padding-top:50px}.section-text p{color:#48615c;line-height:1.85;margin:0 0 18px}.section-text .lead{color:var(--deep);font-size:21px;font-weight:700;line-height:1.6}.underline-link{margin-top:12px}.statement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:75px}.statement-grid article{border-top:2px solid var(--sea);padding:23px 14px 0 0}.statement-count{font-size:12px;font-weight:800;color:var(--sea)}.statement-grid h3{font-size:25px;margin:25px 0 12px}.statement-grid p{line-height:1.75;color:#48615c;margin:0;max-width:340px}.services{background:var(--sand);position:relative}.services:before{content:"";position:absolute;top:-30px;left:0;right:0;height:50px;background:url('assets/wave-line.svg') center center/cover no-repeat;opacity:.7;pointer-events:none}.section-header-row{display:grid;grid-template-columns:1.4fr .6fr;gap:6%;align-items:end}.section-header-row>p{line-height:1.75;color:#48615c;margin:0 0 10px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}.service-card{background:#f9f3e7;border:1px solid #0f34351a;padding:25px 25px 31px;min-height:400px;display:flex;flex-direction:column}.service-index{font-size:12px;font-weight:800;color:var(--sea)}.service-graphic{height:180px;display:flex;align-items:center;justify-content:center;color:var(--deep)}.brand-mark{font:900 118px var(--display);letter-spacing:-.1em}.brand-mark span{font-size:46px;color:var(--sea);align-self:center;margin-left:9px;transform:rotate(18deg)}.package-outline{height:128px;width:136px;display:grid;place-items:center;border:5px solid var(--deep);border-radius:5px;transform:rotate(-7deg);box-shadow:17px 13px 0 -5px var(--sand),17px 13px 0 0 var(--sea)}.package-outline span{font:900 49px var(--display);color:var(--sea)}.social-mark{width:156px;height:139px;background:var(--deep);color:var(--sand);padding:15px 17px;display:flex;justify-content:space-between;align-items:flex-end;transform:rotate(7deg)}.social-mark span{font:900 38px/0.93 var(--display);letter-spacing:-.06em}.social-mark b{font-size:26px}.service-card h3{font-size:27px;margin:5px 0 10px}.service-card p{color:#48615c;line-height:1.7;margin:0}.important{margin-top:25px;background:var(--deep);color:var(--sand);padding:24px 30px;display:flex;gap:20px;align-items:center}.important-icon{font-size:32px;color:#80bdad}.important p{margin:0;line-height:1.65}.waves-section{background:var(--paper)}.businesses-container{margin-top:52px}.waves-placeholder{background:var(--sand-darker);display:grid;grid-template-columns:.48fr 1fr;min-height:380px;align-items:center}.placeholder-lines{font:700 120px/.45 var(--display);color:var(--sea);text-align:center;transform:rotate(-10deg);opacity:.9;padding:25px}.waves-placeholder>div:last-child{padding:55px 8% 55px 1%}.mini-label{color:var(--sea)}.waves-placeholder h3{font-size:clamp(30px,4vw,52px);line-height:1.05;margin:20px 0}.waves-placeholder p{max-width:570px;line-height:1.8;color:#4d6860}.waves-placeholder .text-link{margin-top:15px}.showcase-note{font-size:12px;color:#6a817b;margin-top:20px}.process-section{background:var(--sea);color:var(--sand)}.process-section .eyebrow{color:#b7ddca}.process-section .eyebrow-dot{background:#b7ddca}.process-section h2 em{color:#c4d7b7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:70px}.steps article{border-top:1px solid #f7f1de70;padding-top:25px}.steps article>span{font:800 13px var(--display)}.steps h3{font-size:30px;margin:35px 0 13px}.steps p{max-width:315px;line-height:1.75;color:#e2e8d9}.apply-section{background:var(--sand)}.apply-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:7%;align-items:start}.apply-intro>p{line-height:1.75;color:#48615c;font-size:18px;max-width:450px}.application-notice{margin-top:35px;border-top:1px solid #aac4b8;border-bottom:1px solid #aac4b8;padding:20px 0;line-height:1.8;color:#48615c}.application-notice strong{color:var(--deep)}.preview-warning{display:flex;gap:15px;margin-top:30px;background:#eef2e5;padding:18px}.preview-warning span{font-size:23px}.preview-warning p{margin:0;line-height:1.7;font-size:13px}.application-form{padding:38px;background:#f9f3e7;box-shadow:12px 12px 0 #0f343513}.application-form h3{font-size:35px;margin:0 0 8px}.form-subtitle{font-size:12px;color:#637870;margin-bottom:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.application-form label{display:block;font-weight:800;font-size:12px;color:var(--deep);margin-bottom:21px}.application-form label small{font-weight:400}.application-form input:not([type=checkbox]),.application-form select,.application-form textarea{display:block;width:100%;border:1px solid #bdcbc2;background:#fff9ef;padding:14px 12px;margin-top:9px;color:var(--deep);border-radius:2px;min-height:49px;font:500 13px var(--font)}.application-form input::placeholder,.application-form textarea::placeholder{color:#899892}.application-form textarea{min-height:126px;resize:vertical}.application-form .checkbox-label{display:flex;align-items:flex-start;gap:12px;line-height:1.65;font-size:12px;font-weight:500;margin-bottom:14px}.checkbox-label input{width:19px;height:19px;flex:0 0 auto;accent-color:var(--sea);margin:0}.application-form a{color:var(--sea)}.form-submit{margin-top:18px;width:100%;min-height:54px}#form-message{font-size:13px;font-weight:700;line-height:1.5;margin:16px 0 0}.donate-section{background:#e0ebe2}.donate-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.donate-layout>div>p{line-height:1.8;font-size:18px;max-width:470px}.donate-layout .small-copy{font-size:12px;color:#5b7970;max-width:410px}.donation-card{background:#f9f3e7;padding:40px;box-shadow:12px 12px 0 #1e706915}.donation-card h3{font-size:33px;line-height:1.13;margin:18px 0 27px}.donation-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.donation-amounts button{padding:19px 10px;border:1px solid #9bb5a6;background:transparent;color:var(--deep);font:800 23px var(--display);border-radius:2px}.donation-amounts button.selected{background:var(--deep);color:var(--sand)}#selected-amount{font-size:13px;font-weight:700;color:var(--sea)}.eft-panel{border:1px solid #c1d0c3;padding:23px;margin:25px 0}.eft-title{font-weight:800;font-size:19px}.eft-panel>p{font-size:13px;line-height:1.7;color:#587268}.bank-ref{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid #d5dfd6;padding-top:17px}.bank-ref span{font-size:10px;letter-spacing:.1em;color:#60776e}.bank-ref strong{font-size:13px}.bank-ref button{margin-left:auto;background:transparent;border:0;text-decoration:underline;font-size:12px;color:var(--sea);font-weight:800}.donation-card>small{font-size:11px;color:#60776e;line-height:1.5;display:block}.site-footer{background:var(--sand);color:var(--deep);padding:72px 0 24px;border-top:1px solid #0f343525}.footer-grid{display:grid;grid-template-columns:1.15fr .7fr 1fr;align-items:start;gap:8%}.site-footer img{width:175px;height:auto}.site-footer p{font-size:13px;line-height:1.7;color:#52716b}.footer-links{display:grid;gap:14px}.footer-links a{text-decoration:none;font-size:13px}.footer-signoff{font-size:clamp(32px,4vw,58px);line-height:1.05}.footer-signoff span{display:block;font-size:75px;color:#8cc2ac;line-height:1}.footer-bottom{border-top:1px solid #0f34352c;margin-top:55px;padding-top:22px;font-size:11px;color:#52716b}@media(max-width:1150px){.site-header nav{gap:16px}.site-header nav a{font-size:11px}.hero-inner{gap:3%}.hero h1{font-size:clamp(44px,5.2vw,69px)}}@media(max-width:860px){.header-inner{min-height:92px}.brand-link img{width:109px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:43px;height:43px;background:none;border:1px solid var(--deep);padding:9px}.menu-toggle span{height:2px;background:var(--deep);width:100%}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--sand);padding:20px 5.5% 28px;border-bottom:1px solid #0f34351a;flex-direction:column;align-items:stretch;gap:20px}.site-header nav.open{display:flex}.site-header nav a{font-size:14px}.site-header nav .nav-apply,.site-header nav .nav-give{text-align:center}.hero-inner,.two-col,.section-header-row,.apply-layout,.donate-layout{grid-template-columns:1fr}.hero-inner{min-height:0;padding-top:70px;padding-bottom:75px;gap:55px}.hero-wordmark{max-width:570px}.hero-copy{padding:0}.hero h1{max-width:700px}.section{padding:80px 0}.section-text{padding:15px 0 0}.section-header-row{gap:20px}.statement-grid{margin-top:50px}.services-grid{gap:12px}.service-card{padding:20px}.service-card h3{font-size:24px}.service-graphic{height:150px}.apply-layout{gap:40px}.donate-layout{gap:45px}}@media(max-width:620px){.container{padding-left:6%;padding-right:6%}.hero-inner{padding:55px 6% 65px;gap:45px}.hero-overline{font-size:9px;letter-spacing:.14em}.hero h1{font-size:clamp(49px,12vw,68px)}.hero-copy>p:not(.hero-kicker){font-size:16px}.marquee-content{font-size:12px;letter-spacing:.06em}.marquee-content span{margin:0 8px}.section{padding:70px 0}h2{font-size:clamp(45px,11vw,60px)}.statement-grid,.services-grid,.steps{grid-template-columns:1fr}.statement-grid{gap:31px}.service-card{min-height:350px}.service-graphic{height:150px}.important{padding:22px;align-items:flex-start}.waves-placeholder{grid-template-columns:1fr}.placeholder-lines{font-size:80px;line-height:.33;padding:45px 20px 20px}.waves-placeholder>div:last-child{padding:25px 25px 45px}.steps{gap:27px;margin-top:45px}.steps h3{margin-top:15px}.application-form{padding:24px}.form-grid{grid-template-columns:1fr;gap:0}.donation-card{padding:24px}.donation-amounts button{padding:16px 5px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-signoff{grid-column:span 2}.footer-bottom{margin-top:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* PROJECT031 V3 | Logo derived details, restrained typography, improved section hierarchy */
.header-inner{justify-content:center;min-height:78px}.site-header nav{margin-inline:auto;justify-content:center;gap:29px}.site-header nav a{font-family:var(--font)}
.announcement{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 10px;min-height:30px;font-size:9px}.announcement-wave{width:13px;height:13px;object-fit:contain;filter:brightness(0) invert(1);opacity:.75}
.hero-inner{min-height:620px;padding-top:82px;padding-bottom:88px}.hero h1{font-size:clamp(48px,5.45vw,84px)}.hero h1 em{display:block;color:var(--sea)}
.hero-rule{display:flex;align-items:center;justify-content:center;width:100%;max-width:620px;opacity:.45;margin:18px 0 0}.hero-lower-wave{height:30px;width:auto;object-fit:contain;opacity:.7}
.marquee{height:36px;display:flex;align-items:center}.marquee-track{display:flex;width:max-content;align-items:center;animation:project031-marquee 38s linear infinite;will-change:transform}.marquee-content{display:flex;align-items:center;justify-content:flex-start;flex:none;white-space:nowrap;padding:0;letter-spacing:.12em;font-size:12px;line-height:1}.marquee-phrase{padding:0 24px;font-family:var(--display);font-weight:800}.marquee-wave{display:inline-block;width:15px;height:15px;object-fit:contain;filter:brightness(0) invert(1);opacity:.82;margin:0 4px}
@keyframes project031-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.eyebrow{gap:10px}.eyebrow-wave{width:15px;height:15px;object-fit:contain;flex:0 0 15px}
.process-section{background:var(--deep);color:var(--sand);padding:90px 0 95px}.process-section .eyebrow{color:#c3ded6}.process-section .eyebrow-wave{filter:brightness(0) invert(1);opacity:.8}.process-section h2{font-size:clamp(47px,6.2vw,84px);max-width:920px}.process-section h2 em{color:#92c8b5}.steps{margin-top:42px;gap:26px}.steps article{border-top:1px solid #f7f1de64;padding-top:20px}.steps h3{margin:17px 0 12px}.steps p{color:#e5eade}.button-process{margin-top:35px;background:var(--sand);color:var(--deep);font-family:var(--font)}
.intro{background:var(--paper)}.intro .section-text{padding-top:45px}.section-text .lead{font-family:var(--font)}
.important{display:flex;align-items:center;gap:12px;padding:13px 18px;margin-top:19px;min-height:0}.important-wave{width:20px;height:20px;object-fit:contain;flex:0 0 20px;filter:brightness(0) invert(1);opacity:.85}.important p{font-size:12px;line-height:1.55;font-weight:500}.important p strong{font-weight:800}
.brand-mark img.brand-graphic-wave{width:38px;height:38px;object-fit:contain;margin-left:12px;transform:rotate(0)}
.placeholder-lines{transform:none;opacity:1;display:grid;place-items:center}.placeholder-wave{width:min(170px,76%);height:auto;opacity:.75;transform:rotate(-12deg)}
.footer-lower-wave{display:block;width:75px;height:auto;margin-top:18px;opacity:.8}.site-footer{background:var(--sand)}
/* Keep the two font families consistent across body, headings, buttons and controls. */
h1,h2,h3,.footer-signoff,.marquee-phrase{font-family:var(--display)}p,button,nav,a,label,small,input,select,textarea{font-family:var(--font)}
@media(max-width:860px){.header-inner{justify-content:flex-end;min-height:76px}.menu-toggle{display:flex}.site-header nav{margin:0;justify-content:flex-start;gap:20px}.marquee{height:32px}.marquee-content{font-size:11px}.marquee-wave{width:12px;height:12px}.hero-inner{min-height:0}.process-section{padding:73px 0}}
@media(max-width:620px){.hero h1{font-size:clamp(45px,11vw,66px)}.hero-rule{justify-content:flex-start}.hero-lower-wave{height:23px}.marquee{height:30px}.marquee-phrase{padding:0 14px}.process-section{padding:62px 0}.process-section h2{font-size:clamp(43px,10vw,62px)}.important{padding:11px 13px;gap:10px}.important p{font-size:12px}.important-wave{width:17px;height:17px;flex-basis:17px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;will-change:auto}}

.marquee-content .marquee-phrase{margin:0;color:var(--sand)}
.privacy-header .header-inner{justify-content:center}


/* PROJECT031 V3.1: true flowing hero line, continuous ribbon, intentional mobile layout */
/* Restore the original V2 handcrafted SVG line, rather than using the smaller logo wave. */
.hero-rule{display:block;width:100%;max-width:625px;margin:15px 0 0;color:var(--sea);opacity:.68}
.hero-rule svg{display:block;width:100%;height:58px;overflow:visible}
/* The marquee is two equal full sets. It travels exactly one set length. */
.marquee{overflow:hidden;position:relative;height:34px;display:flex;align-items:center;max-width:100%}
.marquee-track{display:flex;flex:0 0 auto;align-items:center;gap:0;width:max-content;animation:project031-marquee var(--marquee-duration,98s) linear infinite;will-change:transform}
.marquee-set{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap;width:max-content;gap:0}
.marquee-sequence{display:flex;align-items:center;flex:0 0 auto;white-space:nowrap}
.marquee-sequence .marquee-phrase{margin:0;padding:0 19px;color:var(--sand);white-space:nowrap;font-family:var(--display);font-size:11px;font-weight:800;letter-spacing:.1em}
.marquee-sequence .marquee-wave{display:block;flex:none;width:13px;height:13px;margin:0 3px;object-fit:contain;opacity:.82;filter:brightness(0) invert(1)}
@keyframes project031-marquee{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}
/* Keep small branding marks visually anchored to their respective labels. */
.eyebrow{display:inline-flex;align-items:center;gap:10px;vertical-align:middle;line-height:1.5;max-width:100%}
.eyebrow-wave{display:block;width:15px;height:15px;flex:0 0 15px;object-fit:contain;object-position:center}
.important-wave{display:block;object-position:center}
.swipe-hint{display:none}
@media(max-width:860px){
  .hero-rule{margin:12px auto 0;max-width:570px}
  .hero-rule svg{height:52px}
  .hero-art{width:100%;min-width:0}
  .hero-wordmark{display:block;margin:0 auto}
  .hero-overline{justify-content:flex-start}
  .marquee{height:32px}
  .eyebrow-wave{width:14px;height:14px;flex-basis:14px}
  .placeholder-lines{display:grid;place-items:center}
}
@media(max-width:620px){
  .hero-rule{margin:10px auto 0;width:100%;max-width:100%}
  .hero-rule svg{height:auto;aspect-ratio:680/62}
  .marquee{height:30px}
  .marquee-sequence .marquee-phrase{font-size:10px;padding:0 15px;letter-spacing:.08em}
  .marquee-sequence .marquee-wave{width:12px;height:12px;margin:0 2px}
  .process-section{overflow:hidden}
  /* Swipeable horizontal cards, each with a peek at the next one. */
  .steps{
    display:flex!important;
    flex-direction:row;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#92c8b5 transparent;
    overscroll-behavior-x:contain;
    padding:0 0 15px;
    margin:34px 0 0;
    align-items:stretch;
  }
  .steps article{
    box-sizing:border-box;
    flex:0 0 calc(100% - 49px);
    min-width:0;
    max-width:none;
    scroll-snap-align:start;
    padding:20px 15px 18px;
    border:1px solid #f7f1de55;
    border-top:2px solid #92c8b5;
    border-radius:4px;
    background:#ffffff08;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  .steps h3{font-size:clamp(22px,6.7vw,28px);line-height:1.2;margin:24px 0 12px}
  .steps p{font-size:14px;line-height:1.7;margin:0;max-width:100%}
  .swipe-hint{display:block;color:#b9d9ce;font-size:11px;font-weight:700;letter-spacing:.03em;margin:6px 0 3px;text-align:right}
  .button-process{margin-top:22px}
  /* Other short informational columns use horizontal cards as well. */
  .statement-grid,.services-grid{display:flex!important;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:0 0 17px;align-items:stretch}
  .statement-grid article{flex:0 0 calc(100% - 49px);min-width:0;padding:19px 18px;border:1px solid #1e706944;border-top:2px solid var(--sea);border-radius:4px;scroll-snap-align:start;}
  .statement-grid h3{margin:17px 0 10px}
  .services-grid .service-card{flex:0 0 calc(100% - 49px);min-width:0;scroll-snap-align:start;min-height:340px}
  .services-grid .service-graphic{height:142px}
  .eyebrow{gap:9px;align-items:center}
  .eyebrow-wave{width:14px;height:14px;flex:0 0 14px}
  .important{align-items:center}
  .important-wave{align-self:center}
}
@media(max-width:350px){
  .steps article,.statement-grid article,.services-grid .service-card{flex-basis:calc(100% - 37px)}
}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none!important;transform:none!important;will-change:auto}
  .steps,.statement-grid,.services-grid{scroll-behavior:auto}
}


/* Project031 V3.2: compact mobile menu in the top ribbon */
.mobile-card-copy,.mobile-card-title{display:none}
@media(max-width:860px){
  /* Keep the top announcement ribbon visible, with a stationary menu button. */
  .announcement{position:sticky;top:0;z-index:200;min-height:38px;padding:6px 52px 6px 12px;display:flex;gap:7px;align-items:center;justify-content:center;text-align:center;font-size:clamp(8px,1.9vw,10px);letter-spacing:.085em;line-height:1.3}
  .announcement-wave{width:10px;height:10px;flex:0 0 10px}
  .announcement .menu-toggle{display:flex;position:absolute;right:13px;top:50%;transform:translateY(-50%);height:30px;width:32px;border:1px solid #f7f1de91;border-radius:3px;background:transparent;gap:4px;padding:6px;z-index:2;align-items:center;justify-content:center}
  .announcement .menu-toggle span{background:var(--sand);height:2px;width:100%;display:block}
  .announcement .menu-toggle:hover,.announcement .menu-toggle[aria-expanded="true"]{background:#ffffff16}
  .announcement .menu-toggle:focus-visible{outline:2px solid #b4dcca;outline-offset:2px}
  /* Hide the separate cream mobile navigation bar without hiding its collapsible menu. */
  .site-header{position:relative;z-index:190;height:0;min-height:0;padding:0;border:0;background:transparent;overflow:visible}
  .site-header .header-inner{height:0;min-height:0;padding:0;display:block;max-width:none}
  .site-header nav{position:fixed;top:38px;left:0;right:0;z-index:195;display:none;margin:0;padding:22px max(6%,18px) 26px;background:var(--sand);border-bottom:1px solid #0f343530;box-shadow:0 14px 22px #0f343526;max-height:calc(100dvh - 38px);overflow-y:auto;align-items:stretch;flex-direction:column;gap:19px}
  .site-header nav.open{display:flex}
  .site-header nav a{font-size:14px}
  .site-header nav .nav-apply,.site-header nav .nav-give{text-align:center}
  html{scroll-padding-top:49px}
}
@media(max-width:620px){
  /* All three How It Works steps visible together, with purpose-written compact mobile copy. */
  .process-section .steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;scroll-snap-type:none;scroll-padding:0;padding:0;margin:31px 0 0;align-items:stretch}
  .process-section .steps article{min-width:0;width:auto;max-width:none;flex:auto;scroll-snap-align:none;padding:13px 9px 15px;border:1px solid #92c8b599;border-top:2px solid #92c8b5;border-radius:3px;min-height:158px;background:#ffffff08;display:flex;flex-direction:column;align-items:flex-start}
  .process-section .steps article>span{font-size:11px;color:#a5d5c3}
  .process-section .steps h3{font-size:clamp(12px,3.45vw,16px);line-height:1.2;letter-spacing:-.035em;margin:19px 0 9px;overflow-wrap:normal;hyphens:none}
  .process-section .steps p{font-size:clamp(10px,2.7vw,12px);line-height:1.5;margin:0;color:#e5eade;overflow-wrap:break-word}
  .process-section .steps .desktop-card-title,.process-section .steps .desktop-card-copy{display:none}
  .process-section .steps .mobile-card-title{display:inline}
  .process-section .steps .mobile-card-copy{display:block}
  .process-section .button-process{margin-top:25px}
  /* Restore consistent spacing where the swipe hint was removed. */
  .process-section{overflow:visible}
}
@media(max-width:360px){
  .process-section .steps{gap:6px}
  .process-section .steps article{padding:12px 7px 13px;min-height:205px}
  .process-section .steps h3{font-size:12px}
  .process-section .steps p{font-size:10px}
}
/* Softer, clearer separation for Making Waves, without introducing white. */
.waves-placeholder{background:#f8f1e3;border:1px solid #bbcebf;border-top:3px solid var(--sea);box-shadow:0 10px 26px #0f34350b}
.waves-placeholder .mini-label{color:var(--sea)}
.waves-placeholder .placeholder-wave{opacity:.8}

/* V3.3: compact mobile hero and visible card grids */
@media(max-width:620px){
.hero{padding-top:0!important}
.hero-inner{padding-top:24px!important;padding-bottom:26px!important;gap:16px!important}
.hero-art{gap:7px!important}
.hero-wordmark{max-width:min(78vw,310px)!important}
.hero-rule{margin-top:2px!important;height:25px!important}
.hero-overline{margin-bottom:9px!important}
.hero-copy h1{font-size:clamp(32px,9vw,46px)!important;line-height:1.04!important;margin:8px 0 12px!important}
.hero-copy p{margin:0 0 13px!important;font-size:14px!important;line-height:1.5!important}
.hero-kicker{font-size:10px!important}
.hero-copy .button-row{margin-top:12px!important}
.statement-grid,.services-grid,.service-grid,.steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;scroll-snap-type:none!important}
.statement-grid>article,.services-grid>article,.service-grid>article,.steps>article{width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;padding:12px 9px!important;scroll-snap-align:none!important}
.statement-grid h3,.services-grid h3,.service-grid h3{font-size:clamp(12px,3.3vw,15px)!important;line-height:1.22!important;overflow-wrap:anywhere}
.statement-grid p,.services-grid p,.service-grid p{font-size:clamp(10px,2.65vw,12px)!important;line-height:1.5!important;overflow-wrap:anywhere}
.statement-grid .statement-count{font-size:10px!important}
}
@media(max-width:360px){.statement-grid,.services-grid,.service-grid,.steps{gap:5px!important}}
/* Branded select: retain native select as accessible fallback until JS enhances it */
.application-form select{appearance:none;-webkit-appearance:none;background-color:#f8f0df!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m4 7 6 6 6-6' stroke='%23103435' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px;background-position:right 14px center;padding-right:44px!important;cursor:pointer}
.application-form .brand-select{position:relative;margin-top:9px}
.application-form .brand-select select{position:absolute!important;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;z-index:-1}
.brand-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:49px;padding:12px 15px;border:1px solid #91aaa1;border-radius:4px;background:#f8f0df;color:#103435;text-align:left;cursor:pointer;font:600 13px var(--font)}
.brand-select-trigger:hover,.brand-select-trigger[aria-expanded=true]{border-color:#1e7069;background:#eee6d1}
.brand-select-trigger:focus-visible,.brand-option:focus-visible{outline:3px solid #1e7069;outline-offset:2px}
.brand-select-trigger svg{flex:none;transition:transform .2s}
.brand-select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.brand-select-list{position:absolute;z-index:25;left:0;right:0;top:calc(100% + 5px);margin:0;padding:6px;list-style:none;background:#fbf6ea;border:1px solid #1e7069;border-radius:7px;box-shadow:0 12px 26px #10343526;max-height:260px;overflow:auto}
.brand-select-list[hidden]{display:none!important}
.brand-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:4px;cursor:pointer;font:600 13px var(--font);color:#103435}
.brand-option:hover,.brand-option[aria-selected=true],.brand-option.is-active{background:#dcebe1}
.brand-option[aria-selected=true]::after{content:'✓';color:#1e7069;font-weight:900}


/* Version 3.4: Our Story refresh, with deliberate responsive spacing */
.intro{background:var(--paper)}
.story-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start;gap:8%}
.story-head{min-width:0}
.story-head h2{line-height:1.04;letter-spacing:-.068em;margin:0}
.story-flourish{width:min(100%,410px);margin:33px 0 0;opacity:.72}
.story-flourish img{width:100%;height:32px;object-fit:fill;display:block}
.story-narrative{min-width:0;padding-top:10px}
.story-narrative p{font-size:15px;line-height:1.78;color:#48615c;margin:0 0 16px}
.story-narrative .story-opening{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1.27;font-size:clamp(22px,2.15vw,32px);color:var(--deep);margin:0 0 12px}
.story-narrative .story-intro{font-size:17px;line-height:1.65;color:var(--deep);margin-bottom:20px}
.story-narrative .story-explainer{margin-bottom:22px}
.story-narrative .story-explainer strong{color:var(--deep)}
.story-founder{padding:22px 26px 24px;background:#e8f0e6;border-left:3px solid var(--sea);margin:25px 0 0}
.story-founder-title{display:flex;align-items:center;gap:10px;color:var(--sea);font-size:10px;letter-spacing:.14em;font-weight:800}
.story-founder-title img{width:20px;height:20px;object-fit:contain}
.story-founder h3{font-size:clamp(22px,2.1vw,30px);line-height:1.15;margin:15px 0 10px;color:var(--deep)}
.story-founder p{font-size:14px;line-height:1.75;margin:0}
.story-principles{margin-top:48px;gap:17px}
.story-principles article{min-width:0;min-height:195px;border:1px solid #bbd0c1;border-top:3px solid var(--sea);padding:23px 22px 27px;background:#f7f1e3;display:flex;flex-direction:column}
.story-principles .statement-count{font-size:11px;color:var(--sea)}
.story-principles h3{font-size:24px;line-height:1.16;margin:18px 0 12px}
.story-principles p{font-size:14px;line-height:1.7;margin:0;color:#48615c}
@media(max-width:860px){
  .story-grid{grid-template-columns:1fr;gap:18px}
  .story-head h2{font-size:clamp(46px,9vw,74px)}
  .story-flourish{margin:14px 0 0;width:min(100%,370px)}
  .story-narrative{padding-top:0}
  .story-principles{margin-top:30px}
}
@media(max-width:620px){
  .intro.section{padding-top:57px;padding-bottom:65px}
  .story-grid{gap:10px!important}
  .story-head h2{font-size:clamp(42px,11vw,56px);line-height:1.015}
  .story-head .eyebrow{margin-bottom:19px}
  .story-flourish{margin:9px 0 1px;max-width:270px}
  .story-flourish img{height:22px}
  .story-narrative{padding-top:0!important}
  .story-narrative .story-opening{font-size:23px;line-height:1.2;margin:0 0 10px}
  .story-narrative .story-intro{font-size:14px;line-height:1.62;margin:0 0 13px}
  .story-narrative .story-explainer{font-size:13px;line-height:1.65;margin:0 0 13px}
  .story-founder{padding:15px 15px 16px;margin:16px 0 0}
  .story-founder-title{font-size:9px;letter-spacing:.095em}
  .story-founder-title img{width:17px;height:17px}
  .story-founder h3{font-size:21px;margin:10px 0 7px}
  .story-founder p{font-size:12px;line-height:1.6}
  .story-principles{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:23px!important;overflow:visible!important}
  .story-principles article{padding:12px 9px 14px!important;min-height:0!important;background:#f8f2e6}
  .story-principles .statement-count{font-size:10px}
  .story-principles h3{font-size:clamp(12px,3.25vw,15px)!important;line-height:1.24;margin:14px 0 9px;overflow-wrap:anywhere}
  .story-principles p{font-size:clamp(10px,2.6vw,12px)!important;line-height:1.5;overflow-wrap:break-word}
}

/* V3.4 finishing details: mobile gutters and no service artwork overflow */
@media(max-width:620px){
  .story-principles{padding-left:6%!important;padding-right:6%!important}
  .services-grid .service-graphic{width:100%;max-width:100%;overflow:hidden}
  .services-grid .social-mark{width:min(100%,90px);height:83px;padding:7px;transform:rotate(3deg)}
  .services-grid .social-mark span{font-size:19px}
  .services-grid .social-mark b{font-size:14px}
  .services-grid .package-outline{width:min(90px,85%);height:88px;border-width:3px;box-shadow:7px 6px 0 -3px var(--sand),7px 6px 0 0 var(--sea)}
  .services-grid .package-outline span{font-size:30px}
  .services-grid .brand-mark{font-size:58px}
  .services-grid .brand-mark span{font-size:20px}
}


/* Project031 V3.5: Making Waves showcase */
.waves-section{background:var(--paper);position:relative}
.waves-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:end;gap:7%}
.waves-intro-left h2{margin:0;font-size:clamp(50px,6.7vw,90px)}
.waves-intro-right{padding-bottom:5px}
.waves-mini-rule{display:block;width:52px;height:2px;background:var(--sea);margin-bottom:22px}
.waves-intro-right>p{font-size:17px;line-height:1.75;max-width:520px;color:#44655e;margin:0}
.waves-motto{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px;font:800 10px var(--font);letter-spacing:.095em;color:var(--sea)}
.waves-motto img{width:16px;height:16px;object-fit:contain}
.waves-gallery{margin-top:53px}
.waves-feature{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:#f4eedd;border:1px solid #c5d8cc;overflow:hidden}
.waves-feature-visual{position:relative;min-height:470px;background:#b9d8c9;overflow:hidden}
.waves-feature-visual>img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.waves-visual-stamp{position:absolute;top:20px;left:20px;border-radius:50%;height:77px;width:77px;background:var(--deep);color:#f7f1de;display:grid;place-items:center;text-align:center;line-height:1.3;font:800 12px var(--font);letter-spacing:.1em;transform:rotate(-13deg);box-shadow:0 7px 20px #0f34352e}
.waves-feature-copy{padding:clamp(25px,4vw,55px);display:flex;flex-direction:column;align-items:flex-start}
.waves-card-topline{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:27px}
.waves-card-topline .mini-label{font-size:10px}
.waves-index{font:800 10px var(--font);letter-spacing:.1em;color:#68887e}
.waves-demo-badge{display:inline-block;background:#d7e8df;color:#155c55;border:1px solid #93b6a8;padding:7px 10px;border-radius:2px;font:800 10px var(--font);letter-spacing:.07em}
.waves-feature-copy h3{font:900 clamp(43px,5vw,75px)/1.05 var(--display);letter-spacing:-.065em;margin:18px 0 8px;color:var(--deep)}
.waves-feature-copy h3 em,.demo-dialog-story h2 em{font-style:normal;color:var(--sea)}
.waves-feature-category{font:800 12px var(--font);letter-spacing:.075em;text-transform:uppercase;color:var(--sea)!important;margin:0 0 20px!important}
.waves-feature-copy>p:not(.waves-demo-disclaimer){font-size:15px;line-height:1.75;color:#44655e;max-width:510px;margin:0 0 24px}
.waves-pill-group{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.waves-pill-group span{font:700 11px var(--font);color:var(--deep);padding:8px 10px;border:1px solid #acc8ba;border-radius:50px;background:#fbf6ea}
.waves-profile-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:14px 20px;border:0;border-radius:3px;background:var(--deep);color:var(--sand);font:800 13px var(--font);cursor:pointer;transition:background .2s}
.waves-profile-button:hover{background:var(--sea)}
.waves-demo-disclaimer{font-size:11px;line-height:1.6;color:#678177;margin:17px 0 0}
.waves-lower-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;margin-top:16px}
.waves-next-story{display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:20px;border:1px solid #bfd5c7;background:#eaf0e5;padding:25px 28px}
.waves-next-icon{width:65px;display:grid;place-items:center}.waves-next-icon img{width:65px;height:auto}
.waves-next-story h3{font:900 clamp(23px,2.6vw,33px)/1.2 var(--display);letter-spacing:-.035em;margin:8px 0;color:var(--deep)}
.waves-next-story p{font-size:13px;line-height:1.6;color:#4b6c62;margin:0;max-width:380px}
.waves-apply-link{color:var(--deep);text-decoration:none;font:800 12px var(--font);border-bottom:1px solid var(--sea);padding-bottom:8px;white-space:nowrap}
.waves-apply-link span{margin-left:12px}
.waves-community-note{background:var(--deep);color:var(--sand);padding:27px 30px;position:relative;overflow:hidden}
.waves-community-note .mini-label{color:#a7d7c4}
.waves-community-note p{position:relative;z-index:1;font:700 clamp(18px,2vw,25px)/1.32 var(--display);letter-spacing:-.025em;max-width:350px;margin:15px 0}
.waves-swoosh{color:#7cb6a5;opacity:.7;position:absolute;bottom:10px;left:20px;right:20px}.waves-swoosh svg{width:100%;height:32px}
.waves-consent-note{display:flex;gap:9px;align-items:center;font:500 12px/1.5 var(--font);color:#56776a;margin:20px 0 0}
.waves-consent-note img{width:18px;height:18px;object-fit:contain;flex:none}
.demo-business-dialog{max-width:min(920px,calc(100vw - 28px));width:920px;max-height:min(92vh,920px);padding:0;border:1px solid #8db5a4;background:#fbf6ea;color:var(--deep);box-shadow:0 30px 80px #04272283;overflow:auto}
.demo-business-dialog::backdrop{background:#061f1ed1;backdrop-filter:blur(3px)}
.demo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 24px;border-bottom:1px solid #bed1c3}
.demo-dialog-close{background:transparent;border:1px solid #8fb5a4;color:var(--deep);width:38px;height:38px;cursor:pointer;border-radius:3px;font:700 17px var(--font)}
.demo-dialog-content{display:grid;grid-template-columns:.9fr 1.1fr}
.demo-dialog-visual{background:#b9d8c9;min-height:460px}.demo-dialog-visual img{width:100%;height:100%;object-fit:cover;display:block}
.demo-dialog-story{padding:30px 34px 42px}
.demo-dialog-story h2{font:900 clamp(34px,4vw,53px)/1.04 var(--display);letter-spacing:-.055em;margin:20px 0}
.demo-dialog-story h3{font-size:19px;margin:20px 0 7px}.demo-dialog-story p{line-height:1.7;font-size:14px;color:#466b60;margin:0 0 12px}
.demo-dialog-story .text-link{margin-top:10px}.demo-link-message{background:#eaf0e5;padding:12px}
@media(max-width:960px){.waves-next-story{grid-template-columns:58px 1fr}.waves-next-icon,.waves-next-icon img{width:48px}.waves-apply-link{grid-column:2;justify-self:start}.waves-feature-copy{padding:25px}.waves-card-topline{margin-bottom:20px}}
@media(max-width:700px){.waves-intro-grid{grid-template-columns:1fr;gap:20px}.waves-intro-left h2{font-size:clamp(43px,10vw,63px)}.waves-mini-rule{margin-bottom:12px}.waves-intro-right>p{font-size:14px}.waves-motto{margin-top:18px;gap:7px;font-size:9px}.waves-motto img{width:12px;height:12px}.waves-gallery{margin-top:30px}.waves-feature{grid-template-columns:1fr}.waves-feature-visual{min-height:0;aspect-ratio:1.28}.waves-feature-visual>img{position:absolute}.waves-feature-copy{padding:25px 22px}.waves-feature-copy h3{font-size:clamp(43px,11vw,58px)}.waves-feature-copy>p:not(.waves-demo-disclaimer){font-size:14px}.waves-card-topline{margin-bottom:14px}.waves-lower-grid{grid-template-columns:1fr}.waves-next-story{padding:21px 18px;grid-template-columns:42px 1fr;gap:12px}.waves-next-icon,.waves-next-icon img{width:40px}.waves-next-story h3{font-size:23px}.waves-apply-link{grid-column:2}.waves-community-note{padding:24px}.waves-consent-note{font-size:11px}.demo-dialog-content{grid-template-columns:1fr}.demo-dialog-visual{height:230px;min-height:230px}.demo-dialog-story{padding:24px}.demo-dialog-story h2{font-size:39px}}
@media(max-width:360px){.waves-feature-visual{aspect-ratio:1.1}.waves-feature-copy{padding:21px 15px}.waves-card-topline .mini-label{letter-spacing:.05em}.waves-next-story{grid-template-columns:32px 1fr}.waves-next-icon,.waves-next-icon img{width:30px}}

/* V3.7: original Project031 styled application selectors with improved contrast. */
.application-form .brand-select{position:relative;isolation:isolate}
.application-form .brand-select-trigger{
  background:#f2e8d5!important;
  border:1.5px solid #8eaea1!important;
  border-radius:5px!important;
  padding:14px 16px!important;
  color:var(--deep)!important;
  box-shadow:inset 0 -2px 0 rgba(30,112,105,.08);
  min-height:51px;
  font-weight:700;
}
.application-form .brand-select-trigger:hover,
.application-form .brand-select-trigger[aria-expanded=true]{
  background:#e5eddf!important;
  border-color:var(--sea)!important;
}
.application-form .brand-select-list{
  background:#faf2e1!important;
  border:1.5px solid var(--sea)!important;
  border-radius:6px!important;
  padding:7px!important;
  box-shadow:0 14px 28px rgba(15,52,53,.18);
}
.application-form .brand-option{border-radius:4px!important;padding:13px 11px!important;line-height:1.4}
.application-form .brand-option:hover,
.application-form .brand-option:focus,
.application-form .brand-option[aria-selected=true]{background:#dcebe1!important;color:var(--deep)!important}
.application-form .brand-select-trigger::before{
  content:'';display:inline-block;width:15px;height:15px;flex:none;
  background:url('assets/wave-mark.png') center/contain no-repeat;
  opacity:.85;
}
.application-form .brand-select-trigger>span{flex:1;text-align:left}
/* Preserve clean contrast between the application panel and the donation area. */
#apply{border-bottom:1px solid rgba(30,112,105,.18)}


/* V3.8: replace compressed brand stamp with a true flowing line */
.story-flourish{width:min(100%,410px);margin:19px 0 0;opacity:1}
.story-flourish .story-wave-line{display:block;width:100%;height:38px;color:#2a8176;overflow:visible}
@media(max-width:860px){.story-flourish{margin:12px 0 0}}
@media(max-width:620px){
  .story-flourish{max-width:270px;margin:8px 0 1px}
  .story-flourish .story-wave-line{height:25px}
}
/* Very faint, organic ocean contours on the first dark section only. */
.process-section{background-color:var(--deep);background-image:url('assets/process-contours.svg');background-size:min(78vw,900px) auto;background-position:right center;background-repeat:no-repeat}
@media(max-width:620px){.process-section{background-size:120% auto;background-position:100% center}}

/* Brand dropdowns are positioned in a single top-level overlay instead of inside the form.
   This prevents overlapping controls, clipping and accidentally activating native menus. */
.application-form .form-field{min-width:0;position:relative;margin-bottom:21px}
.application-form .form-field>label{display:block;margin:0 0 9px;font-size:12px;font-weight:800;color:var(--deep)}
.application-form .brand-select{position:relative;isolation:auto;margin:0;width:100%}
.application-form .brand-select select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;overflow:hidden!important}
.application-form .brand-select-trigger{width:100%;min-height:51px;display:flex;align-items:center;gap:11px;border:1.5px solid #8eaea1;background:#f2e8d5;color:var(--deep);border-radius:5px;padding:12px 15px;text-align:left;font:700 13px var(--font);cursor:pointer}
.application-form .brand-select-trigger>span{flex:1;text-align:left}
.application-form .brand-select-trigger svg{flex:none}
.application-form .brand-select-trigger[aria-expanded=true],.application-form .brand-select-trigger:hover{background:#e5eddf;border-color:var(--sea)}
.application-form .brand-select-trigger[aria-invalid=true]{outline:2px solid #a76931}
.brand-select-portal{position:fixed!important;z-index:9999!important;box-sizing:border-box;background:#faf2e1;border:1.5px solid var(--sea);border-radius:6px;padding:6px;margin:0;list-style:none;box-shadow:0 16px 38px rgba(15,52,53,.22);overflow-y:auto;overscroll-behavior:contain;max-height:260px}
.brand-select-portal[hidden]{display:none!important}
.brand-select-portal .brand-option{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:12px 13px;color:var(--deep);font:700 13px var(--font);border-radius:4px;cursor:pointer}
.brand-select-portal .brand-option:hover,.brand-select-portal .brand-option:focus-visible,.brand-select-portal .brand-option[aria-selected=true]{background:#dcebe1;color:var(--deep)}
.brand-select-portal .brand-option[aria-selected=true]::after{content:'✓';color:var(--sea);font-weight:900}
@media(prefers-reduced-motion:reduce){.brand-select-trigger svg{transition:none}}

/* The new select trigger supplies its own brand wave image. Do not render the legacy pseudo icon. */
.application-form .brand-select-trigger::before{content:none!important;display:none!important}


/* V3.9: Consistent compact section rhythm.
   No content, colours, typography, card arrangements, or backgrounds changed. */
@media (min-width: 861px) {
  .section { padding-top: 82px; padding-bottom: 82px; }
  .process-section { padding-top: 75px; padding-bottom: 78px; }
}
@media (min-width: 621px) and (max-width: 860px) {
  .section { padding-top: 58px; padding-bottom: 58px; }
  .process-section { padding-top: 56px; padding-bottom: 56px; }
  .hero-inner { padding-top: 56px; padding-bottom: 58px; }
}
@media (max-width: 620px) {
  /* The former 70px + 70px boundary is now about 33px + 34px. */
  .section { padding-top: 34px; padding-bottom: 34px; }
  .process-section { padding-top: 40px; padding-bottom: 42px; }
  .intro.section { padding-top: 36px; padding-bottom: 36px; }
  .services.section { padding-top: 42px; padding-bottom: 32px; }
  .apply-section.section { padding-top: 36px; padding-bottom: 36px; }
  .donate-section.section { padding-top: 38px; padding-bottom: 40px; }
  /* Compact within-section spacing, without crowding touch targets or text. */
  .story-principles { margin-top: 22px; }
  .services-grid { margin-top: 30px; }
  .apply-layout { gap: 25px; }
  .preview-warning { margin-top: 22px; }
  .donate-layout { gap: 30px; }
}
