/* ============================================================
   Soumya Swaraj — AWWWARDS-grade portfolio stylesheet
   Editorial serif + modern sans · calm, founder-vibe
   ============================================================ */

/* Scroll progress — thin gold filament across the top */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 500;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.02),
    transparent
  );
}
.scroll-progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(
    90deg,
    rgba(201, 168, 107, 0),
    rgba(201, 168, 107, 0.9) 40%,
    rgba(243, 233, 210, 1) 70%,
    rgba(201, 168, 107, 0.9)
  );
  box-shadow: 0 0 12px rgba(201, 168, 107, 0.55);
  transform-origin: left;
  transition: width 0.18s linear;
}

/* Accessible-but-hidden content (SEO / AEO / screen readers) */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:root {
  /* — Palette — */
  --bg-deep: #0e1513;
  --bg-dark: #121a18;
  --bg-muted: #1a2421;
  --bg-green: #1f2d27;
  --bg-light: #efece4;
  --bg-paper: #f5f2ea;
  --bg-warm: #e9e2d2; /* warmer cream for human section */
  --bg-warm-2: #d8ceb8;

  --text-light: #f4f1ea;
  --text-dim: rgba(244, 241, 234, 0.62);
  --text-faint: rgba(244, 241, 234, 0.36);
  --text-dark: #141c1a;

  --accent-gold: #c9a86b;
  --accent-cream: #f3e9d2;
  --accent-rust: #8a6a30;
  --accent-soft: rgba(201, 168, 107, 0.18);

  --line: rgba(244, 241, 234, 0.08);
  --line-strong: rgba(244, 241, 234, 0.16);
  --line-dark: rgba(20, 28, 26, 0.12);

  /* — Type — */
  --font-serif: "Fraunces", "Playfair Display", "Times New Roman", serif;
  --font-sans: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;

  /* — Metrics — */
  --pad-x: clamp(1.25rem, 4vw, 4rem);
  --ease: cubic-bezier(0.7, 0, 0.2, 1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  background-color: transparent !important;
  color: var(--text-light);
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.55;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  cursor: none;
  background-color: transparent !important;
  color: var(--text-light);
  transition:
    color 0.6s var(--ease),
    background-color 0.6s var(--ease);
}
body[data-theme="light"] {
  color: var(--text-dark);
}
body.modal-open {
  overflow: hidden;
}

.solid-block {
  position: relative;
  z-index: 10;
  will-change: transform;
  box-shadow: 0 -20px 40px rgba(0, 0, 0, 0.2);
}

/* Hide content during loader */
body.loading .navbar,
body.loading #smooth-wrapper,
body.loading .bg-grid,
body.loading .scroll-progress {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

::selection {
  background: var(--accent-gold);
  color: var(--bg-dark);
}

a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: none;
}
em,
.italic {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
}

