/* ===== Strona główna — layout ===== */

/* HERO */
.hero{ padding-top:clamp(28px,5vw,64px); }
.hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,80px);
  align-items:center; min-height:min(78vh,720px);
}
.hero-copy{ padding-block:clamp(20px,4vw,48px); }
.hero-title{ margin:.28em 0 .5em; max-width:13ch; }
/* przełącznik hasła hero */
.hero-title .hv{ display:none; }
:root[data-hero="0"] .hero-title .hv[data-hv="0"],
:root[data-hero="1"] .hero-title .hv[data-hv="1"],
:root[data-hero="2"] .hero-title .hv[data-hv="2"]{ display:inline; }
.hero-actions{ display:flex; align-items:center; gap:32px; margin-top:38px; flex-wrap:wrap; }
.hero-photo{ margin:0; position:relative; }
.hero-photo .imgframe{ aspect-ratio:4/5; }
.hero-cap{
  font-family:var(--sans); font-size:11px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--muted); margin-top:16px; text-align:right;
}

/* MEDIACJE — wyśrodkowana wypowiedź */
.med-statement{ max-width:64ch; margin:0 auto; text-align:center; }
.med-statement .h-xl{ margin:.3em 0 .6em; }
.med-statement .lead{ margin-bottom:1.6em; }
.med-statement .link{ justify-content:center; }

