/* Vajra Core — shared styles (light calm default, dark via data-theme) */
:root{
  --bg-1:#F7F5F0;
  --bg-2:#E9EAF0;
  --ink:#1C1B1F;
  --ink-soft:#5B5A62;
  --ink-faint:#8B8A90;
  --indigo:#332B54;
  --indigo-light:#6C5FA8;
  --gold:#A9824C;
  --line:#DFDCD2;
  --card:#FCFBF8;
  --radius:14px;
  --max:1180px;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  --script:'Instrument Serif',serif;
  color-scheme:light;
}

/* Dark theme — muted, warm, no pure black (mental-health calm).
   NOTE: data-theme is always concretely "light" or "dark".
   System preference is only used once at load (in JS) to pick the initial theme. */
html[data-theme="dark"]{
  --bg-1:#1B1A22;
  --bg-2:#23232F;
  --ink:#ECE9F1;
  --ink-soft:#B9B6C4;
  --ink-faint:#8E8C99;
  --indigo:#C9BEEA;
  --indigo-light:#DCD3F5;
  --gold:#C9A468;
  --line:#34333E;
  --card:#23222C;
  color-scheme:dark;
}
/* (no prefers-color-scheme branches: theme is always resolved to light/dark by JS) */

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:linear-gradient(170deg,var(--bg-1) 0%, var(--bg-1) 35%, var(--bg-2) 100%);
  background-attachment:fixed;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
  transition:background .4s ease,color .4s ease;
}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
.accent{font-family:var(--script);font-style:italic;font-weight:400;color:var(--gold);}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

/* reveal-on-scroll (single consolidated observer in main.js) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--indigo-light);outline-offset:3px;border-radius:4px;
}

/* ---------- NAV ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:22px 0;
  transition:background .4s ease, backdrop-filter .4s ease, border-color .4s ease, padding .4s ease;
}
header.scrolled{
  background:rgba(247,245,240,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  padding:14px 0;
}
html[data-theme="dark"] header.scrolled{background:rgba(27,26,34,.78);}
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:.01em;}
.logo svg{width:22px;height:22px;}
.nav-links{display:none;align-items:center;gap:36px;font-size:14px;color:var(--ink-soft);font-weight:500;}
@media(min-width:860px){.nav-links{display:flex;}}
.nav-links a{transition:color .25s ease;}
.nav-links a:hover{color:var(--ink);}
.nav-right{display:flex;align-items:center;gap:12px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:100px;
  font-size:14px;font-weight:600;letter-spacing:.01em;
  border:1px solid var(--indigo);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, background .3s ease, color .3s ease;
  cursor:pointer;background:transparent;color:var(--indigo);
}
.btn-solid{background:var(--indigo);color:#fff;}
html[data-theme="dark"] .btn-solid{background:var(--indigo);color:#1B1A22;}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -12px rgba(51,43,84,.45);}
.btn-ghost:hover{background:rgba(51,43,84,.06);}
.nav-cta{display:none;}
@media(min-width:860px){.nav-cta{display:inline-flex;}}

/* theme toggle — minimal, calm */
.theme-toggle{
  width:38px;height:38px;border-radius:100px;border:1px solid var(--line);
  background:var(--card);color:var(--ink-soft);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .25s ease,color .25s ease,border-color .25s ease;
}
.theme-toggle:hover{color:var(--ink);transform:translateY(-1px);}
.theme-toggle svg{width:17px;height:17px;}
.theme-toggle .moon{display:none;}
html[data-theme="dark"] .theme-toggle .sun{display:none;}
html[data-theme="dark"] .theme-toggle .moon{display:block;}

/* Brand logo (full-color SVG mark — identical on light/dark) */
.logo img{width:22px;height:22px;}
.footer-logo img{width:20px;height:20px;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:56px 0 40px;}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;align-items:flex-start;padding-bottom:40px;}
.footer-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;}
.footer-logo svg{width:20px;height:20px;}
.footer-tag{margin-top:12px;font-size:14px;color:var(--ink-faint);max-width:260px;}
.footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
.footer-col h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:16px;}
.footer-col a{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:11px;transition:color .25s ease;background:none;border:none;cursor:pointer;font-family:var(--sans);padding:0;text-align:left;}
.footer-col a:hover{color:var(--ink);}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;
  padding-top:28px;border-top:1px solid var(--line);
  font-size:13px;color:var(--ink-faint);
}
