/* Femedic: fonty lokalne */
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-serif-display-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-serif-display-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-serif-display-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-serif-display-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===== baza ===== */
  :root {
    color-scheme: light;
    interpolate-size: allow-keywords;
    --bg:#FBF9F6; --ink:#1C1813; --ink-2:#4E453B; --line:#E3DBCF; --line-2:#CDBFAD; --tint:#F1EBE2;
    --btn:#22170F; --btn-hover:#3A2819; --btn-active:#120B06;
    --serif:"DM Serif Display", Georgia, "Times New Roman", serif;
    --sans:"Instrument Sans", "Helvetica Neue", Arial, sans-serif;
    --lh-d:1.0; /* interlinia nagłówków: dół "g" nie może dotykać "ł" linię niżej */
    --ease:cubic-bezier(.2,.7,.2,1); --dur:.28s;
  }
  *, *::before, *::after { box-sizing:border-box; }
  html { -webkit-text-size-adjust:100%; }
  body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; }
  ::selection { background:#E4D6C3; color:var(--ink); }
  p { margin:0; }
  h1, h2, h3 { margin:0; font-weight:400; text-wrap:balance; }
  a { color:inherit; -webkit-tap-highlight-color:transparent; }
  img { max-width:100%; display:block; }
  ul { list-style:none; margin:0; padding:0; }
  [hidden] { display:none !important; }
  :focus-visible { outline:3px solid var(--ink); outline-offset:3px; border-radius:1px; }
  h1:focus, h2:focus, main:focus { outline:none; }
  [id] { scroll-margin-top:24px; }
  .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .skip { position:absolute; left:16px; top:-100px; z-index:50; background:var(--btn); color:#fff; padding:12px 18px; font-weight:600; text-decoration:none; }
  .skip:focus { top:12px; }
  .ph { font-style:italic; color:var(--ink-2); }
  .muted, .note { color:var(--ink-2); }
  .note { font-size:16px; max-width:38ch; }
  .verify { font-size:15px; font-style:italic; color:var(--ink-2); margin-top:14px; }
  .photo { max-width:100%; overflow:hidden; background:var(--tint); }
  .photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28%; }

  .wrap { max-width:1240px; margin:0 auto; padding-inline:20px; }
  .kicker { font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
  .h1 { font-family:var(--serif); font-size:clamp(40px, 8.4vw, 120px); line-height:var(--lh-d); letter-spacing:-.022em; }
  .h1 em, .h2 em, .name em { font-style:italic; }
  .h1-page { font-size:clamp(44px, 7vw, 96px); margin-top:18px; }
  .h2 { font-family:var(--serif); font-size:clamp(38px, 5.2vw, 68px); line-height:var(--lh-d); letter-spacing:-.02em; }
  .h3 { font-family:var(--serif); font-size:clamp(26px, 2.8vw, 34px); line-height:1.15; }
  .lead { font-size:19px; line-height:1.55; color:var(--ink-2); max-width:40ch; }
  .actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 32px; }

  /* ---------- system interakcji ----------
     .u   podkreślenie rysowane od lewej (linki samodzielne, nawigacja, wiersze)
     .go  link samodzielny: strzałka to stały sygnał, że to link (bez podkreślenia)
     .link  link w zdaniu: zawsze podkreślony (WCAG 1.4.1)
     .ql  cichy link w kontekście nawigacyjnym (stopka, dane kontaktowe) */
  .u { background:linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; padding-bottom:2px; -webkit-box-decoration-break:clone; box-decoration-break:clone; transition:background-size var(--dur) var(--ease); }
  .ic { flex:none; transition:transform var(--dur) var(--ease); }
  .go { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-weight:500; text-decoration:none; }
  .go .ic { color:var(--ink-2); transition:transform var(--dur) var(--ease), color var(--dur) var(--ease); }
  .link { font-weight:500; text-decoration:underline; text-decoration-thickness:1px; text-decoration-color:var(--ink-2); text-underline-offset:4px; transition:text-decoration-color var(--dur) var(--ease); }
  .ql { display:inline-flex; align-items:center; min-height:44px; color:var(--ink-2); text-decoration:none; transition:color var(--dur) var(--ease); }
  .go:focus-visible .u, .ql:focus-visible .u, .nav a:focus-visible .u { background-size:100% 1px; }

  .btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:0 26px; background:var(--btn); color:#fff; font:500 14px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border:0; border-radius:2px; cursor:pointer; transition:background-color var(--dur) var(--ease); }
  .btn .ic { color:#fff; }
  .btn:active { background:var(--btn-active); }
  .btn-sm { min-height:44px; padding:0 18px; font-size:13px; }
  .btn-line { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:0 20px; border:1px solid var(--ink); background:transparent; font-weight:500; font-size:16px; text-decoration:none; border-radius:2px; transition:background-color var(--dur) var(--ease); }
  .btn-line:active { background:#E8DFD2; }

  @media (hover:hover) {
    .go:hover .u, .ql:hover .u, .nav a:hover .u, .kif:hover .u { background-size:100% 1px; }
    .rows li:hover::after, .book-list li:hover::after { transform:scaleX(1); }
    .book-list a:hover .ic-ext { transform:translate(3px, -3px); }
    .go:hover .ic { transform:translateX(4px); color:var(--ink); }
    .go:hover .ic-ext, .btn-line:hover .ic-ext, .kif:hover .ic-ext { transform:translate(3px, -3px); }
    .link:hover { text-decoration-color:var(--ink); text-decoration-thickness:2px; }
    .ql:hover, .nav a:hover { color:var(--ink); }
    .btn:hover { background:var(--btn-hover); }
    .btn:hover .ic { transform:translateX(4px); }
    .btn-line:hover { background:var(--tint); }
    .logo:hover { opacity:.78; }
    .menu-btn:hover { border-color:var(--ink); }
    .chip:hover { color:var(--ink); border-bottom-color:var(--line-2); }
    .chip[aria-pressed="true"]:hover { border-bottom-color:var(--ink); }
    .r summary:hover .chev { color:var(--ink); transform:translateX(3px); }
    .r[open] summary:hover .chev { transform:rotate(90deg) translateY(-2px); }
    .field input:hover, .field select:hover, .field textarea:hover { border-color:var(--ink); }
  }

  /* Bodoni w małych stopniach: 500, żeby włoskowe kreski nie znikały */
  .r-name, .book-name, .founder-name, .prices tbody th, .name-sm, .menu-panel a { font-weight:500; }

  .hy { font-family:inherit; }

  /* header */
  .head { border-bottom:1px solid var(--line); background:var(--bg); }
  .head-in { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:72px; }
  .logo { display:flex; align-items:center; min-height:44px; transition:opacity var(--dur) var(--ease); }
  .logo svg { height:26px; width:auto; }
  .nav { display:none; gap:40px; }
  .nav a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; color:var(--ink-2); transition:color var(--dur) var(--ease); }
  .nav a[aria-current="page"] { color:var(--ink); }
  .nav a[aria-current="page"] .u { background-size:100% 1px; }
  .head-actions { display:flex; align-items:center; gap:10px; }
  .menu-btn { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; background:none; border:1px solid var(--line-2); border-radius:2px; color:var(--ink); cursor:pointer; transition:border-color var(--dur) var(--ease); }
  .menu-btn .i-close { display:none; }
  .menu-btn[aria-expanded="true"] .i-open { display:none; }
  .menu-btn[aria-expanded="true"] .i-close { display:block; }
  /* menu mobilne: pełny ekran, płynne wejście */
  :root { --head-h:73px; }
  .head { position:sticky; top:0; z-index:30; transition:transform .4s var(--ease); }
  html.head-hidden .head { transform:translateY(-100%); }
  html.head-hidden .filter { top:0; }
  .head-in { position:relative; z-index:2; }
  .menu-panel { position:fixed; inset:0; z-index:1; padding-top:73px; background:var(--bg); overflow-y:auto; overscroll-behavior:contain;
    visibility:hidden; opacity:0; transform:translateY(-8px);
    transition:opacity .45s var(--ease), transform .55s var(--ease), visibility 0s linear .55s; }
  .menu-panel.is-open { visibility:visible; opacity:1; transform:none; transition:opacity .45s var(--ease), transform .55s var(--ease), visibility 0s; }
  .menu-in { min-height:100%; display:flex; flex-direction:column; justify-content:space-between; gap:40px; padding-bottom:32px; }
  .menu-list { padding:16px 0 0; }
  .menu-list li, .menu-meta { opacity:0; transform:translateY(14px); transition:opacity .5s var(--ease), transform .6s var(--ease); }
  .menu-panel.is-open .menu-list li, .menu-panel.is-open .menu-meta { opacity:1; transform:none; }
  .menu-panel.is-open .menu-list li:nth-child(1) { transition-delay:.08s; }
  .menu-panel.is-open .menu-list li:nth-child(2) { transition-delay:.13s; }
  .menu-panel.is-open .menu-list li:nth-child(3) { transition-delay:.18s; }
  .menu-panel.is-open .menu-list li:nth-child(4) { transition-delay:.23s; }
  .menu-panel.is-open .menu-list li:nth-child(5) { transition-delay:.28s; }
  .menu-panel.is-open .menu-meta { transition-delay:.36s; }
  .menu-meta { display:flex; flex-direction:column; gap:4px; font-size:16px; color:var(--ink-2); padding-top:20px; border-top:1px solid var(--line); }
  .menu-meta .ql { color:var(--ink); }
  html.menu-lock { overflow:hidden; }
  .menu-panel .menu-list a { display:flex; justify-content:space-between; align-items:center; padding:18px 0; font-family:var(--serif); font-size:clamp(30px, 8vw, 44px); line-height:1.2; text-decoration:none; border-bottom:1px solid var(--line); }
  .menu-panel .menu-list a .ic { color:var(--ink-2); }

  /* hero */
  .hero { padding-top:48px; }
  .hero .h1 { margin-top:20px; }
  .hero-row { display:flex; flex-direction:column; gap:36px; margin-top:28px; }
  .hero-main { display:flex; flex-direction:column; gap:28px; }
  .founder { display:flex; align-items:center; gap:18px; padding-top:28px; border-top:1px solid var(--line); }
  .founder-ph { flex:none; width:64px; height:64px; border-radius:50%; background:var(--tint); }
  .founder-l { display:block; font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); margin-bottom:6px; }
  .founder-name { display:block; font-family:var(--serif); font-size:22px; line-height:1.2; }
  .founder-role { display:block; color:var(--ink-2); font-size:15px; margin-top:4px; }
  .hero-photo { width:100%; aspect-ratio:4/3; margin-top:48px; }
  .facts { margin:8px 0 16px; display:grid; }
  .facts > div { padding:18px 0; }
  .facts > div + div { border-top:1px solid var(--line); }
  .facts dt { font-size:13px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); margin-bottom:2px; }
  .facts dd { margin:0; font-size:17px; line-height:1.5; }
  .facts dd .ql, .facts dd .go { color:var(--ink); min-height:32px; }
  .facts dd .ql { min-height:44px; }

  /* sekcje */
  .sec { padding-block:80px; border-top:1px solid var(--line); }
  .sec-first { border-top:0; padding-top:24px; }
  .sec-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 40px; margin-bottom:48px; }
  .two { display:grid; gap:32px; }
  .two > div:first-child { display:flex; flex-direction:column; gap:16px; }
  .page-head { padding-block:56px 40px; }
  .page-head .lead { margin-top:24px; }

  /* usługi */
  .svc { padding-block:80px; border-top:1px solid var(--line); }
  .svc-side { display:contents; }
  .svc-side .h2 { margin-bottom:16px; }
  .svc-side .note { margin-bottom:24px; }
  .filter { position:sticky; top:var(--head-h); transition:top .4s var(--ease); z-index:5; background:var(--bg); display:flex; flex-wrap:wrap; align-items:center; gap:0 20px; padding:6px 0; border-bottom:1px solid var(--line); margin-bottom:32px; }
  .f-label { font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); flex-basis:100%; }
  .chip { min-height:44px; padding:0 2px; border:0; background:none; color:var(--ink-2); font:500 17px/1 var(--sans); cursor:pointer; border-bottom:1px solid transparent; transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
  .chip[aria-pressed="true"] { color:var(--ink); border-bottom:2px solid var(--ink); }
  .grp + .grp { margin-top:64px; }
  .grp-head { padding-bottom:12px; border-bottom:1px solid var(--ink); }
  .grp-t, .gh-col { font-family:var(--sans); font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
  .grp-t { color:var(--ink); }
  .gh-col { display:none; color:var(--ink-2); }
  .grp-note { font-size:16px; color:var(--ink-2); margin:16px 0 4px; }
  /* wiersz listy: przy najechaniu linia pod wierszem ciemnieje od lewej */
  .rows li, .book-list li { position:relative; }
  .rows li::after, .book-list li::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left center; transition:transform .4s var(--ease); pointer-events:none; }
  .rows li:has(.r[open])::after { transform:scaleX(1); }
  .rows li { border-bottom:1px solid var(--line); }
  .r summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr auto; column-gap:16px; row-gap:6px; padding:24px 0; align-items:start; }
  .r summary::-webkit-details-marker { display:none; }
  .r summary:focus-visible { outline-offset:-3px; }
  .r-name { font-family:var(--serif); font-size:25px; line-height:1.18; grid-column:1; }
  .r-desc { font-size:16px; color:var(--ink-2); grid-column:1; }
  .r-who { font-size:15px; font-weight:500; grid-column:1; }
  .r-who-l { font-weight:400; color:var(--ink-2); }
  .r-who { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .chev { grid-column:2; grid-row:1; margin-top:5px; color:var(--ink-2); transition:transform var(--dur) var(--ease), color var(--dur) var(--ease); }
  .r[open] .chev { transform:rotate(90deg); color:var(--ink); }
  .r::details-content { block-size:0; overflow:hidden; transition:block-size .35s var(--ease), content-visibility .35s allow-discrete; }
  .r[open]::details-content { block-size:auto; }
  .r-panel { display:flex; flex-direction:column; gap:12px; padding:4px 0 32px; max-width:720px; }
  .r-panel p { font-size:16px; }
  .r-panel .sub { font-weight:600; }
  .r-h { font-size:13px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
  .r-h + p { margin-top:-4px; }
  .r-panel .r-h:not(:first-child) { margin-top:8px; }
  .r-btns { display:flex; flex-wrap:wrap; gap:10px; }

  /* ludzie */
  .lead-person { display:grid; gap:32px; }
  .portrait { aspect-ratio:4/5; max-width:100%; background:var(--tint); display:flex; align-items:flex-end; padding:14px; }
  .portrait span { font-size:14px; color:var(--ink-2); }
  .portrait.photo { display:block; padding:0; }
  .founder-ph { object-fit:cover; }
  .person-text { display:flex; flex-direction:column; gap:14px; }
  .name { font-family:var(--serif); font-size:clamp(34px, 4.6vw, 60px); line-height:var(--lh-d); letter-spacing:-.015em; }
  .name em { display:block; }
  .name-sm { font-family:var(--serif); font-size:clamp(30px, 3vw, 40px); line-height:1.08; }
  .role { color:var(--ink-2); font-size:16px; }
  .person-links { display:flex; flex-wrap:wrap; gap:0 32px; padding-top:6px; }
  .others { display:grid; gap:56px; margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
  .card { display:grid; gap:28px; }
  .card .portrait { width:72%; }
  .quals-block { margin-top:64px; }
  .quals-block .grp-t { padding-bottom:12px; border-bottom:1px solid var(--ink); }
  .quals li { padding:13px 0; border-bottom:1px solid var(--line); font-size:17px; }

  .methods { display:grid; border-top:1px solid var(--ink); }
  .methods li { padding:14px 0; border-bottom:1px solid var(--line); }

  .band { background:var(--tint); padding-block:80px; }
  .book-list { border-top:1px solid var(--ink); }
  .book-list a { display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:20px; padding:22px 0; border-bottom:1px solid var(--line-2); text-decoration:none; }
  .book-main { display:flex; flex-direction:column; gap:4px; }
  .book-name { font-family:var(--serif); font-size:25px; line-height:1.2; }
  .book-sub { font-size:15px; color:var(--ink-2); }
  .book-list .ic { color:var(--ink); }
  .band-phone { margin-top:24px; }


  /* terminy: dwa systemy zapisów */
  .btn-app { font-weight:400; color:var(--ink-2); margin-left:-4px; }
  .bookers { display:grid; gap:40px; }
  .booker { display:flex; flex-direction:column; gap:6px; padding-top:20px; border-top:1px solid var(--ink); }
  .booker .book-name { margin-top:4px; }
  .booker-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; margin-top:16px; }
  .widget-ph { border:1px dashed var(--line-2); border-radius:4px; padding:18px 20px; background:rgba(255,255,255,.55); font-size:15px; color:var(--ink-2); }
  .widget-ph-t { font-weight:600; color:var(--ink); margin-bottom:4px; }
  .widget-cal { margin-top:16px; min-height:180px; }
  .widget-card { margin-top:8px; max-width:420px; }
  /* współpraca */
  .sec-partners { padding-block:56px; }
  .partners { display:flex; flex-wrap:wrap; align-items:center; gap:20px 48px; }
  .partner-list { display:flex; flex-wrap:wrap; gap:16px 40px; }
  .partner-list li { display:flex; align-items:center; }
  .partner-logo { height:44px; width:auto; }
  .partner-ph { display:inline-flex; align-items:center; justify-content:center; min-width:160px; height:56px; padding:0 20px; border:1px dashed var(--line-2); border-radius:4px; font-size:15px; color:var(--ink-2); }
  /* kontakt na stronie głównej i godziny */
  .home-contact { display:grid; gap:32px; }
  .home-contact .foot-h { margin-bottom:10px; }
  .home-contact p { line-height:1.6; }
  .home-contact .go { margin-top:6px; }
  .hours { margin:0; display:grid; }
  .hours div { display:flex; justify-content:space-between; gap:24px; padding:8px 0; border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums; }
  .hours dt, .hours dd { margin:0; }
  .hours dd { color:var(--ink); white-space:nowrap; }
  .hours-sm { max-width:260px; margin-top:8px; font-size:15px; color:var(--ink-2); }
  .hours-sm div { padding:5px 0; }
  .facts dd .go { min-height:36px; }

  /* cennik */
  .prices { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
  .prices th, .prices td { text-align:left; padding:18px 0; border-bottom:1px solid var(--line); font-weight:400; vertical-align:baseline; }
  .prices thead th { font-size:13px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); border-bottom:1px solid var(--ink); padding-top:0; padding-bottom:12px; }
  .prices tbody th { font-family:var(--serif); font-size:22px; line-height:1.25; padding-right:16px; }
  .prices .num { text-align:right; white-space:nowrap; font-weight:500; }

  /* kontakt */
  .places { display:grid; gap:48px; }
  .place { display:flex; flex-direction:column; gap:10px; padding-top:20px; border-top:1px solid var(--ink); }
  .place .go { margin-top:4px; }
  .facts.contact-facts { margin-top:64px; padding-top:8px; border-top:1px solid var(--line); }
  .contact-facts dd { font-size:20px; font-weight:500; }
  .contact-facts dd .ql + .ql { margin-left:24px; }
  .form { display:flex; flex-direction:column; gap:24px; max-width:640px; }
  .field { display:flex; flex-direction:column; gap:8px; }
  .field label { font-size:16px; font-weight:600; }
  .req { font-weight:400; color:var(--ink-2); }
  .field input, .field select, .field textarea { width:100%; min-height:52px; padding:13px 16px; border:1px solid var(--ink-2); border-radius:2px; background:#FFFFFF; color:var(--ink); font:17px/1.4 var(--sans); transition:border-color var(--dur) var(--ease); }
  .field select { appearance:none; -webkit-appearance:none; padding-right:48px; cursor:pointer; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke='%231C1813' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center; }
  .field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { border-color:var(--ink); outline-offset:2px; }
  .field textarea { resize:vertical; }
  .field input[aria-invalid="true"], .check input[aria-invalid="true"] { border-width:2px; border-color:var(--ink); outline:2px dashed var(--ink); outline-offset:2px; }
  .hint { font-size:15px; color:var(--ink-2); }
  .check { display:grid; grid-template-columns:24px 1fr; gap:14px; align-items:start; font-size:16px; }
  .check input { width:24px; height:24px; margin:2px 0 0; accent-color:var(--ink); cursor:pointer; }
  .form .btn { align-self:flex-start; }
  .form-status { font-size:16px; font-weight:600; }
  .field-err { margin:6px 0 0; font-size:15px; font-weight:600; color:var(--ink); }

  .prose { max-width:760px; display:flex; flex-direction:column; gap:14px; }
  .prose .h3 { margin-top:24px; }

  /* stopka */
  .foot { padding-block:64px 28px; border-top:1px solid var(--line); font-size:16px; }
  .foot-top { display:grid; gap:40px; }
  .foot-brand { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
  .foot-brand svg { height:22px; width:auto; }
  .foot-brand p { font-size:15px; color:var(--ink-2); }
  .foot-cols { display:grid; gap:36px; }
  .foot-h { font-size:13px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); margin-bottom:8px; }
  .foot-col p:not(.foot-h) { color:var(--ink-2); line-height:1.55; padding-block:4px; }
  .foot-col p:not(.foot-h) + p { margin-top:14px; }
  .foot-col ul { display:flex; flex-direction:column; }
  .foot-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px 32px; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); }
  .foot-legal { display:flex; flex-wrap:wrap; align-items:center; gap:0 28px; font-size:15px; color:var(--ink-2); }
  .kif { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-size:15px; color:var(--ink-2); text-decoration:none; }
  .kif img { height:32px; width:auto; }
  .kif-sep { width:1px; height:28px; background:var(--line-2); }
  .kif-t { display:inline-flex; align-items:center; gap:8px; }


  /* animacje pojawiania się: tylko z JS i bez prefers-reduced-motion */
  .rv [data-rv] { opacity:0; transform:translateY(18px); transition:opacity .9s var(--ease), transform 1s var(--ease); transition-delay:var(--rv-d, 0s); }
  .rv [data-rv].in { opacity:1; transform:none; }
  @keyframes rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
  @keyframes unveil { from { clip-path:inset(8% 5% 0 5%); opacity:.4; } to { clip-path:inset(0 0 0 0); opacity:1; } }
  .rv .hero .kicker, .rv .hero .h1, .rv .hero .hero-main, .rv .hero .founder { animation:rise 1s var(--ease) both; }
  .rv .hero .h1 { animation-delay:.08s; }
  .rv .hero .hero-main { animation-delay:.2s; }
  .rv .hero .founder { animation-delay:.3s; }
  .rv .hero .hero-photo { animation:unveil 1.4s var(--ease) .25s both; }
  .rv .hero .facts { animation:rise 1s var(--ease) .5s both; }
  /* delikatny parallax zdjęcia przy przewijaniu, tam gdzie przeglądarka to wspiera */
  @supports (animation-timeline: view()) {
    @keyframes drift { from { object-position:50% 18%; } to { object-position:50% 38%; } }
    .rv .hero-photo img { animation:drift linear both; animation-timeline:view(); animation-range:cover; }
  }

  @media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { transition-duration:.01ms !important; }
  }

  @media (min-width:640px) {
    .methods { grid-template-columns:1fr 1fr; column-gap:40px; }
    .places { grid-template-columns:1fr 1fr; }
    .quals.cols2 { columns:2; column-gap:48px; }
    .quals.cols2 li { break-inside:avoid; }
    .foot-cols { grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); column-gap:48px; }
  }

  @media (min-width:960px) {
    body { font-size:18px; }
    .wrap { padding-inline:48px; }
    .nav { display:flex; }
    .menu-btn, .menu-panel { display:none !important; }
    .logo svg { height:30px; }
    .head-in { min-height:92px; }
    .hero { padding-top:88px; }
    .hero-row { display:grid; grid-template-columns:minmax(0, 6fr) minmax(0, 5fr); gap:80px; align-items:end; margin-top:48px; }
    .founder { border-top:0; padding-top:0; padding-left:28px; border-left:1px solid var(--line); }
    .hero-photo { aspect-ratio:21/9; margin-top:72px; }
    .facts { grid-template-columns:repeat(3, minmax(0, 1fr)); column-gap:32px; margin:28px 0 48px; }
    .facts > div + div { border-top:0; border-left:1px solid var(--line); padding-left:32px; }
    .facts.contact-facts { margin-top:96px; padding-top:24px; }
    .sec, .svc { padding-block:136px; }
    .sec-first { padding-top:32px; }
    .page-head { padding-block:104px 72px; }
    .two { grid-template-columns:4fr 8fr; gap:72px; align-items:start; }
    .svc-grid { display:grid; grid-template-columns:4fr 8fr; gap:72px; }
    :root { --head-h:93px; }
    .svc-side { display:flex; flex-direction:column; position:sticky; top:calc(var(--head-h) + 32px); transition:top .4s var(--ease); align-self:start; }
    html.head-hidden .svc-side { top:40px; }
    .filter { position:static; border-bottom:0; padding:0; margin-bottom:0; }
    .grp-head { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.25fr) minmax(0, .6fr) 20px; column-gap:28px; align-items:end; }
    .gh-col { display:block; }
    .r summary { grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.25fr) minmax(0, .6fr) 20px; column-gap:28px; padding:28px 0; }
    .r-desc { grid-column:2; grid-row:1; padding-top:3px; }
    .r-who { grid-column:3; grid-row:1; padding-top:0; flex-wrap:nowrap; align-items:flex-start; line-height:1.35; }
    .r-who > span:last-child { padding-top:5px; }
    .r-who-l { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    .chev { grid-column:4; grid-row:1; }
    .r-name { font-size:27px; }
    .r-panel { padding-bottom:40px; }
    .lead-person { grid-template-columns:5fr 7fr; gap:80px; align-items:center; }
    .person-2 { grid-template-columns:4fr 8fr; }
    .portrait { aspect-ratio:5/6; max-height:600px; }
    .others { margin-top:104px; padding-top:72px; gap:72px; }
    .card { grid-template-columns:5fr 7fr; gap:80px; align-items:center; }
    .card .portrait { width:62%; }
    .card-text { display:flex; flex-direction:column; gap:14px; }
    .quals-block { margin-top:96px; }
    .band { padding-block:128px; }
    .bookers { grid-template-columns:1fr 1fr; gap:48px; }
    .home-contact { grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr); gap:40px; }
    .sec-partners { padding-block:72px; }
    .foot { padding-block:96px 32px; }
    .foot-top { grid-template-columns:3fr 9fr; gap:72px; }
    .foot-cols { column-gap:64px; }
    .foot-bottom { margin-top:80px; }
  }

