:root{
    --lav:#F5F2FC; --lav-2:#EAE4F9; --navy:#16265C; --ink:#2A2F45; --muted:#6B7185;
    --accent:#5B4BE0; --white:#fff; --radius:26px;
    --shadow:0 18px 40px rgba(22,38,92,.10);
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--lav);color:var(--ink);
       font-family:-apple-system,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
       font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3{color:var(--navy);margin:0;letter-spacing:-.02em;line-height:1.05}
  h1{font-size:clamp(38px,5.2vw,68px);font-weight:700}
  h2{font-size:clamp(28px,3.2vw,44px);font-weight:700}
  h3{font-size:20px;font-weight:650}
  em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;
       font-weight:600;font-size:16px;transition:.2s;border:1px solid transparent}
  .btn-primary{background:var(--navy);color:#fff}
  .btn-primary:hover{background:#0E1B45;transform:translateY(-1px)}
  .btn-ghost{background:#fff;color:var(--navy);border-color:#DAD3F0}
  .btn-ghost:hover{border-color:var(--navy)}
  .chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #E3DCF5;
        color:var(--navy);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
        padding:8px 14px;border-radius:999px}

  /* NAV */
  header.dp-header{position:sticky;top:0;z-index:20;background:rgba(245,242,252,.86);backdrop-filter:blur(14px);
         border-bottom:1px solid #E7E1F6}
  .nav{display:flex;align-items:center;justify-content:space-between;min-height:96px}
  .logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--navy);font-size:21px;letter-spacing:-.02em}
  .logo img{height:66px;width:auto;display:block}
  .logo .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#8F7BFF)}
  .menu{display:flex;gap:4px;align-items:center}
  .menu a{padding:9px 15px;border-radius:999px;font-size:15.5px;font-weight:550;color:#3B4160}
  .menu a:hover{background:#fff}
  .menu a.active{background:#fff;box-shadow:0 4px 14px rgba(22,38,92,.07);color:var(--navy)}
  .nav-cta{display:flex;align-items:center;gap:10px}

  /* HERO */
  .hero{position:relative;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:44px 0 6px}
  .hero p.lead{font-size:19px;color:#4A5069;max-width:520px;margin:20px 0 28px}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
  .hero-note{margin-top:18px;font-size:14.5px;color:var(--muted)}
  .hero-art{position:relative;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);
            background:url("hero.jpg") center/cover no-repeat, linear-gradient(160deg,#CFC3F7 0%,#E9E2FB 45%,#F7F4FE 100%);aspect-ratio:4/3.35;
            display:flex;align-items:center;justify-content:center}
  .hero-art .ph{position:absolute;inset:auto 18px 18px auto;background:rgba(255,255,255,.9);color:#4A4480;
                font-size:12.5px;padding:8px 12px;border-radius:12px}
  .hero-art .badge{position:absolute;left:18px;top:18px;background:#fff;border-radius:16px;padding:10px 14px;
                   font-size:13px;font-weight:600;color:var(--navy);box-shadow:0 8px 20px rgba(22,38,92,.12)}

  /* TRUST */
  .trust{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin:8px 0 0;
         display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
  .trust div{padding:24px 22px;border-right:1px solid #EFEAFB}
  .trust div:last-child{border-right:0}
  .trust b{display:block;color:var(--navy);font-size:22px;letter-spacing:-.02em}
  .trust span{font-size:14px;color:var(--muted)}

  /* SECTIONS */
  section{padding:62px 0}
  .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}
  .sec-head p{color:var(--muted);margin:12px 0 0;max-width:560px}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .card{background:#fff;border-radius:22px;padding:26px 24px;box-shadow:0 10px 26px rgba(22,38,92,.06);
        border:1px solid #EFEAFB;transition:.22s}
  .card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
  .ico{width:46px;height:46px;border-radius:14px;background:var(--lav-2);display:flex;align-items:center;
       justify-content:center;margin-bottom:16px;color:var(--accent)}
  .card p{margin:10px 0 0;font-size:15.5px;color:#565C73}
  .card .more{display:inline-block;margin-top:16px;font-size:14.5px;font-weight:650;color:var(--accent)}

  /* WHY */
  .why{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}
  .why-art{border-radius:28px;background:url("poczekalnia.jpg") center/cover no-repeat;aspect-ratio:4/3;
           box-shadow:var(--shadow);position:relative;display:flex;align-items:center;justify-content:center}
  .why-art .ph{position:absolute;right:16px;bottom:16px;background:#fff;border-radius:12px;padding:8px 12px;
               font-size:12.5px;color:#4A4480}
  .why ul{list-style:none;padding:0;margin:22px 0 0}
  .why li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #E7E1F6}
  .why li:last-child{border-bottom:0}
  .why li b{display:block;color:var(--navy);font-size:17px}
  .why li span{font-size:15.5px;color:#565C73}
  .dot{width:34px;height:34px;border-radius:50%;background:#fff;display:flex;align-items:center;
       justify-content:center;color:var(--accent);flex:0 0 34px;box-shadow:0 6px 14px rgba(22,38,92,.08)}

  /* PRICE */
  .price-wrap{background:#fff;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
  .price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px 28px;border-bottom:1px solid #F1EDFB}
  .price-row:last-child{border-bottom:0}
  .price-row b{font-weight:600;color:var(--navy)}
  .price-row span{color:var(--accent);font-weight:700;white-space:nowrap}
  .price-foot{padding:20px 28px;background:var(--lav);display:flex;justify-content:space-between;
              align-items:center;gap:18px;flex-wrap:wrap;font-size:15px;color:#4A5069}

  /* REVIEWS */
  .quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .quote{background:#fff;border-radius:24px;padding:30px;box-shadow:0 10px 26px rgba(22,38,92,.06)}
  .quote p{font-size:18px;color:#2F3550;margin:0 0 18px}
  .quote .who{font-size:14px;color:var(--muted)}
  .stars{color:#F0A94B;letter-spacing:2px;margin-bottom:14px}

  /* CONTACT */
  .contact{background:linear-gradient(rgba(22,38,92,.94),rgba(22,38,92,.94)), url("cta.jpg") center/cover no-repeat;color:#fff;border-radius:34px;padding:52px;display:grid;
           grid-template-columns:1.1fr .9fr;gap:40px}
  .contact h2{color:#fff}
  .contact p{color:#C9CEE8}
  .places{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}
  .place{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px}
  .place b{display:block;font-size:16.5px;margin-bottom:6px}
  .place span{font-size:14.5px;color:#C9CEE8;display:block}
  .phone-big{display:block;font-size:26px;font-weight:700;color:#fff;margin-top:12px;letter-spacing:-.01em}
  .maps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
  .maps iframe{width:100%;height:300px;border:0;border-radius:20px}
  .contact--full{grid-template-columns:1fr}
  .map{border-radius:22px;background:linear-gradient(160deg,#25356F,#33447F);border:1px solid rgba(255,255,255,.14);
       min-height:260px;display:flex;align-items:center;justify-content:center;color:#AEB7DC;font-size:14px}

  footer.dp-footer{padding:40px 0 60px;color:var(--muted);font-size:14px}
  .foot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid #E1DAF3;padding-top:22px}

  @media (max-width:980px){
    .logo img{height:54px}
    .nav{min-height:82px}
    .hero-grid,.why,.contact,.quotes{grid-template-columns:1fr}
    .cards{grid-template-columns:1fr 1fr}
    .trust{grid-template-columns:1fr 1fr}
    .menu{display:none}
  }
  @media (max-width:620px){
    .cards,.trust,.places{grid-template-columns:1fr}
    .contact{padding:32px}
  }

  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .gallery img{width:100%;height:260px;object-fit:cover;border-radius:22px;display:block}
  @media (max-width:900px){.gallery{grid-template-columns:1fr}}

  .gallery.gallery--two{grid-template-columns:1fr 1fr}
  .gallery--two img{height:340px}
  @media (max-width:900px){.gallery.gallery--two{grid-template-columns:1fr}.gallery--two img{height:240px}}

  .quotes.quotes--three{grid-template-columns:repeat(3,1fr)}
  .quotes--three .quote p{font-size:17px}
  @media (max-width:1000px){.quotes.quotes--three{grid-template-columns:1fr}}

  /* ---------- podstrony ---------- */
  .page-hero{padding:52px 0 8px}
  .page-hero h1{font-size:clamp(32px,4.4vw,54px)}
  .page-hero .lead{max-width:640px}
  .page-body{padding:26px 0 64px}
  .page-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}
  .prose{background:#fff;border-radius:24px;padding:34px 36px;box-shadow:0 12px 30px rgba(22,38,92,.06);border:1px solid #EFEAFB}
  .prose h2,.prose h3{color:var(--navy);margin:28px 0 10px;font-size:22px;letter-spacing:-.01em}
  .prose h3:first-child{margin-top:0}
  .prose h4{color:var(--navy);margin:20px 0 8px;font-size:17px}
  .prose p{margin:0 0 14px;color:#3A4058}
  .prose ul{margin:0 0 18px;padding-left:20px}
  .prose li{margin-bottom:6px;color:#3A4058}
  .prose blockquote{border-left:3px solid var(--accent);margin:0 0 18px;padding:6px 0 6px 18px;color:#565C73;font-style:italic}
  .prose strong{color:var(--navy)}
  .prose a{color:var(--accent);text-decoration:underline}

  .prose .table{list-style:none;padding:0;margin:0 0 8px}
  .prose .table li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
    padding:11px 0;border-bottom:1px solid #F2EEFB;margin:0}
  .prose .table li:last-child{border-bottom:0}
  .prose .table .left{margin:0;color:#3A4058}
  .prose .table .right{margin:0;color:var(--accent);font-weight:700;white-space:nowrap}

  .page-aside{position:sticky;top:110px}
  .aside-card{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:0 10px 26px rgba(22,38,92,.06);
    border:1px solid #EFEAFB;margin-bottom:16px}
  .aside-card b{display:block;color:var(--navy);margin-bottom:8px;font-size:16.5px}
  .aside-card p{color:#565C73;font-size:14.8px;margin:0 0 10px}
  .aside-phone{display:block;font-weight:700;color:var(--navy);font-size:17px;padding:5px 0}
  .aside-phone:hover{color:var(--accent)}
  .aside-card--soft{background:#EFEAFB;box-shadow:none;border-color:#E3DCF5}

  .services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .services-grid > div{background:#fff;border-radius:22px;padding:26px 26px 22px;border:1px solid #EFEAFB;
    box-shadow:0 10px 26px rgba(22,38,92,.06)}
  .services-grid > div > strong, .services-grid > div > h3{display:block;color:var(--navy);font-size:21px;margin:0 0 8px}
  .service-box{background:#fff;border-radius:22px;padding:26px 26px 22px;border:1px solid #EFEAFB;
    box-shadow:0 10px 26px rgba(22,38,92,.06)}
  .service-box h3{color:var(--navy);font-size:21px;margin:0 0 10px}
  .service-box p{margin:0;color:#565C73;font-size:15.5px}
  .service-box ul{margin:12px 0 0;padding-left:18px}
  .service-box li{color:#565C73;font-size:15px;margin-bottom:5px}
  .services-cta{margin-top:24px;background:var(--navy);color:#fff;border-radius:24px;padding:26px 30px;
    display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
  .services-cta b{display:block;font-size:19px;color:#fff}
  .services-cta span{color:#C9CEE8;font-size:15px}
  .services-cta-actions{display:flex;gap:10px;flex-wrap:wrap}

  .places--wide{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
  .place--light{background:#fff;border:1px solid #EFEAFB;border-radius:22px;padding:26px;
    box-shadow:0 10px 26px rgba(22,38,92,.06)}
  .place--light b{display:block;color:var(--navy);font-size:17px;margin-bottom:6px}
  .place--light span{display:block;color:#565C73;font-size:15px}
  .place-map{display:inline-block;margin:10px 0 0;color:var(--accent);font-size:14.5px;font-weight:650}
  .place-label{display:block;margin-top:14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9AA3C7}
  .phone-big--dark{color:var(--navy);font-size:26px;font-weight:700;display:block;margin-top:4px}
  .contact-note{background:#fff;border-radius:18px;padding:18px 22px;color:#565C73;font-size:15px;
    box-shadow:0 8px 20px rgba(22,38,92,.05);border:1px solid #EFEAFB}
  .contact-note a{color:var(--accent);font-weight:600}
  .contact-note span{margin:0 8px;color:#B9BFD2}

  @media (max-width:1000px){
    .page-grid{grid-template-columns:1fr}
    .page-aside{position:static}
    .services-grid{grid-template-columns:1fr}
    .places--wide{grid-template-columns:1fr}
  }

  /* Usługi: karty w siatce, pozostała treść na pełną szerokość */
  .prose.services-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;background:transparent;
    border:0;box-shadow:none;padding:0}
  .prose.services-wrap > *{grid-column:1 / -1}
  .prose.services-wrap > .service-box{grid-column:auto;background:#fff;border:1px solid #EFEAFB;border-radius:22px;
    padding:24px 26px;box-shadow:0 10px 26px rgba(22,38,92,.06);margin:0}
  .prose.services-wrap > .service-box h3{margin-top:0}
  .prose.services-wrap > p{margin:6px 0 0;color:#3A4058}
  .prose.services-wrap > ul{padding-left:20px;columns:2;column-gap:36px;margin:10px 0 0}
  @media (max-width:1000px){.prose.services-wrap{grid-template-columns:1fr}.prose.services-wrap > ul{columns:1}}

  /* ---------- formularz kontaktowy ---------- */
  .contact-form-card{background:#fff;border:1px solid #EFEAFB;border-radius:24px;padding:32px 34px;margin-top:20px;
    box-shadow:0 12px 30px rgba(22,38,92,.06)}
  .contact-form-card h2{margin:0 0 10px;font-size:26px}
  .contact-form-card .form-lead{color:#565C73;font-size:15.5px;margin:0 0 22px;max-width:640px}
  .contact-form-card .form-lead b{color:var(--navy)}
  .wpcf7 form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
  .wpcf7 p{margin:0}
  .wpcf7 label{display:block;font-size:14px;color:#565C73;font-weight:600}
  .wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{
    width:100%;margin-top:6px;padding:13px 16px;border:1px solid #E3DCF5;border-radius:14px;background:#FCFBFF;
    font:inherit;font-size:15.5px;color:#2A2F45;transition:.15s}
  .wpcf7 input:focus,.wpcf7 textarea:focus{outline:0;border-color:var(--accent);background:#fff;
    box-shadow:0 0 0 3px rgba(91,75,224,.12)}
  .wpcf7 textarea{min-height:130px;resize:vertical}
  .wpcf7 .wpcf7-textarea,.wpcf7 .wpcf7-submit,.wpcf7 .wpcf7-response-output{grid-column:1 / -1}
    .wpcf7 p:has(textarea){grid-column:1 / -1}
  .wpcf7 p:has(input[type=submit]){grid-column:1 / -1;margin-top:4px}
  .wpcf7 p:has(.wpcf7-not-valid-tip){grid-column:1 / -1}
  .wpcf7 input[type=submit]{background:var(--navy);color:#fff;border:0;border-radius:999px;padding:15px 30px;
    font-weight:650;font-size:16px;cursor:pointer;justify-self:start;transition:.18s}
  .wpcf7 input[type=submit]:hover{background:#0E1B45;transform:translateY(-1px)}
  .wpcf7 .wpcf7-response-output{border-radius:14px;border:1px solid #E3DCF5;padding:12px 16px;font-size:14.5px}
  .wpcf7-spinner{margin-left:10px}
  @media (max-width:700px){.wpcf7 form{grid-template-columns:1fr}}

  .page-figure{margin:0 0 26px}
  .page-figure img{width:100%;height:auto;border-radius:18px;display:block}
