/* ==========================================================================
   EQSYNC — foundation (fonts, tokens, reset)
   ========================================================================== */

@font-face{
  font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('../fonts/fraunces-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Fraunces'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('../fonts/fraunces-latinext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Sans'; font-style:normal; font-weight:100 700; font-display:swap;
  src:url('../fonts/plexsans-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Sans'; font-style:normal; font-weight:100 700; font-display:swap;
  src:url('../fonts/plexsans-latinext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/plexmono400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/plexmono400-latinext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/plexmono500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/plexmono500-latinext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --bg:#F6F2EA; --surface:#FFFDF8; --surface-2:#FBF7EF; --text:#16212B; --text-muted:#5B6570; --border:#E4DED2;
  --cool:#2C6E7F; --cool-contrast:#FFFFFF;
  --warm:#CC8355; --warm-contrast:#16212B;
  --accent:#B98A2E; --accent-contrast:#16212B;
  --danger:#9C4A3C; --danger-bg:#F3E4DD;
  --shadow:0 1px 2px rgba(22,33,43,.06), 0 8px 24px rgba(22,33,43,.06);
  --serif:'Fraunces',Georgia,serif;
  --sans:'IBM Plex Sans',-apple-system,'Segoe UI',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --container:min(1600px, 94vw);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#10171F; --surface:#182129; --surface-2:#141C24; --text:#EFE7D8; --text-muted:#9AA5AC; --border:#2A343D;
    --cool:#5FA6B8; --cool-contrast:#0E1A20;
    --warm:#E3A272; --warm-contrast:#1A1006;
    --accent:#E3B24C; --accent-contrast:#1F1400;
    --danger:#E39586; --danger-bg:#2A1712;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --bg:#10171F; --surface:#182129; --surface-2:#141C24; --text:#EFE7D8; --text-muted:#9AA5AC; --border:#2A343D;
  --cool:#5FA6B8; --cool-contrast:#0E1A20;
  --warm:#E3A272; --warm-contrast:#1A1006;
  --accent:#E3B24C; --accent-contrast:#1F1400;
  --danger:#E39586; --danger-bg:#2A1712;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
}
:root[data-theme="light"]{
  --bg:#F6F2EA; --surface:#FFFDF8; --surface-2:#FBF7EF; --text:#16212B; --text-muted:#5B6570; --border:#E4DED2;
  --cool:#2C6E7F; --cool-contrast:#FFFFFF;
  --warm:#CC8355; --warm-contrast:#16212B;
  --accent:#B98A2E; --accent-contrast:#16212B;
  --danger:#9C4A3C; --danger-bg:#F3E4DD;
  --shadow:0 1px 2px rgba(22,33,43,.06), 0 8px 24px rgba(22,33,43,.06);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text); font-family:var(--sans);
  overflow-x:hidden; width:100%;
  -webkit-font-smoothing:antialiased;
}
img,svg,canvas,video{max-width:100%; display:block;}
a{color:inherit;}
button{font-family:inherit;}

body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:url('../img/brain-bg.webp');
  background-repeat:no-repeat; background-position:center center; background-size:contain;
  opacity:.4;
}

.ambient-waves{
  position:fixed; inset:0; width:100vw; height:100vh; max-width:none;
  z-index:0; pointer-events:none;
}

.container{max-width:var(--container); margin:0 auto; padding:0 24px;}
@media (max-width:640px){ .container{padding:0 20px;} }

section{padding:clamp(56px,9vw,96px) 0;}
section+section{border-top:1px solid var(--border);}

h1,h2,h3{text-wrap:balance; margin:0;}
p{margin:0;}

.eyebrow{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--text-muted); display:inline-block; margin:0 0 14px;
}
h1.display, h2.display{
  font-family:var(--serif); font-weight:400; letter-spacing:-.01em; line-height:1.1;
}
h1.display{font-size:clamp(2.1rem,5vw,3.6rem); max-width:16ch;}
h2.display{font-size:clamp(1.6rem,3.4vw,2.3rem); max-width:20ch;}

.lede{font-size:clamp(1rem,1.6vw,1.15rem); line-height:1.7; color:var(--text-muted); max-width:60ch;}

.section-head{margin-bottom:clamp(32px,5vw,52px); transition:opacity .6s ease, transform .6s ease;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:none; border-radius:10px; padding:14px 24px; font-weight:600; font-size:.95rem;
  cursor:pointer; text-decoration:none; line-height:1; white-space:normal; text-align:center;
}
.btn-primary{background:var(--accent); color:var(--accent-contrast);}
.btn-secondary{background:transparent; color:var(--text); border:1px solid var(--border);}
.btn:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

.muted{color:var(--text-muted);}
.mono{font-family:var(--mono); font-variant-numeric:tabular-nums;}

.card{
  background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow);
  transition:opacity .6s ease, transform .6s ease, box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}

/* ---- Reveal la scroll: aparitie usoara, in cascada, pentru carduri/titluri/FAQ ----
   Generic, aplicat de assets/js/main.js pe toate paginile. Elementele fara clasa
   .card (ex. .faq-item, .section-head) isi declara propria tranzitie mai jos. */
.reveal-init{opacity:0; transform:translateY(18px);}
.reveal-init.is-visible{opacity:1; transform:translateY(0);}

.badge{
  display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:.7rem;
  letter-spacing:.04em; text-transform:uppercase; padding:5px 11px; border-radius:999px;
  background:var(--surface-2); border:1px solid var(--border); color:var(--text-muted);
}

.placeholder{
  border:1px dashed var(--border); border-radius:12px; background:var(--surface-2);
  color:var(--text-muted); font-size:.85rem; text-align:center; padding:18px;
}

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