/*
Theme Name:   Bibash Mahat — Studio
Theme URI:    https://bibashmahat.com.np
Description:  Single-page portfolio for Bibash Mahat, Digital Transformation Consultant. Technical-minimal design (live HUD, marquee, custom cursor, magnetic hovers), hand-coded, fully editable via the Customizer and a Case Studies post type. No page builder.
Author:       Bibash Mahat
Version:      2.0.0
Requires at least: 6.0
Requires PHP: 8.0
License:      GPL-2.0-or-later
Text Domain:  bibashm
*/

/* ============================================================
   TOKENS — your palette (unchanged) + reference-style type
   ============================================================ */
:root{
  /* color — Bibash system */
  --ink-900:#0A0A0B; --ink-850:#101012; --ink-800:#141416; --ink-700:#1F1F23;
  --gray-600:#6B7280; --gray-500:#9CA3AF; --gray-400:#B4B7BE; --gray-300:#D1D5DB;
  --gray-200:#E5E5E2; --line:#26262B;
  --canvas-100:#F2F2EF; --canvas-50:#FAFAF8; --white:#FFFFFF;
  --blue:#2D5BFF; --blue-600:#2D5BFF; --blue-500:#4C74FF; --blue-glow:rgba(45,91,255,.5);

  /* semantic (dark-first, like the reference) */
  --bg:var(--ink-900);
  --bg-soft:var(--ink-850);
  --surface:var(--ink-800);
  --fg:var(--canvas-50);
  --fg-dim:var(--gray-400);
  --fg-mute:var(--gray-600);
  --hair:var(--line);
  --accent:var(--blue);

  /* type */
  --font-display:'Space Grotesk','Satoshi',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono','SF Mono',ui-monospace,'Roboto Mono',monospace;

  /* fluid scale */
  --fs-hero:clamp(3rem,10vw,9.5rem);
  --fs-marquee:clamp(4rem,14vw,13rem);
  --fs-h2:clamp(2rem,5vw,4rem);
  --fs-h3:clamp(1.5rem,2.6vw,2.25rem);
  --fs-lead:clamp(1.125rem,1.6vw,1.5rem);
  --fs-body:1rem;
  --fs-mono:.75rem;
  --fs-mono-sm:.6875rem;

  /* space */
  --gap:clamp(20px,4vw,64px);
  --pad-x:clamp(20px,5vw,72px);
  --section-y:clamp(96px,14vh,220px);
  --maxw:1600px;

  /* motion */
  --ease:cubic-bezier(0.16,1,0.3,1);
  --ease-io:cubic-bezier(0.65,0,0.35,1);
  --dur:.6s;

  --radius:2px; /* near-sharp, technical */
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);background:var(--bg);color:var(--fg);
  font-size:var(--fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:.98;letter-spacing:-.02em}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--accent);color:#fff}

/* mono utility */
.mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-mute)}
.mono-sm{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:.08em;text-transform:uppercase}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad-x)}

/* focus + a11y */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:9999;background:#fff;color:#000;padding:10px 16px}

/* reveal resting state (JS on) */
html.is-ready [data-reveal]{opacity:0}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  html.is-ready [data-reveal]{opacity:1!important;transform:none!important}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .marquee__inner{animation:none!important}
}
