:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);

  --bg:#fafafa; --bg-alt:#f2f2f2; --bg-card:#ffffff; --bg-nav:rgba(255,255,255,.72);
  --text:#0a0a0a; --text-muted:#555; --text-light:#888;
  --border:rgba(0,0,0,.08); --border-strong:rgba(0,0,0,.15);

  --accent:#5b5ef4; --accent-2:#00d4ff; --accent-3:#ff3d7f; --accent-warm:#ff9d00;
  --gradient:linear-gradient(135deg,#5b5ef4 0%,#00d4ff 100%);
  --gradient-warm:linear-gradient(135deg,#ff3d7f 0%,#ff9d00 100%);
  --gradient-mint:linear-gradient(135deg,#00b894 0%,#00d4ff 100%);

  --cool:#3b3ee0; --cool-soft:rgba(91,94,244,.09);
  --warm:#e0245e; --warm-soft:rgba(255,61,127,.10);
  --ok:#00806c; --ok-soft:rgba(0,163,137,.11);
  --amber:#c97a00; --amber-soft:rgba(255,157,0,.14);

  --shadow-sm:0 2px 8px rgba(0,0,0,.04);
  --shadow:0 8px 32px rgba(0,0,0,.06);

  --tint-cool:rgba(91,94,244,.075);
  --tint-warm:rgba(255,61,127,.075);
  --tint-amber:rgba(255,157,0,.085);
  --tint-mint:rgba(0,184,148,.075);
  --tint-flat:rgba(0,0,0,.035);
  --col:52rem;
  --r-sm:8px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-full:999px;
  --t-fast:.2s ease; --t-base:.35s cubic-bezier(.22,1,.36,1);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0a0a0f; --bg-alt:#10121a; --bg-card:#15171f; --bg-nav:rgba(10,10,15,.72);
    --text:#f5f5f7; --text-muted:#aaa; --text-light:#777;
    --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.15);
    --accent:#7b7eff; --accent-2:#4ae3ff; --accent-3:#ff5a92; --accent-warm:#ffb84d;
    --gradient:linear-gradient(135deg,#7b7eff 0%,#4ae3ff 100%);
    --gradient-warm:linear-gradient(135deg,#ff5a92 0%,#ffb84d 100%);
    --gradient-mint:linear-gradient(135deg,#2fd3ac 0%,#4ae3ff 100%);
    --cool:#9a9cff; --cool-soft:rgba(123,126,255,.14);
    --warm:#ff85ac; --warm-soft:rgba(255,90,146,.14);
    --ok:#3fd9bd; --ok-soft:rgba(63,217,189,.14);
    --amber:#ffc46b; --amber-soft:rgba(255,184,77,.16);
    --tint-cool:rgba(123,126,255,.12);
    --tint-warm:rgba(255,90,146,.11);
    --tint-amber:rgba(255,184,77,.10);
    --tint-mint:rgba(47,211,172,.10);
    --tint-flat:rgba(255,255,255,.04);
    --shadow-sm:0 2px 8px rgba(0,0,0,.4);
    --shadow:0 8px 32px rgba(0,0,0,.45);
  }
}
:root[data-theme="dark"]{
  --bg:#0a0a0f; --bg-alt:#10121a; --bg-card:#15171f; --bg-nav:rgba(10,10,15,.72);
  --text:#f5f5f7; --text-muted:#aaa; --text-light:#777;
  --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.15);
  --accent:#7b7eff; --accent-2:#4ae3ff; --accent-3:#ff5a92; --accent-warm:#ffb84d;
  --gradient:linear-gradient(135deg,#7b7eff 0%,#4ae3ff 100%);
  --gradient-warm:linear-gradient(135deg,#ff5a92 0%,#ffb84d 100%);
  --gradient-mint:linear-gradient(135deg,#2fd3ac 0%,#4ae3ff 100%);
  --cool:#9a9cff; --cool-soft:rgba(123,126,255,.14);
  --warm:#ff85ac; --warm-soft:rgba(255,90,146,.14);
  --ok:#3fd9bd; --ok-soft:rgba(63,217,189,.14);
  --amber:#ffc46b; --amber-soft:rgba(255,184,77,.16);
  --tint-cool:rgba(123,126,255,.12);
    --tint-warm:rgba(255,90,146,.11);
    --tint-amber:rgba(255,184,77,.10);
    --tint-mint:rgba(47,211,172,.10);
    --tint-flat:rgba(255,255,255,.04);
    --shadow-sm:0 2px 8px rgba(0,0,0,.4);
  --shadow:0 8px 32px rgba(0,0,0,.45);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.62;font-size:1rem;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0}
p{margin:0 0 1rem}
a{color:var(--accent)}
.wrap{max-width:1000px;margin:0 auto;padding:0 1.6rem}
.narrow{max-width:var(--col);margin-left:auto;margin-right:auto}
.svc,.rows,.faq,section details.why,.callout,.dl{max-width:var(--col);margin-left:auto;margin-right:auto}

/* ---------------- nav ---------------- */
.nav{position:sticky;top:0;z-index:100;padding:.85rem 0;background:var(--bg-nav);
  backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid var(--border)}
.nav-inner{max-width:1000px;margin:0 auto;padding:0 1.6rem;display:flex;align-items:center;gap:1.1rem}
.nav-logo{display:flex;align-items:center;gap:.55rem;font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:1rem;color:var(--text);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}
.nav-logo .dot{width:9px;height:9px;border-radius:50%;background:var(--gradient);flex:0 0 9px}
.nav-links{display:flex;gap:1rem;margin:0 auto;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{color:var(--text-muted);text-decoration:none;font-size:.86rem;font-weight:500;padding:.2rem 0}
.nav-links a:hover{color:var(--text)}
.tgl{margin-left:auto;flex:0 0 auto;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--r-full);width:36px;height:36px;display:grid;place-items:center;cursor:pointer;
  font-size:1rem;color:var(--text)}
.tgl:hover{border-color:var(--border-strong)}
.tgl:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}
@media(max-width:700px){.nav-links{display:none}}

/* ---------------- hero ---------------- */
.hero{position:relative;padding:4.5rem 0 3.5rem;overflow:hidden;text-align:center}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4}
:root[data-theme="dark"] .blob{opacity:.25}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .blob{opacity:.25}}
.blob.a{width:420px;height:420px;background:#5b5ef4;top:-160px;left:-120px}
.blob.b{width:360px;height:360px;background:#ff3d7f;top:-100px;right:-120px}
.hero-content{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.2rem;background:var(--bg-card);
  border:1px solid var(--border);border-radius:var(--r-full);font-size:.85rem;font-weight:500;
  color:var(--text-muted);margin-bottom:1.4rem}
.hero-title{font-size:clamp(2.1rem,5.6vw,4rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:1.2rem}
.grad{font-style:normal;background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.grad.w{background:var(--gradient-warm);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-lead{font-size:clamp(.98rem,1.4vw,1.1rem);color:var(--text-muted);max-width:44rem;margin:0 auto 2.4rem}
.figures{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;max-width:760px;margin:0 auto}
.figure{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:1.8rem 1.5rem;box-shadow:var(--shadow-sm);text-align:left}
.fnum{font-family:'Space Grotesk',sans-serif;font-size:clamp(3rem,8vw,4.6rem);font-weight:700;
  line-height:1;margin-bottom:.6rem;letter-spacing:-.04em}
.figure p{margin:0;font-size:.92rem;color:var(--text-muted);line-height:1.5}
.figure strong{color:var(--text);font-weight:600;display:block;margin-bottom:.3rem}
@media(max-width:620px){.figures{grid-template-columns:1fr}}

/* ---------------- ilustrace ---------------- */
.hero-img{max-width:78%;margin:0 auto 2rem}
.illus{max-width:76%;margin:1.6rem auto 1.8rem}
.illus img,.hero-img img{display:block;width:100%;height:auto;border-radius:var(--r-lg)}
@media(max-width:700px){.hero-img,.illus{max-width:100%}}

/* ---------------- sekce ---------------- */
section{padding:3.6rem 0;position:relative}
section::before{content:"";position:absolute;inset:0 0 auto;height:min(420px,100%);
  background:linear-gradient(180deg,var(--tint,transparent) 0%,transparent 100%);
  pointer-events:none;z-index:0}
section > *{position:relative;z-index:1}
#sluzby{--tint:var(--tint-cool)}
#patnact{--tint:var(--tint-warm)}
#souhlas{--tint:var(--tint-amber)}
#dite{--tint:var(--tint-mint)}
#kestazeni{--tint:var(--tint-cool)}
#otazky{--tint:var(--tint-flat)}
.sluzby-note{max-width:var(--col);margin:0 auto}
.label{display:block;width:-moz-fit-content;width:fit-content;margin:0 auto .9rem;font-size:.78rem;font-weight:600;
  letter-spacing:.01em;padding:.28rem .8rem;border-radius:var(--r-full);background:var(--cool-soft);color:var(--cool)}
.section-title{font-size:clamp(1.7rem,3.8vw,2.6rem);letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem;text-align:center}
.lead{font-size:1.05rem;color:var(--text-muted);margin:0 auto 1.6rem;max-width:46rem;text-align:center}

/* ---------------- rozbalovací vysvětlivky ---------------- */
details.why{background:var(--cool-soft);border:1px solid var(--border);
  border-left:4px solid var(--accent);border-radius:var(--r-lg);margin:1rem auto;overflow:hidden;
  transition:box-shadow var(--t-fast)}
details.why:hover{box-shadow:0 2px 14px rgba(91,94,244,.18)}
details.why summary{cursor:pointer;list-style:none;padding:.95rem 1.2rem;font-size:.97rem;font-weight:600;
  display:flex;align-items:center;gap:.8rem;color:var(--accent)}
details.why summary::-webkit-details-marker{display:none}
details.why summary::before{content:"+";flex:none;width:26px;height:26px;border-radius:50%;
  background:var(--accent);color:var(--bg-card);display:grid;place-items:center;
  font-size:17px;font-weight:600;line-height:1}
details.why[open] summary::before{content:"\2212"}
details.why[open] summary{border-bottom:1px solid var(--border)}
.why-body{padding:1rem 1.2rem 1.1rem;font-size:.94rem;color:var(--text-muted)}
.why-body p:last-child{margin-bottom:0}
.why-body strong{color:var(--text)}

/* ---------------- data rows ---------------- */
.rows{margin-top:1.6rem;display:grid;gap:.5rem}
.row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);
  padding:1rem 1.2rem;display:grid;gap:.25rem 1.2rem;align-items:center}
.t2 .row{grid-template-columns:1.3fr .9fr 1.15fr 116px}
.t3 .row{grid-template-columns:1.05fr .85fr 118px 1.7fr}
.rhead{background:transparent;border:0;padding:0 1.2rem .1rem;font-size:.75rem;font-weight:600;
  color:var(--text-light);border-radius:0}
.row .act{font-weight:600;font-size:.97rem}
.row .note{font-size:.88rem;color:var(--text-muted)}
.row .k{display:none;font-size:.72rem;font-weight:600;color:var(--text-light);margin-top:.5rem}
.tag{display:inline-block;font-size:.76rem;font-weight:700;padding:.26rem .7rem;border-radius:var(--r-full);white-space:nowrap}
.tag.no{background:var(--ok-soft);color:var(--ok)}
.tag.yes{background:var(--amber-soft);color:var(--amber)}
.tag.na{background:var(--border);color:var(--text-light)}
.tag.ban{background:var(--warm);color:var(--bg);letter-spacing:.02em}
.row.ban{background:var(--warm-soft);border-color:transparent;border-left:4px solid var(--warm)}
.row.ban .act{color:var(--warm);font-weight:700}
.row.ban .note{color:var(--text)}
.row.risk{border-left:3px solid var(--warm)}
.row.risk .act{color:var(--warm)}
@media(max-width:900px){
  .t2 .row,.t3 .row{grid-template-columns:1fr;gap:0}
  .rhead{display:none}
  .row .k{display:block}
  .row .act{font-size:1.02rem;margin-bottom:.15rem}
}

/* ---------------- services table ---------------- */
.svc{display:grid;gap:.5rem;margin-top:1.6rem}
.svc .row{grid-template-columns:1.1fr 96px 1.4fr}
.svc .snum{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;color:var(--cool)}
.svc .row.hi .snum{color:var(--accent-3)}
.svc .row.hi{border-color:var(--border-strong)}
@media(max-width:820px){.svc .row{grid-template-columns:1fr 70px;gap:.2rem 1rem}.svc .row .third{grid-column:1/-1}}

/* ---------------- faq ---------------- */
.svc{display:grid;gap:.5rem;margin-top:1.6rem}
.sv-head{display:grid;grid-template-columns:1fr 96px 1.4fr;gap:1.2rem;padding:0 1.2rem .3rem;
  font-size:.75rem;font-weight:600;color:var(--text-light)}
details.sv{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md)}
details.sv summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr 96px 1.4fr;
  gap:1.2rem;align-items:center;padding:.9rem 1.2rem}
details.sv summary::-webkit-details-marker{display:none}
.sv-name{font-weight:600}
.sv-age{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;color:var(--cool)}
details.sv.hi .sv-age{color:var(--accent-3)}
.sv-par{font-size:.88rem;color:var(--text-muted)}
.sv-body{padding:0 1.2rem 1.1rem;font-size:.94rem;color:var(--text-muted);max-width:70ch}
.sv-body p{margin:0 0 .7rem}
.sv-body p:last-child{margin-bottom:0}
.sv-note{padding:.7rem .9rem;background:var(--bg-alt);border-radius:var(--r-sm);font-size:.9rem}
@media(max-width:760px){
  .sv-head{display:none}
  details.sv summary{grid-template-columns:1fr auto;gap:.6rem}
  .sv-par{grid-column:1/-1;font-size:.84rem}
}
.callout{max-width:var(--col);margin:1.8rem auto 0;background:var(--bg-card);
  border:1px solid var(--border);border-left:4px solid var(--amber);border-radius:var(--r-lg);
  padding:1.4rem 1.5rem}
.callout h3{font-size:1.15rem;margin:0 0 .7rem}
.callout p{margin:0 0 .8rem;font-size:.96rem;color:var(--text-muted)}
.callout p:last-child{margin-bottom:0}
.callout strong{color:var(--text)}
.callout ol{margin:.2rem 0 .9rem;padding-left:1.2rem;font-size:.96rem;color:var(--text-muted)}
.callout li{margin-bottom:.45rem}
.callout li strong{color:var(--text)}
.dl{max-width:var(--col);margin:1.6rem auto 0}
.dl a{display:block;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);
  transition:box-shadow var(--t-base),transform var(--t-base)}
.dl a:hover{box-shadow:0 10px 30px rgba(91,94,244,.2);transform:translateY(-2px)}
.dl img{display:block;width:100%;height:auto}
.dl figcaption{margin-top:.9rem;font-size:.88rem;color:var(--text-light);text-align:center}
.faq{display:grid;gap:.5rem;margin-top:1.4rem}
.faq details{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);
  transition:border-color var(--t-fast),background var(--t-fast),box-shadow var(--t-base),transform var(--t-base)}
.faq details:hover{border-color:var(--accent);background:var(--cool-soft);
  box-shadow:0 6px 20px rgba(91,94,244,.16);transform:translateY(-2px)}
.faq details:hover summary{color:var(--accent)}
.faq details:hover summary::after{background:var(--accent);color:var(--bg-card)}
.faq details[open]{border-left:4px solid var(--accent);transform:none}
.faq details[open]:hover{transform:none}
.faq summary{transition:color var(--t-fast)}
.faq details summary{cursor:pointer;list-style:none;padding:1.1rem 3rem 1.1rem 1.2rem;font-weight:600;
  position:relative;font-size:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:.95rem;width:26px;height:26px;
  border-radius:50%;background:var(--cool-soft);color:var(--accent);display:grid;place-items:center;
  font-size:17px;font-weight:600;line-height:1}
.faq details[open] summary::after{background:var(--accent);color:var(--bg-card)}
.faq details[open] summary::after{content:"\2212"}
.faq .a{padding:0 1.2rem 1.2rem;max-width:70ch;color:var(--text-muted);font-size:.95rem}
.faq .a p:last-child{margin-bottom:0}
.faq .a strong{color:var(--text)}

/* ---------------- footer ---------------- */
footer{padding:3rem 0 3rem;border-top:1px solid var(--border);font-size:.92rem;color:var(--text-muted);background:var(--bg-alt)}
.f-top{display:grid;grid-template-columns:1.6fr 1fr;gap:2.4rem;max-width:var(--col);margin:0 auto}
.f-h{font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text);margin:0 0 .8rem}
.f-top p{margin:0 0 .7rem;line-height:1.6}
.f-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.f-rule{max-width:var(--col);margin:2rem auto;border:0;border-top:1px solid var(--border)}
.f-mid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;max-width:var(--col);margin:0 auto}
.f-mid p{margin:0 0 .6rem;line-height:1.6}
.f-mid p:last-child{margin-bottom:0}
.f-org{font-weight:700;color:var(--text)}
.f-count{text-align:right}
.f-count .lbl{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-light)}
.f-count .num{font-family:'Space Grotesk',sans-serif;font-size:1.9rem;font-weight:700;color:var(--accent);line-height:1.2}
.f-ver{max-width:var(--col);margin:0 auto;font-size:.85rem;color:var(--text-light)}
@media(max-width:700px){
  .f-top,.f-mid{grid-template-columns:1fr;gap:1.8rem}
  .f-count{text-align:left}
}
.srcs{margin:0 0 1.4rem}
.srcs h4{font-size:.92rem;margin:1.2rem 0 .5rem;color:var(--text-muted)}
.srcs h4:first-child{margin-top:0}
.srcs ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.srcs li{font-size:.88rem;line-height:1.5}
.srcs a{text-decoration:none;border-bottom:1px solid transparent}
.srcs a:hover{border-bottom-color:var(--accent)}
.srcs .nolink{color:var(--text-muted)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
