/* Komfy Obsidian 2 · redizajn hlavného webu (29. 9. 2026), akadémia na prvom mieste.
   Načítava sa za komfy-brand.css na všetkých stránkach. Zdroj jazyka: AI kurz/app/styles/redesign.css.
   Premenné akadémie sú mapované na premenné hlavného webu: --ink-3 → --muted, --line-2 → --line,
   --r-panel → --radius, --r-ctl → --radius-ctl, --focus → --accent-ink.
   Statická podoba je úplná: CSS nikdy neskrýva obsah. Počiatočné stavy animácií nastavuje až GSAP
   (komfy-motion.js) po triede html.rd-motion. */

:root{--radius-ctl:12px;--focus:var(--accent-ink);--accent-inv:#88462d;--rd-ease:cubic-bezier(.215,.61,.355,1)}
:root[data-theme=light]{--accent-inv:#efaa8c}

/* ---------- Text najmenej 18 px ---------- */
body{font-size:1.125rem}
.desktop-nav a,.contact-link,.mobile-nav summary,.mobile-nav nav a,.skip,
.hero-cta,.cta-primary,.cta-secondary,.prod-btn,.cat-cta,
.academy-play,.academy-video-actions button,.video-length,.academy-film figcaption,
.p-tag,.p-vlabel,.p-vbase,.srv-includes li,.cat-list li,.srv-price span,
.site-footer,.hero-meta-label,.hero-meta-value,.strip-law,.cat-badge,
.cat-price-from,.cat-price-unit,.cat-time,.cat-foot-note,.tier-foot,
.tier-label-meta,.tier-price-unit,.tier-cell.head,.tier-cell.head-segment,.ps-body,
.case-meta .label,.case-meta .value,.case-finding .text,.sev,.final-contact .lab,.faq-item summary{font-size:1.125rem}
.hero-sub,.hero-lede,.rd-lead{font-size:clamp(1.125rem,1.4vw,1.3125rem);line-height:1.75}

/* ---------- Fokus ---------- */
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
:where(:focus-visible){border-radius:8px}
.academy-video-actions button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}

/* ---------- Popisky vo verzálkach s riedkym písmom ---------- */
.rd-cap,.eyebrow,.hero-eyebrow,.section-eyebrow,.problems-eyebrow,.cat-code,.srv-tag,.prod-format,.promise-label,.strip-label,.ps-num{font-size:1.125rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1.5}
.rd-cap{margin:0 0 24px;color:var(--muted)}
.rd-eyebrow{margin:0;color:var(--accent-ink)}

/* ---------- Hmatateľný štítok ---------- */
.rd-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:2px solid var(--ink);border-radius:var(--radius-ctl);background:var(--bg);color:var(--ink);font:700 1.125rem/1.3 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:4px 4px 0 0 var(--ink);white-space:nowrap}
.rd-tag--accent{background:var(--accent);color:var(--on-accent)}

/* ---------- Tlačidlá s tvrdým tieňom ---------- */
.rd-btn,.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:14px 28px;border:0;border-radius:99px;background:var(--ink);color:var(--bg);font-weight:600;line-height:1.4;text-align:center;text-decoration:none}
.rd-btn:hover,.header-cta:hover{background:var(--accent);color:var(--on-accent)}
.rd-btn,.header-cta,.hero-cta,.cta-primary,.prod-btn,.cta-secondary,.cat-cta{transition:transform .35s var(--rd-ease),box-shadow .35s var(--rd-ease),background-color .35s var(--rd-ease),color .35s var(--rd-ease),border-color .35s var(--rd-ease)}
.rd-btn,.header-cta,.hero-cta,.cta-primary,.prod-btn{box-shadow:5px 5px 0 0 var(--accent)}
.rd-btn:hover,.header-cta:hover,.hero-cta:hover,.cta-primary:hover,.prod-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 0 var(--ink)}
.rd-btn--outline,.cta-secondary,.cat-cta{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 0 var(--ink)}
.rd-btn--outline:hover,.cta-secondary:hover,.cat-cta:hover{background:var(--panel);color:var(--ink);border-color:var(--ink);transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--accent)}
.cat-card.featured .cat-cta:hover{box-shadow:6px 6px 0 0 var(--ink)}
.rd-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em}
.rd-text-link:hover{color:var(--accent-ink)}

