@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--bg:#f4f1e8;--surface:#fffcf4;--ink:#133c3d;--muted:#5e706c;--primary:#084e52;--primary-dark:#063c40;--accent:#e9f4e9;--gold:#e5ad4d;--line:#d7ded2;--danger:#a61b1b;--shadow:0 18px 48px rgba(19,60,61,.10);--radius:18px;font-family:"DM Sans",ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:1rem;top:1rem;background:var(--surface);padding:.75rem;z-index:100}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.72rem 5vw;background:rgba(255,252,244,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(19,60,61,.1)}.brand{display:flex;align-items:center;gap:.62rem;font-weight:700;letter-spacing:-.035em;font-size:1.08rem}.brand-mark{width:42px;height:42px;flex:none;filter:drop-shadow(0 3px 5px rgba(8,78,82,.12))}.brand-name i{font-family:Fraunces,serif;font-weight:600;color:var(--primary)}.topbar nav{display:flex;gap:1.5rem;font-size:.9rem;font-weight:600;color:var(--muted)}.topbar nav a{transition:color .2s ease}.topbar nav a:hover{color:var(--primary)}.toolbar{display:flex;align-items:center;gap:.5rem}.toolbar select,.filters select,.filters input,.pricing-card select,.admin-form input,.admin-form select,.admin-form textarea,.dialog-form input,.dialog-form select{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:.64rem .78rem;color:var(--ink)}.button{border:1px solid var(--primary);border-radius:9px;background:var(--primary);color:var(--surface);padding:.78rem 1.05rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 7px 16px rgba(8,78,82,.16)}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button-secondary:hover{background:var(--accent);box-shadow:none}.button-small{padding:.55rem .8rem}.icon-button{border:1px solid var(--line);border-radius:9px;background:transparent;padding:.53rem .68rem;cursor:pointer}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:3.5rem;align-items:center;padding:5rem 8vw 3.75rem;min-height:0;background:radial-gradient(circle at 82% 4%,rgba(229,173,77,.38),transparent 25%),radial-gradient(circle at 10% 90%,rgba(178,213,190,.45),transparent 30%),var(--bg)}.hero:after{content:"";position:absolute;width:380px;height:380px;right:-180px;top:75px;border:1px solid rgba(8,78,82,.13);border-radius:48% 52% 55% 45%;pointer-events:none}.hero-copy{position:relative;z-index:1}.hero h1,.section-heading h2{font-family:Fraunces,serif}.hero h1{font-size:clamp(2.65rem,5vw,4.85rem);line-height:1.01;letter-spacing:-.055em;margin:.5rem 0 1rem;max-width:900px}.hero-copy>p{font-size:1.08rem;color:var(--muted);max-width:690px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.7rem;color:var(--primary)}.hero-actions,.trust-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.35rem}.trust-row{gap:1.2rem;color:var(--muted);font-size:.85rem}.trust-row>span{display:flex;align-items:center;gap:.42rem}.trust-row>span:before{content:"";width:.45rem;height:.45rem;border:2px solid var(--gold);border-radius:50%;box-shadow:inset 0 0 0 1px var(--bg)}.hero-card{position:relative;z-index:1;background:rgba(255,252,244,.86);padding:1.7rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(8,78,82,.15)}.hero-card h2{font-family:Fraunces,serif;font-size:1.35rem;line-height:1.2;margin:0 0 1rem}.meter{height:8px;background:#dbe3d7;border-radius:20px;overflow:hidden}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#2b7773);border-radius:inherit}.hero-card strong{display:block;font-family:Fraunces,serif;font-size:2.5rem;margin:.25rem 0}.hero-card p{color:var(--muted);margin:.2rem 0 .75rem}.hero-card ul{padding-left:1.05rem;margin:0;font-size:.88rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--primary);color:var(--surface)}.stats article{padding:1.1rem max(2vw,1rem);border-right:1px solid rgba(255,252,244,.18);display:flex;flex-direction:column}.stats article:first-child{padding-left:8vw}.stats article:last-child{border:0;padding-right:8vw}.stats strong{font-family:Fraunces,serif;font-size:1.8rem;color:#f4cf7d}.stats span{font-size:.82rem;color:#d5e5db}.section{padding:4rem 8vw}.section-muted{background:#dce9de}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.section-heading h2{font-size:clamp(2rem,3vw,3.15rem);line-height:1.08;letter-spacing:-.04em;margin:.3rem 0}.section-heading p{color:var(--muted);margin:.6rem 0 0}.centered{text-align:center;justify-content:center}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.65rem;margin-bottom:1.25rem}.filters input:focus,.filters select:focus,.dialog-form input:focus,.dialog-form select:focus,textarea:focus{outline:3px solid rgba(229,173,77,.35);border-color:var(--gold)}.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.opportunity-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem;display:flex;flex-direction:column;min-height:275px;box-shadow:0 5px 16px rgba(19,60,61,.035);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.opportunity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(8,78,82,.25)}.card-meta{display:flex;gap:.5rem;flex-wrap:wrap}.tag{font-size:.7rem;padding:.22rem .52rem;border-radius:999px;background:var(--accent);color:var(--primary-dark);font-weight:700}.opportunity-card h3{line-height:1.22;margin:.85rem 0 .35rem}.funder{color:var(--primary);font-weight:700}.opportunity-card p{color:var(--muted);font-size:.92rem}.card-actions{display:flex;gap:.7rem;margin-top:auto}.card-actions .button{flex:1}.save-button.saved{background:#133c3d;color:var(--surface)}.empty-state{text-align:center;padding:2rem}.live-badge,.live-badge-header{display:inline-block;font-size:.68rem;font-weight:800;padding:.2rem .5rem;border-radius:999px;background:var(--accent);color:var(--primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.live-badge-header{animation:pulse 2s infinite}.opportunity-card .live-badge{margin:0 0 .5rem}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.service-grid article{background:rgba(255,252,244,.78);border-radius:14px;padding:1rem;border:1px solid rgba(8,78,82,.11)}.service-grid article>span{font-family:Fraunces,serif;font-size:1.5rem;color:var(--primary);font-weight:700}.service-grid h3{font-size:.93rem;margin:.4rem 0 .25rem;line-height:1.25}.service-grid p{font-size:.8rem;margin:0;color:var(--muted)}.pricing-section{display:grid;place-items:center}.pricing-card{width:min(100%,540px);padding:2rem;background:var(--surface);border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.price-line{display:flex;align-items:baseline;gap:.5rem;margin:.7rem 0}.price-line strong{font-family:Fraunces,serif;font-size:3.3rem}.pricing-card select{width:100%;margin:.35rem 0 .8rem}.pricing-card ul{padding-left:1.2rem;margin-bottom:0}.full-width{width:100%}.pricing-card small,.dialog-form small{display:block;color:var(--muted);margin-top:1rem}.admin-section details{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.2rem}.admin-section summary{cursor:pointer;font-weight:800}.admin-form{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.admin-form textarea{grid-column:1/-1;min-height:100px}.admin-form button{width:max-content}footer{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.8rem 8vw 1rem;background:#133c3d;color:#e7efe7}footer p{margin:.35rem 0}footer div:nth-child(2){display:flex;gap:1.2rem;font-size:.9rem}.contact-cta{grid-column:1/-1;text-align:center;padding:.45rem 0;margin:0;font-size:.94rem;font-weight:600}.contact-cta a{color:#f4cf7d}.contact-cta a:hover{color:var(--surface)}.legal{grid-column:1/-1;color:#adc2b7;border-top:1px solid #315759;padding-top:.8rem;font-size:.78rem}dialog{border:0;border-radius:18px;padding:0;width:min(92vw,520px);box-shadow:var(--shadow);background:var(--surface)}dialog::backdrop{background:rgba(8,45,46,.68)}.dialog-form{position:relative;padding:1.7rem;display:grid;gap:.8rem}.dialog-form label{display:grid;gap:.3rem;font-weight:650}.dialog-close{position:absolute;right:1rem;top:.8rem;border:0;background:transparent;font-size:1.5rem;cursor:pointer}.checkbox{grid-template-columns:auto 1fr!important;align-items:start}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.accessibility{font-size:120%;--ink:#000;--muted:#222;--primary:#004d35;--line:#7b8a84}.accessibility *:focus{outline:4px solid #ffbf00!important;outline-offset:3px}.accessibility .tag{border:2px solid currentColor}
@media(max-width:980px){.topbar nav{display:none}.hero{grid-template-columns:1fr;gap:2rem}.stats{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.opportunity-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.admin-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.topbar{padding:.8rem 4vw}.brand span:last-child{display:none}.hero{padding:5rem 5vw 3rem}.section{padding:4rem 5vw}.filters,.opportunity-grid,.service-grid,.admin-form{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.section-heading{align-items:start;flex-direction:column}.toolbar select{max-width:110px}.card-actions{flex-direction:column}footer{grid-template-columns:1fr}footer div:nth-child(2){flex-direction:column}.legal{grid-column:1}.hero h1{font-size:2.65rem}}


/* Expanded payment tiers */
.pricing-card-wide{max-width:1180px;width:min(1180px,94vw)}
.payment-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.5rem 0}
.payment-tier{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:1.15rem;background:linear-gradient(160deg,rgba(255,252,244,.98),rgba(232,241,233,.72));box-shadow:0 8px 24px rgba(8,78,82,.07);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.payment-tier:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 30px rgba(8,78,82,.12)}
.payment-tier .price-line{margin:.6rem 0}
.payment-tier p{min-height:5.5em}
.tier-benefits{margin:.1rem 0 .35rem;padding-left:1.2rem;color:var(--ink);font-size:.9rem}
.tier-benefits li+li{margin-top:.38rem}
.tier-label{font-weight:800;letter-spacing:.02em}
.paypal-button-container{min-height:45px;margin-top:auto;padding-top:1rem}
.paypal-subscribe-button{min-height:48px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#0b6c70);box-shadow:0 7px 16px rgba(8,78,82,.18);letter-spacing:.015em}
.paypal-subscribe-button:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
.trial-message{max-width:620px;margin:.45rem auto 0;color:var(--muted);font-weight:650}
.payment-tier-unavailable{display:block;padding:.7rem;border-radius:8px;background:rgba(166,27,27,.08);color:var(--danger);font-size:.85rem;font-weight:700}
.donation-amount-label{display:block;margin-top:.75rem;font-size:.88rem;font-weight:600}
.donation-amount{width:100%;box-sizing:border-box;margin:.35rem 0 .5rem;padding:.68rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}
.payment-status{min-height:1.4em;margin:.8rem 0 0;color:var(--primary);font-weight:600}
.payment-status.error{color:var(--danger)}
.payment-link{text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center}
.auth-mode-hint{margin-top:-.25rem}
.text-button{border:0;background:none;color:var(--primary);font:inherit;font-weight:700;padding:0;text-decoration:underline;cursor:pointer}
.auth-status{min-height:1.3em;margin:0;color:var(--primary);font-size:.9rem;font-weight:650}
.auth-status.error{color:var(--danger)}
.auth-secondary-action{justify-self:start}
.investor-dashboard{background:linear-gradient(135deg,rgba(220,233,222,.78),rgba(244,241,232,.65))}
.match-count{font-weight:800;color:var(--primary);white-space:nowrap}
.dashboard-notice{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px rgba(19,60,61,.04)}
.dashboard-notice strong{font-family:Fraunces,serif;font-size:1.25rem}
.dashboard-notice span{color:var(--muted);flex:1;min-width:240px}
.investor-filters{grid-template-columns:repeat(2,minmax(180px,320px));justify-content:start}
.investor-card .card-actions{flex-wrap:wrap}
.interest-button:disabled{opacity:.68;cursor:default;transform:none;box-shadow:none}
.dashboard-status{min-height:1.4em;color:var(--primary);font-weight:650}
.dashboard-status.error{color:var(--danger)}
.deadline-label{display:block;margin:.15rem 0 .75rem;color:var(--muted);font-size:.82rem;font-weight:700}
.application-dashboard{background:linear-gradient(145deg,#dce9de,var(--bg))}
.progress-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1.2rem}
.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:0 5px 16px rgba(19,60,61,.04)}
.summary-card strong{display:block;font-family:Fraunces,serif;font-size:1.8rem;color:var(--primary)}
.summary-card span{color:var(--muted);font-size:.82rem}
.application-list{display:grid;gap:1rem}
.application-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.2rem;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:1.2rem}
.application-item h3{margin:.25rem 0}.application-item p{color:var(--muted)}
.application-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.application-actions .button{padding:.62rem .85rem}
.application-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.application-fields label{display:grid;gap:.3rem;font-size:.82rem;font-weight:700}
.application-fields select,.application-fields input,.application-fields textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:.65rem;color:var(--ink)}
.application-fields textarea,.checklist{grid-column:1/-1}.checklist{display:flex;gap:.6rem;flex-wrap:wrap}
.reminder-control{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;padding:.75rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.reminder-control legend{font-weight:750;color:var(--primary);padding:0 .3rem}
.reminder-control label{display:flex;align-items:center;gap:.4rem}.reminder-control select{width:auto}
.reminder-control small{color:var(--muted)}.reminder-control small.error{color:var(--danger)}
.reminder-unavailable{grid-column:1/-1;margin:0;font-size:.82rem}
.checklist label{display:flex;align-items:center;gap:.3rem;background:var(--accent);border-radius:999px;padding:.35rem .65rem;font-weight:600}
.dashboard-empty{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:2rem}
.profile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;background:rgba(255,252,244,.78);border:1px solid rgba(8,78,82,.12);border-radius:16px;padding:1.3rem}
.profile-form label{display:grid;gap:.35rem;font-weight:650}
.profile-form input,.profile-form select,.profile-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:.72rem .8rem;color:var(--ink)}
.profile-wide{grid-column:1/-1}
.profile-form .button{width:max-content}
.admin-section details+details{margin-top:1rem}
.admin-interest-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0}
.admin-interest-toolbar p{color:var(--muted)}
.admin-interest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.admin-interest-card{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:1rem;display:grid;gap:.25rem}
.admin-interest-card.source-warning{background:#fff4ee;border-color:var(--danger);color:var(--danger)}
.admin-interest-card p{margin:.2rem 0;font-size:.9rem}
.admin-interest-card small{color:var(--muted)}
.webmaster-login-area{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.45rem;padding:1rem 1.1rem;border:1px solid #416767;border-radius:12px;background:rgba(255,255,255,.05)}
.webmaster-login-area>div{display:grid;gap:.12rem}
.webmaster-login-area span{color:#c2d3c9;font-size:.84rem}
.webmaster-login-button{width:auto;background:#e5ad4d;border-color:#e5ad4d;color:#133c3d}
.webmaster-login-button:hover{background:#f4cf7d;border-color:#f4cf7d}
[hidden]{display:none!important}
@media(max-width:900px){.payment-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.payment-tier-grid{grid-template-columns:1fr}.payment-tier p{min-height:auto}}
@media(max-width:650px){.investor-filters,.profile-form,.admin-interest-list{grid-template-columns:1fr}.dashboard-notice{align-items:flex-start;flex-direction:column}.admin-interest-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.progress-summary{grid-template-columns:1fr 1fr}.application-item{grid-template-columns:1fr}}
@media(max-width:650px){.progress-summary,.application-fields{grid-template-columns:1fr}.checklist{grid-column:1}.toolbar{gap:.3rem}.toolbar .button{padding:.55rem .65rem}.webmaster-login-area{align-items:stretch;flex-direction:column}.webmaster-login-button{width:100%}}
