/* Schuberth Institut — art direction: ŠVÝCARSKÝ (styl 5)
   bílá, hairline mřížka, grotesk, číslované moduly, jediný akcent (signální červená) */

:root{
  --paper:#ffffff;
  --paper2:#f5f5f5;   /* Silver — iPhone 17 Pro */
  --paper3:#e6e6e8;
  --ink:#111113;
  --sub:#6b6b70;
  --line:#d8d8dc;
  --blue:#32374a;     /* Deep Blue — iPhone 17 Pro */
  --orange:#f77e2d;   /* Cosmic Orange — iPhone 17 Pro */
  --red:#f77e2d;      /* zpětná kompatibilita: grafický akcent = Cosmic Orange */
  --maxw:1200px;
  --pad:clamp(18px,4vw,40px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  font-size:17px;line-height:1.6;font-feature-settings:'ss01','cv05';
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.mono{font-variant-numeric:tabular-nums;font-family:'Inter',ui-monospace,monospace;letter-spacing:.02em}

/* ---------- typografie ---------- */
h1,h2,h3,h4{margin:0;letter-spacing:-.03em;line-height:1.04;font-weight:700}
h1{font-size:clamp(38px,6.4vw,86px)}
h2{font-size:clamp(28px,4vw,50px);letter-spacing:-.028em}
h3{font-size:clamp(19px,2vw,25px);letter-spacing:-.02em;line-height:1.2}
p{margin:0 0 1em}
.lead{font-size:clamp(18px,2vw,23px);line-height:1.45;color:#2b2b2f;letter-spacing:-.01em}
.sub{color:var(--sub)}
.small{font-size:14px;line-height:1.5}
.kicker{
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  color:var(--sub);display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.kicker::before{content:"";width:26px;height:2px;background:var(--orange);flex:none}
.red{color:var(--blue);font-weight:600}

/* ---------- oznamovací pruh ---------- */
.ticker{background:var(--ink);color:#fff;font-size:13.5px}
.ticker .wrap{display:flex;gap:16px;align-items:center;justify-content:center;
  padding-top:9px;padding-bottom:9px;flex-wrap:wrap;text-align:center}
.ticker b{font-weight:600}
.ticker .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.ticker a{color:#fff;text-underline-offset:3px}

/* ---------- hlavička ---------- */
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
header.site .bar{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .mark{width:34px;height:34px;background:var(--ink);color:#fff;display:grid;place-items:center;
  font-weight:700;font-size:15px;letter-spacing:-.04em}
.brand .nm{font-weight:700;letter-spacing:-.025em;font-size:17px;line-height:1.05}
.brand .nm span{display:block;font-weight:400;font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--sub);margin-top:2px}
nav.main{display:flex;gap:28px;align-items:center}
nav.main a{text-decoration:none;font-size:15px;color:#3a3a3f;padding:4px 0;border-bottom:1px solid transparent}
nav.main a:hover{color:var(--ink);border-color:var(--ink)}
nav.main a.on{color:var(--ink);font-weight:600;border-color:var(--orange)}
.burger{display:none;border:1px solid var(--line);background:#fff;width:42px;height:38px;cursor:pointer}
.burger span{display:block;width:18px;height:1.5px;background:var(--ink);margin:3.5px auto}
@media(max-width:900px){
  nav.main{position:fixed;inset:70px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 20px;display:none}
  nav.main.open{display:flex}
  nav.main a{padding:13px 0;border-bottom:1px solid var(--line)}
  nav.main .btn{margin-top:14px;text-align:center}
  .burger{display:block}
}

/* ---------- tlačítka ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-size:15px;font-weight:600;
  padding:13px 22px;border:1px solid var(--ink);background:var(--ink);color:#fff;
  transition:.15s ease;letter-spacing:-.01em;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--blue);border-color:var(--blue)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.sm{padding:9px 16px;font-size:14px}
.btns{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- sekce & mřížka ---------- */
section{padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--line)}
section.tight{padding:clamp(40px,5vw,64px) 0}
section.dark{background:var(--ink);color:#fff;border-top:none}
section.dark .sub,section.dark .kicker{color:#9a9aa2}
section.paper{background:var(--paper2)}
.head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:clamp(32px,5vw,56px)}
.head .rt{color:var(--sub);font-size:17px;max-width:46ch}
@media(max-width:820px){.head{grid-template-columns:1fr;align-items:start}}
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.grid>*{background:var(--paper);padding:clamp(22px,3vw,34px)}
section.paper .grid>*{background:var(--paper2)}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- hero ---------- */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px);border-top:none}
.hero h1{margin:0 0 26px;max-width:16ch}
.hero .lead{max-width:60ch;margin-bottom:34px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(40px,6vw,72px)}
.stats div{background:var(--paper);padding:22px 4px 22px 0}
.stats b{display:block;font-size:clamp(28px,4vw,44px);letter-spacing:-.04em;line-height:1;font-weight:700}
.stats span{font-size:13px;color:var(--sub);display:block;margin-top:8px;max-width:22ch}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- moduly ---------- */
.mod{position:relative}
.mod .no{font-size:12px;letter-spacing:.16em;color:var(--blue);font-weight:600;margin-bottom:14px;display:block}
.mod h3{margin-bottom:10px}
.mod p{color:var(--sub);font-size:15.5px;margin-bottom:14px}
.mod ul{margin:0;padding:0;list-style:none;font-size:14.5px}
.mod ul li{padding:7px 0 7px 16px;border-top:1px solid var(--line);position:relative;color:#3a3a3f}
.mod ul li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;background:var(--orange)}
.mod ul li:first-child{border-top:none}

/* ---------- detail modulu (výuka) ---------- */
.detail{display:grid;grid-template-columns:180px 1fr 1fr;gap:clamp(18px,3vw,44px);
  padding:clamp(30px,4vw,52px) 0;border-top:1px solid var(--line);align-items:start}
.detail:first-of-type{border-top:none}
.detail .no{font-size:clamp(42px,6vw,72px);font-weight:700;letter-spacing:-.05em;line-height:.9;color:var(--paper3)}
.detail h3{margin-bottom:12px}
.detail .meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.tag{font-size:12px;border:1px solid var(--line);padding:5px 10px;color:var(--sub);background:#fff}
.osn{margin:0;padding:0;list-style:none}
.osn li{display:flex;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:15px}
.osn li:first-child{border-top:none}
.osn li i{font-style:normal;color:var(--blue);font-size:12px;padding-top:4px;min-width:20px;font-weight:600}
.out{background:var(--paper2);padding:20px 22px;margin-top:4px}
.out h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);margin-bottom:12px}
.out ul{margin:0;padding-left:18px;font-size:15px}
.out ul li{margin-bottom:7px}
@media(max-width:980px){.detail{grid-template-columns:1fr}.detail .no{font-size:40px}}

/* ---------- termín ---------- */
.term{display:grid;grid-template-columns:1.15fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.term>div{background:#fff;padding:clamp(26px,3.5vw,44px)}
.term .when{font-size:clamp(30px,4.2vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.02;margin:6px 0 4px}
.term dl{margin:0;display:grid;grid-template-columns:120px 1fr;gap:0}
.term dt{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);
  padding:12px 0;border-top:1px solid var(--line)}
.term dd{margin:0;padding:12px 0;border-top:1px solid var(--line);font-size:15.5px}
@media(max-width:860px){.term{grid-template-columns:1fr}.term dl{grid-template-columns:100px 1fr}}
.prog{margin:0;padding:0;list-style:none}
.prog li{display:grid;grid-template-columns:112px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);align-items:baseline}
.prog li:first-child{border-top:none}
.prog time{font-weight:600;font-variant-numeric:tabular-nums;font-size:15px}
.prog b{display:block;font-weight:600;letter-spacing:-.01em}
.prog span{color:var(--sub);font-size:14.5px}
@media(max-width:640px){.prog li{grid-template-columns:1fr;gap:2px}}

/* ---------- ceník ---------- */
.price{display:flex;flex-direction:column;height:100%}
.price .amt{font-size:clamp(28px,3.4vw,40px);font-weight:700;letter-spacing:-.04em;margin:16px 0 2px}
.price .per{font-size:13.5px;color:var(--sub);margin-bottom:18px}
.price ul{list-style:none;margin:0 0 22px;padding:0;font-size:15px;flex:1}
.price ul li{padding:8px 0 8px 20px;border-top:1px solid var(--line);position:relative;color:#3a3a3f}
.price ul li::before{content:"→";position:absolute;left:0;color:var(--blue);font-size:13px}
.badge{position:absolute;top:0;right:0;background:var(--orange);color:#111113;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;font-weight:600}
.grid>.price{position:relative}

/* ---------- formulář ---------- */
form.f{display:grid;gap:14px;grid-template-columns:1fr 1fr}
form.f .full{grid-column:1/-1}
label{display:block;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);margin-bottom:7px}
input,textarea,select{width:100%;font-family:inherit;font-size:16px;padding:12px 14px;
  border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}
textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px}
.note{font-size:13px;color:var(--sub)}
.msg{padding:14px 16px;border:1px solid var(--line);font-size:15px;display:none}
.msg.ok{display:block;border-color:#1a7f37;color:#1a7f37;background:#f2fbf4}
.msg.err{display:block;border-color:#c0392b;color:#c0392b;background:#fdf3f2}
@media(max-width:640px){form.f{grid-template-columns:1fr}}

/* ---------- citace ---------- */
.quote{font-size:clamp(22px,3vw,36px);line-height:1.24;letter-spacing:-.03em;font-weight:600;max-width:22ch}
.quote+p{color:#9a9aa2;max-width:52ch;margin-top:22px}

/* ---------- patička ---------- */
footer.site{background:var(--ink);color:#fff;padding:clamp(48px,6vw,76px) 0 28px}
footer.site a{color:#c9c9cf;text-decoration:none;font-size:15px}
footer.site a:hover{color:#fff}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7c7c85;margin-bottom:16px;font-weight:600}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fbot{margin-top:44px;padding-top:20px;border-top:1px solid #2a2a30;display:flex;
  justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:#7c7c85}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}}

/* ---------- srovnání „běžný kurz vs. praxe" ---------- */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.vs>div{background:#fff;padding:clamp(24px,3vw,38px)}
.vs .them{background:var(--paper2)}
.vs h3{margin-bottom:6px}
.vs .lbl{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--sub);margin-bottom:14px;display:block}
.vs .them .lbl{color:#9a9aa2}
.vs ul{list-style:none;margin:18px 0 0;padding:0}
.vs li{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;align-items:flex-start}
.vs li:first-child{border-top:none}
.vs li b{font-weight:600}
.vs .them li{color:#77777d}
.vs .them li i{font-style:normal;color:#b0b0b6;flex:none;font-size:15px;line-height:1.5}
.vs .us li i{font-style:normal;color:var(--blue);flex:none;font-weight:700;font-size:15px;line-height:1.5}
@media(max-width:760px){.vs{grid-template-columns:1fr}}

/* ---------- doklady praxe ---------- */
.proof{display:grid;grid-template-columns:220px 1fr;gap:clamp(18px,3vw,44px);
  padding:clamp(26px,3.5vw,44px) 0;border-top:1px solid var(--line);align-items:start}
.proof:first-of-type{border-top:none}
.proof .lbl{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--blue)}
.proof .lbl span{display:block;color:var(--sub);margin-top:8px;letter-spacing:0;text-transform:none;
  font-size:14px;font-weight:400;line-height:1.5}
.proof h3{margin-bottom:12px}
.proof .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
@media(max-width:860px){.proof{grid-template-columns:1fr}}
