/* ===== Responsive polish: phones (320-640), tablets/iPad (641-1080), laptops ===== */
html,body{overflow-x:clip}
img,svg,video,iframe{max-width:100%}
h1,h2,h3{overflow-wrap:break-word}

/* ---------- tablets & iPad (portrait + landscape) ---------- */
@media (max-width:1080px){
  .wrap{padding:0 28px}
  .sec{padding:88px 0}
  .climb-side{order:-1}
  .climb-grid{gap:2rem}
  .hero-ctas{gap:.7rem}
  .uhero-grid{gap:40px}
  .stage{height:700px}
  .kpis{gap:1.8rem}
  .bento{grid-template-columns:1fr 1fr}
  .svc,.svc.wide{grid-column:span 1}
  .promise{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .offers.prem-first{grid-template-columns:1fr 1fr;align-items:stretch}
  .offers.prem-first .offer.hot .oprice b{font-size:3.4rem}
  .founder{grid-template-columns:1fr;gap:2.4rem}
  .pwrap{max-width:380px}
  .cv-grid,.cvh{grid-template-columns:1fr}
  .cv-card{max-width:520px}
  .ahero{grid-template-columns:1fr;gap:2rem}
  .aphoto{max-width:560px}
  .certs{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}
}

/* small tablets / large phones */
@media (max-width:820px){
  .offers.prem-first{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}
  .roi-grid{grid-template-columns:1fr}
  .certs{grid-template-columns:1fr}
  .certs .cert:last-child:nth-child(odd){flex-direction:column}
  .compare{grid-template-columns:1fr}
  .ind{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr 1fr}
  .price-foot{grid-template-columns:1fr}
}

/* ---------- phones ---------- */
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .sec{padding:64px 0}
  .sec-head{margin-bottom:2.2rem}
  .h-lg{font-size:clamp(1.9rem,8.4vw,2.5rem);line-height:1.08}
  .uhero{padding:28px 0 56px}
  .uhero h1{font-size:clamp(2.3rem,10.5vw,3rem);margin:1.1rem 0 1.1rem}
  .uhero-grid{gap:28px}
  .stage{height:600px;margin-top:8px}
  .kpis{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.8rem;padding-top:1.4rem}
  .kpis b{font-size:1.4rem}
  .kpis span{font-size:.68rem}
  .meet{margin-top:1.4rem}
  .marq{padding:1.4rem 0}
  .bento,.steps,.promise,.cgrid,.skills,.cert-minis,.cert-courses,.fgrid{grid-template-columns:1fr}
  .pain-grid{grid-template-columns:1fr}
  .leak{gap:1.6rem}
  .leak-l .big{font-size:3.2rem;margin:1.2rem 0 .5rem}
  .lk{padding:1.4rem 1.3rem}
  .calc-in,.calc-out{padding:1.5rem 1.3rem}
  .field label{flex-direction:column;align-items:flex-start;gap:.25rem}
  .climb{padding:56px 0}
  .serp-h{padding:12px 14px 0}
  .sbox{padding:8px 14px;font-size:13px}
  .stabs{padding:12px 14px 0;gap:14px;font-size:12px}
  .sres-wrap{margin:0 14px}
  .sres{height:376px}
  .srow h6{font-size:15.5px}
  .cstat{gap:.7rem}
  .cstat b{font-size:1.8rem}
  .hgal{padding:56px 0 64px}
  .hgal-head{margin-bottom:1.8rem}
  .htrack{padding:0 18px;gap:14px}
  .hcard{width:86vw}
  .hbody{padding:1.3rem 1.4rem 1.5rem}
  .hbody .m{font-size:2.2rem}
  .cmp-col{padding:1.5rem 1.3rem}
  .svc{padding:1.6rem 1.4rem}
  .step{padding:1.6rem 1.4rem}
  .vbox{padding:1.6rem 1.2rem 0}
  .vtotal{margin:1.4rem -1.2rem 0;padding:1.3rem 1rem}
  .vfound{margin:0 -1.2rem;font-size:.8rem}
  .vrow{font-size:.9rem;align-items:flex-start}
  .vrow b{white-space:nowrap}
  .roi{padding:1.4rem 1.1rem}
  .roi-c{padding:1.2rem}
  .gap,.partner{padding:1.1rem}
  .gap .btn{width:100%}
  .offer,.offers.prem-first .offer.hot{padding:2rem 1.3rem 1.6rem}
  .offers.prem-first .offer.hot h3{font-size:1.75rem}
  .otop{flex-wrap:wrap;gap:.5rem}
  .oprice{flex-wrap:wrap;row-gap:0}
  .oprice s{font-size:1.2rem}
  .oprice b,.offers.prem-first .offer.hot .oprice b{font-size:3rem}
  .offers.prem-first .offer.small .oprice b{font-size:2.6rem}
  .oprice span{flex-basis:100%}
  .oret{flex-wrap:wrap;gap:.3rem .45rem}
  .oret b{flex-basis:100%;padding-left:1.4rem}
  .xray{padding:1.3rem}
  .xray .btn{width:100%}
  .final-l,.final-r{padding:1.6rem 1.3rem}
  .faq summary{padding:1.1rem 1.2rem;font-size:.98rem}
  .faq .a{padding:0 1.2rem 1.2rem}
  .tlogos{gap:.45rem}
  .tlg{font-size:.8rem;padding:.4rem .7rem .4rem .45rem}
  .tlg img{width:24px;height:24px}
  .chips span{font-size:.82rem;padding:.4rem .8rem}
  .phero{padding:44px 0 32px}
  .phero h1{font-size:clamp(2.1rem,9.6vw,2.8rem)}
  .sd{padding:2.2rem 0}
  .cv-sum{margin-bottom:3rem}
  .tl{padding-left:1.3rem}
  .tl-card{padding:1.2rem 1.2rem}
  .cert-bd{padding:1.4rem 1.3rem 1.6rem}
  .cert-img{padding:1rem}
  .cert-meta{gap:1rem}
  .contact-grid{gap:1.4rem}
  .ch a{padding:1rem}
  .card{padding:1.5rem 1.2rem}
  .chipset{gap:.4rem}
  .ch2 span{padding:.5rem .8rem;font-size:.85rem}
  .tbl th,.tbl td{padding:.8rem .7rem;font-size:.85rem}
  .band{padding:2rem 1.4rem}
  .band .acts{width:100%}
  .band .acts .btn{flex:1 1 100%}
  .btn-row .btn{flex:1 1 100%}
  .wordmark{margin-top:2.4rem}
  .pc1{left:-4px;top:70px}
  .pc2{right:-4px;top:210px}
  .cstack{max-width:340px}
}

/* very small phones (iPhone SE / 360px Androids) */
@media (max-width:380px){
  .wrap{padding:0 14px}
  .uhero h1{font-size:2.1rem}
  .stage{height:560px}
  .iphone{transform:scale(.8);margin-left:-160px}
  .gsc{transform:rotate(-3deg) scale(.74)}
  .kpis b{font-size:1.2rem}
  .oprice b,.offers.prem-first .offer.hot .oprice b{font-size:2.6rem}
  .pphone{width:250px;height:520px}
  .topbar{font-size:.74rem}
}

/* landscape phones */
@media (max-height:500px) and (orientation:landscape){
  .stage{height:560px}
  .nav-links{max-height:calc(100vh - 72px);overflow-y:auto}
}
@media (max-width:640px){
  .pc2{display:none}
  .partner{flex-direction:column;gap:.8rem}
  .gap{gap:.8rem}
}

.vbox,.roi,.offers,.xray,.price-foot{max-width:960px}
@media (max-width:640px){.ch span{word-break:normal;overflow-wrap:anywhere;font-size:.82rem}.ch .fast{display:none}}
