/* V238 | Public-facing Korean copy, paragraph and responsive line-break system.
   This file is intentionally NOT loaded on OWNER/OPERATOR admin pages. */
:root{--adm-copy-ink:#203650;--adm-copy-muted:#63758a;--adm-copy-border:#dfe9f4}

/* Korean phrases wrap between meaningful words; long URLs/emails cannot spill outside cards. */
main :is(h1,h2,h3,h4),main :is(p,li,dd,dt),main :is(label,legend),
main :is(.help,.muted,.section-desc,.portal-slide-body,.adm-work-info){
  word-break:keep-all;
  overflow-wrap:break-word;
}
main :is(h1,h2,h3,h4){text-wrap:balance}
main :is(p,li,dd){text-wrap:pretty}
main :is(p,li,dd,.help,.section-desc){line-height:1.76}
main :is(.kicker,.eyebrow,.news-source-badge,.adm-eyebrow){line-height:1.5}
main :is(.field,.form-grid>label,.news-request-form>label,.lead-consent-box label){min-width:0}
main :is(.field,.form-grid>label,.news-request-form>label) > span{line-height:1.6;word-break:keep-all}
main :is(p,li,small,span,a,button,input,textarea){overflow-wrap:break-word}

/* Intro headings and descriptions share the same typographic rhythm. */
:is(.list-title,.news-board-hero,.news-request-intro,.marketing-hero,
    .db-hero,.content-page .list-title,.lead-confirm-card,.adm-page-head) h1{
  line-height:1.27;
  letter-spacing:-.045em;
}
:is(.list-title,.news-board-hero,.news-request-intro,.marketing-hero,
    .db-hero,.content-page .list-title,.lead-confirm-card,.adm-page-head) p{
  max-width:68ch;
  line-height:1.82;
}
:is(.list-title,.db-hero,.news-board-hero,.news-request-intro) p{margin-top:14px;margin-bottom:0}
.news-board-hero>div,.news-request-intro>div,.press-payment-guide>div{min-width:0}
.news-board-hero .news-request-btn{flex:0 0 auto;max-width:100%;text-align:center}
.news-board-list :is(h2,h3,p),.news-article-shell :is(h1,h2,h3,p){word-break:keep-all;overflow-wrap:break-word}
.news-article-shell :is(p,li){line-height:1.85}
.news-article-shell :is(p,p+ul,p+ol){margin-block:14px}

/* Application steps and deposit information must stay readable on tablets and phones. */
.news-request-intro{display:block!important}
.news-request-intro>p{max-width:72ch;line-height:1.85}
.news-request-intro>p+p{margin-top:12px}
.press-order-steps{min-width:0}
.press-order-steps>div{min-width:0;align-items:flex-start;gap:10px}
.press-order-steps>div>span{min-width:0;flex:1;line-height:1.5;font-size:14px}
.press-order-steps>div>span>small{margin-top:7px;font-size:12px;line-height:1.6;font-weight:500}
.press-payment-guide{min-width:0;align-items:center}
.press-payment-guide b,.press-payment-guide small{overflow-wrap:anywhere;line-height:1.6}
.news-request-form .news-request-guide p{margin:7px 0 0}
.news-request-form :is(.consent-row,.consent-all){line-height:1.68}
.news-request-form :is(.consent-detail p,.consent-detail dd){line-height:1.8}

/* Open-event product page: clean line breaks without fixed <br> in the heading. */
main .hero h1{max-width:21ch;line-height:1.23;letter-spacing:-.045em;text-wrap:balance}
main .hero p{max-width:66ch;line-height:1.85}
main .section-title,main .final h2{line-height:1.34;letter-spacing:-.04em}
main .section-desc{max-width:75ch;line-height:1.83}
main .card h3{line-height:1.45}
main .card p{line-height:1.78}
main .open-plan-card :is(h3,.open-plan-price,.open-plan-benefit){word-break:keep-all;overflow-wrap:break-word}
main .open-plan-card ul{padding-left:1.35em;margin:15px 0 19px}
main .open-plan-card li{line-height:1.8;margin:0 0 7px;padding-left:2px}
main .open-plan-foot{line-height:1.82}
main .adm-copy-notice b{display:block;margin-bottom:7px}
main .adm-copy-notice p{margin:0 0 9px;line-height:1.82}
main .adm-copy-notice p:last-child{margin-bottom:0}
main .flow>div{min-width:0;line-height:1.64}
main .flow b{line-height:1.55}

/* Branding and service pages: aligned paragraphs rather than forced headline breaks. */
.branddap-hero h1{line-height:1.23;max-width:16ch}
.branddap-hero h1 span{display:inline}
.branddap-hero>div>p:not(.branddap-wordmark){max-width:66ch;line-height:1.86}
.branddap-page :is(.branddap-process,.compare-grid,.compare-card) p{line-height:1.78}
.branddap-page .branddap-process article{min-width:0}
.branddap-page :is(.final-cta,.branddap-compare) h2{line-height:1.38}
.marketing-hero h1{line-height:1.27;max-width:23ch}
.marketing-hero p{line-height:1.84;max-width:65ch}
.marketing-page :is(.marketing-grid,.marketing-guide,.marketing-cta) p{line-height:1.77}
.marketing-page .marketing-grid li{line-height:1.7;margin:4px 0}
.db-hero p{max-width:72ch}
.db-page :is(.help,.db-quality,.db-pass-box,.db-quick) p{line-height:1.78}

/* Company list and portfolio: titles and supporting text get predictable spacing. */
.list-title p{max-width:68ch;line-height:1.82}
.provider-list :is(h3,p,.meta-line){word-break:keep-all;overflow-wrap:break-word}
.provider-row>div{min-width:0}
.adm-page-head p{max-width:65ch;line-height:1.82}
.adm-work-info p{line-height:1.76}
.content-page .content-list p{line-height:1.8}

/* Portal headline and section summaries, without changing 5x4 mini-card typography. */
.portal-home .portal-slide-copy :is(h1,h2){line-height:1.23}
.portal-home .portal-slide-copy .portal-slide-body{line-height:1.72}
.portal-home .portal-section-head h2{line-height:1.37}
.portal-home .portal-section-head p{line-height:1.7;max-width:67ch}
.portal-home .portal-sidebar-card p{line-height:1.7}
.portal-home .adm-portal-form-title{line-height:1.45}
.portal-home .adm-portal-login-message{line-height:1.65}

/* Consent forms, sign-up and B2B contract are allowed to grow rather than clip text. */
.login-shell :is(h1,h2,h3){line-height:1.38}
.login-shell :is(.contract-details,.contract-body,.help,.consent-line){line-height:1.75}
.login-shell :is(.contract-details li,.contract-body li){margin:5px 0;line-height:1.76}
.login-shell :is(label,.field,.consent-line){min-width:0;overflow-wrap:break-word}
.login-shell .signup-steps{min-width:0}
.login-shell .signup-steps>*{min-width:0;word-break:keep-all}
.lead-page-wrap .page-title p,.lead-confirm-card>p{max-width:70ch;line-height:1.8}
.lead-page-wrap :is(.lead-consent-box,.field-hint,.consent-note,.help){line-height:1.78}
.contract-page .contract-document{max-width:920px}
.contract-page .contract-document h2{line-height:1.45;margin:30px 0 12px}
.contract-page .contract-document :is(p,li){line-height:1.9;margin-block:9px}
.contract-page .contract-document ol{padding-left:1.5em}
.contract-page .contract-note{line-height:1.8}
.advertiser-body .report-page :is(.panel p,.notice,.help,.stat,.field,.report-list){line-height:1.72}

/* Footers: separate long company statements and allow links to wrap as a group. */
body .market-footer :is(p,small),body .portal-footer :is(p,small),body .adm-footer :is(p,small){
  line-height:1.7;word-break:keep-all;overflow-wrap:break-word
}
body :is(.market-footer,.portal-footer,.adm-footer) :is(.footer-links,.portal-footer-links){row-gap:11px}

@media (max-width:980px){
  .press-order-steps{grid-template-columns:minmax(0,1fr);gap:8px}
  .press-order-steps>i{justify-self:center;transform:rotate(90deg);line-height:1}
  .press-order-steps>div{padding:12px 13px}
  .press-payment-guide{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
  .press-payment-guide>.btn{width:100%;justify-content:center}
}
@media (max-width:720px){
  :is(.list-title,.news-board-hero,.news-request-intro,.marketing-hero,
      .db-hero,.content-page .list-title,.lead-confirm-card,.adm-page-head) h1{
    font-size:clamp(27px,7.4vw,34px);line-height:1.33
  }
  main .hero h1{max-width:24ch;font-size:clamp(29px,7.5vw,38px);line-height:1.33}
  main .hero p{font-size:15px;line-height:1.82}
  main .section-title{font-size:clamp(25px,6.5vw,29px)}
  main .section-desc{font-size:14px;line-height:1.78}
  .news-board-hero p,.news-request-intro>p,.db-hero p,.list-title p{font-size:14px;line-height:1.79}
  .news-request-intro>p+p{margin-top:10px}
  .news-request-form :is(.consent-row,.consent-all){align-items:flex-start}
  .news-request-form .consent-row button{flex-shrink:0}
  main .open-plan-card li{line-height:1.74}
  main .adm-copy-notice p{line-height:1.78}
  .branddap-hero h1,.marketing-hero h1{line-height:1.3}
  .branddap-hero>div>p:not(.branddap-wordmark){font-size:14px;line-height:1.8}
  .marketing-hero p{font-size:14px;line-height:1.78}
  .login-shell .contract-body{max-width:100%}
  .contract-page .contract-document :is(p,li){line-height:1.83}
  .portal-home .portal-slide-copy .portal-slide-body{line-height:1.65}
}
@media (max-width:390px){
  .news-request-form :is(.consent-row,.consent-all){gap:9px}
  .press-payment-guide b{font-size:15px}
}

/* Refinement after mobile visual QA: never isolate punctuation or the final syllable of a product type. */
main .adm-copy-nowrap{white-space:nowrap;word-break:keep-all}
main .promo b{word-break:keep-all;overflow-wrap:break-word;line-height:1.5}
@media(max-width:760px){main .promo{gap:10px;padding:16px}main .promo b{font-size:15px;letter-spacing:-.035em}}
@media(max-width:390px){main .promo b{font-size:14px}}
