/* ── Shared styles — Solvryns site ──────────────────────────────── */

:root {
  --navy:#1B2A4A; --navy2:#243659; --gold:#C9A84C; --gold2:#E8C96A;
  --gold-pale:#FDF6E3; --cream:#FAF8F3; --white:#fff;
  --g100:#F4F2ED; --g200:#E8E5DE; --g400:#9B9488; --g600:#5C5649;
  --text:#1B2A4A; --muted:#6B6459;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;}

/* ── Nav ───────────────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:64px;background:rgba(15,10,46,0.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,0.08);}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-text{font-family:'DM Serif Display',serif;font-size:20px;color:#ffffff;letter-spacing:-0.3px;line-height:1.1;}
.logo-descriptor{font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#a78bfa;white-space:nowrap;line-height:1;}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none;}
.nav-links a{font-size:14px;color:rgba(255,255,255,0.75);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:#ffffff;}
.nav-actions{display:flex;gap:10px;}
.btn-ghost{font-family:'DM Sans',sans-serif;font-size:14px;color:rgba(255,255,255,0.75);background:none;border:none;padding:8px 16px;cursor:pointer;transition:color .2s;}
.btn-ghost:hover{color:#ffffff;}
.btn-primary{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;color:#0f0a2e;background:#fbbf24;border:none;padding:9px 20px;border-radius:6px;cursor:pointer;transition:background .2s;}
.btn-primary:hover{background:#f59e0b;}

/* ── Mobile menu toggle ────────────────────────────────────────── */
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle svg{display:block;}
.menu-toggle .icon-close{display:none;}
nav.menu-open .menu-toggle .icon-open{display:none;}
nav.menu-open .menu-toggle .icon-close{display:block;}

/* ── Footer ────────────────────────────────────────────────────── */
footer{background:#0a0820;padding:40px 48px;display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:24px;}
.footer-logo{display:flex;align-items:center;gap:10px;}
.footer-logo-text{font-family:'DM Serif Display',serif;font-size:18px;color:var(--white);}
.footer-links-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px;}
.footer-links-col-label{font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-bottom:12px;}
.footer-links{display:flex;flex-direction:column;gap:8px;list-style:none;}
.footer-links a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:var(--white);}
.footer-copy{font-size:12px;color:rgba(255,255,255,.45);}

/* ── Social links ──────────────────────────────────────────────── */
.social-link{display:flex;align-items:center;opacity:.4;transition:opacity .2s;}
.social-link:hover{opacity:1;}

/* ── Disabled buttons ──────────────────────────────────────────── */
button:disabled,button[disabled]{opacity:0.5;cursor:not-allowed;pointer-events:none;}

/* ── Focus states ──────────────────────────────────────────────── */
:focus:not(:focus-visible){outline:none;}
:focus-visible{outline:2px solid #fbbf24;outline-offset:3px;border-radius:3px;}

/* ── Skip link ─────────────────────────────────────────────────── */
.skip-link{position:absolute;top:-100%;left:1rem;background:#fbbf24;color:#0a0820;padding:8px 16px;border-radius:0 0 6px 6px;font-weight:600;z-index:10000;text-decoration:none;font-size:14px;}
.skip-link:focus{top:0;}

/* ── Sub-page nav logo (backwards compat) ──────────────────────── */
.nav-logo{display:flex;flex-direction:column;line-height:1.1;text-decoration:none;}
.logo-name{font-family:'DM Serif Display',serif;font-size:1.2rem;color:#fff;}
.logo-tagline{font-size:0.65rem;color:rgba(255,255,255,0.45);letter-spacing:0.04em;text-transform:uppercase;line-height:1;margin-top:0;padding-top:0;}

/* ── Mobile nav & footer override ──────────────────────────────── */
@media(max-width:768px){
  nav{padding:0 20px;height:56px;}
  .logo-descriptor,.logo-tagline{display:none;}
  .nav-links,.nav-actions{display:none;}
  .menu-toggle{display:block;}

  nav.menu-open{flex-wrap:wrap;height:auto;padding-bottom:16px;}
  nav.menu-open .nav-links,nav.menu-open .nav-actions{display:flex;}
  nav.menu-open .nav-links{flex-direction:column;width:100%;gap:0;order:3;margin-top:8px;}
  nav.menu-open .nav-links li a{display:block;padding:10px 0;border-top:1px solid rgba(255,255,255,0.1);font-size:15px;}
  nav.menu-open .nav-actions{width:100%;order:4;margin-top:8px;gap:8px;}
  nav.menu-open .nav-actions .btn-ghost,nav.menu-open .nav-actions .btn-primary{flex:1;text-align:center;padding:11px 16px;}

  footer{flex-direction:column;align-items:flex-start;padding:32px 20px;gap:20px;}
  .footer-links-grid{grid-template-columns:1fr 1fr;gap:8px 24px;}
  .footer-links{gap:6px;}
}

/* ── 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;}
}
