/* Mobile premium repair. Scoped to the public landing page. */
html,body{max-width:100%;overflow-x:clip}
main,main>section,.wrap,.hero-grid,.fx17-stage,.fx21-stage{min-width:0}
.wrap>*{min-width:0}
img,video,svg{max-width:100%}
:where(.hero,.fx17,.fx18,.fx19,.fx20,.fx21) :where(h1,h2,h3,p,strong,small){overflow-wrap:break-word}
:where(.hero,.fx17,.fx18,.fx19,.fx20,.fx21) a:focus-visible,
:where(.hero,.fx17,.fx18,.fx19,.fx20,.fx21) button:focus-visible{outline:3px solid #d8ff78;outline-offset:3px}
.hero-actions .btn-ghost{border:1px solid rgba(255,255,255,.2)!important}
.hero .micro{gap:10px 20px!important}
.hero .micro span{white-space:normal}
.fx21-visual{isolation:isolate}
.fx21-shade{pointer-events:none}
.fx21-caption,.fx21-data,.fx21-topline{z-index:1}
@media(max-width:640px){
  header{background:#0b110d!important;padding-top:env(safe-area-inset-top)!important}
  header .nav{height:64px!important;gap:8px!important}
  header .brand{min-width:0}
  header .brand-logo-img{width:48px!important;height:auto!important}
  header .brand-text{display:none!important}
  header .header-actions{gap:8px!important;min-width:0}
  header .header-actions .btn-login{display:none!important}
  header .header-actions .btn-primary{font-size:13px!important;padding:10px 14px!important;min-height:44px!important}
  .hero{padding:38px 0 48px!important}
  .hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:30px!important}
  .hero-grid>*{min-width:0}
  .hero h1{font-size:clamp(39px,10.7vw,55px)!important;line-height:1.03!important;letter-spacing:-.055em!important;max-width:12ch!important;margin:18px 0!important}
  .hero-copy{font-size:16px!important;line-height:1.48!important;max-width:38ch!important}
  .hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;margin:24px 0 16px!important}
  .hero-actions .btn{width:100%!important;white-space:normal!important;min-height:54px!important;padding:12px 16px!important;text-align:center}
  .hero .micro{display:flex!important;gap:6px 14px!important;margin:0 0 20px!important;font-size:12px!important}
  .hero .launch-offer{margin-top:18px!important;padding:16px!important}
  .hero .launch-copy strong{font-size:15px!important;line-height:1.25!important}
  .hero .install-home-cta{min-height:50px!important;font-size:14px!important}
  .product{width:100%!important;max-width:100%!important;margin:0!important;min-width:0!important}
  .product-body,.product-top{min-width:0!important}
  .product .stats,.product .progress{min-width:0!important}
  .fx17-head,.fx18-head,.fx19-head,.fx20-head,.fx21-head{grid-template-columns:minmax(0,1fr)!important}
  .fx17-stage,.fx21-stage{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important}
  .fx17-stage>*,.fx21-stage>*{min-width:0!important;max-width:100%!important}
  .fx17-week,.fx17-coach,.fx21-visual,.fx21-proof-row{width:100%!important;min-width:0!important}
  .fx17-sport-tabs,.fx17-days,.fx21-selector{max-width:100%!important;min-width:0!important;overflow-x:auto!important;overscroll-behavior-inline:contain}
  .fx21{padding-bottom:54px!important}
  .fx21-visual{min-height:0!important;display:flex!important;flex-direction:column!important;border-radius:22px!important}
  .fx21-visual picture,.fx21-visual img{position:absolute!important;inset:0!important;height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 35%!important}
  .fx21-shade{background:linear-gradient(180deg,rgba(4,9,6,.20),rgba(4,9,6,.55) 38%,#080e09 72%)!important}
  .fx21-topline{position:relative!important;left:auto!important;right:auto!important;top:auto!important;margin:16px 16px 150px!important}
  .fx21-caption{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;max-width:none!important;margin:0 18px 18px!important}
  .fx21-caption h3{font-size:clamp(29px,8vw,38px)!important;line-height:1.03!important;margin:7px 0!important}
  .fx21-caption p{font-size:13px!important;line-height:1.4!important;color:#e0e8e2!important}
  .fx21-data{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0 14px 14px!important}
  .fx21-data div{min-width:0!important;padding:9px!important;backdrop-filter:none!important;background:#111b14!important}
  .fx21-data small{font-size:9px!important;color:#b6c3b8!important}
  .fx21-data strong{font-size:12px!important;line-height:1.25!important;overflow-wrap:anywhere}
  .fx21-selector{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .fx21-selector button{min-width:0!important;min-height:70px!important}
  .fx21-selector strong{font-size:13px!important}
  .fx21-selector small{font-size:10px!important}
  .fx21-proof-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .fx20-sticky{max-width:calc(100vw - 24px)!important}
  .fx20-sticky a{white-space:nowrap!important}
  #opplev-ai4,#visual-proof-ai4,#story-ai4,#trygghet-ai4,#pakker{scroll-margin-top:76px!important}
}
@media(max-width:360px){
  .fx21-data{grid-template-columns:1fr!important}
  .fx21-topline{margin-bottom:110px!important}
  .fx21-selector{grid-template-columns:1fr!important}
}

/* Clear trial terms, quieter secondary plans, and a dock that stays out of the copy. */
#pakker .price{min-width:0}
#pakker .price .sub,#pakker .price li{line-height:1.5}
#pakker .price .after-trial{color:#dce8dd!important;background:#1b2b20!important;border-color:#50684c!important}
#pakker .price .after-trial strong{color:#e9ffb3!important}
#pakker .price .trial-price{color:#f7faf7!important}
#pakker .price .trial-price small{color:#c8d5ca!important}
@media(max-width:640px){
 #pakker .section-head h2{font-size:clamp(30px,8.5vw,42px)!important;line-height:1.06!important}
 #pakker .pricing{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
 #pakker .price{padding:22px!important}
 #pakker .price .btn{width:100%!important;min-height:52px!important;white-space:normal!important;text-align:center}
 .fx20-sticky{width:calc(100% - 24px)!important;max-width:420px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;padding:8px 8px 8px 13px!important;border-radius:18px!important}
 .fx20-sticky>div strong{font-size:12px!important}
 .fx20-sticky a{padding:10px 13px!important;font-size:12px!important;min-height:44px!important}
 footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))!important}
}

/* PTstudio proof: readable editorial block at every width. */
.trust-photo-card,.trust-photo-copy,.team-proof,.team-proof-stats{min-width:0}
.trust-photo img{display:block;width:100%;height:100%;object-fit:cover}
.trust-photo-copy h2{overflow-wrap:break-word}
.trust-photo-copy p,.team-proof p{line-height:1.55}
@media(max-width:640px){
 .trust-photo-section{padding:30px 0!important}
 .trust-photo-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;border-radius:24px!important}
 .trust-photo{min-height:0!important;aspect-ratio:1.1!important;max-height:360px!important}
 .trust-photo img{object-position:center 34%!important}
 .trust-photo-copy{padding:22px 20px 24px!important}
 .trust-photo-copy h2{font-size:clamp(29px,8vw,38px)!important;line-height:1.05!important;margin:12px 0!important}
 .trust-photo-copy p{font-size:14px!important}
 .trust-points{gap:9px!important}
 .team-proof{padding:18px!important;margin:12px 0 18px!important}
 .team-proof h3{font-size:22px!important}
 .team-proof-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 8px!important}
 .team-proof-stat strong{font-size:11px!important}
 .trust-photo-copy .btn{width:100%!important;min-height:50px!important}
}

/* Phone proof card: show the three workout facts without a long stack. */
@media(max-width:640px){
 .fx17-workout{padding:20px!important}
 .fx17-workout h3{font-size:clamp(28px,8vw,37px)!important;line-height:1.05!important}
 .fx17-workout p{font-size:14px!important;line-height:1.45!important}
 .fx17-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
 .fx17-metrics div{min-width:0!important;padding:10px 8px!important}
 .fx17-metrics small{font-size:9px!important;letter-spacing:.04em!important;overflow-wrap:anywhere}
 .fx17-metrics strong{font-size:14px!important;overflow-wrap:anywhere}
 .fx17-start{min-height:50px!important}
}
@media(max-width:350px){.fx17-metrics{grid-template-columns:1fr 1fr!important}}
