@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#176b52;--green2:#20866a;--navy:#102f2a;--gold:#c7a35b;--ink:#18332d;--muted:#71817b;--pale:#f3f7f4;--line:#e5ece7;--white:#fff}
*{box-sizing:border-box}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,h4,h5,h6,.navbar-brand strong{font-family:'Manrope',sans-serif;letter-spacing:-.035em}a{text-decoration:none;color:inherit}.navbar{min-height:78px}.navbar-brand{color:var(--ink);line-height:1.15}.navbar-brand strong{display:block;font-size:1rem}.navbar-brand small{display:block;font-size:.68rem;color:#7b8983;margin-top:4px}.brand-mark{width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,var(--green),#0e4a3b);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 7px 18px rgba(23,107,82,.18);flex-shrink:0}.brand-logo{max-width:48px;max-height:48px;object-fit:contain}.nav-link{font-size:.9rem;font-weight:600;color:#52635d!important;padding:.7rem .75rem!important}.nav-link.active,.nav-link:hover{color:var(--green)!important}.btn-brand{background:var(--green);border-color:var(--green);color:#fff;font-weight:700;border-radius:10px}.btn-brand:hover{background:#105640;border-color:#105640;color:#fff}.btn-outline-brand{border:1px solid var(--green);color:var(--green);font-weight:700;border-radius:9px}.btn-outline-brand:hover{background:var(--green);color:#fff}.hero-section{position:relative;overflow:hidden;background:linear-gradient(115deg,#0d3d32 0%,#176b52 56%,#24876b 100%);color:#fff;padding:100px 0 108px}.hero-section .container{z-index:2}.hero-section h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.1;max-width:780px}.hero-section h1 span{color:#e6c982}.hero-section .lead{color:rgba(255,255,255,.78);max-width:630px;font-size:1.08rem}.eyebrow,.section-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#d7c083}.eyebrow{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:9px 14px}.hero-panel{position:relative;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:34px;backdrop-filter:blur(8px);box-shadow:0 24px 70px rgba(0,0,0,.13)}.hero-icon{width:65px;height:65px;border-radius:20px;background:#e6c982;color:#173e32;display:grid;place-items:center;font-size:2rem;margin-bottom:24px}.hero-panel-title{font:800 1.6rem Manrope;margin-bottom:8px}.hero-panel p{color:rgba(255,255,255,.72);line-height:1.7}.hero-panel-line{height:82px;display:flex;align-items:end;gap:8px;margin-top:26px}.hero-panel-line span{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(#e6c982,rgba(230,201,130,.18))}.hero-panel-line span:nth-child(1){height:38%}.hero-panel-line span:nth-child(2){height:62%}.hero-panel-line span:nth-child(3){height:48%}.hero-panel-line span:nth-child(4){height:82%}.hero-panel-line span:nth-child(5){height:58%}.hero-panel-line span:nth-child(6){height:95%}.hero-panel-line span:nth-child(7){height:72%}.hero-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.orb-one{width:460px;height:460px;right:-160px;top:-220px}.orb-two{width:320px;height:320px;right:16%;bottom:-250px}.section-space{padding-top:78px;padding-bottom:78px}.section-heading{max-width:690px}.section-kicker{color:var(--green);display:inline-block;margin-bottom:12px}.section-heading h2,.section-title{font-size:clamp(1.8rem,3vw,2.55rem);font-weight:800;color:var(--ink)}.section-heading p{color:var(--muted);line-height:1.7}.feature-card{height:100%;display:block;border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff;transition:.25s}.feature-card:hover{transform:translateY(-5px);border-color:#b8d5c8;box-shadow:0 18px 40px rgba(18,62,48,.08)}.feature-icon{width:48px;height:48px;display:grid;place-items:center;background:#eaf4ee;color:var(--green);border-radius:14px;font-size:1.35rem;margin-bottom:22px}.feature-card h5{font-weight:800;font-size:1.05rem}.feature-card p{color:var(--muted);font-size:.88rem;line-height:1.65;min-height:56px}.feature-link,.text-link{font-size:.86rem;color:var(--green);font-weight:800}.stats-section{background:var(--pale)}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;height:100%}.stat-card>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.stat-card strong{display:block;font:800 2rem Manrope;color:var(--green);margin:8px 0}.stat-card strong small{font-size:.85rem}.stat-card p{font-size:.86rem;color:var(--muted);margin:0}.chart-card,.admin-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 7px 25px rgba(20,52,41,.025)}.chart-wrap{height:280px;margin-top:20px}.badge-soft{background:#eaf4ee;color:var(--green);border-radius:99px;padding:7px 11px;font-size:.72rem;font-weight:800}.content-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff;transition:.2s}.content-card:hover{box-shadow:0 14px 34px rgba(20,52,41,.08);transform:translateY(-3px)}.content-image{width:100%;height:210px;object-fit:cover}.image-placeholder{height:210px;display:grid;place-items:center;background:linear-gradient(135deg,#e5efe9,#f6f7ef);color:#83a797;font-size:2.5rem}.content-body{padding:22px}.content-meta{font-size:.75rem;color:#8a9891;font-weight:700;margin-bottom:10px}.content-body h5{font-size:1.1rem;font-weight:800;line-height:1.4}.content-body p{font-size:.88rem;color:var(--muted);line-height:1.65}.publications-band{background:#f8faf8}.publication-card{height:100%;display:flex;gap:17px;padding:22px;border:1px solid var(--line);background:#fff;border-radius:16px}.publication-icon{width:48px;height:48px;display:grid;place-items:center;flex-shrink:0;background:#fff0ed;color:#b85a4a;border-radius:14px;font-size:1.4rem}.publication-card h6{font-weight:800;font-size:1rem}.publication-card p{font-size:.84rem;color:var(--muted);margin-bottom:9px}.gallery-tile{position:relative;height:220px;border-radius:16px;overflow:hidden;background:#e8f0eb}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-tile:hover img{transform:scale(1.05)}.gallery-tile .image-placeholder{height:100%}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:30px 15px 14px;color:#fff;background:linear-gradient(transparent,rgba(8,34,26,.85));display:flex;flex-direction:column}.gallery-caption strong{font-size:.88rem}.gallery-caption small{font-size:.72rem;color:rgba(255,255,255,.75)}.site-footer{background:#102f2a;color:#fff}.footer-brand{font:800 1.2rem Manrope}.site-footer h6{font-weight:800;margin-bottom:16px}.site-footer a{display:block;color:rgba(255,255,255,.65);font-size:.88rem;margin:9px 0}.site-footer a:hover{color:#e6c982}.page-hero{background:linear-gradient(110deg,#eff6f1,#f8f7ef);padding:72px 0}.page-hero h1{font-size:clamp(2.3rem,4vw,3.5rem);font-weight:800;margin:5px 0 12px}.page-hero p{color:var(--muted);max-width:650px;margin:0}.detail-title{max-width:900px}.back-link{font-size:.86rem;color:var(--green);font-weight:800}.article-wrap{max-width:900px}.article-cover{width:100%;max-height:480px;object-fit:cover;border-radius:20px;margin-bottom:32px}.article-lead{font-size:1.2rem;color:#60716a;line-height:1.7;font-weight:500}.prose{font-size:1rem;line-height:1.9;color:#4f625a;white-space:normal}.empty-state{text-align:center;padding:55px 20px;background:#f8faf8;border:1px dashed #cbd9d0;border-radius:18px;color:var(--muted)}.empty-state i{font-size:2.5rem;color:#91b5a3}.empty-state h5{color:var(--ink);margin-top:12px}.about-panel{background:linear-gradient(145deg,#104c3c,#1d8065);padding:34px;border-radius:22px;color:#fff}.about-emblem{width:62px;height:62px;border-radius:18px;background:#e6c982;color:#163f32;display:grid;place-items:center;font-size:1.8rem;margin-bottom:22px}.about-panel p{color:rgba(255,255,255,.72);line-height:1.7}.about-points{display:grid;gap:12px;margin-top:22px}.about-points span{font-size:.9rem}.about-points i{color:#e6c982;margin-right:8px}.contact-card,.contact-note{border:1px solid var(--line);border-radius:18px;padding:30px;height:100%}.contact-line{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.contact-line:last-child{border:0}.contact-line>i{font-size:1.25rem;color:var(--green)}.contact-line strong,.contact-line span{display:block}.contact-line span{font-size:.9rem;color:var(--muted);margin-top:3px}.contact-note{background:var(--pale);display:flex;flex-direction:column;justify-content:center}.contact-note>i{font-size:2.3rem;color:var(--green);margin-bottom:18px}.contact-note p{color:var(--muted);line-height:1.7}
.login-page,.install-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,#e1eee6,transparent 32%),linear-gradient(135deg,#f7faf7,#edf4ef);display:grid;place-items:center;padding:25px}.login-shell{width:100%;max-width:460px}.login-back{display:inline-block;color:var(--green);font-weight:700;font-size:.88rem;margin-bottom:18px}.login-card,.install-card{background:#fff;padding:38px;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(20,52,41,.1)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.login-brand strong,.login-brand small{display:block}.login-brand strong{font:800 1.1rem Manrope}.login-brand small{font-size:.75rem;color:var(--muted)}.login-card h2,.install-card h2{font-weight:800}.login-card>p{font-size:.9rem}.login-foot{text-align:center;color:#8a9891;font-size:.78rem;margin-top:22px}.install-card{max-width:620px;width:100%}
.admin-body{background:#f5f8f6}.admin-layout{min-height:100vh}.admin-sidebar{width:250px;position:fixed;inset:0 auto 0 0;background:#102f2a;color:#fff;padding:25px 17px;display:flex;flex-direction:column;z-index:10}.admin-brand{display:flex;align-items:center;gap:11px;color:#fff;padding:0 8px 30px}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font:800 1rem Manrope}.admin-brand small{font-size:.68rem;color:rgba(255,255,255,.55);margin-top:3px}.sidebar-label{font-size:.63rem;letter-spacing:.14em;color:rgba(255,255,255,.38);font-weight:800;padding:0 12px 10px}.admin-sidebar>a:not(.admin-brand){display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;color:rgba(255,255,255,.68);font-size:.88rem;font-weight:600;margin:2px 0}.admin-sidebar>a.active,.admin-sidebar>a:not(.admin-brand):hover{background:rgba(255,255,255,.11);color:#fff}.admin-sidebar>a i{font-size:1.05rem}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:15px}.sidebar-bottom a,.sidebar-bottom button{display:block;width:100%;text-align:left;background:none;border:0;color:rgba(255,255,255,.65);padding:10px 12px;font-size:.85rem}.sidebar-bottom a i,.sidebar-bottom button i{margin-right:10px}.admin-main{margin-left:250px;min-height:100vh}.admin-topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:5}.user-avatar{width:35px;height:35px;border-radius:50%;background:#e7f1eb;color:var(--green);display:grid;place-items:center;font-weight:800}.admin-content{padding:32px;max-width:1600px;margin:auto}.admin-welcome{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.admin-welcome h1,.admin-page-title h1{font-size:1.8rem;font-weight:800;margin:0}.admin-welcome p,.admin-page-title p{color:var(--muted);margin:7px 0 0}.welcome-date{font-size:.83rem;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 13px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center}.metric-icon{grid-row:span 2;width:42px;height:42px;border-radius:12px;background:#eaf4ee;color:var(--green);display:grid;place-items:center;font-size:1.15rem}.metric-card strong{font:800 1.5rem Manrope}.metric-card small{color:var(--muted)}.panel-heading{display:flex;justify-content:space-between;align-items:start}.admin-panel h5{font-size:1.05rem;font-weight:800}.panel-heading p{font-size:.8rem;color:var(--muted)}.admin-chart{height:270px;margin-top:15px}.quick-links{display:grid;gap:8px;margin-top:20px}.quick-links a{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px;color:#50635a;font-size:.86rem;font-weight:700}.quick-links a>i:first-child{color:var(--green);font-size:1.1rem}.quick-links a:hover{background:#f5faf6}.admin-page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.admin-panel{margin-bottom:20px}.admin-panel .form-label{font-size:.83rem;font-weight:700;color:#52635d}.form-control,.form-select{border-color:#dce6df;border-radius:9px;padding:.65rem .8rem;font-size:.9rem}.form-control:focus,.form-select:focus{border-color:#83b6a0;box-shadow:0 0 0 .2rem rgba(29,128,101,.1)}.table{font-size:.86rem}.table thead th{font-size:.72rem;color:#84928b;text-transform:uppercase;letter-spacing:.07em;font-weight:800;border-bottom-color:var(--line)}.table td{border-color:#edf1ee}.status-pill{display:inline-block;border-radius:99px;padding:5px 9px;font-size:.7rem;font-weight:800}.status-pill.published{background:#e6f4eb;color:#26734e}.status-pill.draft{background:#f3f0e7;color:#917b3e}.admin-gallery-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;height:100%}.admin-gallery-card img,.admin-gallery-card .image-placeholder{width:100%;height:145px;object-fit:cover}.admin-gallery-card strong{font-size:.86rem;display:block}.admin-gallery-card .image-placeholder{font-size:2rem}.admin-content .alert{border-radius:11px}
@media(max-width:991px){.hero-section{padding:75px 0}.hero-panel{max-width:500px}.admin-sidebar{width:72px;padding:20px 10px}.admin-brand{justify-content:center;padding:0 0 25px}.admin-brand>span:last-child,.sidebar-label,.admin-sidebar>a:not(.admin-brand){font-size:0}.admin-sidebar>a:not(.admin-brand){justify-content:center;padding:13px}.admin-sidebar>a i{font-size:1.2rem}.sidebar-bottom a,.sidebar-bottom button{font-size:0;text-align:center}.sidebar-bottom i{font-size:1.1rem;margin:0!important}.admin-main{margin-left:72px}.admin-content{padding:24px}.admin-topbar{padding:0 22px}}@media(max-width:575px){.hero-section{padding:62px 0}.hero-section h1{font-size:2.45rem}.section-space{padding-top:55px;padding-bottom:55px}.admin-content{padding:18px 13px}.admin-topbar{height:62px;padding:0 14px}.admin-welcome{align-items:start;flex-direction:column}.admin-welcome h1,.admin-page-title h1{font-size:1.45rem}.admin-page-title{align-items:start;flex-direction:column}.admin-panel{padding:18px}.login-card,.install-card{padding:25px}.gallery-tile{height:165px}.content-image{height:180px}}
