/* ============ TOKENS ============ */
:root{
  --ink:#0f1319;
  --ink-2:#171d27;
  --panel:#1b2230;
  --panel-2:#212a3a;
  --line:#2c3648;
  --line-soft:#232c3c;
  --frost:#e9edf6;
  --frost-dim:#c3ccdd;
  --steel:#8592a8;
  --steel-dim:#5d6883;
  --ember:#ff8a4c;
  --ember-2:#ff6a3d;
  --ember-soft:#ffb27a;
  --gold:#ffcf7a;
  --ok:#6fd6a0;
  --warn:#ffcf7a;
  --shadow-ember: 0 0 40px rgba(255,122,61,.35);
  color-scheme: dark;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--ink);
  color:var(--frost);
  font-family:"Golos Text","PT Sans",system-ui,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4{
  font-family:"Oswald","Arial Narrow",sans-serif;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1.08;
  margin:0;
  text-wrap:balance;
  color:var(--frost);
}
.mono{font-family:"Share Tech Mono",ui-monospace,monospace; font-variant-numeric:tabular-nums;}
.eyebrow{
  font-family:"Oswald",sans-serif;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  color:var(--ember-soft);
  display:flex;
  align-items:center;
  gap:.6em;
}
.eyebrow::before{
  content:"";
  width:22px;height:2px;
  background:var(--ember);
  display:inline-block;
  box-shadow:0 0 8px var(--ember);
}
p{margin:0;}
.measure{max-width:62ch;}
:focus-visible{outline:2px solid var(--ember-soft); outline-offset:3px; border-radius:2px;}

.wrap{max-width:1180px; margin-inline:auto; padding-inline:24px;}
section{padding-block:clamp(56px,8vw,108px);}

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

