/* ==========================================================================
   AJ Vision Lab — prototype v2 · směr D1 "Executive Minimal" · 9. 9. 2026
   Aplikace vybraného vizuálního směru (zadani-D1-aplikace.md).
   Jediná odchylka od D1: fotky nejsou černobílé, ale tónované (viz
   --photo-shade / --photo-shade-hero, hodnoty převzaté z D2v2).
   One stylesheet for all five pages. No frameworks, no build step.
   Zrušeno proti v2: patkové písmo, krémové a pískové podklady,
   prezentační přepínače.
   ========================================================================== */

/* ---------------------------------------------------------------- font */
/* Manrope z vlastního serveru (od 23. 9. 2026, dřív Google Fonts).
   Jeden proměnný soubor pokryje všechny tloušťky 300–800. Licence: assets/fonts/OFL.txt */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../assets/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------------------------------------------------------------- tokens */
:root {
  /* brand */
  --navy:        #14213D;
  --navy-deep:   #0E1729;
  --navy-soft:   #1B2B4D;
  --ink-body:    #333B4F;   /* 11.2:1 on white */
  --muted:       #4F586D;   /* 7.1:1 on white  */
  --faint:       #89909E;   /* photo credits, disabled type */
  --slate:       #9AA3B5;   /* quiet type on navy */
  --white:       #FFFFFF;
  --mist:        #F2F4F7;
  --hairline:    #C4C7CE;
  --gold:        #B8874A;   /* structural: rules, fills, large numerals */
  --gold-text:   #8C6435;   /* gold TYPE on light grounds (AA)          */
  --gold-bright: #D6A867;   /* gold TYPE on navy (7.3:1)                */
  --gold-accent: #E4B36A;   /* the one accented word in the hero        */
  --err:         #B03A2E;

  /* type — D1 je jednopísmový, jen Manrope */
  --font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Noto Sans", sans-serif;

  /* fotky — barevné, jen sladěné se stránkou (odchylka od D1, z D2v2) */
  --photo-shade:      contrast(1.04) saturate(.95);          /* doprovodné fotky */
  --photo-tint:       #14213D;                               /* tón do barvy webu */
  --photo-tint-mix:   .28;
  --photo-shade-hero: sepia(.32) contrast(1.03) saturate(.86) brightness(1.03);

  /* rhythm — obsah 1160, okraje 120–140, sekce 110 od hrany */
  --pad:      clamp(20px, 5vw, 72px);
  --maxw:     1160px;
  --gutter:   max(var(--pad), calc((100vw - var(--maxw)) / 2));
  --section:  clamp(64px, 7.7vw, 110px);
  --section-sm: clamp(48px, 5.4vw, 76px);

  --ease: cubic-bezier(.22,.61,.24,1);
}

/* ---------------------------------------------------------------- reset */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;   /* lepící hlavička má 87 px — bez tohohle skončí nadpis pod ní */
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--white);
  color: var(--ink-body);
  font-family: var(--font-sans);
  font-size: 1.125rem;               /* 18px — D1 body */
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, picture, svg { max-width: 100%; display: block; }
img { height: auto; }   /* HTML width/height attrs must not defeat aspect-ratio */
h1, h2, h3, h4 { margin: 0; color: var(--navy); font-weight: 700; letter-spacing: -0.018em; line-height: 1.15; }
p  { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }
ul { margin: 0; padding: 0; list-style: none; }
a  { color: inherit; }
hr { border: 0; border-top: 1px solid var(--hairline); margin: 0; }

::selection { background: var(--gold); color: var(--navy); }

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 1px;
}

