@font-face{
  font-family:'Candal';
  src:url('Candal/Candal-Regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* =====================================================
   DESIGN TOKENY
   ===================================================== */
:root{
  /* barvy */
  --green-primary:#538210;
  --green-dark:#174A0A;
  --green-mid:#88B921;
  --green-soft:#9ab276;
  --green-light:#DDE6AD;
  --turq:#31C3D6;
  --turq-light:#CEF0F5;
  --turq-pale:color-mix(in srgb, var(--turq-light) 38%, #fff);
  --sand:#cbb177;
  --sand-light:color-mix(in srgb, var(--sand) 30%, #fff);
  --gold:#89620c;
  --gold-light:color-mix(in srgb, var(--gold) 14%, #fff);
  --mid-light:color-mix(in srgb, var(--green-mid) 22%, #fff);
  --bg:#F9F9F9;
  --ink:#333333;
  --text-muted:#333333;

  /* sémantické role designu */
  --color-primary:var(--green-dark);
  --color-secondary:var(--green-primary);
  --color-accent:var(--green-mid);
  --color-background:var(--bg);
  --color-text:var(--ink);
  --color-muted:var(--text-muted);

  /* spacing škála: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 px */
  --space-1:0.25rem;
  --space-2:0.5rem;
  --space-3:0.75rem;
  --space-4:1rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-24:6rem;

  /* layout */
  --container-width:85%;
  --container-max:82.5rem; /* 1320px */
  --radius-sm:0.5rem;
  --radius-md:0.625rem;
  --radius-lg:0.875rem;

  /* typografie */
  --line-height-body:1.7;
  --line-height-heading:1.2;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:100%;overflow-x:clip;}
body{
  font-family:'Nunito Sans',sans-serif;
  font-size:1.0625rem;
  line-height:var(--line-height-body);
  color:var(--color-text);
  background:var(--color-background);
  -webkit-font-smoothing:antialiased;
}

/* ---------- typografická hierarchie (h1–h6, mobile-first fluidní škála) ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:'Candal',sans-serif;font-weight:400;
  color:var(--color-text);line-height:var(--line-height-heading);
}
h1{font-size:clamp(1.75rem, 1.5rem + 1.3vw, 2.625rem);line-height:1.3;}
h2{font-size:clamp(1.5rem, 1.4rem + 0.5vw, 1.75rem);line-height:1.3;}
h3{font-size:clamp(1.375rem, 1.3rem + 0.35vw, 1.5rem);}
h4{font-size:clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);}
h5{font-size:clamp(1rem, 0.95rem + 0.2vw, 1.0625rem);}
h6{font-size:clamp(0.9375rem, 0.9rem + 0.15vw, 1rem);}

a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
svg{flex-shrink:0;}

a:focus-visible,button:focus-visible{
  outline:2px solid var(--green-dark);outline-offset:2px;border-radius:var(--radius-sm);
}

/* ---------- SKIP LINK (přeskočit na obsah) ---------- */
.skip-link{
  position:absolute;left:var(--space-4);top:-4rem;z-index:1000;
  background:var(--green-dark);color:#fff;
  padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);
  font-weight:700;font-size:0.9375rem;transition:top .2s ease;
}
.skip-link:focus{top:var(--space-4);outline:2px solid #fff;outline-offset:2px;}

.container{width:var(--container-width);max-width:var(--container-max);margin-inline:auto;}

.label{
  font-size:0.8125rem;font-weight:600;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--color-secondary);
}

/* ---------- TLAČÍTKA ---------- */
.btn{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:0.9375rem;
  background:var(--color-primary);color:#fff;
  border:0.125rem solid var(--color-primary);border-radius:var(--radius-sm);
  padding:var(--space-3) var(--space-6);cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease;
  letter-spacing:0.02em;
}
.btn:hover{background:#216510;border-color:#216510;transform:translateY(-1px);}
.btn .arr{transition:transform .2s ease;}
.btn:hover .arr{transform:translateX(4px);}

/* skutečně outline varianta: tmavý text/rámeček na světlém pozadí, splňuje kontrast 4.5:1 */
.btn-outline{
  background:rgba(255,255,255,.92);color:var(--color-primary);
  border-color:rgba(255,255,255,.92);
}
.btn-outline .arr path{stroke:var(--color-primary);}
.btn-outline:hover{background:#fff;border-color:#fff;}

/* outline varianta pro světlé pozadí — zelený rámeček/text, plní se při hoveru */
.btn-outline-green{background:transparent;color:var(--color-primary);border-color:var(--color-primary);}
.btn-outline-green .arr path{stroke:var(--color-primary);}
.btn-outline-green:hover{background:var(--color-primary);color:#fff;}
.btn-outline-green:hover .arr path{stroke:#fff;}

.hero-cta-group{display:flex;flex-wrap:wrap;gap:var(--space-4);}

.text-link{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-weight:700;color:var(--color-secondary);font-size:0.875rem;
  text-transform:uppercase;letter-spacing:0.06em;
  transition:gap .2s ease;
}
.text-link .arr{transition:transform .2s ease;}
.text-link:hover{text-decoration:underline;}
.text-link:hover .arr{transform:translateX(4px);}

/* odkaz uvnitř běžného odstavce textu */
.inline-link{color:var(--color-secondary);font-weight:700;text-decoration:underline;text-underline-offset:0.125rem;}
.inline-link:hover{color:var(--green-dark);}

/* =====================================================
   NAVBAR (mobile-first)
   ===================================================== */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid #eef0e6;
  transition:box-shadow .25s ease;
}
.nav.scrolled{box-shadow:0 0.375rem 1.5rem rgba(6,28,0,.08);}
.nav-inner{
  width:var(--container-width);max-width:var(--container-max);margin-inline:auto;height:5rem;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);
}
.brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;}
.brand-logo{width:2.625rem;height:2.625rem;flex-shrink:0;}
.brand-img{height:3.375rem;width:auto;display:block;}
.brand-name{
  font-family:'Candal',sans-serif;font-size:1.5rem;letter-spacing:0.02em;
  color:var(--color-primary);
}

.nav-menu{display:none;list-style:none;}
.nav-menu.open{
  display:flex;flex-direction:column;align-items:stretch;gap:0;
  position:absolute;top:5rem;left:0;right:0;background:#fff;
  padding:var(--space-3) var(--space-6) var(--space-6);
  box-shadow:0 1.125rem 1.875rem rgba(6,28,0,.12);
  border-bottom:1px solid #eef0e6;
}
.nav-menu.open > li{border-bottom:1px solid #f1f2ea;}
.nav-menu.open > li > a{padding:var(--space-4) 0;font-size:1rem;}
.nav-menu.open .dropdown{
  position:static;opacity:1;visibility:visible;transform:none;
  box-shadow:none;border:none;padding:0 0 var(--space-2) var(--space-3);
  display:none;
}
.nav-menu.open .has-drop.open > .dropdown{display:block;}
.nav-menu.open .has-drop > a .caret{transition:transform .2s ease;}
.nav-menu.open .has-drop.open > a .caret{transform:rotate(180deg);}

/* CTA "Domluvit návštěvu" v mobilním menu — výrazné tlačítko jako na PC */
.nav-cta-mobile{display:none;}
.nav-menu.open > li.nav-cta-mobile{display:block;border-bottom:none;margin-top:var(--space-4);}
.nav-menu.open > li.nav-cta-mobile > a.btn{
  display:flex;justify-content:center;width:100%;
  padding:var(--space-3) var(--space-6);font-size:0.9375rem;font-weight:700;color:#fff;
}
.nav-menu.open > li.nav-cta-mobile > a.btn:hover{color:#fff;}

.nav-menu > li > a{
  font-size:0.875rem;font-weight:600;color:var(--color-text);
  display:inline-flex;align-items:center;gap:0.3125rem;
  padding:var(--space-2) 0;position:relative;white-space:nowrap;
  transition:color .15s ease;
}
.nav-menu > li > a:hover{color:var(--color-secondary);}
.nav-menu > li > a.active{color:var(--color-secondary);}
.nav-menu > li > a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-0.125rem;height:0.15625rem;
  background:var(--color-accent);border-radius:0.125rem;
}
.caret{width:0.5625rem;height:0.5625rem;}
.nav-cta{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;}
.nav-cta .btn{display:none;padding:var(--space-2) var(--space-6);font-size:0.8125rem;letter-spacing:0.04em;}
.hamburger{display:block;background:none;border:none;cursor:pointer;padding:var(--space-2);}
.hamburger span{display:block;width:1.625rem;height:0.15625rem;background:var(--color-primary);border-radius:0.125rem;margin:0.3125rem 0;transition:.25s;}

/* ---------- DROPDOWN ---------- */
.has-drop{position:relative;}
.dropdown{
  position:absolute;top:100%;left:-0.875rem;min-width:13.75rem;background:#fff;
  border-radius:var(--radius-md);box-shadow:0 1rem 2.5rem rgba(6,28,0,.16);
  padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(0.5rem);
  transition:.2s ease;list-style:none;border:1px solid #eef0e6;
}
.has-drop:hover .dropdown,.has-drop:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0.25rem);}
.dropdown li a{
  display:block;padding:var(--space-2) var(--space-3);font-size:0.875rem;font-weight:600;
  border-radius:var(--radius-sm);color:var(--color-text);
}
.dropdown li a:hover{background:var(--green-light);color:var(--color-primary);}

/* =====================================================
   HERO (mobile-first)
   ===================================================== */
.hero{position:relative;height:70vh;min-height:32rem;overflow:hidden;background:#3a4a2a;}
.hero--tall{height:70vh;}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right bottom;}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(0,0,0,.02) 0%,
    rgba(0,0,0,.28) 30%,
    rgba(0,0,0,.5) 55%,
    rgba(0,0,0,.7) 78%,
    rgba(0,0,0,.88) 100%);
}
.hero-content{
  position:relative;z-index:2;width:var(--container-width);max-width:var(--container-max);margin-inline:auto;
  height:100%;display:flex;flex-direction:column;
  justify-content:flex-end;padding:var(--space-12) 0;
}
.hero-text{max-width:40rem;}
.hero-text .label{color:var(--green-light);display:block;margin-bottom:var(--space-3);}
.hero h1{color:#fff;margin-bottom:var(--space-6);text-shadow:0 0.125rem 1.125rem rgba(0,0,0,.25);}
.hero p{
  color:#fff;font-size:1.25rem;line-height:1.7;max-width:100%;
  margin-bottom:var(--space-8);text-shadow:0 0.0625rem 0.625rem rgba(0,0,0,.3);
}

/* =====================================================
   HODNOTY
   ===================================================== */
.values{background:#fff;border-bottom:1px solid var(--green-light);padding:var(--space-8) 0;}
.values-grid{display:grid;grid-template-columns:1fr;}
.value{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-2);}
.value-icon{
  position:relative;width:3.75rem;height:3.75rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.value-icon::before{
  content:"";position:absolute;inset:-8%;z-index:0;
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.6), rgba(255,255,255,0) 45%),
    radial-gradient(circle at 70% 74%, rgba(120,120,120,.1), rgba(120,120,120,0) 55%),
    var(--turq-pale);
  border-radius:53% 47% 55% 45% / 47% 52% 48% 53%;
  transform:rotate(-3deg);
}
.value:nth-child(2) .value-icon::before{border-radius:48% 52% 46% 54% / 53% 48% 52% 47%;transform:rotate(4deg);}
.value:nth-child(3) .value-icon::before{border-radius:55% 45% 48% 52% / 46% 54% 45% 55%;transform:rotate(-5deg);}
.value:nth-child(4) .value-icon::before{border-radius:46% 54% 53% 47% / 54% 45% 55% 46%;transform:rotate(3deg);}
.value-icon img{position:relative;z-index:1;width:2.25rem;height:2.25rem;object-fit:contain;}
.value h2{font-size:1.275rem;margin-bottom:var(--space-1);}
.value p{font-size:0.875rem;line-height:1.5;color:var(--color-muted);}

/* mobil — menší ikony a mezery mezi jednotlivými hodnotami */
@media (max-width:47.9375rem){
  .values-grid{row-gap:var(--space-8);}
  .value-icon{width:2.75rem;height:2.75rem;}
  .value-icon img{width:1.625rem;height:1.625rem;}
}

/* =====================================================
   NAŠE ŠKOLA
   ===================================================== */
.about{padding:var(--space-12) 0;}
.about-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center;}
.about-text .label{margin-bottom:var(--space-3);display:block;}
.about-text h2{margin-bottom:var(--space-4);position:relative;}
.about-text .spark{position:absolute;top:-0.875rem;left:14.375rem;width:2.5rem;height:2.5rem;object-fit:contain;}
.about-text p{color:#333333;margin-bottom:var(--space-6);max-width:36rem;}
.about-photo img{width:100%;height:16.25rem;object-fit:cover;border-radius:var(--radius-md);
  box-shadow:0 0.875rem 2.25rem rgba(6,28,0,.14);}
.about-photo--bottom img{object-position:center bottom;}
.about-grid--solo{max-width:40rem;margin-inline:auto;text-align:center;}
.about-grid--solo .about-text .spark{display:none;}
.about-grid--solo .about-text p{margin-inline:auto;}

/* mobil/tablet — lísteček kotvíme k pravému okraji nad nadpis, ať nezasahuje do textu */
@media (max-width:61.25rem){
  .about-text h2{padding-right:2.75rem;}
  .about-text .spark{left:auto;right:0;top:-1.5rem;width:2rem;height:2rem;}
}

/* =====================================================
   PROGRAM CARDS
   ===================================================== */
.programs{display:grid;grid-template-columns:1fr;background:#fff;}
.pcard{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid #f0f1e8;}
.pcard:last-child{border-bottom:none;}
.pcard-media{position:relative;width:100%;min-width:0;aspect-ratio:16/9;min-height:15rem;overflow:hidden;}
.pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pcard:hover .pcard-media img{transform:scale(1.05);}
.pcard-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top, rgba(6,28,0,.35) 0%, rgba(6,28,0,0) 45%);
}
.pcard-body{padding:var(--space-6) var(--space-6) var(--space-8);position:relative;flex:1;display:flex;flex-direction:column;}
.pcard-body h2{font-size:1.275rem;margin-bottom:var(--space-2);}
.pcard-body p{font-size:0.9375rem;line-height:1.55;color:var(--color-muted);margin-bottom:var(--space-4);flex:1;}
.pcard-leaf{position:absolute;right:var(--space-6);bottom:var(--space-6);width:2.625rem;height:2.625rem;object-fit:contain;opacity:.9;}
.pcard .text-link{align-self:flex-start;}

/* =====================================================
   AKTUALITY BANNER
   ===================================================== */
.news-banner{background:var(--green-light);}
.news-inner{
  width:var(--container-width);max-width:var(--container-max);margin-inline:auto;padding:var(--space-6) 0;
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);
}
.news-left{display:flex;align-items:center;gap:var(--space-4);}
.news-cal{
  width:3rem;height:3rem;flex-shrink:0;border-radius:var(--radius-sm);background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.news-left h2{font-size:1.275rem;margin-bottom:0.125rem;}
.news-left p{font-size:0.9375rem;color:var(--color-muted);line-height:1.4;}

/* =====================================================
   FOOTER
   ===================================================== */
footer{background:var(--color-primary,var(--green-dark));background:var(--green-dark);color:#fff;padding:var(--space-12) 0 0;}
.foot-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);padding-bottom:var(--space-8);}
.foot-brand .brand{margin-bottom:var(--space-3);}
.foot-brand .brand-name{color:#fff;}
.foot-logo{height:3.5rem;width:auto;display:block;}
.foot-brand p{font-size:0.9375rem;color:rgba(255,255,255,.8);max-width:14rem;margin-bottom:var(--space-4);}
.foot-brand p a:hover{color:#fff;}
.foot-brand-contact{margin-top:var(--space-8);}
.foot-brand-contact p{font-weight:700;}
.socials{display:flex;gap:var(--space-3);}
.socials a{
  width:2.375rem;height:2.375rem;border-radius:50%;background:rgba(255,255,255,.14);
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.socials a:hover{background:var(--green-mid);}
.socials a i{color:#fff;font-size:1.0625rem;}
.foot-col h3{font-size:1rem;margin-bottom:var(--space-4);color:#fff;}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);}
.foot-col a{font-size:0.9375rem;color:rgba(255,255,255,.8);transition:color .15s;}
.foot-col a:hover{color:#fff;}
.foot-contact p{font-size:0.9375rem;color:rgba(255,255,255,.8);margin-bottom:var(--space-2);}
.foot-legal{font-size:0.8125rem !important;color:rgba(255,255,255,.62) !important;line-height:1.5;margin-top:var(--space-3);}
.foot-map{
  margin-top:var(--space-3);width:10rem;height:6.25rem;border-radius:var(--radius-sm);overflow:hidden;
  position:relative;background:#c9d6c0;display:flex;align-items:center;justify-content:center;
  transition:opacity .2s;
}
.foot-map:hover{opacity:.85;}
.foot-map .roads{position:absolute;inset:0;width:100%;height:100%;}
.foot-map .pin{position:relative;z-index:2;width:1.625rem;height:1.625rem;}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.16);
  padding:var(--space-4) 0 var(--space-6);
}
.foot-bottom .copy{font-size:0.8125rem;color:rgba(255,255,255,.65);}

/* =====================================================
   HLAVIČKA PODSTRÁNEK (sdílená — Naše hodnoty, Řekli o nás…)
   ===================================================== */
.page-header{background:var(--green-primary);padding:var(--space-12) 0 var(--space-8);}
.page-header h1{color:#fff;}
.page-header .label{color:var(--green-light);}

/* =====================================================
   CHYBOVÁ STRÁNKA 404
   ===================================================== */
.error-page > .container{align-items:center;text-align:center;gap:var(--space-8);}
.error-icon{font-size:clamp(3rem, 2rem + 6vw, 5rem);color:var(--green-primary);line-height:1;}
.error-page p{max-width:42rem;margin-inline:auto;}
.error-page .hero-cta-group{justify-content:center;}
.error-page .btn-outline-green{border-color:var(--green-primary);}

/* =====================================================
   STRÁNKA — O DEVĚTSILU (magazínový obsahový layout)
   ===================================================== */
.page-content{padding:var(--space-16) 0;}
.page-content > .container{display:flex;flex-direction:column;gap:var(--space-24);}

/* Vzdělávací program — řádky předmětů blíž k sobě než výchozí magazínový rytmus */
.page-content > .container.subjects{gap:var(--space-8);}

/* rychlá fakta pod hero fotkou */
.fact-strip{background:#fff;border-bottom:1px solid var(--green-light);padding:var(--space-8) 0;}
.fact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);}
.fact-num{
  font-family:'Candal',sans-serif;font-weight:400;color:var(--color-primary);
  font-size:clamp(1.75rem, 1.55rem + 1vw, 2.25rem);line-height:1.15;margin-bottom:var(--space-1);
}
.fact-label{font-size:0.9375rem;color:var(--color-muted);}

/* sdílený obsahový blok (Naše hodnoty, Řekli o nás…) */
.content-block{max-width:42rem;margin-bottom:var(--space-12);}
.content-block:last-child{margin-bottom:0;}
.content-block .label{display:block;margin-bottom:var(--space-3);}
.content-block h2{margin-bottom:var(--space-4);}
.content-block h3{margin-bottom:var(--space-3);}
.content-block p{color:var(--color-muted);margin-bottom:var(--space-4);}
.content-block p:last-child{margin-bottom:0;}

/* dvojice obsahových bloků vedle sebe (Vzdělávací program) */
.content-pair{display:grid;grid-template-columns:1fr;gap:var(--space-8);}
.content-pair .content-block{max-width:none;margin-bottom:0;}

/* svislý sled bloků s jednotnou mezerou (např. pravý sloupec vedle karty kontaktů) */
.stack{display:flex;flex-direction:column;gap:var(--space-8);}

/* barevné, mírně nakloněné karty jednotlivých předmětů (Vzdělávací program) */
.subject-card{
  border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);
  box-shadow:0 0.5rem 1.5rem rgba(6,28,0,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.subject-card:hover{transform:rotate(0deg) translateY(-0.1875rem);box-shadow:0 0.875rem 2rem rgba(6,28,0,.12);}
.subject-card.mag-block{padding:var(--space-6);}
.subject-card .mag-photo img{box-shadow:none;}
.subject-card .subject-photo{
  display:block;width:calc(100% + 2 * var(--space-8));max-width:none;height:auto;aspect-ratio:16/9;min-height:15rem;object-fit:cover;object-position:center top;
  margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-8)) var(--space-4);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}

.subject-card--cs{background:var(--green-light);transform:rotate(-1deg);}
.subject-card--en{background:var(--turq-light);transform:rotate(1.2deg);}
.subject-card--ma{background:var(--sand-light);transform:rotate(-0.8deg);}
.subject-card--in{background:var(--mid-light);transform:rotate(1deg);}
.subject-card--pr{background:var(--gold-light);transform:rotate(-1.3deg);}
.subject-card--um{background:var(--turq-light);transform:rotate(0.9deg);}
.subject-card--tv{background:var(--green-light);transform:rotate(-1.1deg);}
.subject-card--sp{background:var(--sand-light);transform:rotate(1.3deg);}

/* mobil — karty předmětů narovnat, ať nakloněný roh nepřečnívá přes okraj obrazovky */
@media (max-width:47.9375rem){
  .subject-card{transform:none!important;}
}

/* obecné texty v magazínových blocích */
.mag-text p.lead-text,
.split-text p.lead-text{
  font-size:clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);font-weight:700;
  color:var(--color-text);line-height:1.5;margin-bottom:var(--space-4);
}

/* KDO JSME — text + zvýrazněná citace vedle sebe */
.split-block{display:grid;grid-template-columns:1fr;gap:var(--space-8);}
.split-block .split-text{order:1;}
.split-block .highlight-card{order:2;}
.split-text .label{display:block;margin-bottom:var(--space-3);}
.split-text p{color:var(--color-muted);margin-bottom:var(--space-4);}
.split-text p:last-child{margin-bottom:0;}

.highlight-card{
  background:#fff;border-radius:var(--radius-lg);border-left:0.25rem solid var(--green-mid);
  box-shadow:0 0.75rem 2rem rgba(6,28,0,.08);
  padding:var(--space-6);
  transform:rotate(-1.1deg);transition:transform .2s ease;
}
.highlight-card:hover{transform:rotate(0deg);}
.split-block--reverse .highlight-card{transform:rotate(0.9deg);}
.split-block--reverse .highlight-card:hover{transform:rotate(0deg);}
.split-block--tilt3 .highlight-card{transform:rotate(-0.6deg);}
.split-block--tilt3 .highlight-card:hover{transform:rotate(0deg);}
.highlight-card .quote-flower{width:2.5rem;height:2.9375rem;object-fit:contain;object-position:left top;margin:var(--space-4) 0 var(--space-3);}
.highlight-card .card-icon{width:2.75rem;height:2.75rem;object-fit:contain;object-position:left top;margin-bottom:var(--space-3);}
.highlight-card blockquote{
  font-family:'Nunito Sans',sans-serif;font-style:italic;font-weight:700;
  font-size:clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);line-height:1.55;color:var(--green-dark);
}

/* velký magazínový pull-quote */
.pull-quote{
  background:var(--green-dark);border-radius:var(--radius-lg);
  padding:var(--space-8) var(--space-6);text-align:center;
}
.pull-quote .quote-flower{margin:0 auto var(--space-4);width:2.5rem;height:2.9375rem;object-fit:contain;}
.pull-quote .label{display:block;margin-bottom:var(--space-4);color:var(--green-light);}
.pull-quote p{
  font-family:'Candal',sans-serif;font-weight:400;color:#fff;
  font-size:clamp(1.75rem, 1.4rem + 1.8vw, 2.875rem);line-height:1.25;
  max-width:46rem;margin-inline:auto;
}

/* VIZE — fotka + text + pilíře */
.mag-block{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:center;}
/* na mobilu text nad fotkou i tam, kde je fotka v HTML první kvůli střídání stran */
@media (max-width:47.9375rem){
  .mag-block--text-first-mobile .mag-text{order:0;}
  .mag-block--text-first-mobile .mag-photo{order:1;}
}
/* Prostředí školy/školky — na mobilu vždy nejdřív fotka, pak text */
@media (max-width:47.9375rem){
  .photos-first .mag-block .mag-photo{order:0;}
  .photos-first .mag-block .mag-text{order:1;}
}
.mag-text .label{display:block;margin-bottom:var(--space-3);}
.mag-text h2{margin-bottom:var(--space-4);}
.mag-icon{width:3rem;height:auto;margin-bottom:var(--space-3);}
.mag-text p{color:var(--color-muted);margin-bottom:var(--space-4);}
.mag-photo{position:relative;}
.mag-photo img{
  width:100%;height:16.25rem;object-fit:cover;border-radius:var(--radius-md);
  box-shadow:0 0.875rem 2.25rem rgba(6,28,0,.14);
}

/* varianta s ukotvením výřezu nahoře na střed (Vize — O nás) */
.mag-photo--top img{object-position:left center;height:auto;aspect-ratio:1440/1265;}

/* varianta s ukotvením výřezu nahoře na střed (ředitel — Průběh přijímání) */
.mag-photo--dir img{object-position:top center;}

/* varianta se zobrazením celého obrázku bez oříznutí (Granty a dotace — bannery a loga) */
.mag-photo--full{background:var(--color-background);border-radius:var(--radius-md);box-shadow:0 0.875rem 2.25rem rgba(6,28,0,.14);}
.mag-photo--full img{height:16.25rem;object-fit:contain;box-shadow:none;padding:var(--space-4);}

/* varianta obrázek nahoře, text pod ním — vždy jeden sloupec (Granty a dotace) */
.mag-block--stacked{grid-template-columns:1fr;max-width:46rem;margin-inline:auto;}

/* úvodní věta pod zeleným pruhem hlavičky (Granty a dotace) */
.lead-intro{
  font-size:clamp(1.25rem,1.1rem + 0.6vw,1.625rem);font-weight:700;
  color:var(--color-text);line-height:1.5;max-width:46rem;margin-inline:auto;text-align:center;
}

/* varianta s vyšší hlavní fotkou (Koncepce školy — pár fotek s přesahem) */
.mag-photo--tall img{height:19rem;}

/* varianta s vyšší fotkou (Prostředí školy) */
.mag-photo--taller img{height:17.5rem;}

/* varianta portrétní fotky bez oříznutí, na celou výšku (Náš tým) */
.mag-photo--portrait img{height:auto;object-fit:contain;}

/* menší nakloněná fotka přes hlavní snímek */
.mag-photo .accent-photo{
  position:absolute;z-index:2;bottom:-1.75rem;right:-1.75rem;
  width:37%;aspect-ratio:4/3;height:auto;object-fit:cover;
  border-radius:var(--radius-md);border:0.25rem solid #fff;
  box-shadow:0 0.875rem 2.25rem rgba(6,28,0,.2);
  transform:rotate(-6deg);
}
.mag-photo .accent-photo--top-left{
  top:1rem;bottom:auto;left:1rem;right:auto;
  transform:rotate(6deg);
}
/* mobil — malá fotka nesmí přesahovat přes okraj, jinak posouvá stránku */
@media (max-width:47.9375rem){
  .mag-photo .accent-photo{right:0.75rem;bottom:-1.25rem;width:40%;}
  .mag-photo .accent-photo--top-left{left:0.75rem;right:auto;}
}

/* rozbalovací text — "Zobrazit více" */
.mag-text strong{font-weight:700;}

/* Naše hodnoty — na mobilu vždy pořadí ikona/text → fotka bez ohledu na střídání v DOM */
@media (max-width:47.9375rem){
  .values-flow .mag-block .mag-text{order:0;}
  .values-flow .mag-block .mag-photo{order:1;}
}
.text-collapse .text-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.text-collapse .text-more > div{overflow:hidden;}
.text-collapse.is-expanded .text-more{grid-template-rows:1fr;}
.more-toggle{
  display:inline-flex;align-items:center;gap:var(--space-2);
  background:none;border:none;padding:0;margin-top:var(--space-1);cursor:pointer;
  font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:0.875rem;
  color:var(--color-secondary);text-transform:uppercase;letter-spacing:0.06em;
}
.more-toggle:hover{text-decoration:underline;}
.more-toggle .chevron{transition:transform .25s ease;}
.text-collapse.is-expanded .more-toggle .chevron{transform:rotate(180deg);}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6);margin-top:var(--space-6);}
.pillar{display:flex;align-items:center;gap:var(--space-3);}
.pillar-icon{
  width:3.25rem;height:3.25rem;border-radius:50%;background:var(--turq-light);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.pillar-icon img{width:2rem;height:2rem;object-fit:contain;}
.pillar span{font-weight:700;font-size:0.9375rem;color:var(--color-text);}

/* DEVĚTSIL JE DOBRÁ VOLBA — editorní seznam s lístečky */
.criteria-band{background:#fff;padding:var(--space-12) 0;}
.criteria-head{margin-bottom:var(--space-8);}
.criteria-head .label{display:block;margin-bottom:var(--space-3);}
.criteria-head h2{margin:0;}
.criteria-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr;gap:var(--space-6);
}
.criteria-list li{display:flex;align-items:center;gap:var(--space-4);}
.criteria-leaf{width:1.25rem;height:auto;flex-shrink:0;}
.criteria-list li span{
  font-size:1.125rem;font-weight:700;color:var(--color-text);line-height:1.4;
}

/* kompaktní varianta — menší ikony a řádkování (Vzdělávací program: metody) */
.criteria-list--compact{gap:var(--space-3);}
.criteria-list--compact li{gap:var(--space-3);}
.criteria-list--compact .criteria-leaf{width:1.125rem;}
.criteria-list--compact li span{font-size:1rem;line-height:1.3;}

/* PRŮBĚH PŘIJÍMÁNÍ — časová osa se 4 kroky */
.timeline{list-style:none;margin:0;padding:0;}
.timeline-step{position:relative;padding-left:3.75rem;padding-bottom:var(--space-16);}
.timeline-step:last-child{padding-bottom:0;}
.timeline-num{
  position:absolute;left:0;top:0;z-index:1;
  width:2.75rem;height:2.75rem;border-radius:50%;
  background:var(--green-dark);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Candal',sans-serif;font-size:1.125rem;
}
.timeline-step:not(:last-child)::after{
  content:'';position:absolute;left:1.375rem;top:2.75rem;bottom:0;
  width:0.125rem;background:var(--green-light);
}
.timeline-step h3{font-size:1.0625rem;margin-bottom:var(--space-1);color:var(--color-primary);}
.timeline-step p{color:var(--color-muted);margin:0;}
.timeline-cta{margin-top:var(--space-12);justify-content:center;}

/* PŘIJÍMÁNÍ DĚTÍ — karty s podmínkami přijetí do LMŠ a ZŠ */
.admission-band{background:#fff;padding:var(--space-12) 0;}
.admission-cards{display:grid;grid-template-columns:1fr;gap:var(--space-6);}
.admission-card{
  background:var(--bg);border-radius:var(--radius-lg);border-left:0.25rem solid var(--green-mid);
  padding:var(--space-6);
}
.admission-card h2,.admission-card h3{margin-bottom:var(--space-4);font-size:clamp(1.375rem, 1.3rem + 0.35vw, 1.5rem);}
.admission-list{display:flex;flex-direction:column;}
.admission-row{
  display:flex;flex-direction:column;gap:var(--space-1);
  padding:var(--space-3) 0;border-top:1px solid #e4e8da;
}
.admission-row:first-child{border-top:none;padding-top:0;}
.admission-row dt{
  font-size:0.8125rem;font-weight:600;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--color-secondary);
}
.admission-row dd{margin:0;font-weight:700;color:var(--color-text);overflow-wrap:break-word;}

/* OSOBNÍ PŘEDSTAVENÍ — citace ředitele vedle jeho fotky */
.director-text{display:flex;flex-direction:column;gap:var(--space-3);}
.director-text .quote-mark{
  font-family:'Candal',sans-serif;font-size:4rem;line-height:1;
  color:var(--green-mid);
}
.director-quote{
  font-style:italic;font-weight:700;color:var(--green-dark);
  font-size:clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem);line-height:1.5;
  border-left:0.25rem solid var(--green-mid);padding-left:var(--space-4);
  margin-top:calc(var(--space-4) * -1);
}
.director-name{font-weight:700;font-size:1rem;}
.director-contact{font-size:0.875rem;color:var(--color-muted);}
.director-contact a{color:var(--color-secondary);font-weight:700;}
.director-contact a:hover{text-decoration:underline;}
.director-text .btn{align-self:flex-start;margin-top:var(--space-2);}
.admission-note{font-size:0.8125rem;color:var(--color-muted);margin-top:var(--space-4);}

/* KONTAKT — karty vedení školy s fotkou */
.staff-section .content-block{margin-bottom:var(--space-8);}
.staff-cards{display:grid;grid-template-columns:1fr;gap:var(--space-6);}
.staff-card{
  display:flex;gap:var(--space-4);align-items:flex-start;
  background:var(--bg);border-radius:var(--radius-lg);border-left:0.25rem solid var(--green-mid);
  padding:var(--space-6);
}
.staff-photo{
  width:9rem;height:9rem;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;
}
.staff-info{min-width:0;}
.staff-info h3{font-size:1.25rem;line-height:1.1;margin-bottom:var(--space-1);}
.staff-role{display:block;font-size:1rem;color:var(--color-muted);margin-bottom:var(--space-2);}
.staff-info p{margin:0;font-size:1.0625rem;line-height:1.5;overflow-wrap:break-word;}
.staff-info a{color:var(--color-text);}

/* mobil — fotka nad kontaktem, ať se dlouhý e-mail vejde na šířku obrazovky */
@media (max-width:47.9375rem){
  .staff-card{flex-direction:column;align-items:flex-start;}
  .staff-photo{width:7rem;height:7rem;}
}

/* ODZNAK STAVU (např. registrace na akci) */
.badge{
  display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;
  font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;
  border-radius:999px;padding:var(--space-1) var(--space-3);
}
.badge::before{content:'';width:0.5rem;height:0.5rem;border-radius:50%;background:currentColor;}
.badge--success{background:var(--green-light);color:var(--green-dark);}

/* DNY OTEVŘENÝCH DVEŘÍ — karty s termíny akcí */
.event-cards{display:grid;grid-template-columns:1fr;gap:var(--space-6);max-width:52rem;}
.event-card{
  background:#fff;border:1px solid var(--green-light);border-left:0.25rem solid var(--green-mid);
  border-radius:var(--radius-lg);padding:var(--space-6);
  box-shadow:0 0.25rem 1rem rgba(6,28,0,.05);
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);
}
.event-card .label{margin-top:var(--space-1);}
.event-card h2{margin:0;font-size:clamp(1.375rem, 1.3rem + 0.35vw, 1.5rem);}
.event-datetime{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;}
.event-date{font-family:'Candal',sans-serif;font-weight:400;font-size:1.125rem;color:var(--color-primary);}
.event-time{font-size:0.9375rem;color:var(--color-muted);}
.event-card .btn{margin-top:auto;}
.event-note{
  text-align:center;background:#fff;border:0.125rem dashed var(--green-light);
  border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);
  display:flex;flex-direction:column;align-items:center;gap:var(--space-3);
}

