/* ═══════════════════════════════════════════════════════════════
   ESG Vision s.r.o. — esgv.cz
   Design: Organická zelená | Deep Forest · Warm Cream · Sage
   Typografie: Cormorant Garamond (display) + Plus Jakarta Sans (body)
   Paleta inspirována: Ecofine (#4BAF47, #24231D, #F8F7F0, #EDF7ED)
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* ── Tmavá — shodná s gc-web pro navbar/footer ── */
  --deep:         #07132A;  /* gc-web navbar scrolled / team / contact */
  --deep-footer:  #060F1E;  /* gc-web footer — nejtmavší */
  --forest-deep:  #0E180C;  /* hero overlays, gradients */

  /* ── Zelená brand ── */
  --green-bright: #4BAF47;  /* BRAND */
  --green-dim:    rgba(75,175,71,0.10);
  --green-line:   rgba(75,175,71,0.28);
  --forest:       #2A5C26;  /* tmavá zelená pro ikony a akcenty */

  /* ── Světlá paleta — ivory + šalvějová zelená ── */
  --ivory:        #F7F6EF;  /* hlavní světlý bg */
  --ivory-dark:   #EDE8DC;  /* teplá béžová — quote box, dle gc-web */
  --sage:         #E3EEE0;  /* světlá šalvějová — akcentní sekce */
  --white:        #FFFFFF;

  /* ── Text ── */
  --ink:          #1B2418;
  --ink-light:    #4D6549;
  --ink-faint:    #7B9678;
  --red:          #C94F4B;

  /* ── Bordery ── */
  --border:       #D0DAD0;
  --border-dark:  rgba(255,255,255,0.08);

  --ff-display:   'Cormorant Garamond', Georgia, serif;
  --ff-body:      'Plus Jakarta Sans', system-ui, sans-serif;

  --r-sm:  4px;
  --r-md:  8px;
  --r-lg:  14px;
  --r-xl:  22px;

  --shadow-sm:  0 1px 4px rgba(14,24,12,0.07);
  --shadow-md:  0 4px 20px rgba(14,24,12,0.11);
  --shadow-lg:  0 12px 48px rgba(14,24,12,0.17);
  --shadow-xl:  0 24px 80px rgba(14,24,12,0.24);

  --ease: cubic-bezier(0.4,0,0.2,1);
  --t:    0.24s;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }
body {
  font-family: var(--ff-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  hyphens: auto;
  hyphenate-limit-chars: 7 3 3;
  text-wrap: pretty;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
  hyphens: manual;
}
img  { max-width:100%; height:auto; display:block; }
/* Obrázky s HTML výškovým atributem — respektovat */
img[height] { height:revert; max-width:100%; }
a    { text-decoration:none; color:inherit; transition:color var(--t) var(--ease); }
ul   { list-style:none; }
button { font-family:var(--ff-body); cursor:pointer; border:none; background:none; }
[x-cloak] { display:none !important; }

/* ── LAYOUT ─────────────────────────────────────────────────── */
.container       { max-width:1160px; margin:0 auto; padding:0 32px; }
.container--narrow { max-width:820px; margin:0 auto; padding:0 32px; }

/* ── TYPOGRAFIE ─────────────────────────────────────────────── */
.overline {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ff-body); font-size:11px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; color:var(--green-bright);
  margin-bottom:14px;
}
.overline::before {
  content:''; display:block; width:22px; height:1px; background:var(--green-bright); flex-shrink:0;
}

.section-header  { margin-bottom:48px; }
.section-title {
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(24px,3vw,36px); color:var(--ink);
  line-height:1.15; letter-spacing:-.01em;
  margin-bottom:16px;
}
.section-title em   { font-style:italic; color:var(--green-bright); }
.section-title strong { font-weight:600; }
.section-sub {
  font-size:13px; font-weight:300; color:var(--ink-light);
  line-height:1.75; max-width:580px; margin-top:12px;
}
.esg-pillars .section-sub { max-width:none; }

.section-intro { margin-bottom:40px; }
.section-intro p { font-size:13px; color:var(--ink-light); line-height:1.75; margin-top:10px; }

/* ── REVEAL ─────────────────────────────────────────────────── */
.reveal       { opacity:0; transform:translateY(28px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.reveal.visible { opacity:1; transform:none; }
.reveal-left  { opacity:0; transform:translateX(-28px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.reveal-left.visible { opacity:1; transform:none; }
.reveal-right { opacity:0; transform:translateX(28px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.reveal-right.visible { opacity:1; transform:none; }

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--ff-body); font-size:12px; font-weight:600;
  letter-spacing:.05em; padding:10px 22px; border-radius:var(--r-md);
  transition:all var(--t) var(--ease); cursor:pointer; border:none;
  text-decoration:none; white-space:nowrap;
}
.btn--primary {
  background:var(--green-bright); color:var(--forest-deep);
  box-shadow:0 4px 14px rgba(75,175,71,0.32), 0 1px 3px rgba(75,175,71,0.18);
}
.btn--primary:hover {
  background:#5CC558;
  box-shadow:0 8px 24px rgba(75,175,71,0.42), 0 2px 6px rgba(75,175,71,0.22);
  transform:translateY(-2px);
}

.btn--ghost {
  background:rgba(255,255,255,0.06); color:rgba(255,255,255,0.82);
  border:1px solid rgba(255,255,255,0.28); backdrop-filter:blur(6px);
}
.btn--ghost:hover {
  background:rgba(255,255,255,0.13); color:var(--white);
  border-color:rgba(255,255,255,0.55); transform:translateY(-2px);
}

.btn--green {
  background:var(--green-bright); color:var(--forest-deep);
  box-shadow:0 4px 14px rgba(75,175,71,0.32), 0 1px 3px rgba(75,175,71,0.18);
}
.btn--green:hover {
  background:#5CC558;
  box-shadow:0 8px 24px rgba(75,175,71,0.42);
  transform:translateY(-2px);
}

.btn--outline-white {
  background:rgba(255,255,255,0.05); color:rgba(255,255,255,0.78);
  border:1px solid rgba(255,255,255,0.22); backdrop-filter:blur(6px);
}
.btn--outline-white:hover {
  background:rgba(255,255,255,0.10); color:var(--white);
  border-color:rgba(255,255,255,0.48); transform:translateY(-2px);
}

.btn--outline {
  background:transparent; color:var(--white);
  border:1.5px solid rgba(255,255,255,0.5);
}
.btn--outline:hover {
  background:rgba(255,255,255,0.10); border-color:var(--white);
  transform:translateY(-2px);
}

.btn--lg  { padding:13px 30px; font-size:13px; border-radius:10px; }
.btn--sm  { padding:7px 14px; font-size:11px; }
.btn--full { width:100%; }
.btn:disabled { opacity:.5; cursor:not-allowed; transform:none !important; }

/* ── TAG ─────────────────────────────────────────────────────── */
.tag {
  display:inline-block; font-size:10px; font-weight:600; letter-spacing:.07em;
  text-transform:uppercase; padding:4px 10px; border-radius:99px;
  background:var(--green-dim); color:var(--green); border:1px solid var(--green-line);
  white-space:nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   COOKIE BAR
   ═══════════════════════════════════════════════════════════════ */
.cookie-bar {
  position:fixed; bottom:0; left:0; right:0; z-index:9999;
  background:var(--forest-deep); border-top:1px solid rgba(75,175,71,0.2);
  border-top:3px solid var(--green-bright);
  padding:14px 0;
  box-shadow:0 -4px 32px rgba(0,0,0,0.35);
}
.cookie-bar__inner {
  max-width:1160px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  flex-wrap:wrap;
}
.cookie-bar__inner p {
  font-size:13px; color:rgba(255,255,255,0.55); line-height:1.5; flex:1; min-width:200px;
}
.cookie-bar__inner a { color:var(--green-bright); }
.cookie-bar__inner a:hover { color:#5CC558; }
.cookie-bar__btns { display:flex; gap:8px; flex-shrink:0; }
@media (max-width:600px) {
  .cookie-bar__inner { flex-direction:column; align-items:flex-start; padding:0 20px; }
  .cookie-bar__btns { width:100%; }
  .cookie-bar__btns .btn { flex:1; justify-content:center; }
}

/* ═══════════════════════════════════════════════════════════════
   AKADEMIE POPUP (homepage)
   ═══════════════════════════════════════════════════════════════ */
.academy-overlay {
  position:fixed; inset:0; z-index:10000;
  background:rgba(14,24,12,0.72); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.academy-modal {
  position:relative; background:var(--ivory); border-radius:var(--r-lg);
  max-width:480px; width:100%; padding:40px 40px 32px; text-align:center;
  box-shadow:var(--shadow-xl); border-top:3px solid var(--green-bright);
}
.academy-modal__close {
  position:absolute; top:14px; right:14px; width:28px; height:28px; border-radius:50%;
  background:rgba(27,36,24,0.06); border:none; color:var(--ink-light);
  cursor:pointer; font-size:14px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:all var(--t) var(--ease);
}
.academy-modal__close:hover { background:rgba(27,36,24,0.12); color:var(--ink); }
.academy-modal__badge {
  display:inline-block; font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--forest); background:var(--green-dim); padding:6px 16px; border-radius:var(--r-sm);
  margin-bottom:20px; line-height:1.5; max-width:300px;
}
.academy-modal__logo { display:block; max-width:200px; width:100%; height:auto; margin:0 auto 22px; }
.academy-modal__title { font-family:var(--ff-display); font-size:23px; font-weight:600; color:var(--ink); margin-bottom:12px; line-height:1.28; }
.academy-modal__text { font-size:14px; color:var(--ink-light); line-height:1.7; margin-bottom:26px; }
.academy-modal__ctas { display:flex; flex-direction:column; gap:10px; }
.academy-modal__cta { display:flex; align-items:center; justify-content:center; width:100%; text-decoration:none; }
.academy-modal__dismiss {
  display:block; margin:14px auto 0; font-size:12px; color:var(--ink-faint);
  background:none; border:none; cursor:pointer; text-decoration:underline;
}
.academy-modal__dismiss:hover { color:var(--ink-light); }
@media (max-width:480px) {
  .academy-modal { padding:32px 24px 26px; }
  .academy-modal__logo { max-width:160px; }
}
.academy-fade { transition:opacity .25s var(--ease); }
.academy-fade-start { opacity:0; }
.academy-fade-end   { opacity:1; }
.academy-pop { transition:opacity .28s var(--ease), transform .28s var(--ease); }
.academy-pop-start { opacity:0; transform:scale(.94) translateY(8px); }
.academy-pop-end   { opacity:1; transform:scale(1) translateY(0); }

/* ── SCROLL OFFSET pro fixed navbar (72px) ───────────────────── */
section[id] { scroll-margin-top: 80px; }

/* ── SCROLL TO TOP ────────────────────────────────────────────── */
.scroll-top {
  position:fixed; bottom:28px; right:28px; z-index:800;
  width:44px; height:44px; border-radius:50%;
  background:var(--forest); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(27,36,24,0.25);
  opacity:0; transform:translateY(12px) scale(0.85);
  transition:opacity .25s, transform .25s, background .2s, box-shadow .2s;
  pointer-events:none;
}
.scroll-top--visible {
  opacity:1; transform:translateY(0) scale(1); pointer-events:auto;
}
.scroll-top:hover {
  background:var(--green-bright);
  box-shadow:0 6px 22px rgba(75,175,71,0.38);
  transform:translateY(-2px) scale(1);
}
.scroll-top svg { width:18px; height:18px; stroke:var(--white); }

/* ═══════════════════════════════════════════════════════════════
   NAVIGACE (NAVBAR)
   ═══════════════════════════════════════════════════════════════ */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:72px; transition:all var(--t) var(--ease);
  background:rgba(248,247,240,0.96); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.navbar--scrolled {
  background:rgba(210,228,206,0.98); backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(75,175,71,0.25);
  box-shadow:0 4px 20px rgba(7,19,42,0.10);
}
.navbar__inner {
  height:100%; display:flex; align-items:center; gap:0;
}
.navbar__logo {
  display:flex; align-items:center; margin-right:auto; text-decoration:none;
}
.navbar__logo img { height:36px; width:auto; }

/* Logo mark — SVG icon + typografický wordmark */
.logo-mark {
  display:inline-flex; align-items:center; gap:10px; text-decoration:none;
}
.logo-mark svg { flex-shrink:0; }
.logo-text {
  display:flex; flex-direction:column; line-height:1.1; gap:0;
}
.logo-text__esg {
  font-family:var(--ff-body); font-size:13px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink);
}
.logo-text__vision {
  font-family:var(--ff-display); font-size:13px; font-weight:400;
  font-style:italic; color:var(--ink-light); letter-spacing:.02em;
}
/* Footer variant — bílý text */
.logo-text--footer .logo-text__esg  { color:var(--white); }
.logo-text--footer .logo-text__vision { color:rgba(255,255,255,0.5); }
/* Navbar scrolled — light bg, keep dark text */
.navbar--scrolled .logo-text__esg  { color:var(--ink); }
.navbar--scrolled .logo-text__vision { color:var(--ink-light); }

.navbar__nav { display:flex; align-items:center; gap:2px; margin-right:12px; }
.navbar__link {
  font-size:13px; font-weight:400; color:rgba(15,44,26,0.68);
  padding:8px 13px; border-radius:var(--r-sm);
  transition:color var(--t) var(--ease), background var(--t) var(--ease);
  letter-spacing:.02em;
}
.navbar__link:hover { color:var(--forest); background:var(--green-dim); }
.navbar__link--active { color:var(--green-bright); }
.navbar--scrolled .navbar__link { color:var(--ink-light); }
.navbar--scrolled .navbar__link:hover { color:var(--green-bright); background:rgba(75,175,71,0.12); }

.navbar__cta { flex-shrink:0; }

.navbar__burger {
  display:none; flex-direction:column; gap:5px;
  padding:8px; margin-left:10px; background:none; border:none; cursor:pointer;
}
.navbar__burger span {
  display:block; width:22px; height:1.5px;
  background:var(--forest); border-radius:1px; transition:all .3s;
}
.navbar--scrolled .navbar__burger span { background:var(--ink); }

/* ═══════════════════════════════════════════════════════════════
   HERO SLIDER
   ═══════════════════════════════════════════════════════════════ */
.hero {
  position:relative; overflow:hidden;
  padding-top:72px; background:var(--forest-deep);
}
.hero__slider {
  position:relative; width:100%; min-height:520px;
}
.hero__slide {
  position:absolute; inset:0;
  display:flex; align-items:center;
  opacity:0; transition:opacity 1s var(--ease);
  z-index:0; pointer-events:none;
}
.hero__slide.active { opacity:1; z-index:1; pointer-events:auto; }

.hero__bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}

/* Hero decorative overlays (texture grid + radial glow) */
.hero__texture {
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(75,175,71,0.035) 39px, rgba(75,175,71,0.035) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(75,175,71,0.035) 39px, rgba(75,175,71,0.035) 40px);
}
.hero__glow {
  position:absolute; top:-15%; right:-5%;
  width:55%; height:70%; pointer-events:none; z-index:1;
  background:radial-gradient(ellipse at 70% 30%, rgba(75,175,71,0.1) 0%, transparent 65%);
}
.hero__bg--1 {
  background-image:
    linear-gradient(135deg, rgba(8,26,15,0.72) 0%, rgba(15,44,26,0.58) 60%, rgba(8,26,15,0.5) 100%),
    url('/static/img/hero1.jpg');
  background-position: center center;
}
.hero__bg--2 {
  background-image:
    linear-gradient(135deg, rgba(8,26,15,0.72) 0%, rgba(15,44,26,0.58) 60%, rgba(8,26,15,0.5) 100%),
    url('/static/img/hero2.jpg');
  background-position: center center;
}
.hero__bg--3 {
  background-image:
    linear-gradient(135deg, rgba(8,26,15,0.72) 0%, rgba(15,44,26,0.58) 60%, rgba(8,26,15,0.5) 100%),
    url('/static/img/hero4.jpg');
  background-position: center center;
}
.hero__bg--4 {
  background-image:
    linear-gradient(135deg, rgba(8,26,15,0.72) 0%, rgba(15,44,26,0.58) 60%, rgba(8,26,15,0.5) 100%),
    url('/static/img/hero3.jpg');
  background-position: center center;
}

.hero__content {
  position:relative; z-index:2;
  width:100%; max-width:1160px; margin:0 auto; padding:64px 32px 80px;
}
.hero__overline {
  font-family:var(--ff-body); font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--green-bright);
  margin-bottom:24px; display:flex; align-items:center; gap:12px;
}
.hero__overline::before { content:''; display:block; width:28px; height:1px; background:var(--green-bright); }

.hero__title {
  font-family:var(--ff-display); font-weight:300;
  font-size:clamp(34px,5vw,62px); color:var(--white);
  line-height:1.08; letter-spacing:-.02em; margin-bottom:20px;
}
.hero__title em { font-style:italic; color:var(--green-bright); }
.hero__title strong { font-weight:600; }

.hero__sub {
  font-size:16px; font-weight:300; color:rgba(255,255,255,0.52);
  line-height:1.7; margin-bottom:32px; max-width:none; white-space:nowrap;
}
.hero__btns { display:flex; gap:12px; flex-wrap:wrap; }

/* Hero slide elements — disable generic reveal, use slide opacity crossfade */
.hero__slide .reveal,
.hero__slide .reveal-left,
.hero__slide .reveal-right {
  opacity:1; transform:none; transition:none;
}

.hero__progress-bar {
  height:100%; background:var(--green-bright); width:0;
  transition:width 6s linear;
}

/* Arrows — left and right of hero (styl dle gc-web) */
.hero__arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%; z-index:20;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.5); cursor:pointer;
  display:none; align-items:center; justify-content:center; font-size:22px; line-height:1;
  transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease);
}
.hero__arrow:hover { background:var(--green-bright); border-color:var(--green-bright); color:var(--white); }
.hero__arrow--prev { left:24px; }
.hero__arrow--next { right:24px; }
@media (min-width:768px) { .hero__arrow { display:flex; } }