/* ---------- Obal obsahu ---------- */
.wrap{width:calc(100% - 112px);max-width:var(--width);margin-inline:auto}

/* ---------- Hlavička: navigácia, výzva, téma a pohyb ---------- */
.site-header{gap:24px}
.desktop-nav a[aria-current=page]{color:var(--ink)}
.header-actions{gap:16px}
.header-cta{padding:10px 22px}
.motion-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;display:grid;place-items:center;flex:none}
.motion-button:hover{border-color:var(--accent-ink)}
.motion-button svg{width:18px;height:18px}
.motion-button .icon-play{display:none}
.motion-button[aria-pressed=true] .icon-pause{display:none}
.motion-button[aria-pressed=true] .icon-play{display:block}
.theme-button{flex:none}

/* ---------- Úvod: veľký dvojriadkový nadpis a medená plastika ---------- */
.rd-hero{position:relative;isolation:isolate;min-height:calc(100svh - 100px);display:flex;flex-direction:column;overflow:clip}
.rd-hero-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;gap:28px;padding:40px 0 64px}
/* Veľkosť podľa akadémie clamp(3rem,11.4vw,13.5rem), zhora obmedzená šírkou obsahu: riadok
   „Viac hotovej práce.“ má v Syne asi 8 em, pri 11.4vw by medzi 1100 a 1240 px a nad 1440 px
   presiahol obsah a hero by ho orezalo. */
.rd-title{margin:clamp(8px,2.5vh,40px) 0 0;max-width:none;font-family:var(--font-display);font-weight:500;font-size:clamp(3rem,min(11.4vw,calc((100vw - 132px) / 8.1),20svh),10.5rem);line-height:1;letter-spacing:-.055em;overflow-wrap:normal}
.rd-line{display:block;white-space:nowrap}
.rd-line--accent{color:var(--accent-ink)}
.rd-title .rd-word-mask{padding:.16em .06em .1em;margin:-.16em -.06em -.1em}
.rd-split .rd-word-mask{padding:.12em .04em .08em;margin:-.12em -.04em -.08em}
/* Šírka päty hero necháva miesto plastike vpravo (95 % − šírka plastiky − okraj a medzera). */
.rd-hero-foot{margin-top:auto;display:grid;justify-items:start;gap:24px;max-width:min(600px,calc(95vw - clamp(300px,30vw,420px) - 88px))}
.rd-lead{margin:0;max-width:40ch;color:var(--muted)}
.rd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.rd-note{margin:0;max-width:60ch;color:var(--muted);line-height:1.7}