.skip {
  position: absolute; left: 12px; top: -60px; z-index: 200;
  background: var(--navy); color: #fff; padding: 12px 20px;
  font-size: .9375rem; font-weight: 600; text-decoration: none;
  transition: top .16s var(--ease);
}
.skip:focus { top: 12px; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px;
  margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* ---------------------------------------------------------------- layout */
.wrap {
  width: 100%;
  max-width: calc(var(--maxw) + 2 * var(--pad));
  margin-inline: auto;
  padding-inline: var(--pad);
}
.section { padding-block: var(--section); }
.section--sm { padding-block: var(--section-sm); }
/* vlásovka místo změny podkladu tam, kde na sebe navazují dvě stejné plochy */
.section--rule { border-top: 1px solid var(--hairline); }

.ground-white { background: var(--white); }
.ground-mist  { background: var(--mist); }
.ground-navy  { background: var(--navy); color: rgba(255,255,255,.82); }
.ground-navy h1, .ground-navy h2, .ground-navy h3 { color: #fff; }

/* ---------------------------------------------------------------- type */
.eyebrow {
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 .8rem;
  line-height: 1.5;
}
.ground-navy .eyebrow { color: var(--gold-bright); }

/* Display 80 / 1.0 / −.03em / 300 — na mobilu 38 */
.h-display {
  font-size: clamp(2.375rem, 5.6vw, 5rem);
  line-height: 1.0;
  letter-spacing: -0.03em;
  font-weight: 300;
}
/* H2 40 / 1.15 / 700 */
.h-section {
  font-size: clamp(1.75rem, 2.9vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.022em;
}
/* nadpisy podstránek nesou stejný lehký řez jako hero */
.h-page {
  font-size: clamp(2.125rem, 4.4vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -0.028em;
  font-weight: 300;
}
.h-card { font-size: 1.4375rem; line-height: 1.25; letter-spacing: -0.012em; }

.lead {
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
  line-height: 1.6;
  max-width: 62ch;
}
.ground-navy .lead { color: #C9CFDA; font-weight: 300; }

.rule-gold {
  width: 64px; height: 3px; background: var(--gold);
  border: 0; margin: 0 0 1.5rem;
}
.measure { max-width: 68ch; }
.measure-sm { max-width: 54ch; }

/* ---------------------------------------------------------------- buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .55em;
  min-height: 54px;
  padding: .95em 2em;
  font-family: inherit; font-size: .9375rem; font-weight: 600;
  letter-spacing: .015em;
  text-decoration: none; border: 1px solid transparent; cursor: pointer;
  background: var(--navy); color: #fff;
  transition: background .18s var(--ease), color .18s var(--ease),
              border-color .18s var(--ease), transform .18s var(--ease);
}
.btn:hover  { background: var(--navy-soft); }
.btn:active { transform: translateY(1px); }

.btn--ghost { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn--ghost:hover { background: var(--navy); color: #fff; }

.ground-navy .btn { background: #fff; color: var(--navy); }
.ground-navy .btn:hover { background: var(--gold-bright); color: var(--navy); }
.ground-navy .btn--ghost { background: transparent; color: #fff; border-color: #6B7590; }
.ground-navy .btn--ghost:hover { background: rgba(255,255,255,.10); border-color: #fff; color: #fff; }

/* text link — stálá zlatá vlásovka, přes ni se přetáhne plná linka */
.link {
  display: inline-block;
  font-weight: 600; font-size: 1rem;
  letter-spacing: .01em;
  color: var(--gold-text); text-decoration: none;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--gold);
  background-image: linear-gradient(var(--gold), var(--gold));
  background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%;
  transition: background-size .22s var(--ease);
}
.link:hover, .link:focus-visible { background-size: 100% 2px; }
.ground-navy .link { color: var(--gold-bright); border-bottom-color: var(--gold-bright); }
.ground-navy .link:hover { background-image: linear-gradient(var(--gold-bright), var(--gold-bright)); }
.link .arw { transition: transform .22s var(--ease); display: inline-block; }
.link:hover .arw { transform: translateX(4px); }

/* ---------------------------------------------------------------- nav */
.nav {
  position: sticky; top: 0; z-index: 90;
  background: rgba(255,255,255,.94);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--hairline);
  transition: border-color .25s var(--ease), background .25s var(--ease);
}
.nav__inner {
  display: flex; align-items: center; gap: clamp(16px, 2.5vw, 34px);
  min-height: 86px;
  transition: min-height .25s var(--ease);
}
.nav.is-stuck .nav__inner { min-height: 66px; }

.nav__logo { display: block; margin-right: auto; line-height: 0; }
.nav__logo img {
  height: 52px; width: auto;
  transition: height .25s var(--ease);
}
.nav.is-stuck .nav__logo img { height: 38px; }

.nav__links { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); }
.nav__links a {
  position: relative;
  font-size: .9375rem; font-weight: 500; letter-spacing: .005em;
  color: var(--navy); text-decoration: none;
  padding: 6px 0;
}
.nav__links a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 0;
  height: 2px; background: var(--gold);
  transition: right .22s var(--ease);
}
.nav__links a:hover::after, .nav__links a:focus-visible::after { right: 0; }
.nav__links a[aria-current="page"]::after { right: 0; }

.nav__lang {
  display: flex; align-items: center; gap: 6px;
  font-size: .8125rem; font-weight: 500; letter-spacing: .04em;
  color: var(--faint);
  padding-left: clamp(6px, 1.4vw, 16px);
}
.nav__lang .is-active { color: var(--navy); font-weight: 700; }
.nav__lang [aria-disabled="true"] { color: var(--faint); cursor: not-allowed; }
/* přepínač EN / CZ (česká verze v site/cz/, 21. 9. 2026) */
.nav__lang a { color: var(--faint); text-decoration: none; }
.nav__lang a:hover, .nav__lang a:focus-visible { color: var(--navy); }
.nav .btn { min-height: 46px; padding: .75em 1.4em; font-size: .875rem; }

.nav__burger {
  display: none;
  width: 48px; height: 48px; margin-right: -10px;
  align-items: center; justify-content: center;
  background: none; border: 0; cursor: pointer; color: var(--navy);
}
.nav__burger span {
  display: block; width: 22px; height: 2px; background: currentColor; position: relative;
  transition: background .2s var(--ease);
}
.nav__burger span::before, .nav__burger span::after {
  content: ""; position: absolute; left: 0; width: 22px; height: 2px; background: currentColor;
  transition: transform .24s var(--ease), top .18s var(--ease);
}
.nav__burger span::before { top: -7px; }
.nav__burger span::after  { top: 7px; }
.nav__burger[aria-expanded="true"] span { background: transparent; }
.nav__burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.nav__burger[aria-expanded="true"] span::after  { top: 0; transform: rotate(-45deg); }

/* ---------------------------------------------------------------- hero */
.hero { background: var(--navy); color: rgba(255,255,255,.82); position: relative; overflow: hidden; }
.hero__inner {
  /* pozor: --gutter počítá ze 100vw, tedy včetně scrollbaru; hero se tím rozjelo
     o pár pixelů proti .wrap. Uvnitř hero se proto počítá ze 100 % šířky mřížky. */
  --g: max(var(--pad), calc((100% - var(--maxw)) / 2));
  display: grid;
  grid-template-columns:
    [full-start] var(--g)
    [content-start] minmax(0, 1fr)
    /* fotka roste s oknem jen do 448 px a pak se zastaví — nesmí se roztahovat
       ani zvětšovat na velkých displejích (rozhodnuto 9. 9.; 21. 9. zmenšeno
       o 20 % z 560 px, přání Adriany: menší fotka, text beze změny) */
    [mid] clamp(240px, 31.2vw, 448px)
    [full-end];
  align-items: stretch;
  min-height: min(74vh, 700px);
}
.hero__text {
  grid-column: content-start / mid;
  padding-block: clamp(48px, 8vw, 130px);
  padding-right: clamp(24px, 4.4vw, 64px);
  align-self: center;
}
.hero__eyebrow {
  font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-bright); margin: 0 0 clamp(22px, 2.6vw, 36px);
  line-height: 1.7;
}
.hero__eyebrow span { display: block; color: var(--slate); font-weight: 500; }
.hero__title { color: #fff; max-width: 15ch; text-wrap: balance; margin-bottom: clamp(20px, 2.3vw, 32px); }
/* jediné zvýrazněné slovo v celém webu */
.hero__accent { font-weight: 600; color: var(--gold-accent); }
.hero__deck {
  margin: 0; max-width: 540px;
  font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); line-height: 1.55;
  color: #C9CFDA; font-weight: 300;
}
.hero__ctas { display: flex; flex-wrap: wrap; gap: 18px; margin-top: clamp(28px, 3.4vw, 48px); }