/* ============ HEADER ============ */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(15,19,25,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.nav{
  max-width:1180px; margin-inline:auto; padding-inline:24px;
  height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand-mark{
  width:38px;height:38px; border-radius:9px;
  background:linear-gradient(155deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  flex:none;
}
.brand-name{font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:1.02rem; letter-spacing:.03em; color:var(--frost); white-space:nowrap;}
.brand-name b{color:var(--ember-soft); font-weight:600;}
.brand-sub{display:block; font-family:"Golos Text",sans-serif; text-transform:none; letter-spacing:0; font-size:.68rem; color:var(--steel); white-space:nowrap;}

nav.links{display:flex; gap:22px; list-style:none; margin:0; padding:0;}
nav.links a{
  text-decoration:none; color:var(--frost-dim); font-size:.92rem;
  position:relative; padding-block:6px; white-space:nowrap;
}
nav.links a:hover{color:var(--frost);}
nav.links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--ember); transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
}
nav.links a:hover::after{transform:scaleX(1);}

.nav-actions{display:flex; align-items:center; gap:12px;}
.btn-ic{display:none;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:8px; font-size:.88rem; font-weight:600;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
  font-family:"Golos Text",sans-serif;
  white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(180deg,var(--ember),var(--ember-2));
  color:#1a0e06; box-shadow:0 6px 18px -6px rgba(255,106,61,.6);
}
.btn-primary:hover{filter:brightness(1.08);}
.btn-ghost{
  background:transparent; border-color:var(--line); color:var(--frost-dim);
}
.btn-ghost:hover{border-color:var(--steel); color:var(--frost);}
.btn-block{width:100%; justify-content:center;}

.burger{display:none; background:none; border:1px solid var(--line); border-radius:8px; width:42px; height:42px; color:var(--frost); cursor:pointer; align-items:center; justify-content:center;}

/* ============ HERO ============ */
.hero{border-bottom:1px solid var(--line-soft);}
.hero-scene{
  position:relative; overflow:hidden;
  height:clamp(300px,38vw,460px);
  background:
    radial-gradient(ellipse 70% 55% at 50% 100%, rgba(42,48,58,.4), transparent 65%),
    linear-gradient(180deg,#05060a 0%, #0a0d13 42%, #0f131b 74%, #151a22 100%);
}
.hero-scene::after{ /* fine grain for a grittier, less illustrated finish */
  content:"";
  position:absolute; inset:0; pointer-events:none; z-index:4;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.04; mix-blend-mode:overlay;
}
.sky{position:absolute; inset:0; overflow:hidden;}
.star{
  position:absolute; width:2px; height:2px; border-radius:50%;
  background:var(--frost); opacity:.28;
  animation:twinkle 5.5s ease-in-out infinite;
}
@keyframes twinkle{0%,100%{opacity:.08;} 50%{opacity:.45;}}

.moon{
  position:absolute; top:8%; right:9%; width:68px; height:68px; border-radius:50%;
  background:
    radial-gradient(circle at 32% 66%, rgba(20,24,32,.4), transparent 12%),
    radial-gradient(circle at 63% 38%, rgba(20,24,32,.32), transparent 11%),
    radial-gradient(circle at 46% 78%, rgba(20,24,32,.28), transparent 9%),
    radial-gradient(circle at 74% 70%, rgba(20,24,32,.3), transparent 8%),
    radial-gradient(circle at 22% 28%, rgba(20,24,32,.22), transparent 7%),
    radial-gradient(circle at 56% 55%, rgba(20,24,32,.16), transparent 15%),
    radial-gradient(circle at 38% 34%, #d8d4ca, #a9a49a 52%, #726d66 100%);
  box-shadow:0 0 16px 1px rgba(180,182,190,.1), inset -10px -8px 16px rgba(0,0,0,.45);
  filter:saturate(.4) contrast(1.1);
}
.moon::after{ /* smog scrim so it reads through haze, not a clean postcard */
  content:""; position:absolute; inset:-4px; border-radius:50%;
  background:linear-gradient(205deg, transparent 42%, rgba(13,16,22,.55) 72%, rgba(13,16,22,.8) 100%);
}

.snowfall{position:absolute; inset:0; pointer-events:none;}
.snow{
  position:absolute; top:-10px; width:4px; height:4px; border-radius:50%;
  background:rgba(190,196,208,.55);
  animation-name:fall; animation-timing-function:linear; animation-iteration-count:infinite;
}
@keyframes fall{
  0%{transform:translate(0,0);}
  100%{transform:translate(var(--drift,10px), 720px);}
}

.skyline{
  position:absolute; left:0; right:0; bottom:0; height:190px;
  display:flex; align-items:flex-end; gap:2px; opacity:.6; filter:saturate(.25);
}
.skyline i{
  display:block; flex:none; background:#0b0e14; border-top:1px solid #151a22;
}
.skyline i em{
  display:block; width:5px; height:5px; margin:7px; background:#8b93a2;
  opacity:.2; box-shadow:0 0 3px rgba(139,147,162,.35);
}

.plant{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  display:flex; align-items:flex-end; justify-content:center;
  pointer-events:none;
}
.plant-body{
  position:relative;
  width:min(560px,88vw);
  height:132px;
  background:
    radial-gradient(ellipse 40% 65% at 12% 25%, rgba(0,0,0,.32), transparent 60%),
    radial-gradient(ellipse 32% 55% at 72% 60%, rgba(0,0,0,.26), transparent 55%),
    linear-gradient(180deg,#191f27,#11151b 70%);
  border:1px solid #252b34;
  border-bottom:none;
  border-radius:2px 2px 0 0;
  box-shadow:0 -10px 60px -20px rgba(0,0,0,.75);
}
.plant-body::before{ /* corrugated texture */
  content:"";
  position:absolute; inset:14px 0 0 0;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 2px, transparent 2px 16px);
}
.plant-roofline{
  position:absolute; left:-10px; right:-10px; top:-8px; height:8px;
  background:#080a0e; border-radius:1px;
}
.windows{position:absolute; left:24px; right:24px; top:34px; display:flex; gap:16px; flex-wrap:wrap;}
.win{
  width:34px; height:46px; border-radius:1px;
  background:linear-gradient(180deg,#c7cfda,#828da0);
  box-shadow:0 0 9px 1px rgba(170,182,200,.22);
  animation:flicker 6.5s ease-in-out infinite;
}
.win:nth-child(2n){animation-delay:-1.7s;}
.win:nth-child(4n){animation-delay:-3.1s;}
.win:nth-child(3), .win:nth-child(5){animation:none; opacity:.14; box-shadow:none;} /* not every window lit — a working plant, not a dollhouse */
@keyframes flicker{0%,100%{opacity:.42;} 45%{opacity:.6;} 55%{opacity:.4;} 80%{opacity:.55;}}

.doorbay{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:64px; height:70px; background:#0d1117; border:1px solid #262f42; border-bottom:none; border-radius:4px 4px 0 0;
}

.stack-wrap{
  position:absolute; bottom:100%; left:74%;
  display:flex; flex-direction:column; align-items:center;
}
.chimney{
  position:relative;
  width:30px; height:108px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.4), transparent 18%, transparent 82%, rgba(0,0,0,.4)),
    linear-gradient(180deg,#252a31,#1c2026 55%,#161920 100%);
  border:1px solid #30353d;
  border-bottom:none;
}
.chimney::before{ /* soot band */
  content:""; position:absolute; top:14px; left:-3px; right:-3px; height:8px; background:#111419; border-top:1px solid #353a42; border-bottom:1px solid #353a42;
}
.chimney::after{ /* soot staining down from the mouth */
  content:""; position:absolute; top:0; left:7px; right:7px; bottom:0;
  background:linear-gradient(180deg, rgba(8,9,11,.55), transparent 60%);
}
.chimney-cap{
  width:44px; height:10px; margin-inline:-5px;
  background:#0d0f12; border:1px solid #2b2f36; border-radius:1px;
}
.beacon{
  position:absolute; top:26px; left:50%; transform:translateX(-50%);
  width:6px; height:6px; border-radius:50%;
  background:#c8402e; box-shadow:0 0 6px 1px rgba(200,64,46,.7);
  animation:beacon 2.4s ease-in-out infinite;
}
@keyframes beacon{0%,100%{opacity:.25;} 50%{opacity:.95;}}

.smoke{
  position:absolute; bottom:100%; left:50%;
  width:1px; height:1px;
}
.puff{
  position:absolute; left:0; top:0;
  width:var(--s,46px); height:var(--s,46px);
  margin-left:calc(var(--s,46px) / -2);
  border-radius:50%;
  background:radial-gradient(circle at 40% 40%, rgba(120,122,128,.5), rgba(70,72,78,.3) 55%, transparent 75%);
  filter:blur(3px);
  opacity:0;
  animation-name:rise;
  animation-timing-function:cubic-bezier(.2,.6,.35,1);
  animation-iteration-count:infinite;
}
@keyframes rise{
  0%{ transform:translate(0,0) scale(.5); opacity:0; }
  8%{ opacity:.55; }
  45%{ transform:translate(calc(var(--dx,30px) * .5), -130px) scale(1.4); opacity:.4; }
  100%{ transform:translate(var(--dx,30px), -290px) scale(2.3); opacity:0; }
}
.puff:nth-child(1){--s:30px; --dx:20px; animation-duration:8s; animation-delay:-1s;}
.puff:nth-child(2){--s:38px; --dx:-14px; animation-duration:9.5s; animation-delay:-4s;}
.puff:nth-child(3){--s:34px; --dx:34px; animation-duration:8.8s; animation-delay:-6.5s;}
.puff:nth-child(4){--s:44px; --dx:-26px; animation-duration:11s; animation-delay:-2.5s;}
.puff:nth-child(5){--s:28px; --dx:10px; animation-duration:7.5s; animation-delay:-5.4s;}
.puff:nth-child(6){--s:40px; --dx:46px; animation-duration:10.2s; animation-delay:-8.5s;}
.puff:nth-child(7){--s:32px; --dx:-38px; animation-duration:9s; animation-delay:-.5s;}

.ember-spark{
  position:absolute; left:50%; bottom:100%; width:3px; height:3px; border-radius:50%;
  background:#ff9a5c; box-shadow:0 0 5px 1px rgba(255,120,60,.5);
  animation-name:spark; animation-timing-function:ease-out; animation-iteration-count:infinite;
}
@keyframes spark{
  0%{transform:translate(0,0); opacity:0;}
  15%{opacity:1;}
  100%{transform:translate(var(--dx,10px),-110px); opacity:0;}
}

.hero-content{
  position:relative; z-index:3;
  width:100%;
  background:linear-gradient(180deg, var(--ink-2), var(--ink) 70%);
}
.hero-grid{
  max-width:1180px; margin-inline:auto; padding-inline:24px;
  display:grid; grid-template-columns:1.3fr .9fr; gap:40px; align-items:start;
  padding-block:44px 56px;
}
.hero-title{font-size:clamp(2.2rem,4.6vw,3.6rem); margin-top:14px;}
.hero-title .accent{color:transparent; background:linear-gradient(90deg,var(--ember-soft),var(--ember)); -webkit-background-clip:text; background-clip:text;}
.hero-lede{margin-top:16px; color:var(--frost-dim); font-size:1.05rem; max-width:46ch;}
.hero-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}

.quicklinks{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px;}
.qlink{
  display:flex; align-items:center; gap:9px;
  padding:9px 14px 9px 10px; border-radius:999px;
  background:var(--panel); border:1px solid var(--line);
  text-decoration:none; font-size:.83rem; color:var(--frost-dim);
}
.qlink:hover{border-color:var(--ember); color:var(--frost);}
.qlink .dot{width:8px;height:8px;border-radius:50%; background:var(--ember); box-shadow:0 0 6px var(--ember); flex:none;}

/* control panel card */
.panel-card{
  background:linear-gradient(165deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);
  border-radius:14px;
  padding:22px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.7);
}
.panel-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.panel-title{font-family:"Oswald",sans-serif; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--steel);}
.led{display:flex; align-items:center; gap:7px; font-size:.72rem; color:var(--ok); font-family:"Oswald",sans-serif; letter-spacing:.08em;}
.led i{width:7px;height:7px;border-radius:50%; background:var(--warn); box-shadow:0 0 7px var(--warn); animation:beacon 2s infinite;}