/* Scéna vpravo, za textom */
.rd-scene{position:absolute;inset:0;z-index:1;pointer-events:none}
.rd-sculpt{position:absolute;width:clamp(300px,30vw,420px);aspect-ratio:1;top:50%;right:5%}
.rd-plane,.rd-core,.rd-float{position:absolute;inset:0}
.rd-halo{position:absolute;inset:12%;background:radial-gradient(ellipse,#d9893b14,transparent 67%);filter:blur(24px)}
.rd-canvas{position:relative;z-index:1;display:block;width:100%;height:100%}
/* Dve tenké obežné dráhy s bodkou */
.rd-orbit{position:absolute;border:1px solid var(--line);border-radius:50%;transform:rotate(-14deg)}
.rd-orbit--outer{inset:12% -26%}
.rd-orbit--inner{inset:24% -10%}
.rd-orbit--outer::after{content:"";position:absolute;top:14%;left:9%;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.rd-orbit--inner::after{content:"";position:absolute;bottom:10%;right:14%;width:8px;height:8px;border-radius:50%;background:var(--muted)}
html.rd-motion .rd-plane,html.rd-motion .rd-float,html.rd-motion .rd-orbit{will-change:transform}

/* ---------- Video: tvrdý medený tieň ako v akadémii ---------- */
.academy-player{border:2px solid var(--ink);border-radius:var(--radius);box-shadow:8px 8px 0 0 var(--accent)}
.academy-play{border:2px solid var(--ink);background:var(--accent);color:var(--on-accent);font:600 1.125rem/1 var(--font-sans);box-shadow:4px 4px 0 0 var(--ink)}
.academy-play:hover{background:var(--accent);color:var(--on-accent)}
.video-length{border-left-color:currentColor}
.academy-copy .rd-cap{margin:0 0 20px}
.academy-film figcaption{line-height:1.6}

/* ---------- Sekcie úvodu ---------- */
.rd-row{display:block}
.rd-sub{color:var(--accent-ink)}
.rd-section{padding-block:100px}
.rd-section-head{max-width:980px;margin-bottom:48px}
.rd-section-head h2,.rd-access h2,.rd-about h2,.rd-contact h2{margin-bottom:24px}

/* Spôsob učenia: obrátené farby, pozadie sa mieša podľa skrolovania (bez pohybu rovno konečné) */
.rd-shift{--rd-mix:1;background:var(--rd-to)}
@supports (background:color-mix(in srgb,red,blue)){.rd-shift{background:color-mix(in srgb,var(--rd-to) calc(var(--rd-mix) * 100%),var(--rd-from))}}
.rd-journey{--rd-from:var(--bg);--rd-to:var(--ink);--focus:var(--accent-inv);color:var(--bg);padding:110px 0}
.rd-after{--rd-from:var(--ink);--rd-to:var(--bg)}
.rd-journey-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.rd-journey-head{display:flex;flex-direction:column;align-items:flex-start}
.rd-journey .rd-cap,.rd-journey h2,.rd-journey-lead{color:var(--bg)}
.rd-journey h2{margin:0 0 24px;font:500 clamp(2.25rem,4.4vw,4.25rem)/1.12 var(--font-display);letter-spacing:-.045em}
.rd-journey .rd-sub{color:var(--accent-inv)}
.rd-journey-lead{max-width:38ch;font-size:1.25rem;line-height:1.7}
.rd-steps{list-style:none;display:grid;gap:26px}
.rd-step{display:grid;justify-items:start;gap:14px;padding:28px 30px;border:2px solid var(--bg);border-radius:var(--radius);background:var(--panel);color:var(--ink);box-shadow:8px 8px 0 0 var(--accent)}
.rd-step .rd-tag{box-shadow:3px 3px 0 0 var(--ink)}
.rd-step h3{margin:0;font:500 clamp(1.5rem,2.2vw,1.875rem)/1.2 var(--font-display);letter-spacing:-.03em}
.rd-step p{color:var(--muted);line-height:1.65}
/* Text sa prelieva spolu s pozadím (--rd-mix), rovnako ako v akadémii: pred prechodom aj po ňom má kontrast.
   (Predtým ho prepínala trieda rd-inv z komfy-motion.js, ktorá sa nemenila v tej istej chvíli ako pozadie.) */
.rd-journey :is(.rd-cap,h2,.rd-journey-lead){color:color-mix(in srgb,var(--bg) calc(var(--rd-mix) * 100%),var(--ink))}
.rd-journey .rd-sub{color:color-mix(in srgb,var(--accent-inv) calc(var(--rd-mix) * 100%),var(--accent-ink))}

/* Pre koho */
.rd-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.rd-duo article{min-width:0;padding:30px 32px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--panel);box-shadow:6px 6px 0 0 var(--ink)}
.rd-duo h3{margin-bottom:12px}
.rd-duo p{color:var(--muted)}
.rd-facts{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:56px;padding-block:32px;border-block:1px solid var(--line)}
.rd-facts li{display:flex;align-items:center;gap:20px;min-width:0}
.rd-facts strong{flex:none;font:500 3.125rem/1 var(--font-display);letter-spacing:-.06em;color:var(--accent-ink)}
.rd-facts span{color:var(--muted);line-height:1.6}
.rd-status{margin:32px 0 24px;color:var(--muted)}

/* Pás Prístupnosť webu */
.rd-access{padding:88px 0;background:var(--work);border-block:1px solid var(--line)}
.rd-access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end}
.rd-access-grid h2{margin-bottom:0}
.rd-access-copy>p{color:var(--muted);max-width:56ch}
.rd-access .rd-actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px}
.rd-access .rd-text-link{max-width:52ch}