/* závěrečná CTA výzva */
.cta-band{background:var(--green-dark);padding:var(--space-12) 0;text-align:center;}
.cta-band h2{color:#fff;margin-bottom:var(--space-4);}
.cta-band p{color:rgba(255,255,255,.82);max-width:32rem;margin:0 auto var(--space-6);}

/* =====================================================
   HERO — UDÁLOST (Den otevřených dveří v hero sekci)
   ===================================================== */
.hero-event{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);
  border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);
  backdrop-filter:blur(0.375rem);-webkit-backdrop-filter:blur(0.375rem);
}
.hero-event-icon{
  width:3rem;height:3rem;flex-shrink:0;border-radius:var(--radius-sm);background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.hero-event-info{display:flex;flex-direction:column;gap:0.125rem;margin-right:auto;}
.hero-event-title{font-weight:700;font-size:0.9375rem;color:#fff;}
.hero-event-time{font-size:0.875rem;color:rgba(255,255,255,.85);}

/* =====================================================
   ROZCESTNÍK (odkazy na podstránky sekce)
   ===================================================== */
.link-band{background:#fff;border-top:1px solid var(--green-light);padding:var(--space-12) 0;}
.link-band-head{margin-bottom:var(--space-8);}
.link-band-head .label{display:block;margin-bottom:var(--space-3);}
.link-band-head h2{margin:0;}
.link-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--space-4);}
.link-card{
  display:flex;align-items:center;gap:var(--space-4);
  background:var(--bg);border:1px solid var(--green-light);border-radius:var(--radius-md);
  padding:var(--space-4) var(--space-6);
  transition:background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.link-card:hover{background:#fff;box-shadow:0 0.75rem 2rem rgba(6,28,0,.1);transform:translateY(-0.125rem);}
.link-card-icon{width:2rem;height:2rem;object-fit:contain;flex-shrink:0;}
.link-card span{flex:1;font-weight:700;font-size:1rem;color:var(--color-text);}
.link-card .arr{flex-shrink:0;}
.link-card:hover .arr{transform:translateX(4px);}

/* =====================================================
   STRÁNKA — ŘEKLI O NÁS (testimonial karty)
   ===================================================== */
.testimonials{margin-bottom:0;}
.testimonials:last-child{margin-bottom:0;}
.testimonials-head{max-width:42rem;margin-bottom:var(--space-6);}
.testimonials-head h2{margin-bottom:0;}
/* nadpis "Zkušenosti s návazností po Devětsilu" navazuje přímo na první blok
   (obchází velký gap mezi přímými dětmi .page-content > .container) */
.navaznost-intro{display:flex;flex-direction:column;gap:var(--space-6);}
.navaznost-intro .testimonials-head--tight{margin-bottom:0;}
.navaznost-intro .split-block{align-items:start;}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);}
.testimonial-card{
  background:#fff;border:1px solid var(--green-light);border-radius:var(--radius-lg);
  padding:var(--space-6);display:flex;flex-direction:column;
  transform:rotate(-1.1deg);transition:transform .2s ease;
}
.testimonial-card:hover{transform:rotate(0deg) translateY(-0.1875rem);}
.testimonials-grid .testimonial-card:nth-child(4n+2){transform:rotate(0.9deg) translateY(0.1875rem);}
.testimonials-grid .testimonial-card:nth-child(4n+3){transform:rotate(-0.5deg) translateY(-0.125rem);}
.testimonials-grid .testimonial-card:nth-child(4n+4){transform:rotate(1.3deg) translateY(0.0625rem);}
.testimonials-grid .testimonial-card:nth-child(4n+2):hover,
.testimonials-grid .testimonial-card:nth-child(4n+3):hover,
.testimonials-grid .testimonial-card:nth-child(4n+4):hover{transform:rotate(0deg) translateY(-0.1875rem);}
.testimonial-card .quote-flower{width:2rem;height:2.375rem;margin-bottom:var(--space-3);}
.testimonial-card .card-icon{width:2.25rem;height:2.25rem;object-fit:contain;object-position:left top;margin-bottom:var(--space-3);}
.testimonial-card blockquote{
  font-family:'Nunito Sans',sans-serif;font-style:italic;font-weight:600;
  font-size:0.9375rem;line-height:1.65;color:var(--color-text);
}
.testimonial-card cite{
  font-style:normal;font-size:0.75rem;font-weight:600;text-transform:uppercase;
  letter-spacing:0.08em;color:var(--gold);margin-top:var(--space-4);display:block;
}

/* Řekli o nás rodiče / děti — tónovaný panel a přerušovaný rámeček, každý v jiné barvě */
.testimonials--parents{
  background:var(--green-light);border-radius:var(--radius-lg);
  padding:var(--space-8) var(--space-6);
}
.testimonials--parents .testimonial-card{
  background:#fff;border:0.125rem dashed var(--green-mid);
}
.testimonials--parents .testimonial-card cite{color:var(--green-primary);}

.testimonials--kids{
  background:var(--turq-light);border-radius:var(--radius-lg);
  padding:var(--space-8) var(--space-6);
}
.testimonials--kids .testimonial-card{
  background:#fff;border:0.125rem dashed var(--turq);
}
.testimonials--kids .testimonial-card cite{color:var(--turq);}

/* =====================================================
   STRÁNKA — DOMLUVIT NÁVŠTĚVU (registrační formulář)
   ===================================================== */
.visit-layout{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start;}
.visit-layout .content-block{max-width:none;margin-bottom:0;}
.visit-photo{
  width:100%;height:auto;border-radius:var(--radius-md);
  box-shadow:0 0.875rem 2.25rem rgba(6,28,0,.14);
}

.visit-form-wrap{
  background:#fff;border-radius:var(--radius-lg);box-shadow:0 0.75rem 2rem rgba(6,28,0,.08);
  padding:var(--space-8) var(--space-6);width:100%;
}
.visit-form{display:grid;grid-template-columns:1fr;gap:var(--space-6);}

.form-group{display:flex;flex-direction:column;gap:var(--space-2);}
.form-group label{font-size:0.875rem;font-weight:700;color:var(--color-text);}

.form-group input,
.form-group select,
.form-group textarea{
  font-family:'Nunito Sans',sans-serif;font-size:1rem;color:var(--color-text);
  background:var(--bg);border:0.125rem solid #e3e7d8;border-radius:var(--radius-sm);
  padding:var(--space-3) var(--space-4);width:100%;
  transition:border-color .2s ease, background .2s ease;
}
.form-group input::placeholder,
.form-group textarea::placeholder{color:#9a9d8f;}
.form-group input:focus-visible,
.form-group select:focus-visible,
.form-group textarea:focus-visible{
  outline:2px solid var(--green-dark);outline-offset:2px;
  border-color:var(--color-secondary);background:#fff;
}
.form-group textarea{resize:vertical;min-height:6.5rem;}

.form-group select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' stroke='%23538210' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:0.75rem;
  padding-right:var(--space-8);
}

.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.form-submit-row{
  flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-2);
}
.btn-submit{text-transform:uppercase;width:100%;justify-content:center;}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.form-required-note{font-size:0.8125rem;color:var(--color-muted);}