.hero__figure {
  grid-column: mid / full-end;
  /* fotka má 80 % výšky pásu a je svisle na středu (21. 9., −20 %) */
  position: relative; margin: 0; align-self: center; height: 80%;
  min-height: 304px; overflow: hidden;
}
.hero__figure img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 18%;
  filter: var(--photo-shade-hero);
  transform: scaleX(-1);   /* zrcadlově — aby se dívala do stránky, ne ven */
}
/* přechod z navy do fotky — zleva, shora a zdola */
.hero__figure::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg,#14213D 0%,rgba(20,33,61,.55) 14%,rgba(20,33,61,0) 34%),
    linear-gradient(180deg,#14213D 0%,rgba(20,33,61,.55) 9%,rgba(20,33,61,0) 22%),
    linear-gradient(0deg,#14213D 0%,rgba(20,33,61,.55) 9%,rgba(20,33,61,0) 22%);
}
/* svislá zlatá linka na levé hraně fotky odstraněna 21. 9. 2026 (Adriana);
   na mobilu zůstává vodorovná linka pod fotkou — viz @media (max-width: 860px) */

/* VARIANTA 3 (zkouška 9. 9.): na širokých displejích fotka nebleeduje k okraji
   obrazovky, ale končí na pravé hraně obsahové mřížky — stejně jako všechen
   ostatní obsah. Odstup textu od fotky je pak konstantní (1160 − 560 = 600 px)
   a nikde nevzniká rostoucí prázdná modrá plocha. Pod 1560 px se nic nemění. */
@media (min-width: 1560px) {
  .hero__inner {
    grid-template-columns:
      [full-start] var(--g)
      [content-start] minmax(0, 1fr)
      [mid] 448px
      [tail] var(--g)
      [full-end];
  }
  .hero__figure { grid-column: mid / tail; }   /* fotka končí na hraně mřížky, ne u okraje okna */
}


/* ---------------------------------------------------------------- experience band */
/* podnadpis sekce „Why we exist?" */
.sf__sub {
  margin: clamp(16px, 1.8vw, 24px) 0 0;
  font-size: clamp(1.125rem, 1.6vw, 1.3125rem);
  line-height: 1.4; font-weight: 700; color: var(--navy);
  letter-spacing: -0.012em;
  max-width: 900px;          /* stejná míra jako seznam pod tím */
  text-wrap: balance;
}

.exp__label { text-align: center; }
.exp__brands {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 400; color: var(--navy); letter-spacing: -0.01em;
  line-height: 1.4; text-align: center;
  margin: 0 0 clamp(44px, 5vw, 72px);
}
.exp__brands .nm { white-space: nowrap; }
.exp__brands .dot { color: var(--gold); padding: 0 .3em; }

/* čtyři čísla: vycentrovaná, zlatá, oddělená svislými vlásovkami, nad nimi linka */
.exp__figures {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid var(--hairline);
}
.exp__fig {
  padding: clamp(34px, 4vw, 56px) clamp(12px, 1.6vw, 24px);
  text-align: center;
  border-left: 1px solid var(--hairline);
}
.exp__fig:first-child { border-left: 0; }
.exp__num {
  display: block;
  font-size: clamp(2.75rem, 5.2vw, 4.5rem);
  font-weight: 700; line-height: 1; letter-spacing: -0.03em;
  color: var(--gold);
  font-variant-numeric: tabular-nums;
  margin-bottom: clamp(14px, 1.6vw, 22px);
}
.exp__cap {
  display: block;
  font-size: .9375rem; line-height: 1.45; color: var(--muted);
  max-width: 22ch; margin-inline: auto;
}

/* mentoringové programy jako druhý, tišší řádek pásu */
.exp__mentor {
  margin: clamp(34px, 4.2vw, 56px) 0 0;
  padding-top: clamp(16px, 1.8vw, 22px);
  border-top: 1px solid var(--hairline);
  display: flex; gap: 22px; align-items: baseline; flex-wrap: wrap;
  justify-content: center;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--muted);
}
.exp__mentor-lbl {
  font-size: .75rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-text); white-space: nowrap;
}
.exp__mentor-names { color: var(--muted); }
.exp__mentor .dot { color: var(--gold); padding: 0 .1em; }

