/* ============================================================
   Stavby Čiperka – sdílený design systém (site.css)
   Tokeny převzaté z Elementor Kit #6 stavbyciperka.cz
   ============================================================ */
/* Přístupná paleta (WCAG 2.1 AA).
   Původní značkové odstíny #FF2500 / #E22100 / #009E60 / #6D7A84 nedosahují
   na bílém textu ani jako text poměru 4.5:1 (červená 3.81:1, zelená 3.47:1,
   tlumená šedá 4.11:1 na světlém pozadí). Odstíny níže jsou nejmenší možné
   ztmavení, které projde AA na všech pozadích webu.
   Návrat k původní paletě = přepsat tyto čtyři hodnoty zpět. */
:root{
  --brand:#FF2500; --brand-hover:#E22100; --brand-soft:#fff3f0;
  --brand-raw:#FF2500;                       /* původní značkový odstín – dekorace + velké nadpisy na tmavém */
  --brand-on-dark:#FF6A4D;                   /* červená na tmavém podkladu: 4.8:1 na --dark */
  --green:#009E60; --green-dark:#00491A; --green-bg:#EFFDF4; --green-card:#0F5A2E;
  --text:#1B1B1B; --text-2:#464646; --muted:#636E77;
  --bg:#F7F7F7; --white:#fff; --dark:#2E2E2E; --dark-2:#282928; --black:#0B0A0A;
  --border:rgba(27,27,27,.10); --border-2:#D5D7DD; --yellow:#FFC93F;
  --r-sm:8px; --r:12px; --r-lg:16px;
  --shadow:0 44px 26px 0 rgba(147,132,123,.02),0 19px 19px 0 rgba(147,132,123,.03),0 5px 11px 0 rgba(147,132,123,.03);
  --shadow-lift:0 20px 40px rgba(0,0,0,.18);
  --font-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-head:"DM Sans","Plus Jakarta Sans",system-ui,sans-serif;
  --container:1160px; --container-narrow:800px;
  --header-h:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:24px;color:var(--text);background:var(--bg)}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.btn:hover,.nav a:hover,.tile:hover,.footer a:hover,.header a:hover,.bcard a:hover,.post-card a:hover,.breadcrumb a:hover{text-decoration:none}
