:root{
      --bg:#f7f9fc;
      --surface:#ffffff;
      --surface-2:#eef4ff;
      --text:#172033;
      --muted:#667085;
      --primary:#3157e5;
      --primary-dark:#213bb2;
      --accent:#26b99a;
      --line:#dce3ef;
      --shadow:0 18px 50px rgba(28, 47, 95, .10);
      --radius:22px;
      --radius-sm:14px;
      --max:1160px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:var(--bg);
      color:var(--text);
      line-height:1.6;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea{font:inherit}

    .container{
      width:min(var(--max), calc(100% - 40px));
      margin:0 auto;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:40;
      backdrop-filter:blur(14px);
      background:rgba(247,249,252,.86);
      border-bottom:1px solid rgba(220,227,239,.85);
    }

    .nav{
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      font-weight:800;
      letter-spacing:-.02em;
    }

    .brand-logo{
      width:68px;
      height:58px;
      object-fit:contain;
      display:block;
      flex:0 0 auto;
    }

    .nav-links{
      display:flex;
      align-items:center;
      gap:22px;
      font-size:.96rem;
      color:#44506a;
    }
    .nav-links a:hover{color:var(--primary)}

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:48px;
      padding:0 20px;
      border-radius:14px;
      border:1px solid transparent;
      font-weight:800;
      transition:.2s ease;
      cursor:pointer;
    }

    .btn-primary{
      background:var(--primary);
      color:#fff;
      box-shadow:0 12px 26px rgba(49,87,229,.22);
    }
    .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}

    .btn-secondary{
      background:#fff;
      border-color:var(--line);
      color:var(--text);
    }
    .btn-secondary:hover{border-color:#b8c5db;transform:translateY(-1px)}

    .hero{
      padding:74px 0 48px;
      overflow:hidden;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:48px;
      align-items:center;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:#e9efff;
      color:var(--primary);
      padding:7px 12px;
      border-radius:999px;
      font-weight:800;
      font-size:.9rem;
      margin-bottom:18px;
    }

    h1{
      margin:0;
      font-size:clamp(2.55rem, 5vw, 4.8rem);
      line-height:.98;
      letter-spacing:-.055em;
      max-width:820px;
    }

    .hero p{
      font-size:1.13rem;
      color:var(--muted);
      max-width:680px;
      margin:24px 0 28px;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-bottom:30px;
    }

    .hero-stats{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
    }

    .stat{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:16px;
      padding:14px 17px;
      min-width:150px;
    }
    .stat strong{
      display:block;
      font-size:1.25rem;
      line-height:1.1;
    }
    .stat span{
      font-size:.88rem;
      color:var(--muted);
    }

    .visual-card{
      background:linear-gradient(160deg,#ffffff 0%,#eef3ff 100%);
      border:1px solid var(--line);
      padding:18px;
      border-radius:30px;
      box-shadow:var(--shadow);
      position:relative;
    }

    .photo-placeholder{
      min-height:520px;
      border:2px dashed #9fb0cf;
      border-radius:23px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding:38px;
      background:
        radial-gradient(circle at top right, rgba(49,87,229,.12), transparent 32%),
        linear-gradient(145deg,#f8fbff,#eef3fa);
      color:#52617a;
    }

    .photo-placeholder .icon{
      width:72px;height:72px;border-radius:20px;
      display:grid;place-items:center;
      background:#fff;
      border:1px solid var(--line);
      font-size:34px;
      margin-bottom:18px;
      box-shadow:0 10px 24px rgba(54,80,130,.08);
    }

    .photo-placeholder strong{
      color:var(--text);
      font-size:1.14rem;
      margin-bottom:6px;
    }

    section{padding:84px 0}

    .section-head{
      max-width:720px;
      margin-bottom:34px;
    }

    .section-head .kicker{
      color:var(--primary);
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-size:.8rem;
    }

    h2{
      font-size:clamp(2rem,4vw,3.2rem);
      line-height:1.05;
      letter-spacing:-.045em;
      margin:8px 0 13px;
    }

    .section-head p{color:var(--muted);margin:0;font-size:1.03rem}

    .cards{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }

    .card{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:26px;
      box-shadow:0 10px 32px rgba(21,39,82,.05);
    }

    .card-icon{
      width:48px;height:48px;border-radius:14px;
      display:grid;place-items:center;
      background:#eef3ff;
      color:var(--primary);
      font-size:22px;
      margin-bottom:18px;
    }
    .card h3{margin:0 0 8px;font-size:1.2rem}
    .card p{margin:0;color:var(--muted)}

    .split{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:26px;
      align-items:stretch;
    }

    .about-panel{
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:32px;
    }

    .checklist{
      list-style:none;
      padding:0;
      margin:22px 0 0;
      display:grid;
      gap:12px;
    }

    .checklist li{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }

    .check{
      flex:0 0 26px;
      width:26px;height:26px;border-radius:50%;
      display:grid;place-items:center;
      background:#e8f8f4;
      color:#13866e;
      font-weight:900;
    }

    .mini-placeholder{
      border:2px dashed #a8b7cf;
      min-height:390px;
      border-radius:var(--radius);
      display:grid;
      place-items:center;
      padding:32px;
      text-align:center;
      color:#5b6880;
      background:linear-gradient(145deg,#f7faff,#edf2f8);
    }

    .offer-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .offer{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:22px;
    }
    .offer strong{display:block;font-size:1.05rem;margin-bottom:6px}
    .offer span{color:var(--muted);font-size:.94rem}

    .pricing{
      background:linear-gradient(135deg,#203aa8,#3157e5 55%,#4a70f0);
      color:white;
      border-radius:30px;
      padding:40px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:24px;
      align-items:center;
      box-shadow:0 18px 52px rgba(49,87,229,.22);
    }
    .pricing h2{margin-top:0}
    .pricing p{color:#dce5ff;max-width:680px}
    .price-box{
      background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.22);
      border-radius:22px;
      padding:26px 32px;
      min-width:235px;
      text-align:center;
    }
    .price-box .price{font-size:2.8rem;font-weight:900;line-height:1}
    .price-box .unit{color:#dce5ff;margin-top:8px}

    .process{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
      counter-reset:steps;
    }
    .step{
      position:relative;
      background:var(--surface);
      border:1px solid var(--line);
      border-radius:20px;
      padding:24px;
    }
    .step::before{
      counter-increment:steps;
      content:counter(steps);
      width:36px;height:36px;
      border-radius:11px;
      background:#e9efff;
      color:var(--primary);
      font-weight:900;
      display:grid;place-items:center;
      margin-bottom:16px;
    }
    .step strong{display:block;margin-bottom:6px}
    .step span{color:var(--muted);font-size:.94rem}

    .testimonials{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .quote{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:24px;
    }
    .quote p{margin-top:0;color:#3f4b61}
    .quote footer{color:var(--muted);font-size:.9rem}

    .contact{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:26px;
      align-items:start;
    }

    .contact-info{
      background:#172033;
      color:white;
      border-radius:26px;
      padding:32px;
      min-height:100%;
    }
    .contact-info p{color:#c6cfdd}
    .contact-lines{
      margin-top:24px;
      display:grid;
      gap:12px;
    }
    .contact-line{
      padding:14px 16px;
      border-radius:14px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.08);
    }
    .contact-line small{display:block;color:#aeb9ca;margin-bottom:3px}

    form{
      background:#fff;
      border:1px solid var(--line);
      border-radius:26px;
      padding:28px;
    }

    .field{display:grid;gap:7px;margin-bottom:14px}
    label{font-weight:800;font-size:.92rem}
    input,textarea,select{
      width:100%;
      border:1px solid #ccd6e5;
      border-radius:12px;
      padding:13px 14px;
      background:#fbfcfe;
      color:var(--text);
      outline:none;
    }
    input:focus,textarea:focus,select:focus{
      border-color:var(--primary);
      box-shadow:0 0 0 3px rgba(49,87,229,.10);
    }
    textarea{min-height:120px;resize:vertical}
    .form-note{font-size:.82rem;color:var(--muted);margin-top:12px}

    .faq{
      display:grid;
      gap:12px;
    }
    details{
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      padding:17px 19px;
    }
    summary{
      cursor:pointer;
      font-weight:800;
    }
    details p{color:var(--muted);margin-bottom:0}

    footer.site-footer{
      padding:34px 0 46px;
      border-top:1px solid var(--line);
      color:var(--muted);
      font-size:.93rem;
    }
    .footer-row{
      display:flex;
      justify-content:space-between;
      gap:20px;
      flex-wrap:wrap;
    }

    .mobile-toggle{display:none}

    @media (max-width: 920px){
      .hero-grid,.split,.contact{grid-template-columns:1fr}
      .cards,.testimonials,.audience-grid,.metric-grid,.diploma-grid,.review-grid{grid-template-columns:1fr 1fr}
      .offer-grid,.process,.video-preview,.achievement-wrap{grid-template-columns:1fr 1fr}
      .photo-placeholder{min-height:410px}
      .pricing{grid-template-columns:1fr}
      .price-box{text-align:left;min-width:0}
      .nav-links{
        position:absolute;
        left:20px;right:20px;top:68px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        background:white;
        border:1px solid var(--line);
        border-radius:18px;
        padding:16px;
        box-shadow:var(--shadow);
      }
      .nav-links.open{display:flex}
      .mobile-toggle{
        display:inline-grid;
        place-items:center;
        width:44px;height:44px;
        border-radius:12px;
        border:1px solid var(--line);
        background:#fff;
        cursor:pointer;
      }
      .nav .desktop-cta{display:none}
    }

    @media (max-width: 620px){
      .container{width:min(100% - 28px,var(--max))}
      .hero{padding-top:44px}
      section{padding:64px 0}
      .cards,.testimonials,.offer-grid,.process,.audience-grid,.metric-grid,.diploma-grid,.video-preview,.achievement-wrap,.review-grid{grid-template-columns:1fr}
      .hero-stats{display:grid;grid-template-columns:1fr 1fr}
      .stat{min-width:0}
      .pricing{padding:28px}
      h1{font-size:2.7rem}
    }


    .audience-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .audience-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:22px;
      box-shadow:0 8px 24px rgba(21,39,82,.05);
    }
    .audience-card strong{display:block;margin-bottom:8px;font-size:1.02rem}
    .audience-card p{margin:0;color:var(--muted);font-size:.94rem}

    .achievement-wrap{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:26px;
      align-items:start;
    }
    .metric-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
      margin:22px 0 28px;
    }
    .metric{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:20px;
      box-shadow:0 8px 24px rgba(21,39,82,.05);
    }
    .metric strong{display:block;font-size:1.8rem;line-height:1.05;margin-bottom:6px}
    .metric span{color:var(--muted);font-size:.92rem}
    .award-caption{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:18px;
      margin-top:14px;
      color:var(--muted);
      font-size:.94rem;
    }
    .diploma-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }
    .diploma-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:20px;
      padding:14px;
      box-shadow:0 8px 24px rgba(21,39,82,.05);
    }
    .diploma-card img{
      width:100%;
      border-radius:12px;
      border:1px solid var(--line);
      display:block;
      margin-bottom:12px;
    }
    .diploma-card strong{display:block;margin-bottom:6px}
    .diploma-card span{display:block;color:var(--muted);font-size:.92rem}

    .video-preview{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:26px;
      align-items:center;
    }
    .video-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:24px;
      padding:18px;
      box-shadow:0 10px 28px rgba(21,39,82,.08);
    }
    .video-card img{width:100%;border-radius:16px;border:1px solid var(--line);display:block}

    .floating-cta{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:55;
      background:var(--primary);
      color:#fff;
      padding:14px 18px;
      border-radius:999px;
      box-shadow:0 16px 32px rgba(49,87,229,.28);
      font-weight:800;
      border:1px solid rgba(255,255,255,.2);
    }
    .floating-cta:hover{background:var(--primary-dark)}




    .review-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:18px;
    }
    .review-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      padding:18px;
      box-shadow:0 10px 28px rgba(21,39,82,.06);
      display:flex;
      flex-direction:column;
      gap:14px;
    }
    .review-card img{
      width:100%;
      display:block;
      border-radius:16px;
      border:1px solid var(--line);
      background:#f8fafc;
    }
    .review-meta{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      align-items:center;
    }
    .review-badge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:7px 11px;
      border-radius:999px;
      background:#e9efff;
      color:var(--primary);
      font-weight:800;
      font-size:.84rem;
    }
    .review-card h3{
      margin:0;
      font-size:1.15rem;
    }
    .review-card p{
      margin:0;
      color:var(--muted);
    }
    .review-quote{
      padding:14px 16px;
      border-radius:16px;
      background:#f7f9fd;
      color:#354155;
      font-style:italic;
      border:1px solid #e6ebf4;
    }

    .reviews-carousel{
      margin-top:10px;
    }
    .reviews-controls{
      display:flex;
      justify-content:flex-end;
      align-items:center;
      gap:12px;
      margin-bottom:18px;
    }
    .review-arrow{
      width:48px;
      height:48px;
      border-radius:50%;
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      font-size:1.35rem;
      font-weight:900;
      cursor:pointer;
      box-shadow:0 8px 22px rgba(21,39,82,.06);
      transition:.2s ease;
    }
    .review-arrow:hover{border-color:#b8c5db; transform:translateY(-1px)}
    .review-arrow:disabled{opacity:.45; cursor:not-allowed; transform:none}
    .reviews-status{
      min-width:64px;
      text-align:center;
      font-weight:800;
      color:var(--muted);
    }
    .reviews-viewport{
      overflow:hidden;
    }
    .review-track{
      display:flex;
      gap:18px;
      transition:transform .35s ease;
      will-change:transform;
      align-items:stretch;
    }
    .review-track .review-card{
      flex:0 0 100%;
      margin:0;
    }



    .contact-link{
      color:#fff;
      text-decoration:none;
      border-bottom:1px solid rgba(255,255,255,.28);
      transition:.2s ease;
    }
    .contact-link:hover{
      color:#fff;
      border-bottom-color:#fff;
      opacity:.88;
    }

  

    .results-strip{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:12px;
      margin:0 0 26px;
    }
    .result-pill{
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      padding:18px 16px;
      text-align:center;
      box-shadow:0 8px 22px rgba(21,39,82,.05);
    }
    .result-pill strong{display:block;font-size:1.55rem;line-height:1.05;color:var(--primary)}
    .result-pill span{display:block;color:var(--muted);font-size:.86rem;margin-top:6px}
    
    .materials-combined{
      display:grid;
      grid-template-columns:.9fr 1.1fr;
      gap:26px;
      align-items:start;
    }
    .materials-copy{position:sticky;top:100px}
    .materials-media{display:grid;gap:16px}
    .media-card{
      margin:0;
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      padding:14px;
      box-shadow:0 10px 28px rgba(21,39,82,.06);
    }
    .media-card img{width:100%;display:block;border-radius:14px;border:1px solid var(--line)}
    .media-card figcaption{color:var(--muted);font-size:.9rem;margin-top:10px;text-align:center}

    .final-cta{
      background:linear-gradient(135deg,#172e84,#3157e5 62%,#5678ef);
      color:#fff;
      border-radius:30px;
      padding:38px;
      display:grid;
      grid-template-columns:1fr auto;
      gap:26px;
      align-items:center;
      box-shadow:0 18px 52px rgba(49,87,229,.22);
    }
    .final-cta h2{margin:8px 0 12px}
    .final-cta p{margin:0;color:#dfe6ff;max-width:720px}
    .final-cta-actions{display:flex;flex-direction:column;gap:10px;min-width:230px}

    @media (max-width: 920px){
      .results-strip{grid-template-columns:repeat(2,1fr)}
      .materials-combined{grid-template-columns:1fr}
      .materials-copy{position:static}
      .final-cta{grid-template-columns:1fr}
      .final-cta-actions{flex-direction:row;flex-wrap:wrap;min-width:0}
    }
    @media (max-width: 620px){
      .results-strip{grid-template-columns:1fr 1fr}
      .final-cta{padding:28px}
      .hero .visual-card img{min-height:430px !important}
    }

    .reviews-dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:18px}
    .review-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c8d1df;cursor:pointer;transition:.2s ease}
    .review-dot.active{width:25px;border-radius:999px;background:var(--primary)}
    .reviews-viewport{touch-action:pan-y;user-select:none}
    .privacy-note{margin-top:12px;font-size:.82rem;line-height:1.55;color:var(--muted)}
    .privacy-note a{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:2px}
    .privacy-section{padding-top:28px}
    .privacy-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 8px 26px rgba(21,39,82,.05)}
    .privacy-panel h2{font-size:1.8rem;margin-bottom:18px}
    .privacy-panel p{color:var(--muted);margin:0 0 14px}
    .privacy-panel a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
    .site-footer a:hover{color:var(--primary)}


/* --- Final image layout refinements --- */

/* Hero image: keep it prominent, but not enormous */
.hero .visual-card{
  max-width:560px;
  margin-left:auto;
}
.hero .visual-card img{
  width:100%;
  height:clamp(420px, 58vw, 610px);
  object-fit:cover;
  object-position:center 24%;
  border-radius:23px;
}

/* Achievement section: give certificates more room */
#osiagniecia .achievement-wrap{
  grid-template-columns:.82fr 1.18fr;
  align-items:start;
}

