/* Smart School - spolocne styly (v5, struktura podla Fazy 1) */
:root{
  --purpur:#63349B; --purpur-2:#6F41A8; --purpur-tm:#4C2478; --magenta:#F0299F; --magenta-tm:#C22585;
  --zelena:#6BC634; --zelena-tm:#4E9422; --levandula:#C6A1E2;
  --ink:#271F33; --text:#4A4158; --muted:#6E6580; --bg:#FBFAFD; --line:#EDE8F4; --soft:#F4EDFA;
  --hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--bg); color:var(--ink); font-family:"Nunito Sans","Segoe UI",system-ui,sans-serif; font-size:17px; line-height:1.65; padding-bottom:0}
img{max-width:100%}
a{color:var(--purpur)}
h1,h2,h3,h4{font-family:"Quicksand",sans-serif; font-weight:700; line-height:1.18; margin:0}
p{margin:.9em 0; color:var(--text)}
ul{padding-left:1.25em; color:var(--text)} li{margin:.45em 0}
strong{color:var(--ink)}
.container{max-width:1200px; margin:0 auto; padding:0 24px}
.narrow{max-width:820px; margin:0 auto}
.eyebrow{font-family:"Quicksand",sans-serif; font-weight:700; font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:var(--magenta); margin:0 0 8px}
section{padding:76px 0}
@media(max-width:640px){section{padding:52px 0}}
.white{background:#fff} .softband{background:var(--soft)} .purpleband{background:var(--purpur); color:#fff}
.purpleband h2,.purpleband h3,.purpleband p,.purpleband strong{color:#fff} .purpleband .eyebrow{color:var(--levandula)} .purpleband p{color:#E9DFF6}
h1{font-size:clamp(32px,4.6vw,46px)}
h2{font-size:clamp(26px,3.6vw,34px); margin-bottom:12px}
h3{font-size:21px}
.lead{color:var(--text); max-width:740px; margin:0 0 34px; font-size:18px}
.btn{display:inline-block; font-family:"Quicksand",sans-serif; font-weight:700; font-size:17px; text-decoration:none; border-radius:12px; padding:14px 28px; text-align:center; line-height:1.2; cursor:pointer; border:0}
.btn-primary{background:var(--magenta); color:#fff}
.btn-primary:hover{background:var(--magenta-tm); color:#fff}
.btn-purple{background:var(--purpur); color:#fff}
.btn-purple:hover{background:var(--purpur-tm); color:#fff}
.btn-ghost{color:var(--purpur); border:2px solid var(--purpur); padding:12px 26px; background:transparent}
.btn-ghost:hover{background:var(--soft)}
.btn-white{background:#fff; color:var(--purpur)}
.btn-sm{font-size:15px; padding:11px 20px}
.arrow-link{font-family:"Quicksand",sans-serif; font-weight:700; text-decoration:none}
.arrow-link:hover{text-decoration:underline}

/* ---------- top bar (stav zapisu) ---------- */
.topbar{background:var(--purpur); color:#fff; font-size:14px; text-align:center; padding:8px 16px; font-family:"Quicksand",sans-serif; font-weight:600}
.topbar a{color:#fff}
.topbar strong{color:#fff}

/* ---------- header ---------- */
.site-header{position:sticky; top:0; z-index:60; background:#FFFFFFF2; backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
.site-header .container{display:flex; align-items:center; justify-content:space-between; padding-top:10px; padding-bottom:10px; gap:16px}
.site-header .logo img{height:54px; width:auto; display:block}
@media(max-width:640px){.site-header .logo img{height:44px}}
.nav{display:flex; align-items:center; gap:4px; font-family:"Quicksand",sans-serif; font-weight:600; font-size:16px; margin:0; padding:0; list-style:none}
.nav>li{position:relative}
.nav a,.nav button{color:var(--ink); text-decoration:none; padding:10px 12px; border-radius:8px; display:flex; align-items:center; gap:6px; background:none; border:0; font:inherit; cursor:pointer}
.nav a:hover,.nav button:hover,.nav a.active{color:var(--purpur); background:var(--soft)}
.nav .caret{width:12px; height:12px; transition:transform .2s}
.nav .sub{display:none; position:absolute; top:100%; left:0; min-width:300px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 40px rgba(39,31,51,.14); padding:10px; margin:0; list-style:none; z-index:70}
.nav li.open>.sub,.nav>li:hover>.sub{display:block}
.nav li.open>button .caret,.nav>li:hover>button .caret{transform:rotate(180deg)}
.nav .sub a{display:flex; flex-direction:column; align-items:flex-start; gap:1px; padding:10px 12px; border-radius:10px; font-weight:600}
.nav .sub a small{font-family:"Nunito Sans",sans-serif; font-weight:400; font-size:13.5px; color:var(--muted)}
.nav .sub a:hover small{color:var(--purpur)}
.nav .sub .sep{border-top:1px solid var(--line); margin:6px 8px}
.header-cta{display:flex; align-items:center; gap:10px}
.header-cta .btn{font-size:15px; padding:11px 20px}
.header-cta .tel{display:flex; align-items:center; gap:6px; color:var(--purpur); text-decoration:none; font-family:"Quicksand",sans-serif; font-weight:700; font-size:15px; padding:8px 10px; border-radius:10px}
.header-cta .tel:hover{background:var(--soft)}
.header-cta .tel span{white-space:nowrap}
.menu-btn{display:none; background:none; border:0; padding:8px; cursor:pointer; color:var(--ink)}
.menu-btn svg{display:block}
@media(max-width:960px){
  .header-cta .tel span{display:none}
  .header-cta .btn{padding:10px 14px}
  .menu-btn{display:block}
  .nav{display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 16px 30px rgba(39,31,51,.10); flex-direction:column; align-items:stretch; gap:0; padding:8px 16px 16px; max-height:calc(100vh - 80px); overflow:auto}
  .nav.open{display:flex}
  .nav>li{border-bottom:1px solid var(--line)}
  .nav>li:last-child{border-bottom:0}
  .nav a,.nav button{padding:13px 6px; font-size:17px; width:100%; text-align:left}
  .nav button{display:none}
  .nav .sub{display:block; position:static; min-width:0; border:0; box-shadow:none; padding:0 0 8px; background:transparent}
  .nav .sub a{padding:9px 6px 9px 18px; font-size:16px}
  .nav .mob-label{display:block; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--magenta); padding:12px 6px 2px}
  .nav>li:hover>.sub{display:block}
}
@media(min-width:961px){.nav .mob-label{display:none}}

/* ---------- mobile sticky bar ---------- */
.mobilebar{display:none}
@media(max-width:760px){
  body{padding-bottom:74px}
  .mobilebar{display:grid; grid-template-columns:1fr 1.4fr; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:55; background:#FFFFFFF5; backdrop-filter:blur(8px); border-top:1px solid var(--line); padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .mobilebar .btn{font-size:16px; padding:13px 10px; display:flex; align-items:center; justify-content:center; gap:8px}
}

/* ---------- hero ---------- */
.hero{background:#fff; position:relative; overflow:hidden; padding:72px 0 80px}
.hero-hex{position:absolute; right:-40px; top:-30px; width:420px; height:540px}
@media(max-width:1100px){.hero-hex{opacity:.22}}
.hero-inner{position:relative; max-width:800px; display:flex; flex-direction:column; gap:22px}
.badges{display:flex; flex-wrap:wrap; gap:10px}
.badge{font-family:"Quicksand",sans-serif; font-weight:700; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; padding:8px 16px; border-radius:99px}
.badge-p{color:var(--purpur); background:#F0EAF8} .badge-g{color:#3E7D1E; background:#EAF6E0} .badge-m{color:#A31C6B; background:#FDE7F3}
.hero h1{font-size:clamp(34px,5.4vw,52px); line-height:1.12}
.hero .sub{font-size:clamp(18px,2.2vw,21px); color:var(--text); max-width:680px; margin:0}
.cta-row{display:flex; flex-wrap:wrap; gap:14px; margin-top:4px}
.stateline{display:flex; gap:10px; align-items:flex-start; background:#FDF1F8; border:1px solid #F6CBE4; border-radius:10px; padding:12px 18px; max-width:680px; font-size:15.5px; color:#6E2054}
.stateline svg{flex-shrink:0; margin-top:3px}
.stateline p{margin:0; color:#6E2054}

/* segment hero */
.seg-hero{background:#fff; padding:56px 0 60px; position:relative; overflow:hidden}
.seg-hero .crumbs{font-size:14px; color:var(--muted); margin:0 0 18px; font-family:"Quicksand",sans-serif; font-weight:600}
.seg-hero .crumbs a{color:var(--muted); text-decoration:none} .seg-hero .crumbs a:hover{color:var(--purpur)}
.seg-hero .sub{font-size:19px; max-width:720px; margin:14px 0 0}
.seg-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:start}
@media(max-width:900px){.seg-grid{grid-template-columns:1fr; gap:28px}}
.factbox{background:var(--soft); border-radius:18px; padding:26px 28px; display:flex; flex-direction:column; gap:14px}
.factbox .fact{display:flex; gap:14px; align-items:flex-start}
.factbox .fact b{font-family:"Quicksand",sans-serif; font-size:15px; color:var(--purpur); display:block}
.factbox .fact span{font-size:15.5px; color:var(--text)}
.factbox .hexi{width:46px; height:52px; flex-shrink:0; background:var(--levandula); clip-path:var(--hex); display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.05; font-family:"Quicksand",sans-serif; font-weight:700; font-size:12px; color:var(--purpur-tm); padding:0 4px}
.factbox .price{border-top:1px solid #E4D8F0; padding-top:16px; margin-top:4px}
.factbox .price b{font-family:"Quicksand",sans-serif; font-size:30px; color:var(--ink); display:block; line-height:1.1}
.factbox .price small{color:var(--muted); font-size:14px}
.factbox .btn{margin-top:6px}

/* ---------- grids & cards ---------- */
.grid{display:grid; gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1000px){.g5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr} .g5{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px 28px; display:flex; flex-direction:column; gap:8px}
.card h3{font-size:20px}
.card p{margin:0; font-size:16px; color:var(--text)}
.card.soft{background:var(--soft); border-color:transparent}

/* segment tiles (homepage + kurzy) */
.seg{position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 22px 22px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:8px; transition:transform .15s, box-shadow .15s}
.seg:hover{transform:translateY(-3px); box-shadow:0 16px 36px rgba(39,31,51,.10); border-color:#DCCDEB}
.seg .hexi{width:52px; height:58px; clip-path:var(--hex); display:flex; align-items:center; justify-content:center; font-family:"Quicksand",sans-serif; font-weight:700; font-size:15px; color:#fff; margin-bottom:6px}
.seg .age{font-family:"Quicksand",sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.seg h3{font-size:19px; line-height:1.25}
.seg p{margin:0; font-size:15px; color:var(--text); flex:1}
.seg .from{font-family:"Quicksand",sans-serif; font-weight:700; font-size:15px; color:var(--purpur); margin-top:8px}
.seg .from small{color:var(--muted); font-weight:600; font-size:13px}
.seg.featured{background:linear-gradient(135deg,#63349B 0%,#7B44B8 100%); color:#fff; border-color:transparent}
.seg.featured .age,.seg.featured p,.seg.featured .from small{color:#E3D3F5} .seg.featured h3,.seg.featured .from{color:#fff}
.seg.featured .hexi{background:#fff; color:var(--purpur)}

/* numbered points */
.point{display:flex; gap:22px; margin-top:34px}
.point-num{font-family:"Quicksand",sans-serif; font-weight:700; font-size:24px; color:#fff; background:var(--purpur); width:52px; height:58px; clip-path:var(--hex); display:flex; align-items:center; justify-content:center; flex-shrink:0}
.point:nth-of-type(2n) .point-num{background:var(--magenta)}
.point-body{min-width:0}
.point-body h3{margin:6px 0 8px; color:var(--ink)}
.point-body p:first-of-type{margin-top:0}
@media(max-width:640px){.point{gap:14px}.point-num{width:44px; height:50px; font-size:20px}}

/* hex bullet lists */
.hexlist{list-style:none; padding:0; margin:0}
.hexlist li{padding-left:22px; position:relative; margin:.5em 0}
.hexlist li::before{content:""; position:absolute; left:0; top:.6em; width:10px; height:11px; background:var(--levandula); clip-path:var(--hex)}

/* steps (ako prebieha hodina) */
.steps{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.step{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px}
.step .n{font-family:"Quicksand",sans-serif; font-weight:700; color:var(--magenta); font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px}
.step h3{font-size:18.5px; margin-bottom:6px} .step p{margin:0; font-size:15.5px}

/* pull statement */
.pull{max-width:660px; margin:56px auto 0; text-align:center}
.pull p{font-family:"Quicksand",sans-serif; font-weight:600; font-size:clamp(19px,2.4vw,23px); line-height:1.5; color:var(--purpur); margin:14px 0 0}
.hexrow{display:flex; gap:10px; justify-content:center; margin:0}
.hexrow svg{display:block}
.lead-big{font-family:"Quicksand",sans-serif; font-weight:600; font-size:clamp(19px,2.4vw,23px); line-height:1.5; color:var(--purpur); margin:6px 0 22px}
.values{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 26px}
.values span{background:#fff; color:var(--purpur); font-family:"Quicksand",sans-serif; font-weight:600; font-size:15px; padding:8px 16px; border-radius:999px; box-shadow:0 4px 18px rgba(39,31,51,.05)}

/* ---------- pricing ---------- */
.pricebox{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden}
.pricehead,.pricerow{display:grid; grid-template-columns:4fr 1fr 1fr 1.2fr; gap:8px; padding:14px 26px; align-items:baseline}
.pricehead{background:var(--soft); font-family:"Quicksand",sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--purpur)}
.pricerow{border-top:1px solid #F1EDF7; font-size:16px}
.pricerow b{font-weight:800}
.pricerow .disc{color:var(--zelena-tm); font-weight:800}
.pricerow.hl{background:#FBF7FE}
.pricenote{color:var(--muted); font-size:14.5px; margin:14px 4px 0}
@media(max-width:640px){
  .pricehead{display:none}
  .pricerow{grid-template-columns:1fr; gap:2px; padding:14px 20px}
  .pricerow>div:nth-of-type(2)::before{content:"Dĺžka: "; color:var(--muted); font-weight:400}
  .pricerow>b::before{content:"Cena: "; color:var(--muted); font-weight:400}
  .pricerow>.disc::before{content:"Zvýhodnená cena: "; color:var(--muted); font-weight:400}
  .pricerow>span:not(.disc){display:none}
}
.pricecards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
@media(max-width:900px){.pricecards{grid-template-columns:1fr}}
.pricecard{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px 26px 24px; display:flex; flex-direction:column; gap:6px}
.pricecard.hl{border:2px solid var(--purpur)}
.pricecard .t{font-family:"Quicksand",sans-serif; font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--magenta)}
.pricecard h3{font-size:19px}
.pricecard .p{font-family:"Quicksand",sans-serif; font-weight:700; font-size:34px; color:var(--ink); line-height:1.1; margin-top:6px}
.pricecard .p small{font-size:15px; color:var(--muted); font-weight:600}
.pricecard .d{font-size:14px; color:var(--zelena-tm); font-weight:700}
.pricecard ul{margin:8px 0 0; font-size:15px}
.pricecard .btn{margin-top:auto; align-self:flex-start; margin-top:14px}
.included{background:var(--soft); border-radius:14px; padding:20px 24px; font-size:15.5px; margin-top:22px}
.included b{color:var(--purpur); font-family:"Quicksand",sans-serif}

/* ---------- lektorka / CTA blok ---------- */
.lektorka{display:flex; gap:44px; align-items:center}
.lektorka .photo{width:300px; flex-shrink:0; border-radius:16px; height:auto; box-shadow:0 18px 44px rgba(39,31,51,.14)}
.lektorka .bio{flex:1; display:flex; flex-direction:column; gap:12px}
.lektorka blockquote{margin:0; font-style:italic; color:var(--muted)}
.facts{display:flex; flex-wrap:wrap; gap:10px; margin:6px 0}
.facts span{background:var(--soft); color:var(--purpur); font-family:"Quicksand",sans-serif; font-weight:700; font-size:14px; padding:8px 14px; border-radius:999px}
@media(max-width:820px){.lektorka{flex-direction:column; align-items:flex-start}.lektorka .photo{width:min(300px,100%)}}
.cta-final{background:linear-gradient(120deg,#63349B 0%,#7B44B8 100%); color:#fff; position:relative; overflow:hidden}
.cta-final .container{display:flex; gap:36px; align-items:center; position:relative}
.cta-final img{width:150px; height:150px; object-fit:cover; object-position:top; border-radius:50%; border:4px solid #fff3; flex-shrink:0}
.cta-final h2{color:#fff; font-size:clamp(24px,3.4vw,32px)}
.cta-final p{color:#E9DFF6; max-width:720px; margin:8px 0 18px}
.cta-final .cta-row{gap:12px}
.cta-final .hex{position:absolute; right:30px; bottom:-40px; opacity:.18}
@media(max-width:700px){.cta-final .container{flex-direction:column; align-items:flex-start}}

/* ---------- reviews ---------- */
.review{background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px 26px; display:flex; flex-direction:column; gap:10px}
.review p{margin:0; font-size:16px; color:var(--text); font-style:italic}
.review b{font-family:"Quicksand",sans-serif; font-size:14.5px; color:var(--purpur)}
.review small{color:var(--muted); font-size:13px}
.review.ph{border:2px dashed var(--levandula); background:#F8F4FC; color:#8A6DB0; text-align:center; justify-content:center; font-family:"Quicksand",sans-serif; font-weight:600; font-size:14px; min-height:150px}
.review.ph p{font-style:normal; color:#8A6DB0; font-size:14px}

/* ---------- gallery ---------- */
.ph-img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:14px; display:block}
.ph-caption{font-size:14px; color:var(--muted); margin-top:10px; text-align:center}
.farby-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin-top:26px}
.farba{background:#fff; border-radius:16px; padding:22px 24px; border-top:6px solid var(--line); box-shadow:0 4px 18px rgba(39,31,51,.05)}
.farba.lev{border-top-color:var(--levandula)} .farba.pur{border-top-color:var(--purpur)} .farba.mag{border-top-color:var(--magenta)} .farba.zel{border-top-color:var(--zelena)}
.farba h4{font-size:17px; margin:0 0 8px} .farba p{margin:0; font-size:15.5px}

/* ---------- faq ---------- */
.faq details{background:#fff; border:1px solid var(--line); border-radius:12px; padding:2px 20px; margin-bottom:10px}
.faq summary{font-family:"Quicksand",sans-serif; font-weight:700; font-size:17px; padding:14px 0; cursor:pointer}
.faq p{margin:0 0 16px; color:var(--text)}
.faq details[open] summary{color:var(--purpur)}

/* ---------- kontakt ---------- */
.kontakt-flex{display:flex; gap:48px}
.kontakt-info{flex:1; display:flex; flex-direction:column; gap:12px}
.kline{display:flex; gap:10px; align-items:center; color:var(--text); margin:0}
.kline svg{flex-shrink:0}
.hours{background:var(--soft); border-radius:12px; padding:16px 20px; font-size:15.5px}
.hours b{font-family:"Quicksand",sans-serif; color:var(--purpur); display:block; margin-bottom:6px}
.map{width:460px; flex-shrink:0; min-height:320px; border-radius:16px; background:#F8F4FC; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; overflow:hidden}
.map-ph{text-align:center; padding:24px; display:flex; flex-direction:column; align-items:center; gap:10px}
.map-ph p{margin:0; color:var(--text); font-size:15.5px; line-height:1.5}
.map-ph small{color:var(--muted); font-size:12.5px; max-width:280px}
.map iframe{width:100%; height:100%; min-height:320px; border:0; display:block}
@media(max-width:900px){.kontakt-flex{flex-direction:column}.map{width:100%}}

/* ---------- footer ---------- */
.site-footer{background:var(--ink); color:#A79DBB; padding:52px 0 28px; font-size:14.5px}
.site-footer a{color:#D8C8EE; text-decoration:none} .site-footer a:hover{color:#fff; text-decoration:underline}
.fgrid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}} @media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.site-footer h4{color:#fff; font-size:14px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px}
.site-footer ul{list-style:none; margin:0; padding:0; color:#A79DBB} .site-footer li{margin:.35em 0}
.site-footer .logo img{height:48px; width:auto; margin-bottom:14px}
.site-footer p{color:#A79DBB; margin:.4em 0; font-size:14.5px}
.site-footer .fb{display:inline-flex; align-items:center; gap:10px; margin-top:14px; min-height:44px; padding:8px 16px 8px 12px; border:1px solid #4A3D5E; border-radius:99px; color:#fff; font-weight:700; font-size:14px; text-decoration:none; white-space:nowrap; background:rgba(255,255,255,.04)}
.site-footer .fb:hover{background:#1877F2; border-color:#1877F2; color:#fff; text-decoration:none}
.site-footer .fb svg{flex:none; width:22px; height:22px}
.review.has-video{display:grid; grid-template-columns:1fr 200px; gap:22px; align-items:start}
.review.has-video .rhead{grid-column:1/-1}
.review .rbody{display:flex; flex-direction:column; gap:10px; min-width:0}
.review.has-video .rbody{grid-column:1; grid-row:2}
.rvideo{margin:0; grid-column:2; grid-row:2}
.rvideo video{display:block; width:100%; height:auto; aspect-ratio:480/864; border-radius:12px; background:#000; object-fit:cover}
.rvideo figcaption{font-size:12.5px; color:var(--muted); margin-top:8px; line-height:1.4}
@media(max-width:640px){.review.has-video{grid-template-columns:1fr} .rvideo{grid-column:1; grid-row:3; max-width:260px; margin:6px auto 0}}
.legal{border-top:1px solid #3B3149; margin-top:36px; padding-top:20px; font-size:13px; color:#8C819F; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}

/* related segments */
.related{display:flex; flex-wrap:wrap; gap:12px}
.related a{background:#fff; border:1px solid var(--line); border-radius:999px; padding:10px 18px; text-decoration:none; font-family:"Quicksand",sans-serif; font-weight:600; font-size:15px; color:var(--purpur)}
.related a:hover{border-color:var(--purpur)}
.smallnote{font-size:14px; color:var(--muted)}
.ph-box{border:2px dashed var(--levandula); border-radius:14px; background:#F8F4FC; color:#8A6DB0; font-family:"Quicksand",sans-serif; font-weight:600; font-size:14px; display:flex; align-items:center; justify-content:center; text-align:center; padding:24px; aspect-ratio:4/3}

/* ---------- recenzie v2 ---------- */
.review .rhead{display:flex; justify-content:space-between; align-items:center}
.review .chip{font-family:"Quicksand",sans-serif; font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--purpur); background:var(--soft); padding:5px 10px; border-radius:99px}
.review p{font-style:normal; font-size:16px; line-height:1.6}
.review p:first-of-type{margin-top:4px}
/* ---------- stats strip ---------- */
.stats{background:var(--purpur); color:#fff}
.stats-in{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding-top:26px; padding-bottom:26px}
.stats-in div{display:flex; flex-direction:column; gap:2px; padding-left:16px; border-left:3px solid var(--magenta)}
.stats-in b{font-family:"Quicksand",sans-serif; font-size:32px; line-height:1.1}
.stats-in span{font-size:14px; color:#E3D3F5}
@media(max-width:800px){.stats-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ctanote{font-size:15px; margin:14px 0 0 !important; color:#E9DFF6}
.ctanote a{color:#fff; font-weight:700}

/* ---------- lightbox ---------- */
.ph-img.lb{cursor:zoom-in; transition:transform .15s, box-shadow .15s}
.ph-img.lb:hover,.ph-img.lb:focus-visible{transform:translateY(-2px); box-shadow:0 14px 30px rgba(39,31,51,.18); outline:none}
.lightbox{position:fixed; inset:0; z-index:100; background:rgba(39,31,51,.92); display:none; align-items:center; justify-content:center; padding:16px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(96vw,1400px); max-height:88vh; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.5); background:#fff}
.lightbox button{position:absolute; background:#FFFFFF22; color:#fff; border:0; width:48px; height:48px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(6px)}
.lightbox button:hover{background:#FFFFFF44}
.lightbox .lb-close{top:16px; right:16px}
.lightbox .lb-prev{left:12px; top:50%; transform:translateY(-50%)}
.lightbox .lb-next{right:12px; top:50%; transform:translateY(-50%)}
.lightbox .lb-cap{position:absolute; left:0; right:0; bottom:14px; text-align:center; color:#E3D3F5; font-size:14px; padding:0 70px}
@media(max-width:640px){.lightbox .lb-prev,.lightbox .lb-next{width:40px; height:40px; top:auto; bottom:44px; transform:none} .lightbox .lb-cap{bottom:96px}}

/* ---------- cisla (hexagony) ---------- */
.numbers{padding:40px 0 36px; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.numbers-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px}
@media(max-width:800px){.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px}}
.num{display:flex; align-items:center; gap:16px}
.num b{flex-shrink:0; width:96px; height:108px; clip-path:var(--hex); background:var(--soft); display:flex; align-items:center; justify-content:center; font-family:"Quicksand",sans-serif; font-size:24px; color:var(--purpur); position:relative}
.num b::before{content:""; position:absolute; inset:5px; clip-path:var(--hex); background:#fff; z-index:-1}
.num span{font-size:14.5px; color:var(--text); line-height:1.4}
@media(max-width:480px){.num{gap:12px} .num b{width:78px; height:88px; font-size:19px} .num span{font-size:13px}}
/* ---------- v com sme ini (tmava sekcia) ---------- */
.dark{background:var(--purpur-tm); color:#fff}
.dark .eyebrow{color:var(--levandula)}
.dark h2{color:#fff; font-size:clamp(28px,3.6vw,38px); line-height:1.15}
.dark p{color:#D8C8EE}
.dark .arrow-link{color:#fff}
.why-grid{display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:start}
@media(max-width:900px){.why-grid{grid-template-columns:1fr; gap:28px}}
.why-intro p{font-size:17px}
.why-list{list-style:none; margin:0; padding:0}
.why-list li{display:flex; gap:20px; padding:22px 0; border-top:1px solid #FFFFFF22}
.why-list li:last-child{border-bottom:1px solid #FFFFFF22}
.why-num{flex-shrink:0; width:44px; height:50px; clip-path:var(--hex); background:#FFFFFF1A; color:#fff; font-family:"Quicksand",sans-serif; font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; margin-top:2px}
.why-list h3{color:#fff; font-size:19px; margin-bottom:6px}
.why-list p{margin:0; font-size:15.5px}

/* ---------- v6 doplnky ---------- */
.hexbg{position:relative}
.hexbg::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.55; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'><path d='M28 1.5 54 16.25v29.5L28 60.5 2 45.75v-29.5zM28 62.5 54 77.25V97M28 62.5 2 77.25V97' fill='none' stroke='%23C6A1E2' stroke-opacity='.28' stroke-width='1.2'/></svg>"); background-size:56px 97px}
.hexbg>.container{position:relative}
.hero.hexbg::before{opacity:.5; -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 70%); mask-image:linear-gradient(90deg,#000 0%,transparent 70%)}
.quote{margin:40px auto 0; max-width:720px; font-family:"Quicksand",sans-serif; font-weight:600; font-size:clamp(19px,2.3vw,23px); line-height:1.5; color:var(--purpur); text-align:center; padding:0 20px}
.quote cite{display:block; font-family:"Nunito Sans",sans-serif; font-style:normal; font-weight:400; font-size:15px; color:var(--muted); margin-top:12px}
.quote-dark{color:#fff; grid-column:1/-1; margin-top:44px; border-top:1px solid #FFFFFF22; padding-top:34px; max-width:none}
.quote-dark cite{color:#D8C8EE}
.rnote{font-size:13px !important; color:var(--muted) !important; font-style:normal !important; border-top:1px dashed var(--line); padding-top:8px; margin-top:4px !important}
.rhead-row{display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:30px}
.rhead-row .lead{margin-bottom:0}
.rheart{width:240px; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:14px; box-shadow:0 14px 34px rgba(39,31,51,.14); flex-shrink:0}
@media(max-width:760px){.rhead-row{flex-direction:column; align-items:flex-start} .rheart{width:100%; max-width:360px}}
.heart-band{display:grid; grid-template-columns:1fr 1.2fr; gap:36px; align-items:center; margin-top:44px; background:var(--soft); border-radius:18px; padding:28px}
@media(max-width:760px){.heart-band{grid-template-columns:1fr}}
.heart-band h2{margin-bottom:6px}
.hexrow-big{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px}
@media(max-width:900px){.hexrow-big{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hexcard{background:var(--soft); border-radius:16px; padding:24px 20px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px}
.hexcard .hexlvl{width:96px; height:108px; clip-path:var(--hex); background:var(--purpur); color:#fff; display:flex; align-items:center; justify-content:center; font-family:"Quicksand",sans-serif; font-weight:700; font-size:30px; margin-bottom:10px}
.hexcard-m .hexlvl{background:var(--magenta); font-size:24px}
.hexcard b{font-family:"Quicksand",sans-serif; font-size:18px; color:var(--ink)}
.hexcard span:last-child{font-size:14px; color:var(--muted)}
.alumni{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
@media(max-width:900px){.alumni{grid-template-columns:1fr}}
.alumni-block{background:var(--soft); border-radius:16px; padding:22px 24px}
.alumni-block h3{font-size:16px; color:var(--purpur); margin-bottom:12px; letter-spacing:.02em}
.names{display:flex; flex-wrap:wrap; gap:8px}
.names span{background:#fff; border:1px solid var(--line); border-radius:999px; padding:7px 14px; font-size:14.5px; font-family:"Quicksand",sans-serif; font-weight:600; color:var(--ink)}
.hl-box{max-width:720px; margin:26px auto 0; background:var(--purpur); color:#fff; border-radius:16px; padding:22px 28px; position:relative; overflow:hidden}
.hl-box::after{content:""; position:absolute; right:-30px; top:-30px; width:120px; height:136px; clip-path:var(--hex); background:#FFFFFF14}
.hl-box p{color:#fff; margin:0; font-family:"Quicksand",sans-serif; font-weight:600; font-size:18px; line-height:1.5; text-align:center}
.point-hl .point-body{background:var(--soft); border-radius:16px; padding:20px 24px; margin-top:-8px}
.hl-line{font-family:"Quicksand",sans-serif; font-weight:700; color:var(--purpur) !important; font-size:17.5px}
.timetable{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px}
@media(max-width:1000px){.timetable{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.timetable{grid-template-columns:1fr}}
.day{background:var(--soft); border-radius:16px; padding:18px 16px}
.day h3{font-size:17px; color:var(--purpur); margin-bottom:10px; padding-bottom:8px; border-bottom:2px solid #E4D8F0}
.day ul{list-style:none; margin:0; padding:0}
.day li{display:flex; flex-direction:column; padding:8px 0; border-bottom:1px solid #EDE6F5}
.day li:last-child{border-bottom:0}
.day .t{font-family:"Quicksand",sans-serif; font-weight:700; font-size:13.5px; color:var(--muted)}
.day .g{font-size:15px; color:var(--ink); font-weight:600}