h1,h2,h3,h4,h5{font-family:var(--font-head);font-weight:700;color:var(--text);margin:0;letter-spacing:-.2px;text-wrap:balance}
h1{font-family:var(--font-body);font-size:51px;line-height:62px}
h2{font-size:42px;line-height:52px}
h3{font-size:30px;line-height:38px}
h4,.h-sm{font-size:24px;line-height:32px}   /* .h-sm = vizuál h4 při sémantické úrovni h3 */
h5{font-size:19px;line-height:26px}
p{margin:0}
ul,ol{margin:0;padding:0}
ul{list-style:none}
ol{list-style:none}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:16px}
:focus-visible{outline:3px solid rgba(255,37,0,.45);outline-offset:2px}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.container--narrow{max-width:var(--container-narrow)}
.section{padding:80px 0}
.section--sm{padding:56px 0}
.section--white{background:#fff}
.section--dark{background:var(--dark);color:#fff}
.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.section--dark p{color:rgba(255,255,255,.85)}
.section-title{text-align:center;margin-bottom:40px}
.section-title--left{text-align:left}
.section-title p{color:var(--text-2);max-width:720px;margin:12px auto 0;font-size:17px;line-height:27px}
.section-title--left p{margin-left:0}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.red{color:var(--brand)}
.muted{color:var(--muted)}
.small{font-size:13px;line-height:20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--brand);color:#fff;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.3px;padding:16px 28px;border-radius:var(--r);border:1px solid var(--brand);transition:background .2s,border-color .2s,transform .1s;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn--outline{background:transparent;color:var(--brand)}
.btn--outline:hover{background:var(--brand);color:#fff}
.btn--white{background:#fff;color:var(--text);border-color:#fff}
.btn--white:hover{background:#f2f2f2;border-color:#f2f2f2;color:var(--text)}
.btn--ghost{background:rgba(255,255,255,.02);border:1px solid #fff;color:#fff;backdrop-filter:blur(10px)}
.btn--ghost:hover{background:var(--brand);border-color:var(--brand)}
.btn--dark{background:var(--dark);border-color:var(--dark)}
.btn--dark:hover{background:#000;border-color:#000}
.btn--block{width:100%}
.btn--lg{padding:18px 36px;font-size:17px}
.btn--sm{padding:11px 18px;font-size:14px}
.btn[disabled]{opacity:.7;cursor:wait}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--brand)}
.link-arrow svg{width:16px;height:16px}

/* ---------- Header ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .25s;padding:16px 0}
.header.is-scrolled,.header.is-open,.header--solid{background:var(--dark);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.header__in{display:flex;align-items:center;gap:32px}
.header__logo{display:flex;align-items:center;flex:none}
.header__logo svg{width:170px;height:35px}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav>li{position:relative}
.nav a,.nav button{color:#fff;font-size:15px;font-weight:500;background:none;border:0;padding:8px 0;display:inline-flex;align-items:center;gap:6px}
.nav a:hover,.nav button:hover,.nav a[aria-current="page"]{color:var(--brand)}
.nav__sub{position:absolute;top:100%;left:-16px;min-width:280px;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lift);padding:12px;display:none;flex-direction:column;gap:4px;margin-top:8px}
.nav>li:hover .nav__sub,.nav>li:focus-within .nav__sub{display:flex}
.nav__sub a{color:var(--text);padding:10px 12px;border-radius:var(--r-sm);font-weight:600}
.nav__sub a:hover{background:var(--bg);color:var(--brand)}
.header__phone{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;font-size:15px}
.header__phone svg{width:18px;height:18px}
.header__phone:hover{color:var(--brand)}
.header__cta{padding:12px 22px;font-size:15px}
.burger{display:none;background:none;border:0;padding:6px;margin-left:auto}
.burger span{display:block;width:26px;height:2px;background:#fff;margin:6px 0;transition:.2s}
.header.is-open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.header.is-open .burger span:nth-child(2){opacity:0}
.header.is-open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{display:none}
/* světlé stránky (bez fotky v heru) mají hlavičku hned tmavou */
.page--light .header{background:var(--dark)}

/* ---------- Hero varianty ---------- */
.hero{position:relative;display:flex;align-items:center;padding:150px 0 110px;background:#111 center/cover no-repeat;color:#fff;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.35) 100%);z-index:-1}
.hero--full{min-height:100vh}
.hero--center{text-align:center}
.hero--center::before{background:rgba(0,0,0,.62)}
.hero--center .hero__lead{margin-left:auto;margin-right:auto}
.hero--center .hero__actions{justify-content:center}
.hero h1{color:#fff;margin-bottom:22px}
.hero__in{display:grid;grid-template-columns:minmax(0,1.15fr) 400px;gap:48px;align-items:start}
.hero__in--single{grid-template-columns:minmax(0,760px)}
.hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:999px;margin-bottom:18px;backdrop-filter:blur(6px)}
.hero__eyebrow svg{width:14px;height:14px;color:var(--yellow)}
.hero__lead{font-size:18px;line-height:28px;color:rgba(255,255,255,.88);max-width:560px;margin-bottom:26px}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:22px}
.hero__call{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.hero__call svg{width:18px;height:18px}
.hero__call:hover{color:var(--brand)}
/* světlý hero pro obsahové stránky (blog, kariéra, legal) */
.hero-light{background:#fff;padding:calc(var(--header-h) + 56px) 0 48px;border-bottom:1px solid var(--border)}
.hero-light h1{font-size:44px;line-height:54px;color:var(--text);margin:14px 0 14px}
.hero-light .hero__lead{color:var(--text-2);margin-bottom:0}
.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.breadcrumb li+li::before{content:"›";margin-right:6px;color:var(--border-2)}
.breadcrumb--light,.breadcrumb--light a{color:rgba(255,255,255,.7)}

/* cenový box (hero) */
.pricebox{display:inline-grid;grid-template-columns:auto auto;gap:0 40px;background:rgba(15,15,15,.72);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:18px 26px;backdrop-filter:blur(8px);margin-bottom:26px}
.pricebox__label{font-size:13px;color:rgba(255,255,255,.75);margin-bottom:2px}
.pricebox__old{font-family:var(--font-head);font-size:30px;font-weight:700;text-decoration:line-through;color:rgba(255,255,255,.7);line-height:1.2}
.pricebox__new{font-family:var(--font-head);font-size:34px;font-weight:800;color:var(--brand);line-height:1.2}
.pricebox__extra{grid-column:2;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-align:right;margin-top:4px}
.pricebox__note{grid-column:1/-1;font-size:12px;color:rgba(255,255,255,.6);margin-top:10px}
.trust-row{display:flex;align-items:center;gap:14px}
.trust-row img{height:52px;width:auto}
.trust-row__text{font-size:13px;line-height:18px}
.trust-row__text img{height:20px;margin-bottom:2px}

/* rychlý kvíz (karta v heru) */
.qcard{background:#fff;color:var(--text);border-radius:var(--r-lg);padding:24px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.qcard h2{font-size:20px;line-height:28px;margin-bottom:6px}
.qcard__sub{font-size:14px;color:var(--text-2);margin-bottom:14px}
.qcard__sub b{color:var(--green)}
.qcard__q{font-size:14px;font-weight:600;margin-bottom:10px}
.tile-list{display:flex;flex-direction:column;gap:10px}
.tile{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--border-2);border-radius:var(--r-sm);padding:12px 14px;font-size:15px;font-weight:500;color:var(--text);transition:border-color .15s,background .15s,transform .1s}
.tile img,.tile svg{width:26px;height:26px;flex:none}
.tile:hover{border-color:var(--brand);background:var(--brand-soft)}
.tile:active{transform:scale(.99)}
.tile.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px rgba(255,37,0,.15)}
.qcard__foot{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin-top:14px}
.qcard__foot span{display:inline-flex;align-items:center;gap:5px}
.qcard__foot svg{width:14px;height:14px;color:var(--green)}

/* ---------- Trust strip / stats ---------- */
.trust-strip{background:#fff;border-bottom:1px solid var(--border)}
.trust-strip__in{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 20px}
.trust-item{display:flex;align-items:center;gap:12px}
.trust-item__ico{width:44px;height:44px;border-radius:50%;background:var(--green-bg);color:var(--green-dark);display:grid;place-items:center;flex:none}
.trust-item__ico svg{width:22px;height:22px}
.trust-item b{display:block;font-family:var(--font-head);font-size:20px;line-height:24px}
.trust-item span{font-size:13px;color:var(--text-2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:#fff;border-radius:var(--r-lg);padding:26px 22px;box-shadow:var(--shadow)}
.stat b{display:block;font-family:var(--font-head);font-size:36px;line-height:42px;color:var(--brand)}
.stat span{font-size:14px;color:var(--text-2)}

/* ---------- Galerie před/po ---------- */
.gallery{position:relative}
.gallery__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 6px 16px;margin:0 -6px}
.gallery__track::-webkit-scrollbar{display:none}
.pair{flex:0 0 calc(50% - 10px);scroll-snap-align:start;background:#fff;border-radius:var(--r-lg);padding:12px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pair figure{position:relative;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:#ddd}
.pair img{width:100%;height:100%;object-fit:cover}
.pair__tag{position:absolute;top:10px;left:10px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px}
.pair__grant{position:absolute;right:0;bottom:0;background:var(--green);color:#fff;font-size:12px;font-weight:700;padding:7px 12px;border-radius:var(--r) 0 var(--r) 0}
.gallery__nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:8px}
/* tečky galerie: vizuál zůstává 22×6 px, ale dotyková plocha má 30×40 px */
.gallery__dots{display:flex;gap:0}
.gallery__dots button{width:30px;height:40px;border:0;background:none;padding:0;display:grid;place-items:center;cursor:pointer}
.gallery__dots button::before{content:"";display:block;width:22px;height:6px;border-radius:3px;background:#d9d9d9}
.gallery__dots button.is-active::before{background:var(--brand)}
.gallery__arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-2);background:#fff;display:grid;place-items:center}
.gallery__arrow svg{width:18px;height:18px}
.gallery__cta{text-align:center;margin-top:28px}

/* ---------- Karty ---------- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:26px 24px}
.card h2,.card h3{font-size:22px;line-height:30px;margin-bottom:10px}
.card p{color:var(--text-2);font-size:15px;line-height:24px}
.card__ico{width:48px;height:48px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;margin-bottom:18px}
.card__ico svg,.card__ico img{width:26px;height:26px}
.checks li{display:flex;gap:10px;align-items:flex-start;background:var(--green-bg);color:var(--green-dark);font-size:14px;padding:8px 12px;border-radius:6px;margin-bottom:6px}
.checks svg{width:18px;height:18px;flex:none;margin-top:2px}
.checks--plain li{background:transparent;color:var(--text);padding:4px 0}
.checks--plain svg{color:var(--green)}
/* cenové karty */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.pricing--2{grid-template-columns:repeat(2,1fr);max-width:800px;margin:0 auto}
.pcard{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;position:relative}
.pcard__badge{background:var(--green-card);color:#fff;text-align:center;font-size:13px;font-weight:600;padding:6px}
.pcard__img{aspect-ratio:356/240;overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:cover}
.pcard__title{text-align:center;font-family:var(--font-head);font-weight:600;font-size:17px;margin:-22px 24px 0;background:#fff;border-radius:10px 10px 0 0;padding:12px 0 4px;position:relative}
.pcard__body{padding:8px 24px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.pcard__row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--text-2)}
.pcard__row s{color:var(--text-2)}
.pcard__row--new{color:var(--brand)}
.pcard__row--new b{font-family:var(--font-head);font-size:22px;color:var(--brand)}
.pcard .btn{margin-top:auto}
.pcard__hint{font-size:12px;color:var(--muted);text-align:center}
.ocard{background:#0d0d0d center/cover no-repeat;color:#fff;text-align:center;padding:26px 22px 20px;display:flex;flex-direction:column}
.ocard::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);border-radius:var(--r-lg)}
.ocard>*{position:relative}
.ocard__t{font-family:var(--font-head);font-size:22px;line-height:30px;font-weight:600}
.ocard__amount{font-family:var(--font-head);font-size:46px;line-height:1;font-weight:800;color:var(--brand);margin:12px 0 10px;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff}
.ocard__arrow{width:18px;margin:0 auto 14px;opacity:.9}
.ocard__box{background:var(--green-card);border-radius:var(--r);padding:16px 14px;margin-top:auto}
.ocard__box b{display:block;font-size:15px;margin-bottom:2px}
.ocard__box p{font-size:13px;opacity:.9;margin-bottom:12px}
.ocard__box .tile{background:#fff;border-color:#fff}
.ocard__note{font-size:12px;margin-top:12px;opacity:.9}
.pricing__note{font-size:13px;color:var(--muted);text-align:center;margin-top:18px}
/* dotační karty */
.gcard{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;gap:14px}
.gcard__eyebrow{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--green)}
.gcard h3{font-size:24px;line-height:32px}
.gcard__amount{font-family:var(--font-head);font-size:32px;font-weight:800;color:var(--brand);line-height:1.1}
.gcard__amount small{display:block;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-2);margin-top:4px}
.gcard p{font-size:15px;color:var(--text-2);line-height:24px}
.gcard ul li,.bullets li{font-size:14px;padding:6px 0 6px 26px;position:relative;color:var(--text)}
.gcard ul li::before,.bullets li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12' fill='none'%3E%3Cpath d='M6 11.3L1 6.3l1.3-1.3L6 8.8 14.1.7l1.3 1.2z' fill='white'/%3E%3C/svg%3E") center/9px no-repeat}
/* služby */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.scard{position:relative;min-height:480px;border-radius:var(--r-lg);overflow:hidden;background:#222 center/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;box-shadow:var(--shadow);isolation:isolate}
.scard::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.9) 100%);z-index:-1}
.scard h3{color:#fff;font-size:24px;margin-bottom:10px}
.scard p{font-size:14px;line-height:22px;margin-bottom:18px;color:rgba(255,255,255,.9)}
.scard .btn{width:100%}
/* výhody */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bcard{background:#fff;border-radius:var(--r-lg);padding:26px 22px;box-shadow:var(--shadow)}
.bcard img,.bcard>svg{width:32px;height:32px;margin-bottom:26px;color:var(--brand)}
.bcard h3{font-size:19px;line-height:26px;margin-bottom:10px}
.bcard p{font-size:14px;line-height:22px;color:var(--text-2)}
/* recenze */
.reviews{position:relative;border-radius:var(--r-lg);background:#222 center/cover no-repeat;padding:48px 32px 40px;overflow:hidden;isolation:isolate}
.reviews::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:-1}
.reviews h2{color:#fff;text-align:center;margin-bottom:36px}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rcard{background:#fff;border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px}
.rcard__tag{align-self:flex-start;background:#111;color:#fff;font-size:12px;font-weight:600;padding:6px 14px;border-radius:999px}
.rcard__stars{height:22px;width:auto}
.rcard p{font-size:14px;line-height:22px;color:var(--text-2);flex:1}
.rcard__who{display:flex;align-items:center;gap:12px}
.rcard__who img{width:44px;height:44px;border-radius:50%}
.rcard__who b{display:block;font-size:15px}
.rcard__who span{font-size:13px;color:var(--muted)}
.reviews__cta{text-align:center;margin-top:30px}
.reviews__cta p{color:rgba(255,255,255,.85);font-size:13px;margin-top:10px}
/* dvousloupcový blok text + obrázek */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split--rev>:first-child{order:2}
.split img{border-radius:var(--r-lg);width:100%}
.split h2{margin-bottom:16px}
.split p{color:var(--text-2);margin-bottom:12px;line-height:26px}
.split h4,.split .h-sm{margin:22px 0 14px}
.split .checks li{background:var(--bg);color:var(--text)}
.split .checks svg{color:var(--green)}
.hracka{background:var(--dark);color:#fff;padding:70px 0}
.hracka h2{color:#fff;margin-bottom:16px}
.hracka p{color:rgba(255,255,255,.85);margin-bottom:26px;line-height:26px}
/* materiály */
.materials{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
.materials__intro p{color:var(--text-2);margin:16px 0 30px;line-height:26px}
.greencard{background:var(--green-card);color:#fff;border-radius:var(--r-lg);padding:30px}
.greencard h3{color:#fff;font-size:24px;margin-bottom:12px}
.greencard p{color:rgba(255,255,255,.9);margin-bottom:22px}
.mat{display:grid;grid-template-columns:1fr 110px;gap:20px;align-items:center;border-left:3px solid var(--brand);padding:6px 0 6px 20px;margin-bottom:38px}
.mat h3{font-size:22px;line-height:30px;margin-bottom:8px}
.mat p{color:var(--text-2);font-size:15px;margin-bottom:12px}
.mat ul{display:flex;flex-wrap:wrap;gap:8px 28px}
.mat li{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.mat li svg{width:20px;height:20px;color:var(--green)}
.mat img{width:100px;height:auto;justify-self:end}
.partners{margin-top:60px}
.partners h3{text-align:center;font-size:24px;margin-bottom:8px}
.partners p{text-align:center;color:var(--text-2);font-size:14px;margin-bottom:24px}
.partners__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.partners__grid div{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);height:96px;display:grid;place-items:center;padding:16px}
.partners__grid img{max-height:60px;width:auto;max-width:150px}
/* proces / kroky (skutečná posloupnost) */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.step-card{background:#fff;border-radius:var(--r-lg);padding:26px 22px;box-shadow:var(--shadow);position:relative;counter-increment:step}
.step-card::before{content:counter(step);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--font-head);font-weight:700;font-size:18px;margin-bottom:16px}
.step-card h3{font-size:19px;line-height:26px;margin-bottom:8px}
.step-card p{font-size:14px;line-height:22px;color:var(--text-2)}
/* tabulka */
.table-wrap{overflow-x:auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow)}
table.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.tbl th,.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.tbl th{font-family:var(--font-head);font-weight:600;background:var(--bg);font-size:14px}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:600}
/* FAQ */
.faq{max-width:840px;margin:0 auto}
.faq details{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:12px;padding:0 24px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--font-head);font-weight:600;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--brand);flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p,.faq details ul{padding:0 0 20px;color:var(--text-2);line-height:26px;font-size:15px}
.faq details ul{list-style:disc;padding-left:20px}
.faq__cta{text-align:center;margin-top:28px;font-size:15px;color:var(--text-2)}
.faq__cta a{font-weight:700}
/* finální CTA pruh */
.final{position:relative;background:#111 center/cover no-repeat;color:#fff;padding:80px 0;isolation:isolate;text-align:center}
.final::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.6);z-index:-1}
.final h2{color:#fff;font-size:40px;line-height:50px;margin-bottom:12px}
.final p{color:rgba(255,255,255,.9);max-width:640px;margin:0 auto 26px;line-height:26px}
.final__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px}
.final__date{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.9);text-align:left}
.final__date svg{width:16px;height:16px;color:var(--brand);flex:none}
.final__call{color:#fff;font-weight:600}
.final__call:hover{color:var(--brand)}
/* jednoduchý CTA pruh (zelený/tmavý) */
.cta-band{border-radius:var(--r-lg);padding:40px 44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;background:var(--dark);color:#fff}
.cta-band--green{background:var(--green-card)}
.cta-band h3{color:#fff;font-size:26px;line-height:34px;margin-bottom:6px}
.cta-band p{color:rgba(255,255,255,.85)}

/* ---------- Formulář (multi-step) ---------- */
.formwrap{background:#fff;border:1px solid var(--border-2);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-columns:330px 1fr;box-shadow:var(--shadow)}
.formwrap--single{grid-template-columns:1fr;max-width:820px;margin:0 auto}
.formside{position:relative;background:#111 center bottom/cover no-repeat;color:#fff;padding:28px 26px;display:flex;flex-direction:column;gap:18px;isolation:isolate}
.formside::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.75) 100%);z-index:-1}
.formside__pill{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;align-self:flex-start}
.formside__pill svg{width:14px;height:14px}
.formside__t{font-family:var(--font-head);font-size:26px;line-height:32px;font-weight:700;text-transform:uppercase}
.formside__t small{display:block;font-size:14px;font-weight:500;text-transform:none;opacity:.9;margin-top:6px}
.formside hr{border:0;border-top:1px solid var(--brand);margin:0;width:100%}
.formside__proof{display:flex;flex-direction:column;gap:10px;font-size:14px}
.formside__proof li{display:flex;gap:10px;align-items:flex-start}
.formside__proof svg{width:18px;height:18px;flex:none;color:var(--green);margin-top:2px}
.formside__quote{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--r);padding:14px;font-size:13px;line-height:20px;margin-top:auto}
.formside__quote img{height:18px;margin-bottom:8px}
.formside__quote b{display:block;margin-top:8px;font-size:12px;opacity:.85}
.formmain{padding:28px 32px 32px;min-height:560px;position:relative}
.progress{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.progress__bar{flex:1;height:8px;border-radius:10px;background:#EFF1F2;overflow:hidden}
.progress__fill{height:100%;background:var(--green);border-radius:10px;width:17%;transition:width .3s}
.progress__txt{font-size:13px;color:var(--text-2);white-space:nowrap}
.step{display:none;animation:fade .3s ease}
.step.is-active{display:block}
@keyframes fade{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.step h3{font-size:24px;line-height:32px;text-align:center;margin-bottom:6px}
.step__why{text-align:center;color:var(--text-2);font-size:14px;margin-bottom:20px}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.opts--3{grid-template-columns:repeat(3,1fr)}
.opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:22px 12px 16px;text-align:center;font-size:14px;font-weight:500;color:var(--text);min-height:110px;transition:border-color .15s,box-shadow .15s}
.opt img,.opt svg{width:46px;height:46px}
.opt:hover{border-color:var(--brand)}
.opt.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px rgba(255,37,0,.15)}
.opt::after{content:"";position:absolute;top:10px;right:10px;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-2)}
.opt.is-selected::after{background:var(--brand);border-color:var(--brand);box-shadow:inset 0 0 0 3px #fff}
.opt--text{min-height:88px;padding:18px 12px}
.opt--text b{font-family:var(--font-head);font-size:20px}
.step__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.btn-back{background:#fff;color:var(--muted);border:1px solid var(--muted);border-radius:var(--r);padding:12px 22px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.btn-back:hover{background:#f2f2f2}
.btn-back svg{width:16px;height:16px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:14px;font-weight:600}
.field input,.field textarea,.field select{border:1px solid var(--border-2);border-radius:var(--r-sm);padding:0 14px;font-size:16px;width:100%;background:#fff;height:52px}
.field textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.field.is-error input,.field.is-error textarea{border-color:var(--brand);background:var(--brand-soft)}
.field__err{display:none;font-size:13px;color:var(--brand)}
.field.is-error .field__err{display:block}
.field__hint{font-size:12px;color:var(--muted);font-weight:400}
.phone-wrap{display:flex}
.phone-wrap span{display:flex;align-items:center;padding:0 12px;border:1px solid var(--border-2);border-right:0;border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--bg);font-weight:600;color:var(--text-2)}
.phone-wrap input{border-radius:0 var(--r-sm) var(--r-sm) 0}
.zip-wrap{max-width:320px;margin:0 auto}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--border-2);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text)}
.chip.is-selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-2);margin:16px 0}
.consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--brand)}
.consent.is-error{color:var(--brand)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-grid .field--full{grid-column:1/-1}
.submit-row{display:flex;flex-direction:column;gap:14px;align-items:center}
.submit-row .btn{width:100%}
.assur{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:12px;color:var(--text-2)}
.assur span{display:inline-flex;align-items:center;gap:5px}
.assur svg{width:14px;height:14px;color:var(--green)}
.form-error{display:none;background:var(--brand-soft);border:1px solid var(--brand);color:var(--brand);border-radius:var(--r-sm);padding:10px 14px;font-size:14px;margin-bottom:14px}
.form-error.is-visible{display:block}
.alt-call{text-align:center;font-size:14px;color:var(--text-2);margin-top:14px}
.alt-call a{font-weight:700}
.calc{text-align:center}
.calc__spin{width:56px;height:56px;border:4px solid #EFF1F2;border-top-color:var(--green);border-radius:50%;margin:30px auto;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.calc__result{display:none;text-align:left}
.calc.is-done .calc__spin,.calc.is-done .calc__wait{display:none}
.calc.is-done .calc__result{display:block}
.calc__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.calc__box{background:var(--bg);border-radius:var(--r-sm);padding:14px 16px}
.calc__box span{display:block;font-size:12px;color:var(--text-2)}
.calc__box b{font-family:var(--font-head);font-size:22px;line-height:28px}
.calc__box--hi{background:var(--green-bg)}
.calc__box--hi b{color:var(--green-dark)}
.calc__box--red b{color:var(--brand)}
.calc__disc{font-size:12px;color:var(--muted);margin-bottom:18px}
.thanks{text-align:left}
.thanks__ok{width:60px;height:60px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin:0 auto 16px}
.thanks__ok svg{width:30px;height:30px;color:#fff}
.thanks h3{margin-bottom:10px}
.thanks p{color:var(--text-2);font-size:15px;line-height:24px}
.thanks__recap{background:var(--bg);border-radius:var(--r-sm);padding:12px 16px;font-size:14px;margin:16px 0}
.thanks ol{padding-left:20px;margin:10px 0 18px;font-size:15px;line-height:24px}
.thanks ol li{margin-bottom:6px}
.thanks__links{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;font-weight:600;margin-top:12px}
/* jednoduchý kontaktní formulář (kariéra apod.) */
.simple-form{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:32px}
.simple-form h3{margin-bottom:6px}
.simple-form .step__why{text-align:left}

/* ---------- Kalkulačka (zateplení) ---------- */
.calcw{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:32px;display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
.calcw__group{margin-bottom:22px}
.calcw__label{font-size:14px;font-weight:600;margin-bottom:10px;display:block}
.calcw__btns{display:flex;flex-wrap:wrap;gap:10px}
.calcw__btn{border:1px solid var(--border-2);background:#fff;border-radius:var(--r-sm);padding:12px 18px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.calcw__btn.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.calcw input[type=range]{width:100%;accent-color:var(--brand)}
.calcw__range-vals{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.calcw__out{background:var(--dark);color:#fff;border-radius:var(--r);padding:26px}
.calcw__out h3{color:#fff;font-size:20px;margin-bottom:16px}
.calcw__res{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);gap:12px}
.calcw__res span{font-size:14px;color:rgba(255,255,255,.75)}
.calcw__res b{font-family:var(--font-head);font-size:24px}
.calcw__res--grant b{color:#4ade80}
.calcw__note{font-size:12px;color:rgba(255,255,255,.6);margin:14px 0 18px;line-height:18px}

/* ---------- Blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.post-card__img{aspect-ratio:16/10;overflow:hidden;background:#eee}
.post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.post-card:hover .post-card__img img{transform:scale(1.03)}
.post-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card__meta{font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.post-card__cat{color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.post-card h2,.post-card h3{font-size:18px;line-height:26px}
.post-card h2 a,.post-card h3 a{color:var(--text)}
.post-card p{font-size:14px;line-height:22px;color:var(--text-2);flex:1}
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}
/* min-height 40px = minimální doporučená velikost dotykového cíle */
.filters a,.filters button{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--border-2);background:#fff;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}
.filters .is-active{background:var(--dark);border-color:var(--dark);color:#fff}
.prose{max-width:var(--container-narrow);margin:0 auto;font-size:17px;line-height:29px;color:var(--text)}
.prose h2{font-size:30px;line-height:38px;margin:44px 0 16px}
.prose h3{font-size:23px;line-height:31px;margin:34px 0 12px}
.prose h4{font-size:19px;line-height:27px;margin:26px 0 10px}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:24px}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin-bottom:6px}
.prose img{border-radius:var(--r);margin:26px auto}
.prose figure{margin:26px 0}
.prose figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.prose blockquote{border-left:3px solid var(--brand);margin:26px 0;padding:6px 20px;color:var(--text-2);font-style:italic}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 22px}
.prose th,.prose td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.prose th{background:var(--bg)}
.prose .table-wrap{margin:0 0 22px;box-shadow:none;border-radius:0}
.prose a{text-decoration:underline}
.prose strong{font-weight:700}
.prose hr{border:0;border-top:1px solid var(--border);margin:32px 0}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--muted);margin-top:14px}
.post-hero-img{max-width:var(--container-narrow);margin:0 auto 40px;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;background:#eee}
.post-hero-img img{width:100%;height:100%;object-fit:cover}
.post-cta{max-width:var(--container-narrow);margin:44px auto 0}
.post-nav{max-width:var(--container-narrow);margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.post-nav a{background:#fff;border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);color:var(--text);font-size:14px;font-weight:600;display:block}
.post-nav a span{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:4px}
.post-nav a:last-child{text-align:right}
.related{margin-top:60px}
.toc{background:#fff;border-radius:var(--r);padding:20px 24px;box-shadow:var(--shadow);margin:0 auto 32px;max-width:var(--container-narrow);font-size:15px}
.toc b{display:block;margin-bottom:8px;font-family:var(--font-head)}
.toc ol{list-style:decimal;padding-left:20px;columns:2;column-gap:32px}
.toc li{margin-bottom:4px}

/* ---------- Kariéra ---------- */
.job-meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.job-meta span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border-2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}
.job-meta span svg{width:14px;height:14px;color:var(--brand)}
.job-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.job-card{background:#fff;border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}
.job-card h3{font-size:22px;line-height:30px}
.job-card p{color:var(--text-2);font-size:15px;flex:1}

/* ---------- Footer ---------- */
.footer{background:var(--dark);color:#F9F9F9;padding:56px 0 40px}
.footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;margin-bottom:36px}
.footer__contact{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;font-size:15px}
.footer__contact>span{color:rgba(255,255,255,.6)}
.footer__contact a{display:inline-flex;align-items:center;gap:12px;color:#fff}
.footer__contact a:hover{color:var(--brand)}
.ico{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--dark);display:grid;place-items:center;flex:none}
.ico svg{width:20px;height:20px}
.footer__social{display:flex;align-items:center;gap:12px;font-size:15px}
.footer__social>span{color:rgba(255,255,255,.6);margin-right:4px}
.footer__social a{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--dark);display:grid;place-items:center}
.footer__social a:hover{background:var(--brand);color:#fff}
.footer__social svg{width:18px;height:18px}
.footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-size:14px;margin-bottom:30px}
.footer__links a{color:rgba(255,255,255,.85)}
.footer__links a:hover{color:var(--brand)}
.footer__logo{display:flex;justify-content:center;margin-bottom:28px}
.footer__logo svg{width:187px;height:39px}
.footer__legal{text-align:center;font-size:13px;color:rgba(255,255,255,.85);line-height:22px}
.footer__legal a{color:#fff;font-weight:600}
.footer__legal small{display:block;color:rgba(255,255,255,.55);font-size:12px;margin-top:10px}

/* ---------- Sticky mobile bar ---------- */
.sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--border);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,.12);transform:translateY(110%);transition:transform .3s}
.sticky.is-visible{transform:none}
.sticky a{flex:1;padding:14px 10px;font-size:15px}
.sticky__call{background:#fff;color:var(--text);border:1px solid var(--border-2)}
.sticky__call:hover{background:var(--bg);border-color:var(--border-2);color:var(--text)}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  h1{font-size:40px;line-height:48px}
  h2{font-size:32px;line-height:40px}
  .hero-light h1{font-size:34px;line-height:42px}
  .section{padding:60px 0}
  .nav,.header__phone,.header__cta{display:none}
  .burger{display:block}
  .mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--dark);padding:20px;flex-direction:column;gap:6px;overflow:auto;z-index:99}
  .header.is-open+.mobile-menu{display:flex}
  .mobile-menu a{color:#fff;font-size:18px;font-weight:600;padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.1)}
  .mobile-menu a.mm-sub{font-size:15px;font-weight:500;padding-left:24px;color:rgba(255,255,255,.8)}
  .mobile-menu .btn{margin-top:16px;border-bottom:0;font-size:16px}
  .hero{padding:120px 0 80px}
  .hero__in{grid-template-columns:1fr;gap:32px}
  .trust-strip__in,.stats,.steps,.benefits,.grid-4{grid-template-columns:repeat(2,1fr)}
  .pair{flex-basis:100%}
  .pricing{grid-template-columns:1fr 1fr}
  .pricing .ocard{grid-column:1/-1}
  .grid-2,.grid-3,.job-list,.pricing--2{grid-template-columns:1fr}
  .formwrap{grid-template-columns:1fr}
  .formside{padding:22px}
  .formside__quote{display:none}
  .formmain{padding:22px 18px 26px;min-height:0}
  .split,.materials,.calcw{grid-template-columns:1fr;gap:40px}
  .split--rev>:first-child{order:0}
  .services{grid-template-columns:1fr}
  .scard{min-height:380px}
  .reviews__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:0 -32px;padding:0 32px 8px;scrollbar-width:none}
  .reviews__grid::-webkit-scrollbar{display:none}
  .rcard{flex:0 0 86%;scroll-snap-align:center}
  .partners__grid{grid-template-columns:repeat(2,1fr)}
  .post-grid{grid-template-columns:1fr 1fr}
  .final h2{font-size:32px;line-height:40px}
  .cta-band{padding:30px 26px}
  .sticky{display:flex}
}
@media (max-width:767px){
  h1{font-size:32px;line-height:40px}
  h2{font-size:28px;line-height:36px}
  h3{font-size:24px;line-height:32px}
  .hero-light h1{font-size:30px;line-height:38px}
  .header{padding:12px 0}
  .header__logo svg{width:140px;height:29px}
  .hero{padding:104px 0 60px;min-height:0}
  .hero__lead{font-size:16px;line-height:24px}
  .pricebox{grid-template-columns:1fr;gap:10px;width:100%}
  .pricebox__old{font-size:24px}
  .pricebox__new{font-size:30px}
  .pricebox__extra{grid-column:1;text-align:left}
  .hero__actions .btn{width:100%}
  .trust-strip__in{gap:12px;padding:18px 20px}
  .trust-item b{font-size:17px;line-height:22px}
  .trust-item span{font-size:12px}
  .stats,.steps,.benefits,.grid-4,.pricing,.post-grid{grid-template-columns:1fr}
  .opts,.opts--3{grid-template-columns:1fr 1fr}
  .opt{min-height:100px;padding:16px 8px 12px;font-size:13px}
  .opt img,.opt svg{width:38px;height:38px}
  .form-grid,.calc__grid,.post-nav{grid-template-columns:1fr}
  .reviews{padding:36px 20px 32px}
  .reviews__grid{margin:0 -20px;padding:0 20px 8px}
  .mat{grid-template-columns:1fr 80px;gap:12px}
  .final__row{flex-direction:column}
  .footer__top{justify-content:center;text-align:center}
  .footer__contact{justify-content:center}
  .section-title{margin-bottom:28px}
  .step h3{font-size:21px;line-height:28px}
  .btn{padding:14px 20px}
  .toc ol{columns:1}
  .prose{font-size:16px;line-height:27px}
  .prose h2{font-size:25px;line-height:32px}
  .calcw{padding:22px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Úspory (dům s popisky + karta nákladů) ---------- */
.savings__visual{position:relative}
.savings__visual>img{border-radius:var(--r-lg);width:100%}
.lbl{position:absolute;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.costcard{position:absolute;right:-16px;bottom:-24px;width:220px;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lift);overflow:hidden}
.costcard div{padding:12px 16px;border-bottom:1px solid var(--border)}
.costcard div:first-child{background:var(--brand);color:#fff}
.costcard span{display:block;font-size:12px;opacity:.85}
.costcard b{font-size:16px}
.costcard div:nth-child(2) b,.costcard div:nth-child(3) b{color:var(--green-dark)}
.savings__foot{font-size:13px;color:var(--muted);margin-top:10px}
.savings__disc{font-size:12px;color:var(--muted);margin-top:14px}
@media (max-width:1024px){.costcard{right:8px;bottom:-24px}.split .savings__visual{margin-bottom:24px}}
.tbl td img{display:inline-block;vertical-align:middle;margin-right:10px;width:48px;height:auto}

/* ============================================================
   UI POLISH LAYER – elevace, pohyb, stavy interakce
   (jen transform / opacity / box-shadow / color; bez zásahu do layoutu)
   ============================================================ */
:root{
  /* elevační škála */
  --shadow-1:0 1px 2px rgba(27,27,27,.045),0 8px 20px -12px rgba(27,27,27,.16);
  --shadow-2:0 2px 6px rgba(27,27,27,.05),0 18px 34px -16px rgba(27,27,27,.26);
  --shadow-3:0 6px 14px rgba(27,27,27,.06),0 34px 60px -24px rgba(27,27,27,.34);
  --shadow:var(--shadow-1);
  --shadow-lift:var(--shadow-3);
  --ease:cubic-bezier(.2,.8,.2,1);
  --dur:.22s;
  --ring:0 0 0 3px rgba(255,37,0,.22);
}
::selection{background:rgba(255,37,0,.18);color:var(--text)}
::-moz-selection{background:rgba(255,37,0,.18);color:var(--text)}
:focus-visible{outline:3px solid rgba(255,37,0,.45);outline-offset:2px}
.header :focus-visible,.footer :focus-visible,.mobile-menu :focus-visible,.hero :focus-visible,.final :focus-visible,.reviews :focus-visible,.formside :focus-visible,.cta-band :focus-visible,.hracka :focus-visible{outline-color:rgba(255,255,255,.75)}

/* ---------- 1. Elevace karet ---------- */
.card,.pcard,.gcard,.bcard,.rcard,.scard,.post-card,.job-card,.step-card,.stat,.partners__grid div,.pair,.faq details,.toc,.post-nav a,.table-wrap,.ocard{
  box-shadow:var(--shadow-1);
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.card:hover,.pcard:hover,.gcard:hover,.bcard:hover,.rcard:hover,.scard:hover,.post-card:hover,.job-card:hover,.step-card:hover,.stat:hover,.partners__grid div:hover,.post-nav a:hover{
  box-shadow:var(--shadow-2);transform:translateY(-3px);
}
.pair:hover,.faq details:hover{box-shadow:var(--shadow-2)}
.faq details[open]{box-shadow:var(--shadow-2)}
/* formulářové a hero karty = nejvyšší elevace */
.formwrap,.simple-form,.calcw,.qcard,.costcard,.nav__sub{box-shadow:var(--shadow-3)}
.qcard{transition:box-shadow var(--dur) var(--ease)}

/* ---------- 2. Tlačítka ---------- */
.btn{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform .16s var(--ease),backdrop-filter var(--dur) var(--ease)}
.btn svg{transition:transform var(--dur) var(--ease)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(255,37,0,.25)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:translateY(0) scale(.99);box-shadow:0 2px 6px -2px rgba(255,37,0,.25);transition-duration:.08s}
.btn:focus-visible{outline-offset:3px}
.btn--white:hover,.sticky__call:hover,.btn--dark:hover{box-shadow:0 8px 20px -8px rgba(27,27,27,.35)}
.sticky__call:hover svg{transform:scale(1.1)}
.btn--ghost:hover{backdrop-filter:blur(14px);box-shadow:0 8px 22px -8px rgba(255,37,0,.35)}
/* outline = plynulé vyplnění barvou */
.btn--outline{position:relative;z-index:0;overflow:hidden}
.btn--outline::before{content:"";position:absolute;inset:0;background:var(--brand);transform:scaleX(0);transform-origin:left center;transition:transform .28s var(--ease);z-index:-1}
.btn--outline:hover{background:transparent;color:#fff}
.btn--outline:hover::before{transform:scaleX(1)}
.btn[disabled],.btn:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none;filter:saturate(.8)}
.btn[disabled]:hover svg{transform:none}
.btn-back{transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .16s var(--ease)}
.btn-back svg{transition:transform var(--dur) var(--ease)}
.btn-back:hover{color:var(--text);border-color:var(--text)}
.btn-back:hover svg{transform:translateX(-3px)}
.btn-back:active{transform:scale(.99)}

/* ---------- 3. Odkazy a navigace ---------- */
.link-arrow{transition:color var(--dur) var(--ease)}
.link-arrow svg{transition:transform var(--dur) var(--ease)}
.link-arrow:hover svg{transform:translateX(3px)}
.nav>li>a,.nav>li>button{position:relative;transition:color var(--dur) var(--ease)}
.nav>li>a::after,.nav>li>button::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--brand);transform:scaleX(0);transform-origin:left center;transition:transform var(--dur) var(--ease);pointer-events:none}
.nav>li>a:hover::after,.nav>li>button:hover::after,.nav>li>a:focus-visible::after,.nav>li>a[aria-current="page"]::after{transform:scaleX(1)}
.nav>li>a[aria-current="page"]{color:var(--brand)}
.nav>li>button svg{transition:transform var(--dur) var(--ease)}
.nav>li:hover>button svg,.nav>li:focus-within>button svg{transform:rotate(180deg)}
.nav>li:hover .nav__sub,.nav>li:focus-within .nav__sub{animation:sub-in .2s var(--ease) both}
@keyframes sub-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nav__sub a{transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.header__phone,.hero__call,.final__call,.footer__contact a,.footer__links a,.breadcrumb a{transition:color var(--dur) var(--ease)}
.footer__social a{transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.footer__social a:hover{transform:translateY(-2px)}
.prose a{transition:color .15s var(--ease),text-decoration-color .15s var(--ease);text-decoration-thickness:1px;text-underline-offset:2px}
.prose a:hover{color:var(--brand-hover)}
/* „Číst dál“ v kartách článků – šipka jako ikona (pojistka, když chybí .link-arrow) */
.post-card__body>a{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-weight:700;color:var(--brand)}
.post-card__body>a svg{width:16px;height:16px;flex:none;transition:transform var(--dur) var(--ease)}
.post-card__body>a:hover svg{transform:translateX(3px)}
.filters a,.filters button{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform .16s var(--ease)}
.filters a:hover,.filters button:hover{border-color:var(--text);transform:translateY(-1px)}
.filters .is-active:hover{transform:none}

/* ---------- 4. Formulářové dlaždice a pole ---------- */
.opt,.tile,.chip,.calcw__btn,.job-meta span{transition:border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),transform .16s var(--ease)}
.opt img,.opt svg,.tile img,.tile svg{transition:transform .22s var(--ease)}
.opt:hover{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 6px 16px -10px rgba(255,37,0,.5)}
.opt:hover img,.opt:hover svg,.tile:hover img,.tile:hover svg{transform:scale(1.08)}
.opt:active,.chip:active,.calcw__btn:active{transform:scale(.985)}
.opt.is-selected,.tile.is-selected{box-shadow:var(--ring)}
.opt.is-selected::after{animation:check-pop .3s var(--ease)}
@keyframes check-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.tile:hover{box-shadow:0 6px 16px -10px rgba(255,37,0,.5)}
.chip:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.calcw__btn:hover{border-color:var(--brand);color:var(--brand)}
.field input,.field textarea,.field select{transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--muted)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}
.field.is-error input,.field.is-error textarea{box-shadow:0 0 0 3px rgba(255,37,0,.12)}
.consent input{transition:transform .16s var(--ease)}
.consent input:hover{transform:scale(1.1)}
.progress__fill{transition:width .45s var(--ease)}
.step{animation:fade .24s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.form-error.is-visible{animation:fade .24s var(--ease)}

/* ---------- 5. Hlavička ---------- */
.header{transition:background .3s var(--ease),box-shadow .3s var(--ease)}
.header.is-scrolled,.header.is-open,.header--solid{box-shadow:inset 0 -1px 0 rgba(255,255,255,.08),0 6px 24px rgba(0,0,0,.22)}
.burger span{transition:transform .24s var(--ease),opacity .18s var(--ease)}
.header.is-open+.mobile-menu{animation:mm-in .26s var(--ease) both}
@keyframes mm-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.header.is-open+.mobile-menu>*{animation:mm-item .3s var(--ease) both}
@keyframes mm-item{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mobile-menu>*:nth-child(1){animation-delay:.04s}
.mobile-menu>*:nth-child(2){animation-delay:.07s}
.mobile-menu>*:nth-child(3){animation-delay:.1s}
.mobile-menu>*:nth-child(4){animation-delay:.13s}
.mobile-menu>*:nth-child(5){animation-delay:.16s}
.mobile-menu>*:nth-child(6){animation-delay:.19s}
.mobile-menu>*:nth-child(7){animation-delay:.22s}
.mobile-menu>*:nth-child(8){animation-delay:.25s}
.mobile-menu>*:nth-child(9){animation-delay:.28s}
.mobile-menu>*:nth-child(10){animation-delay:.31s}
.mobile-menu>*:nth-child(11){animation-delay:.34s}
.mobile-menu>*:nth-child(n+12){animation-delay:.37s}
.mobile-menu a{transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}
.mobile-menu a:hover{color:var(--brand)}

/* ---------- 6. Scroll-reveal (aktivní jen s JS + IntersectionObserver) ---------- */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i,0) * 60ms);will-change:opacity,transform}
.js .reveal.is-in{opacity:1;transform:none}

/* ---------- 7. Galerie ---------- */
.gallery__arrow{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform .16s var(--ease),box-shadow var(--dur) var(--ease)}
.gallery__arrow:hover{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 18px -8px rgba(255,37,0,.55)}
.gallery__arrow:active{transform:scale(.94)}
.gallery__dots button::before{transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.gallery__dots button:hover::before{background:var(--brand-hover);transform:scaleY(1.4)}
.gallery__dots button.is-active::before{transform:none}
.pair figure img{transition:transform .55s var(--ease)}
.pair figure:hover img{transform:scale(1.045)}

/* ---------- 8. Obrázky ---------- */
.pair figure,.post-card__img,.pcard__img,.post-hero-img{background-color:#eef0f2}
.js img[loading="lazy"]{opacity:0;transition:opacity .4s var(--ease)}
.js img[loading="lazy"].is-loaded{opacity:1}

/* ---------- 9. FAQ ---------- */
.faq summary{transition:color var(--dur) var(--ease)}
.faq summary:hover{color:var(--brand)}
.faq summary::after{transition:transform .24s var(--ease),color var(--dur) var(--ease)}
.faq details[open]>p,.faq details[open]>ul{animation:faq-in .26s var(--ease) both}
@keyframes faq-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ---------- 10. Sticky lišta ---------- */
.sticky{transition:transform .32s var(--ease),box-shadow .32s var(--ease);box-shadow:0 -8px 26px rgba(0,0,0,.14)}
.sticky .btn:hover{transform:translateY(-1px)}
.sticky .btn:active{transform:scale(.99)}

/* ---------- 11. Typografická rytmika ---------- */
.section-title p{text-wrap:pretty}
.section-title h2+p{margin-top:12px}
.pricebox__old,.pricebox__new,.pcard__row,.pcard__row--new b,.calc__box b,.calcw__res b,.stat b,.costcard b,.gcard__amount,.ocard__amount,.trust-item b,[data-offer-end]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.prose>p:last-child{margin-bottom:0}

/* ---------- 12. Tabulky ---------- */
.tbl tbody tr{transition:background .18s var(--ease)}
.tbl tbody tr:hover{background:rgba(27,27,27,.028)}
.table-wrap{
  background:
    linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left center/28px 100% no-repeat local,
    linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right center/28px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(27,27,27,.10),rgba(27,27,27,0)) left center/14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(27,27,27,.10),rgba(27,27,27,0)) right center/14px 100% no-repeat scroll,
    #fff;
}

/* ---------- 13. Tmavé foto hero ---------- */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.30) 100%);z-index:-1;pointer-events:none}
.js .hero__in>*{animation:hero-in .4s var(--ease) both}
.js .hero__in>*:nth-child(2){animation-delay:.1s}
@keyframes hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero__eyebrow,.pricebox{transition:box-shadow var(--dur) var(--ease)}

/* ---------- 14. Drobnosti ---------- */
.trust-item__ico,.card__ico,.thanks__ok,.ico{transition:transform var(--dur) var(--ease)}
.card:hover .card__ico{transform:scale(1.06)}
.footer__contact a:hover .ico{transform:scale(1.06)}
.post-card__img img,.pcard__img img{transition:transform .45s var(--ease)}
.pcard:hover .pcard__img img{transform:scale(1.03)}
.scard,.reviews,.final,.hero{isolation:isolate}
.job-meta span:hover{border-color:var(--brand);color:var(--brand)}
.cta-band .btn:hover{box-shadow:0 8px 22px -8px rgba(0,0,0,.45)}

/* ---------- Respekt k prefers-reduced-motion ---------- */
@media (prefers-reduced-motion:reduce){
  .js .reveal,.js .reveal.is-in{opacity:1!important;transform:none!important}
  .js img[loading="lazy"]{opacity:1!important}
  .btn:hover,.card:hover,.pcard:hover,.gcard:hover,.bcard:hover,.rcard:hover,.scard:hover,.post-card:hover,.job-card:hover,.step-card:hover,.stat:hover,.partners__grid div:hover,.post-nav a:hover{transform:none!important}
}
.steps--5col{grid-template-columns:repeat(5,1fr)}
@media (max-width:1024px){.steps--5col{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.steps--5col{grid-template-columns:1fr}}


/* ---------- Kontrast na tmavých podkladech (WCAG AA) ----------
   --brand (#D91F00) je na tmavém pozadí pod 3:1. Drobný text proto používá
   světlejší --brand-on-dark, velké nadpisy stačí původní --brand-raw (3.57:1). */
.header .nav a:hover,.header .nav button:hover,.header .nav a[aria-current="page"],
.nav>li>a[aria-current="page"],
.footer__contact a:hover,.footer__links a:hover,.footer a:hover,
.mobile-menu a:hover,.header__phone:hover,.hero__call:hover,.final__call:hover{color:var(--brand-on-dark)}
.section--dark .red,.hracka .red,.final .red,.cta-band .red,.footer .red,.hero .red,
.section--dark h2 .red,.hracka h2 .red{color:var(--brand-raw)}

/* na dotykových zařízeních plný 40×40 cíl (na myši zůstává původní rytmus teček) */
@media (pointer: coarse){.gallery__dots button{width:40px}}
/* šipky se nesmí smrsknout, když je teček moc – radši se zalomí řada teček */
.gallery__arrow{flex:none}
.gallery__nav{flex-wrap:wrap}
.gallery__dots{flex-wrap:wrap;justify-content:center;max-width:100%}


/* ============================================================
   Komponenty podle originálního webu stavbyciperka.cz
   (blog, článek, O nás, kariéra, štítky) – doplněk k site.css
   ============================================================ */

/* ---------- Tmavý pruhový hero (blog, O nás, článek) ---------- */
.hero-band{position:relative;background:#1B1B1B url("../assets/img/shutterstock_2503461539-1-3.jpg") right center/auto 100% no-repeat;color:#fff;padding:calc(var(--header-h) + 72px) 0 72px;isolation:isolate;overflow:hidden}
.hero-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1B1B1B 0%,#1B1B1B 52%,rgba(27,27,27,.72) 100%);z-index:-1}
.hero-band h1{color:#fff;font-family:var(--font-head);font-size:46px;line-height:56px;margin:0 0 18px;max-width:760px}
.hero-band .hero__lead{color:rgba(255,255,255,.85);max-width:760px;margin:0}
.hero-band .hero__lead b{color:#fff}
.hero-band .breadcrumb{margin-bottom:18px}
.hero-band__in{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center}
.hero-band__in--single{grid-template-columns:minmax(0,820px)}
.hero-band__card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:26px 28px;backdrop-filter:blur(8px)}
.hero-band__card .eyebrow{color:var(--brand);margin-bottom:2px}
.hero-band__card p{color:rgba(255,255,255,.75);font-size:14px;margin-bottom:16px}
.hero-band__card a{display:flex;align-items:center;gap:14px;color:#fff;font-size:15px;margin-bottom:12px}
.hero-band__card a:hover{color:var(--brand)}
.hero-band__card .ico{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}
.hero-band--photo{background-size:cover}
.hero-band--photo::before{background:linear-gradient(90deg,rgba(27,27,27,.96) 0%,rgba(27,27,27,.75) 55%,rgba(27,27,27,.45) 100%)}
.hero-band--post .hero-band__in{grid-template-columns:420px minmax(0,1fr);align-items:center}
.hero-band--post .post-hero-img{margin:0;aspect-ratio:16/10;border-radius:var(--r);box-shadow:0 20px 40px rgba(0,0,0,.35)}
.hero-band--post h1{font-size:38px;line-height:48px;margin:12px 0 0}
.post-meta--light{color:rgba(255,255,255,.75)}
.post-meta--light .post-card__cat{color:var(--brand)}
.post-meta span{display:inline-flex;align-items:center;gap:6px}
.post-meta svg{width:15px;height:15px;opacity:.75}
.post-meta span+span::before{content:"|";margin-right:12px;opacity:.35}
.post-meta span+span svg{margin-left:0}

/* ---------- Blog: nejčtenější ---------- */
.blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px}
.feat-big{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:380px;background:#222 center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;isolation:isolate}
.feat-big::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.75) 100%);z-index:-1}
.feat-big__title{background:var(--brand);color:#fff;font-family:var(--font-head);font-weight:700;font-size:22px;line-height:30px;padding:10px 16px;border-radius:6px;align-self:flex-start;max-width:92%;text-wrap:balance;margin-bottom:12px}
.feat-big__title a{color:#fff}
.feat-big p{font-size:14px;line-height:22px;color:rgba(255,255,255,.9);margin-bottom:14px;max-width:90%}
.feat-big .post-meta{margin:0;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.85)}
.feat-big .post-meta .btn{margin-left:auto}
.feat-list{display:flex;flex-direction:column;gap:20px}
.feat-item{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}
.feat-item__img{aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;background:#eef0f2}
.feat-item__img img{width:100%;height:100%;object-fit:cover}
.feat-item h3{font-size:22px;line-height:30px;margin-bottom:8px}
.feat-item h3 a{color:var(--text)}
.feat-item p{font-size:14px;line-height:22px;color:var(--text-2);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feat-item .post-meta{margin:0;font-size:13px;flex-wrap:nowrap}
.feat-item .post-meta .link-arrow{margin-left:auto;font-size:13px}
.blog-divider{border:0;border-top:1px solid var(--border);margin:36px 0 28px}

/* ---------- Blog: seznam + postranní panel ---------- */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.blog-side{position:sticky;top:96px}
.filters--left{justify-content:flex-start;margin-bottom:8px}
.filters button{border:1px solid var(--border-2);background:#fff;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--text)}
.filters button.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.post-list{display:flex;flex-direction:column}
.post-row{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--border);align-items:center}
.post-row__img{aspect-ratio:2/1;border-radius:var(--r-sm);overflow:hidden;background:#eef0f2}
.post-row__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}
.post-row:hover .post-row__img img{transform:scale(1.04)}
.post-row h3{font-size:22px;line-height:30px;margin-bottom:10px}
.post-row h3 a{color:var(--text)}
.post-row h3 a:hover{color:var(--brand);text-decoration:none}
.post-row .post-meta{margin:0;font-size:13px;flex-wrap:nowrap;align-items:center}
.post-row .post-meta .link-arrow{margin-left:auto;font-size:13px}
.post-row[hidden]{display:none}
.load-more{margin-top:24px}

/* ---------- Postranní nabídková karta (jako na originálu) ---------- */
.offer-card{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#1B1B1B url("../assets/img/shutterstock_2503461539-1.jpg") center 20%/cover no-repeat;color:#fff;text-align:center;padding:26px 16px 16px;isolation:isolate;box-shadow:var(--shadow-2)}
.offer-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 45%,#fff 45%,#fff 100%);z-index:-1}
.offer-card__t{font-family:var(--font-head);font-size:22px;line-height:30px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.offer-card__amount{font-family:var(--font-head);font-size:38px;line-height:1.05;font-weight:800;color:var(--brand);margin:10px 0 6px;text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff}
.offer-card__arrow{width:14px;margin:0 auto 12px;opacity:.95}
.offer-card__box{background:var(--green-card);border-radius:var(--r);padding:16px 12px 14px;text-align:center}
.offer-card__box b{display:block;font-size:15px;margin-bottom:2px}
.offer-card__box p{font-size:13px;opacity:.9;margin-bottom:12px}
.offer-card__box .tile{background:#fff;border-color:#fff;font-size:14px;padding:11px 12px}
.offer-card__note{font-size:12px;font-weight:700;color:var(--text);margin-top:14px}

/* ---------- Článek: layout, obsah, callouty ---------- */
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.post-layout .prose{margin:0;max-width:none}
.post-layout .prose>p:first-child{font-weight:600;color:var(--text);font-size:17px}
.post-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}
.toc-dark{background:#1B1B1B;color:#fff;border-radius:var(--r-lg);padding:22px 22px 18px}
.toc-dark__label{display:block;color:var(--text-2);font-size:14px;margin:0 0 10px 2px}
.toc-dark ol{list-style:decimal;padding-left:20px;font-size:14px;line-height:22px}
.toc-dark li{margin-bottom:10px;padding-left:4px}
.toc-dark a{color:#fff}
.toc-dark a:hover{color:var(--brand);text-decoration:none}
.callout{background:#1B1B1B;color:#fff;border-radius:var(--r);padding:20px 24px;margin:26px 0;font-size:16px;line-height:26px;font-weight:600;font-style:normal;border:0}
.callout p{margin:0;color:#fff}
.callout--info{background:#EAF3FF;color:var(--text);font-weight:500}
.callout--info p{color:var(--text)}
.callout--info b{font-weight:700}
.prose .callout{margin:26px 0}
.prose blockquote{background:#1B1B1B;color:#fff;border:0;border-radius:var(--r);padding:20px 24px;font-style:normal;font-weight:600;margin:26px 0}
.prose blockquote p{color:#fff;margin:0}
.prose h2{padding-top:6px}
.prose h3{color:var(--text)}
.post-arrow{display:block;width:22px;height:34px;margin:8px auto 22px;color:var(--green)}
.post-cta-box{background:#EAF3FF;border-radius:var(--r);padding:24px;text-align:center;margin:30px 0}
.post-cta-box h3{font-size:20px;line-height:28px;margin-bottom:14px}

/* ---------- O nás ---------- */
.quote{border-left:4px solid var(--brand);padding:8px 0 8px 20px;font-style:italic;color:var(--text-2);font-size:18px;line-height:28px;max-width:900px}
.values-photo{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.values-photo div{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:#222 center/cover no-repeat;color:#fff;font-weight:600;text-align:center;padding:18px 14px;display:flex;align-items:flex-start;justify-content:center;isolation:isolate}
.values-photo div::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.2) 60%);z-index:-1}
.h-green{color:var(--green-dark)}

/* ---------- Kariéra: hero s červeným zvýrazněním a požadavky ---------- */
.hl{background:var(--brand);color:#fff;padding:2px 14px;border-radius:4px;display:inline-block;transform:skewX(-6deg);line-height:1.15}
.hl>span{display:inline-block;transform:skewX(6deg)}
.req{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:14px 18px;display:inline-flex;flex-direction:column;gap:10px;margin-top:6px;backdrop-filter:blur(6px)}
.req__label{color:#fff;font-weight:700;margin-bottom:10px;display:block}
.req li{display:flex;align-items:center;gap:10px;font-weight:600;color:#fff;font-size:15px}
.req li::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12' fill='none'%3E%3Cpath d='M6 11.3L1 6.3l1.3-1.3L6 8.8 14.1.7l1.3 1.2z' fill='white'/%3E%3C/svg%3E") center/10px no-repeat}
.qcard--green{padding:0;overflow:hidden}
.qcard--green .qcard__head{background:var(--green-card);color:#fff;font-weight:700;font-size:17px;padding:16px 24px}
.qcard--green .qcard__body{padding:20px 24px 22px}
.qcard--green .qcard__q{margin-bottom:12px}
.tile--radio::before{content:"";width:16px;height:16px;border-radius:50%;border:1px solid var(--border-2);flex:none}
.bcard--icon{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:20px}
.bcard--icon img{width:52px;height:52px;margin:0;border-radius:10px;background:var(--bg);padding:8px}
.bcard--icon h3{font-size:17px;line-height:24px;margin:0}
.dark-panel{background:#1B1B1B;color:#fff;border-radius:var(--r-lg);padding:32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px;align-items:center}
.dark-panel h2{color:#fff;font-size:30px;line-height:38px;margin-bottom:16px}
.dark-panel .simple-form{box-shadow:none}
.dark-panel .footer__logo{justify-content:flex-start;margin:22px 0 0}
.work-card{border-top:3px solid var(--brand)}

/* ---------- Štítky slev, FAQ ve dvou sloupcích ---------- */
.pcard__off{position:absolute;top:14px;left:14px;width:52px;height:52px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:14px;display:grid;place-items:center;box-shadow:0 6px 16px rgba(255,37,0,.35);z-index:2}
.faq--2col{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}
.faq--2col details{margin-bottom:12px}

@media (max-width:1024px){
  .hero-band{padding:calc(var(--header-h) + 48px) 0 56px}
  .hero-band h1{font-size:36px;line-height:44px}
  .hero-band__in,.hero-band--post .hero-band__in{grid-template-columns:1fr;gap:28px}
  .hero-band--post h1{font-size:30px;line-height:38px}
  .blog-featured{grid-template-columns:1fr}
  .blog-layout,.post-layout{grid-template-columns:1fr;gap:36px}
  .blog-side,.post-side{position:static}
  .post-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .values-photo{grid-template-columns:repeat(2,1fr)}
  .dark-panel{grid-template-columns:1fr}
  .faq--2col{grid-template-columns:1fr}
}
@media (max-width:767px){
  .hero-band h1{font-size:30px;line-height:38px}
  .feat-item,.post-row{grid-template-columns:1fr}
  .feat-item__img{aspect-ratio:2/1}
  .post-row h3{font-size:19px;line-height:26px}
  .post-side{grid-template-columns:1fr}
  .feat-big{min-height:320px}
  .feat-big__title{font-size:18px;line-height:26px;max-width:100%}
  .values-photo{grid-template-columns:1fr 1fr}
  .hl{padding:0 10px}
  .dark-panel{padding:22px}
}
/* dotační karty na homepage */
.grants{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grants__cta{text-align:center;margin-top:30px}
.grants__cta p{font-size:13px;color:var(--muted);margin-top:10px}
@media (max-width:1024px){.grants{grid-template-columns:1fr}}
/* CTA pruh s fotkou, skryté karty/tlačítka, odstupy blogu */
.cta-band--photo{background-color:#1B1B1B;background-image:linear-gradient(90deg,rgba(27,27,27,.96) 0%,rgba(27,27,27,.7) 60%,rgba(27,27,27,.4) 100%),var(--cta-photo,none);background-size:cover;background-position:center}
.post-card[hidden],.post-row[hidden],.btn[hidden]{display:none!important}
.mt-60{margin-top:60px}

/* ============================================================
   1:1 vrstva podle stavbyciperka.cz (typografie, hlavička s mega menu, patička)
   ============================================================ */
:root{--header-h:88px}
body{color:var(--text-2)}
h2,.section-title h2{font-family:var(--font-head);font-weight:600;font-size:42px;line-height:54px;letter-spacing:0;color:var(--text)}
.hero h1,.hero-band h1{font-family:var(--font-body);font-weight:700;font-size:56px;line-height:1.22;letter-spacing:-.26px}
.section-title{margin-bottom:36px}
.section-title p{font-size:16px;line-height:26px}
/* hlavička */
.header{padding:15px 0}
.header__in{gap:24px}
.header__logo svg{width:170px;height:35px}
.nav{margin:0 auto;gap:30px}
.nav a,.nav button{font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:.5px;color:#fff;padding:10px 0}
.nav a::after,.nav button::after{display:none!important}
.nav a:hover,.nav button:hover,.nav a[aria-current="page"],.nav button[aria-current="page"],.nav__mega:hover>button,.nav__mega:focus-within>button{color:var(--brand)}
.nav button svg{transition:transform .2s var(--ease)}
.nav__mega:hover>button svg,.nav__mega:focus-within>button svg{transform:rotate(180deg)}
.header__cta{font-family:var(--font-head);font-size:16px;font-weight:700;letter-spacing:.3px;padding:16px 24px;border-radius:12px;min-height:58px}
.nav__mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;z-index:120}
.nav__mega:hover .mega,.nav__mega:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega__in{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:56px;padding:28px 20px 20px}
.mega__label{font-size:14px;color:var(--text-2);margin:0 0 12px}
.mega__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mega__tile{position:relative;height:290px;border-radius:14px;overflow:hidden;background:#222 center/cover no-repeat;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:18px 18px 22px;color:#fff!important;font-size:18px!important;font-weight:600!important;letter-spacing:.4px;line-height:28px;isolation:isolate}
.mega__tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.82) 100%);z-index:-1;transition:background .25s}
.mega__tile:hover::before{background:linear-gradient(180deg,rgba(0,0,0,.1) 30%,rgba(0,0,0,.9) 100%)}
.mega__tile i{flex:none;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.45);display:grid;place-items:center;transition:background .2s}
.mega__tile:hover i{background:var(--brand)}
.mega__tile i svg{width:16px;height:16px}
.mega__posts li{border-bottom:1px solid var(--border)}
.mega__posts a{display:block;padding:12px 0 16px;color:var(--text)!important;font-size:15px!important;letter-spacing:0!important}
.mega__posts b{display:block;font-family:var(--font-body);font-weight:600;line-height:24px;margin-bottom:8px}
.mega__posts .link-arrow{font-weight:400;font-size:16px}
.mega__posts a:hover b{color:var(--brand)}
.mobile-menu .mm-label{color:rgba(255,255,255,.55);font-size:13px;text-transform:uppercase;letter-spacing:.6px;padding:12px 8px 4px}
/* patička */
.footer{padding:56px 0 36px}
.footer__top{margin-bottom:28px}
.footer__offer{background:var(--dark-2);border-radius:16px;padding:28px 36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-bottom:40px}
.footer__offer p{font-family:var(--font-head);font-size:24px;line-height:32px;font-weight:700;color:#fff;max-width:640px}
.footer__offer .red{color:var(--brand)}
.footer__legal{font-size:13px;color:rgba(255,255,255,.85)}
.footer__legal a{color:#fff;font-weight:400}
.footer__legal a:hover{color:var(--brand)}
.footer__legal .sep{margin:0 8px;opacity:.5}
.footer__legal small{color:rgba(255,255,255,.45)}
@media (max-width:1024px){
  .mega{display:none}
  .header{padding:12px 0}
  .footer__offer{padding:22px}
  .footer__offer p{font-size:20px;line-height:28px}
  .hero h1,.hero-band h1{font-size:40px}
  h2,.section-title h2{font-size:32px;line-height:40px}
}
@media (max-width:767px){
  .hero h1,.hero-band h1{font-size:32px}
  h2,.section-title h2{font-size:28px;line-height:36px}
  .footer__offer .btn{width:100%}
}
/* formulář 1:1 (levý panel jako originál, užší karta, šedé pozadí sekce) */
#nabidka{background:#E7E7E7}
.formwrap{max-width:960px;margin:0 auto;grid-template-columns:360px 1fr;border:1px solid #d9d9d9;box-shadow:none}
.formwrap--single{grid-template-columns:1fr;max-width:820px}
.formside{gap:16px;padding:26px 24px;min-height:520px;background-position:center bottom;background-size:cover}
.formside::before{background:linear-gradient(180deg,#141414 0%,#141414 46%,rgba(20,20,20,.55) 70%,rgba(20,20,20,.15) 100%)}
.formside__pill{font-size:12px;padding:7px 12px}
.formside__t{font-size:32px;line-height:36px;text-transform:uppercase;letter-spacing:.2px}
.formside hr{border-top:2px solid var(--brand);width:72%}
.formside__sub{font-size:14px;line-height:22px;color:rgba(255,255,255,.9)}
.formside__sub b{display:block;color:#fff}
.formside__arrow{position:absolute;right:22px;top:52%;width:62px;height:auto;opacity:.95}
.progress__txt{font-weight:600;color:var(--text)}
@media (max-width:1024px){.formwrap{grid-template-columns:1fr;max-width:none}.formside{min-height:0}.formside__arrow{display:none}}
/* ---------- 1:1 komponenty originálu ---------- */
/* porovnání před/po s tahem + info karta (služby) */
.ba-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.ba-track::-webkit-scrollbar{display:none}
.ba-card{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:300px 1fr;gap:24px;background:#fff;border-radius:16px;padding:20px;box-shadow:var(--shadow-1)}
.ba-info{display:flex;flex-direction:column;gap:12px;padding:6px 4px}
.ba-info__city{align-self:flex-start;font-size:12px;color:var(--text-2);background:var(--bg);border-radius:999px;padding:4px 12px}
.ba-info h3{font-size:24px;line-height:30px;margin:4px 0 6px}
.ba-stat{display:flex;align-items:center;gap:12px;border-radius:10px;padding:10px 14px;background:var(--green-bg)}
.ba-stat--blue{background:#EAF1FF}
.ba-stat i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;flex:none}
.ba-stat--blue i{background:#2F6BFF}
.ba-stat i svg{width:18px;height:18px}
.ba-stat small{display:block;font-size:11px;color:var(--text-2)}
.ba-stat b{font-family:var(--font-head);font-size:18px;color:var(--text)}
.ba-info__q{margin-top:auto;font-size:12px;line-height:18px;color:var(--text-2)}
.ba-info__q b{display:block;font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ba{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#ddd;--pos:50%;user-select:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3}
.ba__line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--brand);transform:translateX(-1px);z-index:2;pointer-events:none}
.ba__line::after{content:"‹›";position:absolute;top:50%;left:50%;width:30px;height:30px;transform:translate(-50%,-50%);border-radius:50%;background:var(--brand);color:#fff;font-size:15px;font-weight:700;display:grid;place-items:center;letter-spacing:-1px}
.ba .pair__tag{z-index:2}
.ba .ba__tag-r{left:auto;right:10px}
/* služby jako bento: velká vlevo, dvě vpravo */
.services--bento{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(230px,auto)}
.services--bento .scard:first-child{grid-row:span 2;min-height:480px}
.services--bento .scard:not(:first-child){min-height:230px}
.services--bento .scard .btn{width:auto;align-self:flex-start;background:rgba(0,0,0,.35);border-color:rgba(255,255,255,.35)}
.services--bento .scard:first-child .btn{background:var(--brand);border-color:var(--brand)}
/* materiály jako produktové karty */
.mat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.mat-card{background:var(--bg);border-radius:12px;padding:0 18px 20px;display:flex;flex-direction:column}
.mat-card__img{height:180px;display:flex;align-items:flex-end;justify-content:center;margin:-60px 0 12px}
.mat-card__img img{max-height:190px;width:auto}
.mat-card h3{font-family:var(--font-body);font-size:22px;line-height:30px;font-weight:600;margin-bottom:6px}
.mat-card p{font-size:14px;line-height:22px;color:var(--text-2);margin-bottom:12px}
.mat-card .checks--plain li{font-size:13px;padding:3px 0}
.mat-cards-wrap{padding-top:60px}
/* zelený box „Proč zvolit“ */
.why-box{background:#F2FBF5;border:1px solid #BDE7CB;border-radius:12px;padding:26px 30px 30px}
.why-box h2{font-size:26px;line-height:34px;text-align:center;color:var(--green-dark);margin-bottom:22px}
.why-box__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.why-box__grid svg,.why-box__grid img{width:24px;height:24px;color:var(--green);margin-bottom:12px}
.why-box__grid h3{font-family:var(--font-body);font-size:20px;line-height:28px;font-weight:600;margin-bottom:6px}
.why-box__grid p{font-size:14px;line-height:22px}
/* FAQ s šipkou jako originál */
.faq summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--text);border-bottom:2px solid var(--text);transform:rotate(45deg);margin:-4px 6px 0 0;font-size:0}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.faq summary{font-size:15px;font-family:var(--font-body);font-weight:500}
@media (max-width:1024px){
  .ba-card{grid-template-columns:1fr}
  .services--bento{grid-template-columns:1fr}
  .services--bento .scard:first-child{grid-row:auto;min-height:380px}
  .mat-cards,.why-box__grid{grid-template-columns:1fr}
  .mat-card__img{margin-top:0}
  .mat-cards-wrap{padding-top:0}
}
.nav>li.nav__mega{position:static}
.mega .container{max-width:var(--container)}
.nav .mega .mega__tile{display:flex;align-items:flex-end;justify-content:space-between;padding:18px 18px 22px;letter-spacing:.4px}
.nav .mega .mega__posts a{display:block;padding:14px 0 16px}
.nav .mega .mega__posts .link-arrow{display:inline-flex;margin-top:2px}
/* šířka obsahu jako originál: 1160 px + 2× 20 px odsazení */
:root{--container:1200px}
.partners__grid>div{min-width:0}
.partners__grid img{max-width:100%;height:auto}
@media (max-width:767px){.partners__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
/* formulář rekonstrukce */
.opts--list{grid-template-columns:1fr;max-width:420px;margin:0 auto;gap:10px}
.opt--row{flex-direction:row;justify-content:flex-start;min-height:0;padding:14px 16px 14px 44px;font-size:15px}
.opt--row::after{left:16px;right:auto;top:50%;transform:translateY(-50%)}
.field select{appearance:auto}
.formside--rek::before{background:linear-gradient(180deg,rgba(20,20,20,.15) 0%,rgba(20,20,20,.35) 35%,#141414 55%,#141414 100%)}
.formside--rek{justify-content:flex-start}
.formside__pill--yellow{background:var(--yellow);color:var(--text)}
.formside__t--rek{text-transform:none;font-size:26px;line-height:32px;margin-top:auto}
.formside__t--rek small{display:block;font-size:17px;font-weight:500;margin:0 0 4px;opacity:.9}
.formside__sub--line{border-left:3px solid var(--brand);padding-left:10px}
/* hero na plnou šířku obsahu jako originál (flex hero jinak smrští kontejner) */
.hero>.container,.hero-band>.container{width:100%}
@media (min-width:1025px){.hero__in{grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center}}
/* mega menu jako originál: dlaždice 240×290, obrázek ukotvený dole, bez zvětšování */
@media (min-width:1025px){
  .mega__in{grid-template-columns:744px minmax(0,1fr);gap:56px}
  .mega__tiles{grid-template-columns:repeat(3,240px)}
  .nav .mega .mega__tile{height:290px;background-size:cover;background-position:50% 100%}
}
/* hero 100vh vždy – i na tabletu a mobilu (svh kvůli liště prohlížeče) */
.hero.hero--full{min-height:100vh;min-height:100svh}
@media (max-width:1024px){.hero.hero--full{min-height:100vh;min-height:100svh;align-items:center}}
/* posuvník před/po jako originál */
.ba__line{width:3px;transform:translateX(-1.5px);background:#E8401C}
.ba__line::after{content:"";width:58px;height:58px;background:#E8401C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.5 6.5 4 12l5.5 5.5 1.6-1.6L7.2 12l3.9-3.9zM14.5 6.5l-1.6 1.6 3.9 3.9-3.9 3.9 1.6 1.6L20 12z'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.ba:hover .ba__line::after{transform:translate(-50%,-50%) scale(1.06)}
.ba__line::after{transition:transform .2s var(--ease)}
@media (max-width:767px){.ba__line::after{width:52px;height:52px;background-size:24px}}

/* Mega menu bez problikávání: neviditelné můstky přes mezeru mezi tlačítkem a panelem + krátká prodleva před zavřením */
@media (min-width:1025px){
  .nav__mega>button::before{content:"";position:absolute;left:-16px;right:-16px;top:100%;height:32px}
  .mega::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:24px}
  .mega{transition:opacity .2s var(--ease) .14s,transform .2s var(--ease) .14s,visibility 0s linear .34s}
  .nav__mega:hover .mega,.nav__mega:focus-within .mega{transition-delay:0s}
}

/* Tlačítko v patičce si drží bílý text: obecné barvení odkazů patičky na něj nepatří */
.footer .btn,.footer .btn:hover,.footer .btn:focus-visible{color:#fff!important}

/* Fotky: rychlejší objevení a neutrální plocha, dokud se nenačtou */
.js img[loading="lazy"]{transition:opacity .18s var(--ease)}
.blog-page .prose img,.post-card img,.post-row img{background:#EEF0F2}
/* <picture> kvůli AVIF nesmí ovlivnit rozložení: obrázek se chová, jako by v něm nebyl */
picture{display:contents}
.blog-page .prose>picture>img{border-radius:0}
