/* v28 mobile precision pass: faster sponsor flow, tighter rhythm, aligned actions. */
@media (max-width:680px){
  :root{--mobile-edge:14px}

  body{line-height:1.55}
  .category-bar{height:46px}
  .category-scroll a,.category-scroll button{
    min-width:124px;
    height:46px;
    padding:0 9px;
    gap:6px;
    font-size:11.5px;
    letter-spacing:-.035em;
  }
  .category-scroll i{width:21px;height:21px;flex-basis:21px;font-size:8.5px}

  .hero{padding:25px var(--mobile-edge) 27px}
  .eyebrow{font-size:10.5px}
  .hero h1{margin:12px 0 13px;font-size:32px;line-height:1.11}
  .hero-copy>p{font-size:14.5px;line-height:1.55}
  .hero-actions{gap:7px;margin-top:17px}
  .hero-actions .button{min-height:48px;padding:0 11px;font-size:12.5px}
  .hero-proof{margin-top:13px}
  .hero-proof li,.hero-proof li:last-child{min-height:56px;padding:7px}
  .hero-proof b{font-size:13px}
  .hero-proof span{font-size:10.5px;line-height:1.28}

  .button,
  .quick-check-submit,
  .repair-cta,
  .benefit-card button,
  .consult-form>button,
  .partner-cta .button{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:9px;
    line-height:1.2;
  }
  .button>span,
  .quick-check-submit>span,
  .repair-cta>span,
  .benefit-card button>span,
  .consult-form>button>span,
  .partner-cta .button>span{
    width:20px;
    min-width:20px;
    height:20px;
    margin-left:auto;
    display:inline-grid;
    place-items:center;
    font-size:16px;
    line-height:1;
    transform:none;
  }

  .quick-check{margin-top:19px;padding:15px var(--mobile-edge) 16px}
  .quick-check-visual{height:124px;margin:-15px calc(var(--mobile-edge) * -1) 14px}
  .quick-check-head{padding-bottom:11px}
  .quick-check-head h2{margin-top:5px;font-size:19px;line-height:1.28}
  .quick-check-head>b{width:40px;height:40px;flex-basis:40px}
  .quick-check fieldset{margin-top:11px}
  .quick-check legend{margin-bottom:7px;font-size:13.5px}
  .quick-choice-grid{gap:6px}
  .quick-choice-grid button{min-height:44px;padding:6px 5px;font-size:12.5px;line-height:1.25}
  .quick-region{margin-top:11px;font-size:13.5px}
  .quick-region input{height:46px;margin-top:5px}
  .quick-check-submit{height:50px;margin-top:11px;padding:0 14px;font-size:14px}
  .quick-check>p{margin-top:7px;font-size:11.5px;line-height:1.4}

  .assurance-strip article{padding:13px var(--mobile-edge)}
  .assurance-strip small{font-size:10.5px}
  .assurance-strip strong{margin-top:3px;font-size:17px;line-height:1.3}
  .assurance-strip span{margin-top:3px;font-size:13px;line-height:1.4}
  .metrics>div{min-height:75px;padding:10px 12px}
  .metrics strong{font-size:18px;line-height:1.25}
  .metrics span{margin-top:3px;font-size:10.5px;line-height:1.3}

  .section{padding:43px 0}
  .section-heading{margin-bottom:19px}
  .section-heading h2,.why-copy h2,.partner-cta h2,.consult-copy h2{
    margin-top:7px;
    font-size:28px;
    line-height:1.15;
  }
  .section-heading>p{margin-top:10px;font-size:14px;line-height:1.52}
  .comparison-section{padding-top:43px}

  .point-grid{gap:7px}
  .point-grid article{min-height:0;padding:15px 15px 16px}
  .point-grid small{padding:5px 8px;font-size:9.5px}
  .point-grid b{margin-top:12px;font-size:18px;line-height:1.34}
  .point-grid span{margin-top:6px;font-size:13.5px;line-height:1.48}

  .comparison-board{margin-top:14px}
  .comparison-board>header{padding:18px 15px}
  .comparison-board>header h3{font-size:21px;line-height:1.27}
  .comparison-board>header p{margin-top:5px;font-size:12px;line-height:1.4}
  .scope-row{padding:14px 15px;border-bottom-width:5px}
  .scope-row>*{padding:3px 0}
  .scope-row th[scope="row"]{font-size:17px;line-height:1.35}
  .scope-row td{font-size:13px;line-height:1.42}
  .scope-row td:before{width:76px;font-size:10.5px}
  .scope-row .service-select{
    min-height:44px;
    margin-top:7px;
    padding:0 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    font-size:13px;
    line-height:1.2;
  }
  .scope-row .service-select .action-label{text-align:left}
  .scope-row .service-select>i{margin-left:auto;font-size:16px;font-style:normal;line-height:1}
  .comparison-board>footer{padding:15px}
  .comparison-board>footer p{font-size:11.5px;line-height:1.48}
  .comparison-board>footer .button{min-height:48px;margin-top:11px;font-size:13px}

  .service-section{padding-bottom:43px}
  .service-grid.eight-services{gap:7px}
  .service-grid.eight-services .service-image{height:94px}
  .service-grid.eight-services .service-body{padding:10px 9px 9px}
  .service-grid.eight-services .service-body h3{font-size:15px;line-height:1.28}
  .service-grid.eight-services .service-body>p{margin:5px 0 6px;font-size:11.5px;line-height:1.4}
  .service-grid.eight-services .service-highlight{min-height:40px;padding:6px;font-size:10.5px;line-height:1.35}
  .service-grid.eight-services .service-detail-action{min-height:29px;padding-top:7px;font-size:12px;line-height:1.2}
  .service-detail-action i{font-size:15px;line-height:1}

  .repair-section{padding-top:35px;padding-bottom:35px}
  .repair-panel{padding:19px 16px}
  .repair-mark{width:48px;height:48px;margin-bottom:13px;font-size:24px}
  .repair-copy h2{margin:7px 0 8px;font-size:25px}
  .repair-copy p{font-size:13.5px;line-height:1.5}
  .repair-copy ul{gap:5px;margin:12px 0 8px}
  .repair-copy li{min-height:38px;padding:6px;font-size:10.5px}
  .repair-cta{min-height:48px;margin-top:14px;padding:0 14px;font-size:14px}

  .offer-section .section{padding-top:43px;padding-bottom:43px}
  .benefit-grid.eight-benefits{gap:7px}
  .benefit-grid.eight-benefits .benefit-card{min-height:202px;padding:12px 10px 10px}
  .benefit-grid.eight-benefits .benefit-card header small,
  .benefit-grid.eight-benefits .benefit-card header b{font-size:9.5px}
  .benefit-grid.eight-benefits .benefit-card header b{padding:5px 7px}
  .benefit-grid.eight-benefits .benefit-card h3{margin-top:12px;font-size:15px;line-height:1.32}
  .benefit-grid.eight-benefits .benefit-card p{font-size:12px;line-height:1.42}
  .benefit-grid.eight-benefits .benefit-card button{min-height:42px;padding-top:7px;font-size:12px}
  .benefit-disclaimer{margin-top:13px;font-size:11.5px;line-height:1.48}

  .field-section{padding-top:43px}
  .trust-rule-grid{gap:6px;margin-bottom:13px}
  .trust-rule-grid article{min-height:0;padding:15px}
  .trust-rule-grid b{font-size:10.5px}
  .trust-rule-grid strong{margin-top:11px;font-size:17px;line-height:1.35}
  .trust-rule-grid span{margin-top:5px;font-size:13px;line-height:1.45}
  .field-grid{gap:7px}
  .field-grid figure,.field-grid figure:first-child{min-height:136px}
  .field-grid img,.field-grid figure:first-child img{min-height:136px}
  .field-grid figcaption{padding:11px}
  .field-grid strong{font-size:15px;line-height:1.32}
  .field-grid span{font-size:12px;line-height:1.4}
  .partner-strip{padding:15px}

  .why-free{padding:43px var(--mobile-edge)}
  .why-copy p{margin:13px 0 17px;font-size:14px;line-height:1.5}
  .why-visual{height:154px;margin:15px 0}
  .why-list{margin-top:23px}
  .why-list article{grid-template-columns:31px 1fr;gap:9px;padding:12px 0}
  .why-list strong{font-size:16px;line-height:1.35}
  .why-list p{margin-top:4px;font-size:13px;line-height:1.42}

  .process-section{padding-bottom:43px}
  .process-grid article{padding:14px 15px}
  .process-grid strong{margin-top:9px;font-size:17px;line-height:1.34}
  .process-grid p{margin-top:5px;font-size:13.5px;line-height:1.46}
  .audience-section .section{padding-top:43px;padding-bottom:43px}
  .audience-grid{gap:7px}
  .audience-grid article{min-height:0;padding:15px}
  .audience-grid small{padding:5px 7px;font-size:9.5px}
  .audience-grid strong{margin-top:12px;font-size:17px;line-height:1.38}
  .audience-grid p{margin-top:6px;font-size:13.5px;line-height:1.46}

  .faq-section{padding-top:43px}
  .faq-list summary{min-height:54px;padding:12px 3px;font-size:15px}
  .faq-list details p{padding:0 34px 14px 3px;font-size:13.5px;line-height:1.5}
  .partner-cta{margin-top:34px;margin-bottom:34px;padding:23px 18px}
  .partner-cta p{margin-top:10px;font-size:13.5px;line-height:1.5}
  .partner-cta .button{min-height:48px;margin-top:15px;font-size:13px}

  .consult-section{padding:43px var(--mobile-edge)}
  .consult-copy>p{margin:14px 0;font-size:14px;line-height:1.5}
  .consult-copy li{padding:6px 0;font-size:13px}
  .consult-visual{height:154px;margin:15px 0}
  .button-kakao{min-height:48px;margin-top:16px;font-size:13px}
  .consult-form{margin-top:22px;padding:18px 14px}
  .consult-form-head{margin:-18px -14px 16px;padding:15px 14px}
  .consult-form label{margin-bottom:11px;font-size:14px}
  .consult-form>button{height:50px;padding:0 14px;font-size:14px}

  /* Detail pages use the same compact reading rhythm. */
  .detail-hero{padding:31px var(--mobile-edge) 35px}
  .breadcrumb{margin-bottom:17px}
  .detail-hero h1{margin:12px 0 14px;font-size:32px;line-height:1.12}
  .detail-hero-copy>p{font-size:14.5px;line-height:1.55}
  .detail-actions{gap:7px;margin-top:19px}
  .detail-actions .button{min-height:48px;padding:0 11px;font-size:12.5px}
  .detail-badges{gap:5px;margin-top:14px}
  .detail-badges li{padding:6px 8px;font-size:11px}
  .detail-hero-media{height:285px;margin-top:21px}
  .detail-metrics>div{min-height:78px;padding:0 8px}
  .detail-metrics strong{font-size:18px}
  .detail-metrics span{margin-top:3px;font-size:11px;line-height:1.3}
  .detail-section{width:calc(100% - 28px);padding:43px 0}
  .detail-heading{margin-bottom:19px}
  .detail-heading h2{margin-top:8px;font-size:28px;line-height:1.16}
  .detail-heading p{margin-top:9px;font-size:14px;line-height:1.5}
  .detail-benefit-grid{grid-template-columns:1fr 1fr}
  .detail-benefit-card{min-height:190px;padding:14px 12px}
  .detail-benefit-card>strong{margin-top:16px;font-size:16px;line-height:1.35}
  .detail-benefit-card>p{margin-top:7px;font-size:13px;line-height:1.45}
  .detail-compare{padding:43px var(--mobile-edge)}
  .detail-compare h2{margin:9px 0 12px;font-size:28px}
  .detail-compare>div>p{font-size:14px;line-height:1.5}
  .compare-list{margin-top:22px}
  .compare-item{padding:14px 0}
  .compare-item strong{font-size:16px}
  .compare-item p{margin-top:5px;font-size:13.5px;line-height:1.45}
  .detail-process-section{padding-bottom:43px}
  .detail-process-grid{grid-template-columns:1fr}
  .detail-process-card{min-height:0;padding:14px 15px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
  .detail-process-card strong{margin-top:10px;font-size:17px}
  .detail-process-card p{margin-top:5px;font-size:13.5px;line-height:1.45}
  .prep-card,.faq-card{padding:21px 16px}
  .prep-card h2,.faq-card h2{margin:9px 0 18px;font-size:24px}
  .related-section{padding-top:35px}
  .related-grid{gap:7px}
  .related-grid a{min-height:145px;padding:17px}
  .related-grid strong{margin-top:17px;font-size:18px}
  .related-grid span{margin-top:6px;font-size:13px;line-height:1.45}
  .related-grid i{padding-top:11px;font-size:13px}
  .detail-final-cta{padding:39px var(--mobile-edge) 86px}
  .detail-final-cta h2{margin:9px 0 8px;font-size:27px}
  .detail-final-cta p{font-size:14px;line-height:1.5}
  .detail-final-cta>div:last-child{gap:7px;margin-top:18px}
  .detail-final-cta .button{min-height:48px;font-size:12.5px}

  .mobile-bar{
    min-height:calc(56px + env(safe-area-inset-bottom));
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    gap:6px;
  }
  .mobile-bar>button,.mobile-bar>a{height:44px;min-height:44px;padding:0 6px;font-size:13px;line-height:1.2}

  body.sponsor-dock-ready{padding-bottom:calc(128px + env(safe-area-inset-bottom))!important}
  body.sponsor-dock-ready.has-mobile-action{padding-bottom:calc(184px + env(safe-area-inset-bottom))!important}
  .sponsor-dock{height:126px;padding:3px 0 5px}
  body.has-mobile-action .sponsor-dock{bottom:calc(56px + env(safe-area-inset-bottom))}
  .sponsor-dock-head{height:20px;padding:0 8px;font-size:8.5px}
  .sponsor-dock-head b{font-size:9px}
  .sponsor-dock-viewport{padding-left:5px;contain:layout paint}
  .sponsor-dock-track{
    gap:5px;
    animation:sponsor-dock-flow-v28 8s linear infinite!important;
    animation-play-state:running!important;
    backface-visibility:hidden;
  }
  .sponsor-dock-card{flex-basis:calc((100vw - 15px)/2);height:94px}
  .sponsor-dock-viewport:focus-within .sponsor-dock-track{animation-play-state:running!important}
  @keyframes sponsor-dock-flow-v28{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-50% - 2.5px),0,0)}
  }
}

@media (max-width:680px) and (prefers-reduced-motion:reduce){
  .sponsor-dock-track{
    animation-name:sponsor-dock-flow-v28!important;
    animation-duration:8s!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
    animation-play-state:running!important;
  }
}

@media (max-width:380px){
  .hero h1,.detail-hero h1{font-size:30px}
  .hero-actions .button,.detail-actions .button{font-size:11.5px}
  .benefit-grid.eight-benefits .benefit-card{min-height:198px}
}