.form-status{margin-top:var(--space-6);font-weight:700;text-align:center;}
.form-status--success{color:var(--color-secondary);}
.form-status--error{color:#b3261e;}

@media (min-width:61.25rem){
  .visit-layout{grid-template-columns:0.85fr 1.15fr;gap:var(--space-12);}
}

/* =====================================================
   TABLET — od 768px
   ===================================================== */
@media (min-width:48rem){
  .nav-menu{
    display:flex;flex-direction:row;align-items:center;gap:1.625rem;
    position:static;background:none;padding:0;box-shadow:none;border-bottom:none;
  }
  .nav-menu > li{border-bottom:none;}
  .nav-menu > li > a{padding:var(--space-2) 0;font-size:0.875rem;}
  .nav-menu .dropdown{
    position:absolute;opacity:0;visibility:hidden;transform:translateY(0.5rem);
    box-shadow:0 1rem 2.5rem rgba(6,28,0,.16);border:1px solid #eef0e6;padding:var(--space-2);
  }
  .nav-cta .btn{display:inline-flex;}
  .nav-menu.open > li.nav-cta-mobile{display:none;}
  .hamburger{display:none;}

  .hero-content{justify-content:center;padding:0;}
  .hero-overlay{background:linear-gradient(90deg,
    rgba(0,0,0,.88) 0%,
    rgba(0,0,0,.6) 28%,
    rgba(0,0,0,.35) 50%,
    rgba(0,0,0,.12) 70%,
    rgba(0,0,0,0) 100%);}
  .hero p{max-width:36rem;}

  .content-pair{grid-template-columns:1fr 1fr;gap:var(--space-8);}

  .visit-form{grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-6);}
  .form-group--full{grid-column:1 / -1;}
  .btn-submit{width:auto;}

  .values-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6) 0;}
  .value{border-right:1px solid #ebeede;padding:var(--space-2) var(--space-6);}
  .value:nth-child(2n){border-right:none;}

  .about{padding:var(--space-8) 0;}
  .about-grid{grid-template-columns:1fr 1fr;}

  .fact-grid{grid-template-columns:repeat(3,1fr);}
  .fact{padding:0 var(--space-6);border-left:1px solid var(--green-light);}
  .fact:first-child{border-left:none;padding-left:0;}

  .split-block{grid-template-columns:1.6fr 1fr;align-items:center;}
  .split-block--reverse{grid-template-columns:1fr 1.6fr;}
  .split-block--reverse .split-text{order:2;}
  .split-block--reverse .highlight-card{order:1;}

  .mag-block{grid-template-columns:1fr 1fr;gap:var(--space-8);}
  .mag-block--stacked{grid-template-columns:1fr;}
  .mag-photo img{height:22rem;}
  .mag-photo--top img{height:auto;}
  .mag-photo--portrait img{height:auto;}
  .mag-photo--full img{height:22rem;}
  .mag-photo--tall img{height:27rem;}
  .mag-photo--taller img{height:26rem;}
  .mag-photo .accent-photo{bottom:-2.25rem;right:-2.25rem;width:34%;}
  .mag-photo .accent-photo--top-left{top:1.25rem;bottom:auto;left:1.25rem;right:auto;}
  .pull-quote{padding:var(--space-12) var(--space-8);}
  .criteria-list{grid-template-columns:1fr 1fr;column-gap:var(--space-8);}
  .criteria-list--compact{column-gap:var(--space-6);}
  .admission-cards{grid-template-columns:1fr 1fr;}
  .admission-row{flex-direction:row;align-items:baseline;gap:var(--space-4);}
  .admission-row dt{flex-shrink:0;min-width:9.5rem;}
  .admission-row dd{flex:1;}
  .staff-cards{grid-template-columns:1fr 1fr;}
  .event-cards{grid-template-columns:1fr 1fr;}

  .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-16);position:relative;}
  .timeline-step{padding-left:0;padding-top:3.75rem;padding-bottom:0;text-align:center;}
  .timeline-num{left:50%;transform:translateX(-50%);}
  .timeline-step:not(:last-child)::after{
    left:calc(50% + 1.375rem);top:1.375rem;bottom:auto;
    width:calc(100% + var(--space-16) - 2.75rem);height:0.125rem;
  }
  .about-photo img{height:21.25rem;}
  .testimonials-grid{grid-template-columns:1fr 1fr;}

  .programs{grid-template-columns:repeat(3,1fr);}
  .pcard{border-right:1px solid #f0f1e8;border-bottom:none;}
  .pcard:last-child{border-right:none;}

  .news-inner{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-8) 0;}

  .link-grid{grid-template-columns:1fr 1fr;}

  .foot-grid{grid-template-columns:1fr 1fr;}
}