.season-status{
  background:var(--ink-2); border:1px solid var(--line-soft); border-radius:10px;
  padding:16px; margin-bottom:14px;
}
.season-status .big{font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:1.18rem; color:var(--gold); letter-spacing:.01em;}
.season-status .small{font-size:.8rem; color:var(--steel); margin-top:6px;}
.countdown{display:flex; gap:10px; margin-top:12px;}
.countdown div{
  flex:1; text-align:center; background:var(--panel); border:1px solid var(--line-soft); border-radius:8px; padding:8px 4px;
}
.countdown .n{font-size:1.3rem; color:var(--frost);}
.countdown .l{font-size:.62rem; color:var(--steel); text-transform:uppercase; letter-spacing:.08em;}

.gauge-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.gauge{
  background:var(--ink-2); border:1px solid var(--line-soft); border-radius:10px; padding:12px 14px;
}
.gauge .l{font-size:.66rem; letter-spacing:.1em; color:var(--steel); text-transform:uppercase;}
.gauge .v{font-size:1.35rem; color:var(--frost-dim); margin-top:4px;}

/* ============ SECTION HEAD ============ */
.sec-head{max-width:64ch; margin-bottom:40px;}
.sec-head h2{font-size:clamp(1.7rem,3vw,2.35rem); margin-top:10px;}
.sec-head p{color:var(--frost-dim); margin-top:14px; font-size:1.02rem;}