/* ---------------------------------------------------------------- sounds familiar */
/* D1 staví nadpis nad seznam přes celou šířku, ne do dvou sloupců */
.sf__grid { display: block; }
.sf__grid > :first-child { margin-bottom: clamp(28px, 3.4vw, 48px); }
.sf__list { max-width: 900px; }
.sf__list li {
  border-bottom: 1px solid var(--hairline);
  padding: clamp(16px, 1.7vw, 22px) 0;
  font-size: clamp(1.1875rem, 1.9vw, 1.625rem);
  line-height: 1.4; color: var(--navy); font-weight: 300; letter-spacing: -0.012em;
}
.sf__list li strong {
  font-weight: 600;   /* základ je 300, takže 600 stačí, 700 by křičelo */
}
.sf__list li:last-child { border-bottom: 0; }
.sf__close {
  margin-top: clamp(24px, 3vw, 44px);
  font-style: italic;
  font-size: clamp(1.0625rem, 1.4vw, 1.25rem); line-height: 1.5;
  color: var(--muted); max-width: 760px;
}

/* ---------------------------------------------------------------- services */
.svc__grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  margin-top: clamp(36px, 4.5vw, 56px);
}
.svc {
  padding: 0 clamp(18px, 2.8vw, 40px);
  display: flex; flex-direction: column;
}
.svc + .svc { border-left: 1px solid var(--hairline); }
.svc:first-child { padding-left: 0; }
.svc:last-child  { padding-right: 0; }
.svc__title { min-height: 2.5em; }
.svc__num {
  font-size: .9375rem; font-weight: 700; letter-spacing: .04em;
  color: var(--gold-text); display: block; margin-bottom: 1.1rem;
}
.svc dl { margin: 1.6rem 0 0; }
.svc dt {
  font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--muted); margin-bottom: .35rem;
}
.svc dd { margin: 0 0 1.35rem; font-size: 1rem; line-height: 1.6; color: var(--ink-body); }
.svc dd:last-child { margin-bottom: 0; }
.svc__cta { margin-top: clamp(36px, 4.5vw, 56px); }

/* tři pilíře — krátká dlaždice + rozklik */
.svc__grid--3 { grid-template-columns: repeat(3, 1fr); }
.svc__grid--3 .svc { padding-bottom: clamp(20px, 2.4vw, 28px); }
.svc__punch {
  margin: 1rem 0 0;
  font-size: clamp(1rem, 1.25vw, 1.0625rem);
  line-height: 1.55;
  color: var(--ink-body);
}
.svc .disc { margin-top: clamp(24px, 3vw, 40px); }
.svc__grid--3 .svc__title { min-height: 0; }
@media (min-width: 641px) {
  .svc__grid--3 .svc__punch { min-height: 3.2em; }
}

/* rozklik — bez JS jde o obyčejné <details>, JS jen animuje výšku */
.disc { border: 0; }
.disc > summary {
  display: flex; align-items: center; justify-content: flex-start; gap: 10px;
  list-style: none; cursor: pointer;
  padding: 4px 0;
  font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold-text);
  transition: color .18s var(--ease);
}
.disc > summary::-webkit-details-marker { display: none; }
.disc > summary::marker { content: ""; }
.disc > summary:hover { color: var(--navy); }
.disc > summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.disc__chev {
  flex: none; width: 10px; height: 10px;
  border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform .3s var(--ease);
}
.disc[open] > summary .disc__chev { transform: rotate(-135deg) translate(-2px, -2px); }
.disc__panel { overflow: hidden; transition: height .32s var(--ease); }
.disc__in {
  margin-top: clamp(18px, 2vw, 26px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--hairline);
}
@media (prefers-reduced-motion: reduce) {
  .disc__panel { transition: none; }
  .disc__chev { transition: none; }
}

.svc__note, .wblock__note {
  margin-top: 1.35rem; padding-top: 1.1rem;
  border-top: 1px solid var(--hairline);
  font-size: .875rem; line-height: 1.6; color: var(--muted);
  font-style: italic;
}
.wblock__note { font-size: clamp(.9375rem, 1.2vw, 1rem); max-width: 52ch; }
/* běžný odstavec uvnitř rozkliku — stejná sazba jako popisky v ostatních dlaždicích */
.disc__p {
  font-size: .9375rem; line-height: 1.6; color: var(--ink-body);
  margin: 0 0 .9rem;
}
.disc__p:last-child { margin-bottom: 0; }

.svc__topics { margin: 0 0 1rem; }
.svc__topics li {
  position: relative; padding: 4px 0 4px 16px;
  font-size: .9375rem; line-height: 1.5;
}
.svc__topics li::before {
  content: ""; position: absolute; left: 0; top: calc(4px + .68em);
  width: 8px; height: 1px; background: var(--gold);
}
.svc__quote, .wblock__quote { margin: 1.5rem 0 0; padding-left: 20px; border-left: 3px solid var(--gold); }
.svc__quote p, .wblock__quote p {
  font-size: clamp(1rem, 1.35vw, 1.125rem); line-height: 1.5;
  color: var(--navy); letter-spacing: -0.01em; font-style: italic;
}
.wblock__quote { max-width: 52ch; }
.wblock__quote p { font-size: clamp(1.0625rem, 1.5vw, 1.25rem); }

/* ---------------------------------------------------------------- vision statement */
.vision { background: var(--navy); }
.vision__inner { padding-block: clamp(88px, 13vw, 200px); }
.vision .rule-gold { width: 64px; height: 3px; margin: 0 0 clamp(28px, 3.4vw, 44px); }
.vision blockquote { margin: 0; }
.vision p {
  font-weight: 300;
  font-size: clamp(1.5rem, 3.1vw, 2.75rem);
  line-height: 1.3; letter-spacing: -0.018em;
  color: #fff; max-width: 1000px;
}

