/* ============================================
   ШАХТИ МК — Subterranean Theme
   Earth · Concrete · Water
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* PALE LIGHT GRAY PALETTE */
  --soil-1: #f5f5f5;     /* pale light gray */
  --soil-2: #ebebeb;     /* light gray */
  --soil-3: #d4d4d4;     /* mid light gray */
  --soil-4: #9a9a9a;     /* medium gray */
  --soil-5: #6b6b6b;     /* darker gray */
  --soil-6: #3d3d3d;     /* dark gray */

  --concrete-1: #f8f8f8;
  --concrete-2: #e0e0e0;
  --concrete-3: #b0b0b0;
  --concrete-4: #6a6a6a;
  --concrete-5: #2e2e2e;

  --water: #5c7d8e;
  --water-bright: #7a9dae;
  --water-soft: #dde8ec;

  --rust: #7a7a7a;        /* neutral gray accent */
  --rust-soft: #e8e8e8;

  /* Semantic */
  --bg: var(--soil-1);
  --bg-deep: var(--soil-6);
  --surface: #ffffff;
  --ink: #1a1a1a;
  --ink-2: #555555;
  --muted: #888888;
  --line: #e0e0e0;
  --line-strong: #c8c8c8;
  --accent: var(--rust);
  --accent-water: var(--water);

  /* Type */
  --display: 'Fraunces', 'Playfair Display', Georgia, serif;
  --sans: 'Manrope', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Layout */
  --max: 1400px;
  --gutter: clamp(1.2rem, 3vw, 3rem);

  /* Easing */
  --ease: cubic-bezier(.2,.8,.2,1);
}

html[data-theme="dark"]{
  --soil-1:#161616;
  --soil-2:#202020;
  --soil-3:#343434;
  --soil-4:#8c8c8c;
  --soil-5:#c6c6c6;
  --soil-6:#f0f0f0;

  --concrete-1:#1c1c1c;
  --concrete-2:#2a2a2a;
  --concrete-3:#5b5b5b;
  --concrete-4:#b8b8b8;
  --concrete-5:#f2f2f2;

  --water:#82a8ba;
  --water-bright:#9fc0cf;
  --water-soft:#1f3038;

  --rust:#d8d8d8;
  --rust-soft:#2f2f2f;

  --bg:var(--soil-1);
  --bg-deep:#0f0f0f;
  --surface:#1d1d1d;
  --ink:#f2f2f2;
  --ink-2:#c8c8c8;
  --muted:#9a9a9a;
  --line:#303030;
  --line-strong:#444;
  --accent:var(--rust);
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

a{text-decoration:none;color:inherit}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* ============================================
   PAPER GRAIN BACKGROUND TEXTURE
   ============================================ */
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  opacity:.5;mix-blend-mode:multiply;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(80,80,80,.04) 0, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(80,80,80,.03) 0, transparent 50%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.04 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  background-size:auto, auto, 200px 200px;
}
html[data-theme="dark"] .grain{opacity:.28;mix-blend-mode:screen}

/* ============================================
   NAV
   ============================================ */
.site-nav{
  position:sticky;top:0;z-index:80;
  background:rgba(245,245,245,.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
html[data-theme="dark"] .site-nav{background:rgba(22,22,22,.86)}
.site-nav-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:auto 1fr auto auto auto;
  align-items:center;gap:2rem;
  padding: .9rem var(--gutter);
}

.brand{display:flex;align-items:center;gap:.7rem}
.brand-mark{
  width:34px;height:34px;flex-shrink:0;
  display:grid;place-items:center;
  background:var(--soil-6);border-radius:50%;
  position:relative;
}
.brand-mark::before{
  content:'';position:absolute;inset:4px;border-radius:50%;
  border:1.5px dashed var(--soil-3);
}
.brand-mark svg{width:18px;height:18px;color:var(--soil-1)}
.brand-logo{
  width:38px;height:38px;
  background:transparent;border-radius:0;overflow:hidden;
}
.brand-logo::before{display:none}
.brand-logo img{
  width:100%;height:100%;display:block;
  object-fit:cover;object-position:center 28%;
}
.brand-name{
  font-family:var(--display);
  font-size:1.35rem;font-weight:600;
  letter-spacing:-.01em;color:var(--soil-6);
}
.brand-name em{font-style:italic;color:var(--rust);font-weight:500}

.nav-links{display:flex;gap:1.8rem;list-style:none;justify-self:center}
.nav-links a{
  font-size:.85rem;color:var(--ink-2);
  font-weight:500;letter-spacing:.01em;
  position:relative;padding:.3rem 0;
  transition:color .2s;
}
.nav-links a::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:var(--rust);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}