/* ============ ABOUT ============ */
.about{background:var(--ink-2); border-bottom:1px solid var(--line-soft);}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start;}
.fact-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0;}
.fact-list li{
  display:grid; grid-template-columns:120px 1fr; gap:18px;
  padding-block:16px; border-top:1px solid var(--line-soft);
  font-size:.95rem;
}
.fact-list li:last-child{border-bottom:1px solid var(--line-soft);}
.fact-list .k{color:var(--steel); font-family:"Oswald",sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding-top:2px;}
.fact-list .v{color:var(--frost);}
.fact-list a{text-decoration:underline; text-decoration-color:var(--line);}
.fact-list a:hover{text-decoration-color:var(--ember);}

.stat-strip{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px;}
.stat{
  background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:16px;
}
.stat .num{font-family:"Share Tech Mono",monospace; font-size:1.5rem; color:var(--ember-soft);}
.stat .cap{font-size:.75rem; color:var(--steel); margin-top:4px;}

.badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px;}
.badge{
  font-size:.76rem; padding:7px 12px; border-radius:7px; border:1px solid var(--line);
  color:var(--frost-dim); display:flex; align-items:center; gap:7px;
}

/* ============ SERVICES ============ */
.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.svc-card{
  background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:28px;
  position:relative; overflow:hidden;
}
.svc-card::after{
  content:""; position:absolute; right:-30px; top:-30px; width:130px; height:130px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,138,76,.14), transparent 70%);
}
.svc-num{font-family:"Share Tech Mono",monospace; color:var(--steel-dim); font-size:.85rem;}
.svc-card h3{font-size:1.3rem; margin-top:14px;}
.svc-card p{color:var(--frost-dim); margin-top:12px; font-size:.95rem;}
.svc-meta{display:flex; gap:16px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line-soft); flex-wrap:wrap;}
.svc-meta div{font-size:.78rem; color:var(--steel);}
.svc-meta b{display:block; color:var(--frost); font-family:"Oswald",sans-serif; font-size:.95rem; margin-top:2px;}