/* ---------------------------------------------------------------- about */
.about__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 380px;
  gap: clamp(32px, 5.5vw, 80px); align-items: start;
}
.about__body p { font-size: 1.125rem; line-height: 1.65; }
.about__fig { margin: 0; }
.about__fig picture { display: block; border: 1px solid var(--hairline); }
.about__fig img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; filter: var(--photo-shade-hero); }
.about__credit {
  margin-top: .9rem; font-size: .8125rem; color: var(--faint); letter-spacing: .01em;
}

/* vlastní krátké bio Adriany, doslovně */
.bio__head,
.about__body .bio__head,
.bio .bio__head {
  margin-top: 1.6rem;
  font-size: clamp(1.25rem, 1.9vw, 1.5rem);
  line-height: 1.4; letter-spacing: -0.014em;
  color: var(--navy); max-width: 34ch; font-weight: 500;
}
.bio__body { margin-top: clamp(20px, 2.4vw, 30px); }
.bio__body p { font-size: 1.125rem; line-height: 1.65; max-width: 64ch; }
.bio__body p + p { margin-top: 1.1em; }
.bio__body strong { color: var(--navy); font-weight: 700; }
.bio__sign {
  margin-top: clamp(22px, 2.6vw, 30px);
  font-size: 1.125rem; line-height: 1.65;
  color: var(--ink-body); max-width: 60ch;
}
.bio__sign a { color: var(--gold-text); text-decoration: none; border-bottom: 1px solid var(--gold); }
.disc--inline { margin-top: clamp(22px, 2.6vw, 30px); max-width: 64ch; }

/* ---------------------------------------------------------------- pull quote (navy) */
.pq { background: var(--navy); }
.pq__inner { padding-block: clamp(72px, 9vw, 140px); }
.pq blockquote { margin: 0; }
.pq p {
  font-weight: 300;
  font-size: clamp(1.5rem, 3.1vw, 2.75rem);
  line-height: 1.3; letter-spacing: -0.018em;
  color: #fff; max-width: 20em;
}
.pq p.pq__full {
  margin-top: clamp(20px, 2.4vw, 32px);
  font-weight: 400;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.65; letter-spacing: 0;
  color: rgba(255, 255, 255, .74);
  max-width: 44em;
}
.pq .rule-gold { width: 64px; height: 3px; margin-bottom: clamp(24px, 3vw, 44px); }
.pq__attrib { margin-top: clamp(22px, 3vw, 34px); font-size: .8125rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold-bright); font-weight: 600; }

/* ---------------------------------------------------------------- quote cards */
.quotes__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
  margin-top: clamp(36px, 4.5vw, 56px);
}
.qcard {
  background: var(--white); border: 1px solid var(--hairline);
  padding: clamp(26px, 2.8vw, 38px);
  display: flex; flex-direction: column;
}
.qcard blockquote { margin: 0 0 auto; }
.qcard__mark { display: block; width: 34px; height: 3px; background: var(--gold); margin-bottom: 1.4rem; }
.qcard p {
  font-weight: 300;
  font-size: clamp(1.125rem, 1.6vw, 1.3125rem); line-height: 1.4;
  color: var(--navy); letter-spacing: -0.012em;
}
.qcard footer {
  margin-top: clamp(26px, 3vw, 38px); padding-top: 1.1rem;
  border-top: 1px solid var(--hairline);
  display: flex; align-items: center; gap: 12px;
  font-size: .75rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted); font-weight: 600; line-height: 1.5;
}
.qcard cite { font-style: normal; }

/* ---------------------------------------------------------------- speaking */
.spk__photos {
  display: grid; grid-template-columns: repeat(3, 1fr);
  align-items: start;            /* užší fotka je nižší — štítek musí zůstat na ní */
  gap: clamp(14px, 1.7vw, 20px);
  margin-top: clamp(32px, 4vw, 44px);
}
.spk__photos figure { margin: 0; position: relative; overflow: hidden; }
.spk__photos img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: var(--photo-shade); }
/* tónování do navy — barvy fotky zůstávají, jen se sladí s paletou webu */
.spk__photos figure::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: var(--photo-tint); mix-blend-mode: color; opacity: var(--photo-tint-mix);
}
/* popisek je zároveň štítkem vlevo dole — text zůstává beze změny */
.spk__photos figcaption {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  max-width: calc(100% - 20px);
  background: var(--navy); color: #fff;
  padding: 8px 12px;
  font-size: .625rem; letter-spacing: .14em; text-transform: uppercase;
  line-height: 1.6;
}
.spk__credit {
  margin: 14px 0 0; font-size: .8125rem; color: var(--faint); line-height: 1.5;
}
.spk__bands { margin-top: clamp(40px, 5vw, 60px); display: grid; }
.spk__band {
  border-top: 1px solid var(--hairline); padding: clamp(16px, 1.8vw, 22px) 0;
  display: flex; gap: 22px; align-items: baseline;
}
.spk__band .eyebrow { margin: 0; white-space: nowrap; color: var(--gold-text); font-weight: 600; }
.spk__band p:not(.eyebrow) {
  margin: 0;
  font-size: 1rem; color: var(--muted); font-weight: 400;
  line-height: 1.6; letter-spacing: 0;
}
.spk__band .dot { color: var(--gold); padding: 0 .1em; }
.spk__cta { margin-top: clamp(32px, 4vw, 44px); }