.lang-toggle{
  display:flex;align-items:center;gap:.1rem;
  background:var(--soil-2);border:1px solid var(--line);
  border-radius:999px;padding:3px;
  font-family:var(--mono);font-size:.7rem;font-weight:600;
  letter-spacing:.04em;
}
.lang-toggle button{
  padding:.35rem .65rem;border-radius:999px;color:var(--ink-2);
  transition:all .2s;
}
.lang-toggle button.on{
  background:var(--soil-6);color:var(--soil-1);
}
.theme-toggle{
  width:38px;height:38px;
  display:inline-grid;place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soil-2);
  color:var(--ink-2);
  transition:background .2s,color .2s,border-color .2s,transform .18s;
}
.theme-toggle:hover{transform:translateY(-1px);color:var(--ink);border-color:var(--line-strong)}
.theme-toggle svg{width:19px;height:19px;display:block}
.theme-toggle .moon-outline{fill:none;stroke:currentColor;stroke-width:1.7}
.theme-toggle .moon-split{fill:currentColor;opacity:.42}
html[data-theme="dark"] .theme-toggle{
  background:var(--soil-6);color:var(--soil-1);border-color:var(--soil-6);
}

.nav-cta{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--soil-6);color:var(--soil-1);
  padding:.65rem 1.1rem;border-radius:999px;
  font-size:.82rem;font-weight:600;letter-spacing:.01em;
  transition:background .2s,transform .15s;
}
.nav-cta:hover{background:var(--rust);transform:translateY(-1px)}
.nav-cta svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}

.mobile-toggle{display:none;width:38px;height:38px;align-items:center;justify-content:center;border-radius:999px;background:var(--soil-2)}
.mobile-toggle svg{width:18px;height:18px;color:var(--ink)}

/* ============================================
   BUTTONS
   ============================================ */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.5rem;border-radius:999px;
  font-size:.9rem;font-weight:600;letter-spacing:.005em;
  transition:all .25s var(--ease);
  white-space:nowrap;
}
.btn-primary{background:var(--soil-6);color:var(--soil-1)}
.btn-primary:hover{background:var(--rust);transform:translateY(-2px);box-shadow:0 10px 30px -12px rgba(40,40,40,.3)}
.btn-rust{background:var(--rust);color:#fff}
.btn-rust:hover{background:var(--soil-6);transform:translateY(-2px)}
.btn-water{background:var(--water);color:#fff}
.btn-water:hover{background:var(--water-bright);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--soil-1)}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .25s}
.btn:hover svg.arrow{transform:translateX(3px)}

/* ============================================
   TYPOGRAPHY
   ============================================ */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--mono);font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--rust);font-weight:500;
}
.eyebrow::before{
  content:'';width:1.6rem;height:1px;background:var(--rust);
}
.eyebrow.water{color:var(--water)}
.eyebrow.water::before{background:var(--water)}

h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:1.05;color:var(--ink)}
.display-1{font-size:clamp(3rem,7vw,6.5rem);font-weight:400;letter-spacing:-.03em;line-height:.95}
.display-1 em{font-style:italic;color:var(--rust);font-weight:400}
.display-2{font-size:clamp(2.4rem,5vw,4.4rem);font-weight:400;letter-spacing:-.025em;line-height:1}
.display-2 em{font-style:italic;color:var(--rust);font-weight:400}
.h-section{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;letter-spacing:-.02em;line-height:1.05}
.h-section em{font-style:italic;color:var(--rust)}

.lede{font-size:1.1rem;line-height:1.65;color:var(--ink-2);max-width:54ch}

.kicker{
  font-family:var(--mono);font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:500;
}

/* ============================================
   CONTAINERS
   ============================================ */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:6rem 0;position:relative;z-index:1}
