/* Korean edition of Palouse Fleet Repair — loads after the approved base.css (unchanged, byte-identical to the English
   source) and changes only what Korean text and the honest sample controls need. Archivo / Public Sans stay first in
   every stack, so Latin, numerals and the PALOUSE wordmark render exactly as approved; Hangul falls through to a
   self-hosted IBM Plex Sans KR subset (OFL 1.1, renamed per the Reserved Font Name rule; licence in assets/fonts/OFL.txt). */
@font-face{font-family:"Arupix Concept KO";src:url(assets/fonts/ibmplexsanskr-400.woff2?v=20261005ko5v2) format("woff2");font-weight:100 449;font-style:normal;font-display:swap}
@font-face{font-family:"Arupix Concept KO";src:url(assets/fonts/ibmplexsanskr-500.woff2?v=20261005ko5v2) format("woff2");font-weight:450 900;font-style:normal;font-display:swap}
:root{
  --disp:"Archivo","Public Sans","Arupix Concept KO",system-ui,sans-serif;
  --text:"Public Sans","Arupix Concept KO",system-ui,sans-serif;
}
/* Only 400/500 Hangul faces ship: never fake bold or italic Hangul (the Reefer chip was a synthesized italic). */
html{font-synthesis:none}
body{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
::selection{background:var(--accent);color:var(--ink)}

/* Headings wrap at Korean phrase boundaries. The hero keeps the source's two-line «situation / promise» break. */
.heading-two,.heading-three,.heading-four,.heading-five,.portfolio-title,.solution-title,.accordion-title{text-wrap:balance}
/* Hangul glyphs fill more of the em box than Latin caps; at 1.12 the two hero lines nearly touch. */
.heading-two{line-height:1.2}
/* 2026-10-05 repair batch (root measured, LAYOUT-ASSESSMENT): phone hero heading 34px → 28px/1.3 to fit the Korean length;
   same white left-column role, photo and order as base.css ≤767. Other ≤767 headings stay 26–28px from base.css. */
@media (max-width:767px){.heading-two{font-size:28px;line-height:1.3}}

/* Tracked capitals in the service strip become gaps between Hangul syllables — keep each chip's size, drop the tracking. */
.bl-a,.bl-b,.bl-e,.bl-f,.bl-g,.bl-h{letter-spacing:.02em}
.bl-d{letter-spacing:0}
.testimonial-review.tag{letter-spacing:.02em}

/* Language switch: lives inside .btn-nav next to the dispatch button, so the nav keeps its place in the pill. */
.btn-nav{display:flex;align-items:center;gap:18px}
.lang-switch{display:flex;align-items:center;margin:0;font:400 14px/1 var(--text);color:var(--body);white-space:nowrap}
.lang-current{color:var(--ink);font-weight:500}
.lang-current::after{content:"";display:inline-block;width:1px;height:12px;margin:0 10px;background:currentColor;opacity:.3;vertical-align:-1px}
.lang-other{display:inline-flex;align-items:center;min-height:44px;transition:color .4s}
.lang-other:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media (max-width:991px){
  .lang-switch{color:rgba(255,255,255,.82)}
  .lang-current{color:#fff}
  .lang-other:hover{color:#fff}
}
@media (max-width:767px){
  /* base.css hides .btn-nav here (dispatch button moves into the hero); keep the language switch visible. */
  .btn-nav{display:flex}
  .btn-nav .btn-secondary{display:none}
  .lang-switch{font-size:13px}
  .lang-current::after{margin:0 8px}
}
.mm-lang{display:flex;align-items:center;justify-content:center;margin:0;padding:0 16px max(28px,env(safe-area-inset-bottom));font:400 16px/1 var(--text);color:#d0d0d0}
.mm-lang span{color:#fff;font-weight:500}
.mm-lang span::after{content:"";display:inline-block;width:1px;height:14px;margin:0 12px;background:currentColor;opacity:.35;vertical-align:-2px}
.mm-lang a{display:inline-flex;align-items:center;min-height:44px}
.mm-lang a:hover{color:#fff}

/* Sample controls (no real accounts, documents or search behind them) — no hover affordance, stated as examples. */
.ko-sample-note{display:inline-block;margin-left:8px;font:400 13px/1.4 var(--text);letter-spacing:0;color:var(--body);vertical-align:2px}
.social-link-two.is-sample{cursor:default}
.social-link-two.is-sample:hover{background:var(--band);color:var(--ink)}
.footer-legal .nav-link-two.is-sample{cursor:default}
.footer-legal .nav-link-two.is-sample:hover{color:#d5d5d5}
.search-input:disabled{opacity:1;background:#191919;color:#fff;cursor:not-allowed}
.btn-search:disabled{cursor:not-allowed;color:#8b8b8b}
.ko-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Keyboard focus stays visible on the dark hero, service band, footer and menu (base ring is ink-on-ink there). */
.hero-area :focus-visible,.solution-area :focus-visible,.choose-right :focus-visible,.footer-area :focus-visible,.mobile-menu :focus-visible{outline-color:#fff}
@media (min-width:992px){.header-wrap :focus-visible{outline-color:var(--ink)}}

/* 2026-10-05 한국어 여백(리듬) 수리 — base.css(원본)는 그대로, 실제 활성 선택자만 덮는다(4 단위 의미 척도).
   서비스 카드: 아이콘 다음 130/110/70px 빈 칸을 24/24/20 으로, 제목·설명은 한 덩어리. 아이콘·카드·사실·링크 그대로. */
.solution-title{padding-top:24px}
/* 반복되는 내용 대목 위아래 120px → 80px(991 이하는 원본도 80). 첫 화면 약속 두 줄·사진·카드 펼침·흐르는 띠는 그대로. */
.about-area,.portfolio-area,.choose-area,.testimonial-area,.faq-area,.contact-area,.solution-area{padding-top:80px;padding-bottom:80px}
@media (max-width:991px){
  .solution-title{padding-top:24px}
}
@media (max-width:767px){
  .solution-title{padding-top:20px}
  .about-area,.portfolio-area,.choose-area,.testimonial-area,.faq-area,.contact-area,.solution-area{padding-top:56px;padding-bottom:56px}
}
