/* Keep each complete rank demo in view within the problem → solution → result story. */
h1,h2,h3,.button{font-weight:800}
.focused-hero h1,.daily-copy h2,.youtube-section h2,.process-heading h2,.final-cta h2{font-weight:800}
.sector-lead,.simple-video-description,.simple-steps p,.daily-copy>p,.flow-heading>p{font-weight:600;color:#becab5}
.page-home .sector,.sector{display:block;padding:30px 36px;border-radius:12px;background:#101610}
.sector .sector-intro{display:block;width:100%;max-width:820px;margin:0 auto 24px;align-self:auto}
.sector .sector-intro h2{font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.35;margin:0;letter-spacing:-.045em}
.sector-eyebrow,.sector-place .sector-eyebrow{font-size:13px;font-weight:700;margin-bottom:9px}
.rank-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'top top' 'phone summary' 'phone trend' 'caption caption' 'note note';gap:10px 30px;max-width:820px;width:100%;padding:0;scroll-margin-top:90px}
.rank-overview .demo-top{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 2px;font-size:13px;line-height:1.4}
.rank-overview .demo-query{font-size:15px;font-weight:750;color:#e6eddf}
.rank-overview .demo-label{font-size:11px;color:#b6c4aa;font-weight:600}
.rank-overview .position-head{grid-area:summary;margin:0;max-width:none;align-items:center;gap:12px}
.rank-overview .position-label{display:flex;justify-content:space-between;font-size:12px;font-weight:650;color:#a2b093;line-height:1.4}
.rank-overview .position-label span{color:#d4e8b4}
.rank-overview .position-head h4{font-size:43px;font-weight:850;gap:13px;line-height:1.2;margin-top:4px}
.rank-overview .start-rank{font-size:29px;font-weight:700;color:#a9b999}
.rank-overview .current-rank{font-weight:850;color:#d6f59f}
.rank-overview .position-arrow{font-size:22px;color:#80916d}
.rank-overview .rank-change{padding:0;background:none;font-size:12px;font-weight:700;color:#d4e8b1;white-space:nowrap}
.rank-overview .rank-change.down{color:#dfbb96;background:none}
.rank-overview .rank-chart{grid-area:phone;padding:0;margin:0;min-width:0}
.rank-overview .search-phone{width:100%;max-width:none;margin:0;border:0;border-radius:10px;box-shadow:none;overflow:hidden}
.rank-overview .phone-search{height:45px;box-sizing:border-box;margin:0;border:0;border-radius:0;padding:10px 13px;background:#fff;gap:9px}
.rank-overview .naver-n{font-size:22px;line-height:1;font-weight:950}
.rank-overview .phone-query{font-size:15px;font-weight:750;white-space:nowrap}
.rank-overview .phone-result-label{margin-left:auto;background:transparent;padding:0;font-size:10px;font-weight:550;white-space:nowrap;color:#687168}
.rank-overview .phone-results{padding:0;position:relative;overflow:hidden}
.rank-overview .search-result{display:flex;align-items:center;gap:10px;height:69px;box-sizing:border-box;padding:9px 12px;background:#fff;border:0;border-top:1px solid #e9eee5;contain:layout}
.rank-overview .result-rank{flex:0 0 32px;font-size:13px;font-weight:800;line-height:1.4;color:#69715e}
.rank-overview .result-thumb{width:44px;height:44px;flex:0 0 44px;aspect-ratio:1;border-radius:5px}
.rank-overview .result-info{min-width:0;position:relative;padding-right:0}
.rank-overview .result-title{font-size:12px;line-height:1.4;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;margin:0 0 4px;color:#263027}
.rank-overview .result-detail{font-size:12px;font-weight:700;line-height:1.2;color:#3c4939;margin:0}
.rank-overview .my-result{background:#f0f8e6;box-shadow:inset 3px 0 #6f9c40}
.rank-overview .my-result .result-rank{color:#346717}
.rank-overview .my-result .result-title{color:#233d16;font-weight:800}
.rank-overview .my-tag{position:absolute;right:0;bottom:0;margin:0;padding:1px 4px;font-size:9px;line-height:1.4;background:#467a24;color:#fff;border-radius:3px}
.rank-overview .my-result .result-detail{padding-right:46px}
.rank-overview .rank-trend{grid-area:trend;align-self:end;margin:0;min-width:0}
.rank-overview .trend-heading{font-size:12px;font-weight:600;line-height:1.4;color:#c3d1b4}
.rank-overview .trend-heading strong{font-weight:750}
.rank-overview .trend-heading>span:last-child{font-size:11px;color:#a6b895}
.rank-overview .rank-trend svg{width:100%;height:auto;display:block;overflow:visible;margin:2px 0 0}
.rank-overview .rank-axis path{fill:none;stroke:#87987535;stroke-width:.7}
.rank-overview .rank-axis text,.rank-overview .rank-axis-label{fill:#adbda0;font-size:12px;font-weight:650}
.rank-overview .trend-guide{stroke:#425136;stroke-dasharray:none;stroke-width:1.5;opacity:.65}
.rank-overview .trend-line{stroke:#d4eda4;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.rank-overview .trend-node{stroke:#536647;fill:#1a2417;stroke-width:1.5}
.rank-overview .trend-node.is-past{fill:#c9e696;stroke:#c9e696}
.rank-overview .trend-cursor{stroke-width:7;fill:#e8f9c9;stroke:#cbe9a326}
.rank-overview .trend-clip,.rank-overview .trend-cursor{transition-duration:.8s;transition-timing-function:cubic-bezier(.2,.7,.2,1)}
.rank-overview.is-idle .trend-clip,.rank-overview.is-idle .trend-cursor{transition:none}
.rank-caption{grid-area:caption;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;color:#dce9cc}
.rank-caption-text{font-size:14px;line-height:1.5;font-weight:750}
.rank-replay{font-size:12px;line-height:1.5;font-weight:700;color:#c2d6aa;min-height:32px;padding:3px 0 3px 10px;white-space:nowrap}
.rank-replay[hidden]{display:none!important}
.rank-replay:focus-visible{outline:2px solid #daedba;outline-offset:3px}
.rank-overview .demo-note{grid-area:note;max-width:none;margin:0;text-align:left;font-size:11px;line-height:1.6;font-weight:500;color:#9baa8d}
.rank-references{padding-top:8px}
.references-heading h2,.reference-card h3{font-weight:800}
.reference-ranks b{font-weight:750}
.flow-section{padding:18px 0 90px}
.flow-heading{align-items:center;gap:40px}
.flow-heading h2{font-size:clamp(29px,3.6vw,43px);font-weight:800;line-height:1.4;letter-spacing:-.045em}
.flow-heading .section-kicker{font-size:13px;margin-bottom:13px;font-weight:750}
.flow-heading>p{font-size:16px;font-weight:600;line-height:1.8;margin:0}
.comparison-chart{max-width:900px;margin:34px auto 0;padding:28px 32px;background:#121a10;border-radius:10px}
.comparison-chart figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:750;line-height:1.5;color:#d6e4c8;margin-bottom:24px}
.comparison-chart figcaption small{font-size:11px;font-weight:600;color:#a8b698}
.comparison-rows{display:grid;gap:20px}
.comparison-row{display:grid;grid-template-columns:40px 1fr 48px;align-items:center;gap:16px}
.comparison-row>span{font-size:13px;font-weight:700;color:#b2c0a2}
.comparison-row>b{font-size:22px;font-weight:800;text-align:right;line-height:1.3;color:#becbab;font-variant-numeric:tabular-nums}
.comparison-row:last-child>b{color:#d9efa8}
.comparison-track{position:relative;height:22px;background:#283320;border-radius:3px;overflow:hidden}
.comparison-fill{width:var(--bar);height:100%;background:#8fa277;border-radius:3px;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.comparison-row:last-child .comparison-fill{background:#cbe78e}
.comparison-scale{display:flex;justify-content:space-between;margin:10px 64px 0 56px;font-size:11px;color:#8fa07b;font-weight:600}
.comparison-chart>p{font-size:12px;font-weight:650;color:#acbd96;line-height:1.8;margin-top:20px}
.comparison-chart>p strong{color:#dce9c9}
.flow-note{font-size:11px;line-height:1.8;margin-top:14px;color:#92a580}
.polish-motion .comparison-chart:not(.in-view) .comparison-fill{width:0}
.daily-copy>p:not(.section-kicker):not(.daily-lead){font-weight:600;color:#bdcdb0}
.simple-video-description{font-weight:600;color:#b7c7ab}
.simple-steps article>b{font-size:44px;font-weight:800;margin-bottom:16px;color:#b8d18f}
.simple-steps h3{font-weight:800;font-size:23px}
.simple-steps p{font-weight:600;font-size:16px}
.video-card-body h3{font-weight:750}.more-guidance>summary{font-weight:700}
.service-card h3,.decision-list summary{font-weight:750}.service-card p,.decision-list p{font-weight:550}
@media(max-width:900px){.page-home .sector,.sector{padding:27px 26px}.rank-overview{gap:9px 22px}.rank-overview .position-head h4{font-size:36px}.rank-overview .start-rank{font-size:25px}.rank-overview .rank-change{font-size:11px}.rank-overview .phone-search{padding-inline:10px}.rank-overview .search-result{gap:8px;padding-inline:9px}}
@media(max-width:680px){
 .page-home .sector,.sector{padding:22px 16px;border-radius:10px}.sector .sector-intro{margin-bottom:20px}.sector .sector-intro h2{font-size:26px;line-height:1.4}.sector-eyebrow,.sector-place .sector-eyebrow{font-size:12px;margin-bottom:7px}
 .rank-overview{grid-template-columns:minmax(0,1fr);grid-template-areas:'top' 'summary' 'phone' 'trend' 'caption' 'note';gap:7px;max-width:440px;scroll-margin-top:82px}
 .rank-overview .demo-top{margin:0;line-height:1.3}.rank-overview .demo-query{font-size:14px}.rank-overview .demo-label{font-size:10px}
 .rank-overview .position-label{font-size:11px}.rank-overview .position-head{padding:0 0 2px}.rank-overview .position-head h4{font-size:35px;line-height:1.15;gap:14px;margin-top:3px}.rank-overview .start-rank{font-size:25px}.rank-overview .rank-change{font-size:11px}
 .rank-overview .phone-search{height:36px;padding:6px 10px;gap:8px}.rank-overview .phone-query{font-size:14px}.rank-overview .naver-n{font-size:20px}.rank-overview .phone-result-label{font-size:9px}
 .rank-overview .search-result{height:57px;padding:6px 9px;gap:8px}.rank-overview .result-rank{flex-basis:29px;font-size:12px}.rank-overview .result-thumb{width:38px;height:38px;flex-basis:38px}.rank-overview .result-title{font-size:12px;line-height:1.4;margin-bottom:3px}.rank-overview .result-detail{font-size:12px}.rank-overview .my-tag{font-size:8px}
 .rank-overview .trend-heading{font-size:11px;line-height:1.3}.rank-overview .trend-heading>span:last-child{font-size:10px}.rank-overview .rank-trend svg{height:94px;max-height:94px;margin:0}.rank-overview .rank-axis text,.rank-overview .rank-axis-label{font-size:13px}
 .rank-caption{min-height:27px;gap:6px}.rank-caption-text{font-size:12px;font-weight:750}.rank-replay{font-size:11px;min-height:27px;padding:3px 0 3px 5px}.rank-overview .demo-note{font-size:10px;line-height:1.6}
 .flow-section{padding:10px 0 70px}.flow-heading h2{font-size:29px}.flow-heading>p{font-size:15px;margin-top:16px}.flow-heading .section-kicker{font-size:12px}
 .comparison-chart{padding:22px 16px;margin-top:25px}.comparison-chart figcaption{font-size:12px;margin-bottom:22px}.comparison-chart figcaption small{font-size:10px}.comparison-row{gap:10px;grid-template-columns:32px 1fr 40px}.comparison-row>span{font-size:12px}.comparison-row>b{font-size:20px}.comparison-track{height:19px}.comparison-scale{margin-left:42px;margin-right:50px;font-size:10px}.comparison-chart>p{font-size:12px;margin-top:16px}.flow-note{font-size:10px}
 .simple-steps article>b{font-size:36px;margin:0}.simple-steps h3{font-size:21px}.simple-steps p{font-size:15px}
}
@media(max-width:680px) and (max-height:700px){.rank-overview{gap:5px}.rank-overview .search-result{height:50px}.rank-overview .phone-search{height:33px}.rank-overview .result-thumb{width:33px;height:33px;flex-basis:33px}.rank-overview .position-head h4{font-size:31px}.rank-overview .rank-trend svg{height:83px;max-height:83px}.rank-overview .trend-heading{font-size:10px}.rank-overview .result-title{font-size:12px}.rank-overview .result-detail{font-size:12px}}
@media(max-width:360px){.page-home .sector,.sector{padding-inline:12px}.rank-overview .rank-change{font-size:10px}.rank-overview .position-head h4{gap:10px}.rank-overview .phone-result-label{font-size:8px}.rank-overview .my-tag{font-size:7px}.rank-caption-text{font-size:11px}.rank-overview .demo-note{font-size:9px}.comparison-chart figcaption{gap:6px;font-size:11px}.comparison-chart figcaption small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.comparison-fill,.rank-overview .trend-clip,.rank-overview .trend-cursor{transition:none}.polish-motion .comparison-chart:not(.in-view) .comparison-fill{width:var(--bar)}}

/* Read the problem and advice before reaching either result graphic. */
.sector{scroll-margin-top:96px}
.sector .sector-intro.story-problem{position:static;top:auto;padding:8px 0 0;margin:0 auto 52px}
.sector .story-problem h2{font-size:clamp(28px,3.5vw,40px);line-height:1.4;letter-spacing:-.045em;text-wrap:balance}
.story-problem .sector-eyebrow{display:block;color:#bdceab;letter-spacing:.015em;margin-bottom:17px}
.story-lead{font-size:17px;font-weight:550;line-height:1.85;color:#b7c6aa;margin:20px 0 0;word-break:keep-all;text-wrap:pretty}
.story-lead strong{font-weight:750;color:#dde8d4}
.story-explanation,.story-result{max-width:820px;margin-inline:auto;min-width:0}
.story-heading{margin-bottom:29px}
.story-kicker{font-size:12px;line-height:1.5;font-weight:750;letter-spacing:.025em;color:#aec396;margin:0 0 13px}
.story-heading h3{font-size:clamp(25px,2.6vw,31px);line-height:1.45;letter-spacing:-.035em;font-weight:800;color:#e7eedf;margin:0;text-wrap:balance}
.story-heading>p:last-child:not(.story-kicker){font-size:15px;font-weight:600;color:#b1c2a3;line-height:1.85;margin:15px 0 0;word-break:keep-all;text-wrap:pretty}
.story-questions{display:grid;gap:27px;margin:0}
.story-question{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.55fr);gap:28px;align-items:baseline}
.story-question dt{font-size:16px;line-height:1.7;color:#c4d1b8;font-weight:750;word-break:keep-all;text-wrap:pretty}
.story-question dd{margin:0;min-width:0}
.story-question dd>strong{display:block;font-size:19px;line-height:1.55;font-weight:800;color:#e6efdc;letter-spacing:-.025em;word-break:keep-all;text-wrap:pretty}
.story-question dd>p{font-size:14px;line-height:1.85;font-weight:550;color:#aebea0;margin:7px 0 0;word-break:keep-all;text-wrap:pretty}
.story-question dd>p strong{color:#d6e5c7;font-weight:750}
.story-estimate{font-size:12px;color:#9cae8e}
.story-solution{background:#d2e6ac;color:#1c2c12;padding:28px 30px;border-radius:10px;margin-top:32px}
.story-solution .story-solution-question{font-size:14px;font-weight:750;line-height:1.5;color:#41572a;margin:0 0 10px}
.story-solution h3{font-size:clamp(23px,2.8vw,29px);font-weight:850;line-height:1.5;letter-spacing:-.04em;margin:0;word-break:keep-all;text-wrap:pretty}
.story-solution>p:not(.story-solution-question){font-size:15px;font-weight:600;line-height:1.8;color:#394e29;margin:12px 0 0;word-break:keep-all;text-wrap:pretty}
.story-solution .story-example{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;font-size:13px!important;padding-top:6px}
.story-example>b{font-size:12px;font-weight:800}
.story-source{font-size:11px;font-weight:500;color:#92a283;line-height:1.85;margin:14px 0 0;word-break:keep-all;text-wrap:pretty}
.story-source a{color:#bdcda9;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.story-source a:focus-visible,.story-detail:focus-visible{outline:2px solid #d2e6ac;outline-offset:5px}
.story-result{margin-top:58px}
.story-result .rank-overview{margin-inline:auto}
.story-detail{display:inline-block;font-size:13px;font-weight:700;line-height:1.5;color:#bfd59f;margin-top:23px;padding:5px 0;text-decoration:underline;text-underline-offset:5px}
.story-detail:hover{color:#e4f3cf}
.flow-heading>p{max-width:330px;word-break:keep-all;text-wrap:pretty}
.flow-heading h2{font-size:clamp(27px,3vw,38px)}
.rank-references{padding-top:0}
@media(max-width:680px){
 .sector{scroll-margin-top:84px}
 .sector .sector-intro.story-problem{padding-top:2px;margin-bottom:36px}
 .sector .story-problem h2{font-size:27px;line-height:1.45}
 .story-problem .sector-eyebrow{font-size:11px;margin-bottom:13px}
 .story-lead{font-size:15px;line-height:1.8;margin-top:16px}
 .story-lead br{display:none}
 .story-heading{margin-bottom:22px}
 .story-kicker{font-size:11px;margin-bottom:10px}
 .story-heading h3{font-size:24px;line-height:1.5}
 .story-heading>p:last-child:not(.story-kicker){font-size:14px;margin-top:12px}
 .story-questions{gap:25px}
 .story-question{grid-template-columns:minmax(0,1fr);gap:7px}
 .story-question dt{font-size:14px;line-height:1.6;color:#aabe99}
 .story-question dd>strong{font-size:18px;line-height:1.6}
 .story-question dd>p{font-size:14px;line-height:1.8;margin-top:6px}
 .story-solution{padding:22px 19px;margin-top:28px;border-radius:8px}
 .story-solution .story-solution-question{font-size:13px;margin-bottom:9px}
 .story-solution h3{font-size:23px;line-height:1.5}
 .story-solution>p:not(.story-solution-question){font-size:14px;line-height:1.8}
 .story-solution .story-example{grid-template-columns:minmax(0,1fr);gap:4px}
 .story-source{font-size:11px;line-height:1.8}
 .story-result{margin-top:41px}
 .story-detail{font-size:12px;margin-top:18px}
 .flow-heading h2{font-size:27px;line-height:1.5}
}
