/* redesign.css: wspólny framework podstron yukata (skórki Claude Design 2026-07-11).
   Tokeny i fonty żyją w tokens.css. */
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
  body{ background:var(--paper); color:var(--ink); font-family:'Inter',system-ui,sans-serif; font-size:16px; line-height:1.5; }
  a{ color:var(--indigo); text-decoration:none; } a:hover{ color:var(--purple); }
  h1,h2,h3,h4{ font-family:'Spectral',Georgia,serif; font-weight:500; letter-spacing:-.01em; line-height:1.12; }
  .wrap{ max-width:1200px; margin:0 auto; padding:0 40px; }
  .s-near{ background:var(--near); } .s-paper{ background:var(--paper); } .s-sand{ background:var(--sand); } .s-kachi{ background:var(--kachi); }
  section{ padding:80px 0; }
  .kicker{ font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--beni); margin-bottom:16px; }
  .kicker.on-dark{ color:#C98B87; }
  .btn{ display:inline-flex; align-items:center; justify-content:center; font-family:'Inter',sans-serif; font-weight:600; font-size:.94rem; padding:11px 20px; border:1px solid var(--ink); background:none; color:var(--ink); cursor:pointer; transition:background .15s,color .15s,border-color .15s; white-space:nowrap; }
  .btn:hover{ background:var(--ink); color:var(--paper); }
  .btn--beni{ background:var(--beni); border-color:var(--beni); color:#fff; }
  .btn--beni:hover{ background:#98302c; border-color:#98302c; color:#fff; }
  .btn--ink{ background:var(--ink); border-color:var(--ink); color:#fff; }
  .btn--ink:hover{ background:#000; border-color:#000; color:#fff; }
  .btn-lg{ padding:15px 32px; font-size:1.02rem; }
  .link-arrow{ font-weight:600; display:inline-flex; align-items:center; gap:8px; } .link-arrow .arr{ transition:transform .15s; } .link-arrow:hover .arr{ transform:translateX(5px); }
  .link-arrow.beni{ color:var(--beni); }

  .hero h1{ font-size:3.4rem; line-height:1.04; max-width:18ch; }
  .hero h1 .dot{ color:var(--indigo); }
  .hero .sub{ font-family:'Spectral',serif; font-style:italic; font-size:1.25rem; color:var(--muted); margin-top:12px; }
  .hero .lead{ margin-top:20px; font-size:1.14rem; line-height:1.65; color:rgba(26,26,26,.78); max-width:62ch; }
  .hero .cta-row{ display:flex; align-items:center; gap:20px; margin-top:30px; flex-wrap:wrap; }
  .hero .cta-note{ font-size:.9rem; color:var(--muted); max-width:40ch; }
  .hero .subnote{ margin-top:16px; font-size:.94rem; color:var(--muted); }

  .infobar{ margin-top:34px; background:var(--white); border:1px solid var(--line); padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
  .infobar p{ font-size:.95rem; line-height:1.55; color:var(--ink); max-width:70ch; }
  .infobar .btn{ flex:none; }

  .sh{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:40px; }
  .sh__lead{ max-width:62ch; } .sh h2{ font-size:2.3rem; line-height:1.1; }
  .sh p{ margin-top:14px; font-size:1.08rem; line-height:1.6; color:rgba(26,26,26,.76); }
  .sh .cta{ flex:none; padding-bottom:6px; }

  .cols2{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
  .lead-lg{ font-size:1.12rem; line-height:1.65; color:rgba(26,26,26,.8); }
  .ulist{ list-style:none; display:flex; flex-direction:column; gap:16px; }
  .ulist li{ position:relative; padding-left:24px; font-size:1rem; line-height:1.55; }
  .ulist li::before{ content:""; position:absolute; left:0; top:11px; width:10px; height:1px; background:var(--indigo); }
  .ulist b{ font-weight:600; }
  .footnote{ font-size:.86rem; color:var(--muted); margin-top:22px; line-height:1.55; }

  .cards{ display:grid; gap:20px; align-items:stretch; }
  .cards > .stat, .cards > .card{ height:100%; box-sizing:border-box; }
  .cards.c2{ grid-template-columns:1fr 1fr; } .cards.c3{ grid-template-columns:repeat(3,1fr); }
  .card{ background:var(--white); border:1px solid var(--line); padding:28px; display:flex; flex-direction:column; }
  .card .ck{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
  .card .num{ font-family:var(--mono); font-size:1rem; color:var(--beni); font-weight:600; margin-bottom:14px; }
  .card h3{ font-size:1.28rem; font-weight:600; }
  .card p{ color:var(--muted); margin-top:9px; font-size:.95rem; line-height:1.55; }

  .stat{ background:var(--white); border:1px solid var(--line); padding:26px; display:flex; flex-direction:column; }
  .stat .big{ font-family:'Spectral',serif; font-size:2.7rem; color:var(--indigo); line-height:1; }
  .stat p{ font-size:.94rem; line-height:1.55; margin-top:12px; }
  .stat p b{ font-weight:600; }
  .stat .src{ font-family:var(--mono); font-size:.68rem; color:var(--muted); margin-top:auto; padding-top:16px; }

  .accent h2{ color:var(--paper); font-size:2.3rem; max-width:24ch; }
  .accent p{ color:rgba(247,243,235,.75); font-size:1.08rem; line-height:1.65; max-width:66ch; margin-top:18px; }

  .refs-viewport{ overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; -ms-overflow-style:none; scrollbar-width:none; margin-top:40px; }
  .refs-viewport::-webkit-scrollbar{ display:none; }
  .refs-track{ display:flex; gap:20px; align-items:stretch; }
  .ref{ border:1px solid rgba(247,243,235,.18); padding:32px; display:flex; flex-direction:column; scroll-snap-align:start; flex:0 0 calc(50% - 10px); }
  .ref__top{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
  .ref__photo{ width:64px; height:64px; object-fit:cover; filter:grayscale(1); flex:none; background:rgba(247,243,235,.08); }
  .ref__nm{ font-family:'Spectral',serif; font-size:1.15rem; font-weight:500; color:var(--paper); }
  .ref__role{ font-size:.86rem; color:rgba(247,243,235,.6); margin-top:3px; }
  .ref__q{ position:relative; padding-top:18px; font-family:'Spectral',serif; font-size:1.06rem; line-height:1.6; color:var(--paper); }
  .ref__q::before{ content:""; position:absolute; top:0; left:0; width:38px; height:2px; background:var(--beni); }
  .ref__badge{ margin-top:auto; padding-top:18px; font-size:.78rem; color:rgba(247,243,235,.55); }
  .refs-nav{ display:flex; gap:12px; margin-top:26px; }
  .refs-nav button{ width:48px; height:48px; border:1px solid rgba(247,243,235,.28); background:transparent; color:var(--paper); font-size:1.25rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s,border-color .15s; }
  .refs-nav button:hover{ background:var(--beni); border-color:var(--beni); }
  .refs-join{ margin-top:26px; }
  .refs-join a{ color:#E0A19D; font-weight:600; }

  .pricebox{ background:var(--white); border:1px solid var(--line); padding:36px 34px; max-width:560px; }
  .pricebox .badge{ display:inline-block; font-family:var(--mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:var(--beni); padding:5px 10px; margin-bottom:16px; }
  .pricebox h3{ font-size:1.5rem; font-weight:600; }
  .pricebox .desc{ color:rgba(26,26,26,.78); margin-top:12px; font-size:.98rem; line-height:1.6; }
  .pricebox .small{ font-size:.84rem; color:var(--muted); margin-top:12px; line-height:1.5; }
  .pricebox .amt{ font-family:var(--mono); font-size:2.2rem; color:var(--beni); font-weight:500; line-height:1; margin-top:20px; }
  .pricebox .amt small{ font-size:.86rem; color:var(--muted); font-weight:400; margin-left:6px; }
  .pricebox .btn{ margin-top:22px; }

  .edrow{ background:var(--white); border:1px solid var(--line); padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:26px; }
  .edrow .en{ font-family:'Spectral',serif; font-style:italic; font-size:1.1rem; color:var(--indigo); }
  .edrow .em{ font-size:.94rem; color:var(--ink); }
  .edrow .st{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--beni); }

  .ebar-card{ background:var(--white); border:1px solid var(--line); padding:30px 32px; max-width:560px; }
  .ebar-card h3{ font-size:1.35rem; font-weight:600; }
  .ebar-card p{ color:var(--muted); font-size:.95rem; margin-top:10px; line-height:1.55; }
  .ebar{ display:flex; gap:12px; margin-top:20px; }
  .ebar .input{ flex:1; } .ebar .btn{ flex:none; }
  .input{ width:100%; font-family:'Inter',sans-serif; font-size:1rem; color:var(--ink); background:var(--near); border:1px solid var(--line); padding:13px 15px; outline:none; transition:border-color .15s; }
  .input:focus{ border-color:var(--indigo); }
  textarea.input{ min-height:120px; resize:vertical; }
  .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; }
  .formcard{ background:var(--white); border:1px solid var(--line); padding:36px 34px; max-width:620px; }
  .field{ margin-top:18px; } .field:first-child{ margin-top:0; }
  .grid2 > .field{ min-width:0; margin-top:0; }
  .formcard input.input{ display:block; height:48px; }
  .field label{ display:block; font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:9px; }

  .final{ text-align:center; }
  .final h2{ font-size:2.3rem; line-height:1.12; max-width:24ch; margin:0 auto; }
  .final .btn{ margin-top:28px; }

@media (max-width: 960px){
    .wrap{ padding:0 22px; } section{ padding:56px 0; }
    .hero h1{ font-size:2.3rem; } .hero .lead{ font-size:1.05rem; }
    .sh{ flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:28px; } .sh h2{ font-size:1.8rem; }
    .cols2{ grid-template-columns:1fr; gap:26px; }
    .cards.c2,.cards.c3{ grid-template-columns:1fr; }
    .grid2{ grid-template-columns:1fr; }
    .accent h2{ font-size:1.8rem; } .final h2{ font-size:1.8rem; }
    .infobar{ flex-direction:column; align-items:flex-start; }
    .ref{ flex:0 0 84vw; }
    .ebar{ flex-direction:column; } .ebar .btn{ width:100%; }
    .edrow{ flex-direction:column; align-items:flex-start; gap:8px; }
    .btn-lg{ width:100%; }
  }

  /* ── dodatki serwisowe (redesign 2026-07-11) ── */
  .btn--indigo{ background:var(--indigo); border-color:var(--indigo); color:#fff; }
  .btn--indigo:hover{ background:var(--purple); border-color:var(--purple); color:#fff; }