/* O Komfy a kontakt */
.rd-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px;align-items:end;padding-block:100px;border-bottom:1px solid var(--line)}
.rd-about-copy{color:var(--muted);max-width:58ch}
.rd-contact{padding-block:100px;text-align:center}
.rd-contact>p{max-width:52ch;margin:0 auto 32px;color:var(--muted)}

/* Staré kotvy /#services a /#tools */
.rd-legacy{padding-block:24px;border-top:1px solid var(--line);color:var(--muted)}
.rd-legacy a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-underline-offset:.28em}
.rd-legacy a:hover{color:var(--accent-ink)}

/* ---------- Stránka pre obce a pre firmy ---------- */
.municipal h1,.firms h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.08}
.firms .hero h1{max-width:18ch;margin-bottom:32px}
.firms .hero-lede{margin-bottom:0}
.cat-card,.srv-card,.prod-card{border:2px solid var(--ink);box-shadow:6px 6px 0 0 var(--ink)}
.cat-card.featured{border-color:var(--ink);box-shadow:6px 6px 0 0 var(--accent)}
.srv-card:hover,.prod-card:hover,.cat-card:hover{border-color:var(--ink)}
.cat-badge{top:-16px;border:2px solid var(--ink)}
.cat-price-unit{line-height:1.5}
.tier-cell{min-width:0}

/* ---------- Päta ---------- */
.site-footer p{line-height:1.6}

/* ---------- Obmedzený pohyb: bez prechodov a posunov ---------- */
@media (prefers-reduced-motion:reduce){
 .rd-btn,.header-cta,.hero-cta,.cta-primary,.prod-btn,.cta-secondary,.cat-cta{transition:none}
 .rd-btn:hover,.header-cta:hover,.hero-cta:hover,.cta-primary:hover,.prod-btn:hover,.cta-secondary:hover,.cat-cta:hover,.rd-btn--outline:hover{transform:none}
}
html[data-ka-motion=reduced] :is(.rd-btn,.header-cta,.hero-cta,.cta-primary,.prod-btn,.cta-secondary,.cat-cta){transition:none}
html[data-ka-motion=reduced] :is(.rd-btn,.header-cta,.hero-cta,.cta-primary,.prod-btn,.cta-secondary,.cat-cta):hover{transform:none}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
 .wrap{width:calc(100% - 64px)}
 .rd-title{font-size:min(11.4vw,calc((100vw - 84px) / 8.1),20svh)}
 .rd-hero-foot{max-width:min(600px,calc(95vw - clamp(300px,30vw,420px) - 64px))}
 .rd-journey-grid,.rd-access-grid,.rd-about{gap:40px}
}
/* Hlavička sa pod 960 px zbalí do menu (výzva „Vyskúšať ukážku“ je v menu aj v hero). */
@media (max-width:960px){
 .site-header{position:relative;min-height:88px;gap:16px}
 .desktop-nav,.header-cta{display:none}
 .header-actions{gap:12px}
 .mobile-nav{display:block}
 .mobile-nav summary{list-style:none;min-height:44px;display:flex;align-items:center;gap:10px;padding:8px}
 .mobile-nav summary::-webkit-details-marker{display:none}
 .mobile-nav summary:after{content:'+';color:var(--accent-ink);font-size:1.375rem}
 .mobile-nav[open] summary:after{content:'−'}
 .mobile-nav nav{position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:5;display:grid;padding:20px;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 24px 48px #0003}
 .mobile-nav nav a{padding:12px;text-decoration:none}
}
@media (max-width:900px){
 .rd-journey-grid,.rd-access-grid,.rd-about{grid-template-columns:1fr}
 .rd-access-grid,.rd-about{align-items:start}
 .rd-duo{grid-template-columns:1fr}
}
@media (max-width:820px){
 .tier-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}
 .tier-cell{overflow-wrap:break-word;hyphens:auto}
}