/* Progress bar — inside slider, below content, above bg */
.hero__progress {
  position:absolute; bottom:0; left:0; right:0;
  height:2px; background:rgba(255,255,255,0.07); z-index:10;
}

/* Wave — absolutní překryv dole, plynulý přechod do sekce pod hrdinou */
.hero__wave {
  position:absolute; bottom:-1px; left:0; right:0;
  height:80px; pointer-events:none; z-index:20; line-height:0;
}
.hero__wave svg { display:block; width:100%; height:100%; }

/* ═══════════════════════════════════════════════════════════════
   QUOTE SECTION
   ═══════════════════════════════════════════════════════════════ */
.quote-section {
  background:var(--ivory); padding:44px 0 28px;
}
.quote-box {
  background:var(--ivory-dark); border-radius:var(--r-xl);
  padding:44px 52px; position:relative; overflow:hidden;
  display:flex; gap:32px; align-items:flex-start;
  border:1px solid var(--border); box-shadow:var(--shadow-md);
}
.quote-box__texture {
  position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(75,175,71,0.025) 39px,rgba(75,175,71,0.025) 40px);
}
.quote-box__mark {
  position:absolute; top:-10px; right:44px;
  font-family:var(--ff-display); font-size:120px;
  color:var(--green-bright); opacity:.07; line-height:1;
  pointer-events:none; user-select:none;
}
.quote-box__bar {
  width:4px; background:linear-gradient(to bottom,var(--green-bright),rgba(75,175,71,0.25));
  border-radius:2px; flex-shrink:0; align-self:stretch; min-height:80px;
}
.quote-box__content { flex:1; min-width:0; }
.quote-box__text {
  font-family:var(--ff-display); font-size:clamp(1.1rem,1.8vw,1.45rem);
  font-weight:300; font-style:italic; color:var(--ink);
  line-height:1.65; letter-spacing:-.01em; margin-bottom:24px;
}
.quote-box__byline {
  display:flex; align-items:center; gap:14px;
}
.quote-box__dash {
  width:28px; height:1px; background:var(--green-bright); flex-shrink:0;
}
.quote-box__author {
  font-size:13px; font-weight:600; color:var(--forest); letter-spacing:.01em;
}
.quote-box__role {
  font-size:11px; color:var(--ink-faint); letter-spacing:.05em; margin-top:2px;
}

/* ═══════════════════════════════════════════════════════════════
   CO JE ESG — 3 PILÍŘE
   ═══════════════════════════════════════════════════════════════ */
.esg-pillars { background:var(--sage); padding:36px 0 56px; }
.esg-pillars__grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:52px;
}