/* ============ TARIFFS ============ */
.tariffs{background:var(--ink-2); border-bottom:1px solid var(--line-soft);}
.tariff-table{
  width:100%; border-collapse:collapse; background:var(--panel);
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
}
.tariff-table th, .tariff-table td{
  padding:16px 20px; text-align:left; font-size:.92rem; border-bottom:1px solid var(--line-soft);
}
.tariff-table thead th{
  font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:.72rem;
  color:var(--steel); background:var(--panel-2);
}
.tariff-table tbody tr:last-child td{border-bottom:none;}
.tariff-table td.pending{color:var(--gold); font-family:"Share Tech Mono",monospace; font-size:.88rem;}
.tariff-note{
  margin-top:20px; padding:16px 18px; border-radius:10px; background:var(--panel);
  border:1px solid var(--line); font-size:.88rem; color:var(--frost-dim); display:flex; gap:12px;
}
.table-scroll{overflow-x:auto;}

/* ============ ANNOUNCEMENTS ============ */
.announcements{background:var(--ink); border-bottom:1px solid var(--line-soft);}
.lang-switch{position:relative;}
.lang-switch input[type="radio"]{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none;}
.lang-tabs{display:flex; gap:8px; margin-bottom:20px;}
.lang-tabs label{
  cursor:pointer; padding:10px 22px; border-radius:999px; border:1px solid var(--line);
  background:var(--panel); color:var(--steel); font-family:"Oswald",sans-serif;
  text-transform:uppercase; letter-spacing:.04em; font-size:.82rem; transition:all .18s ease;
}
.lang-tabs label:hover{color:var(--frost); border-color:var(--steel-dim);}
#lang-ru:checked ~ .lang-tabs label[for="lang-ru"],
#lang-kz:checked ~ .lang-tabs label[for="lang-kz"]{
  background:var(--ember); border-color:var(--ember); color:var(--ink); font-weight:600;
}
.notice-panel{display:none;}
#lang-ru:checked ~ .notice-ru{display:block;}
#lang-kz:checked ~ .notice-kz{display:block;}
.notice-lead{
  font-size:1rem; line-height:1.6; color:var(--frost); background:var(--panel);
  border:1px solid var(--line); border-left:3px solid var(--ember); border-radius:10px;
  padding:18px 20px; margin:0 0 14px;
}
.notice-ref{
  font-size:.82rem; color:var(--steel); font-style:italic; margin:0 0 18px; line-height:1.5;
}
.notice-table td, .notice-table th{font-size:.84rem; vertical-align:top;}
.notice-table td.notice-legal{font-size:.76rem; line-height:1.5; color:var(--frost-dim); max-width:520px;}
.notice-table tr.notice-total td{
  font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.04em;
  font-size:.8rem; color:var(--gold); background:var(--panel-2);
}
.notice-unit{margin-top:14px; font-size:.82rem; color:var(--steel);}