/* ---------- Mobil: plastika pod textom a tlačidlom, najviac 240 px ---------- */
@media (max-width:760px){
 .rd-hero{min-height:0;padding:24px 32px 8px;gap:22px}
 .rd-hero-inner{display:contents}
 .rd-hero-inner>*{position:relative;z-index:2}
 .rd-eyebrow{order:1}
 .rd-title{order:2;margin:0;font-size:15.2vw;line-height:1.04}
 .rd-line{white-space:normal}
 .rd-hero-foot{order:3;margin:0;max-width:600px}
 .rd-scene{order:4;position:relative;inset:auto;height:240px}
 .rd-sculpt{width:240px;top:0;right:auto;left:50%;margin-left:-120px}
 .rd-section,.rd-about,.rd-contact{padding-block:64px}
 .rd-journey{padding:72px 0}
 .rd-access{padding:64px 0}
 .rd-facts{grid-template-columns:1fr;gap:20px;margin-top:40px;padding-block:24px}
 .rd-facts strong{min-width:2ch;font-size:2.5rem}
 .rd-step{padding:22px 20px;box-shadow:6px 6px 0 0 var(--accent)}
 .rd-duo article{padding:22px 20px}
 .academy-player{box-shadow:6px 6px 0 0 var(--accent)}
}
@media (max-width:560px){
 .wrap{width:calc(100% - 40px)}
 .rd-hero{padding-inline:20px}
 .eyebrow,.hero-eyebrow{font-size:1.125rem;letter-spacing:.22em}
 .tier-cell{padding:12px 8px}
 .tier-cell.price{font-size:1.125rem}
 .cat-card,.srv-card,.prod-card{box-shadow:5px 5px 0 0 var(--ink)}
 .cat-card.featured{box-shadow:5px 5px 0 0 var(--accent)}
 .rd-actions{gap:16px 24px}
}
@media (max-width:400px){
 .site-header{gap:8px}
 .header-actions{gap:6px}
 .mobile-nav summary{padding:8px 4px;gap:6px}
}
@media (max-width:360px){.rd-title{font-size:14.6vw}}

