:root{--sr-bg:#0b1020;--sr-panel:#141b33;--sr-line:#2a3350;--sr-ink:#f3ece0;--sr-mute:#b4bad0;--sr-accent:#d9a441;--sr-serif:Georgia,"Times New Roman",serif}
[data-bs-theme=dark]{--bs-body-bg:var(--sr-bg);--bs-body-color:var(--sr-ink);--bs-secondary-color:var(--sr-mute);--bs-border-color:var(--sr-line);--bs-link-color:var(--sr-accent);--bs-link-hover-color:#f0c36a;--bs-link-color-rgb:217,164,65}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media (min-width:1920px){html{font-size:112.5%}.container-xxl{max-width:1680px}}
@media (min-width:2560px){html{font-size:131%}.container-xxl{max-width:2000px}}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.7}
h1,h2,h3,.h3,.h4,.logo,.year{font-family:var(--sr-serif);font-weight:400;line-height:1.15}
a{text-decoration-thickness:1px;text-underline-offset:.2em}
:focus-visible{outline:3px solid var(--sr-accent);outline-offset:3px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--sr-accent);color:#000;padding:.75rem 1rem;z-index:2000}
.skip-link:focus{left:0}
.logo{letter-spacing:.3em;color:var(--sr-accent)!important;text-decoration:none;font-size:1.25rem}
.site-header{background:rgba(11,16,32,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--sr-line)}
.navbar{--bs-navbar-padding-y:1rem}
.nav-link{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sr-mute)}
.nav-link:hover,.nav-link.active{color:var(--sr-accent)}
.nav-link.active{border-bottom:1px solid var(--sr-accent)}
.btn-accent{--bs-btn-color:var(--sr-accent);--bs-btn-border-color:var(--sr-accent);--bs-btn-hover-bg:var(--sr-accent);--bs-btn-hover-color:#0b1020;--bs-btn-hover-border-color:var(--sr-accent);--bs-btn-active-bg:#f0c36a;--bs-btn-active-color:#0b1020;border-radius:0;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;padding:.8rem 1.5rem}
.btn-lg{font-size:.85rem}.btn-outline-light{border-radius:0;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}
.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sr-accent);margin-bottom:1rem}
.display-title{font-size:clamp(2.25rem,6vw + .5rem,5.5rem);max-width:18ch}
.section-title{font-size:clamp(1.75rem,3vw + .5rem,3rem)}
.section{padding-block:clamp(3.5rem,8vw,7rem)}
.page-head{padding-block:clamp(3.5rem,9vw,8rem) clamp(2rem,4vw,3.5rem)}
.band{background:#0e1429;border-block:1px solid var(--sr-line)}
.prose p{font-size:1.1rem;color:#d8d2c6;max-width:68ch}
.hero{position:relative;min-height:calc(100svh - 4.5rem);display:flex;align-items:flex-end;overflow:hidden}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,16,32,.2),rgba(11,16,32,.9))}
.hero-content{position:relative;padding-block:clamp(2rem,6vw,5rem)}
.card{background:var(--sr-panel);border:1px solid var(--sr-line);border-radius:0;overflow:hidden}
.tile{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.tile:hover{border-color:var(--sr-accent);transform:translateY(-3px)}
.media{display:block;width:100%;height:auto;object-fit:cover;background:#1a2342}
.media-16x10{aspect-ratio:16/10}.media-2x3{aspect-ratio:3/4}.media-4x5{aspect-ratio:4/5}
.badge-dev{display:inline-block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sr-accent);border:1px solid var(--sr-accent);padding:.2rem .6rem}
.year{font-size:2rem;color:var(--sr-accent)}
.timeline li{border-top:1px solid var(--sr-line);padding-top:1rem}
.form-card{padding:clamp(1.25rem,3vw,2.25rem)}
.form-control,.form-select{border-radius:0;background-color:#0e1429;border-color:var(--sr-line);padding:.8rem 1rem}
.form-control:focus,.form-select:focus{border-color:var(--sr-accent);box-shadow:0 0 0 .2rem rgba(217,164,65,.25)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-mail{font-family:var(--sr-serif);font-size:clamp(1.25rem,2.5vw,1.75rem)}
.site-footer{background:#080c19;border-top:1px solid var(--sr-line)}
.footer-h{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sr-accent);font-family:inherit;margin-bottom:1rem}
.footer-links li{margin-bottom:.5rem}.footer-links a{color:var(--sr-mute);text-decoration:none}.footer-links a:hover{color:var(--sr-accent)}