.section-tight{padding:4rem 0}

.section-head{
  display:grid;grid-template-columns:auto 1fr auto;gap:2rem;
  align-items:end;margin-bottom:3.5rem;
}
.section-head .lede{max-width:34ch;font-size:1rem}

/* ============================================
   FOOTER
   ============================================ */
.site-foot{
  background:var(--soil-6);color:var(--soil-2);
  padding:5rem 0 2rem;
  position:relative;z-index:1;
  border-top:1px solid var(--soil-5);
}
html[data-theme="dark"] .site-foot{
  background:#0f0f0f;color:#d8d8d8;border-top-color:#2b2b2b;
}
html[data-theme="dark"] .foot-bottom{border-top-color:#2b2b2b;color:#9f9f9f}
html[data-theme="dark"] .foot-list a,
html[data-theme="dark"] .foot-info{color:#c6c6c6}
html[data-theme="dark"] .foot-info a,
html[data-theme="dark"] .foot-brand .brand-name{color:#f2f2f2}

html[data-theme="dark"] .band,
html[data-theme="dark"] .cta-bar,
html[data-theme="dark"] .custom-card{
  background:#111;color:#f2f2f2;
}
.foot-grid{
  display:grid;
  grid-template-columns:minmax(240px,1.15fr) minmax(160px,.7fr) minmax(190px,.85fr);
  gap:clamp(2rem,6vw,7rem);
  align-items:start;
}
.foot-brand{
  display:flex;
  flex-direction:column;
  gap:2.2rem;
}
.foot-brand .brand{
  width:max-content;
}
.foot-brand img{
  height:54px !important;
}
.foot-brand .brand-name{color:var(--soil-1)}
.foot-brand-mark{background:var(--rust)}
.foot-brand-mark::before{border-color:var(--soil-1);opacity:.4}
.foot-brand-mark svg{color:var(--soil-1)}
.foot-tag{margin-top:1rem;font-size:.92rem;color:var(--soil-3);max-width:32ch;line-height:1.6}

.foot-h{
  font-family:var(--mono);font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--soil-3);margin-bottom:1.2rem;
  display:flex;align-items:center;gap:.5rem;
}
.foot-h::before{content:'';width:14px;height:1px;background:var(--rust)}
.foot-list{list-style:none}
.foot-list li{margin-bottom:.5rem}
.foot-list a{font-size:.92rem;color:var(--soil-2);transition:color .2s}
.foot-list a:hover{color:var(--rust-soft)}
.foot-info{font-size:.92rem;color:var(--soil-2);line-height:1.9}
.foot-info a{font-weight:500;color:var(--soil-1)}
.foot-info a:hover{color:var(--rust-soft)}
.foot-info div{margin-bottom:.18rem}
.foot-bottom{
  max-width:var(--max);margin:3rem auto 0;padding:1.5rem var(--gutter) 0;
  border-top:1px solid var(--soil-5);
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:.72rem;color:var(--soil-3);
  letter-spacing:.06em;
}

/* ============================================
   REVEAL ANIMATIONS
   ============================================ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease), transform .8s var(--ease)}
.reveal.in{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.08s}
.delay-2{transition-delay:.16s}
.delay-3{transition-delay:.24s}
.delay-4{transition-delay:.32s}
.delay-5{transition-delay:.40s}

/* ============================================
   UTIL
   ============================================ */
.hidden-lang{display:none !important}
.hide{display:none !important}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:960px){
  .site-nav-inner{grid-template-columns:auto 1fr auto auto;gap:.6rem}
  .nav-links{display:none}
  .nav-cta{display:none}
  .mobile-toggle{display:inline-grid}
  .mobile-open .nav-links{
    display:flex;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--soil-1);border-bottom:1px solid var(--line);
    padding:1rem var(--gutter);
  }
  .mobile-open .nav-links a{padding:.8rem 0;border-bottom:1px solid var(--line)}
  .mobile-open .nav-links a:last-child{border-bottom:none}

  .section{padding:4rem 0}
  .section-head{grid-template-columns:1fr;gap:1rem}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .foot-bottom{flex-direction:column;gap:.6rem;align-items:flex-start}
}
@media(max-width:540px){
  .foot-grid{grid-template-columns:1fr}
}
