/* KICKIFY 5.30 — Responsive Polish
   Keeps the 5.29 visual identity, improves desktop readability,
   tablet composition, mobile image integrity and a centered footer. */

/* ---------- global resilience ---------- */
html{overflow-x:hidden}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
.k65Wrap,.k60Wrap{min-width:0}
.k528Btn,.k528Start,.k60Btn,.s31Btn{min-height:44px;touch-action:manipulation}

/* ---------- desktop hero readability ---------- */
@media (min-width:1181px){
  .k528HeroGrid{grid-template-columns:42.5% 57.5%!important}
  .k528HeroCopy{padding-right:26px!important}
  .k528Hero h1{margin:9px 0 10px!important;max-width:650px}
  .k528Hero h1 span,.k528Hero h1 strong{
    font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
    font-size:clamp(40px,3.2vw,50px)!important;
    line-height:.96!important;
    letter-spacing:-.028em!important;
    font-weight:900!important;
    text-wrap:balance;
  }
  .k528Hero h1 strong{letter-spacing:-.035em!important}
  .k528HeroCopy>p{font-size:16px!important;line-height:1.48!important;max-width:560px!important}
  .k528CoachCard{left:1%!important;width:60%!important}
  .k528KeeperCard{right:0!important;width:39%!important}
  .k528CoachSign{right:-15%!important;top:21%!important}
}

/* ---------- price block ---------- */
.k528PriceLine{display:flex!important;align-items:baseline!important;gap:10px!important;flex-wrap:wrap}
.k528PriceLine strong{line-height:1!important}
.k528MemberBenefit{display:flex;align-items:center;gap:7px;line-height:1.4}

/* ---------- clear section rhythm ---------- */
.k528FeatureStrip{padding-top:12px!important}
.k528FeatureGrid{transform:none!important}
.k528Mentoring{padding-top:12px!important}
.k528Bottom{padding-top:2px!important}
.k528Cta{margin-top:2px}

/* ---------- centered footer ---------- */
.k528Footer{padding:44px 0 22px!important;text-align:center}
.k528FooterGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:start;
}
.k528FootBrand{grid-column:1/-1!important;display:flex;flex-direction:column;align-items:center;text-align:center}
.k528FootBrand img{margin-inline:auto!important;width:min(400px,88vw)!important}
.k528FootBrand p{margin:12px auto!important;max-width:650px!important}
.k528FootPills{justify-content:center!important}
.k528FooterGrid>div:not(.k528FootBrand){align-items:center!important;text-align:center!important}
.k528FooterGrid>div:not(.k528FootBrand) a{width:100%;text-align:center}
.k528FooterBottom{justify-content:center!important;align-items:center!important;flex-direction:column!important;text-align:center!important;gap:7px!important}

/* ---------- large tablets / small laptops ---------- */
@media (max-width:1180px) and (min-width:981px){
  .k65Wrap{width:min(100% - 34px,1388px)}
  .k528HeaderInner{grid-template-columns:280px 1fr auto!important;padding-inline:20px!important;gap:14px!important}
  .k528Brand img{width:275px!important}
  .k528Nav{gap:13px!important}
  .k528Nav a{font-size:13px!important}
  .k528Start{padding:11px 15px!important;font-size:13px}

  .k528HeroGrid{grid-template-columns:44% 56%!important;min-height:430px!important}
  .k528Hero{min-height:430px!important}
  .k528Hero h1 span,.k528Hero h1 strong{
    font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
    font-size:clamp(34px,3.55vw,43px)!important;
    line-height:.98!important;
    letter-spacing:-.025em!important;
  }
  .k528HeroCopy>p{font-size:15px!important;line-height:1.48!important}
  .k528HeroPeople{height:430px!important}
  .k528CoachCard{left:0!important;top:0!important;width:62%!important;height:100%!important}
  .k528KeeperCard{right:0!important;top:8%!important;width:40%!important;height:88%!important}
  .k528CoachSign{right:-18%!important;top:22%!important}

  .k528FeatureCard{min-height:180px!important}
  .k528MentoringGrid{grid-template-columns:36% 39% 25%!important}
  .k528MentorCopy{padding:24px 20px!important}
  .k528MentorList{padding:20px 16px!important}
}

