/* COM 디자인 스킬 기준: 기존 브랜드·본문을 유지하는 공통 보정. */
html { scroll-padding-top: 0; }
section[id], #main-content { scroll-margin-top: 96px; }
body :is(button, a, input, select, textarea) { touch-action: manipulation; }
body :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid #5490cc;
  outline-offset: 4px;
  box-shadow: 0 0 0 2px #fffdf8;
}
.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 10000;
  padding: 14px 20px; background: #fffdf8; color: #0d1b2a;
  border-radius: 8px; transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
body :is(h1, h2, h3) { text-wrap: balance; }
body :is(.sec-sub, .hero-lead, .equip-desc, .review-text, .multi-d, .sup-d) {
  font-size: 1rem; line-height: 1.75; text-wrap: pretty; overflow-wrap: anywhere;
}
body :is(.sec-sub, .equip-desc) { max-width: 60ch; }
body :is(.branch-profit-v, .branch-spec-v, .bt-v, .bt-pct, .bdm-v, .val) { font-variant-numeric: tabular-nums; }
body :is(.branch-detail-note, .branch-note-m) { font-size: .875rem; line-height: 1.65; }
body :is(.container, .grid2 > *, .equip-panel > *, .sec-head > *) { min-width: 0; }
body :is(input:not([type=checkbox]), select, textarea) { font-size: 16px; min-width: 0; }
body :is(.btn, .nav-cta, .equip-tab, .equip-tab-m, .sup-tab, .submit, .cf-submit, .cbar-toggle) { min-height: 44px; }
body .branch-card { display: block; width: 100%; font: inherit; cursor: pointer; }
body .branch-card.on { background: linear-gradient(160deg, #0e7c72, #0b625a); }
body .branch-card:not(.on) .branch-name { color: #be3037; }
body .branch-card > span, body .branch-card span > span { display: block; }
body .branch-card.on :is(.branch-spec-k, .branch-profit-k, .branch-spec-v small, .branch-profit-v small) { color: #fffdf8; }
body .branch-card.on .branch-profit-v { color: #fffdf8; }
body .branch-card.on .branch-name { color: #fffdf8; }
body .equip-photo { outline: 1px solid rgb(0 0 0 / 10%); outline-offset: -1px; }
body :is(.hero-dots, .review-dots, .branch-slide-dots, .skill-slide-dots) { gap: 4px; flex-wrap: wrap; align-items: center; }
body :is(.hero-dot, .review-dot, .branch-slide-dot, .skill-slide-dots button) {
  position: relative; width: 44px !important; height: 44px !important; padding: 0;
  background: transparent !important; border: 0; box-shadow: none; flex: 0 0 44px;
  transition: none;
}
body :is(.hero-dot, .review-dot, .branch-slide-dot, .skill-slide-dots button)::before {
  content: ''; display: block; width: 22px; height: 4px; margin: auto;
  border-radius: 2px; background: #7a8a9a;
}
body .hero-dot::before { background: #fffdf8; opacity: .6; }
body :is(.hero-dot, .review-dot, .branch-slide-dot, .skill-slide-dots button)[aria-pressed=true]::before {
  width: 32px; background: #0e7c72; opacity: 1;
}
body .hero-dot[aria-pressed=true]::before, body #iotStoreDots button[aria-pressed=true]::before { background: #fffdf8; }
body .slide-play {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  margin: 8px 0; padding: 8px 16px; border: 1px solid currentColor;
  border-radius: 8px; font: inherit; font-size: .875rem; font-weight: 600;
  background: transparent; color: inherit; cursor: pointer;
}
body .hero .slide-play { color: #fffdf8; }
body .cbar { padding-bottom: env(safe-area-inset-bottom, 0px); }
body:has(#cta :focus) .cbar { visibility: hidden; pointer-events: none; }
body :is(input,select,textarea) { scroll-margin-block: 110px 200px; }
body :is(.agree, .cf-agree) { position: relative; }
body :is(.agree, .cf-agree) input[type=checkbox] {
  display: block; position: absolute; width: 22px; height: 22px; margin: 0; opacity: 0;
}
body :is(.agree, .cf-agree):has(input:focus-visible) { outline: 3px solid #5490cc; outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
  body :is(.btn, .nav-cta, .slide-play, .submit, .cf-submit) { transition: background-color 150ms ease-out, color 150ms ease-out, scale 150ms ease-out; }
  body :is(.btn, .nav-cta, .slide-play, .submit, .cf-submit):active:not(:disabled) { scale: .97; }
  body .branch-card { transition: transform 180ms ease-out, border-color 180ms ease-out, box-shadow 180ms ease-out; }
}
@media (hover: none) {
  body :is(.nav-sns, .nav-cta, .branch-card, .pf-card, .multi-card, .review-card, .sup-card, .submit):hover { transform: none; }
}
@media (max-width: 760px) {
  body .cta-form .grid2 { grid-template-columns: 1fr !important; }
  body .equip-tabs { gap: 4px; }
  section[id], #main-content { scroll-margin-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *, body *::before, body *::after { animation: none !important; transition: none !important; }
}