/* ── ESGV tabs ── */
/* ── ESGV Sidebar layout ── */
.esgv-tabs { margin-top:40px; display:grid; grid-template-columns:260px 1fr; gap:20px; align-items:stretch; }
.esgv-tabs__nav { display:flex; flex-direction:column; gap:10px; }
.esgv-tabs__btn {
  display:flex; align-items:center; gap:16px; flex:1;
  padding:18px 20px; border:1px solid var(--border);
  border-radius:var(--r-lg); cursor:pointer; text-align:left;
  box-shadow:0 2px 8px rgba(7,19,42,0.07);
  transition:all var(--t) var(--ease); position:relative; overflow:hidden;
}
.esgv-tabs__btn::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  border-radius:3px 0 0 3px; background:transparent;
  transition:background var(--t) var(--ease);
}
/* Default — each button shows its own colour subtly */
.esgv-tabs__btn--env { background:rgba(75,175,71,0.05); border-color:rgba(75,175,71,0.2); }
.esgv-tabs__btn--soc { background:rgba(43,138,160,0.05); border-color:rgba(43,138,160,0.2); }
.esgv-tabs__btn--gov { background:rgba(184,132,14,0.05); border-color:rgba(184,132,14,0.2); }
.esgv-tabs__btn--vis { background:rgba(27,36,24,0.03); border-color:rgba(27,36,24,0.15); }
.esgv-tabs__btn-letter {
  font-family:var(--ff-display); font-size:28px; font-weight:700; font-style:italic;
  line-height:1; flex-shrink:0; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border-radius:10px; transition:all var(--t) var(--ease);
}
.esgv-tabs__btn--env .esgv-tabs__btn-letter { background:rgba(75,175,71,0.15); color:#4BAF47; }
.esgv-tabs__btn--soc .esgv-tabs__btn-letter { background:rgba(43,138,160,0.15); color:#2B8AA0; }
.esgv-tabs__btn--gov .esgv-tabs__btn-letter { background:rgba(184,132,14,0.15); color:#B8840E; }
.esgv-tabs__btn--vis .esgv-tabs__btn-letter { background:rgba(27,36,24,0.09); color:var(--ink); }
.esgv-tabs__btn-label {
  font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  line-height:1.3; transition:color var(--t) var(--ease);
}
.esgv-tabs__btn--env .esgv-tabs__btn-label { color:#3a9636; }
.esgv-tabs__btn--soc .esgv-tabs__btn-label { color:#2B8AA0; }
.esgv-tabs__btn--gov .esgv-tabs__btn-label { color:#B8840E; }
.esgv-tabs__btn--vis .esgv-tabs__btn-label { color:var(--ink); }
.esgv-tabs__btn-sublabel {
  font-size:10px; font-weight:400; letter-spacing:0; text-transform:none;
  color:var(--ink-faint); opacity:.6; margin-top:2px; display:block;
}
/* Hover */
.esgv-tabs__btn--env:hover { background:rgba(75,175,71,0.1); border-color:rgba(75,175,71,0.4); box-shadow:0 2px 12px rgba(75,175,71,0.1); }
.esgv-tabs__btn--soc:hover { background:rgba(43,138,160,0.1); border-color:rgba(43,138,160,0.4); box-shadow:0 2px 12px rgba(43,138,160,0.1); }
.esgv-tabs__btn--gov:hover { background:rgba(184,132,14,0.1); border-color:rgba(184,132,14,0.4); box-shadow:0 2px 12px rgba(184,132,14,0.1); }
.esgv-tabs__btn--vis:hover { background:rgba(27,36,24,0.07); border-color:rgba(27,36,24,0.3); box-shadow:0 2px 12px rgba(27,36,24,0.07); }
.esgv-tabs__btn--env:hover .esgv-tabs__btn-letter { background:rgba(75,175,71,0.25); }
.esgv-tabs__btn--soc:hover .esgv-tabs__btn-letter { background:rgba(43,138,160,0.25); }
.esgv-tabs__btn--gov:hover .esgv-tabs__btn-letter { background:rgba(184,132,14,0.25); }
.esgv-tabs__btn--vis:hover .esgv-tabs__btn-letter { background:rgba(27,36,24,0.15); }
/* Active */
.esgv-tabs__btn--env.is-active { background:rgba(75,175,71,0.12); border-color:rgba(75,175,71,0.5); }
.esgv-tabs__btn--env.is-active::before { background:#4BAF47; }
.esgv-tabs__btn--env.is-active .esgv-tabs__btn-letter { background:rgba(75,175,71,0.28); }
.esgv-tabs__btn--soc.is-active { background:rgba(43,138,160,0.12); border-color:rgba(43,138,160,0.5); }
.esgv-tabs__btn--soc.is-active::before { background:#2B8AA0; }
.esgv-tabs__btn--soc.is-active .esgv-tabs__btn-letter { background:rgba(43,138,160,0.28); }
.esgv-tabs__btn--gov.is-active { background:rgba(184,132,14,0.12); border-color:rgba(184,132,14,0.5); }
.esgv-tabs__btn--gov.is-active::before { background:#B8840E; }
.esgv-tabs__btn--gov.is-active .esgv-tabs__btn-letter { background:rgba(184,132,14,0.28); }
.esgv-tabs__btn--vis.is-active { background:rgba(27,36,24,0.08); border-color:rgba(27,36,24,0.35); }
.esgv-tabs__btn--vis.is-active::before { background:var(--ink); }
.esgv-tabs__btn--vis.is-active .esgv-tabs__btn-letter { background:rgba(27,36,24,0.18); }

/* Panel — right side, stretches to nav height */
.esgv-tabs__body { padding-top:0; display:flex; flex-direction:column; }
.esgv-tabs__panel {
  border:1px solid var(--border); border-radius:var(--r-xl);
  padding:36px 40px; flex:1;
  box-shadow:0 4px 24px rgba(7,19,42,0.08);
}
.esgv-tabs__panel--env { background:rgba(75,175,71,0.07); border-color:rgba(75,175,71,0.25); }
.esgv-tabs__panel--soc { background:rgba(43,138,160,0.07); border-color:rgba(43,138,160,0.25); }
.esgv-tabs__panel--gov { background:rgba(184,132,14,0.07); border-color:rgba(184,132,14,0.25); }
.esgv-tabs__panel--vis { background:rgba(27,36,24,0.04); border-color:rgba(27,36,24,0.18); }
.esgv-tabs__panel-name {
  font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:6px;
}
.esgv-tabs__panel-cs {
  font-family:var(--ff-display); font-size:2rem; font-weight:600;
  line-height:1.1; margin-bottom:16px;
}
.esgv-tabs__panel--env .esgv-tabs__panel-cs { color:#4BAF47; }
.esgv-tabs__panel--soc .esgv-tabs__panel-cs { color:#2B8AA0; }
.esgv-tabs__panel--gov .esgv-tabs__panel-cs { color:#B8840E; }
.esgv-tabs__panel--vis .esgv-tabs__panel-cs { color:var(--ink); }
.esgv-tabs__panel-desc {
  font-size:14px; color:var(--ink-light); line-height:1.85; margin-bottom:28px;
}
/* Pill badges — vertical stack */
.esgv-tabs__pills { display:flex; flex-direction:column; gap:7px; }
.esgv-tabs__pill {
  font-size:11px; font-weight:600; letter-spacing:.02em;
  padding:5px 13px; border-radius:99px; align-self:flex-start;
  background:rgba(75,175,71,0.1); color:#3a9636; border:1px solid rgba(75,175,71,0.25);
}
.esgv-tabs__pills--soc .esgv-tabs__pill { background:rgba(43,138,160,0.1); color:#2B8AA0; border-color:rgba(43,138,160,0.25); }
.esgv-tabs__pills--gov .esgv-tabs__pill { background:rgba(184,132,14,0.1); color:#B8840E; border-color:rgba(184,132,14,0.25); }
.esgv-tabs__pills--vis .esgv-tabs__pill { background:rgba(27,36,24,0.07); color:var(--ink); border-color:rgba(27,36,24,0.18); }
/* Transition */
[x-cloak] { display:none; }
.esgv-fade-in { transition:opacity .22s ease, transform .22s ease; }
.esgv-fade-start { opacity:0; transform:translateX(10px); }
.esgv-fade-end   { opacity:1; transform:translateX(0); }
.esg-pillar {
  background:var(--white); border:1px solid var(--green-line); border-radius:var(--r-xl);
  padding:28px 24px 24px; position:relative; overflow:hidden;
  box-shadow:var(--shadow-md);
}
.esg-pillar__letter-bg {
  font-family:var(--ff-display); font-size:100px; font-weight:700; line-height:1;
  position:absolute; bottom:-8px; right:12px; opacity:0.05; letter-spacing:-.04em;
  color:var(--ink); pointer-events:none; user-select:none;
}
.esg-pillar__top { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; }
.esg-pillar__letter {
  width:44px; height:44px; border-radius:var(--r-md); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-display); font-size:1.5rem; font-weight:700; color:var(--white);
  background:var(--green-bright);
}
.esg-pillar--env .esg-pillar__letter { background:#4BAF47; }
.esg-pillar--soc .esg-pillar__letter { background:#2B8AA0; }
.esg-pillar--gov .esg-pillar__letter { background:#B8840E; }
.esg-pillar__name {
  font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:3px;
}
.esg-pillar__cs {
  font-family:var(--ff-display); font-size:1.25rem; font-weight:600; color:var(--ink);
  line-height:1.2;
}
.esg-pillar__desc {
  font-size:12px; color:var(--ink-light); line-height:1.7; margin-bottom:16px;
}
.esg-pillar__items { list-style:none; padding:0; margin:0; border-top:1px solid var(--border); }
.esg-pillar__items li {
  display:flex; align-items:center; gap:9px;
  padding:7px 0; font-size:12px; color:var(--ink);
  border-bottom:1px solid var(--border);
}
.esg-pillar__items li:last-child { border-bottom:none; }
.esg-pillar__items li::before {
  content:''; display:block; width:5px; height:5px; border-radius:50%; flex-shrink:0;
  background:var(--green-bright);
}
.esg-pillar--soc .esg-pillar__items li::before { background:#2B8AA0; }
.esg-pillar--gov .esg-pillar__items li::before { background:#B8840E; }

/* V — Vision pillar */
.esg-pillar--vis { background:var(--ivory-dark); border-color:rgba(27,36,24,0.25); }
.esg-pillar--vis .esg-pillar__letter { background:var(--ink); color:var(--white); }
.esg-pillar--vis .esg-pillar__name { color:var(--ink-faint); }
.esg-pillar--vis .esg-pillar__cs { color:var(--ink); }
.esg-pillar--vis .esg-pillar__desc { color:var(--ink-light); }
.esg-pillar--vis .esg-pillar__items li::before { background:var(--green-bright); }

/* V letter in heading */
.esgv-v { font-style:italic; color:var(--ink); }

@media (max-width:900px) { .esg-pillars__grid { grid-template-columns:1fr 1fr; gap:16px; } }
@media (max-width:560px) { .esg-pillars__grid { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════
   CSRD — TÝKÁ SE VÁS?
   ═══════════════════════════════════════════════════════════════ */
.csrd-section { background:var(--sage); padding:48px 0 56px; }
.csrd-section .overline { color:var(--green-bright); }
.csrd-section .section-title { color:var(--ink); }
.csrd-section .section-title em { color:var(--green-bright); }
.csrd-section .section-sub { color:var(--ink-light); max-width:none; }
/* CSRD — čistý 4-sloupcový grid */
.csrd-timeline {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:16px; margin:36px 0 0;
}
.csrd-tl-item {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:24px 20px;
  display:flex; flex-direction:column;
  box-shadow:var(--shadow-sm);
}
.csrd-tl-item--now {
  border-color:rgba(75,175,71,0.4); background:rgba(75,175,71,0.05);
  box-shadow:0 4px 20px rgba(75,175,71,0.1);
}
.csrd-tl-item__head { margin-bottom:14px; }
.csrd-tl-item__year {
  font-family:var(--ff-display); font-size:2rem; font-weight:700;
  color:var(--ink-faint); line-height:1; margin-bottom:10px;
}
.csrd-tl-item--now  .csrd-tl-item__year { color:var(--green-bright); }
.csrd-tl-item--soon .csrd-tl-item__year { color:var(--ink); }
.csrd-tl-item__badge {
  display:inline-block; font-size:10px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  padding:3px 10px; border-radius:99px;
  align-self:flex-start; white-space:nowrap;
}
.csrd-tl-item--now    .csrd-tl-item__badge { background:var(--green-bright); color:var(--white); }
.csrd-tl-item--soon   .csrd-tl-item__badge { background:rgba(75,175,71,0.15); color:var(--forest); border:1px solid rgba(75,175,71,0.3); }
.csrd-tl-item--future .csrd-tl-item__badge { background:rgba(27,36,24,0.06); color:var(--ink-faint); border:1px solid var(--border); }
.csrd-tl-item__card { display:contents; }
.csrd-tl-item__label {
  font-size:13px; font-weight:600; color:var(--ink);
  margin:14px 0 6px; line-height:1.35;
}
.csrd-tl-item__desc { font-size:12px; color:var(--ink-light); line-height:1.65; margin:0; }

.csrd__note {
  text-align:center; font-size:12.5px; color:var(--ink-faint);
  max-width:740px; margin:24px auto 0; line-height:1.7;
}

.btn--ghost-dark {
  border:1px solid rgba(255,255,255,0.28); color:var(--white);
  background:rgba(255,255,255,0.06); padding:14px 28px; border-radius:10px;
  font-weight:500; font-size:14px; letter-spacing:.03em; backdrop-filter:blur(6px);
  transition:all var(--t) var(--ease);
}
.btn--ghost-dark:hover {
  background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.52);
  transform:translateY(-2px);
}
.btn--outline-ink {
  border:1.5px solid rgba(27,36,24,0.30); color:var(--ink);
  background:transparent; padding:14px 28px; border-radius:10px;
  font-weight:500; font-size:14px; letter-spacing:.03em;
  transition:all var(--t) var(--ease);
}
.btn--outline-ink:hover {
  background:var(--ink); color:var(--white); border-color:var(--ink);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(7,19,42,0.20);
}

/* ISO 50001 — horizontální kartičky s prahovou hodnotou */
.iso-cards {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; margin:44px 0 0;
}
.iso-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:28px 22px;
  display:flex; flex-direction:column;
  box-shadow:var(--shadow-sm);
}
.iso-card--now {
  border-color:rgba(75,175,71,0.25);
  background:var(--ivory-dark);
  box-shadow:0 4px 20px rgba(14,24,12,0.10);
}

.iso-card__value {
  font-family:var(--ff-display); font-size:1.45rem; font-weight:700;
  color:var(--green-bright); line-height:1.15; white-space:nowrap;
  padding-bottom:16px; margin-bottom:16px;
  border-bottom:2px solid var(--border);
}
.iso-card--now .iso-card__value {
  font-size:1.6rem;
  border-bottom-color:rgba(75,175,71,0.25);
}

.iso-card__body { flex:1; }
.iso-card__label {
  font-size:13px; font-weight:600; color:var(--ink);
  margin-bottom:8px; line-height:1.4;
}
.iso-card__desc {
  font-size:12px; color:var(--ink-light); line-height:1.7;
}

.iso-card__badge {
  display:inline-block; margin-top:18px; align-self:flex-start;
  font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  padding:4px 10px; border-radius:99px;
}
.iso-card--now  .iso-card__badge { background:var(--green-bright); color:var(--white); }
.iso-card--soon .iso-card__badge { background:rgba(75,175,71,0.15); color:var(--green-bright); border:1px solid rgba(75,175,71,0.30); }
.iso-card--future .iso-card__badge { background:rgba(7,19,42,0.05); color:var(--ink-faint); border:1px solid var(--border); }

@media (max-width:780px) {
  .csrd-timeline { grid-template-columns:repeat(2,1fr); }
  .iso-cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:500px) {
  .csrd-timeline { grid-template-columns:1fr; }
  .iso-cards { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   STORY — NÁŠ PŘÍBĚH
   ═══════════════════════════════════════════════════════════════ */
.story {
  background:var(--ivory); padding:32px 0 20px;
}
.story__inner {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
  padding-top:0;
}
.story__text p {
  font-size:13px; color:var(--ink-light); line-height:1.85; margin-bottom:16px;
}
.story__text p:last-child { margin-bottom:0; }
.story__text strong { color:var(--ink); font-weight:500; }
.story__text .overline { margin-bottom:10px; }
.story__text .section-title { margin-bottom:24px; }

/* Story — milníky firmy v pravém sloupci */
.story__about { margin-top:28px; }
.story__stats { margin-top:48px; border-top:1px solid var(--border); padding-top:8px; }

/* Pravý sloupec — zarovnán s levým */
.story__right { padding-top:0; }
.story__right-header { margin-bottom:24px; }
.story__right-header .overline { margin-bottom:10px; }
.story__right-header .section-title { margin-bottom:0; }

/* ── Redesign timeline v story ───────────────────────── */
.story__timeline { max-width:none; margin:0; display:flex; flex-direction:column; gap:0; }

.story__timeline .timeline__item {
  display:grid; grid-template-columns:52px 1fr;
  gap:0 14px; align-items:start; position:relative;
  margin-bottom:16px;
}
.story__timeline .timeline__item:not(:last-child)::before { display:none; }

/* Connector line pod badge */
.story__timeline .timeline__item:not(:last-child)::after {
  content:''; position:absolute;
  left:24px; top:50px; bottom:-16px;
  width:2px;
  background:linear-gradient(to bottom, rgba(75,175,71,0.25), rgba(75,175,71,0.04));
  z-index:0;
}

/* Year — zelený badge s Cormorant fontem */
.story__timeline .timeline__year {
  width:48px; height:48px; border-radius:12px; flex-shrink:0;
  background:linear-gradient(135deg, var(--green-bright) 0%, #3a9636 100%);
  color:var(--white); font-family:var(--ff-display); font-size:16px;
  font-weight:600; letter-spacing:.01em; line-height:1;
  display:flex; align-items:center; justify-content:center; text-align:center;
  box-shadow:0 4px 12px rgba(75,175,71,0.28); position:relative; z-index:1;
  padding:0 4px;
}

/* Dot column — skrytý */
.story__timeline .timeline__dot { display:none; }

/* Content card — stín vždy (ne jen na hover) */
.story__timeline .timeline__content {
  background:var(--white); border:1px solid rgba(75,175,71,0.18);
  border-radius:14px; padding:13px 17px;
  box-shadow:0 6px 20px rgba(7,19,42,0.09);
}
.story__timeline .timeline__tag {
  font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright); display:block; margin-bottom:4px;
}
.story__timeline .timeline__content h3 {
  font-size:13.5px; font-weight:600; color:var(--ink); margin-bottom:5px;
}
.story__timeline .timeline__content p {
  font-size:12px; color:var(--ink-light); line-height:1.65; margin:0;
}

@media (max-width:860px) {
  .story__inner { grid-template-columns:1fr; gap:40px; }
}

/* ═══════════════════════════════════════════════════════════════
   PEOPLE STORY
   ═══════════════════════════════════════════════════════════════ */
.people-story {
  background:var(--sage); padding:36px 0 48px;
}
.people-story__intro {
  font-size:13px; color:var(--ink-light); line-height:1.85;
  margin:0 0 36px;
}
.people-story__grid {
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
  margin:28px 0 24px;
}
.people-story__card {
  border-radius:var(--r-xl); overflow:hidden;
  box-shadow:0 4px 24px rgba(11,28,53,0.18);
}

/* Full-height card — gc-web style, photo fills entire card */
.people-story__photo {
  position:relative; min-height:340px;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden;
}
.people-story__photo::before {
  content:''; position:absolute; inset:0; z-index:0;
  background-image:inherit; background-size:inherit; background-position:inherit;
  filter:grayscale(75%);
}
@keyframes spin { to { transform:rotate(360deg); } }
.people-story__photo-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to bottom, rgba(255,255,255,0.45) 0%, rgba(7,19,42,0.6) 45%, rgba(7,19,42,0.92) 100%);
}
.people-story__photo-bottom {
  position:relative; z-index:2; padding:24px 26px;
}
.people-story__photo-name {
  display:flex; align-items:flex-start; gap:12px; margin-bottom:12px;
}
.people-story__photo-bar {
  width:3px; align-self:stretch; flex-shrink:0;
  background:var(--green-bright); border-radius:2px;
}
.people-story__photo-title {
  font-size:15px; font-weight:700; color:var(--white); line-height:1.3;
}
.people-story__photo-role-label {
  font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright); margin-top:3px;
}
.people-story__photo-bio {
  font-size:12px; color:rgba(255,255,255,0.7); line-height:1.8; margin:0;
}

.people-story__quote { margin-top:8px; }
.quote-box--plain { gap:0; }
.quote-box--plain .quote-box__mark,
.quote-box--plain .quote-box__bar { display:none; }
.people-story__note-text { font-size:13px; color:var(--ink-light); line-height:1.8; margin:0; }

/* ═══════════════════════════════════════════════════════════════
   STATS
   ═══════════════════════════════════════════════════════════════ */
.stats-section {
  background:var(--ivory); padding:0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.stats-section__grid {
  display:grid; grid-template-columns:repeat(5,1fr); gap:0;
}
.stat-item {
  padding:36px 24px; border-right:1px solid var(--border);
  transition:background var(--t) var(--ease);
}
.stat-item:last-child { border-right:none; }
.stat-item:hover { background:var(--sage); }
.stat-value {
  font-family:var(--ff-display); font-size:40px; font-weight:300;
  color:var(--green-bright); line-height:1; margin-bottom:8px;
  letter-spacing:-.02em;
}
.stat-value em { color:var(--green-bright); font-style:normal; }
.stat-label { font-size:11px; color:var(--ink-faint); letter-spacing:.03em; }

/* ── STATS BAND ── */
.stats-band {
  background:var(--ivory); padding:16px 0 36px;
}
.stats-band__grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; max-width:1100px; margin:0 auto;
}
.stats-band__item {
  text-align:center; padding:0 32px;
  border-right:1px solid rgba(75,175,71,0.2);
  position:relative;
}
.stats-band__item:last-child { border-right:none; }
.stats-band__item::before {
  content:''; display:block; width:36px; height:2px;
  background:var(--green-bright); margin:0 auto 14px;
  border-radius:2px;
}
.stats-band__value {
  font-family:var(--ff-display); font-size:clamp(36px,4vw,52px);
  font-weight:300; font-style:italic;
  color:var(--green-bright); line-height:1;
  letter-spacing:-.03em; margin-bottom:8px;
}
.stats-band__label {
  font-size:11px; font-weight:500; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-faint);
  white-space:nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   SPEC STRIP
   ═══════════════════════════════════════════════════════════════ */
.spec-strip {
  background:rgba(75,175,71,0.06);
  border-top:1px solid rgba(75,175,71,0.15);
  border-bottom:1px solid rgba(75,175,71,0.12);
  padding:12px 0; overflow:hidden;
}
.spec-strip__track {
  display:flex; align-items:center; gap:0;
  width:max-content;
  animation:specScroll 40s linear infinite;
}
@keyframes specScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.spec-strip__item {
  font-size:11px; font-weight:500; color:rgba(75,175,71,0.8);
  white-space:nowrap; padding:0 24px; position:relative;
}
.spec-strip__item::after {
  content:''; position:absolute; right:0; top:50%; transform:translateY(-50%);
  width:3px; height:3px; border-radius:50%;
  background:var(--green-bright); opacity:.4;
}

/* ═══════════════════════════════════════════════════════════════
   TIMELINE
   ═══════════════════════════════════════════════════════════════ */
.timeline-section { background:var(--sage); padding:56px 0 64px; }
.timeline { display:flex; flex-direction:column; gap:0; max-width:720px; margin:32px auto 0; }
.timeline__item {
  display:grid; grid-template-columns:80px 2px 1fr; gap:0 24px;
  align-items:start; position:relative;
}
.timeline__item:not(:last-child)::before {
  content:''; position:absolute; left:calc(80px + 23px);
  top:28px; bottom:-8px; width:2px;
  background:var(--border);
}
.timeline__year {
  font-family:var(--ff-display); font-size:12px; font-weight:600;
  color:var(--green-bright); letter-spacing:.06em; text-align:right;
  padding-top:6px; padding-right:0; flex-shrink:0;
}
.timeline__dot {
  width:14px; height:14px; border-radius:50%;
  border:2px solid var(--green-bright); background:var(--sage);
  margin-top:6px; flex-shrink:0; position:relative; z-index:1;
  transition:background var(--t);
}
.timeline__item:hover .timeline__dot { background:var(--green-bright); }
.timeline__content { padding-bottom:32px; }
.timeline__tag {
  font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright); display:block; margin-bottom:4px;
}
.timeline__content h3 { font-size:15px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.timeline__content p  { font-size:13px; color:var(--ink-light); line-height:1.7; }

/* ═══════════════════════════════════════════════════════════════
   SLUŽBY (SERVICES)
   ═══════════════════════════════════════════════════════════════ */
.services { background:var(--ivory); padding:36px 0 48px; }
.services .section-title { color:var(--ink); }
.services__grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px;
}

/* ── Card shell ── */
.service-card {
  background:var(--white); border-radius:20px;
  border:1px solid var(--border); overflow:hidden;
  display:flex; flex-direction:column; text-decoration:none;
  box-shadow:0 4px 20px rgba(7,19,42,0.09);
}

/* ── Vivid gradient header ── */
.service-card__head {
  padding:32px 26px 28px; position:relative; overflow:hidden; flex-shrink:0; min-height:168px;
  display:flex; align-items:flex-end;
}
/* Layer 1 — thematic photo */
.service-card__head::before {
  content:''; position:absolute; inset:0; z-index:0;
  background-image:var(--svc-bg);
  background-size:cover; background-position:center;
  filter:saturate(0.5) brightness(0.75);
}
/* Layer 2 — vivid colour gradient on top of photo */
.service-card__head::after {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
}
.service-card--1 .service-card__head::after { background:linear-gradient(140deg,rgba(20,74,36,0.52) 0%,rgba(48,165,56,0.42) 100%); }
.service-card--2 .service-card__head::after { background:linear-gradient(140deg,rgba(10,62,76,0.52) 0%,rgba(22,144,170,0.42) 100%); }
.service-card--3 .service-card__head::after { background:linear-gradient(140deg,rgba(100,50,0,0.52) 0%,rgba(210,126,12,0.42) 100%); }
.service-card--4 .service-card__head::after { background:linear-gradient(140deg,rgba(24,34,90,0.52) 0%,rgba(55,84,180,0.42) 100%); }
/* Large decorative circle — bleed from top-right */
.service-card__head-shape {
  position:absolute; top:-60px; right:-60px; z-index:2;
  width:200px; height:200px; border-radius:50%;
  background:rgba(255,255,255,0.07);
  transition:transform 0.5s var(--ease);
}


/* Content inside header: icon above title */
.service-card__head-content {
  position:relative; z-index:3; display:flex; flex-direction:column; gap:14px;
}
.service-card__icon {
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:14px;
  background:rgba(255,255,255,0.18); color:var(--white);
  flex-shrink:0;
}
.service-card__title {
  font-family:var(--ff-display); font-size:1.2rem; font-weight:600;
  color:var(--white); line-height:1.28; letter-spacing:-0.01em;
}

/* ── Card body ── */
.service-card__body {
  display:flex; flex-direction:column; flex:1; padding:22px 24px 22px;
}
.service-card__perex {
  font-size:12.5px; color:var(--ink-light); line-height:1.75; flex:1; margin-bottom:18px;
}
.service-card__list {
  display:flex; flex-direction:column; gap:7px;
  padding:14px 0 18px; border-top:1px solid var(--border);
}
.service-card__list li {
  font-size:12px; color:var(--ink-light); padding-left:18px; position:relative; line-height:1.5;
}
.service-card__list li::before {
  content:''; position:absolute; left:0; top:6px;
  width:7px; height:7px; border-radius:50%;
}
.service-card--1 .service-card__list li::before { background:#3DA847; }
.service-card--2 .service-card__list li::before { background:#1B96B0; }
.service-card--3 .service-card__list li::before { background:#D4820C; }
.service-card--4 .service-card__list li::before { background:#3D5FB8; }

.service-card__cta {
  font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:6px;
  transition:gap 0.28s var(--ease);
}
.service-card--1 .service-card__cta { color:#3DA847; }
.service-card--2 .service-card__cta { color:#1B96B0; }
.service-card--3 .service-card__cta { color:#D4820C; }
.service-card--4 .service-card__cta { color:#3D5FB8; }
.service-card__cta svg { transition:transform 0.26s var(--ease); }


/* ═══════════════════════════════════════════════════════════════
   KLÍČOVÉ OBLASTI
   ═══════════════════════════════════════════════════════════════ */
.areas { background:var(--sage); padding:36px 0 48px; }
.areas__grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; margin-top:48px;
}
.area-card {
  position:relative; overflow:hidden; border-radius:var(--r-xl);
  min-height:410px; display:flex; flex-direction:column; justify-content:flex-end;
  text-decoration:none; cursor:pointer;
  box-shadow:0 8px 32px rgba(7,19,42,0.18), 0 2px 8px rgba(7,19,42,0.10);
}
/* Photo layer — separate from card so we can zoom it */
.area-card::before {
  content:''; position:absolute; inset:0; z-index:0;
  background-image:var(--area-bg);
  background-size:cover; background-position:var(--area-bg-pos, center);
  filter:saturate(0.78) brightness(0.87);
  transition:transform 0.65s var(--ease), filter 0.45s;
}

/* Bottom green accent bar */
.area-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px; z-index:4;
  background:linear-gradient(90deg, var(--green-bright), rgba(75,175,71,0.25));
  transform:scaleX(0); transform-origin:left center;
  transition:transform 0.42s var(--ease);
}

/* Dark gradient overlay */
.area-card__overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(
    180deg,
    rgba(7,19,42,0)    0%,
    rgba(7,19,42,0.15) 38%,
    rgba(7,19,42,0.72) 64%,
    rgba(7,19,42,0.97) 100%
  );
  transition:background 0.4s;
}

/* Tags — top of card, always visible */
.area-card__tags {
  position:absolute; top:16px; left:16px; z-index:3;
  display:flex; flex-wrap:wrap; gap:5px;
}
.area-card__tags .tag {
  font-size:9px; padding:3px 9px; border-radius:99px;
  background:rgba(42,92,38,0.62); color:rgba(255,255,255,0.92);
  border:1px solid rgba(75,175,71,0.45); letter-spacing:.04em;
  backdrop-filter:blur(4px);
}
/* Card content — always visible */
.area-card__body {
  position:relative; z-index:3;
  padding:22px 22px 26px;
  display:flex; flex-direction:column;
}
.area-card__title {
  font-family:var(--ff-display); font-size:1.28rem; font-weight:500;
  color:var(--white); line-height:1.3; white-space:nowrap;
}
.area-card__desc {
  font-size:12.5px; color:rgba(255,255,255,0.65); line-height:1.7;
  margin-top:8px;
}
.area-card__more {
  font-size:12px; font-weight:600; color:var(--green-bright);
  display:inline-flex; align-items:center; gap:5px; margin-top:14px;
  transition:gap 0.25s;
}
.area-card__more svg { transition:transform 0.25s; }


/* ═══════════════════════════════════════════════════════════════
   PROČ S NÁMI — CAROUSEL
   ═══════════════════════════════════════════════════════════════ */
.why-us { background:var(--ivory); padding:36px 0 48px; }
.why-us .section-header { margin-bottom:32px; }

/* Carousel wrapper — inside container, negative margin bleeds to container edges */
.why-carousel {
  position:relative; margin:0 -32px; cursor:grab; user-select:none;
}
.why-carousel:active { cursor:grabbing; }
.why-carousel__overflow { overflow:hidden; padding:16px 32px 24px; }
.why-carousel__track {
  display:flex; gap:20px; width:max-content;
  animation:carouselScroll 48s linear infinite;
  will-change:transform;
}
.why-carousel__track:hover { animation-play-state:paused; }
@keyframes carouselScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* Edge fade gradients */
.why-carousel__fade {
  position:absolute; top:0; bottom:0; width:80px; z-index:5; pointer-events:none;
}
.why-carousel__fade--l { left:0;  background:linear-gradient(to right, var(--ivory), transparent); }
.why-carousel__fade--r { right:0; background:linear-gradient(to left,  var(--ivory), transparent); }

/* Arrow buttons */
.why-carousel__arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%; z-index:10;
  background:var(--white); border:1px solid var(--border);
  box-shadow:var(--shadow-md); font-size:20px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink); cursor:pointer;
  transition:background var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
.why-carousel__arrow:hover { background:var(--ivory); box-shadow:var(--shadow-lg); }
.why-carousel__arrow--prev { left:4px; }
.why-carousel__arrow--next { right:4px; }
@media (max-width:768px) {
  .why-carousel__arrow { display:none; }
}

.why-card {
  width:272px; flex-shrink:0; padding:28px 24px;
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); text-align:center;
  border-bottom:3px solid transparent;
  transition:all var(--t) var(--ease); box-shadow:var(--shadow-sm);
}
.why-card--hover-disabled {
  border-bottom-color:var(--green-bright);
  box-shadow:var(--shadow-md); transform:translateY(-4px);
}
.why-card__icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:16px;
  background:var(--sage);
  border:1px solid rgba(75,175,71,0.18);
  margin:0 auto 20px; flex-shrink:0;
  color:var(--forest);
}
.why-card__icon svg { stroke:var(--forest); }
.why-card__title { font-size:14px; font-weight:600; color:var(--ink); margin-bottom:10px; }
.why-card__desc  { font-size:13px; color:var(--ink-light); line-height:1.7; }

/* ═══════════════════════════════════════════════════════════════
   ESG AKADEMIE — HOMEPAGE WIDGET
   ═══════════════════════════════════════════════════════════════ */
.akademie-widget { background:var(--sage); padding:72px 0; }
.akademie-widget .overline { color:var(--green-bright); }
.akademie-widget .section-title { color:var(--ink); }
.akademie-widget .section-title em { color:var(--green-bright); }
.akademie-widget__inner {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.akademie-widget__text { }
.akademie-widget__sub { color:var(--ink-light); font-size:13px; line-height:1.75; margin-bottom:32px; margin-top:12px; }
.akademie-widget__cards { display:flex; flex-direction:column; gap:14px; }
.akademie-mini-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:20px 24px;
  transition:background var(--t) var(--ease), border-color var(--t) var(--ease), box-shadow var(--t) var(--ease);
}

.akademie-mini-card__tag {
  font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright); display:block; margin-bottom:6px;
}
.akademie-mini-card__title { font-size:14px; font-weight:600; color:var(--ink); margin-bottom:6px; }
.akademie-mini-card__desc { font-size:12.5px; color:var(--ink-light); line-height:1.6; }
@media (max-width:900px) {
  .akademie-widget__inner { grid-template-columns:1fr; gap:36px; }
}

/* ═══════════════════════════════════════════════════════════════
   ESG AKADEMIE — STRÁNKA /esg-akademie
   ═══════════════════════════════════════════════════════════════ */
.akademie-stat {
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-xl);
  padding:24px 28px; text-align:center;
}
.akademie-stat__val {
  font-family:var(--ff-display); font-size:2rem; font-weight:700; color:var(--green-bright);
  line-height:1.1; margin-bottom:6px;
}
.akademie-stat__label { font-size:12px; color:var(--ink-light); }

.akademie-programs {
  display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:48px;
}
.akademie-card {
  background:var(--ivory); border:1px solid var(--border); border-radius:var(--r-xl);
  padding:32px 28px; display:flex; flex-direction:column; gap:0;
  transition:box-shadow var(--t) var(--ease), border-color var(--t) var(--ease);
}

.akademie-card__head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.akademie-card__tag {
  font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright); background:var(--green-dim); border:1px solid var(--green-line);
  padding:4px 12px; border-radius:99px;
}
.akademie-card__meta { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.akademie-card__meta span { font-size:11px; color:var(--ink-faint); }
.akademie-card__level { padding:3px 10px; border-radius:99px; font-size:10px; font-weight:600; }
.akademie-card__level--základní { background:rgba(75,175,71,0.12); color:var(--green-bright); }
.akademie-card__level--pokročilý { background:rgba(39,90,170,0.10); color:#3A6FB5; }
.akademie-card__level--základnípokročilý { background:rgba(75,175,71,0.08); color:var(--ink-light); }
.akademie-card__title {
  font-family:var(--ff-display); font-size:1.4rem; font-weight:600; color:var(--ink);
  line-height:1.2; margin-bottom:12px;
}
.akademie-card__desc { font-size:13.5px; color:var(--ink-light); line-height:1.7; margin-bottom:20px; }
.akademie-card__topics { list-style:none; padding:0; margin:0 0 24px; border-top:1px solid var(--border); flex:1; }
.akademie-card__topics li {
  padding:9px 0 9px 18px; font-size:12.5px; color:var(--ink);
  border-bottom:1px solid var(--border); position:relative; line-height:1.5;
}
.akademie-card__topics li:last-child { border-bottom:none; }
.akademie-card__topics li::before {
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:6px; height:6px; border-radius:50%; background:var(--green-bright);
}
.akademie-card__cta {
  font-size:12px; font-weight:600; color:var(--green-bright); letter-spacing:.05em;
  display:inline-flex; align-items:center; gap:4px;
  transition:gap var(--t) var(--ease);
}
.akademie-card__cta:hover { gap:8px; }
@media (max-width:800px) { .akademie-programs { grid-template-columns:1fr; } }

.akademie-formats {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px;
}
.akademie-format {
  background:var(--white); border:1px solid var(--border); border-radius:var(--r-xl);
  padding:32px 28px; text-align:center;
  transition:box-shadow var(--t) var(--ease);
}

.akademie-format__icon {
  width:56px; height:56px; border-radius:var(--r-lg);
  background:var(--green-dim); border:1px solid var(--green-line);
  display:flex; align-items:center; justify-content:center;
  color:var(--green-bright); margin:0 auto 20px;
}
.akademie-format__title { font-size:15px; font-weight:600; color:var(--ink); margin-bottom:10px; }
.akademie-format__desc { font-size:13px; color:var(--ink-light); line-height:1.7; }
@media (max-width:700px) { .akademie-formats { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════
   KALKULÁTOR UHLÍKOVÉ STOPY
   ═══════════════════════════════════════════════════════════════ */
.kalkulator { background:var(--ivory); padding:80px 0; border-top:1px solid var(--border); }
.kalkulator .section-sub { max-width:640px; }

.kalk {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); overflow:hidden; max-width:720px;
  margin:48px auto 0; box-shadow:var(--shadow-lg);
}
.kalk__step { padding:36px 40px; }
.kalk__step-label {
  font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:10px;
}
.kalk__step-title {
  font-size:20px; font-weight:600; color:var(--ink); margin-bottom:28px;
}
.kalk__options {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:10px; margin-bottom:28px;
}
.kalk__options--sm {
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
}
.kalk__option {
  padding:16px 14px; border:1.5px solid var(--border);
  border-radius:var(--r-lg); cursor:pointer; text-align:center;
  transition:all var(--t) var(--ease); background:var(--ivory);
  display:flex; flex-direction:column; gap:4px;
}
.kalk__option:hover  { border-color:var(--green-bright); background:var(--green-dim); }
.kalk__option.active { border-color:var(--green-bright); background:var(--green-dim); }
.kalk__option strong { font-size:14px; font-weight:600; color:var(--ink); display:block; }
.kalk__option span   { font-size:11px; color:var(--ink-light); }
.kalk__option em     { font-size:10px; color:var(--ink-faint); font-style:normal; }

.kalk__input-group { position:relative; margin-bottom:8px; }
.kalk__input {
  width:100%; background:var(--white); border:1.5px solid var(--border);
  border-radius:var(--r-md); padding:13px 5rem 13px 14px;
  font-size:16px; font-weight:400; color:var(--ink); font-family:var(--ff-body);
  outline:none; transition:border-color var(--t);
}
.kalk__input:focus { border-color:var(--green-bright); }
.kalk__unit {
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-size:12px; color:var(--ink-faint); font-weight:600; pointer-events:none;
}
.kalk__hint { font-size:12px; color:var(--ink-faint); margin-bottom:20px; line-height:1.5; }
.kalk__btns { display:flex; gap:10px; }

.kalk__result { padding:48px 40px; text-align:center; background:var(--ivory); }
.kalk__result-badge {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:32px 24px; max-width:380px;
  margin:0 auto 28px; box-shadow:var(--shadow-sm);
}
.kalk__result-icon { font-size:2.5rem; display:block; margin-bottom:12px; }
.kalk__result-value {
  font-family:var(--ff-display); font-size:36px; font-weight:400;
  color:var(--green); line-height:1; margin-bottom:8px;
}
.kalk__result-label {
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);
}
.kalk__result-note {
  font-size:13px; color:var(--ink-light); line-height:1.7; max-width:500px;
  margin:0 auto 28px;
}
.kalk__result-note span { font-weight:600; color:var(--green); }
.kalk__result-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════════════════════════════════════════════════════
   ESG AKADEMIE BAND
   ═══════════════════════════════════════════════════════════════ */
.akademie-band {
  background:var(--sage); padding:72px 0 48px;
  border-bottom:1px solid rgba(42,92,38,0.12);
}
.akademie-band__layout {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.akademie-band__text .section-title { color:var(--ink); }
.akademie-band__text .section-sub   { color:var(--ink-light); margin-bottom:24px; }
.akademie-band__tags { display:flex; flex-wrap:wrap; gap:8px; }
.akademie-band__tag {
  padding:7px 15px; background:rgba(255,255,255,0.72);
  border:1px solid rgba(75,175,71,0.32); border-radius:99px;
  font-size:12px; font-weight:600; color:var(--forest);
  backdrop-filter:blur(4px);
  box-shadow:0 1px 4px rgba(27,36,24,0.06);
}
.akademie-band__portal {
  display:flex; justify-content:center;
}
.akademie-band__portal-inner {
  background:var(--ivory-dark); border-radius:22px;
  padding:44px 40px; text-align:center; width:100%;
  display:flex; flex-direction:column; align-items:center; gap:16px;
  box-shadow:0 8px 40px rgba(27,36,24,0.14), 0 2px 10px rgba(27,36,24,0.08);
  border:1px solid rgba(42,92,38,0.12);
}
.akademie-band__portal-label {
  font-size:26px; font-weight:400; letter-spacing:.01em;
  color:var(--forest); font-family:var(--ff-display);
}
.akademie-band__portal-text {
  font-size:15px; color:var(--ink-light); line-height:1.65; margin:0;
  max-width:280px;
}
.akademie-band__portal-btn {
  font-size:15px; font-weight:700; letter-spacing:.01em;
  padding:14px 32px; border-radius:12px; margin-top:4px;
  box-shadow:0 6px 24px rgba(75,175,71,0.4);
}

/* ═══════════════════════════════════════════════════════════════
   TÝM (TEAM)
   ═══════════════════════════════════════════════════════════════ */
.team { background:var(--ivory); padding:40px 0 64px; }
.team .section-title { color:var(--ink); }
.team .section-header { margin-bottom:32px; }
.team__grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
}
.team-card {
  background:var(--white);
  border-radius:20px; padding:28px;
  display:flex; flex-direction:column; gap:16px;
  box-shadow:0 2px 12px rgba(27,36,24,0.07), 0 8px 32px rgba(27,36,24,0.06);
  transition:box-shadow var(--t), transform var(--t);
}
.team-card--hover-disabled {
  box-shadow:0 4px 20px rgba(27,36,24,0.1), 0 12px 48px rgba(27,36,24,0.09);
  transform:translateY(-2px);
}
.team-card__head {
  display:flex; align-items:center; gap:16px;
}
.team-card__avatar {
  width:58px; height:58px; border-radius:16px; flex-shrink:0;
  background:linear-gradient(145deg, var(--sage) 0%, #cfe3cb 100%);
  border:1.5px solid rgba(42,92,38,0.18);
  box-shadow:0 2px 10px rgba(42,92,38,0.15), inset 0 1px 0 rgba(255,255,255,0.6);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-display); font-size:17px; font-weight:600; color:var(--forest);
  letter-spacing:.03em;
}
.team-card__name {
  font-family:var(--ff-display); font-size:18px; font-weight:400; color:var(--ink);
  margin:0 0 3px; display:block;
}
.team-card__role {
  font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright); display:block;
}
.team-card__sub {
  font-size:13px; color:var(--ink-light); line-height:1.55; margin:0;
}
.team-card__badges {
  display:flex; flex-wrap:wrap; gap:6px;
}
.team-card__badge {
  padding:4px 10px; background:var(--ivory);
  border-radius:99px; font-size:11px; font-weight:600; color:var(--forest);
  border:1px solid rgba(42,92,38,0.15);
}
.team-card__contacts {
  display:flex; flex-direction:column; gap:6px;
  padding-top:12px; margin-top:4px;
  border-top:1px solid var(--border);
}
.team-card__contact-row { display:flex; align-items:center; gap:8px; }
.team-card__contact-icon { flex-shrink:0; color:var(--green-bright); width:14px; height:14px; }
.team-card__contacts a { font-size:13px; color:var(--ink-light); }

/* ═══════════════════════════════════════════════════════════════
   SPONZORING
   ═══════════════════════════════════════════════════════════════ */
.sponsoring { background:var(--deep); padding:64px 0; border-top:1px solid rgba(255,255,255,0.05); }
.sponsoring .section-title { color:var(--white); }
.sponsoring .section-sub   { color:rgba(255,255,255,0.4); }
.sponsors__grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:36px;
}
.sponsor-item {
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--r-lg); padding:16px 20px;
  display:flex; flex-direction:column; gap:5px;
  border-left:3px solid var(--green-bright);
  transition:all var(--t);
}
.sponsor-item:hover { background:rgba(255,255,255,0.08); transform:translateY(-2px); }
.sponsor-cat {
  font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-bright);
}
.sponsor-name { font-size:13px; font-weight:500; color:rgba(255,255,255,0.7); line-height:1.4; }

/* ═══════════════════════════════════════════════════════════════
   KONTAKT
   ═══════════════════════════════════════════════════════════════ */
.contact {
  background:var(--sage); padding:64px 0; position:relative; overflow:hidden;
}
.contact::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(to bottom, transparent, var(--green-bright) 30%, var(--green-bright) 70%, transparent);
  opacity:.4;
}
.contact__inner {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
}
.contact__info { }
.contact__info .section-title { color:var(--ink); }
.contact__info > p {
  font-size:13px; color:var(--ink-light); line-height:1.75; margin-top:12px;
}
.contact__details { display:flex; flex-direction:column; gap:18px; margin-top:36px; }
.contact__detail {
  display:flex; align-items:flex-start; gap:16px;
}
.contact__detail-icon {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:var(--green-dim); border:1px solid var(--green-line);
  display:flex; align-items:center; justify-content:center;
  margin-top:2px;
}
.contact__detail-icon svg {
  width:18px; height:18px; stroke:var(--forest); flex-shrink:0;
}
.contact__detail-body { min-width:0; }
.contact__detail strong {
  display:block; font-size:10px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-faint); margin-bottom:4px;
}
.contact__detail span,
.contact__detail a {
  display:block; font-size:14px; color:var(--ink-light); line-height:1.6;
}
.contact__detail a:hover { color:var(--green-bright); }

.contact__form-wrap {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); overflow:hidden;
  box-shadow:var(--shadow-md);
}
.contact__form-box { padding:32px; }
.contact__form-box h3 {
  font-family:var(--ff-display); font-size:22px; font-weight:400; color:var(--ink);
  margin-bottom:4px;
}
.contact__form-box > p { font-size:13px; color:var(--ink-faint); margin-bottom:24px; }

.form-group { margin-bottom:14px; }
.form-group label {
  display:block; font-size:10px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-faint); margin-bottom:6px;
}
.form-input {
  width:100%; background:var(--ivory);
  border:1px solid var(--border); border-radius:var(--r-md);
  padding:11px 14px; font-size:14px; font-weight:300;
  color:var(--ink); font-family:var(--ff-body); outline:none;
  transition:border-color var(--t), background var(--t);
  -webkit-appearance:none;
}
.form-input::placeholder { color:var(--ink-faint); }
.form-input:focus { border-color:rgba(75,175,71,0.55); background:var(--white); }
select.form-input option { background:var(--white); color:var(--ink); }
.form-textarea { resize:vertical; min-height:90px; }

.form-group--check { margin-bottom:20px; }
.form-hp { position:absolute; left:-9999px; opacity:0; pointer-events:none; height:0; overflow:hidden; }
.check-label {
  display:flex; align-items:flex-start; gap:10px;
  font-size:12px; color:var(--ink-faint); line-height:1.55; cursor:pointer;
}
.check-label input { margin-top:2px; accent-color:var(--green-bright); flex-shrink:0; }
.check-label a { color:var(--green-bright); }
.check-label a:hover { color:#5CC558; }

.form-error { font-size:12px; color:#c53030; margin-top:6px; }

.contact__success { padding:56px 32px; text-align:center; }
.success-icon {
  width:64px; height:64px; border-radius:50%; font-size:24px;
  background:var(--green-dim); border:1px solid var(--green-line);
  display:flex; align-items:center; justify-content:center; color:var(--green-bright);
  margin:0 auto 20px;
}
.contact__success h3 { font-family:var(--ff-display); font-size:24px; font-weight:400; color:var(--ink); margin-bottom:8px; }
.contact__success p  { font-size:13px; color:var(--ink-light); }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════ */
.footer { background:var(--forest-deep); border-top:none; }
.footer__grid {
  padding:64px 0 48px;
  display:grid; grid-template-columns:260px repeat(3,1fr); gap:56px;
}
.footer__brand { }
.footer__brand img { height:32px; width:auto; margin-bottom:14px; }
.footer__brand > p:first-of-type {
  font-size:13px; font-style:italic; color:rgba(255,255,255,0.45); line-height:1.6;
  margin-bottom:16px;
}
.footer__legal { font-size:11px; color:rgba(255,255,255,0.32); line-height:1.65; }

.footer__col { }
.footer__col h4 {
  font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,0.4); margin-bottom:14px; padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.footer__col a,
.footer__col span {
  display:block; font-size:13px; color:rgba(255,255,255,0.55);
  transition:color var(--t); margin-bottom:8px;
}
.footer__col a:hover { color:rgba(255,255,255,0.9); }

.footer__bottom { border-top:1px solid rgba(255,255,255,0.1); padding:18px 0; }
.footer__bottom-inner {
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.footer__bottom-inner > span { font-size:12px; color:rgba(255,255,255,0.32); }
.footer__bottom-inner > div { display:flex; gap:18px; }
.footer__bottom-inner a { font-size:12px; color:rgba(255,255,255,0.32); transition:color var(--t); }
.footer__bottom-inner a:hover { color:rgba(255,255,255,0.65); }

/* ═══════════════════════════════════════════════════════════════
   PODSTRÁNKY — SUBHERO
   ═══════════════════════════════════════════════════════════════ */
.subhero {
  position:relative; overflow:hidden;
  padding-top:72px; background:var(--forest-deep);
  min-height:480px; display:flex; flex-direction:column; justify-content:flex-end;
}
.subhero__bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}
.subhero__content {
  position:relative; z-index:3;
  width:100%; max-width:1160px; margin:0 auto; padding:80px 32px 100px;
}
.subhero__title {
  font-family:var(--ff-display); font-size:clamp(30px,4vw,56px); font-weight:300;
  color:var(--white); line-height:1.08; letter-spacing:-.02em;
  margin:10px 0 16px;
}
.subhero__title em { font-style:italic; color:var(--green-bright); }
.subhero__sub {
  font-size:16px; font-weight:300; color:rgba(255,255,255,0.82);
  max-width:760px; line-height:1.7;
  text-shadow:0 1px 12px rgba(0,0,0,0.45);
}

/* ── SUBPAGE SEKCE ───────────────────────────────────────────── */
.subpage-section { padding:72px 0; background:var(--ivory); }
.subpage-section + .subpage-section { border-top:1px solid var(--border); }

/* ── ENERGETIKA KALKULÁTOR WRAPPER ──────────────────────────── */
.ener-kalk-wrap {
  background:var(--forest); border-radius:var(--r-xl);
  padding:52px 48px; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
}
.ener-kalk-header { position:sticky; top:100px; }

/* Dark-themed kalk inside forest box */
.kalk--dark {
  background:rgba(0,0,0,0.22); border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-xl); overflow:hidden; margin:0; box-shadow:none;
}
.kalk--dark .kalk__step { padding:28px 32px; }
.kalk--dark .kalk__step-label { color:rgba(255,255,255,0.38); }
.kalk--dark .kalk__step-title { color:var(--white); font-size:17px; margin-bottom:20px; }
.kalk--dark .kalk__option {
  background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.14);
}
.kalk--dark .kalk__option:hover { background:rgba(75,175,71,0.18); border-color:var(--green-bright); }
.kalk--dark .kalk__option.active { background:rgba(75,175,71,0.22); border-color:var(--green-bright); }
.kalk--dark .kalk__option strong { color:var(--white); }
.kalk--dark .kalk__option span { color:rgba(255,255,255,0.5); }
.kalk--dark .kalk__option em { color:rgba(255,255,255,0.32); }
.kalk--dark .kalk__input {
  background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18);
  color:var(--white);
}
.kalk--dark .kalk__input::placeholder { color:rgba(255,255,255,0.35); }
.kalk--dark .kalk__input:focus { border-color:var(--green-bright); }
.kalk--dark .kalk__unit { color:rgba(255,255,255,0.4); }
.kalk--dark .kalk__hint { color:rgba(255,255,255,0.38); }
.kalk--dark .kalk__result {
  background:rgba(0,0,0,0.15); padding:32px; text-align:center;
}
.kalk--dark .kalk__result-badge {
  background:rgba(255,255,255,0.07); border-color:rgba(255,255,255,0.15);
  box-shadow:none;
}
.kalk--dark .kalk__result-value { color:var(--green-bright); }
.kalk--dark .kalk__result-label { color:rgba(255,255,255,0.45); }
.kalk--dark .kalk__result-note { color:rgba(255,255,255,0.5); }

@media (max-width:900px) {
  .ener-kalk-wrap { grid-template-columns:1fr; gap:32px; padding:36px 28px; }
  .ener-kalk-header { position:static; }
}
@media (max-width:640px) { .ener-kalk-wrap { padding:28px 20px; } }

/* ── ESG TÉMA SEKCE ──────────────────────────────────────────── */
.esg-topic { padding:80px 0; background:var(--ivory); }
.esg-topic--alt { background:var(--white); }
.esg-topic__header { text-align:center; max-width:680px; margin:0 auto 52px; }
.esg-topic__cta { display:flex; gap:12px; justify-content:center; margin-top:48px; flex-wrap:wrap; }

/* Benefit chips */
.esg-benefits { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:44px; }
.esg-benefit {
  font-size:12.5px; font-weight:500; color:var(--forest);
  background:rgba(75,175,71,0.1); border:1px solid rgba(75,175,71,0.28);
  border-radius:99px; padding:5px 14px;
}

/* Service cards 3×2 */
.esg-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.esg-svc-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:28px 26px;
  box-shadow:var(--shadow-sm);
}
.esg-svc-card__icon {
  width:44px; height:44px; border-radius:12px; flex-shrink:0;
  background:var(--green-dim); border:1px solid var(--green-line);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.esg-svc-card__icon svg { width:20px; height:20px; stroke:var(--forest); }
.esg-svc-card__title { font-size:15px; font-weight:600; color:var(--ink); margin-bottom:8px; line-height:1.3; }
.esg-svc-card__desc { font-size:13px; color:var(--ink-light); line-height:1.65; margin:0; }

/* Training cards — 2 columns default, wide variant for 2 cards only */
.esg-training-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:48px; }
.esg-training-grid--wide { grid-template-columns:repeat(2,minmax(0,560px)); justify-content:center; }
.esg-training-card {
  background:var(--ivory); border:1px solid var(--border); border-top:3px solid var(--green-bright);
  border-radius:var(--r-xl); padding:32px;
  box-shadow:var(--shadow-sm);
}
.esg-training-card__head { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.esg-training-card__icon {
  width:40px; height:40px; border-radius:10px; flex-shrink:0;
  background:var(--green-dim); border:1px solid var(--green-line);
  display:flex; align-items:center; justify-content:center;
}
.esg-training-card__icon svg { width:18px; height:18px; stroke:var(--forest); }
.esg-training-card__tag {
  font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--forest); background:rgba(75,175,71,0.12);
  border:1px solid rgba(75,175,71,0.28); border-radius:99px; padding:4px 11px;
}
.esg-training-card__title { font-size:17px; font-weight:600; color:var(--ink); margin-bottom:10px; line-height:1.3; }
.esg-training-card__desc { font-size:13.5px; color:var(--ink-light); line-height:1.7; margin-bottom:18px; }
.esg-training-card__footer { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.esg-training-card__audience { font-size:11px; color:var(--ink-faint); font-weight:500; margin-right:4px; }
.esg-training-card__audience-badge {
  font-size:11px; padding:3px 10px; border-radius:99px;
  background:var(--ivory-dark); color:var(--ink-light);
  border:1px solid var(--border); font-weight:500;
}
.esg-training-card__format {
  font-size:11px; padding:2px 9px; border-radius:99px;
  background:var(--sage); color:var(--forest);
  border:1px solid var(--green-line); font-weight:500;
  margin-left:auto;
}
.esg-training-card__subtitle {
  font-size:13px; color:var(--ink-light); line-height:1.6;
  margin-bottom:14px; font-style:italic;
}
.esg-training-card__for-whom {
  font-size:12.5px; color:var(--ink); line-height:1.6;
  background:var(--ivory-dark); border:1px solid var(--border);
  border-radius:8px; padding:10px 14px; margin-bottom:18px;
}
.esg-training-card__for-whom-label {
  display:block; font-size:10px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--forest); margin-bottom:4px;
}
.esg-training-card__features {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:9px;
}
.esg-training-card__features li {
  font-size:13px; color:var(--ink); line-height:1.5;
  display:flex; align-items:flex-start; gap:9px;
}
.esg-training-card__features li svg {
  width:15px; height:15px; flex-shrink:0; margin-top:1px;
  stroke:var(--green-bright);
}
.esg-training-card__features li.esg-feat--na {
  color:var(--ink-faint);
}
.esg-training-card__features li.esg-feat--na svg {
  stroke:var(--border);
}

/* Akademie strip */
.esg-akademie-strip {
  background:var(--forest); border-radius:var(--r-xl); padding:44px 52px;
  display:flex; align-items:center; gap:40px; flex-wrap:wrap;
}
.esg-akademie-strip__text { flex:1; min-width:280px; }
.esg-akademie-strip__title {
  font-family:var(--ff-display); font-size:1.45rem; font-weight:400;
  color:var(--white); margin:8px 0 12px; line-height:1.3;
}
.esg-akademie-strip__title em { font-style:italic; color:var(--green-bright); }
.esg-akademie-strip__text p { color:rgba(255,255,255,0.55); font-size:14px; line-height:1.7; margin:0; }
.esg-akademie-strip__actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Final CTA */
.esg-final-cta { background:var(--forest-deep); padding:72px 0; }
.esg-final-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }

/* Responsive */
@media (max-width:960px) { .esg-svc-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) {
  .esg-svc-grid { grid-template-columns:1fr; }
  .esg-training-grid, .esg-training-grid--wide { grid-template-columns:1fr; }
  .esg-akademie-strip { padding:32px 24px; }
}

.items-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px;
}
.item-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:28px;
  transition:all var(--t) var(--ease);
}

.item-card h4 {
  font-family:var(--ff-display); font-size:18px; font-weight:400;
  color:var(--ink); margin-bottom:10px; padding-bottom:10px;
  border-bottom:2px solid var(--green-bright);
}
.item-card p { font-size:13px; color:var(--ink-light); line-height:1.7; }

/* ── DOTACE PAGE ─────────────────────────────────────────────── */
.dotace-areas__grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:40px;
}
.dotace-area-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:28px; display:flex; flex-direction:column; gap:14px;
  transition:all var(--t) var(--ease);
}

.dotace-area-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.dotace-area-card__title { font-size:16px; font-weight:600; color:var(--ink); line-height:1.3; }
.dotace-badge {
  font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  background:var(--green-dim); color:var(--green); border-radius:var(--r-sm);
  padding:3px 10px; white-space:nowrap; flex-shrink:0;
}
.dotace-area-card__desc { font-size:14px; color:var(--ink-light); line-height:1.65; flex:1; }
.dotace-area-card__programs { display:flex; flex-wrap:wrap; gap:6px; }
.dotace-area-card__link {
  font-size:13px; font-weight:600; color:var(--green-bright);
  display:inline-flex; align-items:center; gap:4px;
  transition:gap var(--t);
}
.dotace-area-card:hover .dotace-area-card__link { gap:8px; }

/* ── PROCESS GRID ────────────────────────────────────────────── */
.process-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px;
}
.process-step {
  text-align:center; padding:28px 20px;
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); transition:all var(--t) var(--ease);
}

