*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font:var(--text-body)}
a{color:var(--color-primary-strong);text-decoration:none}
a:hover{color:var(--color-primary-hover);text-decoration:underline}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.section{max-width:1200px;margin:0 auto;padding:88px 24px}
@media (max-width:640px){.section{padding:56px 20px}}
.eyebrow{font:var(--text-eyebrow);letter-spacing:var(--letter-eyebrow);color:var(--color-primary-strong)}
.site-header{position:sticky;top:0;z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.site-header-inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:24px}
.site-logo{font:600 22px var(--font-display);color:var(--color-primary-strong);text-decoration:none;display:flex;align-items:center;gap:8px}
.site-logo-icon{width:28px;height:28px;object-fit:contain}
.site-logo:hover{text-decoration:none;color:var(--color-primary-strong)}
.site-nav-desktop,.site-header-cta{display:flex;gap:4px;margin-left:auto}
.site-header-cta button{white-space:nowrap}
.site-nav-link{font:var(--text-label);color:var(--color-text-secondary);padding:9px 16px;border-radius:var(--radius-full);text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.site-nav-link:hover{background:var(--color-surface-soft);color:var(--color-text);text-decoration:none}
.site-nav-link.active{background:var(--color-primary-soft);color:var(--color-primary-strong)}
.site-menu-btn{display:none;border:none;background:transparent;font-size:26px;color:var(--color-text);cursor:pointer;padding:8px;border-radius:var(--radius-sm);line-height:1}
.site-nav-mobile{display:none}
@media (max-width:860px){
.site-nav-desktop,.site-header-cta{display:none}
.site-menu-btn{display:flex;align-items:center;justify-content:center;margin-left:auto}
.site-nav-mobile{display:flex;flex-direction:column;gap:2px;max-height:0;overflow:hidden;transition:max-height var(--duration-base) var(--ease-standard);background:var(--color-surface);border-top:1px solid transparent}
.site-nav-mobile.open{max-height:420px;border-top:1px solid var(--color-border)}
.site-nav-mobile-inner{padding:12px 24px 24px;display:flex;flex-direction:column;gap:2px}
.site-nav-mobile-link{font:var(--text-body);font-weight:700;padding:14px 12px;border-radius:var(--radius-sm);color:var(--color-text);min-height:44px;display:flex;align-items:center;text-decoration:none}
.site-nav-mobile-link.active{background:var(--color-primary-soft);color:var(--color-primary-strong)}
}
.site-footer{background:var(--teal-900);color:#fff;margin-top:40px}
.site-footer-inner{max-width:1200px;margin:0 auto;padding:56px 24px;display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.site-footer-logo{font:600 24px var(--font-display);display:flex;align-items:center;gap:10px}
.site-footer-logo-icon{width:22px;height:22px;object-fit:contain;background:#fff;border-radius:var(--radius-sm);padding:4px}
.logout-scrim{position:fixed;inset:0;background:rgba(5,46,42,.4);display:flex;align-items:center;justify-content:center;z-index:100}
.logout-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:28px;width:320px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-3)}
.logout-modal h3{margin:0 0 8px;font:var(--text-h3)}
.logout-modal p{margin:0 0 20px;color:var(--color-text-secondary);font:var(--text-body-sm)}
.logout-modal-actions{display:flex;justify-content:flex-end;gap:10px}
.site-footer-desc{font:var(--text-body-sm);color:rgba(255,255,255,.7);max-width:280px;margin-top:10px}
.site-footer-cols{display:flex;gap:56px;flex-wrap:wrap}
.site-footer-heading{font:var(--text-eyebrow);letter-spacing:var(--letter-eyebrow);color:rgba(255,255,255,.5);margin-bottom:14px}
.site-footer-cols a,.site-footer-text{display:block;color:rgba(255,255,255,.85);font:var(--text-body-sm);margin-bottom:10px;text-decoration:none}
.site-footer-cols a:hover{color:#fff;text-decoration:underline}
.site-footer-bottom{border-top:1px solid rgba(255,255,255,.15);text-align:center;padding:20px;font:var(--text-body-sm);color:rgba(255,255,255,.55)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease-standard),transform .5s var(--ease-standard)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.btn-invert{font-family:var(--font-body);font:var(--text-label);font-weight:700;border-radius:var(--radius-full);padding:14px 32px;border:none;cursor:pointer;background:#fff;color:var(--color-primary-strong);display:inline-flex;align-items:center;gap:8px;transition:transform var(--duration-fast) var(--ease-playful)}
.btn-invert:hover{transform:translateY(-2px)}
.page-header{background:var(--color-surface-soft);border-bottom:1px solid var(--color-border)}
.page-header-inner{max-width:1200px;margin:0 auto;padding:64px 24px 48px}
@media (max-width:640px){.page-header-inner{padding:44px 20px 36px}}
