:root{color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}

.nav-link{font-weight:600;color:#0b1b3a;transition:color .2s ease,transform .2s ease}
.nav-link:hover{color:#8f6a20;transform:translateY(-1px)}
.nav-link:focus-visible{border-radius:.75rem;box-shadow:0 0 0 3px rgba(184,138,43,.35)}

.mobile-link{font-family:Fraunces,ui-serif,Georgia,Times New Roman,Times;font-size:1.5rem;line-height:1.2;color:#0b1b3a;padding:.75rem 1rem;border-radius:1rem;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.mobile-link:hover{background-color:rgba(184,138,43,.12);transform:translateY(-2px)}
.mobile-link:focus-visible{box-shadow:0 0 0 3px rgba(184,138,43,.35)}

.footer-link{color:#0b1b3a;transition:color .2s ease,text-decoration-color .2s ease}
.footer-link:hover{color:#8f6a20;text-decoration:underline;text-decoration-color:rgba(184,138,43,.6);text-underline-offset:4px}
.footer-link:focus-visible{border-radius:.5rem;box-shadow:0 0 0 3px rgba(184,138,43,.35)}

.timeline-btn{width:100%;display:flex;align-items:flex-start;gap:.75rem;border-radius:1.25rem;border:1px solid rgba(226,232,240,1);background:#fff;padding:1rem;box-shadow:0 12px 40px rgba(11,27,58,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}
.timeline-btn:hover{transform:translateY(-2px);box-shadow:0 18px 60px rgba(11,27,58,.14)}
.timeline-btn[aria-selected="true"]{border-color:rgba(184,138,43,.55);background:linear-gradient(180deg,rgba(184,138,43,.10),rgba(255,255,255,1))}
.timeline-btn:focus-visible{box-shadow:0 0 0 3px rgba(184,138,43,.35),0 18px 60px rgba(11,27,58,.14)}
.timeline-dot{margin-top:.15rem;height:.9rem;width:.9rem;border-radius:9999px;background:rgba(184,138,43,.9);box-shadow:0 0 0 4px rgba(184,138,43,.15)}

.reveal{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

body.menu-open{overflow:hidden}

@media (prefers-reduced-motion:reduce){.timeline-btn,.nav-link,.mobile-link,.footer-link,.reveal{transition:none}.timeline-btn:hover{transform:none}}