/* ---------------------------------------------------------------- mentoring */
.mnt__grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.6fr); gap: clamp(24px, 5vw, 80px); align-items: start; }
.mnt__names {
  font-size: clamp(1.1875rem, 2.1vw, 1.625rem);
  font-weight: 500; color: var(--navy); line-height: 1.4; letter-spacing: -0.018em;
  margin: .4rem 0 1.6rem;
}
.mnt__names .dot { color: var(--gold); padding: 0 .1em; }
.mnt__close {
  font-style: italic;
  font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); color: var(--muted); max-width: 46ch;
}

/* ---------------------------------------------------------------- contact */
.ct__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(36px, 5vw, 80px); }
.ct__direct { margin-top: clamp(32px, 4vw, 48px); border-top: 1px solid var(--hairline); padding-top: clamp(20px, 2.4vw, 28px); }
.ct__direct dt { font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--faint); margin-bottom: .3rem; }
.ct__direct dd { margin: 0 0 1.1rem; font-size: 1rem; color: var(--navy); font-weight: 500; }
.ct__direct dd:last-child { margin-bottom: 0; }
.ct__direct a { color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 1px; }
.ct__direct a:hover { color: var(--gold-text); }
.ct__note { font-size: .8125rem; color: var(--muted); margin-top: .35rem; }

/* kontakt bez formuláře (22. 9. 2026): tlačítko e-mailu + adresa ke zkopírování */
.ct__card {
  align-self: start; display: grid; gap: 20px; justify-items: start;
  background: #fff; border: 1px solid var(--hairline);
  padding: clamp(28px, 3.4vw, 44px);
}
.ct__card-note { margin: 0; font-size: 1.0625rem; line-height: 1.6; color: var(--navy); }
.ct__copy { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: .9375rem; line-height: 1.5; color: var(--muted); }
.ct__addr { color: var(--navy); font-weight: 500; }
.ct__copy button {
  font: inherit; font-size: .6875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  background: none; color: var(--navy); border: 1px solid var(--navy); padding: .55em 1em; cursor: pointer;
}
.ct__copy button:hover { background: var(--navy); color: #fff; }
.ct__copy button.is-done { border-color: var(--gold); color: var(--gold-text); background: none; }
html:not(.js) .ct__copy button { display: none; }   /* bez JavaScriptu kopírování nefunguje */
.form__hint { font-size: .875rem; color: var(--faint); }

/* ---------------------------------------------------------------- footer */
.site-footer { background: var(--navy); color: var(--slate); padding-block: clamp(48px, 5.4vw, 76px); font-size: .8125rem; line-height: 1.9; }
.foot__top { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.foot__logo img { height: 62px; width: auto; }
.foot__legal { line-height: 1.9; max-width: 70ch; }
.foot__legal strong { color: #fff; font-weight: 700; }
.foot__bottom {
  margin-top: clamp(28px, 3.4vw, 44px); padding-top: clamp(18px, 2.2vw, 26px);
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex; flex-wrap: wrap; gap: 10px clamp(14px, 2.2vw, 26px); align-items: center;
}
.foot__bottom a { color: rgba(255,255,255,.86); text-decoration: none; border-bottom: 1px solid transparent; padding-bottom: 2px; }
.foot__bottom a:hover { color: #fff; border-bottom-color: var(--gold); }
.foot__bottom .sep { color: rgba(255,255,255,.3); }
.foot__lang { display: inline-flex; gap: 7px; align-items: center; }
.foot__bottom .copy { margin-left: auto; color: rgba(255,255,255,.55); }
.foot__bottom [aria-disabled="true"] { color: rgba(255,255,255,.42); cursor: not-allowed; }

/* ---------------------------------------------------------------- page header (subpages) */
.pagehead { padding-block: clamp(56px, 7vw, 104px) clamp(44px, 5.4vw, 76px); }
.pagehead .h-page { max-width: 22ch; text-wrap: balance; }
.pagehead .lead { margin-top: 1.6rem; }
.pagehead .hero__ctas { margin-top: 2.2rem; }

/* neaktivní CTA (speaker kit zatím neexistuje) */
.btn.is-disabled { opacity: .62; cursor: not-allowed; pointer-events: none; }
.btn-note { margin-top: .9rem; font-size: .8125rem; color: var(--muted); letter-spacing: .01em; }

/* dvousloupcová hlavička stránky (Speaking) */
.pagehead__split {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 76px); align-items: end;
}
.pagehead__split .h-page { max-width: 16ch; }
.pagehead__split .lead { margin-top: 0; }
@media (max-width: 860px) {
  .pagehead__split { grid-template-columns: 1fr; gap: clamp(24px, 5vw, 36px); align-items: start; }
  .pagehead__split .h-page { max-width: 22ch; }
}

/* dlouhé výčty (Where I have spoken, As seen in) */
.list-line {
  font-size: 1rem; line-height: 1.65;
  font-weight: 400; letter-spacing: 0; color: var(--muted);
}
.ground-navy .list-line { color: rgba(255,255,255,.82); }
.list-line .dot { color: var(--gold); padding: 0 .1em; }
.ground-navy .list-line .dot { color: var(--gold-bright); }

/* ---------------------------------------------------------------- work-with-me blocks */
.wblock { border-top: 1px solid var(--hairline); padding-block: clamp(48px, 6vw, 88px); }
.wblock:first-of-type { border-top: 0; }
.wblock--mist { background: var(--mist); border-top-color: transparent; }
.wblock__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.4fr); gap: clamp(28px, 5vw, 80px); }
.wblock__n {
  font-size: .9375rem; font-weight: 700; letter-spacing: .04em; color: var(--gold-text);
  display: block; margin-bottom: 1rem;
}
.wblock h2 { font-size: clamp(1.625rem, 2.7vw, 2.25rem); letter-spacing: -0.022em; }
.wblock__for { margin-top: 1.4rem; font-size: 1.125rem; line-height: 1.6; color: var(--ink-body); }
.wblock__lbl { font-size: .6875rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin: 0 0 .6rem; }
.wblock__sit { border-top: 1px solid var(--hairline); }
.wblock__sit li { border-bottom: 1px solid var(--hairline); padding: 14px 0; line-height: 1.5; font-size: 1rem; }
.wblock__pair { margin-top: clamp(26px, 3vw, 36px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(22px, 3vw, 40px); }
.wblock__pair p { font-size: 1rem; }
.wblock__cta { margin-top: clamp(26px, 3vw, 36px); }
@media (min-width: 861px) {
  .wblock--flip .wblock__grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, .95fr); }
  .wblock--flip .wblock__head { grid-column: 2; grid-row: 1; }
  .wblock--flip .wblock__body { grid-column: 1; grid-row: 1; }
}

