@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Bricolage+Grotesque:wght@400;500;600;700&display=swap');
:root{
  --gold:#c9a227; --gold-hover:#ddbe45; --gold-soft:#faf3dd; --gold-bg:#fbf6e3;
  --night:#0a1a33; --navy:#0a1f44; --forest:#0b1b36;
  --text:#4a5a73; --text-light:#8a97ad; --white:#fff; --off-white:#f7f8fc; --border:#e7ebf3;
  --max-w:1440px; --px:clamp(16px,4vw,94px);
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-display:'Bricolage Grotesque','Inter',serif;
  --ease-out:cubic-bezier(0.22,1,0.36,1); --duration:550ms;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--night);background:var(--white);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{border:none;background:none;cursor:pointer;font-family:inherit}
ul,ol{list-style:none}
.container{max-width:var(--max-w);margin:0 auto;padding-left:var(--px);padding-right:var(--px)}
@media(max-width:768px){.container{padding-left:16px;padding-right:16px}}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.2}
h1{font-size:clamp(2.4rem,5.4vw,4.1rem);letter-spacing:-1.2px}
h2{font-size:clamp(2rem,4.3vw,2.75rem);letter-spacing:-.8px}
h3{font-size:clamp(1.3rem,2.5vw,1.625rem);letter-spacing:-.52px}
/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;white-space:nowrap;border-radius:70px;font-size:14px;font-weight:500;line-height:26px;letter-spacing:.14px;text-transform:capitalize;transition:all .3s ease;padding:13px 32px;cursor:pointer;isolation:isolate;border:1px solid transparent}
.btn-gold{background:var(--gold);color:#231a02}
.btn-gold:hover{background:var(--gold-hover)}
.btn-outline{border:1px solid rgba(255,255,255,.4);color:var(--white);background:transparent}
.btn-outline:hover{border-color:var(--white)}
.btn-outline-dark{border:1px solid rgba(74,90,115,.4);color:var(--text);background:transparent}
.btn-outline-dark:hover{border-color:var(--night)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#14305f}
.btn-sm{padding:8px 23px}
.btn-block{width:100%}
.btn-fill::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateX(-101%);transition:transform var(--duration) var(--ease-out)}
.btn-fill:hover::before{transform:translateX(0)}
.btn-outline.btn-fill::before{background:var(--white)}
.btn-outline.btn-fill:hover{color:var(--night)}
.btn-outline-dark.btn-fill::before{background:var(--night)}
.btn-outline-dark.btn-fill:hover{color:var(--white)}
.btn-arrow{position:relative;display:inline-flex;align-items:center;gap:10px;transition:transform 450ms var(--ease-out)}
.btn:hover .btn-arrow{transform:translateX(var(--shift,34px))}
.btn-arrow .arrow-enter{position:absolute;top:50%;left:-34px;transform:translateY(-50%);opacity:0;transition:opacity 450ms var(--ease-out);width:24px;height:24px;display:flex}
.btn:hover .btn-arrow .arrow-enter{opacity:1}
.btn-arrow .arrow-exit{display:flex;align-items:center;width:24px;height:24px;transition:opacity 450ms var(--ease-out)}
.btn:hover .btn-arrow .arrow-exit{opacity:0}
.btn-arrow svg{width:24px;height:24px;flex-shrink:0}
/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;width:100%;transition:background .3s,box-shadow .3s}
.site-header.dark-header{background:var(--night)}
.site-header.light-header{background:#fff}
.site-header.scrolled{box-shadow:0 1px 8px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;position:relative;z-index:2}
.logo-link{display:flex;align-items:center;gap:10px}
.logo-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--gold-hover),var(--gold));display:grid;place-items:center;color:#231a02;font-family:var(--font-display);font-weight:700;font-size:20px;flex-shrink:0}
.logo-text{font-family:var(--font-display);font-size:18.667px;font-weight:500;line-height:30.333px;letter-spacing:-.56px}
.nav-links{display:flex;align-items:center;gap:7px}
.nav-link{padding:7px 23px;font-size:14px;line-height:26px;transition:color .3s;position:relative;white-space:nowrap}
.dark-header .logo-text{color:var(--white)}
.dark-header .nav-link{color:rgba(255,255,255,.7)}
.dark-header .nav-link:hover{color:var(--white)}
.light-header .logo-text{color:var(--text)}
.light-header .nav-link{color:var(--text);font-weight:500}
.light-header .nav-link:hover{color:var(--night)}
.nav-link.active span{position:relative;z-index:1}
.light-header .nav-link.active::before{content:'';position:absolute;inset:-1px 0;border-radius:70px;border:1px solid #ecefd8;background:var(--gold-bg)}
.nav-actions{display:flex;align-items:center;gap:9px}
.mobile-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;gap:5px}
.mobile-toggle span{display:block;height:1.5px;width:20px;background:var(--white);transition:transform .3s,opacity .3s}
.light-header .mobile-toggle span{background:var(--night)}
.mobile-menu{display:none;position:fixed;inset:0;z-index:1;background:var(--white);padding:96px 24px 32px;overflow-y:auto}
.mobile-menu.open{display:flex;flex-direction:column;gap:2px}
.mobile-menu .nav-link{display:block;padding:12px 16px;font-size:16px;color:var(--text);border-radius:12px}
.mobile-menu .nav-link:hover{background:#f5f5f5}
.mobile-menu .btn{width:100%;margin-top:16px;text-align:center;justify-content:center}
@media(max-width:1023px){.nav-links,.nav-actions{display:none}.mobile-toggle{display:flex}}
/* the desktop nav only gets tight once the Donate link is in it */
@media(min-width:1024px) and (max-width:1200px){.nav-link{padding:7px 13px}.nav-links{gap:4px}}
/* ---------- hero ---------- */
.hero{position:relative;margin-top:-78px;min-height:100svh;min-height:720px;overflow:hidden;background:var(--forest);display:flex;align-items:flex-end}
.hero-bg{position:absolute;inset:0;transform:scale(1.04)}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% center}
@media(min-width:768px){.hero-bg img{object-position:center}}
.hero-shadow{position:absolute;bottom:-720px;left:calc(50% - 1449px);width:2845px;height:1101px;pointer-events:none}
.hero-shadow-inner{position:absolute;inset:0;border-radius:50%;background:rgba(7,17,36,.66);filter:blur(82px)}
@media(max-width:767px){.hero-shadow{top:22%;bottom:0;left:0;width:100%;height:auto;background:linear-gradient(to bottom,rgba(7,17,36,0) 0%,rgba(7,17,36,.55) 50%,rgba(7,17,36,.72) 100%);filter:none}.hero-shadow-inner{display:none}}
.hero-content{position:relative;z-index:10;padding:0 0 64px;width:100%}
@media(min-width:768px){.hero-content{padding-bottom:84px}}
.hero-inner{max-width:1259px;margin:0 auto;padding:0 16px;display:flex;flex-direction:column;gap:32px}
@media(min-width:1024px){.hero-inner{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:67px;padding:0 40px}}
@media(min-width:1280px){.hero-inner{padding:0}}
.hero h1{max-width:750px;color:var(--white)}
.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:32px;max-width:442px}
.hero-text p{font-size:17px;line-height:28px;color:rgba(255,255,255,.8)}
.hero-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:13px}
.hero-cards-container{display:none;position:absolute;inset:0;pointer-events:none;z-index:5}
@media(min-width:768px){.hero-cards-container{display:block}}
.hero-float-card{position:absolute;background:var(--white);border-radius:15px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:11px 12.5px;width:190px;opacity:0;transform:translateY(30px) scale(.94)}
/* ---------- marquee ---------- */
.logos-bar{height:102px;display:flex;align-items:center;overflow:hidden;background:var(--gold-bg)}
.logos-bar-inner{display:flex;align-items:center;width:100%;max-width:var(--max-w);margin:0 auto}
.logos-label{display:none;width:214px;flex-shrink:0;font-family:var(--font-display);font-size:20px;font-weight:500;line-height:27px;letter-spacing:-.4px;color:var(--night)}
@media(min-width:768px){.logos-label{display:block;margin-left:40px}}
@media(min-width:1280px){.logos-label{margin-left:98px}}
.logos-divider{display:none;height:60px;width:1px;flex-shrink:0;margin:0 36px 0 60px;background:#d8c98a}
@media(min-width:768px){.logos-divider{display:flex;align-items:center}}
.logos-track{position:relative;flex:1;min-width:0;overflow:hidden;padding:12px 0}
.logos-track::before,.logos-track::after{content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}
.logos-track::before{left:0;background:linear-gradient(90deg,var(--gold-bg),transparent)}
.logos-track::after{right:0;background:linear-gradient(270deg,var(--gold-bg),transparent)}
.logos-scroll{display:flex;width:max-content;animation:marquee 40s linear infinite}
.logos-scroll:hover{animation-play-state:paused}
.logos-set{display:flex;align-items:center;gap:58px;padding-right:58px;flex-shrink:0}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.logo-chip{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.3px;color:var(--night);white-space:nowrap;opacity:.72}
/* ---------- trusted ---------- */
.trusted-section{background:var(--white);padding:96px 0}
.trusted-header{max-width:740px;margin:0 auto 48px;text-align:center}
.trusted-header h2{color:var(--night)}
.trusted-header p{font-size:16px;line-height:1.7;color:var(--text);margin-top:12px}
.trusted-cards{max-width:var(--max-w);margin:40px auto 0;padding-left:var(--px);padding-right:var(--px);display:flex;flex-direction:column;gap:12px}
@media(min-width:1024px){.trusted-cards{margin-top:82px;flex-direction:row;gap:17px;height:443px}}
.trusted-card{position:relative;overflow:hidden;border-radius:32px;background:#dfe3ec;cursor:pointer;transition:flex-grow .5s ease-out,height .5s ease-out}
@media(max-width:1023px){.trusted-card{height:120px}.trusted-card.expanded{height:420px}}
@media(min-width:1024px){.trusted-card{height:100%;min-width:0;flex-basis:0;flex-grow:1}.trusted-card.expanded{flex-grow:2.53}}
.trusted-card img.trusted-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out}
.trusted-card:not(.expanded) img.trusted-photo{transform:scale(1.04)}
.trusted-card-overlay{position:absolute;inset:auto 0 0;z-index:10;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:24px;background:linear-gradient(to top,rgba(7,17,36,.72),transparent)}
@media(min-width:1024px){.trusted-card-overlay{bottom:0;padding:36px}}
.trusted-card-info{color:var(--white);min-width:0}
.trusted-card-info h4{font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:-.56px;white-space:nowrap}
.trusted-card-info p{font-size:16px;line-height:26px;white-space:nowrap;color:rgba(255,255,255,.85)}
.trusted-buttons{margin-top:55px;display:flex;flex-wrap:wrap;justify-content:center;gap:13px}
/* ---------- features ---------- */
.features-section{background:var(--off-white);padding:96px 0}
.features-header{max-width:642px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:21px}
.features-header h2{color:var(--night)}
.features-header p{max-width:442px;font-size:16px;line-height:26px;color:var(--text)}
.features-layout{max-width:1240px;margin:64px auto 0;padding:0 16px;display:flex;gap:64px}
@media(min-width:1024px){.features-layout{margin-top:109px}}
.features-nav{display:none;width:222px;flex-shrink:0}
@media(min-width:1024px){.features-nav{display:block}}
.features-nav-inner{position:sticky;top:160px;display:flex;flex-direction:column;gap:46px}
.features-nav-list{display:flex;flex-direction:column;gap:37px;position:relative}
.features-nav-line{position:absolute;left:11px;top:20px;bottom:14px;width:2px;background:#d4d9e4}
.features-nav-progress{position:absolute;left:0;top:0;width:2px;background:var(--gold);border-radius:2px;transition:height .3s}
.features-nav-item a{display:flex;align-items:center;gap:12px;height:27px}
.features-nav-dot{width:24px;height:24px;border-radius:50px;flex-shrink:0;background:#b9c1d1;transition:background .5s}
.features-nav-item.active .features-nav-dot{background:var(--gold)}
.features-nav-label{font-family:var(--font-display);font-size:20px;font-weight:500;line-height:27px;letter-spacing:-.4px;color:rgba(10,26,51,.5);white-space:nowrap;transition:color .5s}
.features-nav-item.active .features-nav-label{color:var(--night)}
.features-cards{flex:1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.feature-card{display:flex;flex-direction:column;gap:10px;overflow:hidden;border-radius:40px;border:1px solid var(--border);background:var(--white);padding:11px 11px 31px}
.feature-card-visual{position:relative;overflow:hidden;border-radius:31px;background:var(--gold-soft);height:243px}
.feature-card-visual img.feature-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.feature-card-content{display:flex;flex-direction:column;gap:6px;padding:0 22px}
.feature-card-content h3{color:var(--night)}
.feature-card-content p{max-width:409px;font-size:16px;line-height:26px;color:var(--text)}
.feature-widget{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--white);border-radius:18px;border:1px solid rgba(249,249,241,.98);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);padding:20px;max-width:88%}
/* ---------- stats bar ---------- */
.stats-section{background:var(--gold);padding:40px 0}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;text-align:center}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat-item h3{font-size:clamp(2rem,4vw,2.5rem);font-weight:700;color:#231a02;line-height:1.2;font-family:var(--font-display)}
.stat-item p{font-size:14px;color:rgba(35,26,2,.62);margin-top:4px}
/* ---------- how cards ---------- */
.how-section{background:var(--off-white);padding:96px 0}
.how-header{text-align:center;max-width:740px;margin-left:auto;margin-right:auto}
.how-header h2{color:var(--night)}
.how-header p{color:var(--text);font-size:16px;margin-top:12px}
.how-cards{max-width:1144px;margin:48px auto 0;display:flex;flex-direction:column;gap:20px}
.how-row{display:flex;flex-direction:column;gap:20px}
@media(min-width:1024px){.how-row{flex-direction:row}}
.how-card{display:flex;flex-direction:column;gap:19px;overflow:hidden;border-radius:40px;border:1px solid var(--border);background:var(--white);padding:11px 11px 37px;min-width:0;flex:1}
.how-card-visual{position:relative;overflow:hidden;border-radius:32px;background:var(--gold-soft);height:243px}
.how-card-visual img.how-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.how-card-content{display:flex;flex-direction:column;gap:6px;padding:0 22px}
.how-card-content h3{color:var(--night)}
.how-card-content p{font-size:16px;line-height:26px;color:var(--text)}
/* ---------- estimator (dark) ---------- */
.calc-section{position:relative;background:var(--night);padding:96px 0;overflow:hidden;color:var(--white)}
.calc-section .glow-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(720px 380px at 50% -4%,rgba(231,197,90,.34),rgba(201,162,39,.12) 45%,transparent 70%),radial-gradient(520px 300px at 12% 108%,rgba(201,162,39,.14),transparent 65%),radial-gradient(520px 300px at 88% 108%,rgba(201,162,39,.14),transparent 65%)}
.calc-inner{position:relative;z-index:1;max-width:900px;margin:0 auto}
.calc-header{text-align:center;margin-bottom:48px}
.calc-header h2{color:var(--white)}
.calc-header p{color:rgba(255,255,255,.7);font-size:16px;line-height:26px;margin-top:16px;max-width:560px;margin-left:auto;margin-right:auto}
.calc-card{background:#12295e;border:1px solid #2b4a8f;border-radius:32px;padding:40px}
@media(max-width:768px){.calc-card{padding:24px 20px}}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px}
@media(max-width:768px){.calc-row{grid-template-columns:1fr}}
.calc-field label{display:block;font-size:14px;color:rgba(255,255,255,.5);margin-bottom:12px}
.calc-field .value{font-size:28px;font-weight:600;color:var(--white);margin-bottom:16px}
.calc-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:rgba(255,255,255,.15);border-radius:4px;outline:none}
.calc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gold);cursor:pointer;border:2px solid var(--night)}
.calc-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--gold);cursor:pointer;border:2px solid var(--night)}
.calc-result{margin-top:40px;text-align:center;padding-top:32px;border-top:1px solid rgba(255,255,255,.1)}
.calc-result-label{font-size:14px;color:rgba(255,255,255,.5)}
.calc-result-value{font-size:48px;font-weight:700;color:var(--gold-hover);margin:8px 0;font-family:var(--font-display)}
.calc-result-breakdown{display:flex;justify-content:center;gap:32px;margin-top:16px;font-size:14px;color:rgba(255,255,255,.6);flex-wrap:wrap}
.calc-chart{margin-top:32px;height:200px;position:relative}
.calc-chart canvas{width:100%;height:100%;border-radius:12px}
/* ---------- protected ---------- */
.protected-section{background:var(--white);padding:96px 0}
.protected-header{text-align:center;max-width:600px;margin:0 auto 48px}
.protected-header h2{color:var(--night)}
.protected-header p{color:var(--text);font-size:16px;line-height:26px;margin-top:16px}
.protected-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1340px;margin:0 auto}
@media(max-width:768px){.protected-grid{grid-template-columns:1fr}}
.protected-card{text-align:center;padding:40px 24px;border:1px solid var(--border);border-radius:24px;transition:transform .3s,box-shadow .3s}
.protected-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.protected-card-icon{width:48px;height:48px;margin:0 auto 16px;color:var(--gold)}
.protected-card h4{font-size:18px;font-weight:600;color:var(--night);margin-bottom:8px;font-family:var(--font-body)}
.protected-card p{font-size:14px;line-height:22px;color:var(--text)}
.accreditation-banner{margin-top:48px;background:var(--night);border:1px solid rgba(201,162,39,.25);border-radius:24px;padding:0 0 0 48px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:stretch;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.acc-copy{min-width:0;align-self:center;padding:48px 0}.acc-media{position:relative;min-height:380px}.acc-media img{position:absolute;inset:0}@media(max-width:900px){.accreditation-banner{grid-template-columns:1fr;gap:0;padding:0}.acc-copy{padding:40px 28px 32px}.acc-media{min-height:260px}}
.accreditation-banner h3{font-size:clamp(32px,3.4vw,46px);font-weight:700;color:#fff;margin-bottom:16px;line-height:1.12;letter-spacing:-.02em}
.accreditation-banner p{color:rgba(255,255,255,.65);font-size:15px;line-height:1.6;margin-bottom:22px}
/* ---------- faq ---------- */
.faq-section{background:var(--off-white);padding:96px 0}
.faq-header{max-width:740px;margin:0 auto 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}
.faq-header h2{color:var(--night)}
.faq-header p{color:var(--text);font-size:16px}
.faq-list,.faq{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:4px}
.faq-item{background:var(--white);border-radius:16px;overflow:hidden}
.faq-question,.faq-q{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;font-size:16px;font-weight:500;color:var(--night);cursor:pointer;text-align:left;font-family:var(--font-body)}
.faq-icon{width:24px;height:24px;flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer,.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;padding:0 24px}
.faq-item.open .faq-answer,.faq-item.open .faq-a{max-height:500px;padding:0 24px 20px}
.faq-answer p,.faq-a{font-size:15px;line-height:24px;color:var(--text)}
/* ---------- cta ---------- */
.cta-section{position:relative;background:var(--night);padding:96px 0;overflow:hidden;text-align:center;color:var(--white)}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.cta-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,31,68,.86),rgba(10,31,68,.78))}
.cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px;max-width:600px;margin:0 auto}
.cta-inner h2{color:var(--white)}
.cta-inner p{color:rgba(255,255,255,.7);font-size:16px;line-height:26px}
.cta-buttons{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:8px}
/* ---------- footer ---------- */
.site-footer{background:var(--night);color:rgba(255,255,255,.6);padding:64px 0 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:48px;margin-bottom:48px}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
.footer-brand{display:flex;flex-direction:column;gap:16px}
.footer-brand .logo-link{color:var(--white)}
.footer-brand p{font-size:14px;line-height:22px;max-width:280px}
.footer-col h5{font-size:14px;font-weight:600;color:var(--white);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}
.footer-col a{display:block;font-size:14px;padding:4px 0;color:rgba(255,255,255,.5);transition:color .3s}
.footer-col a:hover{color:var(--gold-hover)}
.footer-regulatory{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.footer-reg-item{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.45)}
.footer-reg-item svg{width:14px;height:14px;color:#34d399}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;flex-direction:column;gap:16px;align-items:center}
@media(min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}
.footer-bottom p{font-size:13px;line-height:20px}
/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:100ms}.reveal-d2{transition-delay:200ms}.reveal-d3{transition-delay:300ms}.reveal-d4{transition-delay:400ms}
.reveal-scale{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .8s ease,transform .8s ease}
.reveal-scale.visible{opacity:1;transform:translateY(0) scale(1)}
/* ---------- inner pages ---------- */
.page-section{padding:96px 0}
.page-hero{padding:120px 0 64px;text-align:center;background:var(--off-white)}
.page-hero h1{color:var(--night);margin-bottom:16px}
.page-hero p{font-size:18px;line-height:28px;color:var(--text);max-width:600px;margin:0 auto}
.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:48px}
.filter-tab{padding:8px 20px;border-radius:70px;font-size:14px;font-weight:500;border:1px solid #e1e1e1;color:var(--text);transition:all .3s;cursor:pointer;background:var(--white)}
.filter-tab.active,.filter-tab:hover{background:var(--gold);border-color:var(--gold);color:#231a02}
.invest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:24px}
.invest-card{border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--white);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.invest-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.invest-card-img{height:180px;overflow:hidden}
.invest-card-img img{width:100%;height:100%;object-fit:cover}
.invest-card-body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1}
.invest-card-body h4{font-size:18px;color:var(--night);margin-bottom:4px;font-weight:600;font-family:var(--font-body)}
.invest-card-body h4 a{color:inherit}
.invest-card-meta{display:flex;justify-content:space-between;gap:8px;margin:8px 0;font-size:13px;flex-wrap:wrap}
.invest-card-meta span{color:var(--text)}
.invest-card-meta strong{color:var(--night)}
.invest-card .btn{width:100%;margin-top:auto}
.track-section{padding:96px 0}
.track-card,.form-wrap{max-width:860px;margin:0 auto;padding:40px;border:1px solid var(--border);border-radius:32px;background:var(--white)}
.track-card h3{color:var(--night);margin-bottom:8px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.form-group label,.lbl{display:block;font-size:14px;font-weight:500;color:var(--night);margin-bottom:2px}
.dash-main .lbl{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text);margin-bottom:6px}
.dash-main .qa-card b{font-size:14px}
.dash-main .qa-card span{font-size:12.5px}
.dash-main .bank-row b{font-size:14px}
/* ---- Dashboard weight calm-down: less bold everywhere ---- */
.side a{font-weight:400}
.side a.active{font-weight:600}
.side-label{font-weight:600}
.side-badge{font-weight:600}
.dash-main .kpi b{font-weight:500}
.dash-main .kpi-pill{font-weight:600}
.dash-main .fstat b{font-weight:500}
.dash-main .fstat span{font-weight:600}
.dash-main .qa-card b{font-weight:500}
.dash-main .empty-box b{font-weight:600}
.dash-main .mini-row b{font-weight:500}
.dash-main .bank-row b{font-weight:500}
.dash-main .tbl th{font-weight:600}
.dash-main .tbl td b{font-weight:600}
.dash-main .status{font-weight:600;font-size:9px;padding:2px 8px}
.dash-main .kpi-pill{font-size:9px;padding:2px 7px}
.dash-main .tab{font-size:10px;padding:4px 9px}
.dash-main .tab{font-weight:500}
.dash-main .tab.on{font-weight:600}
.dash-main .link-btn{font-weight:500}
.dash-main .more-link{font-weight:500}
.dash-main .chip{font-weight:500}
.dash-main .dash-back{font-weight:500}
.dash-main .funds-bank{font-weight:600}
.dash-main .funds-eyebrow{font-weight:600}
.dash-main .funds-live{font-weight:600}
.dash-main .funds-bar a{font-weight:500}
.dash-main .funds-row b{font-weight:500}
.form-group input,.form-group textarea,.form-group select,.form-control{padding:12px 16px;border:1px solid #e1e1e1;border-radius:12px;font-size:15px;color:var(--night);background:var(--white);transition:border-color .3s;outline:none;width:100%;font-family:inherit}
.form-group input:focus,.form-group textarea:focus,.form-control:focus{border-color:var(--gold)}
.form-group textarea{min-height:120px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:768px){.form-grid{grid-template-columns:1fr}}
.form-grid .full{grid-column:1/-1}
.contact-section{padding:96px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1000px;margin:0 auto}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:32px}}
.contact-info{display:flex;flex-direction:column;gap:24px}
.contact-info h3{color:var(--night)}
.contact-info p{color:var(--text);font-size:16px;line-height:26px}
.contact-item{display:flex;align-items:flex-start;gap:12px}
.contact-item svg{color:var(--gold);flex-shrink:0;margin-top:2px;width:20px;height:20px}
.contact-form{display:flex;flex-direction:column;gap:16px}
.steps-section{padding:96px 0;background:var(--white)}
.steps-grid{display:flex;flex-direction:column;gap:64px;max-width:1000px;margin:48px auto 0;padding:0 16px}
.step-item{display:flex;flex-direction:column;gap:32px}
@media(min-width:1024px){.step-item{flex-direction:row;align-items:center;gap:43px}.step-item:nth-child(even){flex-direction:row-reverse}}
.step-text{max-width:430px}
.step-badge{display:inline-block;padding:9px 26px;border-radius:70px;border:1px solid #e3d9b8;background:var(--off-white);font-size:14px;font-weight:500;color:rgba(74,90,115,.85);margin-bottom:24px}
.step-text h3{max-width:320px;color:var(--night);margin-bottom:17px}
.step-text p{font-size:16px;line-height:26px;color:var(--text)}
.step-visual{position:relative;width:100%;max-width:452px;height:400px;border-radius:40px;border:1px solid #ece5c8;background:var(--gold-soft);overflow:hidden;flex-shrink:0}
@media(min-width:1024px){.step-visual{width:452px;height:487px;border-radius:69px}}
.step-visual img.step-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.dash-grid{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
@media(max-width:960px){.dash-grid{grid-template-columns:1fr}}
.side{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:10px;position:sticky;top:90px;display:flex;flex-direction:column;gap:4px}
.side a{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;font-weight:400;font-size:14px;color:var(--text)}
.side a.active,.side a:hover{background:var(--gold-bg);color:var(--night)}
.panel{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:28px;margin-bottom:20px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
@media(max-width:768px){.kpi-grid{grid-template-columns:1fr 1fr}}
.kpi{background:var(--off-white);border:1px solid var(--border);border-radius:16px;padding:18px}
.kpi b{font-size:26px;color:var(--night);display:block;font-family:var(--font-display)}
.kpi span{font-size:13px;color:var(--text)}
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);padding:10px 12px;border-bottom:2px solid var(--border)}
.tbl td{padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.tbl tr:hover td{background:#fafbff}
.prog{display:flex;gap:8px;margin:22px 0}
.prog i{flex:1;height:8px;border-radius:100px;background:#e8edf6}
.prog i.done{background:linear-gradient(135deg,var(--gold-hover),var(--gold))}
.errorlist,.err{background:#fdecec;border:1px solid #f3b8b8;color:#8f1d1d;padding:12px 16px;border-radius:12px;margin:0 0 16px;font-size:14px;list-style:none}
.okmsg{background:#e5f6ec;border:1px solid #b9e5c9;color:#0d6b34;padding:12px 16px;border-radius:12px;margin:0 0 16px;font-size:14px}
.status{font-size:12px;font-weight:700;padding:5px 12px;border-radius:100px;white-space:nowrap}
.st-draft{background:#eef1f6;color:#475569}.st-submitted{background:#e8eefb;color:var(--navy)}.st-on_hold{background:#e9edf3;color:#54657a}
.st-under_review{background:#faf3dd;color:#7a5f0e}.st-info_required{background:#ffe9d6;color:#9a4a0a}
.st-approved{background:#e5f6ec;color:#0d6b34}.st-not_approved{background:#fdecec;color:#8f1d1d}
.st-withdrawn,.st-closed{background:#eef1f6;color:#667085}
.st-pending{background:#e8eefb;color:var(--navy)}.st-processing{background:#faf3dd;color:#7a5f0e}
.st-funded{background:#e5f6ec;color:#0d6b34}.st-rejected{background:#fdecec;color:#8f1d1d}

/* ---- Admin notices: announcement banner + popup modal (user dashboard) ---- */
.gw-banner{display:flex;align-items:flex-start;gap:12px;background:#fff8e6;border:1px solid #ecdc9e;border-radius:14px;padding:14px 16px;margin:0 0 16px}
.gw-banner.gw-banner-green{background:#eef8f0;border-color:#b9e5c9}
.gw-banner-body{flex:1;min-width:0}
.gw-banner-body b{display:block;color:var(--night);font-size:14px;margin-bottom:4px}
.gw-banner-body span{font-size:13.5px;line-height:1.6;color:var(--text)}
.gw-banner-x button{border:0;background:none;font-size:15px;cursor:pointer;color:var(--text-light);padding:2px 6px}
.gw-notice-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:4px 0 0}
.gw-notice-actions form{margin:0}
.gw-notice-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,17,36,.62)}
.gw-notice-modal.open{display:flex}
.gw-notice-card{position:relative;background:#fff;border-radius:24px;width:100%;max-width:520px;max-height:88vh;overflow:auto;padding:28px;box-shadow:0 24px 60px rgba(5,11,26,.35)}
.gw-notice-card h3{font-size:22px;color:var(--night);margin:0 0 10px;letter-spacing:-.01em}
.gw-notice-card p{font-size:14.5px;line-height:1.65;color:var(--text);margin:0 0 20px}
.gw-notice-card .btn{margin-right:8px}
.gw-notice-close-form{position:absolute;top:12px;right:12px;margin:0}
.gw-notice-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;color:var(--night)}
.gw-notice-card p.gw-notice-more{font-size:13px;color:var(--text-light);margin:22px 0 2px}
/* ---- Transaction detail modal: centered on desktop, bottom sheet on mobile ---- */
.txn-row{cursor:pointer}
.txn-row:hover{background:#fafbfc}
.txn-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.txn-caret{font-size:12px;color:var(--gold);font-weight:600;white-space:nowrap}
.txn-modal{position:fixed;inset:0;z-index:210;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,17,36,.62)}
.txn-modal.open{display:flex}
.txn-modal-card{position:relative;background:#fff;border-radius:22px;width:100%;max-width:520px;max-height:88vh;overflow:auto;padding:28px 28px 24px;box-shadow:0 24px 60px rgba(5,11,26,.35)}
.txn-modal-card .txn-res{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:44px;height:5px;border-radius:999px;background:#d9dee6;display:none}
.txn-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;color:var(--night)}
.txn-kind{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.txn-modal-card h3{font-size:21px;color:var(--night);margin:0 36px 10px 0;letter-spacing:-.01em}
.txn-modal-card .status{margin:2px 0 6px;display:inline-block}
.txn-kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eef1f6;font-size:13.5px}
.txn-kv:last-child{border-bottom:0}
.txn-kv dt{color:var(--text);flex:none}
.txn-kv dd{margin:0;color:var(--night);font-weight:600;text-align:right}
.txn-team-note{margin-top:16px;background:#fff8e6;border:1px solid #ecdc9e;border-radius:12px;padding:12px 14px}
.txn-team-note b{color:#7a5f0e;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em}
.txn-team-note p{margin:6px 0 0;font-size:13.5px;line-height:1.6;color:var(--night)}
.txn-timeline-wrap{margin-top:16px}
.txn-timeline-wrap>b{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text)}
.txn-timeline{list-style:none;margin:8px 0 0;padding:0 0 0 18px;border-left:2px solid #eef1f6}
.txn-timeline li{position:relative;font-size:13px;color:var(--text);padding:0 0 10px 8px}
.txn-timeline li::before{content:"";position:absolute;left:-23px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.txn-timeline li:last-child{padding-bottom:0}
.txn-modal-actions{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:640px){.txn-modal-actions .btn{width:100%;justify-content:center}}
@media(max-width:640px){
.txn-modal{align-items:flex-end;justify-content:stretch;padding:0}
.txn-modal-card{max-width:none;width:100%;max-height:70vh;max-height:70dvh;border-radius:22px 22px 0 0;transform:translateY(100%);transition:transform .34s ease;padding:26px 20px calc(110px + env(safe-area-inset-bottom));overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.txn-modal.open .txn-modal-card{transform:none}
.txn-modal-card .txn-res{display:block}
.txn-modal-card .status{font-size:9px;font-weight:600;padding:2px 8px}
.txn-modal-card .txn-kind{font-size:11px}
.txn-modal-card::-webkit-scrollbar{display:none;width:0;height:0}
.txn-modal-card h3{font-size:15px;font-weight:600;line-height:1.4}
.txn-modal-card .txn-kv,.txn-modal-card .txn-sv{font-size:13px}
.txn-modal-card .txn-kv dt,.txn-modal-card .txn-sv dt{font-weight:400}
.txn-modal-card .txn-kv dd{font-weight:500}
.txn-modal-card .txn-sv dd{font-weight:500}
.txn-modal-card .txn-msg{font-size:13px;font-weight:400;max-width:60%}
.txn-modal-card .txn-team-note p{font-size:13px;font-weight:400;line-height:1.6}
.txn-modal-card .txn-team-note b,.txn-modal-card .txn-timeline-wrap>b{font-size:11px;font-weight:600}
.txn-modal-card .txn-timeline li{font-size:12.5px;font-weight:400}
.txn-modal-card .txn-full{font-size:13px;font-weight:400}
.txn-modal-card .txn-date{font-size:12px;font-weight:400}
}
/* Push on/off toggle (Notifications page) */
.gw-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex:none}
.gw-switch input{position:absolute;opacity:0;width:0;height:0;margin:0}
.gw-switch-track{width:52px;height:28px;border-radius:999px;background:#cbd2dc;transition:background .2s ease;position:relative;box-shadow:inset 0 1px 3px rgba(10,31,68,.18)}
.gw-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(10,31,68,.3);transition:transform .2s ease}
.gw-switch input:checked + .gw-switch-track{background:var(--navy,#0A1F44)}
.gw-switch input:checked + .gw-switch-track::after{transform:translateX(24px)}
.gw-switch input:focus-visible + .gw-switch-track{outline:2px solid #C9A227;outline-offset:2px}
@media(max-width:640px){
.gw-notice-modal{align-items:flex-end;padding:0}
/* Announcement/custom-message popup only (NOT the homepage story sheet):
   keep the sheet short enough that the floating GTranslate pill and the
   Chaport chat bubble never cover its buttons. Card content scrolls. */
.gw-notice-card{max-width:none;border-radius:22px 22px 0 0;max-height:52vh;max-height:52dvh;padding:22px 20px calc(110px + env(safe-area-inset-bottom));overflow-y:auto}
.gw-notice-card .gw-notice-actions{padding-bottom:0}
}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:100px}
.badge.verified{background:#e5f6ec;color:#0d6b34;border:1px solid #b9e5c9}
.badge.sample{background:#faf3dd;color:#7a5f0e;border:1px solid #ecdc9e}
.badge.open{background:#e8eefb;color:var(--navy);border:1px solid #c6d5f2}
.badge.closed{background:#f1f2f6;color:#667085;border:1px solid #e2e5ec}
.badge.upcoming{background:#f0eafd;color:#5b3df5;border:1px solid #d7c9fb}
.badge.gold{background:var(--gold-soft);color:#7a5f0e;border:1px solid #ecdc9e}
.amount{font-weight:700;color:var(--night);font-size:16px}
.filters{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:20px;margin-bottom:32px;display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.filters .fld{display:flex;flex-direction:column;gap:6px}
.filters input,.filters select{padding:10px 12px;border:1px solid #e1e1e1;border-radius:12px;font-family:inherit;font-size:14px;min-width:170px}
.pick-card{display:flex;gap:14px;align-items:center;border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:12px;cursor:pointer;background:var(--white);transition:border-color .2s,box-shadow .2s}
.pick-card:hover{border-color:#d8c98a}
.pick-card:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:#fffdf4}
.pick-main{display:flex;gap:14px;align-items:flex-start;flex:1;min-width:0;cursor:pointer}
.pick-main input{margin-top:5px;accent-color:var(--gold);width:18px;height:18px;flex:none}
.pick-main h4{margin:0;color:var(--night);font-size:16px}
.pick-main .org{color:var(--text);font-size:13px;margin:3px 0 0}
.pick-gone{color:var(--text);font-size:14px;margin:6px 0 0}
.pick-main .meta{display:flex;gap:8px;flex-wrap:wrap}
.pick-facts{margin:4px 0 0;font-size:14px;color:var(--text)}
.pick-facts b{color:var(--navy)}
.pick-verified{color:#0d6b34;font-weight:600}
.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}
@media(max-width:960px){.detail-grid{grid-template-columns:1fr}}
.related-block{margin-top:52px}
.related-block h2{margin-bottom:20px}
@media(max-width:600px){.related-block{margin-top:34px}.related-block h2{margin-bottom:14px}}
.info-card{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:26px}
.kv{display:grid;grid-template-columns:150px 1fr;gap:10px;font-size:14.5px;padding:9px 0;border-bottom:1px dashed var(--border)}
.kv dt{color:var(--text);font-weight:500}.kv dd{margin:0;color:var(--night);font-weight:600}
.prose{line-height:1.8;color:var(--text);font-size:15.5px}
.prose h3{color:var(--night);margin:18px 0 8px}
.detail-hero{background:var(--off-white);padding:120px 0 64px;text-align:center}
.detail-hero.dash-hero{padding:72px 0 52px}
.detail-hero.dash-hero h1{font-size:clamp(28px,3.4vw,40px)}
.detail-hero h1{margin:12px 0;color:var(--night)}
.detail-hero p{color:var(--text);max-width:640px;margin:0 auto}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:960px){.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-3{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--border);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.card .cover{height:180px;width:100%;object-fit:cover}
.card-body{padding:24px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-body h3{font-size:18px;font-family:var(--font-body);font-weight:600}
.card-body p{color:var(--text);font-size:14.5px;line-height:1.65;margin:0}
.card-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--border)}
.meta{display:flex;gap:8px;flex-wrap:wrap}
.center{text-align:center}
@media(max-width:1023px){.desktop-only{display:none!important}}
@media(min-width:1024px){.mobile-only{display:none!important}}
.logo-lockup{display:inline-flex;flex-direction:row;align-items:center;gap:11px;color:var(--night);opacity:.78;white-space:nowrap;transition:opacity .3s}
.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;flex-shrink:0;color:var(--night)}
.brand-mark svg{width:34px;height:34px}
.brand-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}.logo-lockup:hover{opacity:1}.logo-lockup small{display:none;/* TEMP: hide partner role labels */font-family:font-family:var(--font-body);font-size:9px;font-weight:300;text-transform:uppercase;letter-spacing:.14em;color:var(--text);opacity:.8}
.brand-hawthorne .logo-word{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:22px}
.brand-veridian .logo-word{font-family:var(--font-body);font-weight:800;font-size:20px;letter-spacing:.01em}
.brand-atlas .logo-word{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:500;font-size:22px}
.brand-unesco .logo-word{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.18em}
.brand-meridian .logo-word{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:.06em;text-transform:uppercase}
.brand-cypress .logo-word{font-family:var(--font-body);font-weight:500;font-size:21px;letter-spacing:-.02em}.logo-img{height:56px;width:56px;border-radius:14px;object-fit:cover;flex-shrink:0}
.form-wrap h1{font-size:clamp(1.9rem,3vw,2.5rem);margin-bottom:14px}
.form-wrap label{display:block;font-size:14px;font-weight:500;color:var(--night);margin:14px 0 2px}
.form-wrap input[type=text],.form-wrap input[type=email],.form-wrap input[type=password],.form-wrap input[type=number],.form-wrap input[type=date],.form-wrap input[type=file],.form-wrap select,.form-wrap textarea{padding:12px 16px;border:1px solid #e1e1e1;border-radius:12px;font-size:15px;color:var(--night);background:var(--white);outline:none;width:100%;font-family:inherit;margin-top:6px}
.form-wrap input:focus,.form-wrap select:focus,.form-wrap textarea:focus{border-color:var(--gold)}
.form-wrap p{margin-bottom:6px;color:var(--text)}
.form-wrap .helptext{display:block;font-size:13px;color:var(--text-light);margin-top:4px}
.recipients-section{background:var(--off-white);padding:96px 0}
.recipients-header{max-width:642px;margin:0 auto 48px;text-align:center}
.recipients-header h2{color:var(--night)}
.recipients-header p{color:var(--text);font-size:16px;line-height:26px;margin-top:12px}
.recipients-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
@media(max-width:1023px){.recipients-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.recipients-grid{grid-template-columns:repeat(2,1fr)}}
.recipient-card{background:var(--white);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.recipient-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.recipient-card img{height:220px;width:100%;object-fit:cover;object-position:center 40%}
.recipient-card div{padding:16px;text-align:center}
.recipient-card h4{font-family:var(--font-body);font-size:18px;font-weight:600;color:var(--night)}
.recipient-card p{font-size:13px;color:var(--text);margin-top:2px}
.news-section{background:var(--white);padding:96px 0}
.recipients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1023px){.recipients-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.recipients-grid{grid-template-columns:1fr}}
.recipient-card div{padding:22px 24px 26px;text-align:left}
.recipient-award{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;color:#7a5f0e;background:var(--gold-soft);border:1px solid #ecdc9e;padding:6px 13px;border-radius:100px;margin-bottom:12px}
.recip-quote{font-family:var(--font-display);font-size:16.5px;line-height:1.6;color:var(--night);margin:0 0 14px}
.recipient-quote{font-family:var(--font-display);font-size:16.5px;line-height:1.6;color:var(--night);margin:0 0 14px}
/* ---- previous-site port: countdown / foundation / dreamer / funded-by / eligibility / donate / newsletter ---- */
.countdown-band{background:var(--night);color:#fff;padding:40px 0}
.countdown-inner{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left;gap:24px 48px}
.countdown-copy h2{font-size:clamp(26px,2.8vw,36px);line-height:1.15;letter-spacing:-.01em}
.countdown-side{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.countdown-copy{flex:1 1 300px}
.count-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,162,39,.5);border-radius:100px;padding:6px 14px;margin-bottom:14px}
.countdown-copy h2{color:#fff}
.countdown-copy p{color:rgba(255,255,255,.75);margin-top:10px;font-size:16px}
.countdown-timer{display:flex;gap:12px}
.countdown-timer div{background:#fff;border:1px solid #fff;border-radius:14px;min-width:74px;padding:10px 8px;text-align:center}
.countdown-timer b{display:block;font-family:var(--font-display);font-size:27px;color:#0a1f44;font-variant-numeric:tabular-nums}
.countdown-timer span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5b6577}
.foundation-band{background:var(--white);padding:96px 0;text-align:center}
.foundation-band .container{max-width:820px}
.founder-quote{font-family:var(--font-display);font-size:clamp(22px,3.4vw,32px);line-height:1.4;color:var(--night);margin:0}
.founder-name{color:var(--gold);font-weight:600;margin:12px 0 34px}
.foundation-band h2{color:var(--night)}
.foundation-text{color:var(--text);font-size:17px;line-height:1.75;margin-top:14px}
.dreamer-section{background:var(--off-white);padding:96px 0}
.cat-amount{font-weight:700;color:#7a5f0e;margin-top:10px}
.cat-link{display:inline-block;margin-top:10px;font-weight:600;color:var(--night);text-decoration:none;border-bottom:2px solid var(--gold)}
.cat-link:hover{color:#7a5f0e}
.funded-grid{margin-top:44px}
.fundedby-section{background:var(--white);padding:96px 0}
.fundedby-section .container{max-width:1240px}
.fund-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px 20px;align-items:start;padding:26px 0;border-bottom:1px solid var(--border)}
.fund-info h4{font-size:19px;font-weight:600;color:var(--night);margin:0}
.fund-info p{font-size:14.5px;line-height:1.6;color:var(--text);margin:6px 0 0}


.fund-pct{font-size:24px;font-weight:700;color:var(--night);text-align:right;white-space:nowrap}
.eligibility-section{background:var(--off-white);padding:96px 0}
.elig-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.elig-card{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:32px}
.elig-card h3{color:var(--night);margin-bottom:18px}
.elig-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.elig-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--text)}
.elig-list i{width:22px;height:22px;flex-shrink:0;margin-top:1px}
.qual i{color:#1a7f37}
.cant i{color:#b3372f}
.donate-section{background:var(--night);color:#fff;padding:96px 0;position:relative;overflow:hidden;scroll-margin-top:96px}
.donate-panel{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;max-width:1080px;margin:0 auto;text-align:left}
.donate-points{list-style:none;margin:26px 0;padding:0;display:flex;flex-direction:column;gap:14px}
.donate-points li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.82);font-size:15.5px}
.donate-points svg{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px}
.donate-card{background:#fff;border:1px solid #e8e2cd;border-radius:24px;padding:36px 34px;color:var(--night);box-shadow:0 24px 70px rgba(0,0,0,.35)}
.donate-card-title{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a6d00;margin:0 0 16px}
.donate-pills{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.donate-pills button{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--night);background:#f4f1e4;border:1px solid #e0d7b8;border-radius:14px;padding:18px 4px;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.donate-pills button:hover{border-color:#c9a227}
.donate-pills button.active{background:var(--gold);border-color:var(--gold);color:#0a1a33}
.donate-selected{font-size:15px;line-height:1.65;color:var(--text);margin:20px 0 24px;min-height:50px}
.donate-selected strong{color:var(--night)}
.donate-card .btn{width:100%;justify-content:center}
.donate-secure{display:flex;gap:8px;align-items:center;justify-content:center;font-size:13px;color:#7c8698;margin:16px 0 0}
.donate-secure svg{width:14px;height:14px}


.newsletter-band{background:var(--gold-soft);border-top:1px solid #ecdc9e;padding:56px 0}
.newsletter-inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.newsletter-inner>div{flex:1 1 280px}
.newsletter-inner h3{color:var(--night)}
.newsletter-inner p{color:var(--text);margin-top:6px}
.newsletter-form{display:flex;gap:10px;flex:1 1 320px}
.newsletter-form input{flex:1;padding:13px 18px;border:1px solid #e1e1e1;border-radius:100px;font-size:15px;font-family:inherit;outline:none;background:var(--white);color:var(--night)}
.newsletter-form input:focus{border-color:var(--gold)}
@media(max-width:1023px){.donate-panel{grid-template-columns:1fr;gap:36px}.fundby-grid{grid-template-columns:1fr;gap:44px}.fundby-intro{position:static}.fund-row{grid-template-columns:22px minmax(0,1fr) auto;gap:6px 14px;padding:22px 0}.elig-grid{grid-template-columns:1fr}}
@media(max-width:640px){.countdown-timer{flex-wrap:wrap;justify-content:center}.newsletter-form{flex-direction:column}.newsletter-form .btn{width:100%}.donate-pills{grid-template-columns:repeat(2,1fr)}}

/* GW emblem cropped from the vertical lockup for the navbar */
.logo-full{display:block;height:54px;width:auto}
.logo-nav-icon{display:block;height:62px;width:auto}
@media(max-width:1023px){.logo-nav-icon{height:42px}.header-inner{padding:12px 0}}

/* footer lockup floats on a white card so navy type reads on navy */

.footer-logo-full{display:block;width:148px;height:auto}
/* funded stories section (previously an unwrapped grid) */
.funded-stories{background:var(--white);padding:88px 0}
.funded-header{max-width:740px;margin:0 auto 44px;text-align:center}
.funded-header h2{color:var(--night)}
.funded-header p{color:var(--text);font-size:16px;line-height:26px;margin-top:12px}
.funded-stories .funded-grid{margin-top:0}

@media(max-width:860px){.countdown-inner{flex-direction:column;text-align:center;justify-content:center}.countdown-side{justify-content:center}}
@media(max-width:760px){.features-cards{grid-template-columns:1fr}}
@media(max-width:768px){.protected-grid{grid-template-columns:1fr}}

.donate-custom-row{display:flex;align-items:center;gap:4px;margin-top:12px;background:#f4f1e4;border:1px solid #e0d7b8;border-radius:14px;padding:0 18px}.donate-custom-row:focus-within{border-color:var(--gold)}.donate-currency{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--night)}.donate-custom-row input{flex:1;min-width:0;width:100%;border:0;background:transparent;outline:none;font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--night);padding:18px 0}.donate-custom-row input::placeholder{color:#9a917a;font-size:16px;font-weight:400}
.donate-info h2{color:#fff;font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:-.02em;margin:0 0 16px}
.donate-lede{color:rgba(255,255,255,.78);font-size:17px;line-height:1.7;margin:0 0 28px}

.fundby-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px 72px;align-items:start}
.fundby-intro{position:sticky;top:96px}


.fundby-intro h2{font-size:clamp(32px,3.6vw,48px);line-height:1.1;letter-spacing:-.02em;color:var(--night);margin:0 0 20px}
.fundby-intro h2 em{font-style:italic}
.fundby-intro>p{font-size:16.5px;line-height:1.7;color:var(--text);margin:0 0 30px}
.fundby-ledger{border-top:1px solid var(--border)}
.fund-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex:none;margin-top:7px}

.story-cat{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.story-sub{font-size:13.5px;color:var(--text);margin:0}
.funded-grid .invest-card-body>p{flex:1}
.funded-grid p.story-sub{flex:none}
.story-amount{display:flex;align-items:baseline;gap:10px;border-top:1px dashed var(--border);margin:auto 0 0;padding-top:16px}
.story-amount strong{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--night)}

.recipient-card{display:flex;flex-direction:column}
.recipients-grid .recipient-card>div{display:flex;flex-direction:column;gap:8px;flex:1}
.recipients-grid .recipient-quote{flex:1;margin:0;font-family:var(--font-display);font-size:16.5px;line-height:1.6;color:var(--night)}
.recipients-grid .story-sub{font-size:13.5px;margin-top:0}

.trusted-info{position:absolute;right:14px;bottom:14px;z-index:11;width:46px;height:46px;border-radius:14px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--night);box-shadow:0 8px 22px rgba(0,0,0,.28);transition:transform .25s,border-color .25s,opacity .3s;opacity:0;pointer-events:none;transform:translateY(6px)}
.trusted-card.expanded .trusted-info{opacity:1;pointer-events:auto;transform:none}
.trusted-info:hover{transform:translateY(-2px);border-color:var(--gold)}
.trusted-info-i{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;font-style:italic;line-height:1;color:var(--gold)}

.story-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,17,36,.62);opacity:0;pointer-events:none;transition:opacity .3s}
.story-modal.open{opacity:1;pointer-events:auto}
.story-modal-card{position:relative;background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:88vh;overflow:auto;transform:translateY(18px);transition:transform .3s}
.story-modal.open .story-modal-card{transform:none}
.story-modal-media img{width:100%;height:240px;object-fit:cover;display:block;border-radius:24px 24px 0 0;background:#dfe3ec}
.story-modal-body{padding:26px 28px 28px}
.story-modal-body h3{font-family:var(--font-display);font-size:28px;color:var(--night);margin:8px 0 4px;letter-spacing:-.01em}
.story-modal-quote{font-size:15.5px;line-height:1.7;color:var(--text);margin:14px 0 0}
.story-modal .story-amount{margin-top:18px}
.story-modal-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.story-modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--night);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.story-modal-close svg{width:18px;height:18px}
@media(max-width:640px){.story-modal-media img{height:180px}.story-modal-actions .btn{width:100%;justify-content:center}}
/* ---- Story modal becomes a bottom sheet on mobile only (desktop stays a centered modal) ---- */
@media(max-width:640px){
.story-modal{align-items:flex-end;justify-content:stretch;padding:0}
.story-modal-card{max-width:none;width:100%;max-height:76vh;max-height:76dvh;border-radius:22px 22px 0 0;transform:translateY(100%);transition:transform .34s ease;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}
.story-modal.open .story-modal-card{transform:none}
.story-modal-media{position:relative;flex:0 0 auto}
.story-modal-media img{height:200px;border-radius:22px 22px 0 0}
.story-modal-card::before{content:"";position:absolute;top:10px;left:50%;transform:translateX(-50%);width:44px;height:5px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(0,0,0,.25);margin:0;z-index:3}
.story-modal-close{z-index:4}
.story-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding:18px 20px 0;display:flex;flex-direction:column}
.story-modal-body::-webkit-scrollbar{display:none;width:0}
.story-modal-actions{position:sticky;bottom:0;background:#fff;margin:14px -20px 0;padding:12px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px rgba(0,0,0,.06)}
.story-modal-actions .btn{width:100%;justify-content:center}
}

/* TEMP-HIDE funded-stories per user 2026-10-14 -- restore by deleting this line */.funded-stories{display:none}

.how-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1240px;margin:72px auto 0}
.how-step{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:14px 30px 32px;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s,box-shadow .3s}
.how-step:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.how-num{font-family:var(--font-display);font-size:84px;font-weight:700;line-height:.9;color:#e0e6f0;letter-spacing:-.04em;margin-bottom:20px;user-select:none}
.how-step h3{font-family:var(--font-display);font-size:21px;font-weight:700;color:var(--night);margin:0 0 10px;letter-spacing:-.01em}
.how-step p{font-size:14.5px;line-height:1.65;color:var(--text);flex:1}
.how-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:600;font-size:14.5px;color:var(--night);text-decoration:none}
.how-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1023px){.how-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.how-steps{grid-template-columns:1fr;margin-top:48px}.how-num{font-size:64px}}

/* Inner-page shell: breathing room for sections without their own padding. Home bands are excluded (they carry explicit padding). */
body:not(.home) main>section{padding:72px 0 96px}
@media(max-width:600px){body:not(.home) main>section{padding:56px 0 72px}}

/* R39 mobile fixes: (1) countdown-copy 300px flex-basis became dead height in column mode; (2) trusted-buttons sits outside .container so needs its own side padding; (3) fundby 1fr stacking at line ~475 is overridden by the later base rule, re-asserted here with higher specificity. */
@media(max-width:860px){.countdown-inner .countdown-copy{flex:1 1 auto}}
@media(max-width:600px){.trusted-buttons{flex-direction:column;align-items:stretch;padding:0 20px}.trusted-buttons .btn{width:100%}}
@media(max-width:1023px){.fundedby-section .fundby-grid{grid-template-columns:1fr;gap:44px}.fundedby-section .fundby-intro{position:static}}

/* Grant cards share the recipient-story anatomy (gold eyebrow, serif body, dashed amount). */
.grant-story .invest-card-img{height:220px}
.grant-story .invest-card-body{padding:22px 24px 26px;gap:8px}
.grant-story h4{font-size:20px}
.grant-story-summary{flex:1;margin:0;font-family:var(--font-display);font-size:16.5px;line-height:1.6;color:var(--night)}
.grant-story-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:14.5px;color:var(--night);text-decoration:none}
.grant-story-link:hover{text-decoration:underline;text-underline-offset:4px}


/* Footer columns fill the row height so all columns end together. */
.footer-col{display:flex;flex-direction:column;height:100%}
.footer-col a{flex:1;display:flex;align-items:center}

.detail-hero .meta{justify-content:center}

.how-section{scroll-margin-top:96px}

/* Donate section: volunteer photo under a navy shade (revertible). */
.donate-section.has-bg{background:var(--navy)}
.donate-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.donate-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,31,68,.92) 20%,rgba(10,31,68,.78) 55%,rgba(10,31,68,.62))}
.donate-section.has-bg .container{position:relative;z-index:1}

/* ---- Auth split-screen (round 52) ---- */
.auth-split{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.05fr 1fr;background:#fff}
.auth-visual{position:relative;overflow:hidden;min-height:420px}
.auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.auth-shade{position:absolute;inset:0;background:linear-gradient(200deg,rgba(10,31,68,.30) 0%,rgba(10,31,68,.55) 55%,rgba(10,31,68,.82) 100%)}
.auth-caption{position:absolute;left:0;right:0;bottom:0;padding:56px 48px 44px;color:#fff}
.auth-eyebrow{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2,#e7c66a)}
.auth-caption h2{color:#fff;font-size:clamp(26px,3vw,38px);line-height:1.12;margin:12px 0 10px;font-weight:800;letter-spacing:-.01em}
.auth-caption p{color:rgba(255,255,255,.86);font-size:15.5px;line-height:1.65;margin:0;max-width:44ch}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:56px 40px;background:#fff}
.auth-card{width:100%;max-width:430px}
.auth-card .auth-logo{display:inline-block;margin-bottom:22px}
.auth-card .auth-logo img{height:44px;width:auto}
.auth-card h1{font-size:30px;color:var(--navy);margin:0 0 8px;font-weight:800;letter-spacing:-.01em}
.auth-card .auth-sub{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 26px}
.auth-form p{margin:0 0 16px}
.auth-form label{display:block;font-size:13px;font-weight:500;color:var(--navy);margin-bottom:6px}
.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{width:100%;padding:13px 14px;border:1.5px solid #dfe4ee;border-radius:12px;font-size:15px;background:#fbfcff;color:var(--night);transition:border-color .15s,box-shadow .15s}
.auth-form input:focus{outline:none;border-color:var(--gold,#C9A227);box-shadow:0 0 0 3px rgba(201,162,39,.18);background:#fff}
.auth-form .helptext{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.55}
.auth-form .errorlist{list-style:none;margin:0 0 12px;padding:10px 14px;background:#fdeeee;border:1px solid #f3c2c2;border-radius:10px;color:#a01f1f;font-size:13.5px}
.auth-form .btn-block{width:100%;justify-content:center;margin-top:6px;padding:14px}
.auth-alt{margin-top:22px;padding-top:20px;border-top:1px solid #e3e8f0;font-size:14px;color:var(--muted);line-height:2}
.auth-alt a{color:var(--navy);font-weight:700}
.auth-alt a:hover{color:#8a6f14}
.auth-check{width:60px;height:60px;border-radius:50%;background:#e9f6ec;display:flex;align-items:center;justify-content:center;font-size:26px;color:#1d7a38;margin-bottom:20px}
@media(max-width:900px){
.auth-split{grid-template-columns:1fr;min-height:0}
.auth-visual{min-height:300px}
.auth-caption{padding:36px 26px 28px}
.auth-panel{padding:40px 24px 56px}
}

/* ---- Chromeless auth (round 53) ---- */
.auth-page .site-header,.auth-page .site-footer{display:none}
.auth-page main{padding:0}
.auth-split{position:relative}
.auth-float-logo{position:absolute;top:20px;left:24px;z-index:3;display:inline-flex;align-items:center;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:999px;padding:7px 18px 7px 9px;box-shadow:0 8px 24px rgba(10,31,68,.28);text-decoration:none}
.auth-float-logo img{height:32px;width:auto;display:block}

/* ---- Auth refinements (round 54) ---- */
.auth-float-logo{background:transparent;backdrop-filter:none;box-shadow:none;padding:0}
.auth-float-logo img{height:40px;filter:drop-shadow(0 2px 10px rgba(10,31,68,.55))}
.auth-split{min-height:100vh;min-height:100svh;height:100vh;height:100svh}
.auth-visual{height:100%}
.auth-panel{max-height:100vh;max-height:100svh;overflow-y:auto}
.auth-form p .helptext{display:none}
.auth-form p.show-help .helptext{display:block}
@media(max-width:900px){
.auth-split{height:auto;min-height:0}
.auth-visual{height:auto}
.auth-panel{max-height:none;overflow:visible}
}

/* ---- Auth scroll fix (round 55): margin-auto centers without clipping top ---- */
.auth-panel{align-items:stretch;justify-content:flex-start}
.auth-card{margin:auto}

/* ---- Inset rounded auth visual (round 57) ---- */
.auth-page{background:#fff}
.auth-page main{background:#fff}
.auth-split{box-sizing:border-box;padding:18px;background:#fff}
.auth-visual{border-radius:22px;height:100%;min-height:0}
.auth-panel{background:#fff;border-radius:22px;min-height:0}
.auth-float-logo{top:36px;left:42px}
@media(max-width:900px){
.auth-split{padding:12px}
.auth-visual{border-radius:16px}
.auth-panel{border-radius:16px}
.auth-float-logo{top:26px;left:28px}
}

/* ---- Column gap + slim scrollbar (round 58) ---- */
.auth-split{column-gap:18px}
.auth-panel{scrollbar-width:thin;scrollbar-color:#c3ccd9 transparent}
.auth-panel::-webkit-scrollbar{width:6px}
.auth-panel::-webkit-scrollbar-track{background:transparent}
.auth-panel::-webkit-scrollbar-thumb{background:#c3ccd9;border-radius:999px}
.auth-panel::-webkit-scrollbar-thumb:hover{background:#a7b2c4}
@media(max-width:900px){
.auth-split{column-gap:0;row-gap:12px}
}

/* ---- Tighter outer gap (round 59) ---- */
.auth-split{padding:10px}
.auth-float-logo{top:26px;left:30px}
@media(max-width:900px){
.auth-split{padding:8px}
.auth-float-logo{top:20px;left:22px}
}

/* ---- Plain form side (round 60): image floats as a card, form breathes free ---- */
.auth-split{height:auto;min-height:100vh;min-height:100svh}
.auth-visual{position:sticky;top:10px;height:calc(100vh - 20px);height:calc(100svh - 20px)}
.auth-panel{background:transparent;border-radius:0;max-height:none;overflow:visible}

/* ---- Mobile auth fix (round 62): sticky/full-height visual is desktop-only ---- */
@media(max-width:900px){
.auth-split{min-height:0}
.auth-visual{position:relative;height:320px;min-height:0}
.auth-panel{padding:36px 24px 52px}
.auth-caption h2{font-size:25px}
}
.pick-continue{width:auto;min-width:260px;padding-left:34px;padding-right:34px;margin-bottom:6px}
.pick-details{flex:none;font-size:14px;font-weight:600;color:var(--navy);text-decoration:none;border:1px solid var(--line);border-radius:100px;padding:8px 16px}
.pick-details:hover{border-color:var(--gold);color:#7a5f0e}
.pick-card .badge{font-size:9px;padding:1px 8px;font-weight:600;letter-spacing:.02em}
.pick-body{flex:1;min-width:0}
.pick-side{display:flex;align-items:center;gap:16px;flex:none}
@media(max-width:768px){.pick-card{flex-wrap:wrap}.pick-main{flex:1 1 100%}.pick-side{width:100%;justify-content:flex-start;flex-wrap:wrap;row-gap:10px}}
.mission-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:768px){.mission-split{grid-template-columns:1fr;gap:28px}}
.mission-img{width:100%;height:420px;object-fit:cover;border-radius:24px}
@media(max-width:768px){.mission-img{height:260px}}
.v-icon{width:46px;height:46px;border-radius:14px;background:var(--gold-soft);display:inline-flex;align-items:center;justify-content:center}
.v-icon i{width:22px;height:22px;color:#7a5f0e}
.how-steps.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.about-banner{width:100%;height:460px;object-fit:cover;border-radius:28px}
@media(max-width:768px){.about-banner{height:260px}}
.stats-dark{background:var(--night)}
.stats-dark .stat-item h3{color:#fff}
.stats-dark .stat-item p{color:var(--gold)}
@media(min-width:768px){.stats-dark .stat-item h3{font-size:clamp(3rem,5vw,4.25rem)}}
body:not(.home) main>section.stats-dark{padding:40px 0}
@media(max-width:600px){body:not(.home) main>section.stats-dark{padding:28px 0}}
@media(min-width:768px){.stat-item h3{font-size:clamp(3rem,5vw,4.25rem)}}
body:not(.home) main>section.about-intro{padding:48px 0 64px}
.about-intro .about-banner{margin-bottom:0}
@media(max-width:600px){.stats-section{padding:28px 0}}
.invest-card .badge{font-size:9px;padding:1px 8px;font-weight:600;letter-spacing:.02em}

/* ---- Dashboard app shell: auth-style inset frame, original sidebar look ---- */
.dash-page .site-header,.dash-page .site-footer{display:none}
.dash-page main{padding:0;background:#fff}
.dash-shell{box-sizing:border-box;padding:18px;background:#fff;display:grid;grid-template-columns:280px 1fr;gap:18px;min-height:100vh;min-height:100svh;align-items:stretch;max-width:none;margin:0}
.dash-shell.side,.dash-shell .side{position:sticky;top:18px;height:calc(100vh - 36px);height:calc(100svh - 36px);min-height:calc(100vh - 36px);overflow-y:auto}
.dash-main{min-width:0;padding:28px 28px 44px;display:flex;flex-direction:column;font-size:14px}
.dash-head{margin:0 0 20px}
.dash-head h1{color:var(--night);margin:0 0 6px;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.01em}
.dash-head p{color:var(--text);margin:0;font-size:13.5px}
.dash-back{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;font-size:13px;font-weight:600;color:var(--text);border:1px solid var(--border);background:var(--white);border-radius:999px;padding:7px 14px;margin-bottom:14px}
.dash-back:hover{border-color:var(--gold);color:var(--night)}
.dash-main .panel h3{font-size:15px}
.dash-main .panel-head p{font-size:13px}
.dash-main .tbl{font-size:13px}
.dash-main .tbl td{padding:11px 12px}
.kpi b{font-size:21px}
.kpi span{font-size:12.5px}
.empty-box{border:1.5px dashed #ddd5bd;border-radius:18px;background:#fbf9f3;padding:34px 20px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.empty-box>b{color:var(--night);font-size:14px;font-weight:600}
.empty-box>span{color:var(--text);font-size:13px;max-width:420px}
.empty-box .btn{margin-top:10px}
.empty-ico{width:64px;height:64px;border-radius:18px;background:#f1e8d2;color:#9a7414;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}
.empty-box>span.empty-glyph{font-size:36px;line-height:1;color:#9a7414;margin-bottom:12px;font-weight:400;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",sans-serif}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;padding:24px 14px;color:var(--text);font-size:13.5px}
.empty-state b{color:var(--night);font-size:15px}
.mini-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13.5px;align-items:flex-start}
.mini-ico{width:34px;height:34px;border-radius:11px;background:var(--gold-bg);color:var(--night);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.dash-shell .side a:last-child{margin-top:auto}
.dash-shell .side{scrollbar-width:thin;scrollbar-color:#c3ccd9 transparent}
.dash-shell .side::-webkit-scrollbar{width:5px}
.dash-shell .side::-webkit-scrollbar-track{background:transparent}
.dash-shell .side::-webkit-scrollbar-thumb{background:#c3ccd9;border-radius:999px}
.dash-shell .side::-webkit-scrollbar-thumb:hover{background:#a7b2c4}
@media(max-width:960px){
.dash-shell{grid-template-columns:1fr}
.dash-shell .side{position:static;height:auto;min-height:0}
.dash-shell .side a:last-child{margin-top:0}
.dash-main{padding:24px 8px 40px}
}

/* ---- Dashboard feature set: funds hero, actions, tabs, lists ---- */
.side-label{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);padding:14px 14px 4px}
.side-label:first-child{padding-top:6px}
.side-badge{margin-left:auto;background:var(--gold);color:var(--night);font-size:10px;font-weight:600;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.dash-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:18px}
.icon-btn{position:relative;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:var(--white);display:inline-flex;align-items:center;justify-content:center;color:var(--night)}
.icon-btn:hover{background:var(--gold-bg)}
.notif-dot{position:absolute;top:8px;right:9px;width:9px;height:9px;border-radius:999px;background:#b3261e;border:2px solid var(--white)}
.funds-hero{position:relative;overflow:hidden;color:#fff;border-radius:26px;padding:24px 24px 20px;margin-bottom:20px;background:radial-gradient(1000px 460px at 88% -12%,rgba(64,110,255,.32),transparent 60%),radial-gradient(820px 440px at 6% 112%,rgba(201,162,39,.26),transparent 55%),linear-gradient(135deg,#050b1a 0%,#0A1F44 58%,#0d2550 100%);box-shadow:0 24px 60px rgba(5,11,26,.35);animation:rise .5s ease both}
.funds-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none;animation:glowDrift 9s ease-in-out infinite alternate}
.g-gold{width:300px;height:300px;right:-80px;top:-130px;background:radial-gradient(circle,rgba(201,162,39,.50),transparent 65%)}
.g-blue{width:400px;height:400px;left:-140px;bottom:-180px;background:radial-gradient(circle,rgba(59,110,255,.48),transparent 65%);animation-delay:-4s}
@keyframes glowDrift{from{transform:translate(0,0) scale(1)}to{transform:translate(48px,30px) scale(1.12)}}
.funds-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.14) 50%,transparent 58%);transform:translateX(-130%);animation:sheen 1.8s ease .35s 1 forwards;pointer-events:none}
@keyframes sheen{to{transform:translateX(130%)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.7)}70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.kpi-grid .kpi:nth-child(1){animation:rise .45s .08s ease both}
.kpi-grid .kpi:nth-child(2){animation:rise .45s .14s ease both}
.kpi-grid .kpi:nth-child(3){animation:rise .45s .2s ease both}
.kpi-grid .kpi:nth-child(4){animation:rise .45s .26s ease both}
.dash-main .panel{animation:rise .45s .1s ease both}
.funds-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}
.funds-bank{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.88)}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#34d399;animation:pulse 2s infinite}
.funds-eye{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.funds-eye:hover{background:rgba(255,255,255,.22)}
.funds-balance{position:relative;z-index:1;margin-top:2px}
.funds-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.funds-amount{font-family:var(--font-display);font-size:clamp(36px,4vw,48px);margin:8px 0 6px;color:#fff;line-height:1}
.funds-amount .funds-cur{font-size:15px;color:rgba(255,255,255,.7);font-weight:600;letter-spacing:.06em}
.funds-acct{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.75);font-size:13.5px;margin:0 0 8px}
.funds-live{color:#7bd8a4;font-weight:700}
.funds-meta{color:rgba(255,255,255,.72);font-size:14px;margin:0;max-width:460px}
.funds-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 10px}
.fstat{padding:14px 22px;border-left:1px solid var(--border)}
.fstat:first-child{border-left:0;padding-left:12px}
.fstat span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:6px}
.fstat b{font-family:var(--font-display);font-size:20px;color:var(--night)}
.fstat b.pos{color:#0d6b34}
.funds-bar{position:relative;z-index:1;background:#fff;border-radius:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:14px 10px;margin-top:18px;box-shadow:0 14px 32px rgba(0,0,0,.28)}
.funds-bar a{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--night);padding:8px 4px;border-radius:14px}
.funds-bar a:hover{background:#f2f5fb}
.fchip{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.fchip.gold{background:#fdf3d7;color:#9a7414}
.fchip.green{background:#e1f6e9;color:#0d6b34}
.fchip.blue{background:#e2ebfd;color:#1d4fd7}
.fchip.purple{background:#ebe4fb;color:#5b2fd6}
.qa-card:nth-child(1) .qa-ico{background:#fdf3d7;color:#9a7414}
.qa-card:nth-child(2) .qa-ico{background:#e1f6e9;color:#0d6b34}
.qa-card:nth-child(3) .qa-ico{background:#e2ebfd;color:#1d4fd7}
.qa-card:nth-child(4) .qa-ico{background:#ebe4fb;color:#5b2fd6}
.funds-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14.5px}
.funds-row:last-child{border-bottom:0}
.funds-row span{color:var(--text)}
.funds-row b{color:var(--night)}
.funds-row b.pos{color:#0d6b34}
.funds-row.total b{font-size:16px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.panel-head h3{margin:0 0 4px;color:var(--night)}
.panel-head p{margin:0;color:var(--text);font-size:13.5px}
.more-link{font-size:13.5px;font-weight:600;white-space:nowrap}
.kpi{position:relative}
.kpi-pill{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;background:#e8eefb;color:var(--navy);padding:3px 10px;border-radius:999px}
.kpi-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:768px){.kpi-grid.cols-3{grid-template-columns:1fr 1fr}}
.qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.qa-grid{grid-template-columns:1fr 1fr}}
.qa-card{background:var(--off-white);border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:4px;color:var(--night)}
.qa-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.qa-ico{width:38px;height:38px;border-radius:12px;background:var(--gold-bg);color:var(--night);display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}
.qa-card b{font-size:15px}
.qa-card span{font-size:13px;color:var(--text)}
.qa-card em{font-style:normal;color:var(--text-light);align-self:flex-end}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tab{font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid var(--border);color:var(--text);background:var(--white)}
.tab:hover{border-color:var(--gold);color:var(--night)}
.tab.on{background:var(--night);border-color:var(--night);color:#fff}
.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dash-cols .panel{margin-bottom:20px}
@media(max-width:900px){.dash-cols{grid-template-columns:1fr}.funds-bar{grid-template-columns:repeat(2,1fr)}.funds-strip{grid-template-columns:1fr 1fr}.fstat:nth-child(3){border-left:0;padding-left:12px}}
/* ---- Dashboard mobile nav: hamburger + slide-in sidebar ---- */
.dash-topbar{display:none}
.dash-backdrop{display:none}
.saved-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
@media(max-width:960px){
.dash-topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:55;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:10px 14px}
.dash-topbar .mobile-toggle{display:flex}
.dash-topbar .mobile-toggle span{background:var(--night)}
.dash-brand{font-family:var(--font-display);font-size:16px;color:var(--night)}
.dash-brand small{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-light);margin-left:6px}
.dash-bell{margin-left:auto;width:38px;height:38px}
.dash-shell .side{position:fixed;left:0;top:0;bottom:0;height:100vh;height:100dvh;width:282px;max-width:86vw;z-index:70;border-radius:0 20px 20px 0;border:0;border-right:1px solid var(--border);box-shadow:24px 0 60px rgba(5,11,26,.22);transform:translateX(-106%);transition:transform .32s ease;overflow-y:auto;margin:0}
.dash-shell .side.open{transform:none}
.dash-shell .side a:last-child{margin-top:0}
.dash-backdrop.open{display:block;position:fixed;inset:0;z-index:65;background:rgba(5,11,26,.45)}
.dash-main{padding:16px 10px 36px}
.saved-grid{grid-template-columns:1fr}
.dash-toolbar{display:none}
.dash-main .panel{padding:18px 16px;border-radius:18px;margin-bottom:14px}
.dash-main .kpi{padding:14px;border-radius:14px}
.dash-main .kpi-grid{gap:10px;margin-bottom:16px}
.dash-main .qa-grid{gap:10px}
.dash-main .qa-card{padding:14px;border-radius:14px}
.dash-main .dash-cols{gap:14px}
.dash-main .dash-cols .panel{margin-bottom:14px}
.dash-main .funds-strip{padding:4px 6px}
.dash-main .fstat{padding:12px}
.dash-main .fstat:first-child{padding-left:12px}
.dash-main .empty-box{padding:24px 14px}
.dash-main .bank-row{gap:10px}
.dash-main .funds-hero{padding:20px 16px 16px;border-radius:20px}
.dash-main .funds-bar{padding:10px 6px;margin-top:14px}
.dash-main .tbl{min-width:560px;font-size:12px}
.dash-main .tbl th{padding:8px 10px}
.dash-main .tbl td{padding:10px}
.dash-main .funds-hero{padding:20px 18px 18px}
.dash-main .funds-bar{padding:10px 6px}
}
.mini-row:last-child{border-bottom:0}
.mini-row p{margin:4px 0 0;color:var(--text);font-size:13.5px}
.mini-dot{width:9px;height:9px;border-radius:999px;background:var(--gold);margin-top:6px;flex-shrink:0}
.mini-dot.read{background:#ccd3de}
.bank-row{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}
.bank-row:last-child{border-bottom:0}
.bank-row p{margin:4px 0 0;color:var(--text);font-size:13.5px}
.bank-acts{margin-left:auto;display:flex;gap:12px;flex-shrink:0}
.link-btn{background:none;border:0;color:var(--navy);font-weight:600;font-size:13.5px;cursor:pointer;padding:0}
.link-btn:hover{text-decoration:underline}
.link-btn.danger{color:#8f1d1d}
.bank-remove{display:inline-flex;align-items:center;gap:6px}
.bank-remove svg{flex:none}
@media(max-width:640px){.bank-remove .bank-remove-text{display:none}}
.doc-list{margin:14px 0 4px;border-top:1px solid var(--border)}
.doc-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13.5px}
.doc-ico{width:34px;height:34px;flex:none;border-radius:10px;background:#eef1f6;display:grid;place-items:center;color:var(--navy)}
.doc-main{min-width:0;flex:1}
.doc-main b{display:block;color:var(--night);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-meta{display:block;color:var(--text);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-thumb{flex:none}
.doc-thumb img{height:44px;width:56px;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block}
.doc-row .link-btn{flex:none;font-size:13px}
.frozen-note{border-color:#e5b8b8;background:#fdf3f3}
.frozen-note h3{color:#8f1d1d;display:flex;align-items:center;gap:8px;margin-top:0}
.score-bar{height:10px;border-radius:999px;background:#eef1f6;overflow:hidden}
.score-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#e3c964);border-radius:999px}
.amt-chips{display:flex;gap:8px;margin-top:8px}
.chip{border:1px solid var(--border);background:var(--white);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:500;cursor:pointer;color:var(--night)}
.chip:hover{border-color:var(--gold);background:var(--gold-bg)}
/* Hide Google Translate top banner/tooltip so layout never shifts */
#gt_float_wrapper.gw-draggable{cursor:grab;touch-action:none}
#gt_float_wrapper.gw-draggable .gt_float_switcher{cursor:grab}
#gt_float_wrapper img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
#gt_float_wrapper.gw-dragging{cursor:grabbing;opacity:.92}
.goog-te-banner-frame,.goog-te-balloon-frame,#goog-gt-tt,.goog-te-gadget-icon{display:none!important}
body{top:0!important}

/* Toasts (flash messages) */
.toast-stack{position:fixed;top:76px;right:18px;z-index:1300;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 36px));transition:opacity .4s,transform .4s}
.toast-stack.hide{opacity:0;transform:translateY(-8px)}
.toast{display:flex;align-items:center;gap:0;background:#e5f6ec;color:#0d6b34;border:1px solid #bfe3cd;border-radius:0;padding:12px 14px;font-size:13.5px;font-weight:600;box-shadow:0 8px 24px rgba(13,107,52,.15);animation:toastIn .3s ease}
.toast-error,.toast-warning{background:#fdecec;color:#8f1d1d;border-color:#f5c6c6;box-shadow:0 8px 24px rgba(143,29,29,.12)}
.toast-info{background:#e8eefb;color:var(--navy);border-color:#c4d3f0;box-shadow:0 8px 24px rgba(10,31,68,.12)}
.toast-x{background:none;border:0;color:inherit;opacity:.6;font-size:18px;line-height:1;cursor:pointer;padding:0 0 0 6px}
.toast-x:hover{opacity:1}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---- Dashboard on phones: compact density (Supabase-style) ----
   On small screens the dashboard text and content are scaled down a
   little - but the spacing stays comfortable, so it reads as smaller
   rather than cramped. Scoped to .dash-page so the public site is
   untouched. */
@media(max-width:768px){
.dash-page .dash-shell{padding:14px}
.dash-page .dash-main{padding:14px 10px 32px;font-size:13.5px}
.dash-page .dash-head{margin-bottom:16px}
.dash-page .dash-head h1{font-size:22px;margin-bottom:4px}
.dash-page .dash-head p{font-size:13px}
.dash-page .dash-back{font-size:13px;padding:7px 13px;margin-bottom:12px;gap:6px}
.dash-page .panel{padding:16px 14px;border-radius:16px;margin-bottom:12px}
.dash-page .panel h3{font-size:14px}
.dash-page .panel p{font-size:13px}
.dash-page .panel-head{margin-bottom:14px;gap:10px}
.dash-page .panel-head h3{font-size:14.5px}
.dash-page .panel-head p{font-size:13px}
.dash-page .more-link{font-size:13px}
.dash-page .kpi-grid{gap:10px;margin-bottom:14px}
.dash-page .kpi{padding:11px;border-radius:13px}
.dash-page .kpi b{font-size:18px}
.dash-page .kpi span{font-size:12px}
.dash-page .kpi .kpi-pill{font-size:8px;line-height:1.5;padding:1px 5px;top:8px;right:8px}
.dash-page .tbl{font-size:12.5px}
.dash-page .tbl th{font-size:10.5px;padding:7px 9px}
.dash-page .tbl td{padding:9px}
.dash-page .funds-hero{padding:18px 16px 16px;border-radius:18px;margin-bottom:14px}
.dash-page .funds-amount{font-size:34px;margin:6px 0 5px}
.dash-page .funds-amount .funds-cur{font-size:13px}
.dash-page .funds-eyebrow{font-size:10.5px}
.dash-page .funds-acct{font-size:13px;margin-bottom:7px}
.dash-page .funds-meta{font-size:13px}
.dash-page .funds-strip{padding:3px 5px}
.dash-page .fstat{padding:11px 12px}
.dash-page .fstat span{font-size:10.5px;margin-bottom:4px}
.dash-page .fstat b{font-size:19px}
.dash-page .funds-bar{padding:9px 5px;margin-top:13px;gap:6px;border-radius:16px}
.dash-page .funds-bar a{font-size:12.5px;gap:6px;padding:7px 4px}
.dash-page .fchip{width:38px;height:38px}
.dash-page .fchip svg{width:18px;height:18px}
.dash-page .qa-grid{gap:10px}
.dash-page .qa-card{padding:13px;border-radius:14px;gap:3px}
.dash-page .qa-ico{width:32px;height:32px;border-radius:10px;margin-bottom:6px}
.dash-page .qa-ico svg{width:17px;height:17px}
.dash-page .qa-card b{font-size:14px}
.dash-page .qa-card span{font-size:12.5px}
.dash-page .qa-card em{font-size:11px}
.dash-page .tabs{gap:4px;margin-bottom:12px}
.dash-page .tab{font-size:8px;line-height:1.5;padding:2px 7px}
.dash-page .mini-row{font-size:13px;gap:10px;padding:10px 0}
.dash-page .mini-ico{width:30px;height:30px;border-radius:10px}
.dash-page .mini-ico svg{width:16px;height:16px}
.dash-page .mini-row p{font-size:12.5px;margin-top:4px}
.dash-page .mini-dot{width:8px;height:8px;margin-top:5px}
.dash-page .bank-row{gap:12px;padding:13px 0}
.dash-page .bank-row p{font-size:12.5px;margin-top:4px}
.dash-page .doc-row{font-size:13px;gap:10px;padding:10px 0}
.dash-page .doc-meta{font-size:12px}
.dash-page .doc-ico{width:30px;height:30px;border-radius:10px}
.dash-page .doc-row .link-btn{font-size:12.5px}
.dash-page .bank-acts{gap:10px}
.dash-page .link-btn{font-size:12.5px}
.dash-page .score-bar{height:8px}
.dash-page .chip{padding:5px 10px;font-size:11px}
.dash-page .amt-chips{gap:7px;margin-top:7px}
.dash-page .empty-box{padding:21px 13px;gap:6px;border-radius:16px}
.dash-page .empty-box>b{font-size:13.5px}
.dash-page .empty-box>span{font-size:12.5px}
.dash-page .empty-ico{width:52px;height:52px;border-radius:15px;margin-bottom:6px}
.dash-page .empty-ico svg{width:25px;height:25px}
.dash-page .empty-box>span.empty-glyph{font-size:30px;margin-bottom:9px}
.dash-page .empty-state{font-size:12.5px;padding:19px 12px;gap:6px}
.dash-page .empty-state b{font-size:14px}
.dash-page .btn{font-size:13.5px;padding:11px 24px;line-height:24px;gap:8px}
.dash-page .btn-sm{font-size:12.5px;padding:8px 18px}
.dash-page .icon-btn{width:36px;height:36px}
.dash-page .saved-grid{gap:12px}
.dash-page .invest-card{border-radius:16px}
.dash-page .invest-card .badge{font-size:8.5px;padding:1px 6px}
.dash-page .grant-story .invest-card-img{height:150px}
.dash-page .grant-story .invest-card-body{padding:14px 14px 16px;gap:6px}
.dash-page .grant-story h4{font-size:17px}
.dash-page .grant-story .story-sub{font-size:12px}
.dash-page .grant-story-summary{font-size:14px;line-height:1.5}
.dash-page .grant-story .story-amount{padding-top:11px;gap:8px}
.dash-page .grant-story .story-amount strong{font-size:21px}
.dash-page .grant-story-link{font-size:13px;margin-top:9px;gap:6px}
.dash-page .dash-cols{gap:13px}
.dash-page .dash-cols .panel{margin-bottom:12px}
.dash-page .side-label{font-size:10.5px;padding:12px 13px 4px}
.dash-page .side a{font-size:13.5px;padding:11px 13px;gap:9px}
.dash-page .dash-topbar{padding:9px 12px}
.dash-page .dash-brand{font-size:15.5px}
.dash-page .dash-bell{width:36px;height:36px}
.dash-page .funds-row{font-size:13px;padding:10px 0}
.dash-page .funds-row.total b{font-size:14px}
.dash-page .elig-list{gap:10px}
.dash-page .elig-list li{font-size:13px;gap:10px}
.dash-page .elig-list i{width:18px;height:18px}
.dash-page .elig-list svg{width:18px;height:18px}
.dash-page .form-control,.dash-page .form-group input,.dash-page .form-group textarea,.dash-page .form-group select{font-size:14px;padding:11px 14px}
.dash-page .bank-row b{font-size:13.5px;font-weight:500}
.dash-page .info-card{padding:16px 14px;border-radius:16px}
.dash-page .info-card ul{font-size:13px;line-height:1.7}
.dash-page .info-card b{font-size:13.5px}
.dash-page .kv{font-size:13px}
}

/* ---- Phones: filter fields go full width, and cards use the same
   padding as the filters container so both line up with the page gutter ---- */
@media(max-width:768px){
.panel{padding:20px}
.filters .fld{width:100%}
.filters input,.filters select{width:100%;min-width:0}
.filters .fld-act{width:auto}
.filters .fld-act .lbl{display:none}
}

/* ---- Mobile tables: only key columns, no sideways scroll; long titles ellipsize ---- */
@media(max-width:640px){
.dash-main .tbl{min-width:0}
.dash-main .tbl .hide-m{display:none}
.txn-ellipsis{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-main .tbl{table-layout:auto;width:100%}
.dash-main .tbl td{min-width:0}
.dash-main .tbl td.txn-details,.dash-main .tbl th.txn-details{width:78px;text-align:right;white-space:nowrap}
.dash-main .tbl td.txn-details .txn-caret{display:inline-block}
.txn-caret{font-size:11px}
}
.txn-hint{display:none}
@media(max-width:640px){.txn-hint{display:inline;color:var(--gold);font-weight:600}}
.mini-row.txn-row{cursor:pointer;border-radius:12px}
.mini-row.txn-row:hover{background:#fafbfc}
.mini-row.txn-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.txn-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
@media(max-width:640px){
.mini-row.txn-row{align-items:center}
.mini-row.txn-row>div{min-width:0;flex:1}
.mini-row.txn-row>div>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.txn-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:100%}
}
.txn-full{font-size:14px;line-height:1.7;color:var(--night);margin:0;white-space:pre-wrap}
.txn-date{font-size:12.5px;color:var(--text);margin:10px 0 0}

.txn-sv{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid #eef1f6;font-size:13.5px}
.txn-sv:last-child{border-bottom:0}
.txn-sv dt{color:var(--text);flex:none}
.txn-sv dd{margin:0;font-weight:700;text-align:right}
.txn-stxt{font-size:13px;font-weight:600;text-align:right}
.txn-stxt.stx-approved,.txn-stxt.stx-funded{color:#0d6b34}
.txn-stxt.stx-not_approved,.txn-stxt.stx-rejected,.txn-stxt.stx-declined{color:#8f1d1d}
.txn-stxt.stx-on_hold,.txn-stxt.stx-pending,.txn-stxt.stx-submitted{color:#0A1F44}
.txn-stxt.stx-under_review,.txn-stxt.stx-processing{color:#7a5f0e}
.txn-stxt.stx-info_required{color:#9a4a0a}
.txn-stxt.stx-draft,.txn-stxt.stx-withdrawn,.txn-stxt.stx-closed{color:#667085}
.txn-sv .status{margin:0}
.txn-msg{font-size:14px;line-height:1.6;color:var(--night);font-weight:600;text-align:right;max-width:60%}
@media(max-width:640px) and (max-height:740px){
.txn-modal-card{max-height:62vh;max-height:62dvh}
}