/* =====================================================
   DESKTOP — od 980px
   ===================================================== */
@media (min-width:61.25rem){
  .values-grid{grid-template-columns:repeat(4,1fr);gap:0;}
  .value{padding:var(--space-2) var(--space-6);}
  .value:not(:last-child){border-right:1px solid #ebeede;}
  .value:nth-child(2n){border-right:1px solid #ebeede;}
  .value:last-child{border-right:none;}
  .value:first-child{padding-left:var(--space-2);}

  .about-grid{grid-template-columns:1fr 1fr;gap:var(--space-8);}
  .about-text .spark{left:auto;right:0;}

  .foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr;gap:var(--space-8);}
}

/* =====================================================
   VELKÉ OBRAZOVKY — jemné rozvolnění nad 1600px (4K)
   ===================================================== */
@media (min-width:100rem){
  :root{--container-max:88rem;}
}

/* modifikátor — vycentrovaný výřez hero fotky (přebíjí object-position napříč breakpointy) */
.hero-photo--center{object-position:center center;}
.hero-photo--left-bottom{object-position:left bottom;}
.hero-photo--center-bottom{object-position:center bottom;}
.hero-photo--right-top{object-position:right top;}

/* hero fotka na index.html — výřez zarovnaný nahoru doprava (desktop i mobil) */
.hero-photo--top-right{object-position:top right;}

/* na mobilu má hero fotka (o-nas: onas_mobil.jpg) výřez zarovnaný vlevo nahoru */
@media (max-width:47.9375rem){
  .hero-photo--mobil-left-top{object-position:left top;}
  .hero-photo--mobil-left-bottom{object-position:left bottom;}
}

/* na mobilu je hero sekce (a tím i fotka) vyšší */
@media (max-width:47.9375rem){
  .hero--tall{height:80vh;}
}

/* modifikátor — levá část fotky. Na širokých obrazovkách je box vůči fotce
   širší než její poměr stran, takže cover ořezává jen nahoře/dole a samotné
   object-position:left by nic neudělalo — proto fotku přiblížíme a ukotvíme
   vlevo, aby se pravá část spolehlivě oříznula i na velkých monitorech. */
.hero-photo--left{
  object-position:center bottom;
  transform:scale(1.35);
  transform-origin:left bottom;
}

/* =====================================================
   STRÁNKA — NEJČASTĚJŠÍ DOTAZY (accordion, po skupinách)
   ===================================================== */
.faq-group{display:flex;flex-direction:column;}
.faq-group-head{margin-bottom:var(--space-6);}
.faq-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--space-4);align-content:start;}
.faq-item{
  background:#fff;border:1px solid var(--green-light);border-radius:var(--radius-md);
  overflow:hidden;align-self:start;
}
.faq-item h3{margin:0;font-size:1rem;}
.faq-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  background:none;border:none;cursor:pointer;text-align:left;
  padding:var(--space-4) var(--space-6);
  font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:0.9375rem;color:var(--color-text);
  transition:color .15s ease;
}
.faq-toggle:hover{color:var(--color-secondary);}
.faq-chevron{flex-shrink:0;color:var(--color-secondary);transition:transform .25s ease;}
.faq-item.is-open .faq-chevron{transform:rotate(180deg);}
.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.faq-panel-inner{overflow:hidden;}
.faq-item.is-open .faq-panel{grid-template-rows:1fr;}
.faq-panel p{padding:0 var(--space-6);margin:0 0 var(--space-3);color:var(--color-muted);font-size:0.9375rem;line-height:1.6;}
.faq-panel p:last-child{margin-bottom:0;padding-bottom:var(--space-6);}

