/* v33 shared UI: MEDIONE visual alignment. Content and interaction targets stay unchanged. */
:root {
  --rental-ui-navy: #0f2a5c;
  --rental-ui-blue: #184c9d;
  --rental-ui-ink: #17253f;
  --rental-ui-muted: #5b6b8a;
  --rental-ui-line: #d9e2f0;
  --rental-ui-font: "Pretendard", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
}

/* Approved MEDIONE wordmark stays at its native wide aspect ratio. */
.topnav .nav-logo img,
.ci-logo,
footer > div:first-child > img {
  display: block;
  width: auto;
  height: auto;
  max-width: 174px;
  max-height: 28px;
  object-fit: contain;
  object-position: left center;
}

/* One UI typeface and a deliberate hierarchy across navigation, sections, cards and actions. */
html, body, button, input, select, textarea,
.nav-links, .nav-cta, .btn, .phone-pill, .rail, .callbar,
.form, .call, .press, .press-filter, .press-toggle {
  font-family: var(--rental-ui-font);
}
h1, h2, h3, .display,
.sec-head h2, .center h2, .step h3, .rental-route h3,
.spec-card b, .scene b, .pcard h3, .press-card h3,
.form h2, .call .kicker, .call .tel {
  font-family: var(--rental-ui-font);
  letter-spacing: -.035em;
}
h1, h2, h3, .display { font-weight: 800; }
h1 { line-height: 1.16; }
h2 { line-height: 1.24; }
h3 { line-height: 1.32; }
.nav-links, .btn, .phone-pill, .rail a, .callbar a { line-height: 1.2; }
.num,
.phone-pill .num, .btn .num, .call .tel.num, .callbar .num,
.stat .num, .controls .num { font-family: var(--rental-ui-font); letter-spacing: -.025em; }

