
/* Ensure sections remain visible in SPA rendering */
.reveal,
.reveal-left,
.reveal-right,
.stagger-child { opacity: 1 !important; transform: none !important; }

html, body { background: #fff; }
body { font-size: 16px; }

.header-logo img { height: 40px !important; }
.nav-link { font-size: 13px !important; padding: 7px 10px !important; }
.header-cta, .header-cta-outline { font-size: 13px !important; padding: 9px 18px !important; }
.hero-headline { font-size: clamp(54px, 6vw, 88px) !important; line-height: 0.98 !important; }
.hero-subcopy { font-size: 21px !important; line-height: 1.7 !important; max-width: 720px !important; }
.section-title { font-size: clamp(34px, 4vw, 56px) !important; }
.impact-hero-title, .page-hero-title, .report-hero-title { font-size: clamp(42px, 5vw, 72px) !important; }
.stat-number, .metric-value { font-size: clamp(34px, 4vw, 52px) !important; }
.footer-newsletter-title { font-size: 24px !important; }

.admin-main { background: #f5f7fa; }
.admin-page-title { font-size: 38px !important; }
.topbar-kicker { font-size: 12px !important; letter-spacing: .15em; }
.admin-nav-item { font-size: 14px !important; }
.login-title { font-size: 34px !important; }
.login-sub, .alert, .mgmt-card-sub { font-size: 15px !important; }
.mgmt-card-title, .page-card-label, .admin-section-title { font-size: 20px !important; }
.btn-submit, .btn-preview, .admin-logout { font-size: 14px !important; }
.login-form input, .login-form textarea, .login-form select { font-size: 15px !important; }
.admin-two-col { display:grid; grid-template-columns: minmax(320px,420px) 1fr; gap: 20px; align-items:start; }
@media (max-width: 980px) { .admin-two-col { grid-template-columns: 1fr; } }

/* React admin layout repair */
body.admin-page,body.admin-body,body.admin-login-page{margin:0!important;min-height:100vh;overflow:visible;font-family:'Outfit',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:#f3f6f8!important;color:#1f2937!important;}
body.admin-page #root,body.admin-body #root{min-height:100vh;display:block;width:100%;overflow-x:hidden;}
body.admin-page .admin-sidebar,body.admin-body .admin-sidebar{width:180px!important;height:100vh!important;position:fixed!important;inset:0 auto 0 0!important;background:linear-gradient(180deg,#07180d 0%,#0a120f 100%)!important;border-right:1px solid rgba(255,255,255,.06)!important;overflow-y:auto!important;padding:0!important;z-index:1000!important;}
body.admin-page .admin-brand,body.admin-body .admin-brand{height:82px!important;padding:20px 20px 14px!important;display:flex!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.06)!important;}
body.admin-page .admin-brand img,body.admin-body .admin-brand img{width:142px!important;height:auto!important;max-height:42px!important;display:block!important;}
body.admin-page .admin-nav,body.admin-body .admin-nav{padding:14px 10px 120px!important;}
body.admin-page .admin-nav-item,body.admin-body .admin-nav-item{min-height:38px!important;padding:10px 12px!important;margin:2px 0!important;border-radius:8px!important;display:flex!important;align-items:center!important;color:rgba(255,255,255,.72)!important;font-size:14px!important;line-height:1.25!important;font-weight:600!important;text-decoration:none!important;}
body.admin-page .admin-nav-item.sub,body.admin-body .admin-nav-item.sub{color:rgba(255,255,255,.60)!important;font-weight:500!important;}
body.admin-page .admin-nav-item:hover,body.admin-body .admin-nav-item:hover,body.admin-page .admin-nav-item.active,body.admin-body .admin-nav-item.active{background:rgba(58,174,81,.18)!important;color:#3aae51!important;}
body.admin-page .admin-sidebar-footer,body.admin-body .admin-sidebar-footer{position:fixed!important;left:0!important;bottom:0!important;width:180px!important;padding:14px 14px 18px!important;background:linear-gradient(0deg,#07110b 70%,rgba(7,17,11,.92))!important;border-top:1px solid rgba(255,255,255,.08)!important;}
body.admin-page .admin-user-card,body.admin-body .admin-user-card{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:8px!important;color:rgba(255,255,255,.86)!important;font-size:13px!important;}
body.admin-page .admin-user-avatar,body.admin-body .admin-user-avatar{width:32px!important;height:32px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:#3aae51!important;background:rgba(58,174,81,.16)!important;font-weight:800!important;}
body.admin-page .admin-user-card small,body.admin-body .admin-user-card small{color:rgba(255,255,255,.48)!important;}
body.admin-page .admin-logout,body.admin-body .admin-logout{display:inline-flex!important;color:#ff7b7b!important;text-decoration:none!important;font-size:13px!important;font-weight:700!important;padding:8px 0!important;}
body.admin-page .admin-main,body.admin-body .admin-main{display:block!important;margin-left:180px!important;width:calc(100% - 180px)!important;min-height:100vh!important;background:#f3f6f8!important;box-sizing:border-box!important;overflow:visible!important;}
body.admin-page .admin-topbar,body.admin-body .admin-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;min-height:86px!important;height:auto!important;padding:18px 28px!important;background:#fff!important;border-bottom:1px solid #dfe4ea!important;box-shadow:0 2px 8px rgba(0,0,0,.07)!important;position:fixed!important;top:0!important;left:180px!important;right:0!important;z-index:500!important;}
body.admin-page .topbar-kicker,body.admin-body .topbar-kicker{color:#667085!important;font-size:12px!important;letter-spacing:.18em!important;font-weight:800!important;text-transform:uppercase!important;margin-bottom:3px!important;}
body.admin-page .admin-page-title,body.admin-body .admin-page-title{color:#1f2937!important;font-size:clamp(28px,3vw,42px)!important;line-height:1.05!important;font-weight:900!important;margin:0!important;}
body.admin-page .admin-content,body.admin-body .admin-content{display:block!important;padding:28px!important;padding-top:calc(86px + 28px)!important;width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;}
body.admin-page .mgmt-cards,body.admin-body .mgmt-cards{grid-template-columns:repeat(3,minmax(220px,1fr))!important;gap:16px!important;}
body.admin-page .page-cards-grid,body.admin-body .page-cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:14px!important;}
body.admin-page .mgmt-card,body.admin-body .mgmt-card,body.admin-page .page-card,body.admin-body .page-card,body.admin-page .editor-panel,body.admin-body .editor-panel{border:1px solid #dfe4ea!important;border-radius:10px!important;box-shadow:0 1px 2px rgba(16,24,40,.03)!important;}
body.admin-page .page-card-label,body.admin-body .page-card-label,body.admin-page .mgmt-card-title,body.admin-body .mgmt-card-title{color:#1f2937!important;font-size:18px!important;line-height:1.25!important;font-weight:800!important;}
body.admin-page .admin-section-title,body.admin-body .admin-section-title{color:#1f2937!important;font-size:20px!important;font-weight:800!important;}
body.admin-page .login-form label,body.admin-body .login-form label,body.admin-login-page .login-form label{display:flex!important;flex-direction:column!important;gap:7px!important;color:#1f2937!important;font-size:14px!important;font-weight:700!important;}
body.admin-page .login-form input,body.admin-page .login-form textarea,body.admin-page .login-form select,body.admin-body .login-form input,body.admin-body .login-form textarea,body.admin-body .login-form select,body.admin-login-page .login-form input,body.admin-login-page .login-form textarea,body.admin-login-page .login-form select{width:100%!important;min-height:42px!important;padding:11px 13px!important;border:1.5px solid #d0d5dd!important;border-radius:8px!important;font-size:15px!important;color:#111827!important;background:#fff!important;outline:none!important;}
body.admin-page .login-form textarea,body.admin-body .login-form textarea{min-height:110px!important;}
body.admin-page .btn-submit,body.admin-body .btn-submit,body.admin-login-page .btn-submit{min-height:44px!important;padding:12px 18px!important;border:0!important;border-radius:999px!important;background:#3aae51!important;color:#fff!important;font-weight:800!important;font-size:14px!important;cursor:pointer!important;}
body.admin-page .btn-preview,body.admin-body .btn-preview{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:9px 14px!important;border:1px solid #d0d5dd!important;border-radius:999px!important;background:#fff!important;color:#1f2937!important;font-weight:700!important;cursor:pointer!important;}
body.admin-login-page .login-wrap{width:100%!important;max-width:430px!important;}
body.admin-login-page .login-card{padding:42px!important;border-radius:18px!important;}
body.admin-login-page .login-logo img{height:54px!important;max-width:210px!important;}
body.admin-login-page .login-title{font-size:36px!important;line-height:1.05!important;margin-bottom:12px!important;}
body.admin-login-page .login-sub{font-size:15px!important;line-height:1.6!important;color:#667085!important;}
@media(max-width:900px){body.admin-page .admin-sidebar,body.admin-body .admin-sidebar{position:relative!important;width:100%!important;height:auto!important;}body.admin-page .admin-sidebar-footer,body.admin-body .admin-sidebar-footer{position:relative!important;width:100%!important;}body.admin-page .admin-main,body.admin-body .admin-main{margin-left:0!important;width:100%!important;}body.admin-page .mgmt-cards,body.admin-body .mgmt-cards{grid-template-columns:1fr!important;}}
