
:root{
  --green-950:#003624;--green-900:#004b31;--green-800:#006640;--green-700:#0b7a4a;
  --green-100:#e9f5ef;--gold:#d4aa2f;--gold-light:#f2cf67;--cream:#faf9f5;
  --white:#ffffff;--ink:#173126;--muted:#65766d;--line:#e2e9e5;
  --shadow:0 18px 48px rgba(0,54,36,.11);--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}
.container{width:min(1160px,92%);margin:auto}
.utility{background:var(--green-950);color:#fff;font-size:.84rem}
.utility-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.utility a{color:#fff}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05)}
.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand img{width:205px;height:auto}
.menu{display:flex;align-items:center;gap:27px;font-size:.82rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.menu a{position:relative;padding:34px 0 29px}
.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:3px;background:var(--gold);transition:.2s}
.menu a:hover:after,.menu a.active:after{right:0}
.nav-actions{display:flex;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:12px 20px;border:0;font-weight:800;cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-1px)}
.btn-green{background:var(--green-800);color:#fff}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#203529}
.btn-outline{border:1px solid var(--green-800);color:var(--green-800);background:#fff}.btn-white{border:1px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.menu-toggle{display:none;border:0;background:transparent;color:var(--green-900);font-size:1.8rem}
.hero{background:radial-gradient(circle at 15% 15%,rgba(212,170,47,.14),transparent 26%),linear-gradient(135deg,var(--green-950),var(--green-800));color:#fff;overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;width:420px;height:420px;border:80px solid rgba(255,255,255,.035);border-radius:50%;right:-170px;top:-110px}
.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:62px;align-items:center;min-height:610px;padding:74px 0}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light)}
.kicker:before{content:"";width:35px;height:3px;background:var(--gold)}
.hero h1{font-size:clamp(3rem,5.8vw,5.6rem);line-height:.98;margin:15px 0 22px;letter-spacing:-.04em}
.hero h1 span{color:var(--gold-light)}
.hero p{font-size:1.08rem;max-width:670px;color:#eaf5ef;margin:0}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-points{display:flex;gap:20px;flex-wrap:wrap;margin-top:36px;color:#dcece4;font-size:.88rem}
.hero-points span{display:flex;align-items:center;gap:8px}.hero-points i{width:8px;height:8px;background:var(--gold);border-radius:50%}
.hero-visual{position:relative;z-index:2}.hero-photo{border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.18)}
.hero-photo img{width:100%;height:465px;object-fit:cover}
.hero-badge{position:absolute;left:-28px;bottom:35px;background:#fff;color:var(--ink);padding:20px 22px;border-radius:14px;box-shadow:var(--shadow);max-width:220px}
.hero-badge strong{display:block;color:var(--green-800);font-size:1.1rem}.hero-badge small{color:var(--muted)}
.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:23px 24px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}
.trust-item strong{display:block;font-size:1rem}.trust-item span{color:var(--muted);font-size:.86rem}
.section{padding:82px 0}.section.soft{background:var(--cream)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}
.section-head.center{display:block;text-align:center;max-width:780px;margin:0 auto 42px}
.eyebrow{font-size:.76rem;font-weight:900;letter-spacing:.15em;color:var(--green-700);text-transform:uppercase}
.section-head h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;margin:7px 0 0;letter-spacing:-.035em}
.section-head p{max-width:570px;color:var(--muted);margin:0}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.program{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:31px;transition:.22s}
.program:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.program-num{font-size:.72rem;color:var(--gold);font-weight:900;letter-spacing:.15em}
.program-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:var(--green-100);font-size:1.7rem;margin:17px 0}
.program h3{font-size:1.35rem;margin:0 0 8px}.program p{color:var(--muted);margin:0}
.program-link{display:inline-flex;margin-top:19px;color:var(--green-800);font-weight:800;font-size:.9rem}
.advocacy{margin-top:24px;border-radius:var(--radius);padding:30px 34px;background:linear-gradient(115deg,var(--green-950),var(--green-800));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px}
.advocacy p{margin:4px 0 0;color:#ddecdf}
.about-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:58px;align-items:center}
.about-photo{position:relative}.about-photo img{width:100%;height:475px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}
.about-quote{position:absolute;right:-28px;bottom:-30px;background:var(--gold);color:#193226;padding:24px;border-radius:15px;width:245px;font-weight:800;line-height:1.4}
.about-content h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.04em;margin:7px 0 19px}
.about-content p{color:var(--muted)}
.value-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.value{padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}.value strong{display:block;margin-bottom:3px}.value span{color:var(--muted);font-size:.87rem}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.news-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:.2s}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.news-card img{width:100%;height:225px;object-fit:cover}.news-body{padding:23px}
.tag{display:inline-block;padding:5px 9px;border-radius:99px;background:var(--green-100);color:var(--green-800);font-size:.68rem;font-weight:900;text-transform:uppercase}
.news-card h3{font-size:1.18rem;line-height:1.35;margin:13px 0 7px}.news-card p{color:var(--muted);font-size:.9rem;margin:0}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.action-card{border-radius:20px;padding:35px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}
.action-card.primary{background:var(--green-900);color:#fff}.action-card.secondary{background:var(--gold);color:#173126}
.action-card h3{font-size:1.8rem;line-height:1.15;margin:0 0 10px}.action-card p{margin:0;max-width:520px}
.page-hero{background:linear-gradient(125deg,var(--green-950),var(--green-700));color:#fff;padding:70px 0}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);margin:0;letter-spacing:-.04em}.page-hero p{color:#dceee4;max-width:680px}
.breadcrumb{font-size:.82rem;color:var(--gold-light);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.content-grid img{width:100%;height:430px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}
.content-copy h2{font-size:2.6rem;line-height:1.1;margin:6px 0 16px}.content-copy p{color:var(--muted)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}
.info-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px}.info-card h3{margin:0 0 8px}.info-card p{color:var(--muted);margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-item{position:relative;border-radius:16px;overflow:hidden;min-height:275px}.gallery-item img{position:absolute;width:100%;height:100%;object-fit:cover}
.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.gallery-item span{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff;font-weight:900}
.form-shell{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
.form-intro{padding:42px;background:linear-gradient(150deg,var(--green-950),var(--green-700));color:#fff}.form-intro p{color:#dceee4}.form-intro .notice{margin-top:24px}
.form-area{padding:40px}form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
label{display:block;font-weight:800;font-size:.84rem;margin-bottom:6px}
input,select,textarea{width:100%;border:1px solid #d6e0da;border-radius:9px;padding:13px 14px;background:#fff}textarea{min-height:145px;resize:vertical}
.check{display:flex;align-items:flex-start;gap:9px;font-size:.84rem}.check input{width:auto;margin-top:5px}
.notice{padding:14px 15px;border-radius:10px;background:#fff7d8;border:1px solid #ecd169;color:#5f4c00;font-size:.88rem}
.footer{background:var(--green-950);color:#fff;padding:56px 0 22px;border-top:4px solid var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.1fr;gap:34px}.footer img{width:195px;background:#fff;border-radius:10px;padding:5px}
.footer h4{color:var(--gold-light);margin:0 0 13px}.footer p,.footer a{color:#d5e9df;font-size:.9rem;line-height:1.9}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:20px;color:#b9d4c7;font-size:.84rem}
.dashboard{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f4f7f5}
.sidebar{background:linear-gradient(180deg,var(--green-950),#00281b);padding:22px 16px;color:#fff;position:sticky;top:0;height:100vh}
.side-logo{background:#fff;border-radius:10px;padding:6px;margin-bottom:25px}.side-logo img{width:185px}
.side-nav{display:grid;gap:6px}.side-nav a{padding:12px 13px;border-radius:8px;color:#d6eade;font-size:.9rem}
.side-nav a:hover,.side-nav a.active{background:var(--green-700);color:#fff}
.dash-main{padding:28px}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.dash-head h1{margin:0;font-size:1.75rem}.dash-head p{margin:4px 0 0;color:var(--muted)}
.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green-800);color:#fff;font-weight:900}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px}
.stat small{color:var(--muted)}.stat strong{display:block;font-size:1.5rem;color:var(--green-900);margin-top:7px}
.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px;margin-top:20px}.panel h2{font-size:1.1rem;margin:0 0 14px}
table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.badge{display:inline-block;padding:5px 9px;border-radius:99px;background:#fff1bd;color:#6b5400;font-size:.72rem;font-weight:900}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.quick{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px}.quick strong{display:block;margin:8px 0 3px}.quick small{color:var(--muted)}
.privacy{margin-top:20px;background:var(--green-100);border:1px solid #b7dcc8;color:var(--green-900);padding:14px;border-radius:10px}
@media(max-width:1000px){
  .utility{display:none}.menu,.nav-actions{display:none}.menu-toggle{display:block}
  .menu.open{display:flex;position:absolute;top:88px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 5%;box-shadow:0 18px 35px rgba(0,0,0,.13)}
  .menu.open a{padding:11px 0;width:100%}.menu.open a:after{bottom:5px}
  .hero-inner,.about-grid,.content-grid,.form-shell{grid-template-columns:1fr}.hero-inner{padding:65px 0 80px}
  .hero-photo img{height:420px}.hero-badge{left:18px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}
  .program-grid,.news-grid,.cards-3{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}
  .dashboard{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.side-nav{grid-template-columns:repeat(2,1fr)}
  .stats,.quick-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .container{width:min(93%,1160px)}.brand img{width:185px}.hero-inner{gap:38px;min-height:auto}.hero h1{font-size:3.25rem}
  .hero-photo img{height:320px}.hero-badge{position:relative;left:auto;bottom:auto;margin:-32px 18px 0}
  .hero-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .trust-grid,.program-grid,.news-grid,.cards-3,.action-grid,.gallery-grid,.form-row,.stats,.quick-grid{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--line)}.section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:14px}
  .advocacy{flex-direction:column;align-items:flex-start}.about-photo img,.content-grid img{height:340px}
  .about-quote{position:relative;right:auto;bottom:auto;margin:-40px 18px 0;width:auto}.value-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}.form-intro,.form-area{padding:28px}.side-nav{grid-template-columns:1fr 1fr}
  .dash-main{padding:16px}.panel{overflow:auto}table{min-width:650px}
}
/* Functional portal additions */
.alert{padding:14px 16px;border-radius:10px;margin:16px 0;font-size:.92rem}.alert-success{background:#e7f7ed;border:1px solid #b6dfc6;color:#075f38}.alert-error{background:#fff0ef;border:1px solid #efb5b0;color:#8d2017}.alert-info{background:#edf6ff;border:1px solid #b8d8f7;color:#174f7a}
.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:1.15rem;padding:7px;color:var(--green-900)}
.form-help{font-size:.78rem;color:var(--muted);margin-top:5px}.required{color:#b42318}.profile-photo{width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:var(--shadow);background:#e8efeb}.profile-photo.small{width:46px;height:46px;border-width:2px;box-shadow:none}.profile-photo.medium{width:82px;height:82px}
.avatar-placeholder{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--green-100);color:var(--green-800);font-size:2.4rem;font-weight:900;border:4px solid #fff;box-shadow:var(--shadow)}.avatar-placeholder.small{width:46px;height:46px;font-size:1rem;border-width:2px;box-shadow:none}.avatar-placeholder.medium{width:82px;height:82px;font-size:1.6rem}
.member-row{display:flex;align-items:center;gap:12px}.member-meta strong{display:block}.member-meta small{color:var(--muted)}
.status-approved{background:#dff6e8;color:#08623b}.status-pending{background:#fff1bd;color:#6b5400}.status-suspended,.status-rejected{background:#ffe3e0;color:#8a231b}.status-online{background:#dff6e8;color:#08623b}.status-offline{background:#eef1ef;color:#5f6c65}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:18px}.filter-bar>div{min-width:150px;flex:1}.filter-bar .btn{flex:0 0 auto}
.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.detail{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.detail span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.detail strong,.detail p{display:block;margin:4px 0 0;word-break:break-word}
.profile-head{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.profile-head h1{margin:0}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.pagination{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.pagination a,.pagination span{padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#fff}.pagination .current{background:var(--green-800);color:#fff;border-color:var(--green-800)}
.admin-nav-section{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:#86ad99;margin:18px 12px 7px}
.chat-box{height:420px;overflow:auto;background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:15px}.chat-message{display:flex;gap:10px;margin-bottom:15px}.chat-bubble{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;max-width:75%}.chat-bubble strong{font-size:.86rem}.chat-bubble p{margin:3px 0}.chat-bubble small{color:var(--muted)}.chat-message.mine{justify-content:flex-end}.chat-message.mine .chat-bubble{background:var(--green-100)}
.chat-form{display:flex;gap:10px;margin-top:12px}.chat-form input{flex:1}
.admin-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.admin-tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-tabs a.active{background:var(--green-800);color:#fff}
.empty-state{text-align:center;padding:38px;color:var(--muted)}.danger-zone{border:1px solid #efb5b0;background:#fff7f6}.inline-form{display:inline}.checkbox-line{display:flex;align-items:center;gap:8px}.checkbox-line input{width:auto}
.install-shell{min-height:100vh;background:linear-gradient(135deg,var(--green-950),var(--green-700));padding:40px 0}.install-card{width:min(820px,92%);margin:auto;background:#fff;border-radius:20px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.install-logo{width:210px;margin:0 auto 25px}.install-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.install-step{padding:12px;background:var(--green-100);border-radius:9px;font-size:.84rem;text-align:center}
.privacy-note{font-size:.82rem;color:var(--muted);padding:11px;border-left:4px solid var(--gold);background:#fffcf1}.online-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#9aa8a0;margin-right:5px}.online-dot.on{background:#10a65b}
@media(max-width:760px){.details-grid{grid-template-columns:1fr}.profile-actions{margin-left:0;width:100%}.profile-actions .btn{flex:1}.chat-bubble{max-width:88%}.install-steps{grid-template-columns:1fr}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-bar>div{min-width:0}.filter-bar .btn{width:100%}}
@media(max-width:520px){.filter-bar{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.profile-head{align-items:flex-start}}
/* Make the homepage buttons clickable */
.hero::before,
.hero::after {
  pointer-events: none;
}

.hero-actions {
  position: relative;
  z-index: 20;
}

.hero-actions .btn {
  position: relative;
  z-index: 21;
  pointer-events: auto;
}