/* KetoTrainer mobile polish • 9 November 2026
 * Load AFTER the legacy stylesheets. 320px iPhone SE through 640px.
 * Full desktop wording is preserved; short mobile labels avoid tiny text.
 */
.kt-mobile-text{display:none!important}
.kt-desktop-text{display:inline}
@media(max-width:900px){
  body.kt-mobile-v2 .site-header{position:sticky!important;top:0;z-index:1000;background:#f7f5f0;backdrop-filter:none}
  body.kt-mobile-v2 .menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:48px;min-height:48px;cursor:pointer}
  body.kt-mobile-v2 .site-header .header-menu{display:none!important;position:absolute!important;top:100%!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 90px);overflow:auto;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:16px!important;background:#fff!important;border:1px solid #d7ded9!important;border-radius:0 0 18px 18px;box-shadow:0 14px 30px #173f3821!important}
  body.kt-mobile-v2 .site-header.menu-open .header-menu{display:flex!important}
  body.kt-mobile-v2 .site-header .header-menu .main-nav{position:static!important;inset:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;max-height:none!important;overflow:visible!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
  body.kt-mobile-v2 .main-nav a{display:flex!important;align-items:center!important;min-height:48px!important;padding:10px 12px!important}
  body.kt-mobile-v2 .header-cta{width:100%!important;margin:0!important;min-height:48px!important}
}
@media(max-width:640px){
  .kt-mobile-text{display:inline!important}
  .kt-desktop-text{display:none!important}
  html{scroll-behavior:smooth!important;scroll-padding-top:82px!important}
  body.kt-mobile-v2{width:100%;max-width:100%;overflow-x:clip;font-size:15px;line-height:1.62;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body.kt-mobile-v2 :is(.container,.header-inner){width:calc(100% - 28px)!important;max-width:600px!important;min-width:0!important;margin-inline:auto!important}
  body.kt-mobile-v2 main .section{padding-block:58px!important}
  body.kt-mobile-v2 :is(.section,.hero,.assessment-strip,.step-card,.pillar-card,.classification-card,.resource-card,.outcome-card,.purchase-card){max-width:100%!important;min-width:0!important}
  body.kt-mobile-v2 :is(p,li,small){overflow-wrap:break-word}
  body.kt-mobile-v2 main img{display:block!important;max-width:100%!important;object-position:center!important}
  body.kt-mobile-v2 .site-header{height:74px!important;min-height:74px!important}
  body.kt-mobile-v2 .site-header .header-inner{height:74px!important;min-height:74px!important;padding-block:4px!important}
  body.kt-mobile-v2 .site-header .brand{height:58px!important;max-height:58px!important}
  body.kt-mobile-v2 .site-header .brand img{height:54px!important;max-height:54px!important;max-width:114px!important;object-fit:contain!important}
  body.kt-mobile-v2 :is(a,button,summary){touch-action:manipulation;-webkit-tap-highlight-color:#245c5220}
  body.kt-mobile-v2 :is(a,button,summary):focus-visible{outline:3px solid #78b49f;outline-offset:3px}
  /* Hero: first title fits one line, two legible supporting lines. */
  body.kt-mobile-v2 .hero{padding:34px 0 54px!important;background:linear-gradient(145deg,#f7f5f0,#edf4ef)!important}
  body.kt-mobile-v2 .hero .hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:22px!important;width:calc(100% - 28px)!important;align-items:start!important}
  body.kt-mobile-v2 .hero .hero-copy{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;gap:0!important}
  body.kt-mobile-v2 .hero .hero-copy>.eyebrow{display:block!important;width:100%!important;margin:0 0 15px!important;font-size:11px!important;letter-spacing:.06em!important;line-height:1.35!important;text-align:center!important}
  body.kt-mobile-v2 .hero .hero-title{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 20px!important;padding:0!important;font-size:30px!important;line-height:1.13!important;text-align:center!important;white-space:normal!important;text-wrap:initial!important;letter-spacing:-.035em!important}
  body.kt-mobile-v2 .hero .hero-title>span{display:block!important;width:100%!important;white-space:nowrap!important;text-align:center!important}
  body.kt-mobile-v2 .hero .hero-title>span:first-child{font-size:clamp(28px,9vw,37px)!important;font-weight:850!important}
  body.kt-mobile-v2 .hero .hero-title>span:nth-child(2){font-size:clamp(18px,5.7vw,23px)!important;font-weight:750!important;color:#245c52!important;margin-top:7px}
  body.kt-mobile-v2 .hero .hero-title>span:nth-child(3){font-size:clamp(17px,5.5vw,22px)!important;font-weight:700!important;margin-top:4px}
  body.kt-mobile-v2 .hero .hero-title>span+span::before{content:none!important;display:none!important}
  body.kt-mobile-v2 .hero .hero-lead{grid-column:auto!important;grid-row:auto!important;width:100%!important;max-width:100%!important;font-size:17px!important;line-height:1.38!important;font-weight:800!important;margin:0 0 15px!important;text-align:center!important}
  body.kt-mobile-v2 .hero .hero-copy>p:not(.eyebrow):not(.hero-lead){font-size:15px!important;line-height:1.62!important;max-width:100%!important;margin-bottom:14px!important}
  body.kt-mobile-v2 .hero .hero-actions{width:100%!important;max-width:100%!important;margin:12px 0!important}
  body.kt-mobile-v2 .hero .hero-actions .btn{width:100%!important;min-height:52px!important;padding:13px 16px!important;font-size:14px!important}
  body.kt-mobile-v2 .hero .fine-print{font-size:12px!important;line-height:1.5!important}
  body.kt-mobile-v2 .hero .hero-visual{grid-column:auto!important;grid-row:auto!important;order:0!important;width:100%!important;max-width:100%!important;margin:0!important;min-height:0!important;overflow:visible!important}
  body.kt-mobile-v2 .hero .hero-visual>img{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:20px!important}
  body.kt-mobile-v2 .hero .hero-card{position:static!important;width:100%!important;max-width:100%!important;margin:12px 0 0!important;padding:16px 18px!important;box-shadow:0 8px 20px #173f3814!important}
  /* Prominent single-line labels; smaller 1–2 line explanations. */
  body.kt-mobile-v2 main .section :is(.section-heading,.split-copy,.purchase-heading){width:100%!important;min-width:0!important;max-width:100%!important;margin-bottom:27px!important;text-align:left!important}
  body.kt-mobile-v2 main .section .section-heading.centered{text-align:center!important}
  body.kt-mobile-v2 main .section :is(.section-heading,.split-copy,.purchase-heading)>p.eyebrow{display:block!important;width:100%!important;max-width:none!important;margin:0 0 10px!important;font-size:clamp(21px,6.8vw,26px)!important;font-weight:850!important;letter-spacing:-.035em!important;line-height:1.18!important;color:#245c52!important;white-space:nowrap!important;text-wrap:nowrap!important}
  body.kt-mobile-v2 main .section :is(.section-heading,.split-copy,.purchase-heading)>h2{width:100%!important;max-width:none!important;margin:0 0 13px!important;font-size:clamp(15px,4.5vw,18px)!important;line-height:1.35!important;font-weight:650!important;letter-spacing:-.018em!important;white-space:normal!important;text-wrap:balance!important}
  body.kt-mobile-v2 main .section :is(.section-heading,.split-copy,.purchase-heading)>p:not(.eyebrow){font-size:14.7px!important;line-height:1.65!important}
  body.kt-mobile-v2 #why-different.kt-why-v15{overflow:visible!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__header{margin:0 0 30px!important;text-align:center!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__eyebrow{margin:0 auto 12px!important;font-size:clamp(15px,4.9vw,20px)!important;font-weight:850!important;letter-spacing:-.03em!important;line-height:1.2!important;white-space:nowrap!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__title{margin:0!important;width:100%!important;font-size:clamp(14px,4.35vw,17px)!important;line-height:1.33!important;letter-spacing:-.035em!important;text-align:center!important;white-space:normal!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__title>span{display:block!important;white-space:nowrap!important;text-wrap:nowrap!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__content{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;align-items:start!important;width:100%!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__copy{width:100%!important;min-width:0!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__copy>p{font-size:15px!important;line-height:1.63!important;margin-bottom:15px!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__secondary{width:100%!important;max-width:100%!important;margin:21px 0 13px!important;font-size:clamp(11px,3.5vw,13.5px)!important;letter-spacing:-.045em!important;font-weight:760!important;line-height:1.25!important;text-align:left!important;white-space:nowrap!important}
  body.kt-mobile-v2 #why-different :is(.kt-why-v15__media,.kt-why-v15__image),body.kt-mobile-v2 :is(#real-food,#after-12-weeks) .rounded-image{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:20px!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__pillars{margin-top:29px!important}
  body.kt-mobile-v2 :is(#real-food,#after-12-weeks) .split-media{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
  body.kt-mobile-v2 #real-food .split-copy{order:-1!important}
  /* Keep embedded text inside image cards fully visible. */
  body.kt-mobile-v2 :is(.pillars-grid,.steps-grid,.classification-grid,.resources-grid,.outcomes-grid,.purchase-grid,.footer-grid){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;width:100%!important}
  body.kt-mobile-v2 :is(.pillar-card,.step-card,.classification-card,.resource-card,.outcome-card,.purchase-card){border-radius:20px!important;box-shadow:0 7px 19px #173f3813!important}
  body.kt-mobile-v2 :is(.step-card,.classification-card,.resource-card)>img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;padding:0!important;background:#f3f6f3!important}
  body.kt-mobile-v2 .step-copy{padding:20px 19px 23px!important}
  body.kt-mobile-v2 .step-number{margin-bottom:12px!important;width:38px!important;height:38px!important;font-size:14px!important}
  body.kt-mobile-v2 :is(.pillar-card,.outcome-card,.purchase-card){padding:21px 19px!important}
  body.kt-mobile-v2 :is(.step-copy,.pillar-card,.classification-copy,.resource-card,.outcome-card,.purchase-card) h3{font-size:clamp(16px,4.8vw,19px)!important;font-weight:800!important;line-height:1.3!important;letter-spacing:-.02em!important;white-space:nowrap!important;text-wrap:nowrap!important;margin-bottom:10px!important}
  body.kt-mobile-v2 :is(.step-copy,.pillar-card,.classification-copy,.resource-card,.outcome-card,.purchase-card) :is(p,li){font-size:14.5px!important;line-height:1.6!important;white-space:normal!important}
  body.kt-mobile-v2 :is(.classification-copy,.resource-card>div){padding:20px 19px!important}
  body.kt-mobile-v2 .included-banner{width:100%!important;height:auto!important;object-fit:contain!important;border-radius:19px!important}
  body.kt-mobile-v2 :is(.nonketo-callout,.soft-note){padding:17px 18px!important;border-radius:16px!important;font-size:14.5px!important;line-height:1.58!important}
  body.kt-mobile-v2 .purchase-heading{margin-top:37px!important}
  body.kt-mobile-v2 .purchase-card .price{font-size:39px!important}
  body.kt-mobile-v2 .purchase-card .journey-price{font-size:23px!important;line-height:1.25!important}
  body.kt-mobile-v2 .purchase-flow{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin-top:28px!important}
  body.kt-mobile-v2 .flow-arrow{display:none!important}
  body.kt-mobile-v2 .flow-step{min-height:64px!important;padding:12px 18px!important;border-radius:15px!important}
  body.kt-mobile-v2 :is(.section-action,.hero-actions) .btn,body.kt-mobile-v2 .final-cta .btn{display:flex!important;width:100%!important;min-height:51px!important;padding:13px 15px!important;font-size:14px!important;line-height:1.35!important;white-space:normal!important}
  body.kt-mobile-v2 .faq-list{gap:10px!important}
  body.kt-mobile-v2 .faq-list summary{min-height:62px;display:flex;align-items:flex-start;gap:10px;padding:17px 42px 17px 16px!important;font-size:14.5px!important;font-weight:760!important;line-height:1.4!important;overflow-wrap:anywhere}
  body.kt-mobile-v2 .faq-list summary::after{right:14px!important;font-size:22px!important}
  body.kt-mobile-v2 .faq-answer{padding:0 16px 18px!important;font-size:14.5px!important;line-height:1.6!important}
  body.kt-mobile-v2 .final-cta{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important;padding:28px 21px!important;margin-top:35px!important;border-radius:22px!important}
  body.kt-mobile-v2 .final-cta .eyebrow{display:block!important;font-size:18px!important;letter-spacing:-.025em!important;white-space:nowrap!important}
  body.kt-mobile-v2 .final-cta h2{font-size:17px!important;font-weight:700!important;line-height:1.35!important;max-width:100%!important;margin-bottom:10px!important}
  body.kt-mobile-v2 .final-cta p:not(.eyebrow){font-size:14px!important}
  body.kt-mobile-v2 .site-footer{padding:43px 0 20px!important}
  body.kt-mobile-v2 .footer-grid{gap:24px!important}
  body.kt-mobile-v2 .site-footer h3{font-size:16px!important;white-space:nowrap!important}
  body.kt-mobile-v2 .site-footer :is(p,a,li){font-size:13.5px!important;line-height:1.6!important}
  body.kt-mobile-v2 .footer-bottom{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:flex-start!important;font-size:12.5px!important}
  body.kt-mobile-v2 .footer-bottom a{overflow-wrap:anywhere}
  body.kt-mobile-v2 :is(.step-card,.pillar-card,.classification-card,.resource-card,.purchase-card,.outcome-card,.btn){transition:transform .16s ease-out,box-shadow .16s ease-out!important}
  body.kt-mobile-v2 :is(.step-card,.pillar-card,.classification-card,.resource-card,.purchase-card,.outcome-card):active{transform:translateY(-1px)}
  body.kt-mobile-v2 :is(#how-it-works,#included){background-image:linear-gradient(180deg,#e8f2ec80,transparent 32%)!important}
}
@media(max-width:360px){
  body.kt-mobile-v2 #why-different .kt-why-v15__eyebrow{font-size:15px!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__title{font-size:14px!important}
  body.kt-mobile-v2 #why-different .kt-why-v15__secondary{font-size:11px!important}
  body.kt-mobile-v2 main .section :is(.section-heading,.split-copy,.purchase-heading)>p.eyebrow{font-size:20px!important}
  body.kt-mobile-v2 #how-it-works .section-heading>p.eyebrow{font-size:18px!important}
}
@media(hover:none){body.kt-mobile-v2 .btn:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body.kt-mobile-v2 *,body.kt-mobile-v2 *::before,body.kt-mobile-v2 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
