/* =====================================================
   INFINITY ACADEMY v2 - site.css · „Apple clean“
   Svetlý minimalizmus v štýle apple.com: biela + #f5f5f7,
   oválne (pill) tlačidlá vo farbách loga (#3aaa37 → #76b82a),
   veľká typografia Bebas Neue + Poppins, jemné animácie.
   ===================================================== */
:root{
  --bg:#ffffff; --bg-2:#f5f5f7; --bg-3:#ececee; --card:#ffffff;
  --ink:#1d1f1d; --muted:#6b706c; --line:#e6e6e3;
  --green:#3aaa37; --green-2:#76b82a; --green-ink:#25732a; --green-soft:#e9f5e4;
  --grad:linear-gradient(110deg, #3aaa37 10%, #76b82a 90%);
  /* iba dva fonty: Bebas Neue (display) + Poppins (text a UI) */
  --serif:"Bebas Neue", "Arial Narrow", Impact, sans-serif;
  --display:"Bebas Neue", "Arial Narrow", Impact, sans-serif;
  --sans:"Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --r:26px; --r-s:16px;
  --shadow:0 30px 70px -34px rgba(29,31,29,.28);
  --shadow-soft:0 16px 44px -26px rgba(29,31,29,.22);
  --wrap:1280px; --gutter:clamp(1rem, 4vw, 3rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans); color:var(--ink); background:var(--bg);
  line-height:1.6; font-size:16px; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  /* pätička drží na spodku aj pri krátkych podstránkach */
  display:flex; flex-direction:column; min-height:100svh;
}
main{ flex:1; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
ul{ list-style:none; }
[hidden]{ display:none !important; }
:where(a,button,input,select,textarea):focus-visible{ outline:2px solid var(--green); outline-offset:3px; border-radius:8px; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:-999px; top:0; z-index:500; background:#fff; padding:.6rem 1rem; }
.skip:focus{ left:1rem; top:1rem; }

.wrap{ width:min(var(--wrap), 100% - 2*var(--gutter)); margin-inline:auto; }

/* ---------- typografia ---------- */
h1,h2,h3,.serif{ font-family:var(--display); font-weight:400; line-height:.94; letter-spacing:.012em; text-transform:uppercase; text-wrap:balance; }
h1{ font-size:clamp(3.2rem, 7.2vw, 6.8rem); }
h2{ font-size:clamp(2.3rem, 4.4vw, 3.8rem); }
h3{ font-size:clamp(1.4rem, 2.1vw, 1.8rem); letter-spacing:.03em; }
em{ font-style:italic; }
.eyebrow{
  font-family:var(--display); font-size:.98rem; letter-spacing:.22em; text-transform:uppercase; color:var(--green-ink); line-height:1.2;
}
.lead{ font-size:clamp(1.05rem, 1.5vw, 1.25rem); color:var(--muted); max-width:56ch; font-weight:300; }
.muted{ color:var(--muted); }
.section{ padding-block:clamp(3.5rem, 7vw, 6.5rem); }
.section__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:2rem;
  margin-bottom:clamp(2rem, 4vw, 3.5rem);
}
.section__head .eyebrow{ margin-bottom:.6rem; }
.section__head p{ max-width:40ch; }
.section__head--center{ flex-direction:column; align-items:center; text-align:center; gap:0; }
.section__head--center h2{ font-size:clamp(3rem, 6vw, 5.6rem); line-height:.9; letter-spacing:.02em; }
/* eyebrow POD nadpisom (napr. „Ponuka 2026 / 2027“ pod KURZY) */
.eyebrow--sub{ margin-top:.9rem; margin-bottom:0 !important; color:var(--muted); }
@media (max-width:760px){ .section__head:not(.section__head--center){ flex-direction:column; align-items:flex-start; gap:.8rem; } }

/* ---------- tlačidlá: oválne pilulky ako na apple.at,
   plné vo farbách loga (gradient), obrysové zelené ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.68rem 1.35rem; border-radius:999px; font-weight:500; font-size:.9rem; line-height:1;
  border:1px solid var(--ink); background:var(--ink); color:#fff;
  transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease), filter .3s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); background:#000; }
.btn--lime{
  background:var(--grad); border-color:transparent; color:#fff; font-weight:600;
  box-shadow:0 8px 20px -12px rgba(58,170,55,.5);
}
.btn--lime:hover{ filter:brightness(1.07); box-shadow:0 12px 26px -12px rgba(58,170,55,.55); }
.btn--green{
  background:var(--grad); border-color:transparent; color:#fff; font-weight:600;
  box-shadow:0 8px 20px -12px rgba(58,170,55,.45);
}
.btn--green:hover{ filter:brightness(1.07); }
.btn--outline{ background:transparent; color:var(--green-ink); border:1.5px solid var(--green); }
.btn--outline:hover{ background:var(--grad); border-color:transparent; color:#fff; }
.btn--ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--line); }
.btn--ghost:hover{ border-color:var(--ink); background:var(--ink); color:#fff; }
.btn--light{ background:#fff; color:var(--ink); border-color:#fff; }
.btn--light:hover{ background:var(--bg-2); }
.btn--sm{ padding:.62rem 1.15rem; font-size:.85rem; }
.btn--block{ width:100%; }
.btn[disabled]{ opacity:.5; pointer-events:none; }
.link{ font-weight:600; border-bottom:1px solid currentColor; padding-bottom:1px; }
.link:hover{ color:var(--green-ink); }

/* =====================================================
   TOP BAR - svetlá, priesvitná (ako Apple)
   ===================================================== */
.top{
  position:sticky; top:0; z-index:100; background:rgba(255,255,255,.82); color:var(--ink);
  -webkit-backdrop-filter:blur(16px) saturate(1.6); backdrop-filter:blur(16px) saturate(1.6);
  border-bottom:1px solid rgba(29,31,29,.08); transition:box-shadow .3s ease;
}
.top.is-scrolled{ box-shadow:0 10px 34px -24px rgba(29,31,29,.35); }
/* menu vľavo · logo v strede · menu + výber vpravo */
.top__in{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.5rem; height:92px; }
.top__logo{ justify-self:center; }
.top__logo img{ height:56px; width:auto; }
.top__nav{ display:flex; align-items:center; gap:2.4rem; }
.top__nav--l{ justify-self:start; }
.top__right{ justify-self:end; display:flex; align-items:center; gap:1.8rem; }
.top__nav a{
  font-family:var(--display); font-size:1.1rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
  padding:.35rem 0; position:relative; transition:color .2s; line-height:1;
}
.top__nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--grad); border-radius:2px;
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);
}
.top__nav a:hover{ color:var(--ink); }
.top__nav a:hover::after{ transform:scaleX(1); }
/* aktívna položka: malá zelená bodka pod slovom */
.top__nav a.is-active{ color:var(--ink); }
.top__nav a.is-active::before{
  content:""; position:absolute; left:50%; bottom:-10px; width:5px; height:5px; border-radius:50%;
  background:var(--green); transform:translateX(-50%);
}
.cartbtn{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.62rem 1.15rem .62rem .85rem; border-radius:999px; border:1.5px solid var(--green); color:var(--green-ink);
  font-family:var(--display); font-size:1rem; letter-spacing:.1em; text-transform:uppercase; background:#fff; line-height:1;
  transition:background .2s, color .2s, border-color .2s;
}
.cartbtn:hover{ background:var(--grad); color:#fff; border-color:transparent; }
.cartbtn:hover .cartbtn__n{ background:#fff; color:var(--green-ink); }
.cartbtn__n{
  min-width:22px; height:22px; padding:0 .4rem; border-radius:999px; background:var(--grad); color:#fff;
  font-family:var(--sans); font-size:.72rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.cartbtn.bump{ animation:cartIn .45s var(--ease); }
@keyframes cartIn{ 0%{ transform:scale(.6); opacity:0; } 60%{ transform:scale(1.08); opacity:1; } 100%{ transform:none; } }
.burger{ display:none; width:44px; height:44px; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.burger span{ width:22px; height:2px; background:var(--ink); border-radius:2px; transition:.3s; }
/* mobilné menu */
.mnav{
  position:fixed; inset:76px 0 0; z-index:99; background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  display:flex; flex-direction:column;
  justify-content:flex-start; justify-content:safe center; align-items:center;
  padding:2rem var(--gutter) 3rem; gap:1.3rem; overflow-y:auto;
}
.mnav a{ font-family:var(--serif); font-size:2.6rem; letter-spacing:.04em; color:var(--ink); line-height:1; }
.mnav a.is-active{ color:var(--green-ink); }
.mnav__phone{ font-family:var(--sans) !important; font-size:1rem !important; font-weight:500; letter-spacing:0 !important; color:var(--muted) !important; margin-top:1rem; }
@media (min-width:901px){ .mnav{ display:none !important; } }
@media (max-width:900px){
  .top__in{ height:76px; gap:.8rem; }
  .top__logo img{ height:42px; }
  .top__nav{ display:none; }
  .top__right{ display:contents; }
  .cartbtn{ grid-column:1; grid-row:1; justify-self:start; }
  .top__logo{ grid-column:2; grid-row:1; }
  .burger{ display:flex; grid-column:3; grid-row:1; justify-self:end; }
  .top.menu-open .burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .top.menu-open .burger span:nth-child(2){ opacity:0; }
  .top.menu-open .burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .cartbtn__label{ display:none; }
}

/* =====================================================
   HERO - svetlý, vycentrovaný ako apple.at
   ===================================================== */
.hero-band{
  position:relative; color:var(--ink);
  background:linear-gradient(180deg, #ffffff 0%, #fbfbfa 60%, #f5f5f7 100%);
}
.hero{ position:relative; padding:clamp(3.5rem, 7vw, 6.5rem) 0 0; text-align:center; }
.hero__grid{ display:block; }
.hero h1{
  margin:0 auto; color:var(--ink); max-width:16ch;
  font-size:clamp(3.4rem, 8vw, 8rem); line-height:.9;
}
/* akcent v nadpise: gradient vo farbách loga */
.hero h1 .lime{
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__actions{ display:flex; gap:.8rem; flex-wrap:wrap; justify-content:center; margin-top:2rem; }
.hero__actions .btn{
  font-family:var(--sans); font-weight:600; font-size:.92rem; letter-spacing:0; text-transform:none;
  padding:.72rem 1.4rem;
}
.hero__photo{
  position:relative; z-index:2; margin-top:clamp(2.6rem, 5vw, 4.5rem);
  border-radius:var(--r); overflow:hidden; aspect-ratio:21/9; background:var(--bg-2);
  box-shadow:var(--shadow);
}
.hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:center 35%; }
@media (max-width:900px){
  .hero__photo{ aspect-ratio:4/3; }
}
.hero-band::after{ content:""; display:block; height:clamp(2rem, 4vw, 3.5rem); }
/* vstupná sekvencia hero pri načítaní */
@keyframes riseIn{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
@keyframes photoIn{ from{ opacity:0; transform:translateY(34px) scale(.985); } to{ opacity:1; transform:none; } }
.js .hero h1{ animation:riseIn .85s var(--ease) both; }
.js .hero__actions{ animation:riseIn .85s .14s var(--ease) both; }
.js .hero__photo{ animation:photoIn 1.05s .26s var(--ease) both; }
.js .hero h1.reveal, .js .hero__actions.reveal, .js .hero__photo.reveal{ opacity:1; transform:none; transition:none; }

/* =====================================================
   KURZY - vycentrovaný nadpis, záložky, štvorcové dlaždice
   ===================================================== */
.section--courses{ padding-top:clamp(3.5rem, 7vw, 6rem); }
.filters{
  position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:0 2.2rem;
  margin-top:clamp(1.4rem, 2.6vw, 2.2rem); border-bottom:1px solid var(--line);
}
.filter{
  position:relative; font-family:var(--display); font-size:1.2rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);
  padding:.6rem .1rem .8rem; line-height:1; transition:color .25s;
}
.filter + .filter::before{
  content:""; position:absolute; left:-1.1rem; top:.75rem; bottom:.95rem; width:1px; background:var(--line);
}
.filter:hover{ color:var(--green-ink); }
.filter.is-active{ color:var(--ink); }
.filters__ind{
  position:absolute; left:0; top:0; height:3px; width:0; border-radius:3px 3px 0 0; background:var(--grad);
  transition:transform .45s var(--ease), width .45s var(--ease); opacity:0; pointer-events:none;
}
.filters__ind.is-ready{ opacity:1; }
/* mobil: kapsula s pilulkami */
@media (max-width:760px){
  .filters{
    gap:.3rem; padding:.35rem; border:1px solid var(--line); border-radius:999px;
    background:var(--bg-2);
  }
  .filter{ font-size:1rem; padding:.55rem .95rem .45rem; border-radius:999px; letter-spacing:.08em; transition:background .25s, color .25s; }
  .filter + .filter::before{ display:none; }
  .filter.is-active{ background:var(--ink); color:#fff; }
  .filters__ind{ display:none; }
}

/* prepínanie kategórií: mriežka jemne zhasne a naskočí */
#tiles{ transition:opacity .18s ease, transform .18s ease; }
#tiles.is-fading{ opacity:0; transform:translateY(10px); }

/* flex namiesto gridu - neúplný posledný riadok dlaždíc je vycentrovaný */
.grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.1rem; }
.grid > *{ width:calc((100% - 3 * 1.1rem) / 4); }
@media (max-width:1100px){ .grid > *{ width:calc((100% - 2 * 1.1rem) / 3); } }
@media (max-width:760px){ .grid{ gap:.8rem; } .grid > *{ width:calc((100% - .8rem) / 2); } }
@media (max-width:460px){ .grid > *{ width:100%; } }

.tile{
  position:relative; display:block; aspect-ratio:1/1; border-radius:var(--r); overflow:hidden;
  background:var(--bg-3); color:#fff; isolation:isolate;
  box-shadow:0 0 0 1px rgba(29,31,29,.05), 0 18px 40px -30px rgba(29,31,29,.35);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), opacity .5s var(--ease);
}
.tile:hover{ transform:translateY(-6px) scale(1.01); box-shadow:0 0 0 1.5px var(--green), 0 0 0 6px rgba(58,170,55,.12), var(--shadow); }
.tile.is-hidden{ display:none; }
/* vstupná animácia dlaždice po prepnutí kategórie */
.tile--enter{ opacity:0 !important; transform:translateY(18px) scale(.97) !important; }
.tile__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.tile:hover .tile__img{ transform:scale(1.05); }
.tile::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(12,16,12,.92) 0%, rgba(12,16,12,.62) 36%, rgba(12,16,12,.2) 66%, transparent);
}
.tile__top{ position:absolute; z-index:2; top:.9rem; left:.9rem; right:.9rem; display:flex; justify-content:space-between; gap:.5rem; }
.pill{
  font-family:var(--display); font-size:.92rem; letter-spacing:.08em; text-transform:uppercase; line-height:1;
  padding:.45rem .8rem .35rem; border-radius:999px;
  background:rgba(255,255,255,.94); color:var(--ink); white-space:nowrap;
}
.pill--dark{ background:rgba(20,26,20,.55); color:#fff; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.16); }
.pill--sold{ background:#f4d9d3; color:#7a2f24; }
.tile__body{ position:absolute; z-index:2; left:1.1rem; right:1.1rem; bottom:1.1rem; }
.tile__cat{ font-family:var(--display); font-size:.86rem; letter-spacing:.2em; text-transform:uppercase; color:#b9e38b; margin-bottom:.35rem; line-height:1; text-shadow:0 1px 10px rgba(0,0,0,.6); }
.tile__title{ font-family:var(--serif); font-size:clamp(1.4rem, 1.9vw, 1.85rem); line-height:1.02; letter-spacing:.015em; text-wrap:balance; text-shadow:0 2px 14px rgba(0,0,0,.45); }
.tile__meta{ margin-top:.55rem; font-size:.82rem; color:rgba(255,255,255,.85); display:flex; gap:.9rem; }
.tile--sold .tile__img{ filter:grayscale(.5); }
@media (max-width:760px){
  .tile__top .pill--dark{ display:none; }   /* kredity sú v detaile */
  .tile__title{ font-size:1.3rem; }
}

/* =====================================================
   O AKADÉMII - svetlosivá karta (ako Apple dlaždice)
   ===================================================== */
.about{
  position:relative; overflow:hidden; isolation:isolate; color:var(--ink);
  background:var(--bg-2);
  border-radius:calc(var(--r) * 1.2); padding:clamp(2.5rem, 6vw, 5rem);
}
.about__mark{
  position:absolute; z-index:-1; right:-10%; bottom:-26%; width:min(46vw, 560px); aspect-ratio:480/473;
  background:url("../assets/mark.png") center/contain no-repeat; opacity:.06; transform:rotate(12deg); pointer-events:none;
}
.about__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:center; }
.about h2{ margin:.9rem 0 1.3rem; }
.about p{ color:var(--muted); max-width:52ch; }
.about__cta{ margin-top:1.6rem; }
.facts{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.fact{ background:#fff; border-radius:var(--r-s); padding:1.4rem 1.3rem 1.25rem; box-shadow:var(--shadow-soft); transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.fact:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.fact b{
  display:block; font-family:var(--serif); font-weight:400; font-size:2.9rem; line-height:.9; margin-bottom:.55rem; letter-spacing:.02em;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.fact span{ font-size:.86rem; color:var(--muted); }
@media (max-width:900px){ .about__grid{ grid-template-columns:1fr; gap:2rem; } }
@media (max-width:460px){ .facts{ grid-template-columns:1fr; } }

/* =====================================================
   LEKTORI
   ===================================================== */
.people{ display:grid; grid-template-columns:repeat(6, 1fr); gap:1rem; }
@media (max-width:1100px){ .people{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .people{ grid-template-columns:repeat(2,1fr); gap:.8rem; } }
.person{ text-align:center; display:block; width:100%; }
.person__photo{
  display:block; aspect-ratio:4/5; border-radius:var(--r-s); overflow:hidden; background:var(--bg-2); margin-bottom:.85rem;
  position:relative; box-shadow:0 0 0 1px rgba(29,31,29,.05), 0 14px 30px -24px rgba(29,31,29,.35);
  transition:box-shadow .4s var(--ease), transform .4s var(--ease);
}
.person:hover .person__photo{ box-shadow:0 0 0 1.5px var(--green), 0 0 0 6px rgba(58,170,55,.12), var(--shadow-soft); transform:translateY(-4px); }
.person__photo img{ width:100%; height:100%; object-fit:cover; object-position:top; filter:saturate(.92); transition:transform .8s var(--ease); }
.person:hover .person__photo img{ transform:scale(1.05); }
.person__mono{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, #eef4ea, #dfeada); color:var(--green-ink);
  font-family:var(--serif); font-size:2.8rem; letter-spacing:.06em;
}
/* block (nie flex!) - flex by zahodil medzery medzi časťami mena */
.person__name{
  display:block; text-align:center; min-height:2.6em;
  font-size:.92rem; line-height:1.3; text-wrap:balance; padding-inline:.2rem;
}
.person__role{ display:block; font-size:.78rem; color:var(--muted); margin-top:.1rem; text-wrap:balance; }
.person__mono--xl{ font-size:5.4rem; }

/* =====================================================
   KONTAKT
   ===================================================== */
#kontakt{ position:relative; isolation:isolate; }
.contact__mark{
  position:absolute; z-index:-1; left:-14%; bottom:-30%; width:min(42vw, 520px); aspect-ratio:480/473;
  background:url("../assets/mark.png") center/contain no-repeat; opacity:.05; transform:rotate(14deg); pointer-events:none;
}
.contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.contact__grid h2{ margin-top:.6rem; }
.contact__list{ display:grid; gap:1.2rem; margin-top:1.6rem; }
.contact__list div{ border-top:1px solid var(--line); padding-top:.9rem; }
.contact__list b{ display:block; font-family:var(--display); font-weight:400; font-size:.9rem; letter-spacing:.2em; text-transform:uppercase; color:var(--green-ink); margin-bottom:.3rem; line-height:1; }
.contact__list a, .contact__list span{ font-size:1.05rem; font-weight:500; }
.contact__list a:hover{ color:var(--green-ink); }
.contact__photo{ position:relative; border-radius:var(--r); overflow:hidden; aspect-ratio:4/3; background:var(--bg-2); box-shadow:var(--shadow-soft); }
.contact__photo img{ width:100%; height:100%; object-fit:cover; }
.contact__photo figcaption{
  position:absolute; left:1rem; bottom:1rem; background:rgba(255,255,255,.92); color:var(--ink);
  font-size:.78rem; font-weight:600; padding:.5rem .95rem; border-radius:999px;
}
@media (max-width:900px){ .contact__grid{ grid-template-columns:1fr; gap:2rem; } }

/* =====================================================
   FOOTER - svetlý ako Apple
   ===================================================== */
.footer{
  background:var(--bg-2); color:var(--muted);
  padding:3rem 0 1.6rem; margin-top:2rem; border-top:1px solid var(--line);
}
.footer__in{ display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.footer__in img{ height:42px; width:auto; }
.footer__nav{ display:flex; gap:2rem; flex-wrap:wrap; font-family:var(--display); font-size:1.05rem; letter-spacing:.16em; text-transform:uppercase; }
.footer__nav a{ color:var(--muted); transition:color .2s; }
.footer__nav a:hover{ color:var(--green-ink); }
/* spodná lišta: čisté ikony sietí (štýl ako dominikbesler.com) + copyright v strede */
.footer__legal{
  border-top:1px solid var(--line); margin-top:2rem; padding-top:1.5rem;
  display:flex; flex-direction:column; align-items:center; gap:.7rem; color:var(--muted); text-align:center;
}
.footer__social{ display:flex; justify-content:center; gap:26px; }
.footer__social a{
  display:flex; align-items:center; justify-content:center; width:44px; height:44px;
  color:var(--muted); transition:color .3s, transform .3s var(--ease);
}
.footer__social a:hover, .footer__social a:focus-visible{ color:var(--green-ink); transform:translateY(-2px); }
.footer__social svg{ width:25px; height:25px; fill:currentColor; }
.footer__copy{ font-size:1.05rem; }

/* =====================================================
   DETAIL KURZU
   ===================================================== */
.course{ padding-block:clamp(2rem, 4vw, 3.5rem) clamp(4rem, 8vw, 7rem); }
.back{
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--display); font-size:1.02rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:999px; padding:.55rem 1.1rem .45rem;
  margin-bottom:2rem; transition:color .2s, border-color .2s, transform .3s var(--ease);
}
.back:hover{ color:var(--green-ink); border-color:var(--green); transform:translateX(-2px); }
.course__hero{ display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:center; margin-bottom:clamp(2rem, 4vw, 3rem); }
.course__hero h1{ font-size:clamp(2.6rem, 5.2vw, 4.8rem); margin:.9rem 0 1.1rem; }
.course__hero .lead{ max-width:52ch; }
.course__photo{ border-radius:var(--r); overflow:hidden; aspect-ratio:4/3; background:var(--bg-2); box-shadow:var(--shadow-soft); }
.course__photo img{ width:100%; height:100%; object-fit:cover; }
.course__layout{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:clamp(2rem, 5vw, 5rem); align-items:start; }
.course__main > section{ padding:2.3rem 0; border-top:1px solid var(--line); }
.course__main h2{ font-size:clamp(1.7rem, 2.6vw, 2.3rem); margin-bottom:1.2rem; }
.course__main h3{ font-size:1.02rem; font-family:var(--sans); font-weight:600; margin:1.4rem 0 .6rem; text-transform:none; letter-spacing:0; line-height:1.3; }
.checklist li{ position:relative; padding-left:1.7rem; margin-bottom:.55rem; color:var(--muted); }
.checklist li::before{ content:""; position:absolute; left:0; top:.5em; width:9px; height:9px; border-radius:50%; background:var(--green); }
.checklist--no li::before{ background:#c9c9c4; }
.benefits{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.benefit{ background:var(--bg-2); border-radius:var(--r-s); padding:1.2rem 1.3rem; transition:transform .35s var(--ease); }
.benefit:hover{ transform:translateY(-3px); }
.benefit b{ display:block; margin-bottom:.3rem; font-weight:600; }
.benefit p{ font-size:.9rem; color:var(--muted); }
@media (max-width:640px){ .benefits{ grid-template-columns:1fr; } }
.program li{ display:flex; gap:1rem; padding:.7rem 0; border-bottom:1px dashed var(--line); color:var(--ink); font-size:.95rem; }
.program li span:first-child{ font-family:var(--serif); font-size:1.1rem; color:var(--green-ink); min-width:1.6rem; line-height:1.4; }
.lecturers{ display:grid; gap:.9rem; }
.lecturer{
  display:grid; grid-template-columns:76px 1fr auto; gap:1.1rem; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-s); padding:.9rem; text-align:left; width:100%;
  transition:border-color .2s, transform .3s var(--ease), box-shadow .3s var(--ease);
}
.lecturer:hover{ border-color:var(--green); transform:translateY(-2px); box-shadow:0 0 0 4px rgba(58,170,55,.1); }
.lecturer__photo{ display:block; width:76px; aspect-ratio:1; border-radius:12px; overflow:hidden; background:var(--bg-2); position:relative; }
.lecturer__photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.lecturer .lecturer__photo .person__mono{ position:absolute; inset:0; display:flex; font-size:1.7rem; }
.lecturer b{ display:block; font-weight:600; }
.lecturer span{ display:block; font-size:.85rem; color:var(--muted); }
.lecturer i{ font-style:normal; font-family:var(--display); font-size:1rem; letter-spacing:.1em; text-transform:uppercase; color:var(--green-ink); }
@media (max-width:520px){ .lecturer{ grid-template-columns:60px 1fr; } .lecturer i{ display:none; } }
.faq details{ border-top:1px solid var(--line); padding:.9rem 0; }
.faq summary{ cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:var(--serif); font-size:1.4rem; line-height:1; color:var(--green-ink); }
.faq details[open] summary::after{ content:"–"; }
.faq p{ color:var(--muted); margin-top:.6rem; font-size:.95rem; }

/* bočná karta s cenou - biela, so zeleným gradientovým akcentom */
.buybox{ position:sticky; top:112px; display:grid; gap:1rem; }
.buybox__card{
  position:relative; overflow:hidden; isolation:isolate; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.9rem 1.9rem 1.7rem;
  box-shadow:var(--shadow-soft);
}
.buybox__card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--grad); }
.buybox__meta{ display:grid; gap:0; margin-bottom:1.4rem; }
.buybox__meta div{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; font-size:.9rem; border-bottom:1px solid var(--line); padding:.75rem 0; }
.buybox__meta div:first-child{ padding-top:.3rem; }
.buybox__meta span:first-child{ font-family:var(--display); font-size:.9rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.buybox__meta span:last-child{ font-weight:500; text-align:right; }
.buybox__meta .muted{ color:var(--muted); font-weight:400; font-size:.8rem; }
.buybox__price{ display:flex; align-items:baseline; gap:.6rem; margin:.2rem 0 1.2rem; }
.buybox__price b{ font-family:var(--serif); font-weight:400; font-size:3.3rem; line-height:1; color:var(--ink); letter-spacing:.02em; }
.buybox__price small{ color:var(--muted); font-size:.8rem; }
.buybox__card .btn{ border-radius:999px; font-family:var(--sans); font-weight:600; font-size:1.02rem; letter-spacing:0; text-transform:none; padding:1.05rem 1.4rem; }
.buybox__hint{
  margin-top:1rem; padding:.7rem .9rem; border:1px solid rgba(58,170,55,.3); border-radius:var(--r-s);
  background:var(--green-soft); font-size:.8rem; color:var(--ink);
}
.buybox__hint b{ font-weight:600; color:var(--green-ink); margin-right:.35rem; }
.variants{ display:grid; gap:.5rem; margin-bottom:1.1rem; }
.variant{
  display:flex; align-items:center; gap:.7rem; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-s);
  padding:.75rem .9rem; cursor:pointer; transition:border-color .2s, background .2s;
}
.variant:hover{ background:#eef1ec; }
.variant:has(input:checked){ border-color:var(--green); background:var(--green-soft); }
.variant input{ accent-color:var(--green); }
.variant b{ font-size:.9rem; display:block; font-weight:500; }
.variant small{ color:var(--muted); font-size:.75rem; }
.variant em{ margin-left:auto; font-style:normal; font-family:var(--serif); font-size:1.15rem; white-space:nowrap; letter-spacing:.02em; }
.buybox__note{ font-size:.8rem; color:var(--muted); margin-top:.9rem; }
.buybox__added{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--green-ink); font-weight:500; margin-top:.8rem; }
.also{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.3rem 1.4rem; }
.also h3{ font-size:.9rem; font-family:var(--display); letter-spacing:.2em; text-transform:uppercase; color:var(--green-ink); margin-bottom:.9rem; line-height:1; }
.also__item{ display:grid; grid-template-columns:54px 1fr; gap:.8rem; align-items:center; padding:.6rem 0; border-top:1px solid var(--line); }
.also__item:first-of-type{ border-top:0; }
.also__item img{ width:54px; height:54px; object-fit:cover; border-radius:10px; }
.also__item b{ display:block; font-size:.9rem; line-height:1.25; font-weight:600; }
.also__item small{ color:var(--muted); font-size:.78rem; display:block; }
.also__item .tag{ color:var(--green-ink); font-weight:600; }
@media (max-width:960px){
  .course__hero{ grid-template-columns:1fr; gap:1.5rem; }
  .course__layout{ grid-template-columns:1fr; }
  .buybox{ position:static; }
}

/* mobilná spodná lišta na detaile */
.stickybar{
  position:fixed; left:0; right:0; bottom:0; z-index:90; background:rgba(255,255,255,.94); color:var(--ink);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-top:1px solid var(--line);
  padding:.7rem var(--gutter); display:none; align-items:center; justify-content:space-between; gap:1rem;
}
.stickybar b{ font-family:var(--serif); font-weight:400; font-size:1.6rem; color:var(--ink); line-height:1; }
.stickybar small{ display:block; font-size:.72rem; color:var(--muted); }
@media (max-width:960px){ .stickybar.is-on{ display:flex; } body.has-stickybar{ padding-bottom:78px; } }

/* =====================================================
   MÔJ VÝBER - zásuvka
   ===================================================== */
.scrim{ position:fixed; inset:0; z-index:200; background:rgba(29,31,29,.4); opacity:0; pointer-events:none; transition:opacity .3s ease; }
.scrim.is-on{ opacity:1; pointer-events:auto; }
.drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:210; width:min(460px, 100%);
  background:#fff; display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .45s var(--ease); box-shadow:-30px 0 60px -30px rgba(0,0,0,.3);
}
.drawer.is-on{ transform:none; }
.drawer__head{
  display:flex; align-items:center; justify-content:space-between; padding:1.3rem 1.5rem;
  background:#fff; border-bottom:1px solid var(--line); color:var(--ink);
}
.drawer__head h2{ font-size:1.9rem; letter-spacing:.03em; }
.drawer__close{ width:40px; height:40px; border-radius:999px; font-size:1.6rem; line-height:1; display:flex; align-items:center; justify-content:center; color:var(--ink); }
.drawer__close:hover{ background:var(--bg-2); }
.drawer__body{ flex:1; overflow-y:auto; padding:1.2rem 1.5rem; }
.drawer__empty{ text-align:center; padding:3rem 1rem; color:var(--muted); }
.drawer__empty .serif{ font-size:1.7rem; color:var(--ink); margin-bottom:.5rem; }
.citem{ display:grid; grid-template-columns:64px 1fr auto; gap:.9rem; align-items:center; padding:.9rem 0; border-bottom:1px solid var(--line); }
.citem img{ width:64px; height:64px; object-fit:cover; border-radius:12px; }
.citem b{ display:block; font-size:.95rem; line-height:1.25; font-weight:600; }
.citem small{ display:block; color:var(--muted); font-size:.78rem; margin-top:.2rem; }
.citem__price{ text-align:right; }
.citem__price b{ font-family:var(--serif); font-weight:400; font-size:1.3rem; }
.citem__price s{ display:block; color:var(--muted); font-size:.72rem; }
.citem__disc{ display:inline-block; margin-top:.25rem; font-size:.7rem !important; font-weight:600; color:var(--green-ink) !important; background:var(--green-soft); border-radius:999px; padding:.15rem .5rem; }
.disc-tag{ font-style:normal; font-size:.72rem; font-weight:600; color:var(--green-ink); background:var(--green-soft); border-radius:999px; padding:.1rem .45rem; margin-left:.3rem; }
.citem__rm{ font-size:.75rem; color:var(--muted); text-decoration:underline; margin-top:.2rem; }
.citem__rm:hover{ color:#a33; }
.upsell{ margin-top:1.6rem; background:var(--bg-2); border-radius:var(--r-s); padding:1.2rem 1.3rem; }
.upsell h3{ font-size:1.3rem; margin-bottom:.2rem; }
.upsell > p{ font-size:.85rem; color:var(--muted); margin-bottom:.9rem; }
.uitem{ display:grid; grid-template-columns:48px 1fr auto; gap:.8rem; align-items:center; padding:.6rem 0; border-top:1px solid var(--line); }
.uitem img{ width:48px; height:48px; object-fit:cover; border-radius:10px; }
.uitem b{ display:block; font-size:.88rem; line-height:1.25; font-weight:600; }
.uitem small{ display:block; color:var(--muted); font-size:.75rem; }
.uitem .tag{ display:inline-block; color:var(--green-ink); font-weight:600; font-size:.72rem; }
.uitem .btn{ padding:.5rem .9rem; font-size:.78rem; }
.drawer__foot{ border-top:1px solid var(--line); padding:1.2rem 1.5rem 1.4rem; background:#fff; }
.total__row{ display:flex; justify-content:space-between; gap:1rem; font-size:.88rem; color:var(--muted); padding:.25rem 0; }
.total__row--disc{ color:var(--green-ink); font-weight:600; }
.total{ display:flex; justify-content:space-between; align-items:baseline; margin:.4rem 0 .9rem; padding-top:.6rem; border-top:1px solid var(--line); }
.total b{ font-family:var(--serif); font-weight:400; font-size:2.2rem; color:var(--ink); }
.total small{ display:block; color:var(--muted); font-size:.75rem; }
.nudge{ font-size:.82rem; color:var(--ink); background:var(--green-soft); border-radius:var(--r-s); padding:.6rem .8rem; margin-bottom:.9rem; }
.nudge b{ font-weight:600; color:var(--green-ink); }
.summary li.disc-row{ color:var(--green-ink); font-weight:600; }

/* =====================================================
   PRIHLÁŠKA - dialóg
   ===================================================== */
.modal{ position:fixed; inset:0; z-index:300; background:rgba(29,31,29,.5); display:flex; align-items:center; justify-content:center; padding:clamp(.8rem, 3vw, 2rem); animation:fade .25s ease; }
@keyframes fade{ from{ opacity:0; } to{ opacity:1; } }
.modal__card{ position:relative; background:#fff; border-radius:var(--r); width:min(760px, 100%); max-height:92svh; overflow-y:auto; }
.modal__close{ position:absolute; top:.8rem; right:.9rem; width:40px; height:40px; border-radius:999px; font-size:1.6rem; line-height:1; display:flex; align-items:center; justify-content:center; background:#fff; z-index:2; }
.modal__close:hover{ background:var(--bg-2); }
.modal__body{ padding:2.2rem; }
.modal__body h2{ font-size:2.2rem; margin:.4rem 0 .5rem; }
.form{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1rem; margin-top:1.4rem; }
.form label{ display:grid; gap:.3rem; font-size:.8rem; font-weight:500; color:var(--muted); }
.form label.full{ grid-column:1 / -1; }
.form input, .form textarea, .form select{
  font:inherit; font-size:.95rem; padding:.7rem .95rem; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink);
  transition:border-color .2s;
}
.form input:focus, .form textarea:focus{ border-color:var(--green); outline:none; }
.form textarea{ min-height:90px; resize:vertical; }
.form .check{ grid-column:1 / -1; display:flex; gap:.6rem; align-items:flex-start; font-weight:400; }
.form .check input{ margin-top:.25rem; accent-color:var(--green); }
.form__actions{ grid-column:1 / -1; display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; margin-top:.4rem; }
.summary{ background:var(--bg-2); border-radius:var(--r-s); padding:1rem 1.2rem; font-size:.9rem; }
.summary li{ display:flex; justify-content:space-between; gap:1rem; padding:.3rem 0; }
.summary li.total-row{ border-top:1px solid var(--line); margin-top:.4rem; padding-top:.6rem; font-weight:600; }
.done{ text-align:center; padding:2rem 1rem; }
.done .serif{ font-size:2.3rem; margin:.8rem 0 .6rem; }
.done p{ color:var(--muted); max-width:44ch; margin:0 auto 1.4rem; }
.done__ok{ width:64px; height:64px; border-radius:50%; background:var(--green-soft); color:var(--green-ink); display:inline-flex; align-items:center; justify-content:center; font-size:1.8rem; }
@media (max-width:600px){ .form{ grid-template-columns:1fr; } .modal__body{ padding:1.6rem 1.2rem; } }

/* =====================================================
   PROFIL LEKTORA - podstránka
   ===================================================== */
.person-page{ padding-block:clamp(2rem, 4vw, 3.5rem) clamp(4rem, 8vw, 7rem); }
.person-page__grid{ display:grid; grid-template-columns:minmax(280px, 420px) 1fr; gap:clamp(2rem, 5vw, 5rem); align-items:start; }
.person-page__photo{
  position:relative; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; background:var(--bg-2);
  box-shadow:var(--shadow-soft);
}
.person-page__photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.person-page__photo .person__mono{ position:absolute; inset:0; }
.person-page__body h1{ font-size:clamp(2.4rem, 4.6vw, 4.2rem); margin:.8rem 0 .8rem; }
/* krstné meno decentne, priezvisko boldom */
.h1-given{ font-weight:400; color:var(--muted); }
.h1-sur{ font-weight:700; letter-spacing:.02em; }
.person-page__tag{ font-family:var(--sans); font-weight:400; font-style:normal; font-size:1.3rem; line-height:1.4; color:var(--green-ink); margin-bottom:1.5rem; max-width:40ch; }
.person-page__p{ color:var(--muted); font-size:1.02rem; max-width:62ch; margin-bottom:.9rem; }
.facts-list{ margin-top:1.6rem; border-top:1px solid var(--line); max-width:62ch; }
.facts-list div{ display:grid; grid-template-columns:150px 1fr; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.facts-list dt{ font-family:var(--display); font-size:.95rem; letter-spacing:.14em; text-transform:uppercase; color:var(--green-ink); padding-top:.15em; }
.facts-list dd{ color:var(--muted); }
.chips{ margin-top:1.4rem; display:flex; flex-wrap:wrap; gap:.5rem; }
.chips a, .chips span{ font-size:.85rem; font-weight:500; background:#fff; border:1px solid var(--line); border-radius:999px; padding:.5rem 1rem; }
.chips a:hover{ border-color:var(--green); color:var(--green-ink); }
.person-page__video{ margin-top:1.6rem; max-width:62ch; }
.person-page__video video, .person-page__video iframe{ width:100%; aspect-ratio:16/9; border:0; border-radius:14px; background:#000; display:block; }
.person-page__courses{ margin-top:clamp(3rem, 6vw, 5rem); }
@media (max-width:820px){
  .person-page__grid{ grid-template-columns:1fr; }
  .person-page__photo{ position:static; max-width:420px; }
  .facts-list div{ grid-template-columns:1fr; gap:.15rem; }
}

/* =====================================================
   PODSTRÁNKY (Stoma, O akadémii)
   ===================================================== */
.subpage{ padding-block:clamp(2rem, 4vw, 3.5rem) clamp(4rem, 8vw, 7rem); }
.page-title{ font-size:clamp(3rem, 6.4vw, 6rem); line-height:.9; }

/* zakladateľka */
.founder{ display:grid; grid-template-columns:minmax(280px, 400px) 1fr; gap:clamp(2rem, 5vw, 5rem); align-items:start; margin-top:clamp(1rem, 3vw, 2.5rem); }
.founder__photo{ position:relative; aspect-ratio:4/5; border-radius:var(--r); overflow:hidden; background:var(--bg-2); box-shadow:var(--shadow-soft); }
.founder__photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.founder__photo figcaption{
  position:absolute; left:.9rem; right:.9rem; bottom:.9rem; background:rgba(255,255,255,.92); color:var(--ink);
  font-size:.78rem; font-weight:600; padding:.5rem .8rem; border-radius:999px; text-align:center;
}
.founder__body h2{ font-size:clamp(1.9rem, 3.4vw, 2.9rem); margin:.7rem 0 1.1rem; }
.founder__body p{ color:var(--muted); max-width:62ch; margin-bottom:.9rem; }
@media (max-width:820px){ .founder{ grid-template-columns:1fr; } .founder__photo{ max-width:420px; } }

/* bloky na podstránke O akadémii */
.about-block{ margin-top:clamp(3rem, 6vw, 5rem); }
.about-block .section__head{ margin-bottom:clamp(1.4rem, 3vw, 2.2rem); }
.timeline{ border-top:1px solid var(--line); }
.timeline li{ display:grid; grid-template-columns:110px 1fr; gap:1.5rem; padding:1.1rem 0; border-bottom:1px solid var(--line); align-items:baseline; }
.timeline b{ font-family:var(--display); font-weight:400; font-size:1.7rem; line-height:1; color:var(--green-ink); letter-spacing:.03em; }
.timeline span{ color:var(--muted); max-width:70ch; }
@media (max-width:560px){ .timeline li{ grid-template-columns:1fr; gap:.3rem; } }
.benefits--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .benefits--3{ grid-template-columns:1fr; } }
.about-venue{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem, 4vw, 3rem); align-items:start; }
.about-venue > img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r); box-shadow:var(--shadow-soft); }
.about-venue p{ color:var(--muted); margin-bottom:1.2rem; }
.facts--light{ margin-bottom:1.4rem; }
.facts--light .fact{ background:var(--bg-2); box-shadow:none; }
.facts--light .fact b{ font-size:2.1rem; }
@media (max-width:820px){ .about-venue{ grid-template-columns:1fr; } }

/* =====================================================
   STOMA - výhradné zastúpenie nástrojov
   ===================================================== */
.stoma{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem, 5vw, 5rem); align-items:center;
  background:var(--bg-2); border-radius:calc(var(--r) * 1.2); padding:clamp(1.6rem, 4vw, 3.5rem);
}
.stoma__visual{ display:grid; gap:1rem; }
.stoma__logo{ background:#fff; border-radius:var(--r-s); padding:clamp(1.4rem, 3vw, 2.4rem) clamp(1.6rem, 4vw, 3rem); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-soft); }
.stoma__logo img{ width:100%; max-width:320px; height:auto; }
.stoma__photo{ width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--r-s); }
.stoma__text h2{ margin:.8rem 0 1.2rem; font-size:clamp(2rem, 3.6vw, 3rem); }
.stoma__text p{ color:var(--muted); max-width:58ch; margin-bottom:.9rem; }
.stoma__text em{ font-style:italic; color:var(--ink); }
.stoma__facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1.6rem 0; }
.stoma__facts li{ background:#fff; border-radius:var(--r-s); padding:.9rem 1rem .8rem; box-shadow:var(--shadow-soft); }
.stoma__facts b{ display:block; font-family:var(--serif); font-weight:400; font-size:2.1rem; line-height:1; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stoma__facts span{ font-size:.8rem; color:var(--muted); }
.stoma__actions{ display:flex; gap:.8rem; flex-wrap:wrap; }
.stoma__contact{ margin-top:1.1rem; font-size:.85rem; }
.stoma__contact a{ font-weight:600; color:var(--green-ink); }
@media (max-width:900px){
  .stoma{ grid-template-columns:1fr; }
}
@media (max-width:520px){ .stoma__facts{ grid-template-columns:1fr 1fr; } }

/* =====================================================
   TYPOGRAFIA MIEN - tituly regular, meno bold
   ===================================================== */
.nm{ font-weight:700; }
.nm-deg{ font-weight:400; color:var(--muted); }
.person-page__deg{
  font-family:var(--sans); font-weight:400; font-size:1.05rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin-top:.9rem;
}
.lect-name{ display:block; font-weight:400; }
.founder__photo figcaption b{ font-weight:700; }
.contact__list strong{ font-weight:700; }

/* =====================================================
   ANIMÁCIE
   ===================================================== */
/* vstup podstránky / detailu po prekliku */
@keyframes viewIn{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.view-in{ animation:viewIn .55s var(--ease) both; }
.js .reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.js .reveal.is-in{ opacity:1; transform:none; }
.d1{ transition-delay:.08s; } .d2{ transition-delay:.16s; } .d3{ transition-delay:.24s; }
.toast{
  position:fixed; left:50%; bottom:1.5rem; transform:translate(-50%, 20px); z-index:400;
  background:var(--ink); color:#fff; padding:.8rem 1.4rem; border-radius:999px; font-size:.9rem; font-weight:500;
  box-shadow:var(--shadow-soft);
  opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s var(--ease);
}
.toast.is-on{ opacity:1; transform:translate(-50%, 0); }
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation:none !important; transition:none !important; }
  .js .reveal{ opacity:1 !important; transform:none !important; }
  .tile--enter{ opacity:1 !important; transform:none !important; }
  html{ scroll-behavior:auto; }
}