.process-step h3 { font-size:15px; font-weight:600; color:var(--ink); margin:16px 0 8px; }
.process-step p  { font-size:13px; color:var(--ink-light); line-height:1.7; }

/* ── DOTACE — AREA CARDS ─────────────────────────────────────── */
.dot-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; margin-top:44px;
}
.dot-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:28px 24px;
  display:flex; flex-direction:column; gap:12px;
  box-shadow:var(--shadow-sm);
}
.dot-card__head {
  display:flex; align-items:flex-start;
  justify-content:space-between; gap:12px;
}
.dot-card__icon {
  width:40px; height:40px; flex-shrink:0;
  color:var(--forest); display:flex; align-items:center; justify-content:center;
}
.dot-card__icon svg { width:28px; height:28px; }
.dot-card__rate {
  font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  white-space:nowrap; flex-shrink:0;
  background:rgba(75,175,71,0.12); color:var(--forest);
  border:1px solid rgba(75,175,71,0.30);
  border-radius:99px; padding:4px 12px;
}
.dot-card__title {
  font-size:15px; font-weight:600; color:var(--ink); line-height:1.35;
}
.dot-card__desc {
  font-size:12.5px; color:var(--ink-light); line-height:1.7; flex:1;
}
.dot-card__programs {
  display:flex; flex-wrap:wrap; gap:6px; margin-top:4px;
}
.dot-card__tag {
  font-size:10px; font-weight:600; letter-spacing:.04em;
  color:var(--ink-faint); background:rgba(7,19,42,0.05);
  border:1px solid var(--border); border-radius:99px;
  padding:3px 10px;
}