/* ============ NEWS ============ */
.news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.news-card{
  background:var(--panel); border:1px solid var(--line); border-radius:14px; overflow:hidden;
  display:flex; flex-direction:column;
}
.news-media{aspect-ratio:16/10; background:var(--ink-2); position:relative; overflow:hidden;}
.news-media img{width:100%; height:100%; object-fit:cover; filter:saturate(1.05) brightness(1.08) contrast(1.05);}
.news-media .tag{
  position:absolute; left:12px; top:12px; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em;
  background:rgba(15,19,25,.75); border:1px solid var(--line); color:var(--ember-soft); padding:5px 10px; border-radius:999px;
  font-family:"Oswald",sans-serif;
}
.news-media.no-img{
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,138,76,.18), transparent 55%),
    linear-gradient(160deg,var(--panel-2),var(--ink-2));
}
.news-body{padding:18px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1;}
.news-date{font-family:"Share Tech Mono",monospace; font-size:.75rem; color:var(--steel);}
.news-card h3{font-size:1.05rem; text-transform:none; letter-spacing:0; font-family:"Golos Text",sans-serif; font-weight:600;}
.news-card p{font-size:.88rem; color:var(--frost-dim);}

/* ============ FAQ ============ */
.faq-list{display:flex; flex-direction:column; gap:10px; max-width:840px;}
.faq-item{background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.faq-q{
  width:100%; text-align:left; background:none; border:none; color:var(--frost);
  padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px;
  cursor:pointer; font-size:.98rem; font-family:"Golos Text",sans-serif; font-weight:600;
}
.faq-q .plus{
  flex:none; width:22px; height:22px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ember-soft); font-size:1rem; transition:transform .25s ease;
}
.faq-item[open] .faq-q .plus{transform:rotate(45deg); border-color:var(--ember);}
.faq-a{padding:0 20px 20px; color:var(--frost-dim); font-size:.92rem; max-width:68ch;}
.faq-q::-webkit-details-marker{display:none;}

/* ============ CONTACT ============ */
.contact{background:var(--ink-2); border-bottom:1px solid var(--line-soft);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
.contact-info{display:flex; flex-direction:column; gap:18px;}
.info-row{display:flex; gap:14px; align-items:flex-start;}
.info-ic{
  flex:none; width:40px; height:40px; border-radius:9px; background:var(--panel); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ember-soft);
}
.info-row h4{font-family:"Golos Text",sans-serif; text-transform:none; font-size:.95rem; font-weight:600; letter-spacing:0;}
.info-row p, .info-row a{font-size:.88rem; color:var(--frost-dim); text-decoration:none;}
.info-row a:hover{color:var(--ember-soft);}

.map-card{
  margin-top:6px; border-radius:12px; border:1px solid var(--line); background:var(--panel);
  padding:18px; display:flex; align-items:center; gap:14px;
}
.map-pin{
  flex:none; width:44px; height:44px; border-radius:50%; background:var(--ink-2); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--ember);
}