/* ---------------------------------------------------------------- about page */
.bio p:not([class]) { font-size: 1.125rem; line-height: 1.65; max-width: 66ch; }
.tl { border-top: 1px solid var(--hairline); margin-top: clamp(28px, 3.5vw, 44px); }
.tl__row {
  display: grid; grid-template-columns: 150px minmax(0, 1fr) 200px;
  gap: clamp(16px, 3vw, 40px);
  border-bottom: 1px solid var(--hairline);
  padding: clamp(18px, 2.2vw, 26px) 0 clamp(18px, 2.2vw, 26px) 26px;
  position: relative; align-items: baseline;
}
.tl__row::before {
  content: ""; position: absolute; left: 0; top: calc(clamp(18px, 2.2vw, 26px) + .55em);
  width: 12px; height: 3px; background: var(--gold);
}
.tl__yr { font-weight: 700; color: var(--navy); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.tl__role { color: var(--navy); font-weight: 500; line-height: 1.5; }
.tl__role span { display: block; color: var(--muted); font-weight: 400; font-size: .9375rem; margin-top: .2rem; }
.tl__geo { color: var(--muted); font-size: .9375rem; }
.def { display: grid; gap: 1.5rem; }
.def h3 { font-size: 1.0625rem; letter-spacing: .01em; }
.def p { font-size: 1rem; }
.cols-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(28px, 5vw, 72px); align-items: start; }