/* ── DOTACE — PROCESS STEPS ─────────────────────────────────── */
.dot-process {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; margin-top:44px;
}
.dot-process__step {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:28px 24px;
  display:flex; gap:20px; align-items:flex-start;
  box-shadow:var(--shadow-sm);
}
.dot-process__num {
  font-family:var(--ff-display); font-size:2rem; font-weight:700;
  color:rgba(75,175,71,0.25); line-height:1; flex-shrink:0;
}
.dot-process__title {
  font-size:14px; font-weight:600; color:var(--ink);
  margin:0 0 6px; line-height:1.35;
}
.dot-process__desc {
  font-size:12.5px; color:var(--ink-light); line-height:1.7; margin:0;
}

/* ── NRB BEZÚROČNÝ ÚVĚR ──────────────────────────────────────── */
.nrb-params {
  display:grid; grid-template-columns:repeat(6,1fr);
  gap:12px; margin:40px 0 32px;
}
.nrb-param {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:22px 16px; text-align:center;
  box-shadow:var(--shadow-sm);
}
.nrb-param__val {
  font-family:var(--ff-display); font-size:1.35rem; font-weight:700;
  color:var(--green-bright); line-height:1.1; white-space:nowrap;
}
.nrb-param__label {
  font-size:11px; color:var(--ink-faint); margin-top:6px;
  letter-spacing:.03em; line-height:1.4;
}
.nrb-detail {
  display:grid; grid-template-columns:1fr 1fr;
  gap:16px; margin-top:8px;
}
.nrb-col {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--r-xl); padding:24px 28px;
  box-shadow:var(--shadow-sm);
}
.nrb-col--out { border-color:rgba(220,50,50,0.15); background:rgba(220,50,50,0.02); }
.nrb-col__title {
  font-size:13px; font-weight:700; color:var(--ink);
  display:flex; align-items:center; gap:8px; margin:0 0 14px;
}
.nrb-col__title svg { color:var(--green-bright); flex-shrink:0; }
.nrb-col--out .nrb-col__title svg { color:#c0392b; }
.nrb-col__list {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:8px;
}
.nrb-col__list li {
  font-size:13px; color:var(--ink-light); line-height:1.5;
  padding-left:14px; position:relative;
}
.nrb-col__list li::before {
  content:''; position:absolute; left:0; top:8px;
  width:5px; height:5px; border-radius:50%;
  background:var(--green-bright);
}
.nrb-col--out .nrb-col__list li::before { background:#c0392b; }

@media (max-width:900px) { .nrb-params { grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px) {
  .nrb-params { grid-template-columns:repeat(2,1fr); }
  .nrb-detail { grid-template-columns:1fr; }
}

/* ── GRANT CORPORATION STRIP ─────────────────────────────────── */
.gc-strip {
  background:var(--forest-deep); padding:72px 0;
}
.gc-strip__inner {
  display:grid; grid-template-columns:1fr auto;
  gap:64px; align-items:center;
}
.gc-strip__title {
  font-family:var(--ff-display); font-size:clamp(1.6rem,2.5vw,2.2rem);
  font-weight:300; color:var(--white); line-height:1.2;
  margin:10px 0 18px;
}
.gc-strip__title em { font-style:italic; color:var(--green-bright); }
.gc-strip__text {
  font-size:14px; color:rgba(255,255,255,0.5);
  line-height:1.8; margin:0 0 28px; max-width:520px;
}
.gc-strip__stats {
  display:flex; flex-direction:column; gap:0;
  border-left:1px solid rgba(255,255,255,0.1);
  padding-left:56px;
}
.gc-stat { padding:20px 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.gc-stat:last-child { border-bottom:none; }
.gc-stat__val {
  font-family:var(--ff-display); font-size:2.2rem; font-weight:700;
  color:var(--green-bright); line-height:1;
}
.gc-stat__label {
  font-size:12px; color:rgba(255,255,255,0.38);
  margin-top:4px; letter-spacing:.03em;
}

@media (max-width:900px) {
  .dot-grid { grid-template-columns:repeat(2,1fr); }
  .dot-process { grid-template-columns:repeat(2,1fr); }
  .gc-strip__inner { grid-template-columns:1fr; gap:40px; }
  .gc-strip__stats { flex-direction:row; border-left:none; padding-left:0;
    border-top:1px solid rgba(255,255,255,0.1); padding-top:32px; }
  .gc-stat { padding:0 24px 0 0; border-bottom:none; border-right:1px solid rgba(255,255,255,0.08); }
  .gc-stat:last-child { border-right:none; }
}
@media (max-width:600px) {
  .dot-grid { grid-template-columns:1fr; }
  .dot-process { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   JEDNODUCHÉ STRÁNKY (GDPR, COOKIES)
   ═══════════════════════════════════════════════════════════════ */
.simple-page {
  background:var(--ivory); padding:100px 0 80px; min-height:calc(100vh - 200px);
}
.simple-page h1 {
  font-family:var(--ff-display); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:300;
  color:var(--ink); margin-bottom:2rem; padding-bottom:1rem;
  border-bottom:2px solid var(--green-bright);
}
.simple-page h2 { font-size:1.1rem; font-weight:700; color:var(--ink); margin:2rem 0 .75rem; }
.simple-page p, .simple-page li { font-size:0.95rem; color:var(--ink-light); line-height:1.8; margin-bottom:.75rem; }
.simple-page ul { list-style:disc; padding-left:1.5rem; }
.simple-page a { color:var(--green-bright); text-decoration:underline; }

/* ═══════════════════════════════════════════════════════════════
   404
   ═══════════════════════════════════════════════════════════════ */
.page-404 {
  background:var(--ivory); min-height:80vh;
  display:flex; align-items:center; text-align:center; padding:6rem 0;
}
.page-404__inner { max-width:500px; margin:0 auto; }
.page-404__code {
  font-family:var(--ff-display); font-size:7rem; font-weight:300;
  color:var(--green-bright); line-height:1; margin-bottom:1rem;
}
.page-404 h1 { font-size:1.8rem; font-weight:700; color:var(--ink); margin-bottom:1rem; }
.page-404 p  { color:var(--ink-light); line-height:1.7; margin-bottom:2rem; }

/* ═══════════════════════════════════════════════════════════════
   ADMIN
   ═══════════════════════════════════════════════════════════════ */
.admin-page { font-family:var(--ff-body); background:#f5f5f5; min-height:100vh; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVITA
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  .story__inner    { grid-template-columns:1fr; gap:48px; }
  .story__visual   { position:static; margin-right:0; }
  .story__photo    { min-height:280px; max-width:100%; border-radius:var(--r-xl); }
  .services__grid  { grid-template-columns:repeat(2,1fr); }
  .areas__grid     { grid-template-columns:repeat(2,1fr); }
  .stats-section__grid { grid-template-columns:repeat(3,1fr); }
  .contact__inner  { grid-template-columns:1fr; gap:48px; }
  .footer__grid    { grid-template-columns:1fr 1fr; gap:32px; }
  .footer__brand   { grid-column:1 / -1; }
  .items-grid      { grid-template-columns:repeat(2,1fr); }
  .dotace-areas__grid { grid-template-columns:1fr; }

  /* Navbar — hamburger od 1024px (dlouhé názvy položek) */
  .navbar__nav {
    display:none; position:fixed; top:72px; left:0; right:0; width:100vw;
    background:rgba(7,19,42,0.98); flex-direction:column; padding:20px;
    gap:4px; border-top:1px solid rgba(255,255,255,0.06);
    overflow-y:auto; max-height:calc(100vh - 72px);
    margin-right:0; box-sizing:border-box;
  }
  .navbar__nav--open { display:flex; }
  .navbar__link { font-size:16px; width:100%; padding:13px 16px; color:rgba(255,255,255,0.75) !important; }
  .navbar__link:hover { color:var(--white) !important; }
  .navbar__cta  { display:none; }
  .navbar__burger { display:flex; }
}

@media (max-width:900px) {
  .people-story__grid { grid-template-columns:1fr; }
  .esg-topic { padding:56px 0; }
}

@media (max-width:768px) {
  .container { padding:0 20px; }
  .hero__slider  { min-height:calc(88vh - 72px); }
  .hero__content { padding:48px 20px 72px; }
  .hero__title   { font-size:clamp(26px,8vw,40px); }
  .hero__sub     { font-size:14px; }
  .hero__btns    { flex-direction:column; }
  .hero__btns .btn { width:100%; }
  .hero__dot     { display:none; }
  .hero__dot:nth-child(-n+3) { display:block; }

  .quote-section { padding:48px 0; }
  .quote-box { padding:32px 24px; gap:20px; }
  .quote-box__mark { font-size:80px; right:20px; }
  .quote-box__bar { display:none; }

  /* Stats band — 4 sloupce s menším paddingem, label může zalamovat */
  .stats-band__grid { grid-template-columns:repeat(2,1fr); }
  .stats-band__item { padding:20px 10px; border-right:none; border-bottom:1px solid rgba(75,175,71,0.15); }
  .stats-band__item:nth-child(odd) { border-right:1px solid rgba(75,175,71,0.15); }
  .stats-band__item:nth-last-child(-n+2) { border-bottom:none; }
  .stats-band__label { white-space:normal; }

  .stats-section__grid { grid-template-columns:repeat(2,1fr); }
  .stat-item { border-right:none; border-bottom:1px solid rgba(255,255,255,0.05); }

  /* Co je ESGV tabs — stack vertically, nav as horizontal chips */
  .esgv-tabs { grid-template-columns:1fr; gap:16px; }
  .esgv-tabs__nav { flex-direction:row; flex-wrap:wrap; gap:8px; }
  .esgv-tabs__btn { flex:0 0 auto; padding:10px 14px; gap:10px; }
  .esgv-tabs__btn-sublabel { display:none; }
  .esgv-tabs__btn-letter { width:36px; height:36px; font-size:22px; }
  .esgv-tabs__panel { padding:24px 20px; }

  .timeline__item { grid-template-columns:60px 2px 1fr; gap:0 16px; }
  .timeline { max-width:100%; }

  .services__grid { grid-template-columns:1fr; }
  .areas__grid    { grid-template-columns:1fr; }

  .akademie-band__layout { grid-template-columns:1fr; gap:36px; }
  .team__grid { grid-template-columns:1fr; }
  .sponsors__grid { grid-template-columns:1fr 1fr; }

  .contact__inner { gap:40px; }

  .subhero__content { padding:48px 20px 56px; }
  .esg-topic { padding:48px 0; }
  .items-grid { grid-template-columns:1fr; }
  .process-grid { grid-template-columns:1fr; }

  .footer__grid { grid-template-columns:1fr; gap:24px; padding:40px 0; }
  .footer__brand { grid-column:auto; }
  .footer__bottom-inner { flex-direction:column; gap:8px; text-align:center; }

  .kalk__step { padding:24px 24px; }
  .kalk__result { padding:32px 24px; }
  .form-row--half { grid-template-columns:1fr; }

  html, body { overflow-x:hidden; max-width:100vw; }
}

@media (max-width:480px) {
  .stats-section__grid { grid-template-columns:1fr 1fr; }
  .sponsors__grid { grid-template-columns:1fr; }
  .footer__grid { grid-template-columns:1fr; }
  .kalk__options { grid-template-columns:1fr 1fr; }
  .areas__grid { grid-template-columns:1fr; }
  .dotace-areas__grid { grid-template-columns:1fr; }
  .nrb-param__val { font-size:1.1rem; }
  .esg-topic { padding:40px 0; }

  /* Stats band — na velmi úzkých displejích každý item na vlastní řádek */
  .stats-band__grid { grid-template-columns:1fr; }
  .stats-band__item {
    padding:16px 0;
    border-right:none;
    border-bottom:1px solid rgba(75,175,71,0.15);
    text-align:left;
  }
  .stats-band__item:last-child { border-bottom:none; }
  .stats-band__item::before { margin:0 0 10px 0; }
  .stats-band__value { font-size:clamp(32px,10vw,44px); }
}

/* ── SCROLL TO TOP ───────────────────────────────────────────── */
#scroll-top {
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .3s, transform .3s;
}
@media (max-width:768px) { #scroll-top { display:none !important; } }


/* ═══════════════════════════════════════════════════════════════
   DIAGNOSTIKA — interaktivní nástroje
   ═══════════════════════════════════════════════════════════════ */
.diag {
  background: var(--ivory);
  padding: 36px 0 48px;
  position: relative;
}
.diag .section-header { margin-bottom: 40px; }

/* Wrap */
.diag__wrap { position: relative; }

/* Tab selector buttons */
.diag__tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}
.diag__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 24px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
  cursor: pointer;
  text-align: center;
  box-shadow: 0 2px 10px rgba(27,36,24,0.07);
  transition: all 0.25s var(--ease);
}
.diag__tab:hover {
  background: var(--ivory-dark);
  border-color: rgba(75,175,71,0.3);
  box-shadow: 0 4px 16px rgba(27,36,24,0.1);
}
.diag__tab.is-active {
  background: var(--sage);
  border-color: rgba(75,175,71,0.5);
  box-shadow: 0 4px 16px rgba(75,175,71,0.18);
}
.diag__tab-num { display: none; }
.diag__tab-text { display: flex; flex-direction: column; }
.diag__tab-label {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
  transition: color 0.25s;
}
.diag__tab.is-active .diag__tab-label { color: var(--forest-deep); }
.diag__tab-sub { display: none; }

/* Panel */
.diag-panel {
  background: #fff;
  border-radius: 18px;
  padding: 32px 36px 28px;
  box-shadow: 0 8px 40px rgba(27,36,24,0.15);
}
.diag-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.diag-panel__hint {
  font-size: 13.5px;
  color: rgba(27,36,24,0.6);
  line-height: 1.6;
}
.diag-panel__hint strong { color: var(--forest-deep); }

/* Status badge — dark panel version */
.diag-badge {
  font-size: 13px;
  font-weight: 700;
  padding: 6px 18px;
  border-radius: 99px;
  border: 2px solid;
  letter-spacing: .02em;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all 0.3s;
  box-shadow: 0 2px 10px rgba(27,36,24,0.1);
}
.diag-badge--neutral { background: rgba(27,36,24,0.07); color: rgba(27,36,24,0.45); border-color: rgba(27,36,24,0.15); }
.diag-badge--green   { background: rgba(75,175,71,0.12); color: #2A8C26; border-color: rgba(75,175,71,0.4); }
.diag-badge--amber   { background: rgba(184,132,14,0.1); color: #9a6a00; border-color: rgba(184,132,14,0.4); }
.diag-badge--red     { background: rgba(200,40,40,0.08); color: #c02828; border-color: rgba(200,40,40,0.3); }

/* Questions grid */
.diag-qs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
.diag-qs--calc { grid-template-columns: repeat(2, 1fr); }
.diag-q {
  background: var(--sage);
  border: 1px solid rgba(27,36,24,0.08);
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(27,36,24,0.07);
}
.diag-q__label {
  font-size: 12.5px;
  color: rgba(27,36,24,0.55);
  line-height: 1.5;
  margin-bottom: 12px;
}
.diag-q__label strong { color: var(--forest-deep); }
.diag-q__btns { display: flex; gap: 8px; }

/* Yes / No buttons */
.diag-btn {
  flex: 1;
  padding: 7px 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid rgba(27,36,24,0.15);
  background: #fff;
  color: rgba(27,36,24,0.55);
  cursor: pointer;
  transition: all 0.2s;
}
.diag-btn:hover { background: rgba(27,36,24,0.05); color: var(--forest-deep); }
.diag-btn--yes.is-active { background: rgba(75,175,71,0.15); border-color: #4BAF47; color: #2A8C26; font-weight: 700; }
.diag-btn--no.is-active  { background: rgba(200,40,40,0.08); border-color: rgba(200,40,40,0.4); color: #c02828; font-weight: 700; }


.diag-q--locked { opacity: 0.4; pointer-events: none; }

/* Input / Select */
.diag-q__input-wrap { position: relative; }
.diag-input {
  width: 100%;
  padding: 9px 60px 9px 14px;
  background: #fff;
  border: 1px solid rgba(27,36,24,0.18);
  border-radius: 10px;
  color: var(--forest-deep);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.diag-input:focus { border-color: var(--green-bright); }
.diag-input__unit {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  color: rgba(27,36,24,0.35);
  pointer-events: none;
}
.diag-q__select-wrap { position: relative; }
.diag-select {
  width: 100%;
  padding: 9px 14px;
  background: #fff;
  border: 1px solid rgba(27,36,24,0.18);
  border-radius: 10px;
  color: var(--forest-deep);
  font-size: 13px;
  outline: none;
  cursor: pointer;
  appearance: none;
  box-sizing: border-box;
}

/* Result panel */
.diag-result { margin-bottom: 20px; }
.diag-result__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  border: 2px solid;
  box-shadow: 0 4px 20px rgba(27,36,24,0.1);
}
.diag-result--neutral { background: rgba(27,36,24,0.04); border-color: rgba(27,36,24,0.12); color: rgba(27,36,24,0.6); }
.diag-result--green   { background: rgba(75,175,71,0.1);  border-color: rgba(75,175,71,0.45); color: var(--forest-deep); box-shadow: 0 4px 20px rgba(75,175,71,0.18); }
.diag-result--amber   { background: rgba(184,132,14,0.09);border-color: rgba(184,132,14,0.45);color: var(--forest-deep); box-shadow: 0 4px 20px rgba(184,132,14,0.18); }
.diag-result--red     { background: rgba(200,40,40,0.08); border-color: rgba(200,40,40,0.4); color: var(--forest-deep); box-shadow: 0 4px 20px rgba(200,40,40,0.15); }
.diag-result__dot {
  flex-shrink: 0;
  width: 12px; height: 12px;
  border-radius: 50%;
}
.diag-result--green .diag-result__dot { background: #4BAF47; box-shadow: 0 0 8px rgba(75,175,71,0.7); }
.diag-result--amber .diag-result__dot { background: #B8840E; box-shadow: 0 0 8px rgba(184,132,14,0.6); }
.diag-result--red   .diag-result__dot { background: #c02828; box-shadow: 0 0 8px rgba(200,40,40,0.6); }
.diag-result--neutral .diag-result__dot { background: rgba(27,36,24,0.2); }
.diag-result__inner strong { color: var(--forest-deep); font-weight: 700; }

/* CTA */
.diag-panel__cta { display: flex; gap: 8px; flex-wrap: wrap; }
.diag-panel__cta .btn { padding: 7px 16px; font-size: 12px; }

/* Alpine transitions */
.diag-t { transition: opacity 0.28s var(--ease), transform 0.28s var(--ease); }
.diag-t-start { opacity: 0; transform: translateY(6px); }
.diag-t-end   { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .diag__tabs { grid-template-columns: 1fr; }
  .diag-qs { grid-template-columns: 1fr; }
  .diag-qs--calc { grid-template-columns: 1fr; }
  .diag-panel { padding: 24px 20px 22px; }
}
