/* Mobile-only overrides: desktop styling remains authoritative. */
picture{display:contents}
@media (max-width:1023px){
  :root{--gut:max(16px,env(safe-area-inset-left,0px));--gutr:max(16px,env(safe-area-inset-right,0px));padding:0;--mobile-veil:linear-gradient(180deg,rgba(27,27,29,.38),rgba(27,27,29,.78));--mobile-panel:rgba(250,250,243,.96)}
  html{scroll-padding-top:calc(92px + env(safe-area-inset-top,0px))}
  body{font-size:16px;overflow-x:clip}
  a,button,summary,label{-webkit-tap-highlight-color:transparent}
  a,button,summary{touch-action:manipulation}
  .wrap,.hero-copy,.hero-grid>*,.step-t,.bn-t,.partners-l,.faq-grid>*,.pre-list li>div,.foot>div{min-width:0}
  .nav{left:var(--gut);right:var(--gutr);top:calc(8px + env(safe-area-inset-top,0px))}
  .nav-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:8px 10px 8px 14px}
  .nav .logo{min-width:44px;min-height:44px;display:flex;align-items:center}
  .nav .logo img{height:24px;max-width:80px;object-fit:contain}
  .nav .btn{min-height:44px;padding:10px 12px;font-size:12px;white-space:normal;text-align:center}
  .nav-toggle{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--cream);color:var(--ink);cursor:pointer}
  .nav-toggle svg{width:22px;height:22px}
  .nav-links{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:12px 16px;background:var(--mobile-panel);border:1px solid var(--line);border-radius:24px;color:var(--ink);max-height:calc(100dvh - 110px - env(safe-area-inset-top,0px));overflow:auto}
  .nav-links.is-open{display:flex;flex-direction:column;gap:4px}
  .nav-links a{display:flex;align-items:center;min-height:48px;font-size:16px;padding:8px}
  .hero{min-height:100svh;height:auto}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:calc(100px + env(safe-area-inset-top,0px));padding-bottom:24px}
  .hero-copy{gap:16px;width:100%}
  .hero h1{font-size:clamp(38px,10.4vw,64px);line-height:1;letter-spacing:0;width:100%}
  .hero h1>span{max-width:100%}
  .hero h1 .mark-w{margin-top:0}
  .hero h1 .mark-w img{width:100%;max-width:560px;margin-top:0;height:auto}
  .hero .sub-tag{font-size:20px;letter-spacing:0;white-space:normal}
  .hero .sub{font-size:22px}
  .hero .lead{font-size:16px;line-height:1.5}
  .hero-bg{background-position:60% 30%;animation:none}
  .hero-bg::after{background:var(--mobile-veil)}
  .hero-cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;margin-top:4px}
  .btn,.pm-btn{min-height:48px;white-space:normal;text-align:center;line-height:1.3}
  .hero-cta .btn,.partners-l>.btn,.pre-adv-l>.btn,.join-in>.btn,.faq-head>.btn{width:100%;align-self:stretch!important}
  .how{min-height:44px;justify-content:center}
  .hero-visual{padding:0;margin:0;max-width:100%}
  .hero-mock{max-width:430px;filter:none}
  .sec{padding-block:40px}
  .steps,.feat-sec,.partners,.join{margin:16px var(--gut);border-radius:26px}
  .steps .wrap,.feat-sec .wrap,.partners-in,.join .wrap{padding-block:28px}
  h2{font-size:clamp(28px,7.6vw,42px);line-height:1.12;letter-spacing:0;overflow-wrap:break-word}
  .mark.mark-w{max-width:100%;padding:0;vertical-align:baseline}
  .mark.mark-w img{max-width:100%;height:auto;max-height:1.05em;object-fit:contain}
  .step-grid.s3,.bn,.partner-grid,.partners-in,.faq-grid,.contact-card,.pre-steps .pre-card,.pre-adv-in{grid-template-columns:minmax(0,1fr)}
  .step-grid.s3,.bn{margin-top:28px;gap:16px}
  .bn{padding-bottom:0;perspective:none}
  .bn-c{grid-column:auto;will-change:auto;transform-style:flat}
  .step{padding:10px 10px 24px;gap:18px;border-radius:24px}
  .step-grid.s3 .step-v{height:auto;border-radius:18px}
  .step-t{padding:0 12px;gap:10px}
  .num{flex:none;aspect-ratio:1}
  .step h3{font-size:24px;letter-spacing:0}
  .step p,.bn-c p,.partners-l .partners-p,.partner-side p,.note,.foot p,.of p,.pre-intro,.pre-list li p,.pre-adv-r p,.pf-ref,.pf-msg{font-size:16px}
  .bn-t{padding:20px}
  .bn-c h3{font-size:22px;letter-spacing:0}
  .bn-a>img{max-width:calc(100% - 32px);width:calc(100% - 32px)}
  .pcount{padding-block:16px 24px}
  .pcount-in{gap:12px}
  .pcount-n{font-size:38px;letter-spacing:0}
  .pcount-l{text-align:center;max-width:100%}
  .of-rows{margin-top:28px;gap:16px;padding-inline:var(--gut)}
  .of-row{width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;transform:none!important;will-change:auto;padding-bottom:8px;gap:12px}
  .of{width:min(280px,calc(100vw - 48px));scroll-snap-align:start}
  .of-t{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px}
  .of-t>div{min-width:0}
  .of h4{overflow-wrap:break-word}
  .partners-in{gap:24px}
  .partners-l h2{font-size:30px;letter-spacing:0}
  .partners-mosaic{aspect-ratio:1/1.05;gap:8px}
  .pv-d b{font-size:14px;letter-spacing:0}
  .pv-plus{width:36px}
  .pv-unl{gap:5px;padding:6px;left:6px;right:6px}
  .pv-unl b{font-size:12px}
  .join h2{font-size:30px;letter-spacing:0}
  .join-in{gap:18px}
  .join .qr{max-width:100%;width:100%;padding:16px;flex-direction:column;text-align:center}
  .join .stores{width:100%;display:grid;grid-template-columns:1fr;gap:12px}
  .store{min-height:48px;justify-content:center}
  .faq-grid{gap:24px}
  .faq-head{position:static}
  .faq h2{font-size:32px}
  summary{min-height:56px;padding:18px 0;font-size:17px;gap:12px;letter-spacing:0}
  summary i{width:44px;height:44px}
  details p,details .ans{font-size:16px;padding:0 0 20px}
  .contact-card{padding:24px 20px;gap:24px}
  .contact h2{font-size:30px}
  .mail{min-width:0}
  .mail code{max-width:100%;font-size:16px}
  footer{padding-top:36px}
  .foot{grid-template-columns:minmax(0,1fr);gap:24px}
  .foot>div:first-child{grid-column:auto}
  .foot ul{gap:4px;font-size:16px}
  .foot ul a{display:flex;align-items:center;min-height:44px}
  .foot h5{margin-bottom:8px}
  .legal{margin-top:28px;gap:12px;font-size:16px;line-height:1.5}
  .js .rv,.js .steps .step.rv{opacity:1;transform:none;filter:none;transition:none}
  .hero h1>span,.hero .sub,.hero .lead,.hero-cta,.hero-mock{animation:none!important;opacity:1!important;transform:none!important}
  .hero h1 .mark-w img,.js .mark.mark-w img{animation:none!important;mask:none;-webkit-mask:none;transition:none}
  .how i,.pv-plus,.pv-unl,.pcount-dot,.marquee-track{animation:none}
  .bn-c::before,.bn-c::after,.chalk-dust{display:none}
  .pre-grid{gap:24px!important;padding-bottom:28px}
  .pre-hero .hero-copy h1{font-size:clamp(48px,13vw,68px)}
  .pre-hero h1 .mark-w img{width:auto;max-width:100%;height:.82em}
  .pre-form-wrap{scroll-margin-top:calc(100px + env(safe-area-inset-top,0px));width:100%}
  .pre-form{padding:24px 16px;border-radius:24px;gap:14px;max-width:100%}
  .pre-form h2{font-size:26px;letter-spacing:0}
  .pre-form input,.pf-f input{font-size:16px!important;min-height:52px}
  .pre-intro{font-size:16px}
  .pf-row{grid-template-columns:minmax(0,1fr)}
  .sp-track{width:100%;max-width:100%;margin:0;padding:4px 0;overscroll-behavior-x:contain}
  .sp-chip{min-width:44px;min-height:44px;touch-action:manipulation}
  .pf-lbl{font-size:16px;overflow-wrap:anywhere}
  .pre-form .pf-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;min-height:44px;font-size:16px}
  .pf-ref-row{flex-direction:column;gap:12px}
  .pf-ref-row input{width:100%}
  .pre-card{padding:24px 16px;border-radius:24px}
  .pre-mock{padding:12px;border-radius:20px}
  .pre-list h2,.pre-adv-l h2{font-size:30px;letter-spacing:0}
  .pre-list li{gap:12px}
  .pre-list li h3,.pre-adv-r h3{font-size:20px;letter-spacing:0}
  .pre-list li p,.pre-adv-r p{font-size:16px}
  .pre-adv-l{position:static}
  .pre-adv-in.pre-card{padding:12px 0;gap:24px}
  .pre-adv-r article{padding:16px 0;column-gap:12px;border-radius:0}
  .pre-adv-r .bn-ic{width:44px;height:44px;border-radius:8px}
  footer .foot{grid-template-columns:minmax(0,1fr)!important;gap:24px}
  .pm-ov.pm-ov{padding:12px var(--gut) max(12px,env(safe-area-inset-bottom,0px));top:var(--dialog-top,0px);bottom:auto;height:100dvh;align-items:center}
  .pm-ov .pm-card{padding:0;border-radius:24px;max-height:calc(var(--dialog-height,100dvh) - 24px - env(safe-area-inset-bottom,0px));overflow:hidden;width:100%;display:flex;flex-direction:column;background:var(--chalk);color:var(--cream)}
  .pm-card form{min-height:0;display:flex;flex-direction:column}
  .pm-fields{padding:54px 16px 8px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
  .pm-card .pm-x{width:44px;height:44px;top:8px;right:8px;z-index:2;background:var(--chalk2);color:var(--cream)}
  .pm-tag{max-width:calc(100% - 8px);font-size:16px}
  .pm-card .pm-sub{font-size:16px}
  .pm-f input,.pm-f textarea{min-height:48px;font-size:16px}
  .pm-card .pm-f label{font-size:13px;letter-spacing:0}
  .pm-card .pm-btn{flex:none;position:relative;margin:8px 16px 16px;width:calc(100% - 32px);min-height:52px;background:var(--lime);color:var(--ink)}
  .pm-ok{padding:60px 20px 32px}
  .pre-page .logo-row{margin-top:24px}
}
@media(min-width:1024px){.nav-toggle{display:none}}@media (max-width:1023px){
  .av-card,.av-ref{padding:20px;border-radius:22px}
  .av-grid{gap:12px}
  .av-sub,.av-card p,.av-ref p,.av-tiers li{font-size:16px}
  .av-cta .btn{width:100%}
  .pf-space{padding:22px 16px;border-radius:26px}
  .ps-stats{grid-template-columns:1fr 1fr}
  .ps-big b{font-size:44px}
  .ps-rank b{font-size:21px}
}