/* Five carousel slides share one type, vertical rhythm and CTA geometry. */
.hero-slider .slide-copy {
  gap: 14px;
  font-family: var(--rental-ui-font);
}
.hero-slider .slide-copy #sTitle {
  max-width: min(1180px, 100%);
  font-family: var(--rental-ui-font);
  font-size: clamp(34px, 3.15vw, 50px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.hero-slider .slide-copy .sub {
  max-width: min(760px, 100%);
  padding: 11px 20px;
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}
.hero-slider .slide-copy .cta {
  align-items: stretch;
  justify-content: center;
  gap: 10px;
  margin-top: 2px;
}
.hero-slider .btn-white,
.hero-slider .btn-outline {
  min-width: 166px;
  height: 52px;
  justify-content: center;
  padding: 0 22px;
  font-family: var(--rental-ui-font);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.hero-slider .btn-white svg,
.hero-slider .btn-outline svg,
.topnav .phone-pill svg,
.callbar svg,
.rail svg,
.checks svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Keep v32 central visuals untouched; this only makes their copy panel consistent. */
@media (min-width: 701px) {
  .hero-slider:has(.slide.on) .slide-copy { bottom: 136px; }
  .hero-slider:has(.slide.on) .controls { bottom: 72px; }
  .hero-slider:has(.slide.on) .scrollhint { display: flex; }
  .hero-slider:has(.slide.on) .slide-copy #sTitle { font-size: clamp(34px, 3.15vw, 50px); line-height: 1.18; }
  .hero-slider:has(.slide.on) .slide-copy .btn-white,
  .hero-slider:has(.slide.on) .slide-copy .btn-outline { height: 52px; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy,
  .hero-slider:has(.slide--award-v28.on) .slide-copy { gap: 14px; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { padding: 8px 20px; }
}

/* Short desktop screens keep a complete central visual and the same 16px action-to-control gap. */
@media (min-width: 701px) and (max-height: 820px) {
  .hero-slider:has(.slide.on) .slide-copy { bottom: 78px; }
  .hero-slider:has(.slide.on) .controls { bottom: 18px; }
  .hero-slider:has(.slide.on) .scrollhint { display: none; }
  .hero-slider:has(.slide.on) .slide-copy #sTitle { font-size: 34px; line-height: 1.18; }
  .hero-slider:has(.slide.on) .slide-copy .sub { padding: 8px 16px; font-size: 14px; }
}

/* The request card reserves a stable column for the action instead of squeezing its note. */
.form-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
}
.form-foot small { max-width: 430px; }
.form-foot small,
footer .legal { color: var(--rental-ui-muted); }
footer > div:first-child > img { opacity: 1; }
.form-foot .btn {
  min-width: 202px;
  justify-content: center;
  white-space: nowrap;
}

/* Consultation card: one current three-year award message, no isolated old-year badge. */
.call { padding: 44px; gap: 28px; }
.call .award { display: none; }
.call .kicker { line-height: 1.4; letter-spacing: .04em; }
.call .tel { margin: 10px 0 12px; font-size: clamp(42px, 3.4vw, 52px); }
.call p { max-width: 380px; font-size: 15px; line-height: 1.65; }
.checks { gap: 12px; }
.checks div { align-items: flex-start; font-size: 15px; line-height: 1.45; }
.checks svg { margin-top: 1px; color: #a8d4ff; }

/* Consumer-information hub and details use the same wordmark, density and reading rhythm. */
.ci-top { height: 76px; }
.ci-logo { width: 156px; height: auto; }
.ci-home { display: inline-flex; min-height: 44px; align-items: center; font-family: var(--rental-ui-font); font-size: 14px; }
.ci-hero { padding: clamp(56px, 7vw, 80px) 0 clamp(52px, 6vw, 70px); }
.ci-hero h1,
.ci-section-head h2,
.ci-article h2 { font-family: var(--rental-ui-font); font-weight: 800; line-height: 1.2; }
.ci-hero h1 { letter-spacing: -.05em; }
.ci-lead,
.ci-article p { letter-spacing: -.015em; }
.ci-card h3 { font-family: var(--rental-ui-font); font-weight: 800; line-height: 1.32; }
.ci-footer { padding: 38px 0 42px; }
.ci-footer-logo {
  display: block;
  width: 156px;
  height: auto;
  max-height: 23px;
  margin-bottom: 14px;
  object-fit: contain;
  object-position: left center;
}
.oxygen-info__dashboard-note {
  display: block;
  padding: 0 18px 17px;
  color: var(--rental-ui-muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}

@media (max-width: 700px) {
  .hero-slider:has(.slide.on) .slide-copy .btn-white { height: 50px; font-size: 15px; }
  .hero-slider:has(.slide.on) .slide-copy .sub { padding: 9px 14px; font-size: 13px; line-height: 1.45; }
  .hero-slider .slide-copy,
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy,
  .hero-slider:has(.slide--award-v28.on) .slide-copy { gap: 10px; }
  .hero-slider .slide-copy #sTitle,
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy #sTitle,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy #sTitle,
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-size: clamp(26px, 7.1vw, 34px); line-height: 1.2; }
  .hero-slider .slide-copy .sub { padding: 9px 14px; font-size: 13px; }
  .hero-slider .slide-copy .cta { width: min(100%, 342px); }
  .hero-slider .slide-copy .btn-white { min-width: 0; width: 100%; height: 50px; }
  .form-foot { grid-template-columns: 1fr; gap: 12px; }
  .form-foot small { max-width: none; }
  .form-foot .btn { width: 100%; min-width: 0; }
  .call { padding: 26px; gap: 24px; }
  .form h2 { font-size: 28px !important; }
  .checks div { font-size: 14px; }
  .ci-top { height: 68px; }
  .ci-logo { width: 132px; }
}

@media (max-width: 390px) {
  .hero-slider .slide-copy .sub { max-width: calc(100vw - 34px); }
  .ci-wrap { width: min(100% - 32px, 1180px); }
}

/* The 320px layout keeps the complete product and a clear gap before carousel controls. */
@media (max-width: 360px) {
  .hero-slider:has(.slide.on) .slide-copy { gap: 6px; }
  .hero-slider:has(.slide.on) .slide-copy #sTitle { font-size: 24px; line-height: 1.2; }
  .hero-slider:has(.slide.on) .slide-copy .sub { padding: 7px 12px; font-size: 12px; line-height: 1.4; }
}