form.feedback{
  background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:26px;
  display:flex; flex-direction:column; gap:16px;
}
.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-size:.78rem; color:var(--steel); text-transform:uppercase; letter-spacing:.06em; font-family:"Oswald",sans-serif;}
.field input, .field select, .field textarea{
  background:var(--ink-2); border:1px solid var(--line-soft); border-radius:8px; padding:11px 13px;
  color:var(--frost); font-family:"Golos Text",sans-serif; font-size:.92rem;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--ember); outline:none;}
.field textarea{resize:vertical; min-height:90px;}
.form-note{font-size:.76rem; color:var(--steel-dim);}
.form-success{
  display:none; align-items:center; gap:10px; background:rgba(111,214,160,.1); border:1px solid rgba(111,214,160,.35);
  color:var(--ok); padding:12px 14px; border-radius:8px; font-size:.86rem;
}
.form-success.show{display:flex;}

/* ============ FOOTER ============ */
footer{padding-block:44px; background:var(--ink);}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px;}
.foot-brand p{color:var(--steel); font-size:.86rem; margin-top:12px; max-width:34ch;}
.foot-col h5{font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:.74rem; letter-spacing:.1em; color:var(--steel); margin-bottom:14px;}
.foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.foot-col a{color:var(--frost-dim); text-decoration:none; font-size:.88rem;}
.foot-col a:hover{color:var(--ember-soft);}
.foot-bottom{
  max-width:1180px; margin:36px auto 0; padding:20px 24px 0; border-top:1px solid var(--line-soft);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.78rem; color:var(--steel-dim);
}

/* ============ RESPONSIVE ============ */
/* the 6-item desktop menu + both header buttons need ~1145px to fit without wrapping;
   switch to the burger earlier than the layout-stacking breakpoint below so 921-1160px
   (common laptop/tablet-landscape widths) never overflows horizontally */
@media (max-width:1160px){
  nav.links{display:none;}
  .burger{display:flex;}
}
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;}
  .about-grid, .contact-grid{grid-template-columns:1fr; gap:34px;}
  .svc-grid{grid-template-columns:1fr;}
  .news-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr; gap:26px;}
  .stat-strip{grid-template-columns:1fr 1fr;}
}
/* keeps the header from overflowing (and hiding the burger button off-screen)
   on narrow/tablet widths where brand + both header buttons + burger no longer fit */
@media (max-width:660px){
  .nav-actions .btn-ghost{display:none;}
  .nav-actions .btn-primary{padding:10px; gap:0;}
  .nav-actions .btn-primary .btn-label{display:none;}
  .nav-actions .btn-primary .btn-ic{display:inline; font-size:1.1rem;}
}
@media (max-width:560px){
  .nav{height:64px;}
  .hero-scene{height:clamp(260px,74vw,340px);}
  .moon{width:44px; height:44px; top:6%; right:8%;}
  .plant-body{height:104px;}
  .stack-wrap{left:58%;}
  .chimney{height:84px;}
  section{padding-block:48px;}
  .fact-list li{grid-template-columns:1fr;}
  .countdown{flex-wrap:wrap;}
  .countdown div{min-width:60px;}
  .gauge-row{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:1fr;}
}
@media (max-width:340px){
  .nav{padding-inline:14px; gap:8px;}
  .brand{gap:8px;}
  .brand-mark{width:32px; height:32px;}
  .brand-name{font-size:.9rem;}
}

/* mobile nav drawer */
.drawer{
  position:fixed; inset:0; z-index:60; background:rgba(9,11,15,.72); backdrop-filter:blur(4px);
  display:none;
}
.drawer.open{display:block;}
.drawer-panel{
  position:absolute; top:0; right:0; bottom:0; width:min(320px,84vw);
  background:var(--panel); border-left:1px solid var(--line); padding:24px;
  display:flex; flex-direction:column; gap:22px;
}
.drawer-panel a{text-decoration:none; color:var(--frost-dim); font-size:1.02rem; padding-block:6px;}
.drawer-close{align-self:flex-end; background:none; border:1px solid var(--line); color:var(--frost); width:36px; height:36px; border-radius:8px; cursor:pointer;}
