/* ============================================================
   VTC3D · "Atelier" design system v3
   Premium · minimal · warm.  Bone paper + warm ink + 1 precise accent.
   Display/body: Hanken Grotesk · Editorial accent: Instrument Serif
   Technical labels: IBM Plex Mono
   ============================================================ */

:root{
  /* warm neutral foundation */
  --paper:#f4f1ea;        /* page */
  --paper-2:#eee9df;      /* recessed */
  --surface:#fbfaf5;      /* cards */
  --surface-2:#f6f2e9;    /* card alt */
  --ink:#23211d;          /* near-black, warm */
  --ink-2:#6c665b;        /* secondary text */
  --ink-3:#9c9588;        /* tertiary / labels */
  --hair:#e4dfd2;         /* hairline */
  --hair-2:#d4cdbc;       /* stronger hairline */

  /* accent — default EMBER (molten filament). Same L/C across themes, hue varies */
  --accent:oklch(0.585 0.135 42);
  --accent-d:oklch(0.50 0.135 42);
  --accent-soft:oklch(0.945 0.038 58);
  --accent-line:oklch(0.86 0.07 50);
  --on-accent:#fcf6f1;

  --maxw:1240px;
  --pad:clamp(1.15rem,5vw,4.5rem);
  --r-l:22px; --r:14px; --r-s:9px;
  --serif:'Instrument Serif',Georgia,serif;
  --hand:'Instrument Serif',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow:0 1px 2px rgba(35,33,29,.04),0 12px 34px -16px rgba(35,33,29,.16);
  --shadow-lg:0 2px 4px rgba(35,33,29,.05),0 30px 70px -30px rgba(35,33,29,.26);
}
[data-accent="cobalt"]{
  --accent:oklch(0.55 0.13 264);--accent-d:oklch(0.46 0.13 264);
  --accent-soft:oklch(0.945 0.035 264);--accent-line:oklch(0.86 0.065 264);--on-accent:#f4f6fd;
}
[data-accent="forest"]{
  --accent:oklch(0.52 0.095 156);--accent-d:oklch(0.44 0.095 156);
  --accent-soft:oklch(0.945 0.03 156);--accent-line:oklch(0.85 0.05 156);--on-accent:#f2f7f3;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-weight:400;line-height:1.6;letter-spacing:-0.011em;
  overflow-x:clip;position:relative;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
::selection{background:var(--accent);color:var(--on-accent);}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:var(--paper-2);}
::-webkit-scrollbar-thumb{background:var(--hair-2);border-radius:20px;border:3px solid var(--paper-2);}
::-webkit-scrollbar-thumb:hover{background:var(--ink-3);}
section{scroll-margin-top:90px;}

/* ---------- type ---------- */
h1,h2,h3,h4{font-weight:600;line-height:1.02;letter-spacing:-0.035em;color:var(--ink);}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;font-style:italic;}
.mono{font-family:var(--mono);}
.eyebrow{
  font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);display:inline-flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);flex-shrink:0;}
.eyebrow.c-accent{color:var(--accent);}

