/* Clear operating differences and a readable Korean editorial hierarchy. */
:root{--copy-ink:#435849;--copy-light:#c4d6c8}
main p,main dd,main li{letter-spacing:-.015em;text-wrap:pretty}
main h2,main h3,main h4{letter-spacing:-.04em;text-wrap:balance}
header nav{gap:clamp(16px,2vw,28px)}header nav a{font-size:13px}
header .header-cta{font-size:13px}
main .eyebrow,main .exp-section .exp-label{font-size:12px!important;letter-spacing:.035em!important;line-height:1.7!important}
main .exp-section{padding-top:clamp(72px,7vw,112px);padding-bottom:clamp(72px,7vw,112px)}
main .exp-section-head{margin-bottom:48px}
main .exp-section-head>p,main .services .section-head>p,main .method .method-intro>p{font-size:16px;line-height:1.85;max-width:36em}
main .exp-text-link{font-size:14px;line-height:1.7;gap:24px;min-height:44px}
main .exp-bottom-note{font-size:12px;line-height:1.8;flex-wrap:wrap}

/* Comparison is normal document flow. Copy never waits for an animation. */
.difference{background:#f7f8f0;border-bottom:1px solid #c3d1be}
.difference-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:9%;align-items:end;margin-bottom:48px}
.difference .exp-label{color:#406d50;margin-bottom:24px}
.difference h2{font-size:clamp(34px,4.2vw,64px);line-height:1.28;font-weight:600}
.difference h2 em{display:inline-block;color:#007d48}
.difference-lead{font-size:17px;line-height:1.85;color:var(--copy-ink);max-width:33em;margin:0 0 5px}
.difference-columns,.difference-row{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(0,1fr) minmax(0,1.65fr);gap:0}
.difference-columns{font-size:13px;line-height:1.6;color:#546553;border-top:1px solid #6e8b73;border-bottom:1px solid #b7c9b3}
.difference-columns>span,.difference-columns>strong{padding:19px 24px;font-weight:500}
.difference-columns>span:first-child{padding-left:0}
.difference-columns>strong{background:#dfebd9;color:#174e30;letter-spacing:.025em}
.difference-row{position:relative;border-bottom:1px solid #bdcdb8;min-width:0}
.difference-stage{padding:31px 18px 31px 0;display:flex;gap:13px;align-items:baseline;min-width:0}
.difference-number{font-size:12px;font-variant-numeric:tabular-nums;color:#507a56}
.difference-stage h3{font-size:17px;line-height:1.6;margin:0;font-weight:600}
.difference-basic{padding:31px 24px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.difference-basic p{font-size:16px;line-height:1.75;margin:0;color:#61715f}
.difference-moer{position:relative;background:#eaf1e3;padding:29px 52px 29px 28px;min-width:0}
.difference-moer:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#00965a;transform:scaleY(1);transform-origin:top}
.difference-moer h4{font-size:clamp(20px,1.9vw,28px);font-weight:600;line-height:1.5;margin:0 0 9px;color:#154a2c}
.difference-moer p{font-size:15px;line-height:1.85;max-width:35em;margin:0 0 16px;color:#405f45}
.difference-output{display:block;font-size:12px;line-height:1.8;color:#4c6c4e;padding-top:12px;border-top:1px solid #c2d5b9}
.difference-check{position:absolute;right:20px;top:29px;font-size:25px;font-weight:400;color:#007d48;line-height:1.5}
.difference-mobile-label{display:none}
.difference-close{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-top:38px}
.difference-close>p{font-size:clamp(21px,2.1vw,30px);line-height:1.6;margin:0;letter-spacing:-.035em;color:#354b3b}
.difference-close strong{font-weight:600;color:#153d25}
.difference-close a{color:#235b38;flex:none}
html.expansion-motion .difference-row[data-expand-reveal]{opacity:1;transform:none;transition:none}
html.expansion-motion .difference-row .difference-moer:before{transition:transform .65s cubic-bezier(.22,1,.36,1)}
html.expansion-motion .difference-row:not(.is-visible) .difference-moer:before{transform:scaleY(0)}
html.expansion-motion .difference-row .difference-check{transition:transform .55s cubic-bezier(.22,1,.36,1)}
html.expansion-motion .difference-row:not(.is-visible) .difference-check{transform:translate(-5px,5px)}

/* Images communicate the job; captions and diagrams remain editable text. */
main .services .service-art:after{background:linear-gradient(180deg,#eff2e7b8,transparent 22%);bottom:88px}
main .services .service-art{display:grid;grid-template-rows:minmax(0,1fr) auto}
main .services .service-image{position:relative;inset:auto;grid-area:1/1;min-height:0;height:100%;object-fit:contain}
main .services .service-art-top{top:20px;left:22px;right:22px;align-items:start}
main .services .service-art-word{font-size:clamp(17px,1.45vw,22px);font-weight:600;line-height:1.45;letter-spacing:-.035em;color:#1b4b32;max-width:18em}
main .services .service-art-index{font-size:10px;line-height:2}
.service-art-explanation{position:relative;grid-area:2/1;z-index:4;background:#f0f4e8;border-top:1px solid #bdcfb9;padding:14px 20px 17px;min-height:88px}
main .services .service-art-bottom{position:static;display:block;margin:0 0 10px}
main .services .service-art-caption{font-size:13px;line-height:1.75;color:#284d35}
main .services .service-art-symbol{display:none}
.service-visual-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;color:#16442c;font-size:12px;font-weight:600;line-height:1.7;text-align:center}
.service-visual-flow>span{position:relative;min-width:0;padding:5px 3px;border-top:1px solid #a0b99c;word-break:keep-all;overflow-wrap:anywhere}
.service-visual-flow>span:not(:last-child):after{content:'→';position:absolute;right:-13px;top:5px;font-size:12px;color:#4d7959}
main .method-figure{display:grid;grid-template-rows:minmax(0,1fr) auto}
main .method-figure img{position:relative;inset:auto;grid-area:1/1;min-height:0;height:100%;object-fit:contain}
main .method-figure:after{display:none}
main .method-figure figcaption{position:relative;inset:auto;grid-area:2/1;padding:17px 22px;background:#10281eeF;min-height:86px;border-top:1px solid #44654c;gap:18px;pointer-events:auto}
main .method-figure figcaption>span{font-size:15px;line-height:1.6;letter-spacing:-.02em;min-width:0}
main .method-figure figcaption strong{display:block;font-size:16px;font-weight:500;line-height:1.6;color:#e6f1df;word-break:keep-all;overflow-wrap:anywhere}
main .method-figure figcaption small{display:block;font-size:12px;letter-spacing:0;line-height:1.8;color:#b3cbb8;margin-top:4px}
main .method-figure figcaption b{font-size:36px;opacity:.6;line-height:1.2;flex:none;color:#a8d9b8}

.traffic-explainer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding:36px 6% 52px;background:#e9ede3;border-bottom:1px solid #bdcbb8;color:#233c2b}
.traffic-explainer .exp-label{color:#527052;margin-bottom:10px}
.traffic-explainer h3{font-size:25px;line-height:1.45;font-weight:550;margin:0 0 13px}
.traffic-explainer p:not(.exp-label){font-size:15px;line-height:1.85;max-width:37em;margin:0;color:#415d45}
.traffic-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:14px 0 20px;padding:0}
.traffic-flow li{position:relative;border-bottom:2px solid #619575;padding:14px 3px;font-size:14px;font-weight:500;text-align:center;line-height:1.7;min-width:0;word-break:keep-all;overflow-wrap:anywhere}
.traffic-flow li:not(:last-child):after{content:'→';position:absolute;right:-15px;top:14px;color:#57785b}
.traffic-explainer .traffic-reading-note{font-size:13px!important;color:#526950!important}

/* Primary copy is 15–16px even on phones and shorter laptop displays. */
main .hero-description p,main .hero .chapter-copy{font-size:15px;line-height:1.85;max-width:36em}
main .hero-kicker{font-size:13px;line-height:1.8}
main .hero .chapter-note{font-size:12px;line-height:1.8}
main .hero-control-links,main .hero-control-links button{font-size:12px;line-height:1.7}
main .chapter-buttons button{font-size:10px;line-height:1.6}
main .intro-copy p,main .principles p{font-size:15px;line-height:1.9;color:#c0d1c3;max-width:37em}
main .principles>div{padding:19px 0}
main .services .section-head>p{color:var(--copy-ink)}
main .services .service-body>p.service-description{font-size:15px;line-height:1.85;color:var(--copy-ink)}
main .services .service-body h3{letter-spacing:-.045em}
main .services .service-body small{font-size:10px;letter-spacing:.06em}
main .services .service-context>span{font-size:12px;color:#45654d}
main .services .service-scope li{font-size:12px;line-height:1.65;padding:6px 9px}
main .services .service-preparation{font-size:13px;line-height:1.7;color:#405b45}
main .services .service-preparation>span:first-child{font-size:12px;color:#546d55}
main .services .service-open{font-size:13px;line-height:1.7}
main .services .service-navigation button{font-size:12px;min-height:44px}
main .situation-description{font-size:16px;line-height:1.85;color:var(--copy-ink)}
main .situation-panel dl>div{font-size:14px;line-height:1.8}
main .channel-identity>p:not(.exp-label),main .channel-detail li p{font-size:15px;line-height:1.85;color:var(--copy-ink)}
main .channel-diagram{font-size:14px;letter-spacing:0}
main .channel-diagram strong{font-size:14px}
main .channel-tag{font-size:12px;line-height:1.7}
main .conviction-explanation .conviction-copy{font-size:16px;line-height:1.85;color:var(--copy-light)}
main .conviction-details dt{font-size:13px;line-height:1.8;color:#92dab2}
main .conviction-details dd{font-size:14px;line-height:1.8;color:#e0ece0}
main .method .method-intro>p,main .method-copy>p,main .method-summary p{font-size:16px;line-height:1.85;color:var(--copy-light)}
main .method-checks dt{font-size:13px;line-height:1.8}
main .method-checks dd{font-size:14px;line-height:1.8;color:#b9cebe}
main .method-output{font-size:13px;line-height:1.8;color:#cee1ca}
main .method-summary small{font-size:12px;line-height:1.8;color:#abc9b1}
main .ranking-intro>p:not(.exp-label){font-size:15px;line-height:1.9;color:#bdd2c3}
main .rank-platform,main .rank-status,main .rank-change{font-size:12px;line-height:1.7}
main .rank-baseline{font-size:12px;line-height:1.8;color:#acc7b4;flex-wrap:wrap}
main .rank-axis{font-size:10px;line-height:1.8;color:#a3c6ac}
main .rank-filters button{font-size:12px;min-height:42px}
main .ranking-toolbar{flex-wrap:wrap}
main .report-commentary li p,main .report-panel-heading>p,main .report-timeline p,main .operation-memos p{font-size:15px;line-height:1.85;color:var(--copy-ink)}
main .report-panel table,main .report-panel td{font-size:13px;line-height:1.8}
main .report-panel th,main .report-pill{font-size:12px}
main .report-tabs button{font-size:14px;min-height:48px}
main .report-scope,main .report-window-footer{font-size:12px!important;line-height:1.8}
main .report-window-bar,main .report-window-bar>span:last-child{font-size:11px;line-height:1.8;letter-spacing:.025em}
main .keyword-orbit,main .orbit-core,main .orbit-satellite{font-size:12px;line-height:1.7;letter-spacing:0}
main .report-timeline li>span,main .operation-memos>div>span{font-size:11px;line-height:1.8;letter-spacing:.03em}
main .about-layout p,main .about p,main .engagement-heading>p,main .engagement-item dd{font-size:15px;line-height:1.85;color:var(--copy-ink)}
main .partnership p small{font-size:12px;line-height:1.8}
main .onboarding-title>p:not(.exp-label),main .onboarding-list p{font-size:15px;line-height:1.85;color:#103e29}
main .onboarding-bottom{font-size:12px;line-height:1.8;color:#174a30}
main .faq>div>p,main .questions details>p{font-size:15px;line-height:1.9;color:var(--copy-ink)}
main .questions summary{font-size:16px;line-height:1.75}
main .questions .faq-number{font-size:12px}
main .contact>div>p,main .contact-next li p{font-size:15px;line-height:1.85;color:#143d2a}
main .contact-next li strong{font-size:14px}
main .contact-next .contact-next-note,main .contact .contact-hint,main .contact .privacy-detail{font-size:13px;line-height:1.8}
main .contact label{font-size:14px;line-height:1.7}
main .contact input,main .contact select,main .contact textarea{font-size:16px;line-height:1.6}
#detail .service-detail-intro,#detail .service-detail-problem,#detail .detail-items p{font-size:15px;line-height:1.85;color:#435c48}
#detail .service-detail-note{font-size:13px;line-height:1.8}
#detail .service-detail-prep{font-size:14px}

@media(max-width:1100px){
 header nav a{font-size:12px}header nav{gap:16px}
 .difference-columns,.difference-row{grid-template-columns:minmax(105px,.48fr) minmax(0,.9fr) minmax(0,1.7fr)}
 .difference-moer{padding-left:22px}.difference-basic{padding-left:18px;padding-right:18px}
 .difference-lead{font-size:16px}
 main .services .service-scope{gap:6px}
}
@media(max-width:840px){
 .difference-heading{grid-template-columns:1fr;gap:24px;margin-bottom:34px}
 .difference-lead{max-width:40em;margin:0}
 .difference-columns{display:none}
 .difference-rows{border-top:1px solid #7c9b7d}
 .difference-row{grid-template-columns:minmax(0,1fr);padding:24px 0;gap:0}
 .difference-stage{padding:0 0 16px;gap:12px}.difference-stage h3{font-size:18px}
 .difference-basic{padding:0 0 18px 27px}
 .difference-basic p{font-size:15px}.difference-mobile-label{display:block;font-size:12px;line-height:1.8;margin-bottom:5px;color:#536e51}
 .difference-moer{padding:22px 44px 22px 25px}
 .difference-moer h4{font-size:22px}.difference-moer p{font-size:15px}
 .difference-check{right:16px;top:20px}
 .difference-close{display:block;padding-top:28px}.difference-close a{margin-top:20px}
 .traffic-explainer{grid-template-columns:1fr;gap:20px}
}
@media(max-width:700px){
 main .exp-section{padding-top:64px;padding-bottom:64px}
 main .exp-section-head{margin-bottom:34px}
 main .exp-section-head>p,main .services .section-head>p,main .method .method-intro>p{font-size:15px;line-height:1.85}
 main .hero-description p,main .hero .chapter-copy{font-size:15px}
 main .hero-kicker{font-size:12px}.hero .hero-line{white-space:normal}
 main .chapter-buttons{flex-wrap:wrap;gap:5px 14px}
 main .chapter-buttons button{font-size:10px;min-height:36px}
 main .hero-control-links{gap:12px;flex-wrap:wrap}
 main .hero .chapter-title{font-size:clamp(28px,7.4vw,40px)}
 main .intro-copy p,main .principles p,main .conviction-explanation .conviction-copy,main .method-copy>p,main .method-summary p{font-size:15px;line-height:1.9}
 main .conviction-details{grid-template-columns:1fr;gap:16px}
 main .conviction-details>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px}
 main .conviction-details dt{margin:0;font-size:12px}
 main .conviction-details dd{font-size:14px}
 main .services .service-art,main .services:not(.is-pinned):not(.services-measuring) .service-art{position:relative;top:auto;height:clamp(340px,95vw,440px)}
 main .services .service-body small{font-size:10px}
 main .services .service-art-word{font-size:18px}
 main .services .service-art-top{left:18px;right:18px;top:18px}
 .service-art-explanation{padding-left:16px;padding-right:16px}
 main .services .service-row>div.service-body{padding:26px 21px}
 main .services .service-navigation{gap:12px;flex-wrap:wrap;justify-content:flex-start}
 main .service-visual-flow{font-size:12px}
 main .method-figure{min-height:320px;max-height:none}
 main .method-figure figcaption{padding:15px 17px}
 main .method-figure figcaption strong{font-size:15px}
 main .method-figure figcaption b{font-size:30px}
 main .situation-panel{padding:27px 23px;min-height:0}
 main .situation-panel dl>div{grid-template-columns:1fr;gap:5px;font-size:14px}
 main .channel-diagram{font-size:12px;padding:18px 12px;gap:5px}
 main .channel-diagram strong{font-size:13px;padding:12px 16px}
 main .channel-detail li{gap:12px}
 main .report-workspace{box-shadow:6px 7px 0 #d5dfce}
 main .report-panel{padding:24px 18px;min-height:0}
 main .report-panel th,main .report-panel table,main .report-panel td{font-size:12px}
 main .report-tabs{padding:0 10px}
 main .report-tabs button{font-size:13px;padding-left:5px;padding-right:5px}
 main .report-panel-heading h3{font-size:25px}
 main .questions summary{font-size:16px}
 main .questions details>p{padding-left:31px;font-size:15px}
 main .engagement-list{grid-template-columns:1fr;gap:24px}
 main .engagement-item dt{display:flex;gap:12px;margin-bottom:10px}
 main .engagement-item dt>span{margin:0}
 main .engagement-item dd{font-size:15px}
 main .faq>div:first-child{position:static}
 .traffic-explainer{padding-top:30px;padding-bottom:40px}
 .traffic-flow{gap:14px}.traffic-flow li{font-size:13px}
 .traffic-flow li:not(:last-child):after{right:-12px}
}
@media(prefers-reduced-motion:reduce){
 .difference-row .difference-moer:before,.difference-row .difference-check{transition:none!important;transform:none!important}
}
html.expansion-paused .difference-row .difference-moer:before,html.expansion-paused .difference-row .difference-check,
html.cms-editing .difference-row .difference-moer:before,html.cms-editing .difference-row .difference-check{transition:none!important;transform:none!important}