/* ---------------------------------------------------------------- speaking page */
.topics { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0; border-top: 1px solid var(--hairline); margin-top: clamp(32px, 4vw, 52px); }
.topic { padding: clamp(26px, 3vw, 38px) clamp(20px, 2.6vw, 40px) clamp(26px, 3vw, 38px) 0; border-bottom: 1px solid var(--hairline); }
.topic:nth-child(even) { padding-left: clamp(20px, 2.6vw, 40px); padding-right: 0; border-left: 1px solid var(--hairline); }
.topic__n { font-size: .9375rem; font-weight: 700; letter-spacing: .04em; color: var(--gold-text); display: block; margin-bottom: .8rem; }
.topic h3 { font-size: clamp(1.1875rem, 1.7vw, 1.4375rem); margin-bottom: .7rem; }
.topic p { font-size: 1rem; line-height: 1.6; color: var(--ink-body); }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.4rem; }
.chip {
  border: 1px solid var(--hairline); padding: 9px 16px;
  font-size: .875rem; font-weight: 500; color: var(--navy); letter-spacing: .01em;
}
.ground-navy .chip { border-color: rgba(255,255,255,.28); color: #fff; }
.ground-navy .spk__band { border-top-color: rgba(255,255,255,.20); }
.ground-navy .spk__band .eyebrow { color: var(--gold-bright); }
.ground-navy .spk__band p:not(.eyebrow) { color: rgba(255,255,255,.82); }
.ground-navy .mnt__names { color: #fff; }
.ground-navy .mnt__names .dot { color: var(--gold-bright); }
.ground-navy .ct__direct { border-top-color: rgba(255,255,255,.20); }
.ground-navy .ct__direct dt { color: var(--gold-bright); }
.ground-navy .ct__direct dd, .ground-navy .ct__direct a { color: #fff; }

/* ---------------------------------------------------------------- reveal */
.js [data-reveal] {
  opacity: 0; transform: translateY(16px);
  transition: opacity .52s var(--ease), transform .52s var(--ease);
  transition-delay: var(--d, 0ms);
}
.js [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ================================================================ responsive */
@media (max-width: 1080px) {
  .spk__photos { grid-template-columns: repeat(2, 1fr); }
  .exp__cap { font-size: .875rem; }
  .svc__grid { grid-template-columns: repeat(2, 1fr); }
  .svc { padding-inline: clamp(16px, 2.4vw, 28px); }
  .svc:nth-child(odd)  { padding-left: 0; }
  .svc:nth-child(even) { padding-right: 0; }
  .svc:nth-child(3), .svc:nth-child(4) { border-top: 1px solid var(--hairline); margin-top: clamp(28px, 3vw, 40px); padding-top: clamp(28px, 3vw, 40px); }
  .svc:nth-child(3) { border-left: 0; }
  .tl__row { grid-template-columns: 130px minmax(0,1fr); }
  .tl__geo { grid-column: 2; }
  .about__grid { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 900px) {
  .nav__links, .nav__lang, .nav > .wrap > .nav__inner > .btn { display: none; }
  .nav__burger { display: flex; }

  /* celoobrazovkové mobilní menu */
  .msheet {
    position: fixed; inset: 0; z-index: 100;
    background: var(--navy); color: #fff;
    display: flex; flex-direction: column;
    padding: 22px var(--pad) calc(22px + env(safe-area-inset-bottom));
    transform: translateY(-100%); visibility: hidden;
    transition: transform .34s var(--ease), visibility 0s linear .34s;
    overflow-y: auto;
  }
  .msheet.is-open { transform: none; visibility: visible; transition-delay: 0s; }
  .msheet__top { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
  .msheet__top img { height: 40px; width: auto; }
  .msheet__close { width: 48px; height: 48px; background: none; border: 0; color: #fff; cursor: pointer; margin-right: -12px; }
  .msheet__close svg { margin-inline: auto; }
  .msheet nav { margin-top: 26px; }
  .msheet nav a {
    display: block; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.14);
    font-size: 1.5rem; font-weight: 300; letter-spacing: -0.02em; color: #fff; text-decoration: none;
  }
  .msheet nav a[aria-current="page"] { color: var(--gold-bright); }
  .msheet__lang { display: flex; gap: 10px; margin-top: 26px; font-size: .75rem; font-weight: 600;
    letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.5); }
  .msheet__lang .is-active { color: #fff; }
  .msheet__lang a { color: inherit; text-decoration: none; }
  .msheet__lang a:hover, .msheet__lang a:focus-visible { color: #fff; }
  .msheet__foot { margin-top: auto; padding-top: 28px; }
  .msheet__foot .btn { width: 100%; background: #fff; color: var(--navy); }
  .msheet__foot .btn:hover { background: var(--gold-bright); }
  .msheet__mail { display: block; text-align: center; margin-top: 16px; font-size: .9375rem;
    color: rgba(255,255,255,.72); text-decoration: none; }
  body.menu-open { overflow: hidden; }
}
@media (min-width: 901px) { .msheet { display: none; } }

@media (max-width: 860px) {
  /* mobil: nadpis a text nahoře, pod nimi fotka, pod ní tlačítka
     (21. 9. 2026, Adriana — dřív byla fotka nad textem). .hero__text se
     "rozpustí" (display: contents), aby fotka mohla vklouznout mezi jeho části. */
  .hero__inner { grid-template-columns: 1fr; min-height: 0; padding-inline: var(--pad); }
  .hero__text { display: contents; }
  .hero__eyebrow { order: 1; margin-top: clamp(36px, 7vw, 56px); }
  .hero__title   { order: 2; max-width: 18ch; }
  .hero__deck    { order: 3; }
  .hero__figure {
    grid-column: 1; order: 4;
    /* čtverec: na výšku 4:3 uřízl bradu */
    position: relative; min-height: 0; aspect-ratio: 1 / 1;
    align-self: auto; height: auto;
    margin: clamp(28px, 6vw, 40px) calc(-1 * var(--pad)) 0;
  }
  .hero__ctas    { order: 5; margin-bottom: clamp(32px, 6vw, 48px); }
  .hero__figure img { object-position: 50% 12%; }
  .hero__figure::before { display: none; }
  .hero__figure::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
    background: var(--gold); z-index: 2;
  }
  .hero__ctas .btn { flex: 1 1 200px; }

  .mnt__grid, .ct__grid, .about__grid, .wblock__grid, .cols-2 { grid-template-columns: 1fr; }
  .cols-2 { gap: clamp(40px, 8vw, 60px); }
  .about__grid { gap: clamp(28px, 6vw, 44px); }
  .about__fig { max-width: 460px; margin-top: .5rem; }
  .quotes__grid { grid-template-columns: 1fr; }
  .topics { grid-template-columns: 1fr; }
  .topic, .topic:nth-child(even) { padding-inline: 0; border-left: 0; }
  .wblock__pair { grid-template-columns: 1fr; }
  .foot__top { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  .exp__figures { grid-template-columns: repeat(2, 1fr); gap: 28px 24px; }
  .exp__cap { max-width: none; }
  .exp__mentor { display: block; }
  .exp__mentor-lbl { display: block; margin: 0 0 .5rem; }
  .svc__grid { grid-template-columns: 1fr; }
  .svc { padding-inline: 0; border-left: 0 !important; }
  .svc + .svc { border-top: 1px solid var(--hairline); margin-top: clamp(24px, 4vw, 32px); padding-top: clamp(24px, 4vw, 32px); }
  .svc:nth-child(3), .svc:nth-child(4) { margin-top: clamp(24px, 4vw, 32px); }
  .svc__title { min-height: 0; }
  .exp__figures { grid-template-columns: repeat(2, 1fr); }
  .exp__fig:nth-child(3) { border-left: 0; }
  .exp__fig:nth-child(3), .exp__fig:nth-child(4) { border-top: 1px solid var(--hairline); }
  .spk__photos { grid-template-columns: 1fr; }
  .spk__band { display: block; }
  .spk__band .eyebrow { margin-bottom: .5rem; white-space: normal; }
  .foot__bottom .copy { margin-left: 0; width: 100%; }
  .tl__row { grid-template-columns: 1fr; gap: 4px; padding-left: 22px; }
  .tl__geo { grid-column: 1; }
  .ct__card { justify-items: stretch; }
  .ct__card .btn { width: 100%; }
}


/* stránka Contact: po vyřazení textového sloupce zůstal jen formulář.
   Musí být až za .ct__grid, jinak by ho původní dvousloupcové pravidlo přebilo. */
.ct__grid.ct__grid--solo { grid-template-columns: 1fr; max-width: 720px; }
