:root{
  --green:#0e8c3f; --green-dark:#0b6b31; --green-ink:#17382a;
  --lime:#8dc63f; --orange:#f47b20; --orange-dark:#d95f0e;
  --red:#c0392b; --red-dark:#96281b; --yellow:#e0a615; --yellow-dark:#8a6300;
  --bg:#f7faf6; --card:#ffffff; --line:#e3ece2; --ink:#1c2420; --muted:#5b6b60;
  --radius:14px;
}
*{box-sizing:border-box;margin:0}
body{font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
h1,h2,h3,.hname{font-family:'Bricolage Grotesque','Public Sans',system-ui,sans-serif}
a{color:var(--green-dark)}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important}}

/* ── sticky facts header ── */
header.site{position:sticky;top:0;z-index:50;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(23,56,42,.06)}
.hbar{display:flex;align-items:center;gap:14px;padding:10px 0;flex-wrap:wrap}
.hbar img{height:52px;width:52px}
.hname{font-weight:700;color:var(--green-ink);line-height:1.15;text-decoration:none}
.hname small{display:block;font-weight:500;color:var(--muted);font-size:.78rem;font-family:'Public Sans',sans-serif}
.hspacer{flex:1}
.sign{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-weight:700;font-size:.92rem}
.sign .dot{width:10px;height:10px;border-radius:50%}
.sign.open{background:#e7f6ec;color:var(--green-dark)} .sign.open .dot{background:var(--green)}
.sign.soon{background:#fdeede;color:var(--orange-dark)} .sign.soon .dot{background:var(--orange)}
.sign.closed{background:#f1f1f1;color:#555} .sign.closed .dot{background:#999}
.sign small{font-weight:500;opacity:.85}
.call{background:var(--orange);color:#fff !important;text-decoration:none;font-weight:700;padding:10px 18px;border-radius:999px;white-space:nowrap;font-size:1.02rem;box-shadow:0 2px 6px rgba(217,95,14,.35)}
.call:hover{background:var(--orange-dark)}
.book-top{border:2px solid var(--green);color:var(--green-dark);text-decoration:none;font-weight:700;padding:8px 16px;border-radius:999px;white-space:nowrap}
.book-top:hover{background:var(--green);color:#fff}

/* ── nav ── */
nav.site{background:var(--green-ink)}
nav.site ul{display:flex;gap:2px;list-style:none;padding:0;flex-wrap:wrap}
nav.site a{display:block;color:#cfe6d6;text-decoration:none;padding:11px 16px;font-weight:500;font-size:.95rem}
nav.site a:hover{background:rgba(255,255,255,.08);color:#fff}
nav.site a[aria-current]{color:#fff;box-shadow:inset 0 -3px 0 var(--lime)}
nav.site a.promo{background:var(--lime);color:var(--green-ink);font-weight:700;border-radius:8px;margin:4px 6px 4px 0;padding:7px 16px}
nav.site a.promo:hover{background:#a2d55e;color:var(--green-ink)}

/* o-nas — portrait beside the story */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}
.about-photo{margin:0;position:sticky;top:130px}
.about-photo img{border-radius:var(--radius);width:100%}
.about-photo figcaption{margin-top:8px;font-size:.88rem;color:var(--muted)}

/* ── hero ── */
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--green-ink) 0%,var(--green-dark) 55%,var(--green) 100%);color:#fff}
.hero .photo{position:absolute;inset:0;background-position:center right;background-size:cover;background-repeat:no-repeat;opacity:.28;mix-blend-mode:luminosity}
.hero .fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,56,42,.92) 0%,rgba(23,56,42,.55) 55%,rgba(23,56,42,.25) 100%)}
.hero .wrap{position:relative;padding:56px 20px 48px;display:grid;grid-template-columns:1.25fr .9fr;gap:36px}
.hero h1{font-size:clamp(1.6rem,3.6vw,2.5rem);line-height:1.2;margin-bottom:10px}
.hero p.sub{color:#cfe6d6;margin-bottom:26px;font-size:1.05rem}
.hero.short .wrap{display:block;padding:36px 20px}
.hero.short p.sub{margin-bottom:0}

/* portrait hero variant (generated-from-real photo) */
.hero .portrait{position:absolute;right:0;bottom:0;top:0;width:46%;background:var(--hero-portrait) bottom right/contain no-repeat;pointer-events:none}
@media(max-width:820px){.hero .portrait{display:none}}

/* triage card — three guided lanes */
.triage{background:var(--card);color:var(--ink);border-radius:var(--radius);padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.triage h2{font-size:1.12rem;color:var(--green-ink);margin-bottom:4px}
.tri-lane{display:block;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink);margin-top:10px;transition:border-color .12s,box-shadow .12s}
.tri-lane b{display:block;color:var(--green-dark);font-family:'Bricolage Grotesque',sans-serif}
.tri-lane span{font-size:.88rem;color:var(--muted)}
.tri-lane:hover{border-color:var(--green);box-shadow:0 2px 10px rgba(14,140,63,.18)}
.tri-lane.t-red{border-color:var(--red);background:#fdf3f1}
.tri-lane.t-red b{color:var(--red)}
.tri-lane.t-red:hover{border-color:var(--red-dark);box-shadow:0 2px 10px rgba(178,49,27,.25)}
.tri-lane.t-yellow{border-color:var(--yellow);background:#fdf8ec}
.tri-lane.t-yellow b{color:var(--yellow-dark)}
.tri-lane.t-green{border-color:var(--green);background:#f2f8f3}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:9px 16px;border-radius:999px;font-size:.92rem;border:0;cursor:pointer;font-family:inherit}
.btn.book{background:var(--green);color:#fff}
.btn.tel{background:var(--orange);color:#fff}
.btn.mail{background:var(--line);color:var(--green-ink)}
.btn.big{padding:13px 20px;font-size:1.02rem;text-align:center}

/* pomoc — color-coded lanes + forms */
.lanes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto auto auto;gap:16px}
.lane{background:var(--card);border-radius:var(--radius);padding:22px;display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:12px;align-items:start;border:2px solid var(--line);scroll-margin-top:130px}
.lane p{color:var(--muted)}
.lane p b{color:var(--ink)}
.lane .btn{align-self:end}
.lane-tag{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:9px}
.lane-dot{width:12px;height:12px;border-radius:50%;flex:none}
.lane.l-red{border-color:var(--red);background:#fdf3f1}
.lane.l-red .lane-tag{color:var(--red)} .lane.l-red .lane-dot{background:var(--red)}
.lane.l-yellow{border-color:var(--yellow);background:#fdf8ec}
.lane.l-yellow .lane-tag{color:var(--yellow-dark)} .lane.l-yellow .lane-dot{background:var(--yellow)}
.lane.l-green{border-color:var(--green);background:#f2f8f3}
.lane.l-green .lane-tag{color:var(--green-dark)} .lane.l-green .lane-dot{background:var(--green)}
.lane-alt{font-size:.88rem;color:var(--muted);text-align:center}
a.lane-alt{color:var(--red);font-weight:700}
.btn.yellow{background:var(--yellow);color:#3c2c00}
.forms{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;align-items:start}
.cform{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;scroll-margin-top:130px}
.cform.hot{border:2px solid var(--red)}
.cform .note.quiet{background:#f2f8f3;color:var(--green-ink)}
.cform h2{font-size:1.2rem;color:var(--green-ink);margin-bottom:10px}
.cform label{display:block;font-weight:700;font-size:.88rem;margin:14px 0 4px;color:var(--green-ink)}
.cform input,.cform select,.cform textarea{width:100%;padding:10px 12px;border:1px solid #c9d6c9;border-radius:8px;font:inherit;background:#fff}
.cform button[type=submit]{margin-top:18px;width:100%}
.svc-info{background:#f2f8f3;border-radius:8px;padding:10px 12px;font-size:.9rem;margin-top:10px;color:var(--green-ink)}

/* uslugi — sticky TOC layout */
.svc-layout{display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:start}
.toc{position:sticky;top:128px}
.toc a{display:block;padding:8px 12px;text-decoration:none;color:var(--muted);font-size:.93rem;border-left:2px solid var(--line)}
.toc a:hover{color:var(--green-dark)}
.toc a.on{color:var(--green-dark);font-weight:700;border-left-color:var(--green)}
.svc-sec{scroll-margin-top:128px;padding:14px 0 24px}
.svc-sec+.svc-sec{border-top:1px solid var(--line)}

/* next slot */
.slot{margin-top:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);padding:16px 18px;max-width:430px}
.slot .lbl{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#a8d4b6;margin-bottom:6px}
.slot .val{font-size:1.15rem;font-weight:700}
.slot[data-state="live"] .val{color:var(--lime)}
.slot a.btn{margin-top:10px;background:var(--lime);color:var(--green-ink)}

/* ── sections ── */
section{padding:52px 0}
section.tight{padding:34px 0}
section h2.sec{font-size:1.5rem;color:var(--green-ink);margin-bottom:22px}
section h3.sub{font-size:1.1rem;color:var(--green-dark);margin:26px 0 10px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h3{color:var(--green-dark);font-size:1.02rem;margin-bottom:8px}
.card ul{padding-left:18px;color:var(--muted)}
.card ul li{margin:4px 0}
.prose{max-width:70ch}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:22px}
.prose ul li{margin:5px 0}
.note{background:#fdeede;border-radius:10px;padding:12px 16px;color:var(--orange-dark);font-weight:500}

.team-bg{background:#eef5ee}
.team-bg .cards .card{text-align:center}
.team-bg .card .role{color:var(--muted);font-size:.9rem}
.card img.face{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;margin-bottom:10px;background:#e7f6ec}
.quote{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-top:16px;font-style:italic;color:#33403a;display:flex;gap:16px;align-items:flex-start;text-align:left}
.quote b{display:block;font-style:normal;color:var(--green-dark);margin-top:6px}
.qface{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--lime)}

.partners{display:flex;gap:12px;flex-wrap:wrap}
.partners span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 18px;font-weight:500;color:var(--muted);font-size:.92rem}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gallery img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:100%}

table.hours{border-collapse:collapse;min-width:260px}
table.hours td{padding:7px 18px 7px 0;border-bottom:1px solid var(--line)}
table.hours td:last-child{font-weight:700;color:var(--green-ink)}

footer.site{background:var(--green-ink);color:#cfe6d6;padding:40px 0 30px;font-size:.95rem}
footer.site .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
footer.site h3{color:#fff;font-size:1rem;margin-bottom:10px}
footer.site a{color:var(--lime)}
footer.site .todo{color:#f0b27a;font-size:.8rem}
footer.site .fine{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);margin-top:8px;padding-top:14px;font-size:.8rem;color:#9fbfaa}

.bio-card{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:22px;align-items:start;margin:26px 0}
.bio-card img.face{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:#e7f6ec}
.bio-card h3{margin:0}
.bio-card .role{margin:2px 0 10px;font-weight:600;color:var(--green-dark)}
@media(max-width:640px){
  .bio-card{grid-template-columns:1fr;gap:12px}
  .bio-card img.face{max-width:240px}
}

@media(max-width:820px){
  .hero .wrap{grid-template-columns:1fr}
  .lanes{grid-template-columns:1fr}
  .forms{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .about-photo{position:static;max-width:420px}
  .svc-layout{grid-template-columns:1fr;gap:10px}
  .toc{position:static}
  .toc nav{display:flex;flex-wrap:wrap;gap:6px}
  .toc a{border-left:0;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.85rem;background:var(--card)}
  .toc a.on{border-color:var(--green)}
  .hbar .hname{display:none}
  .hbar{gap:8px;flex-wrap:nowrap;justify-content:space-between}
  .hbar img{height:40px;width:40px}
  .sign{font-size:.8rem;padding:6px 10px}
  .sign small{display:none}
  .call{font-size:.9rem;padding:9px 14px}
  .book-top{display:none}
  .hspacer{display:none}
}
