:root {
  --primary: #1a1a1a;
  --on-primary: #ffffff;
  --secondary: #d4a82c;
  --background: #f8f8f8;
  --surface: #ffffff;
  --surface-container: #f0f0f0;
  --surface-container-low: #f5f5f5;
  --surface-container-lowest: #fafafa;
  --surface-container-high: #e8e8e8;
  --on-surface: #1a1a1a;
  --on-surface-variant: #3d3d3d;
  --outline-variant: #b0b0b0;
  --margin-mobile: 1.25rem;
  --margin-desktop: 4rem;
  --max-width: 1440px;
  --font-display: 'Playfair Display', serif;
  --font-body: 'Source Sans 3', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

* {margin:0;padding:0;box-sizing:border-box;}
body {background-color:var(--background);color:var(--on-surface);font-family:var(--font-body);line-height:1.5;overflow-x:hidden;}
a {text-decoration:none;color:inherit;transition:color 0.3s;}
ul {list-style:none;}
img {max-width:100%;display:block;max-height: 460px;}
button {cursor:pointer;border:none;background:none;font-family:inherit;transition:all 0.3s;}
button:hover{opacity: 0.9;text-decoration: underline;}
.container {max-width:var(--max-width);margin:0 auto;padding:0 var(--margin-mobile);}
@media (min-width:768px) {.container {padding:0 var(--margin-desktop);}
;}
header {border-bottom:1px solid var(--outline-variant);background:var(--background);position:relative;z-index:100;}
.nav-wrapper {display:flex;flex-direction:column;align-items:center;padding:1.0rem 0;}
@media (min-width:768px) {.nav-wrapper {flex-direction:row;justify-content:space-between;padding:1rem 0;}
;}
.logo-bar {display:flex;justify-content:space-between;align-items:center;width:100%;}
@media (min-width:768px) {.logo-bar {width:auto;}
;}
.logo {font-family:var(--font-display);font-size:1.8rem;font-weight:700;text-transform:uppercase;letter-spacing:-0.02em;color:var(--primary);}
.nav-menu {display:none;width:100%;flex-direction:column;gap:1.5rem;padding:1.5rem 0;text-align:center;}
.nav-menu.active {display:flex;}
@media (min-width:768px) {.nav-menu {display:flex;flex-direction:row;align-items:center;width:auto;padding:0;gap:2rem;}
;}
.nav-link {font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--on-surface-variant);}
.nav-link:hover,.nav-link.active {color:var(--primary);}
.nav-link.active {border-bottom:2px solid var(--secondary);padding-bottom:4px;}
.icon-btn {color:var(--primary);display:flex;align-items:center;}
.md-hidden {display:block;}
@media (min-width:768px) {.md-hidden {display:none;}
;}
footer {border-top:1px solid var(--outline-variant);padding:2rem 0;text-align:center;background:var(--surface-container-lowest);}
.footer-logo {font-family:var(--font-display);font-size:2.0rem;color:var(--primary);text-transform:uppercase;margin-bottom:2.5rem;}
.footer-links {display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:1rem;}
.footer-link {font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--on-surface-variant);}
.footer-link:hover {color:var(--primary);}
.social-icons {display:flex;justify-content:center;gap:2rem;margin-bottom:3rem;color:var(--on-surface-variant);}
.social-icons svg:hover {color:var(--secondary);cursor:pointer;}
.copyright {font-size:0.75rem;color:var(--on-surface-variant);opacity:0.5;font-family:var(--font-body);letter-spacing:0.05em;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.hidden {display:none;}
.ad-slot {margin:15px -5px;padding:5px;border:1px dashed #2A2C2E;background:var(--surface-container-low);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.ad-label {font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--on-surface-variant);opacity:0.5;margin-bottom:8px;}