/* SPRAWY */
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:clamp(36px,5vw,64px); }
.practice{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; align-items:stretch; }
.pcard{ padding:8px clamp(20px,2.4vw,34px) 8px 0; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.pcard:first-child{ padding-left:0; }
.pcard:last-child{ border-right:0; padding-right:0; }
.pcard .pnum{ font-family:var(--serif); font-size:2.4rem; color:var(--wine); line-height:1; display:block; margin-bottom:20px; font-weight:400; }
.pcard .pmark{ display:none; width:34px; height:34px; margin-bottom:22px; border:1.4px solid var(--wine); }
.mk-circle{ border-radius:50%; }
.mk-diamond{ transform:rotate(45deg); }
.mk-square{ border-radius:2px; }
.mk-triangle{ width:0!important; height:0!important; border:none!important; border-left:17px solid transparent!important; border-right:17px solid transparent!important; border-bottom:30px solid var(--wine)!important; background:transparent; }
.pcard h3{ margin-bottom:16px; }
.pcard p{ font-size:.95rem; color:var(--ink-soft); margin-bottom:22px; }
.pcard .link.sm{ font-size:11px; margin-top:auto; align-self:flex-start; }

/* warianty stylu specjalizacji */
:root[data-practice="icons"] .pcard .pnum{ display:none; }
:root[data-practice="icons"] .pcard .pmark{ display:block; }
:root[data-practice="type"]  .pcard .pnum{ display:none; }
:root[data-practice="type"]  .pcard .pmark{ display:none; }
:root[data-practice="type"]  .pcard h3{ padding-top:20px; border-top:2px solid var(--ink); }

/* FEATURE / PODEJŚCIE — bez zdjęcia, rząd zasad */
.feature{ transition:background .4s var(--ease), color .4s var(--ease); }
.feat-head{ max-width:30ch; margin-bottom:clamp(40px,5vw,68px); }
.feat-head .h-xl{ margin-top:.3em; }
.principles{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:30px; }
.principles--row{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,56px); }
.principles--row li{ border-top:2px solid var(--ink); padding-top:22px; }
.principles li{ display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:start; }
.principles--row li{ grid-template-columns:1fr; gap:14px; }
.principles .pn{ font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.1em; color:var(--wine); padding-top:6px; }
.principles--row .pn{ padding-top:0; }
.principles h4{ margin-bottom:6px; }
.principles p{ font-size:.96rem; }
/* wariant ciemny (Tweaks) */
:root[data-feature="dark"] .feature{ background:var(--ink); color:var(--paper); }
:root[data-feature="dark"] .feature .principles p{ color:#c9c4b9; }
:root[data-feature="dark"] .feature .h-xl{ color:var(--paper); }
:root[data-feature="dark"] .feature .principles--row li{ border-top-color:var(--paper); }

/* O MNIE teaser */
.om-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,5vw,84px); align-items:center; }
.om-photo{ margin:0; position:relative; } .om-photo .imgframe{ aspect-ratio:4/5; }
.om-copy .h-lg{ margin:.3em 0 .8em; }
/* edytorialny element nachodzący na zdjęcie */
.om-overlap{
  position:absolute; right:clamp(-24px,-2vw,-14px); bottom:clamp(28px,4vw,44px);
  background:var(--wine); color:#fff;
  font-family:var(--serif); font-size:clamp(1rem,1.4vw,1.28rem); line-height:1.25;
  padding:clamp(14px,1.6vw,20px) clamp(20px,2.2vw,28px); max-width:70%;
  box-shadow:0 16px 48px rgba(20,22,27,.22);
}
.om-overlap em{ font-style:italic; color:#e7d6d9; }

/* MEDIACJA — pas edytorialny (karta tekstu nachodzi na zdjęcie) */
.mediacja-band{ background:var(--paper-2); }
.med-edit{ display:grid; grid-template-columns:1.18fr .82fr; align-items:center; }
.med-edit-photo{ margin:0; }
.med-edit-photo .imgframe{ aspect-ratio:4/5; }
.med-edit-copy{
  background:var(--paper); padding:clamp(26px,3.2vw,50px);
  margin-left:clamp(-130px,-8vw,-60px); position:relative; z-index:2;
  box-shadow:0 44px 100px rgba(20,22,27,.20), 0 10px 26px rgba(20,22,27,.10);
}
.med-edit-copy .h-xl{ margin:.22em 0 .55em; }
.med-edit-copy .measure{ margin-bottom:1.4em; }

/* OPINIE */
.opinie{ background:var(--paper-2); }
.eyebrow.center{ text-align:center; }
.tcarousel{ max-width:880px; margin:34px auto 0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(12px,3vw,40px); }
.tstage{ position:relative; min-height:200px; display:grid; }
.tslide{ grid-area:1/1; margin:0; opacity:0; transform:translateY(10px); transition:opacity .6s var(--ease), transform .6s var(--ease); pointer-events:none; text-align:center; }
.tslide.on{ opacity:1; transform:none; pointer-events:auto; }
.tquote{ font-family:var(--serif); font-size:clamp(1.3rem,2.6vw,1.95rem); line-height:1.4; color:var(--ink); margin:0 0 22px; }
.tslide cite{ font-family:var(--sans); font-style:normal; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.tnav{ width:48px; height:48px; border:1px solid var(--line); background:transparent; cursor:pointer; font-size:18px; color:var(--ink); transition:.3s var(--ease); }
.tnav:hover{ background:var(--ink); color:var(--paper); }
.tdots{ grid-column:1/-1; display:flex; justify-content:center; gap:10px; margin-top:30px; }
.tdot{ width:8px; height:8px; border-radius:50%; border:1px solid var(--muted); background:transparent; cursor:pointer; padding:0; transition:.3s; }
.tdot.on{ background:var(--wine); border-color:var(--wine); }

/* =====================================================
   HERO COVER — duże zdjęcie + nałożony jasny kafelek
   ===================================================== */
.hero-cover{ position:relative; min-height:min(90vh,940px); display:flex; align-items:center; overflow:hidden; }
.hc-media{ position:absolute; top:0; bottom:0; right:0; width:66%; }
.hc-media img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.hc-inner{ position:relative; z-index:2; width:100%; }
.hc-card{
  background:var(--paper);
  max-width:min(480px,46%);
  padding:clamp(30px,3.4vw,52px);
  box-shadow:0 52px 120px rgba(20,22,27,.28), 0 12px 30px rgba(20,22,27,.12);
}
.hc-card .eyebrow{ margin-bottom:clamp(18px,2vw,26px); }
.hc-card .display{ font-size:clamp(2.1rem,4.4vw,4rem); line-height:1.0; margin:0 0 clamp(20px,2.4vw,30px); }
.hc-card .lead{ margin:0 0 clamp(26px,3vw,38px); max-width:40ch; }
.hc-actions{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

/* =====================================================
   W CZYM POMAGAM — duże nazwy, bez pionowych linii
   ===================================================== */
.help-head{ margin-bottom:clamp(30px,4vw,52px); }
.help-head .h-xl{ margin-top:.2em; }
.help-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); }
.help-item{
  display:block; position:relative;
  padding:clamp(28px,3.2vw,46px) 0;
  border-bottom:1px solid var(--line);
  transition:background .3s var(--ease);
}
.help-item:nth-child(odd){ padding-right:clamp(28px,4vw,72px); }
.help-item:nth-child(even){ padding-left:clamp(28px,4vw,72px); }
.help-item h3{ font-family:var(--serif); font-weight:400; font-size:clamp(1.5rem,2.5vw,2.15rem); line-height:1.1; margin:0 0 12px; transition:color .25s; }
.help-item p{ color:var(--muted); font-size:1rem; max-width:36ch; margin:0; }
.help-arrow{ position:absolute; top:clamp(30px,3.4vw,50px); right:0; color:var(--wine); font-size:1.2rem; opacity:0; transform:translateX(-8px); transition:.3s var(--ease); }
.help-item:nth-child(even) .help-arrow{ right:0; }
.help-item:hover h3{ color:var(--wine); }
.help-item:hover .help-arrow{ opacity:1; transform:translateX(0); }
.help-cta{ margin-top:clamp(34px,4vw,56px); }

/* karty z cyframi BEZ pionowych linii */
.practice.no-lines{ gap:clamp(34px,4vw,56px) clamp(28px,3vw,52px); }
.practice.no-lines .pcard{ border:0!important; padding:0!important; }
.practice.no-lines .pcard .pnum{ font-size:clamp(2rem,2.6vw,2.6rem); margin-bottom:18px; }
.practice.no-lines .pcard h3{ margin-bottom:14px; }
.practice.no-lines .pcard p{ color:var(--muted); }

@media (max-width:860px){
  .hero-cover{ display:block; min-height:0; }
  .hc-media{ position:relative; width:100%; height:clamp(340px,56vh,520px); }
  .hc-inner{ padding-top:0; }
  .hc-card{ max-width:none; margin-top:-64px; }
  .help-grid{ grid-template-columns:1fr; }
  .help-item{ padding-left:0!important; padding-right:0!important; }
  .help-arrow{ display:none; }
}

/* responsywność */
@media (max-width:1080px){
  .practice{ grid-template-columns:repeat(2,1fr); gap:40px 0; }
  .pcard{ padding:0 clamp(20px,3vw,34px); border-right:1px solid var(--line); }
  .pcard:nth-child(2n){ border-right:0; padding-right:0; }
  .pcard:nth-child(odd){ padding-left:0; }
  .pcard:nth-child(-n+2){ padding-bottom:38px; border-bottom:1px solid var(--line); }
  .pcard:nth-child(n+3){ padding-top:0; }
}
@media (max-width:860px){
  .hero-grid{ grid-template-columns:1fr; gap:36px; min-height:0; }
  .hero-photo{ order:-1; max-width:520px; }
  .om-grid{ grid-template-columns:1fr; gap:34px; }
  .om-photo{ max-width:520px; }
  .om-overlap{ right:auto; left:16px; bottom:16px; max-width:80%; }
  .med-edit{ grid-template-columns:1fr; }
  .med-edit-photo{ max-width:520px; }
  .med-edit-copy{ margin-left:0; margin-top:-48px; margin-right:clamp(20px,6vw,40px); box-shadow:0 14px 44px rgba(20,22,27,.12); }
  .principles--row{ grid-template-columns:1fr; gap:30px; }
  .tcarousel{ grid-template-columns:1fr; }
  .tnav{ display:none; }
}
@media (max-width:560px){
  .practice{ grid-template-columns:1fr; }
  .pcard{ padding:0!important; border-right:0!important; border-bottom:1px solid var(--line); padding-bottom:34px!important; }
  .pcard:last-child{ border-bottom:0; }
  .pcard:nth-child(-n+2){ padding-bottom:34px; }
}
