*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Lexend', sans-serif; background: #ffffff; color: #1E293B; -webkit-font-smoothing: antialiased; }

/* Skip nav */
.skip-nav { position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden; }
.skip-nav:focus { position:fixed;top:0;left:0;width:auto;height:auto;padding:12px 20px;background:#1F412E;color:#fff;font-size:0.9rem;font-weight:600;z-index:9999;text-decoration:none;border-radius:0 0 4px 0;outline:2px solid #fff;outline-offset:2px; }

/* Navbar */
#navbar { background-color: #1F412E; position: fixed; top: 0; left: 0; right: 0; z-index: 50; box-shadow: 0 2px 12px rgba(0,0,0,0.15); }
#mobile-menu { display: none; background-color: #1F412E; border-top: 1px solid rgba(255,255,255,0.12); }
#mobile-menu.open { display: flex; }

/* Buttons */
.btn-brick { display:inline-flex;align-items:center;gap:6px;background-color:#8E3E36;color:#fff;font-size:0.875rem;font-weight:600;padding:14px 28px;border-radius:2px;border:none;cursor:pointer;text-decoration:none;transition:background-color 0.2s; }
.btn-brick:hover { background-color:#6B2E28; }
.btn-brick:focus-visible { outline:2px solid #1F412E;outline-offset:2px; }
.btn-brick-sm { display:inline-flex;align-items:center;gap:6px;background-color:#8E3E36;color:#fff;font-size:0.8rem;font-weight:600;padding:10px 20px;border-radius:2px;border:none;cursor:pointer;text-decoration:none;transition:background-color 0.2s; }
.btn-brick-sm:hover { background-color:#6B2E28; }
.btn-brick-sm:focus-visible { outline:2px solid #1F412E;outline-offset:2px; }
.btn-outline-forest { display:inline-flex;align-items:center;gap:6px;background-color:transparent;color:#1F412E;font-size:0.875rem;font-weight:600;padding:14px 28px;border-radius:2px;border:2px solid #1F412E;cursor:pointer;text-decoration:none;transition:background-color 0.2s; }
.btn-outline-forest:hover { background-color:#EEF4F0; }
.btn-outline-forest:focus-visible { outline:2px solid #1F412E;outline-offset:2px; }

/* Service cards */
.service-card { background:#fff;border:1px solid #E2E8F0;border-top:3px solid transparent;padding:32px;display:flex;flex-direction:column;transition:border-top-color 0.25s,box-shadow 0.25s;border-radius:1px; }
.service-card:hover { border-top-color:#8E3E36;box-shadow:0 8px 24px rgba(0,0,0,0.09); }

/* Form */
.form-input { width:100%;border:1px solid #E2E8F0;border-radius:2px;padding:12px 16px;font-size:0.875rem;font-family:'Lexend',sans-serif;color:#1E293B;background:#fff;outline:none;transition:border-color 0.2s; }
.form-input:focus { border-color:#1F412E; outline:2px solid #1F412E;outline-offset:0; }
.form-input::placeholder { color:#CBD5E1; }
.form-label { display:block;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#64748B;margin-bottom:6px; }

/* Animations */
.fade-in { opacity:0;transform:translateY(24px);transition:opacity 0.55s ease,transform 0.55s ease; }
.fade-in.visible { opacity:1;transform:translateY(0); }

/* Misc */
.nav-link { color:rgba(255,255,255,0.9);font-size:0.875rem;font-weight:500;text-decoration:none;transition:color 0.2s;letter-spacing:0.04em; }
.nav-link:hover { color:#fff; }
.nav-link:focus-visible { outline:2px solid #fff;outline-offset:2px;border-radius:2px; }
.eyebrow-forest { display:inline-flex;align-items:center;gap:6px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:#1F412E;border:1px solid #1F412E;background:#EEF4F0;padding:6px 14px;border-radius:999px; }
.eyebrow-brick { font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:#8E3E36; }
.section { padding:96px 0; }
.section-sm { padding:48px 0; }
.container { max-width:1200px;margin:0 auto;padding:0 48px; }
@media (max-width:768px) { .container{padding:0 24px;} .section{padding:64px 0;} }
.grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.grid-form { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
@media (max-width:1024px) { .grid-3{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px) { .grid-3{grid-template-columns:1fr;} .grid-form{grid-template-columns:1fr;} }
.hero-buttons { display:flex;gap:16px;flex-wrap:wrap; }
.pub-item { display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid #E2E8F0;font-size:0.875rem;color:#475569;line-height:1.6; }
.pub-item:first-child { border-top:none; }
.pub-item a { color:inherit;text-decoration:none; }
.pub-item a:hover { text-decoration:underline; }
.pub-item a:focus-visible { outline:2px solid #1F412E;outline-offset:2px;border-radius:2px; }
.bio-link { color:inherit;font-weight:inherit;text-decoration:none; }
.bio-link:hover { text-decoration:underline; }
.bio-link:focus-visible { outline:2px solid #1F412E;outline-offset:2px;border-radius:2px; }
.pub-dot { width:6px;height:6px;border-radius:50%;background:#8E3E36;flex-shrink:0;margin-top:6px; }
.service-tag { display:inline-block;margin-top:auto;padding-top:16px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#8E3E36; }
footer { background-color:#1F412E; }
.footer-links a { color:rgba(255,255,255,0.9);font-size:0.875rem;text-decoration:none;transition:color 0.2s; }
.footer-links a:hover { color:#fff; }
.footer-links a:focus-visible { outline:2px solid #fff;outline-offset:2px;border-radius:2px; }
.pledge-box { background:#F0F5F1;border:1px solid #D4E2DA;border-left:3px solid #1F412E;padding:24px 28px;border-radius:2px; }

/* About layout */
.about-grid { display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start; }
@media (max-width:900px) { .about-grid{grid-template-columns:1fr;gap:40px;} }

/* Photo placeholder */
.photo-placeholder { width:100%;aspect-ratio:1/1;background:#EEF4F0;border:2px dashed #D4E2DA;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#94A3B8; }
.photo-placeholder svg { opacity:0.4; }
.photo-placeholder span { font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;text-align:center;padding:0 16px; }

/* Cert toggles */
.cert-category { border:1px solid #E2E8F0;border-radius:2px;overflow:hidden;margin-bottom:8px; }
.cert-header { display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;background:#fff;transition:background 0.15s;user-select:none;border:none;width:100%;font:inherit;text-align:left; }
.cert-header:hover { background:#F8F9FA; }
.cert-header:focus-visible { outline:2px solid #1F412E;outline-offset:-2px; }
.cert-header-left { display:flex;align-items:center;gap:12px; }
.cert-category-label { font-size:0.8rem;font-weight:600;color:#1E293B; }
.cert-count { font-size:0.7rem;font-weight:600;color:#8E3E36;background:#FDF2F1;padding:3px 9px;border-radius:999px; }
.cert-chevron { color:#94A3B8;transition:transform 0.2s;flex-shrink:0; }
.cert-chevron.open { transform:rotate(180deg); }
.cert-body { display:none;padding:4px 18px 16px;background:#fff; }
.cert-body.open { display:block; }
.cert-item { display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-top:1px solid #F1F5F9;font-size:0.8rem;color:#475569;line-height:1.5; }
.cert-item:first-child { border-top:none; }
.cert-dot { width:4px;height:4px;border-radius:50%;background:#1F412E;flex-shrink:0;margin-top:6px; }
.cert-retired { font-size:0.75rem;color:#475569;font-style:italic;margin-left:4px; }

/* Stats row */
.stats-row { display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px; }
@media (max-width:480px) { .stats-row{grid-template-columns:1fr 1fr;} }
.stat-box { background:#F8F9FA;border:1px solid #E2E8F0;border-radius:2px;padding:16px;min-width:0; }
.stat-value { font-size:1.4rem;font-weight:700;color:#1F412E;margin-bottom:4px; }
.stat-label { font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#475569; }
@media (max-width:768px) { .desktop-nav{display:none!important;} #menu-toggle{display:block!important;} }

/* Privacy policy */
.policy-h2 { font-size:1.3rem;font-weight:600;color:#1F412E;margin-top:32px;margin-bottom:16px; }
.policy-link { color:#1F412E;text-decoration:none; }
.policy-link:hover { text-decoration:underline; }
.policy-link:focus-visible { outline:2px solid #1F412E;outline-offset:2px;border-radius:2px; }

/* Pledge 1% link */
.pledge-link { font-size:0.75rem;font-weight:600;color:#1F412E;text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:8px; }
.pledge-link:hover { text-decoration:underline; }
.pledge-link:focus-visible { outline:2px solid #1F412E;outline-offset:2px;border-radius:2px; }

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .fade-in { transform: translateY(0); opacity: 1; }
  .cert-chevron.open { transform: none; }
}