@media (min-width:48rem){
  .faq-list{grid-template-columns:1fr 1fr;column-gap:var(--space-6);row-gap:var(--space-4);}
}

/* =====================================================
   DENNÍ ROZVRH (Den ve škole)
   ===================================================== */
.day-layout{display:grid;grid-template-columns:1fr;gap:var(--space-16);align-items:start;}
.day-cta{margin-top:20px;}

.schedule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4);}
.schedule-item{
  display:flex;flex-direction:column;gap:var(--space-1);
  padding:var(--space-4) var(--space-6);background:#fff;
  border:1px solid var(--green-light);border-radius:var(--radius-md);
}
.schedule-time{
  font-family:'Candal',sans-serif;font-weight:400;color:var(--color-primary);
  font-size:1rem;letter-spacing:0.02em;
}
.schedule-item h3{font-size:1.0625rem;margin-top:var(--space-1);}
.schedule-item p{font-size:0.9375rem;color:var(--color-muted);line-height:1.5;margin:0;}
.schedule-list + .content-block{margin-top:var(--space-12);}

/* sloupec fotek ze života školy — nepravidelně nakloněné snímky pod sebou */
.day-gallery{display:flex;flex-direction:column;gap:var(--space-8);padding-top:var(--space-2);max-width:28rem;margin-inline:auto;}
.day-photo{
  background:#fff;border:0.25rem solid #fff;border-radius:var(--radius-md);
  box-shadow:0 0.875rem 2.25rem rgba(6,28,0,.16);
  transition:transform .2s ease;
}
.day-photo:hover{transform:rotate(0deg) !important;}
.day-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius-md) - 0.25rem);}