@media print{.motion-button,.rd-scene{display:none}.rd-shift{background:#fff}.rd-journey,.rd-journey *{color:#111!important}}

/* ---------- Zosúladenie s úvodom akadémie (Neo, fáza 2, 30. 9. 2026) ---------- */
/* Cieľ odkazu a fokus nezakryje plávajúca hlavička. */
html{scroll-padding-top:104px}
@media (max-width:760px){html{scroll-padding-top:84px}}
/* Prechody medzi stránkami komfy.sk a akadémie (pomenovanie prvkov je v spoločnom bloku nižšie). */
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
/* Mobilné menu sa otvára pod kapsulou hlavičky. */
.mobile-nav nav{top:calc(100% + 8px);border-radius:18px}
/* Nízke okno na desktope (napríklad notebook 1366 × 768, po odpočítaní líšt asi 650 px): úvodný text webu je dlhší
   než v akadémii, preto je nadpis menší, aby tlačidlo bolo celé v prvom pohľade. */
@media (min-width:900px) and (max-height:800px){.home .rd-title{font-size:clamp(3rem,min(11.4vw,calc((100vw - 132px) / 8.1),17svh),10.5rem)}}

/* Postup pre obce: štyri kroky ako karty, ktoré sa pri skrolovaní skladajú na seba (rovnako ako etapy v akadémii).
   Zo starších kariet ostane vidieť riadok „Krok 0X“. Bez pohybu sú karty obyčajne pod sebou. */
.process{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start;--rd-stick:104px;--rd-step:calc(1.6875rem + 40px)}
.process-head{margin-bottom:0}
.process-grid{display:flex;flex-direction:column;gap:26px;--n:4}
.process-step{padding:26px 28px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--panel);box-shadow:6px 6px 0 0 var(--accent);transform-origin:50% 0}
.process-step .ps-num{margin-bottom:12px}
.process-step .ps-title{margin-bottom:10px}
.process-step:nth-child(2){--i:1}.process-step:nth-child(3){--i:2}.process-step:nth-child(4){--i:3}
@media (prefers-reduced-motion:no-preference) and (min-height:541px){
 html:not([data-ka-motion=reduced]) .process-step{position:sticky;top:calc(var(--rd-stick) + var(--i,0) * var(--rd-step));margin-bottom:calc((var(--n) - 1 - var(--i,0)) * var(--rd-step))}
 html:not([data-ka-motion=reduced]) .process-step+.process-step{margin-top:calc((var(--i,0) - var(--n)) * var(--rd-step))}
 html:not([data-ka-motion=reduced]) .process-grid::after{content:"";flex:none;height:24svh}
}
@media (prefers-reduced-motion:no-preference) and (min-width:901px) and (min-height:700px){
 html:not([data-ka-motion=reduced]) .process-head{position:sticky;top:var(--rd-stick)}
}
@media (max-width:900px){.process{grid-template-columns:1fr;gap:32px}}
@media (max-width:760px){.process{--rd-stick:84px}.process-step{padding:22px 20px;box-shadow:5px 5px 0 0 var(--accent)}}

/* Mobilný štandard (Neo, 30. 9. 2026). M3: logo a kontaktné odkazy majú dotykovú plochu aspoň 44 px.
   M4: pod 541 px výšky okna (telefón na ležato) sa kroky procesu neprilepujú, prilepené prvky by zabrali väčšinu okna. */
.brand{min-height:44px}
.cta-email{display:flex;align-items:center;min-height:44px}
.final-contact a{display:inline-flex;align-items:center;min-height:44px}

/* Stránka 404: rovnaká hlavička a päta, jeden nadpis a tri cesty ďalej. */
.nf-main{min-height:calc(100svh - 240px);display:flex;flex-direction:column;justify-content:center;padding:96px 0 120px}
.nf-main h1{margin:0 0 28px;font:500 clamp(2.6rem,7vw,6rem)/1.02 var(--font-display);letter-spacing:-.05em;overflow-wrap:normal}
.nf-main .rd-lead{margin:0 0 40px}
.nf-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px;margin:0;padding:0;list-style:none}
@media (max-width:760px){
 .nf-main{min-height:0;padding:56px 0 80px}
 .nf-links{flex-direction:column;align-items:stretch}
 .nf-links .rd-btn{width:100%}
}

/* shared:start
   Spoločný jazyk značky pre akadémiu (AI kurz/app/styles/redesign.css) aj hlavný web (Komfy web/site/assets/komfy-redesign.css).
   Do webu sa kopíruje doslova; Komfy web/scripts/check-shared-css.py zlyhá pri akejkoľvek odchýlke. Používa iba premenné,
   ktoré majú oba weby (--bg, --ink, --panel, --accent, --accent-ink, --on-accent), a selektory oboch webov.
   Sklo (Neo, 29. 9. 2026): iba plávajúca hlavička (všade) a hero úvodu na desktope (štítok, dymový panel, tlačidlo).
   Karty, video, FAQ a lekcie ostávajú s tvrdým tieňom. Hlavička drží kontrast 4,5 : 1 aj nad bielou plochou;
   pod panelom je iba statická žiara a jeho šírka necháva plastiku aj dráhy mimo neho. */