#osiagniecia .diploma-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

#osiagniecia .diploma-card{
  padding:16px;
  overflow:hidden;
}

#osiagniecia .diploma-card img{
  width:100%;
  height:500px;
  object-fit:contain;
  object-position:center;
  background:#fff;
  border-radius:14px;
  display:block;
}

/* Prevent awkward stretching elsewhere */
.media-card img,
.video-card img,
.about-panel img{
  height:auto;
  object-fit:contain;
}

/* Reviews should remain natural proportions */
.review-card img{
  height:auto;
  object-fit:contain;
}

@media (max-width: 1050px){
  #osiagniecia .achievement-wrap{
    grid-template-columns:1fr;
  }
  #osiagniecia .diploma-grid{
    max-width:800px;
  }
}

@media (max-width: 720px){
  .hero .visual-card{
    max-width:none;
    margin:0;
  }
  .hero .visual-card img{
    height:520px;
    object-position:center 22%;
  }
  #osiagniecia .diploma-grid{
    grid-template-columns:1fr;
  }
  #osiagniecia .diploma-card img{
    height:auto;
    max-height:none;
  }
}

@media (max-width: 480px){
  .hero .visual-card img{
    height:430px;
  }
}


/* === V3: natural certificate proportions === */
#osiagniecia .achievement-wrap{
  grid-template-columns:minmax(0,.9fr) minmax(620px,1.1fr) !important;
  gap:28px !important;
  align-items:start !important;
}

#osiagniecia .diploma-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(280px,1fr)) !important;
  gap:20px !important;
  align-items:start !important;
}

#osiagniecia .diploma-card{
  min-width:0 !important;
  padding:16px !important;
}

#osiagniecia .diploma-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto 12px !important;
  background:#fff !important;
}

/* Main portrait already looks good — preserve its current presentation. */

@media (max-width: 1120px){
  #osiagniecia .achievement-wrap{
    grid-template-columns:1fr !important;
  }

  #osiagniecia .diploma-grid{
    grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
    max-width:850px !important;
    margin:0 auto !important;
  }
}

@media (max-width: 680px){
  #osiagniecia .diploma-grid{
    grid-template-columns:1fr !important;
    max-width:520px !important;
  }
}