/* ===== warstwa wariantu B ===== */

  /* =================== WARIANT B: ciepłe karty, zaokrąglenia, ciemne akcenty =================== */
  :root { --card:#FBF9F6; --r:24px; --r-sm:14px; --dark:#22170F; --on-dark:#FBF9F6; --on-dark-2:#D9CEBF; }
  body { background:var(--tint); }
  ::selection { background:#DCCBB5; }
  .sec, .svc { border-top:0; }
  .b-center { text-align:center; margin-top:40px; }
  .b-head-c { text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:40px; }
  .b-head-c .note { max-width:46ch; }

  /* nagłówek: pływająca pigułka */
  .head { position:sticky; top:10px; margin:10px 12px 0; border:0; border-radius:999px; background:var(--card); box-shadow:0 6px 24px rgba(28,24,19,.08); }
  .head .wrap { padding-inline:14px 10px; }
  .head-in { min-height:60px; }
  .head .btn-sm { border-radius:999px; min-height:40px; padding:0 14px; font-size:12px; }
  html.head-hidden .head { transform:translateY(calc(-100% - 20px)); }
  .menu-btn { border:0; background:var(--tint); border-radius:50%; }
  .menu-panel { padding-top:96px; border-radius:0; }
  .menu-panel .menu-list a { border-bottom-color:var(--line-2); }

  /* hero */
  .b-hero { padding-top:48px; text-align:center; }
  .b-hero .wrap { display:flex; flex-direction:column; align-items:center; }
  .b-hero .h1 { font-size:clamp(40px, 7vw, 92px); margin-top:18px; max-width:14ch; }
  .b-hero .hero-main { display:flex; flex-direction:column; align-items:center; gap:26px; margin-top:26px; }
  .b-hero .actions { justify-content:center; }
  .b-photo-wrap { position:relative; width:100%; margin-top:40px; }
  .b-hero .hero-photo { width:100%; aspect-ratio:4/5; margin:0; border-radius:var(--r); }
  .b-founder { position:absolute; left:12px; right:12px; bottom:12px; text-align:left; background:var(--card); border:0; border-radius:var(--r-sm); padding:14px 16px; box-shadow:0 10px 30px rgba(28,24,19,.14); }
  .b-founder .founder-ph { width:52px; height:52px; background:var(--tint); }
  .b-founder .founder-name { font-size:19px; }
  .b-facts { width:100%; display:grid; gap:10px; margin:12px 0 0; text-align:left; }
  .b-facts li { background:var(--card); border-radius:var(--r-sm); padding:18px 20px; }
  .b-facts .foot-h { margin-bottom:4px; }
  .b-facts .go, .b-facts .ql { color:var(--ink); min-height:40px; }
  @keyframes unveil { from { clip-path:inset(6% 4% 0 4% round 24px); opacity:.4; } to { clip-path:inset(0 0 0 0 round 24px); opacity:1; } }

  /* usługi jako karty */
  html.head-hidden .b-svc .filter { top:10px; }
  .b-svc .filter { position:sticky; top:84px; z-index:5; margin:0 auto 32px; width:max-content; max-width:100%; display:flex; gap:4px; padding:4px; background:var(--card); border:0; border-radius:999px; box-shadow:0 4px 18px rgba(28,24,19,.07); }
  .b-svc .f-label { display:none; }
  .b-svc .chip { border:0; border-radius:999px; padding:0 18px; font-size:16px; }
  .b-svc .chip[aria-pressed="true"] { background:var(--btn); color:#fff; border:0; }
  @media (hover:hover) { .b-svc .chip:hover { background:var(--tint); } .b-svc .chip[aria-pressed="true"]:hover { background:var(--btn-hover); } }
  .b-grp-t { font-family:var(--sans); font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); margin:0 0 14px 4px; }
  .grp + .grp { margin-top:48px; }
  .b-svc .grp-note { margin:-6px 0 14px 4px; }
  .cards { display:grid; gap:12px; }
  .sc { background:var(--card); border-radius:var(--r); transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease); }
  .sc summary { list-style:none; cursor:pointer; display:flex; flex-direction:column; gap:10px; padding:22px 22px 18px; border-radius:var(--r); }
  .sc summary::-webkit-details-marker { display:none; }
  .sc-name { font-family:var(--serif); font-size:26px; line-height:1.15; }
  .sc-desc { font-size:16px; color:var(--ink-2); }
  .sc-more { display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:15px; font-weight:500; }
  .sc-more .chev { width:18px; height:18px; margin:0; transition:transform var(--dur) var(--ease); }
  .sc[open] .sc-more .chev { transform:rotate(90deg); }
  .sc::details-content { block-size:0; overflow:hidden; transition:block-size .35s var(--ease), content-visibility .35s allow-discrete; }
  .sc[open]::details-content { block-size:auto; }
  .sc-panel { display:flex; flex-direction:column; gap:12px; padding:0 22px 24px; }
  .sc-panel p { font-size:16px; }
  .sc-panel .sub { font-weight:600; }
  .sc[open] { box-shadow:0 12px 34px rgba(28,24,19,.10); }
  @media (hover:hover) { .sc:not([open]):hover { box-shadow:0 10px 28px rgba(28,24,19,.09); transform:translateY(-2px); } .sc:hover .sc-more .chev { transform:translateX(3px); } .sc[open]:hover .sc-more .chev { transform:rotate(90deg); } }
  .sc summary:focus-visible { outline-offset:-3px; }

  /* metody: pigułki w panelu */
  .b-panel { background:var(--card); border-radius:var(--r); padding:32px 22px; }
  .b-methods { display:grid; gap:28px; }
  .b-methods > div { display:flex; flex-direction:column; gap:14px; }
  .pills { display:flex; flex-wrap:wrap; gap:8px; }
  .pills li { padding:10px 16px; border-radius:999px; background:var(--tint); font-size:16px; }

  /* zespół */
  .b-team-grid { display:grid; gap:16px; }
  .b-person { background:var(--card); border-radius:var(--r); padding:14px 14px 26px; display:flex; flex-direction:column; gap:22px; }
  .b-person .portrait { width:100%; max-width:none; aspect-ratio:4/3; border-radius:calc(var(--r) - 8px); background:var(--tint); }
  .b-person .person-text { padding:0 8px; }
  .b-person .widget-card { background:var(--tint); }

  /* terminy: ciemna sekcja */
  .b-band { background:var(--dark); color:var(--on-dark); margin:56px 12px 0; border-radius:var(--r); }
  .b-band .note, .b-band .kicker { color:var(--on-dark-2); }
  .b-band .link { text-decoration-color:var(--on-dark-2); }
  .b-band :focus-visible { outline-color:var(--on-dark); }
  .b-band .booker { background:var(--card); color:var(--ink); border:0; border-radius:var(--r-sm); padding:22px; }
  .b-band .booker .kicker { color:var(--ink-2); }
  .b-band .booker :focus-visible { outline-color:var(--ink); }
  .b-band .widget-ph { background:var(--tint); }

  /* współpraca i kontakt */
  .sec-partners .partners { justify-content:center; }
  .partner-ph { background:var(--card); border:0; border-radius:999px; }
  .home-contact > div { background:var(--card); border-radius:var(--r-sm); padding:22px; }

  /* podstrony */
  .page-head { text-align:center; }
  .page-head .lead { margin-inline:auto; }
  .page-head .kicker { display:block; }
  .lead-person, .quals-block, .place, .contact-facts > div, .form, .prose { background:var(--card); border-radius:var(--r); }
  .lead-person { padding:14px 14px 28px; }
  .lead-person .person-text { padding:0 8px; }
  .lead-person .portrait { border-radius:calc(var(--r) - 8px); }
  .quals-block { padding:28px 22px; }
  .place { padding:26px 22px; border-top:0; }
  .contact-facts { gap:10px; }
  .contact-facts > div { padding:20px 22px !important; border:0 !important; }
  .form { padding:28px 22px; }
  .prose { padding:32px 24px; }
  .prices { background:var(--card); border-radius:var(--r); overflow:hidden; }
  .prices th:first-child, .prices td:first-child { padding-left:22px; }
  .prices th:last-child, .prices td:last-child { padding-right:22px; }
  .prices thead th { padding-top:18px; border-bottom-color:var(--line-2); }
  .prices tbody tr:last-child > * { border-bottom:0; }

  /* stopka: ciemna */
  .foot { background:#1C1813; color:var(--on-dark); border-top:0; margin-top:56px; }
  .foot .foot-brand p, .foot .foot-h, .foot .foot-col p:not(.foot-h), .foot .foot-legal, .foot .ql, .foot .hours-sm { color:var(--on-dark-2); }
  .foot .hours div, .foot-bottom { border-color:#3A322A; }
  .foot .hours dd { color:var(--on-dark); }
  @media (hover:hover) { .foot .ql:hover { color:var(--on-dark); } }
  .foot :focus-visible { outline-color:var(--on-dark); }
  .foot-brand svg path[fill="#1C1813"], .foot-brand svg [fill="#1C1813"] { fill:var(--on-dark); }
  .kif { background:var(--card); color:var(--ink); border-radius:999px; padding:6px 18px 6px 14px; }
  .kif .kif-sep { background:var(--line-2); }



  @media (min-width:640px) {
    .cards { grid-template-columns:1fr 1fr; align-items:start; }
    .b-facts { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  }
  @media (min-width:960px) {
    .head { top:16px; margin:16px auto 0; max-width:1180px; }
    .head .wrap { padding-inline:28px 14px; }
    .head-in { min-height:68px; }
    .head .btn-sm { min-height:44px; padding:0 18px; font-size:13px; }
    .foot { padding-bottom:32px; }
    .b-hero { padding-top:96px; }
    .b-hero .hero-photo { aspect-ratio:16/7; }
    .b-founder { left:24px; right:auto; bottom:24px; padding:16px 22px 16px 16px; }
    .b-facts { gap:12px; margin-top:12px; }
    .b-svc .filter { position:static; }
    .cards { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
    .b-methods { grid-template-columns:4fr 8fr; gap:56px; padding:56px; align-items:center; }
    .b-team-grid { grid-template-columns:7fr 5fr; align-items:stretch; }
    .b-person { padding:16px 16px 36px; }
    .b-person .person-text { padding:0 20px; }
    .b-lead .portrait { aspect-ratio:16/10; }
    .b-person:not(.b-lead) .portrait { aspect-ratio:4/3; }
    .b-band { margin:96px 24px 0; }
    .b-band .booker { padding:28px; }
    .home-contact > div { padding:28px; }
    .lead-person { padding:16px 40px 16px 16px; }
    .person-2 { grid-template-columns:4fr 8fr; }
    .quals-block { padding:40px; }
    .place { padding:36px; }
    .form { padding:40px; }
    .prose { padding:48px; }
    .foot { margin-top:96px; }
  }
  /* poprawki po przeglądzie */
  .sec-partners .partners { flex-direction:column; }
  .partner-list { justify-content:center; }
  .sec-partners + .sec .two { display:block; }
  .sec-partners + .sec .two > div:first-child { text-align:center; align-items:center; margin-bottom:32px; }
  .home-contact { gap:10px; }
  @media (min-width:640px) { .home-contact { grid-template-columns:1fr 1fr; } }
  @media (min-width:960px) {
    .sec, .svc { padding-block:96px; }
    .sec-first { padding-top:24px; }
    .sec-partners { padding-block:64px 0; }
    .sec-partners .partners { flex-direction:row; justify-content:center; }
    .home-contact { grid-template-columns:1fr 1.3fr 1fr; gap:14px; }
  }
  /* większe wewnętrzne marginesy w kartach osób */
  .b-person { padding:12px 12px 32px; }
  .b-person .person-text, .lead-person .person-text { padding:0 16px; }
  .lead-person { padding:12px 12px 32px; }
  @media (min-width:960px) {
    .b-person { padding:16px 16px 44px; }
    .b-person .person-text { padding:0 32px; }
    .lead-person { padding:20px 64px 20px 20px; gap:64px; }
    .lead-person .person-text { padding:40px 0; }
  }
  .foot .go .ic { color:var(--on-dark-2); }
  /* logo w pigułce: więcej oddechu, lekko mniejsze */
  .head .wrap { padding-inline:22px 8px; }
  .head .logo svg { height:22px; }
  @media (min-width:960px) {
    .head .wrap { padding-inline:36px 12px; }
    .head .logo svg { height:26px; }
  }
  .partner-list li { background:var(--card); border-radius:999px; padding:14px 30px; }
  .partner-logo { height:40px; }
  .partner-list { gap:12px; } .partner-list li { padding:12px 22px; }

  /* B: kontakt bez zmian odstępu z A */
  .facts.contact-facts { margin-top:48px; padding-top:0; border-top:0; }
  @media (min-width:960px){ .facts.contact-facts { margin-top:28px; } }

  /* 28.09: nagłówek, jasny dół strony, karty usług */
  .b-hero .h1 { max-width:none; }
  .h1-sub { display:block; margin-top:14px; font-size:clamp(20px, 2.8vw, 34px); line-height:1.25; font-weight:500; color:var(--ink-2); }
  .b-band { background:var(--card); color:var(--ink); }
  .b-band .note, .b-band .kicker { color:var(--ink-2); }
  .b-band .link { text-decoration-color:currentColor; }
  .b-band :focus-visible { outline-color:var(--ink); }
  .b-band .booker { background:var(--tint); }
  .b-band .widget-ph { background:var(--card); }
  .foot { background:#E9E0D4; color:var(--ink); margin:56px 12px 12px; border-radius:var(--r); }
  .foot .foot-brand p, .foot .foot-h, .foot .foot-col p:not(.foot-h), .foot .foot-legal, .foot .ql, .foot .hours-sm, .foot .go .ic { color:var(--ink-2); }
  .foot .hours div, .foot-bottom { border-color:var(--line-2); }
  .foot .hours dd { color:var(--ink); }
  @media (hover:hover) { .foot .ql:hover { color:var(--ink); } }
  .foot :focus-visible { outline-color:var(--ink); }
  .foot-brand svg path[fill="#1C1813"], .foot-brand svg [fill="#1C1813"] { fill:#1C1813; }
  .kif { background:var(--card); }
  .sc-ind, .sc-book { display:flex; flex-direction:column; gap:12px; }
  .sc-book { padding-top:6px; }
  @media (min-width:640px) {
    .cards { grid-auto-flow:dense; }
    .cards > li:has(> .sc[open]) { grid-column:1 / -1; }
  }
  @media (min-width:960px) {
    .foot { margin:96px 24px 24px; }
    .sc[open] .sc-panel { display:grid; grid-template-columns:minmax(0, 2fr) minmax(0, 1fr); gap:48px; padding:0 32px 32px; }
    .sc[open] summary { padding:28px 32px 20px; }
    .sc-book { padding-top:0; }
  }
  .sc { scroll-margin-top:96px; }

  /* =================== 28.09 runda TIP-TOP =================== */
  /* Skala promieni: 24 karty, 16 karty wewnątrz sekcji, 12 elementy w kartach, pigułki dla kontrolek.
     Element przy rogu rodzica: promień wewnętrzny = promień zewnętrzny − odstęp od krawędzi. */
  :root { --r:24px; --r-2:16px; --r-3:12px; }

  /* przyciski i pola: zaokrąglone */
  .btn, .btn-line, .btn-sm { border-radius:999px; }
  .btn-line { padding:0 22px; }
  .field input, .field select, .field textarea { border-radius:var(--r-3); }
  .field textarea { border-radius:var(--r-3); }
  .check input { border-radius:4px; }
  .widget-ph { border-radius:var(--r-3); }

  /* nagłówek: pigułka w pigułce, równy odstęp z góry i z prawej */
  .head .wrap { padding-inline:22px 8px; }
  @media (min-width:960px) { .head .wrap { padding-inline:36px 12px; } }

  /* hero: karta założycielki na zdjęciu (24 − 12 = 12; desktop 32 − 16 = 16) */
  .b-founder { left:12px; right:12px; bottom:12px; border-radius:var(--r-3); }
  .b-facts li { border-radius:var(--r); padding:20px 22px; }
  @media (min-width:960px) {
    .b-hero .hero-photo { border-radius:32px; }
    .b-founder { left:16px; bottom:16px; border-radius:var(--r-2); padding:16px 24px 16px 16px; }
    .b-facts li { padding:24px 28px; }
  }

  /* usługi: równe kafle, szczegóły w oknie */
  .cards { grid-auto-flow:row; }
  .cards > li { display:flex; }
  .sc { width:100%; min-height:var(--sc-h, 0); display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:24px; border:0; border-radius:var(--r); background:var(--card); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
  .sc .sc-more { margin-top:auto; padding-top:8px; gap:10px; }
  .sc .sc-more .ic { transition:transform var(--dur) var(--ease); }
  .sc:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
  @media (hover:hover) {
    .sc:hover { box-shadow:0 10px 28px rgba(28,24,19,.09); transform:translateY(-2px); }
    .sc:hover .sc-more .ic { transform:translateX(3px); }
  }
  @media (min-width:960px) { .sc { padding:28px; } }

  .sd { width:100%; max-width:100%; max-height:92dvh; margin:auto 0 0; padding:0; border:0; border-radius:var(--r) var(--r) 0 0; background:var(--card); color:var(--ink); box-shadow:0 -10px 40px rgba(28,24,19,.18); overflow:auto; overscroll-behavior:contain; }
  .sd::backdrop { background:rgba(28,24,19,.42); }
  .sd-in { position:relative; display:flex; flex-direction:column; gap:14px; padding:28px 22px 32px; }
  .sd-x { position:absolute; top:12px; right:12px; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:var(--tint); color:var(--ink); cursor:pointer; transition:background var(--dur) var(--ease); }
  @media (hover:hover) { .sd-x:hover { background:var(--line); } }
  .sd .kicker { padding-right:56px; }
  .sd-t { font-family:var(--serif); font-size:clamp(30px, 4vw, 42px); line-height:1.08; font-weight:400; font-size-adjust:.46; padding-right:40px; }
  .sd-desc { font-size:17px; color:var(--ink-2); }
  .sd-grid { display:grid; gap:24px; margin-top:10px; padding-top:22px; border-top:1px solid var(--line); }
  .sd .sc-ind, .sd .sc-book { display:flex; flex-direction:column; gap:10px; }
  .sd .sc-ind p { font-size:16px; }
  .sd .sc-ind .sub { font-weight:600; }
  .sd .sc-book .r-h:not(:first-child) { margin-top:10px; }
  .sd .r-btns { flex-direction:column; align-items:stretch; }
  .sd .r-btns .btn-line { justify-content:center; }
  @media (min-width:640px) {
    .sd { width:min(760px, calc(100% - 48px)); margin:auto; border-radius:var(--r); box-shadow:0 24px 60px rgba(28,24,19,.22); max-height:86dvh; }
    .sd-in { padding:40px 40px 44px; }
    .sd-x { top:16px; right:16px; }
    .sd-grid { grid-template-columns:minmax(0, 3fr) minmax(0, 2fr); gap:40px; }
  }
  @media (prefers-reduced-motion:no-preference) {
    .sd[open] { animation:sd-up .38s var(--ease); }
    .sd[open]::backdrop { animation:sd-fade .38s var(--ease); }
    @media (min-width:640px) { .sd[open] { animation-name:sd-in; } }
  }
  @keyframes sd-up { from { transform:translateY(40px); opacity:0; } to { transform:none; opacity:1; } }
  @keyframes sd-in { from { transform:translateY(16px) scale(.98); opacity:0; } to { transform:none; opacity:1; } }
  @keyframes sd-fade { from { opacity:0; } to { opacity:1; } }

  /* zespół: dwie identyczne karty, wiersze wyrównane między kartami */
  .b-team-grid { grid-template-columns:1fr; }
  .b-person { padding:12px 12px 28px; gap:22px; border-radius:var(--r); }
  .b-person .portrait, .b-person:not(.b-lead) .portrait { aspect-ratio:4/3; border-radius:var(--r-3); }
  .b-person .person-text { padding:0 14px; display:flex; flex-direction:column; gap:10px; }
  .b-person .person-links { margin-top:6px; }
  .b-person .widget-card { max-width:none; margin-top:8px; background:var(--tint); border-style:solid; border-color:var(--line); }
  .b-person .widget-card .go { margin-top:6px; }
  @media (min-width:960px) {
    .b-team-grid { grid-template-columns:1fr 1fr; gap:16px; }
    .b-person { padding:12px 12px 36px; }
    .b-person .person-text { padding:0 24px; }
    @supports (grid-template-rows:subgrid) {
      .b-team-grid { grid-template-rows:auto auto auto auto 1fr auto; row-gap:0; }
      .b-person { display:grid; grid-row:span 6; grid-template-rows:subgrid; gap:0; }
      .b-person .person-text { display:contents; }
      .b-person .portrait { margin-bottom:28px; }
      .b-person .person-text > * { margin-inline:24px; }
      .b-person .kicker { margin-bottom:10px; }
      .b-person .role { margin-top:8px; }
      .b-person .bio { margin-top:14px; }
      .b-person .person-links { margin-top:16px; align-self:end; }
      .b-person .widget-card { margin-top:16px; }
    }
  }

  /* terminy: nagłówek nad kartami, dwie identyczne karty */
  .b-band .booker { border-radius:var(--r-2); padding:24px; gap:8px; }
  .b-band .booker .booker-actions { margin-top:10px; }
  @media (min-width:960px) {
    .b-band .wrap.two { display:block; }
    .b-band .wrap.two > div:first-child { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 40px; margin-bottom:36px; }
    .b-band .wrap.two > div:first-child .h2 { width:100%; }
    .bookers { grid-template-columns:1fr 1fr; gap:16px; }
    .b-band .booker { padding:32px; }
    @supports (grid-template-rows:subgrid) {
      .bookers { grid-template-rows:auto auto auto auto auto; row-gap:0; }
      .b-band .booker { display:grid; grid-row:span 5; grid-template-rows:subgrid; row-gap:8px; }
      .b-band .booker .booker-actions { margin-top:14px; align-self:start; }
    }
  }

  /* terminy: ten sam układ akcji w obu kartach */
  .b-band .booker-actions { flex-direction:column; align-items:flex-start; gap:12px; }
  /* współpraca: równe pigułki, FitLife optycznie wyśrodkowany (ozdobny ogonek „l” schodzi w dół) */
  .partner-list li { width:200px; height:76px; padding:0; justify-content:center; }
  .partner-logo { height:40px; }
  .partner-logo.pl-fitlife { height:46px; transform:translateY(7px); }
  /* KIF: symetryczne wcięcia w pigułce */
  .kif { padding:8px 22px; gap:18px; }
  .sd .btn-line { white-space:nowrap; }
  @media (min-width:640px) { .sd { width:min(820px, calc(100% - 48px)); } .sd-grid { grid-template-columns:minmax(0, 1fr) 300px; } }
  /* O nas: portret przy rogu karty (24 − 12 = 12) */
  .lead-person { padding:12px 12px 32px; }
  .lead-person .portrait { border-radius:var(--r-3); }
  @media (min-width:960px) { .lead-person { padding:12px 64px 12px 12px; } }
  /* telefon: logotypy obok siebie, KIF jako zaokrąglony prostokąt */
  @media (max-width:639px) {
    .partner-list { flex-wrap:nowrap; width:100%; }
    .partner-list li { width:auto; flex:1 1 0; height:72px; }
    .kif { width:100%; border-radius:var(--r-2); padding:12px 18px; justify-content:space-between; }
  }
  .lead-person .widget-card, .b-person .widget-card { background:var(--tint); border-style:solid; border-color:var(--line); max-width:none; }
  @media (min-width:960px) { .lead-person .portrait { align-self:stretch; aspect-ratio:auto; min-height:420px; height:auto; } }
  /* CTA w nagłówku: ukryty, dopóki widać przycisk w hero (miejsce zarezerwowane, bez przesunięć) */
  .head .btn-sm { transition:opacity .35s var(--ease), transform .35s var(--ease), visibility 0s 0s, background-color var(--dur) var(--ease); }
  html.cta-hero:not(.menu-lock) .head .btn-sm { opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .25s var(--ease), transform .25s var(--ease), visibility 0s .25s; }
  @media (prefers-reduced-motion:reduce) { .head .btn-sm, html.cta-hero:not(.menu-lock) .head .btn-sm { transition:none; transform:none; } }
  /* kalendarz ZnanyLekarz.pl po załadowaniu: bez ramki zastępczej */
  .widget-ph.is-live { border:0; padding:0; background:transparent; min-height:120px; }
  .widget-ph.is-live iframe { max-width:100%; }
  .b-person .widget-card .go, .lead-person .widget-card .go { margin-top:6px; }
  /* metody w oknie usługi */
  .sd .sc-ind .r-h:not(:first-child) { margin-top:14px; }
  .sd-pills { gap:6px; }
  .sd-pills li { padding:6px 12px; font-size:14px; background:var(--tint); border-radius:999px; }
  /* kontakt: jeden odstęp między wszystkimi kartami (poziomo i pionowo) */
  .places { gap:12px; }
  .facts.contact-facts { margin-top:12px; gap:12px; }
  @media (min-width:960px) { .places { gap:16px; } .facts.contact-facts { margin-top:16px; gap:16px; } }
  @media (min-width:960px) { .contact-facts > div { padding:28px 36px !important; } }
  .ql .ic-ext { margin-left:6px; width:14px; height:14px; }

/* ===== strona produkcyjna: dodatki do wersji wielostronicowej ===== */
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.hero-photo img { border-radius:inherit; }
.b-svc .b-center { margin-top:32px; }
/* /uslugi/: spis i karty usług */
.svc-toc { margin:0 0 40px; }
.svc-toc ul { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 20px; }
.svc-toc .ql { color:var(--ink); }
.svc-list { display:grid; gap:12px; }
.svc-card { background:var(--card); border-radius:var(--r); padding:28px 22px 32px; display:flex; flex-direction:column; gap:14px; scroll-margin-top:96px; }
.svc-card > .kicker { display:none; }
.svc-card .sd-t { padding-right:0; }
.svc-card .sc-ind, .svc-card .sc-book { display:flex; flex-direction:column; gap:10px; }
.svc-card .sc-ind p { font-size:16px; }
.svc-card .sc-ind .sub { font-weight:600; }
.svc-card .sc-ind .r-h:not(:first-child), .svc-card .sc-book .r-h:not(:first-child) { margin-top:10px; }
.svc-card .r-btns { flex-direction:column; align-items:flex-start; }
.svc-card .btn-line { white-space:nowrap; }
@media (min-width:640px) { .svc-card .sd-grid { grid-template-columns:minmax(0, 1fr) 300px; gap:40px; } }
@media (min-width:960px) { .svc-card { padding:40px; } .svc-list { gap:16px; } }
@media (min-width:960px) { .b-founder { right:auto; } }
@media (max-width:639px) { .svc-toc { display:none; } }
/* KIF w stopce bez tła, bezpośrednio na beżu */
.kif, .kif:hover { background:none; padding:0; border-radius:0; color:var(--ink-2); }
@media (max-width:639px) { .kif { width:auto; justify-content:flex-start; padding:0; border-radius:0; } }

/* przycisk Booksy w oknie usługi (button wygląda jak link-przycisk) */
button.btn-line { font-family:inherit; color:var(--ink); cursor:pointer; }
/* okno rezerwacji Booksy: skrypt ustawia je absolutnie na górze dokumentu; przypinamy je do ekranu */
.booksy-widget-dialog { position:fixed !important; max-height:calc(100dvh - 30px); overflow-y:auto; }

/* hero: dwa zdjęcia z zabiegów na komputerze, jedno na telefonie; karta założycielki pod zdjęciem na telefonie */
.hero-pair { display:grid; gap:12px; }
.hero-pair .hero-photo img { object-position:50% 14%; }
@media (min-width:960px) { .hero-pair .hero-photo:first-child img { object-position:50% 40%; } }
.hero-pair .hero-photo-2 { display:none; }
.hero-pair .hero-photo-2 img { object-position:50% 30%; }
.b-hero .b-founder { position:relative; left:auto; right:auto; bottom:auto; margin:-36px 12px 0; }
.hours-facts { margin-top:2px; font-size:15px; color:var(--ink-2); }
.hours-facts div { padding:5px 0; }
.hours-facts div:last-child { border-bottom:0; }
@media (min-width:960px) {
  .hero-pair { grid-template-columns:1fr 1fr; }
  .hero-pair .hero-photo-2 { display:block; }
  .b-hero .hero-pair .hero-photo { aspect-ratio:8/7; }
  .b-hero .b-founder { position:relative; margin:12px 0 0; box-shadow:none; border-radius:var(--r); padding:20px 28px; }
}