:root{--rd-glass-edge:color-mix(in srgb,var(--ink) 20%,transparent);--rd-glass-hi:color-mix(in srgb,var(--ink) 40%,transparent);--rd-glass-drop:0 24px 60px -28px rgb(0 0 0/.7);--rd-head-bg:linear-gradient(135deg,color-mix(in srgb,var(--bg) 80%,transparent),color-mix(in srgb,var(--bg) 70%,transparent));--rd-smoke:linear-gradient(135deg,color-mix(in srgb,var(--bg) 62%,transparent),color-mix(in srgb,var(--bg) 42%,transparent));--rd-pill:linear-gradient(135deg,color-mix(in srgb,var(--ink) 12%,transparent),color-mix(in srgb,var(--ink) 4%,transparent));--rd-btn-fill:color-mix(in srgb,var(--accent) 88%,transparent);--rd-btn-sheen:.2}
:root[data-theme=light]{--rd-glass-edge:color-mix(in srgb,var(--ink) 16%,transparent);--rd-glass-hi:rgb(255 255 255/.75);--rd-glass-drop:0 24px 60px -30px rgb(40 41 35/.35);--rd-head-bg:linear-gradient(135deg,color-mix(in srgb,var(--panel) 82%,transparent),color-mix(in srgb,var(--panel) 72%,transparent));--rd-smoke:linear-gradient(135deg,color-mix(in srgb,var(--panel) 74%,transparent),color-mix(in srgb,var(--panel) 56%,transparent));--rd-pill:linear-gradient(135deg,color-mix(in srgb,var(--panel) 70%,transparent),color-mix(in srgb,var(--panel) 45%,transparent));--rd-btn-fill:var(--accent);--rd-btn-sheen:.08}

/* Hlavička: sklenená kapsula, ktorá pláva nad obsahom; rovnaký tvar, výška a poradie prepínačov na oboch weboch */
:is(.rd-landing .ob-header,.site-header){position:sticky;top:14px;z-index:40;height:72px;min-height:0;width:min(calc(100% - 80px),1408px);max-width:none;margin:14px auto 0;padding:0 12px 0 24px;border:1px solid var(--rd-glass-edge);border-radius:999px;background:var(--rd-head-bg);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:inset 0 1px 0 var(--rd-glass-hi),var(--rd-glass-drop)}
:is(.rd-landing .ob-header,.site-header) :is(.ob-nav-link,.btn.quiet,.desktop-nav a,.mobile-nav summary){color:var(--ink)}
@media (max-width:1100px){:is(.rd-landing .ob-header,.site-header){width:calc(100% - 40px)}}
@media (max-width:760px){:is(.rd-landing .ob-header,.site-header){top:10px;height:62px;width:calc(100% - 20px);margin-top:10px;padding:0 6px 0 16px}}