/* ---------- layout helpers ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.sec{padding:clamp(2.4rem,5vw,4.2rem) 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem;flex-wrap:wrap;margin-bottom:clamp(1.3rem,3vw,2.1rem);}
.sec-head .idx{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.9rem;}
.sec-head h2{font-size:clamp(1.9rem,4.6vw,3.1rem);max-width:16ch;}
.sec-head .note{font-size:.98rem;color:var(--ink-2);max-width:34ch;line-height:1.6;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-weight:600;font-size:.94rem;letter-spacing:-0.01em;
  padding:.92rem 1.5rem;border-radius:50px;cursor:pointer;border:1px solid var(--ink);
  background:var(--ink);color:var(--paper);transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .35s;white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.btn .ar{transition:transform .35s var(--ease);display:inline-block;}
.btn:hover .ar{transform:translateX(4px);}
.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.btn-accent:hover{background:var(--accent-d);border-color:var(--accent-d);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hair-2);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.btn-sm{padding:.7rem 1.15rem;font-size:.86rem;}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  display:flex;align-items:center;gap:1.4rem;
  padding:1rem var(--pad);
  transition:background .3s,border-color .3s,backdrop-filter .3s,padding .3s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--hair);padding-top:.7rem;padding-bottom:.7rem;
}
.brand{font-weight:700;font-size:1.32rem;letter-spacing:-0.05em;display:flex;align-items:center;gap:.5rem;}
.brand-logo{height:24px;width:auto;display:block;transition:opacity .2s;}
.brand:hover .brand-logo{opacity:.72;}
.nav.scrolled .brand-logo{height:22px;}
.foot-brand .brand-logo{height:34px;}
.brand .mk{
  width:26px;height:26px;border-radius:7px;background:var(--ink);color:var(--paper);
  display:grid;place-items:center;font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:0;
  transition:background .25s;
}
.brand:hover .mk{background:var(--accent);}
.nav-links{display:flex;align-items:center;gap:.1rem;margin-left:auto;}
.nav-links a{font-size:.88rem;color:var(--ink-2);padding:.5rem .82rem;border-radius:50px;transition:.18s;white-space:nowrap;position:relative;font-weight:500;}
.nav-links a:hover{color:var(--ink);}
.nav-links a.has-dot{background:var(--accent-soft);color:var(--accent-d);font-weight:600;}
.nav-links a.has-dot:hover{color:var(--accent-d);}
.lang{display:flex;gap:.15rem;padding:.18rem;border:1px solid var(--hair-2);border-radius:50px;}
.lang-btn{font-family:var(--mono);font-size:.66rem;background:transparent;border:none;color:var(--ink-3);padding:.34rem .5rem;border-radius:50px;cursor:pointer;transition:.16s;letter-spacing:.02em;}
.lang-btn:hover{color:var(--ink);}
.lang-btn.active{background:var(--ink);color:var(--paper);}
.nav .btn{padding:.62rem 1.15rem;font-size:.85rem;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;margin-left:auto;}
.burger span{width:22px;height:2px;background:var(--ink);border-radius:3px;transition:.28s var(--ease);}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{display:none;position:fixed;top:70px;left:var(--pad);right:var(--pad);z-index:250;background:var(--surface);border:1px solid var(--hair-2);border-radius:var(--r);padding:.5rem;box-shadow:var(--shadow-lg);}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;padding:.85rem 1rem;color:var(--ink-2);font-size:1rem;border-radius:10px;transition:.15s;font-weight:500;}
.mobile-nav a:hover{background:var(--paper-2);color:var(--ink);}
.mobile-foot{display:flex;gap:.6rem;padding:.85rem 1rem .4rem;}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.07s;}.reveal.d2{transition-delay:.14s;}.reveal.d3{transition-delay:.21s;}.reveal.d4{transition-delay:.28s;}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--hair);margin-top:2rem;}
.foot-in{padding:clamp(2.2rem,4vw,3.4rem) 0 1.6rem;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;}
.foot-brand .brand{font-size:1.9rem;margin-bottom:1.1rem;}
.foot-brand p{color:var(--ink-2);font-size:.95rem;max-width:34ch;line-height:1.65;}
.foot-col h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:1.15rem;}
.foot-col a,.foot-col span{display:block;color:var(--ink-2);font-size:.94rem;padding:.28rem 0;transition:color .15s;}
.foot-col a:hover{color:var(--accent);}
.foot-bot{padding:1.4rem 0 0;margin-top:1.8rem;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.foot-bot .legal{font-family:var(--mono);font-size:.66rem;color:var(--ink-3);letter-spacing:.03em;}
.foot-bot .ver{font-family:var(--mono);font-size:.66rem;color:var(--ink-3);cursor:pointer;transition:.15s;}
.foot-bot .ver:hover{color:var(--accent);}

.de-note{display:none;background:var(--accent-soft);color:var(--accent-d);font-size:.78rem;text-align:center;padding:.5rem 1rem;border-bottom:1px solid var(--accent-line);}

@media(max-width:1040px){
  .nav-links{display:none;}.nav .btn-quote{display:none;}.burger{display:flex;}
  .foot-in{grid-template-columns:1fr 1fr;}.foot-brand{grid-column:1/-1;}
}
@media(max-width:560px){.foot-in{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important;}.reveal{opacity:1;transform:none;}}