/* ---------- tablet: deliberate two-column media composition ---------- */
@media (max-width:980px){
  .k65Wrap{width:min(100% - 32px,900px)}
  .k528Header{height:72px!important}
  .k528HeaderInner{height:72px!important;grid-template-columns:1fr auto!important;padding-inline:18px!important}
  .k528Brand img{width:min(290px,70vw)!important;height:56px!important;object-fit:contain}
  .k528Menu{display:block!important;justify-self:end}
  .k528Nav{max-height:calc(100vh - 88px);overflow:auto}

  .k528Hero{min-height:auto!important;padding-bottom:20px!important}
  .k528HeroGrid{display:block!important;min-height:auto!important;padding-top:0!important}
  .k528HeroCopy{padding:34px 0 20px!important;max-width:760px;margin-inline:auto;text-align:left}
  .k528Hero h1{max-width:720px}
  .k528Hero h1 span,.k528Hero h1 strong{
    font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
    font-size:clamp(39px,6.7vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.028em!important;
  }
  .k528HeroCopy>p{max-width:650px!important;line-height:1.52!important}

  .k528HeroPeople{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1.15fr .85fr;
    gap:14px;
    width:100%;
    height:auto!important;
    margin:10px auto 0!important;
    overflow:visible!important;
  }
  .k528CoachCard,.k528KeeperCard{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    border-radius:18px!important;
    overflow:hidden!important;
    border:1px solid rgba(31,230,255,.24);
    background:#051426!important;
  }
  .k528CoachPhoto,.k528KeeperPhoto{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    display:block;
    object-fit:contain!important;
    object-position:center!important;
    clip-path:none!important;
    mask-image:none!important;
    -webkit-mask-image:none!important;
    border-radius:0!important;
  }
  .k528CoachCard:after,.k528KeeperCard:after{background:linear-gradient(180deg,transparent 60%,rgba(2,9,20,.64) 100%)!important}
  .k528CoachSign{right:16px!important;left:auto!important;top:auto!important;bottom:18px!important;transform:none!important;text-align:right!important}
  .k528CoachSign strong{font-size:26px!important}
  .k528KeeperQuote{right:14px!important;bottom:18px!important;font-size:14px!important;transform:rotate(-4deg)!important}

  .k528FeatureGrid{grid-template-columns:1fr!important;gap:12px!important}
  .k528FeatureCard{min-height:0!important;padding:20px!important}
  .k528MentoringGrid{grid-template-columns:1fr!important}
  .k528MentorImage{height:auto!important;min-height:0!important}
  .k528MentorImage img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;display:block}
  .k528BottomGrid{grid-template-columns:1fr!important}
  .k528Credentials{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* inner pages */
  .k527MemberCheckout,.k527AiLayout,.k527Split,.k527Lesson,.k60Split,.k529AboutGrid,.k51Checkout{grid-template-columns:1fr!important}
  .k527SubHero,.k527Hero,.k60Hero{padding:58px 0 50px!important}
  .k527SubHero:before,.k527Hero:before,.k60Hero:before{background:linear-gradient(90deg,rgba(2,10,22,.98),rgba(2,11,24,.82)),url('/assets/img/home/keeper-99.webp') right center/50% auto no-repeat!important}
  .k527SubHero h1,.k527Hero h1,.k60Hero h1{font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;line-height:1!important;letter-spacing:-.025em!important}
}

/* ---------- phone: no clipped imagery, touch-first layout ---------- */
@media (max-width:680px){
  .k65Wrap,.k60Wrap{width:min(100% - 24px,640px)!important}
  .k528Header{height:64px!important}
  .k528HeaderInner{height:64px!important;padding-inline:12px!important}
  .k528Brand img{width:min(235px,70vw)!important;height:48px!important}
  .k528Nav{left:10px!important;right:10px!important;top:64px!important;border-radius:12px!important;padding:8px!important}
  .k528Nav a{padding:14px 12px!important;font-size:15px!important}

  .k528Hero{padding-bottom:14px!important}
  .k528HeroCopy{padding:26px 0 14px!important;text-align:left}
  .k528Eyebrow{font-size:9px!important;letter-spacing:.22em!important}
  .k528Hero h1{margin:7px 0 10px!important}
  .k528Hero h1 span,.k528Hero h1 strong{
    font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
    font-size:clamp(31px,9.5vw,43px)!important;
    line-height:1!important;
    letter-spacing:-.032em!important;
    overflow-wrap:normal;
    word-break:normal;
  }
  .k528HeroCopy>p{font-size:15px!important;line-height:1.52!important;margin:10px 0 16px!important}
  .k528Actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .k528Actions .k528Btn,.k528Btn{width:100%!important;min-width:0!important;justify-content:center!important;text-align:center!important;padding:13px 16px!important}
  .k528PriceLine{display:grid!important;grid-template-columns:auto 1fr!important;gap:5px 9px!important;align-items:end!important;margin-top:15px!important}
  .k528PriceLine strong{font-size:31px!important}
  .k528PriceLine span{font-size:14px!important;line-height:1.25!important}
  .k528MemberBenefit{font-size:12px!important;align-items:flex-start}

  .k528HeroPeople{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:18px!important}
  .k528CoachCard,.k528KeeperCard{width:100%!important;height:auto!important;min-height:0!important;margin:0!important}
  .k528CoachPhoto,.k528KeeperPhoto{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
  .k528CoachSign{right:14px!important;bottom:14px!important;top:auto!important}
  .k528CoachSign strong{font-size:21px!important}
  .k528CoachSign span{font-size:11px!important}
  .k528KeeperQuote{font-size:13px!important;right:12px!important;bottom:15px!important}

  .k528FeatureStrip{padding-top:10px!important}
  .k528FeatureGrid{padding:0!important}
  .k528FeatureCard{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important;padding:17px 15px!important;border-radius:12px!important}
  .k528FeatureCard h2{font-size:20px!important;line-height:1.12!important}
  .k528FeatureCard p{font-size:13px!important;max-width:none!important}
  .k528FeatureCard a{font-size:12px!important;white-space:normal;text-align:center}
  .k528MiniVisual,.k528AiBubble{display:none!important}

  .k528Mentoring,.k528Bottom{padding-inline:0!important}
  .k528MentorImage img{width:100%!important;height:auto!important;object-fit:contain!important}
  .k528MentorCopy,.k528MentorList{padding:20px 16px!important}
  .k528MentorCopy h2{font-size:26px!important;line-height:1.05!important}
  .k528MentorCopy h3{font-size:17px!important;line-height:1.18!important}
  .k528MentorList li{font-size:13px!important;line-height:1.4!important}

  .k528TrustPanel,.k528FreePanel{padding:18px 14px!important}
  .k528Credentials{grid-template-columns:1fr!important}
  .k528Credential{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.09);padding:10px 0!important;justify-content:flex-start;text-align:left}
  .k528Credential:last-child{border-bottom:0}
  .k528FreePanel{grid-template-columns:1fr!important}
  .k528FreePreview{height:auto!important;min-height:0!important}
  .k528FreePreview img{height:auto!important;object-fit:contain!important;display:block}

  .k528Cta{padding:38px 0!important}
  .k528CtaInner{gap:20px!important}
  .k528Cta h2{font-size:clamp(28px,9vw,38px)!important;line-height:1.08!important}

  .k528Footer{padding:34px 0 18px!important}
  .k528FooterGrid{grid-template-columns:1fr!important;gap:24px!important}
  .k528FootBrand{grid-column:auto!important}
  .k528FootBrand img{width:min(300px,86vw)!important}
  .k528FootPills{gap:6px!important}
  .k528FooterGrid>div:not(.k528FootBrand){align-items:center!important}
  .k528FooterBottom span{font-size:9px;line-height:1.5;letter-spacing:.1em!important}

  /* inner pages, forms, legal pages */
  .k527Section,.k60Section{padding:38px 0!important}
  .k527SubHero,.k527Hero,.k60Hero{padding:46px 0 40px!important}
  .k527SubHero:before,.k527Hero:before,.k60Hero:before{background:linear-gradient(180deg,rgba(2,10,22,.95),rgba(2,11,24,.88)),url('/assets/img/home/keeper-99.webp') center bottom/100% auto no-repeat!important;opacity:.72}
  .k527SubHero h1,.k527Hero h1,.k60Hero h1{font-size:clamp(34px,10vw,48px)!important;line-height:1!important;max-width:100%!important}
  .k527SubHero p,.k527Hero p,.k60Hero p{font-size:15px!important;line-height:1.52!important}
  .k527Modules,.k527Three,.k60Three,.k60Qual,.k529CredGrid{grid-template-columns:1fr!important}
  .k527Modules article,.k527Three article,.k60Three article,.k60Qual article,.k527AiBox,.k527AiSide,.k527PriceCard,.k527Signup,.k527MentorPrice>div,.k527Diagram,.k527Video,.k527Task,.k60Quote{border-radius:12px!important}
  .k51Checkout{width:min(100% - 20px,1180px)!important;padding:30px 0 48px!important;gap:12px!important}
  main.page{width:min(100% - 20px,1000px)!important;margin:30px auto 48px!important;padding:20px 15px!important;border-radius:12px!important}
  main.page h1{font-size:clamp(34px,10vw,46px)!important;line-height:1!important;overflow-wrap:anywhere}
}

/* ---------- very small phones ---------- */
@media (max-width:390px){
  .k528Brand img{width:min(210px,68vw)!important}
  .k528Hero h1 span,.k528Hero h1 strong{font-size:clamp(29px,9.2vw,36px)!important}
  .k528PriceLine{grid-template-columns:1fr!important;gap:2px!important}
  .k528PriceLine span{margin-top:-2px}
}