/* Hero na desktope: štítok v sklenenej pilulke, text a tlačidlo v dymovom skle nad statickou žiarou */
@media (min-width:900px){
 .rd-hero::before{content:"";position:absolute;z-index:0;left:-14%;bottom:-34%;width:74%;height:96%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 16%,transparent),transparent);pointer-events:none}
 :is(.rd-landing,.home) .rd-eyebrow{align-self:flex-start;padding:8px 18px;border:1px solid var(--rd-glass-edge);border-radius:999px;background:var(--rd-pill);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px 0 var(--rd-glass-hi)}
 :is(.rd-landing,.home) .rd-hero-foot{align-self:flex-start;width:clamp(340px,calc(55vw - 120px),560px);max-width:none;gap:20px;padding:28px 30px 26px;border:1px solid var(--rd-glass-edge);border-radius:22px;background:var(--rd-smoke);-webkit-backdrop-filter:blur(28px) saturate(160%);backdrop-filter:blur(28px) saturate(160%);box-shadow:inset 0 1px 0 var(--rd-glass-hi),var(--rd-glass-drop)}
 :is(.rd-landing,.home) .rd-hero-foot :is(.ob-lead,.rd-lead){max-width:none;color:var(--ink)}
 :is(.rd-landing,.home) .rd-hero-foot :is(.ob-note,.rd-note){margin:0;color:var(--ink-2,var(--muted))}
 :is(.rd-landing .rd-hero-foot .ob-actions .btn,.home .rd-hero-foot .rd-btn){border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);background:linear-gradient(180deg,rgb(255 255 255/var(--rd-btn-sheen)),transparent 62%),var(--rd-btn-fill);color:var(--on-accent);box-shadow:inset 0 1px 0 rgb(255 255 255/.4),0 16px 32px -16px color-mix(in srgb,var(--accent) 75%,transparent)}
 :is(.rd-landing .rd-hero-foot .ob-actions .btn,.home .rd-hero-foot .rd-btn):hover{transform:translateY(-2px);background:linear-gradient(180deg,rgb(255 255 255/var(--rd-btn-sheen)),transparent 62%),var(--accent);color:var(--on-accent);box-shadow:inset 0 1px 0 rgb(255 255 255/.5),0 20px 38px -16px color-mix(in srgb,var(--accent) 85%,transparent)}
}
/* Nízke okno na desktope: menšie medzery v hero, aby nadpis, text aj tlačidlo boli v prvom pohľade. */
@media (min-width:900px) and (max-height:760px){
 .rd-hero-inner{gap:20px;padding-top:16px}
 .rd-title{margin-top:0}
 :is(.rd-landing,.home) .rd-hero-foot{gap:16px;padding:22px 26px 20px}
}

/* Náhrady: bez podpory rozmazania, pri obmedzenej priehľadnosti a vo vysokom kontraste plná plocha */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 :is(.rd-landing .ob-header,.site-header){background:var(--panel)}
 @media (min-width:900px){:is(.rd-landing,.home) :is(.rd-eyebrow,.rd-hero-foot){background:var(--panel)}}
}
@media (prefers-reduced-transparency:reduce){
 :is(.rd-landing .ob-header,.site-header),:is(.rd-landing,.home) :is(.rd-eyebrow,.rd-hero-foot){-webkit-backdrop-filter:none;backdrop-filter:none}
 :is(.rd-landing .ob-header,.site-header){background:var(--panel)}
}
@media (prefers-reduced-transparency:reduce) and (min-width:900px){
 :is(.rd-landing,.home) :is(.rd-eyebrow,.rd-hero-foot){background:var(--panel)}
 :is(.rd-landing .rd-hero-foot .ob-actions .btn,.home .rd-hero-foot .rd-btn),:is(.rd-landing .rd-hero-foot .ob-actions .btn,.home .rd-hero-foot .rd-btn):hover{background:var(--accent)}
}
@media (forced-colors:active){
 :is(.rd-landing .ob-header,.site-header),:is(.rd-landing,.home) :is(.rd-eyebrow,.rd-hero-foot){-webkit-backdrop-filter:none;backdrop-filter:none;background:Canvas;border:1px solid CanvasText;box-shadow:none}
 :is(.rd-landing .rd-hero-foot .ob-actions .btn,.home .rd-hero-foot .rd-btn){background:ButtonFace;color:ButtonText;border:1px solid ButtonText}
 .rd-hero::before{display:none}
}

/* Prechod medzi stránkami (View Transitions, iba ak sú zapnuté na danej stránke): hlavička a plastika plynulo
   prejdú z komfy.sk do akadémie a späť. Pri obmedzenom pohybe sa neanimuje nič. */
@media (prefers-reduced-motion:no-preference){:is(.rd-landing .ob-header,.site-header){view-transition-name:komfy-header}.rd-sculpt{view-transition-name:komfy-sculpt}}
html[data-ka-motion=reduced]::view-transition-group(*),html[data-ka-motion=reduced]::view-transition-old(*),html[data-ka-motion=reduced]::view-transition-new(*){animation:none}
/* shared:end */