.day-photo:nth-child(1){transform:rotate(-2.4deg);width:78%;margin-left:0;align-self:flex-start;}
.day-photo:nth-child(2){transform:rotate(1.8deg);width:68%;align-self:flex-end;margin-top:calc(var(--space-6) * -0.4);}
.day-photo:nth-child(3){transform:rotate(-1.1deg);width:84%;align-self:center;}
.day-photo:nth-child(4){transform:rotate(2.6deg);width:64%;align-self:flex-start;margin-left:8%;}
.day-photo-wide{width:92%!important;}
.day-photo-wide img{aspect-ratio:16/9;}
.day-photo-widest{width:94%!important;}
.day-photo-widest img{aspect-ratio:16/9;}
.day-photo-large{width:84%!important;}

/* Den ve škole — větší fotky galerie na mobilu (zachovává nakloněný sled) */
@media (max-width:47.9375rem){
  .day-gallery--big-mobile{max-width:none;gap:var(--space-6);}
  .day-gallery--big-mobile .day-photo:nth-child(1){width:96%;}
  .day-gallery--big-mobile .day-photo:nth-child(2){width:90%;}
  .day-gallery--big-mobile .day-photo:nth-child(3){width:98%;}
  .day-gallery--big-mobile .day-photo:nth-child(4){width:88%;margin-left:2%;}
}

@media (min-width:48rem){
  .schedule-item{flex-direction:row;align-items:flex-start;gap:var(--space-6);}
  .schedule-time{flex-shrink:0;min-width:7.5rem;padding-top:0.1875rem;}
  .schedule-item h3{margin-top:0;}
}

@media (min-width:61.25rem){
  .day-layout{grid-template-columns:1.5fr 1fr;gap:var(--space-12);}
}
