#sosMobileV3{display:none}
@media(max-width:760px){
  body.sos-mobile-v3-on{background:#f7f9fc;overflow-x:hidden;padding-bottom:0}
  body.sos-mobile-v3-on .header{height:60px;padding:0 16px;justify-content:center;background:rgba(255,255,255,.98)}
  body.sos-mobile-v3-on .header nav{display:none}
  body.sos-mobile-v3-on .brand-logo img{height:32px;max-width:170px}
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) .hero,
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) .trust-strip,
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) .how-section,
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) .secondary-band,
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) #pcs-vehicle-guides,
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) #analyze,
  body.sos-mobile-v3-on:not(.sos-mobile-v3-result) .site-footer{display:none!important}
  #sosMobileV3{display:block;min-height:calc(100dvh - 60px);background:linear-gradient(180deg,#fff 0,#f7f9fc 100%);color:#0d2032}
  .m3-screen{display:none;min-height:calc(100dvh - 60px);padding:22px 16px calc(102px + env(safe-area-inset-bottom));max-width:620px;margin:0 auto}
  .m3-screen.is-active{display:flex;flex-direction:column}
  .m3-hook{padding-top:26px;background:radial-gradient(circle at 50% 4%,rgba(23,105,255,.13),transparent 36%)}
  .m3-hook-copy{margin:auto 0 0;padding-bottom:26px}
  .m3-eyebrow{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#155fe8;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}
  .m3-hook h1{margin:16px 0 13px;font-size:clamp(37px,11vw,48px);line-height:.98;letter-spacing:-2.2px;color:#0b2c52}
  .m3-hook p{margin:0;max-width:460px;color:#5e7286;font-size:16px;line-height:1.5}
  .m3-trustline{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
  .m3-trustline span{padding:6px 9px;border:1px solid #dce5ee;border-radius:999px;background:#fff;color:#617589;font-size:10px;font-weight:800}
  .m3-top{display:flex;align-items:center;gap:12px;margin-bottom:24px}
  .m3-back{width:44px;height:44px;flex:0 0 44px;border:1px solid #dce4ec;border-radius:13px;background:#fff;color:#17364f;font-size:19px}
  .m3-progress-wrap{flex:1;min-width:0}
  .m3-progress-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:10px;font-weight:850;color:#697c90;text-transform:uppercase;letter-spacing:.55px}
  .m3-progress{height:5px;background:#e5eaf0;border-radius:999px;overflow:hidden}
  .m3-progress i{display:block;height:100%;background:#1769ff;border-radius:999px;transition:width .2s ease}
  .m3-title{margin:0 0 7px;font-size:30px;line-height:1.06;letter-spacing:-1.2px;color:#0b2c52}
  .m3-lede{margin:0 0 24px;color:#66798b;font-size:13px;line-height:1.5}
  .m3-field{position:relative;margin-bottom:18px}
  .m3-field label{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;color:#2d4358;font-size:12px;font-weight:850}
  .m3-field label small{font-weight:600;color:#8292a1}
  .m3-input,.m3-select{width:100%;min-height:54px;padding:13px 14px;border:1px solid #d5dfe8;border-radius:14px;background:#fff;color:#0d2032;font:500 16px/1.2 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;outline:none;box-shadow:0 1px 0 rgba(10,38,64,.02)}
  .m3-input:focus,.m3-select:focus{border-color:#7da5ff;box-shadow:0 0 0 4px rgba(23,105,255,.09)}
  .m3-input.is-error,.m3-select.is-error{border-color:#c4473b;box-shadow:0 0 0 4px rgba(196,71,59,.08)}
  .m3-field-note{display:block;margin-top:6px;color:#76899b;font-size:10px;line-height:1.4}
  .m3-suggestions{position:absolute;left:0;right:0;top:76px;z-index:35;max-height:280px;overflow:auto;border:1px solid #dce4ec;border-radius:15px;background:#fff;box-shadow:0 18px 48px rgba(7,31,57,.15)}
  .m3-suggestions:empty{display:none}
  .m3-suggestion{width:100%;min-height:54px;padding:11px 13px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;color:#17364f}
  .m3-suggestion:last-child{border-bottom:0}
  .m3-suggestion strong{display:block;font-size:13px}
  .m3-suggestion span{display:block;margin-top:2px;color:#718497;font-size:10px}
  .m3-suggestion:active{background:#f0f5ff}
  .m3-direction{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 20px}
  .m3-direction button{min-height:48px;border:1px solid #dbe4ed;border-radius:13px;background:#fff;color:#546a7f;font-size:12px;font-weight:800}
  .m3-direction button.is-selected{border:2px solid #1769ff;background:#edf4ff;color:#1558c8}
  .m3-card{border:1px solid #dfe7ef;border-radius:17px;background:#fff;padding:15px;margin-bottom:13px}
  .m3-card-title{display:block;margin-bottom:5px;font-size:13px;font-weight:900;color:#183850}
  .m3-card-copy{display:block;margin-bottom:12px;color:#708396;font-size:10px;line-height:1.4}
  .m3-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
  .m3-segment.two{grid-template-columns:repeat(2,1fr)}
  .m3-segment.four{grid-template-columns:repeat(4,1fr)}
  .m3-segment button{min-height:48px;padding:8px;border:1px solid #dbe4ed;border-radius:12px;background:#fff;color:#52677b;font-size:11px;font-weight:850}
  .m3-segment button.is-selected{border:2px solid #1769ff;background:#edf4ff;color:#1558c8;padding:7px}
  .m3-manual{display:none;margin-top:14px;padding-top:14px;border-top:1px solid #edf1f5}
  .m3-manual.is-open{display:block}
  .m3-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .m3-vehicle-ready{display:none;margin:12px 0 0;padding:13px;border:1px solid #bee8d9;border-radius:14px;background:#edf9f4;color:#17683d}
  .m3-vehicle-ready.is-visible{display:block}
  .m3-vehicle-ready strong{display:block;font-size:13px}
  .m3-vehicle-ready span{display:block;margin-top:3px;font-size:10px}
  .m3-more{margin:8px 0 14px;border:1px solid #dfe7ef;border-radius:15px;background:#fff;overflow:hidden}
  .m3-more summary{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;font-size:12px;font-weight:850;color:#31495f;list-style:none}
  .m3-more summary::-webkit-details-marker{display:none}
  .m3-more-body{padding:0 14px 14px}
  .m3-error{display:none;margin:4px 0 12px;padding:11px 12px;border:1px solid #efc7c3;border-radius:12px;background:#fff1ef;color:#8e3028;font-size:11px;line-height:1.4}
  .m3-error.is-visible{display:block}
  .m3-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e0e7ef;backdrop-filter:blur(16px)}
  .m3-actionbar-inner{max-width:620px;margin:0 auto}
  .m3-primary{width:100%;min-height:58px;border:0;border-radius:15px;background:#1769ff;color:#fff;font-size:16px;font-weight:900;letter-spacing:-.15px;box-shadow:0 10px 26px rgba(23,105,255,.23)}
  .m3-primary:disabled{opacity:.55;box-shadow:none}
  .m3-secondary-link{display:block;width:100%;min-height:44px;margin-top:6px;border:0;background:transparent;color:#52708d;font-size:11px;font-weight:800}
  .m3-processing{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:24px;background:#f7f9fc}
  .m3-processing.is-visible{display:grid}
  .m3-processing-card{width:min(100%,430px);text-align:center}
  .m3-orbit{position:relative;width:92px;height:92px;margin:0 auto 22px;border-radius:50%;border:8px solid #dfe8fb;border-top-color:#1769ff;animation:m3spin .8s linear infinite}
  @keyframes m3spin{to{transform:rotate(360deg)}}
  .m3-processing h2{margin:0 0 8px;color:#0b2c52;font-size:26px;letter-spacing:-.8px}
  .m3-processing p{margin:0 0 20px;color:#697d90;font-size:12px}
  .m3-statuses{max-width:330px;margin:auto;text-align:left}
  .m3-status{display:flex;align-items:center;gap:9px;padding:8px 0;color:#8292a2;font-size:11px;font-weight:750}
  .m3-status i{width:18px;height:18px;border-radius:50%;background:#e8edf2;display:grid;place-items:center;font-style:normal;font-size:9px}
  .m3-status.is-active{color:#234564}.m3-status.is-active i{background:#edf4ff;color:#1769ff}
  .m3-status.is-done{color:#17683d}.m3-status.is-done i{background:#e7f7ef;color:#087a58}
  body.sos-mobile-v3-on.sos-mobile-v3-result #sosMobileV3{display:none!important}
  body.sos-mobile-v3-on.sos-mobile-v3-result .hero,
  body.sos-mobile-v3-on.sos-mobile-v3-result .trust-strip,
  body.sos-mobile-v3-on.sos-mobile-v3-result .how-section,
  body.sos-mobile-v3-on.sos-mobile-v3-result .secondary-band,
  body.sos-mobile-v3-on.sos-mobile-v3-result #pcs-vehicle-guides{display:none!important}
  body.sos-mobile-v3-on.sos-mobile-v3-result #analyze{display:block!important;padding:12px 12px 56px;max-width:760px}
  body.sos-mobile-v3-on.sos-mobile-v3-result #analyze>.head{display:none!important}
  body.sos-mobile-v3-on.sos-mobile-v3-result .wizard{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
  body.sos-mobile-v3-on.sos-mobile-v3-result .wiztop,
  body.sos-mobile-v3-on.sos-mobile-v3-result .progress{display:none!important}
  body.sos-mobile-v3-on.sos-mobile-v3-result .wizbody{padding:0}
  body.sos-mobile-v3-on.sos-mobile-v3-result .result-topbar{padding:4px 4px 0}
  body.sos-mobile-v3-on.sos-mobile-v3-result .result-topbar p{display:none}
  body.sos-mobile-v3-on.sos-mobile-v3-result .report-nav{top:60px;margin:10px 0 14px;border-radius:12px}
  body.sos-mobile-v3-on.sos-mobile-v3-result .decision-hero{border-radius:18px;padding:19px 15px 16px}
  body.sos-mobile-v3-on.sos-mobile-v3-result .decision-name span{background:#0b2c52}
  body.sos-mobile-v3-on.sos-mobile-v3-result .score-card.best{position:relative;background:#f1fbf6!important;box-shadow:inset 0 3px #0c8a61!important}
  body.sos-mobile-v3-on.sos-mobile-v3-result .score-card.best:before{content:"Recommended";position:absolute;right:12px;top:12px;padding:4px 7px;border-radius:999px;background:#e5f7ee;color:#0b7852;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
  body.sos-mobile-v3-on.sos-mobile-v3-result .economics-result details[open] summary{border-bottom:0}
  body.sos-mobile-v3-on.sos-mobile-v3-result .site-footer{display:block}
  body.sos-mobile-v3-on.sos-mobile-v3-result .sticky-report{bottom:max(8px,env(safe-area-inset-bottom))}
}


/* Mobile V3 guided-input + keyboard visibility */
@media(max-width:760px){
  body.sos-mobile-v3-on{
    --m3-guide:#e6a525;
    --m3-guide-soft:#fff9e9;
    --m3-done:#12805c;
    --m3-done-soft:#f3fbf7;
    --m3-error:#c43d4a;
    --m3-error-soft:#fff4f5;
  }

  /* Keep the focused control visible while the CTA remains usable above the keyboard. */
  body.sos-mobile-v3-on .m3-actionbar{
    transition:box-shadow .16s ease;
  }
  body.sos-mobile-v3-on.m3-input-active .m3-actionbar{
    box-shadow:0 -10px 28px rgba(8,31,54,.08);
  }
  body.sos-mobile-v3-on.m3-input-active .m3-field:focus-within .m3-suggestions{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    margin-top:8px;
    max-height:min(220px,32vh);
    overscroll-behavior:contain;
  }

  /* Gold = the next useful action. */
  .m3-field.m3-next-needed,
  .m3-card.m3-next-needed{
    border-color:var(--m3-guide)!important;
    background:var(--m3-guide-soft)!important;
    box-shadow:0 0 0 3px rgba(230,165,37,.16),0 10px 28px rgba(121,86,17,.08);
  }
  .m3-field.m3-next-needed{
    border:1px solid var(--m3-guide);
    border-radius:16px;
    padding:10px;
    margin-left:-10px;
    margin-right:-10px;
  }
  .m3-card.m3-next-needed .m3-card-title::after,
  .m3-field.m3-next-needed>label::after{
    content:"NEXT";
    display:inline-flex;
    align-items:center;
    min-height:20px;
    margin-left:8px;
    padding:2px 7px;
    border-radius:999px;
    background:#f2b63d;
    color:#4c3500;
    font-size:8px;
    font-weight:950;
    letter-spacing:.65px;
    vertical-align:middle;
  }

  /* Green = consciously completed. */
  .m3-field.m3-complete,
  .m3-card.m3-complete{
    border-color:#b7dfd0!important;
    background:var(--m3-done-soft)!important;
  }
  .m3-card.m3-complete .m3-card-title::after{
    content:"✓";
    display:inline-grid;
    place-items:center;
    width:20px;
    height:20px;
    margin-left:7px;
    border-radius:50%;
    background:#dff4eb;
    color:var(--m3-done);
    font-size:11px;
    font-weight:950;
    vertical-align:middle;
  }

  /* Red = validation failed here; the message and the actual control are linked visually. */
  .m3-field.m3-error-target,
  .m3-card.m3-error-target{
    border-color:var(--m3-error)!important;
    background:var(--m3-error-soft)!important;
    box-shadow:0 0 0 4px rgba(196,61,74,.13),0 10px 28px rgba(115,26,37,.08);
    animation:m3ErrorPulse .34s ease-out 1;
  }
  .m3-field.m3-error-target{
    border:1px solid var(--m3-error);
    border-radius:16px;
    padding:10px;
    margin-left:-10px;
    margin-right:-10px;
  }
  .m3-error.is-visible{
    border:1px solid #efb8bf;
    border-radius:13px;
    background:#fff1f3;
    color:#8e2633;
    padding:11px 12px;
    font-weight:750;
    box-shadow:0 6px 18px rgba(117,29,41,.06);
  }
  .m3-inline-error{
    margin-top:10px;
    padding:9px 10px;
    border-radius:10px;
    background:#ffe8eb;
    color:#8e2633;
    font-size:11px;
    font-weight:800;
    line-height:1.4;
  }
  @keyframes m3ErrorPulse{
    0%{transform:scale(.992)}
    55%{transform:scale(1.006)}
    100%{transform:scale(1)}
  }

  .m3-actionbar.m3-ready .m3-primary{
    box-shadow:0 0 0 3px rgba(23,105,255,.10),0 12px 28px rgba(23,105,255,.20);
  }
}
