[hidden]{display:none!important} img{max-width:100%} html{-webkit-text-size-adjust:100%}

  @font-face { font-family: "Gmarket Sans"; src: url("/assets/fonts/GmarketSansBold.otf") format("opentype"); font-weight: 700; font-display: swap; }
  @font-face { font-family: "Pretendard"; src: url("/assets/fonts/Pretendard-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
  @font-face { font-family: "Pretendard"; src: url("/assets/fonts/Pretendard-SemiBold.ttf") format("truetype"); font-weight: 600; font-display: swap; }
  @font-face { font-family: "Pretendard"; src: url("/assets/fonts/Pretendard-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }
  :root {
    --ground: #eef2f9; --card: #ffffff; --line: #d9e2f0; --ink: #17253f; --navy: #0f2a5c; --blue: #184c9d; --blue-deep: #0c2b64;
    --sky: #dbe9fb; --sky-2: #e8f0fe; --muted: #5b6b8a; --faint: #8b98b3; --pale: #d7dfec; --green: #2fbf71; --green-bg: #dff5e9; --green-ink: #157347;
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; word-break: keep-all; overflow-wrap: anywhere; background: var(--ground); color: var(--ink); font-family: "Pretendard", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  a { color: var(--blue); text-decoration: none; }
  h1, h2, h3, .display { font-family: "Gmarket Sans", "Pretendard", sans-serif; }
  .num { font-family: "Manrope", "Pretendard", sans-serif; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
  .wrap { width: min(1520px, 100% - 64px); margin: 0 auto; }
  button { font: inherit; cursor: pointer; }
  button:focus-visible, a:focus-visible, .hot:focus-visible { outline: 3px solid #7fb8ff; outline-offset: 3px; }

  .consult-first { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; padding: 10px 24px; background: var(--navy); color: #fff; text-align: center; font-size: 15px; font-weight: 700; line-height: 1.45; position: relative; z-index: 30; }
  .consult-first a { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 12px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; color: #fff; white-space: nowrap; font-weight: 700; }
  @media (max-width: 640px) { .consult-first { flex-direction: column; gap: 7px; padding: 11px 16px 12px; font-size: 14px; } }

  /* nav */
  .nav { display: flex; align-items: center; justify-content: space-between; padding: 22px 0 0; position: relative; z-index: 5; }
  .nav img { height: 36px; width: auto; }
  .nav-links { display: flex; gap: 32px; font-size: 15px; font-weight: 500; color: #3d4c6b; }
  .nav-links span.on { color: var(--blue); font-weight: 700; }
  .nav-cta { display: flex; align-items: center; gap: 10px; }
  .glass { background: rgba(255,255,255,0.78); border: 1px solid rgba(255,255,255,0.9); box-shadow: 0 14px 40px rgba(24,76,157,0.10); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  .phone-pill { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 18px; border-radius: 999px; font-size: 15px; font-weight: 700; color: var(--navy); }
  .btn { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 26px; border-radius: 999px; border: 0; font-size: 16px; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease; }
  .btn-blue { background: var(--blue); color: #fff; box-shadow: 0 12px 28px rgba(24,76,157,0.28); }
  .btn-blue:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(24,76,157,0.34); }
  .btn-ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); }
  .btn-ghost:hover { transform: translateY(-2px); }
  .btn.sm { height: 46px; padding: 0 20px; font-size: 15px; }

  /* Top navigation: persistent, readable routes over every hero slide. */
  .topnav { padding: 14px 0; background: rgba(255,255,255,.96); box-shadow: 0 8px 26px rgba(8,35,83,.12); }
  .topnav .nav { min-height: 64px; padding: 0; gap: 24px; }
  .topnav .nav > img { display: none; }
  .topnav .nav-logo { display: inline-flex; flex: 0 0 auto; align-items: center; }
  .topnav .nav-logo img { width: clamp(145px, 11vw, 164px); height: auto; display: block; }
  .topnav .nav-links { flex: 1 1 auto; align-items: center; justify-content: center; gap: clamp(14px, 1.55vw, 28px); color: var(--navy); font-size: 16px; font-weight: 700; white-space: nowrap; }
  .topnav .nav-links a, .topnav .nav-links span { color: inherit; text-decoration: none; }
  .topnav .nav-links a:hover, .topnav .nav-links a:focus-visible, .topnav .nav-links .on { color: var(--blue); }
  .topnav .nav-cta { flex: 0 0 auto; }
  .topnav .phone-pill { height: 44px; background: #fff; border: 1px solid #c6d7ef; color: var(--navy); box-shadow: none; }
  .topnav .phone-pill svg { stroke: var(--blue); }
  .topnav { position: absolute; left: 0; right: 0; top: 0; z-index: 20; }
  @media (max-width: 1180px) { .topnav .nav { gap: 15px; } .topnav .nav-logo img { width: 144px; } .topnav .nav-links { justify-content: flex-start; gap: 17px; font-size: 14px; overflow-x: auto; scrollbar-width: none; } .topnav .nav-links::-webkit-scrollbar { display: none; } .topnav .nav-cta .phone-pill { display: none; } }
  @media (max-width: 700px) { .topnav { padding: 10px 0 9px; } .topnav .nav { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px 12px; min-height: 0; } .topnav .nav-logo { min-width: 0; } .topnav .nav-logo img { width: 138px; } .topnav .nav-links { grid-column: 1 / -1; grid-row: 2; width: calc(100vw - 32px); gap: 8px; overflow-x: auto; justify-content: flex-start; padding: 1px 0 2px; } .topnav .nav-links a, .topnav .nav-links span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 11px; border: 1px solid #d5e0ef; border-radius: 999px; background: #fff; font-size: 13px; } .topnav .nav-links .on { border-color: #9cbee9; background: #edf5ff; } .topnav .nav-cta { grid-column: 2; grid-row: 1; min-width: 86px; justify-self: end; } .topnav .nav-cta .btn { height: 40px; padding: 0 14px; font-size: 13px; white-space: nowrap; flex-shrink: 0; justify-content: center; } }

  /* top slider hero */
  .hero-slider { position: relative; height: clamp(560px, 86vh, 900px); overflow: hidden; background: #0f2a5c; color: #ffffff; }
  .slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s ease; }
  .slide.on { opacity: 1; }
  .slide img { width: 100%; height: 100%; object-fit: cover; object-position: var(--fx, 50%) var(--fy, 50%); transform-origin: var(--fx, 50%) var(--fy, 50%); display: block; transform: scale(1.04); transition: transform 7s linear; }
  .slide.on img { transform: scale(1.0); }
  .slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,42,92,0.42) 0%, rgba(15,42,92,0.06) 30%, rgba(15,42,92,0.28) 55%, rgba(15,42,92,0.74) 100%); }
  .slide-copy { position: absolute; left: 50%; bottom: 150px; transform: translateX(-50%); width: min(1240px, 100% - 48px); text-align: center; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 18px; }
  .slide-copy .kicker { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 16px; border-radius: 999px; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.35); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-size: 13px; font-weight: 700; letter-spacing: 0.02em; }
  .slide-copy #sTitle { margin: 0; color: #ffffff; font-size: clamp(32px, 3.2vw, 52px); line-height: 1.18; font-weight: 800; text-shadow: 0 6px 30px rgba(15,42,92,0.45); }
  .slide-copy .sub { display: inline-block; padding: 12px 24px; border-radius: 999px; background: rgba(15,42,92,0.45); border: 1px solid rgba(255,255,255,0.18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: clamp(15px, 1.3vw, 19px); color: #eaf2ff; }
  .slide-copy .cta { display: flex; gap: 12px; margin-top: 6px; }
  .btn-white { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 26px; border-radius: 999px; background: #ffffff; color: var(--navy); font-size: 16px; font-weight: 700; transition: transform .25s ease; }
  .btn-white:hover { transform: translateY(-2px); }
  .btn-outline { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 26px; border-radius: 999px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.6); color: #ffffff; font-size: 16px; font-weight: 700; transition: background .25s ease; }
  .btn-outline:hover { background: rgba(255,255,255,0.22); }
  .controls { position: absolute; left: 50%; bottom: 72px; transform: translateX(-50%); z-index: 4; display: flex; align-items: center; gap: 18px; color: #ffffff; }
  .controls button { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid rgba(255,255,255,0.7); background: rgba(255,255,255,0.08); color: #fff; display: flex; align-items: center; justify-content: center; transition: background .2s; }
  .controls button:hover { background: rgba(255,255,255,0.22); }
  .controls .idx { font-size: 15px; font-weight: 700; letter-spacing: 0.08em; min-width: 64px; text-align: center; }
  .controls .arrow-btn { width: 36px; height: 36px; border: 0; background: transparent; opacity: 0.85; }
  .scrollhint { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 4; display: flex; flex-direction: column; align-items: center; gap: 6px; color: rgba(255,255,255,0.85); font-size: 12px; letter-spacing: 0.1em; }
  .scrollhint i { width: 1px; height: 28px; background: rgba(255,255,255,0.7); display: block; animation: drop 1.6s ease-in-out infinite; }
  @keyframes drop { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
  .rail { position: fixed; right: 22px; top: 50%; transform: translateY(-50%); z-index: 40; display: flex; flex-direction: column; gap: 10px; padding: 10px; border-radius: 999px; background: rgba(255,255,255,0.9); border: 1px solid var(--line); box-shadow: 0 16px 40px rgba(24,76,157,0.18); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
  .rail a { width: 60px; height: 60px; border-radius: 999px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-size: 11px; font-weight: 700; line-height: 1.15; text-align: center; }
  .rail .r-tel { background: var(--blue); color: #fff; }
  .rail .r-ask { background: var(--sky-2); color: var(--navy); }
  .showroom { padding-top: 40px; }

  /* hero */
  .hero { position: relative; min-height: 720px; padding: 40px 0 40px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 24px; }
  .hero-bg { position: absolute; inset: -160px -40% 0; pointer-events: none; z-index: 0; }
  .hero-bg .blob { position: absolute; border-radius: 999px; }
  .hero-bg .b1 { left: -8%; top: 0; width: 760px; height: 760px; background: radial-gradient(circle at 40% 40%, #dbe9fb 0%, rgba(219,233,251,0) 68%); }
  .hero-bg .b2 { right: 6%; top: 60px; width: 900px; height: 900px; background: radial-gradient(circle at 50% 50%, #cfe4ff 0%, rgba(207,228,255,0) 66%); }
  .hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 24px; }
  .tag { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px 0 8px; border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--navy); align-self: flex-start; }
  .tag .dot { width: 22px; height: 22px; border-radius: 999px; background: var(--green-bg); display: inline-flex; align-items: center; justify-content: center; }
  h1 { margin: 0; font-size: clamp(40px, 4.4vw, 62px); line-height: 1.14; font-weight: 800; letter-spacing: -0.03em; color: var(--navy); text-wrap: balance; }
  h1 em { font-style: normal; color: var(--blue); }
  .lead { margin: 0; max-width: 520px; font-size: 18px; line-height: 1.7; color: var(--muted); }
  .cta-row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
  .stats { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 6px; }
  .stats .sep { width: 1px; background: var(--line); }
  .stat b { display: block; font-size: 28px; font-weight: 800; color: var(--navy); }
  .stat span { font-size: 13px; color: var(--faint); }

  .stage { position: relative; z-index: 2; height: clamp(520px, 42vw, 720px); }
  .bigword { position: absolute; z-index: 1; left: 50%; top: 40%; transform: translate(-50%, -50%); font-size: clamp(170px, 19vw, 300px); font-weight: 900; letter-spacing: -0.06em; color: #c6d3e8; line-height: 1; pointer-events: none; user-select: none; white-space: nowrap; }
  .bigword small { font-size: 0.55em; }
  .product-layer { position: absolute; z-index: 1; inset: 0 0 34px 0; perspective: 1400px; }
  .product { width: 100%; height: 100%; transform-style: preserve-3d; will-change: transform; transition: transform .12s linear; }
  .chip { background: rgba(255,255,255,0.55); border: 1px solid rgba(255,255,255,0.9); box-shadow: 0 14px 40px rgba(24,76,157,0.12), 0 1px 0 rgba(255,255,255,0.95) inset; -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2); }
  .visual { position: absolute; inset: 0; border-radius: 36px; overflow: hidden; background: linear-gradient(160deg, rgba(255,255,255,0.62) 0%, rgba(255,255,255,0.28) 100%); border: 1px solid rgba(255,255,255,0.85); box-shadow: 0 30px 70px rgba(24,76,157,0.18), 0 1px 0 rgba(255,255,255,0.95) inset, 0 -40px 80px rgba(219,233,251,0.5) inset; -webkit-backdrop-filter: blur(22px) saturate(1.2); backdrop-filter: blur(22px) saturate(1.2); display: flex; align-items: center; justify-content: center; }
  .visual::before { content: ""; position: absolute; left: -20%; top: -30%; width: 70%; height: 70%; border-radius: 999px; background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0) 70%); pointer-events: none; }
  .visual::after { content: ""; position: absolute; left: 50%; bottom: 9%; width: 62%; height: 12%; transform: translateX(-50%); border-radius: 999px; background: radial-gradient(ellipse at 50% 50%, rgba(24,76,157,0.28) 0%, rgba(24,76,157,0) 70%); filter: blur(6px); pointer-events: none; }
  .stage-glow { position: absolute; inset: -10% -6%; z-index: 0; background: radial-gradient(circle at 30% 25%, #cfe4ff 0%, rgba(207,228,255,0) 55%), radial-gradient(circle at 75% 80%, #bcd8ff 0%, rgba(188,216,255,0) 50%); pointer-events: none; }
  .visual img.render { position: relative; z-index: 1; width: auto; height: 78%; max-width: 78%; object-fit: contain; filter: drop-shadow(0 34px 40px rgba(15,42,92,0.30)); transition: opacity .35s ease, transform .6s ease; }
  .visual img.photo { width: auto; height: 62%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(15,42,92,0.25)); transition: opacity .35s ease; }
  .visual { position: absolute; inset: 0; border-radius: 36px; overflow: hidden; box-shadow: 0 30px 70px rgba(24,76,157,0.18), 0 1px 0 rgba(255,255,255,0.9) inset; background: #dbe9fb; }
  .visual img.lungs { width: 100%; height: 100%; object-fit: cover; object-position: 60% 28%; display: block; }
  .pmini { position: absolute; z-index: 4; left: 4%; bottom: 9%; border-radius: 22px; padding: 12px 18px 12px 12px; display: flex; align-items: center; gap: 14px; }
  .pmini-fig { width: 76px; height: 76px; border-radius: 16px; background: rgba(255,255,255,0.9); display: flex; align-items: center; justify-content: center; overflow: hidden; }
  .pmini-fig img { height: 66px; width: auto; transition: opacity .35s ease; }
  .pmini-txt small { display: block; font-size: 11.5px; color: var(--faint); font-weight: 500; }
  .pmini-txt b { display: block; font-size: 17px; font-weight: 800; color: var(--navy); }
  .pmini-txt span { display: block; font-size: 12.5px; color: var(--blue); font-weight: 700; }
  .plinth { display: none; position: absolute; left: 50%; bottom: 40px; width: 380px; height: 70px; transform: translateX(-50%); border-radius: 999px; background: radial-gradient(ellipse at 50% 50%, rgba(255,255,255,0.95) 0%, rgba(219,233,251,0.6) 55%, rgba(219,233,251,0) 75%); box-shadow: 0 30px 60px rgba(24,76,157,0.16); z-index: -1; }
  .chip { position: absolute; border-radius: 20px; padding: 12px 16px 12px 12px; display: flex; align-items: center; gap: 12px; animation: bob 6s ease-in-out infinite; transition: transform .3s ease; z-index: 4; }
  .chip:hover { transform: translateY(-4px) scale(1.03); animation-play-state: paused; }
  .chip .ico { width: 40px; height: 40px; border-radius: 12px; background: var(--blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .chip .ico.light { background: var(--sky-2); }
  .chip small { display: block; font-size: 11.5px; color: var(--faint); font-weight: 500; }
  .chip b { display: block; font-size: 16px; font-weight: 800; color: var(--navy); }
  .chip.c1 { left: 4%; top: 8%; animation-delay: 0s; }
  .chip.c2 { right: 0; top: 18%; animation-delay: -2s; }
  .chip.c3 { left: 0; bottom: 22%; animation-delay: -4s; }
  .chip.c4 { right: 2%; bottom: 12%; animation-delay: -1s; }
  @keyframes bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
  .switcher { position: absolute; left: 50%; bottom: -24px; transform: translateX(-50%); display: flex; gap: 6px; padding: 6px; border-radius: 999px; z-index: 5; }
  .switcher button { height: 40px; padding: 0 16px; border-radius: 999px; border: 0; white-space: nowrap; background: transparent; color: var(--muted); font-size: 14px; font-weight: 700; transition: background .2s, color .2s; }
  .switcher button.on { background: var(--blue); color: #fff; }
  .switcher::-webkit-scrollbar { display: none; }
  .hint { display: none; position: absolute; right: 0; top: -6px; font-size: 12px; color: var(--faint); letter-spacing: 0.04em; z-index: 4; }

  /* sections */
  section { position: relative; padding: 96px 0 0; }
  .eyebrow { display: inline-flex; align-items: center; width: fit-content; height: 30px; padding: 0 14px; border-radius: 999px; background: var(--green-bg); color: var(--green-ink); font-size: 14px; font-weight: 700; letter-spacing: 0.02em; }
  h2 { margin: 0; font-size: clamp(30px, 3vw, 40px); font-weight: 800; line-height: 1.22; letter-spacing: -0.02em; color: var(--navy); text-wrap: balance; }
  .sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 36px; }
  .sec-head .l { display: flex; flex-direction: column; gap: 14px; }
  .sec-head p { margin: 0; max-width: 440px; font-size: 16px; line-height: 1.7; color: var(--muted); }

  /* hotspot explorer */
  .explorer { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 32px; align-items: stretch; }
  .hot-stage { position: relative; border-radius: 36px; min-height: 560px; overflow: hidden; background: linear-gradient(160deg, rgba(255,255,255,0.92) 0%, rgba(219,233,251,0.8) 100%); display: flex; align-items: center; justify-content: center; }
  .hot-box { position: relative; display: inline-block; line-height: 0; }
  .hot-stage img { display: block; height: clamp(300px, 28vw, 440px); width: auto; filter: drop-shadow(0 30px 40px rgba(15,42,92,0.22)); }
  .hot { position: absolute; width: 28px; height: 28px; border-radius: 999px; border: 0; padding: 0; background: var(--blue); box-shadow: 0 0 0 6px rgba(24,76,157,0.18); cursor: pointer; }
  .hot::after { content: ""; position: absolute; inset: -6px; border-radius: 999px; border: 2px solid rgba(24,76,157,0.5); animation: pulse 2.2s ease-out infinite; }
  .hot.on { background: var(--green); box-shadow: 0 0 0 6px rgba(47,191,113,0.22); }
  .hot.on::after { border-color: rgba(47,191,113,0.6); }
  @keyframes pulse { 0% { transform: scale(0.8); opacity: 1; } 100% { transform: scale(1.9); opacity: 0; } }
  .hot-label { position: absolute; line-height: 1.4; transform: translate(18px, -50%); padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; color: var(--navy); white-space: nowrap; pointer-events: none; }
  .spec-panel { display: flex; flex-direction: column; gap: 14px; }
  @media (min-width: 1101px) {
    .explorer { padding-right: 90px; }
  }
  .spec-card { background: var(--card); border: 1px solid #e3eaf5; border-radius: 22px; padding: 20px 22px; display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; cursor: pointer; }
  .spec-card .k { width: 44px; height: 44px; border-radius: 14px; background: var(--sky-2); display: flex; align-items: center; justify-content: center; }
  .spec-card b { display: block; font-size: 16px; font-weight: 800; color: var(--navy); }
  .spec-card span { font-size: 13.5px; color: var(--muted); line-height: 1.55; }
  .spec-card .v { font-size: 20px; font-weight: 800; color: var(--blue); }
  .spec-card.on, .spec-card:hover { transform: translateX(6px); box-shadow: 0 16px 40px rgba(24,76,157,0.14); border-color: #bcd3f5; }
  .foot-note { font-size: 13px; color: var(--faint); line-height: 1.6; margin-top: 18px; }

  /* service scenes + map */
  .scenes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .scene { position: relative; border-radius: 28px; overflow: hidden; background: var(--card); border: 1px solid #e3eaf5; box-shadow: 0 12px 32px rgba(24,76,157,0.07); display: flex; flex-direction: column; transition: transform .3s ease, box-shadow .3s ease; }
  .scene:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(24,76,157,0.14); }
  .scene img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
  .scene .cap { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 6px; }
  .scene .stepno { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; color: var(--blue); }
  .scene b { font-size: 19px; font-weight: 800; color: var(--navy); }
  .scene p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--muted); }
  .mapsec { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 40px; align-items: center; }
  .mapfig { border-radius: 36px; overflow: hidden; background: #dbe9fb; box-shadow: 0 30px 70px rgba(24,76,157,0.16); }
  .mapfig img { width: 100%; display: block; aspect-ratio: 3 / 2; object-fit: cover; }
  .mapcopy { display: flex; flex-direction: column; gap: 22px; }
  .mapstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .mstat { background: var(--card); border: 1px solid #e3eaf5; border-radius: 20px; padding: 18px 20px; }
  .mstat b { display: block; font-size: 26px; font-weight: 800; color: var(--navy); }
  .mstat span { font-size: 13px; color: var(--muted); }

  /* all-products: showroom category tabs + filterable grid */
  .cats { position: absolute; left: 50%; top: -24px; transform: translateX(-50%); z-index: 6; display: flex; gap: 4px; padding: 5px; border-radius: 999px; background: rgba(255,255,255,0.6); border: 1px solid rgba(255,255,255,0.9); box-shadow: 0 12px 30px rgba(24,76,157,0.12); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
  .cats button { height: 36px; padding: 0 14px; border-radius: 999px; border: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 700; white-space: nowrap; transition: background .2s, color .2s; }
  .cats button.on { background: var(--navy); color: #fff; }
  .switcher { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .switcher::-webkit-scrollbar { display: none; }
  .ptabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
  .ptabs button { height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,0.7); color: var(--ink); font-size: 14px; font-weight: 700; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background .2s, color .2s, border-color .2s; }
  .ptabs button span { color: var(--faint); font-weight: 600; margin-left: 4px; }
  .ptabs button.on { background: var(--blue); border-color: var(--blue); color: #fff; }
  .ptabs button.on span { color: #cfe0ff; }
  .pcard { background: rgba(255,255,255,0.72); border-color: rgba(255,255,255,0.95); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  .pcard .fig { background: radial-gradient(circle at 50% 38%, #ffffff 0%, #e8f0fe 70%); }
  .pcard .fig img { max-width: 82%; object-fit: contain; }
  .pcard .ask { font-size: 22px; font-weight: 800; color: var(--blue); }
  @media (min-width: 1281px) { .pgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

  /* products */
  .grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 66.6%; }
  .group-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; font-size: 14px; color: var(--muted); }
  .pcard { background: var(--card); border: 1px solid #e3eaf5; border-radius: 28px; padding: 24px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 12px 32px rgba(24,76,157,0.07); transition: transform .3s ease, box-shadow .3s ease; }
  .pcard:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(24,76,157,0.14); }
  .pcard .top { display: flex; justify-content: space-between; align-items: center; }
  .pill { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: var(--sky-2); color: var(--blue); }
  .pill.g { background: var(--green-bg); color: var(--green-ink); }
  .pcard .fig { height: 210px; border-radius: 20px; background: linear-gradient(180deg, #f7f9fd 0%, #eef2f9 100%); display: flex; align-items: flex-end; justify-content: center; overflow: hidden; padding-bottom: 14px; }
  .pcard .fig img { height: 186px; width: auto; filter: drop-shadow(0 16px 20px rgba(15,42,92,0.22)); transition: transform .4s ease; }
  .pcard:hover .fig img { transform: translateY(-6px) scale(1.03); }
  .pcard h3 { margin: 0; font-size: 22px; font-weight: 800; color: var(--navy); }
  .pcard .maker { font-size: 13px; color: var(--faint); margin-top: 4px; }
  .spec { display: flex; justify-content: space-between; font-size: 14px; color: var(--muted); padding: 10px 0; border-top: 1px solid #edf1f8; }
  .spec b { color: var(--ink); font-weight: 700; }
  .price { display: flex; justify-content: space-between; align-items: flex-end; padding-top: 8px; border-top: 1px solid #edf1f8; }
  .price small { display: block; font-size: 12px; color: var(--faint); }
  .price .now { font-size: 26px; font-weight: 800; color: var(--blue); }
  .price .rx-price { font-size: 13px; color: #6b7891; margin-top: 3px; }
  .arrow { width: 40px; height: 40px; border-radius: 999px; background: var(--blue); display: flex; align-items: center; justify-content: center; border: 0; }

  /* band */
  .band { margin-top: 72px; border-radius: 40px; background: linear-gradient(135deg, #184c9d 0%, #0f2a5c 100%); color: #fff; padding: 56px 64px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: center; overflow: hidden; position: relative; }
  .support-band { margin-top: 40px; }
  .band::before { content: ""; position: absolute; right: -80px; top: -120px; width: 420px; height: 420px; border-radius: 999px; background: radial-gradient(circle, rgba(127,184,255,0.45) 0%, rgba(127,184,255,0) 70%); }
  .band .kicker { font-size: 14px; font-weight: 700; letter-spacing: 0.08em; color: #a8d4ff; }
  .band .big { font-size: clamp(42px, 5vw, 76px); font-weight: 800; line-height: 1.12; letter-spacing: -0.04em; }
  .band .sub { font-size: 19px; color: #dbe9fb; margin-top: 10px; }
  .band .tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; position: relative; }
  .tile { border-radius: 22px; background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.18); padding: 20px; }
  .tile b { display: block; font-size: 28px; font-weight: 800; }
  .tile span { font-size: 13px; color: #dbe9fb; }

  /* process */
  .center { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; margin-bottom: 36px; }
  .center p { margin: 0; max-width: 560px; font-size: 16px; line-height: 1.7; color: var(--muted); }
  .step { background: var(--card); border: 1px solid #e3eaf5; border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 12px 32px rgba(24,76,157,0.07); transition: transform .3s ease, box-shadow .3s ease; }
  .step:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(24,76,157,0.14); }
  .step .ic { width: 52px; height: 52px; border-radius: 16px; background: var(--sky-2); display: flex; align-items: center; justify-content: center; }
  .step h3 { margin: 0; font-size: 21px; font-weight: 800; color: var(--navy); line-height: 1.3; }
  .step p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--muted); }
  .step .go { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--blue); margin-top: auto; }

  /* insurance and self-pay routes */
  .rental-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .rental-route { background: #fff; border: 1px solid #dfe8f4; border-radius: 28px; padding: 30px; box-shadow: 0 12px 32px rgba(24,76,157,0.06); display: flex; flex-direction: column; }
  .rental-route h3 { margin: 11px 0 12px; color: var(--navy); font-size: 25px; }
  .rental-route p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
  .rental-route ul { padding-left: 20px; margin: 18px 0 24px; color: var(--ink); font-size: 15px; line-height: 1.8; }
  .rental-route a { display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; min-height: 48px; margin-top: auto; padding: 0 20px; border-radius: 999px; background: var(--blue); color: #fff; font-size: 15px; font-weight: 700; }
  .rental-route:last-child { background: #f5f9ff; }
  .rental-route:last-child a { background: var(--navy); }

  /* consult */
  .consult { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 32px; }
  .form { border-radius: 36px; padding: 44px; display: flex; flex-direction: column; gap: 20px; background: linear-gradient(160deg, rgba(255,255,255,0.92) 0%, rgba(219,233,251,0.7) 100%); }
  .who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .who button { height: 48px; border-radius: 14px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 15px; font-weight: 500; transition: background .2s, color .2s; }
  .who button.on { background: var(--blue); color: #fff; border-color: var(--blue); font-weight: 700; }
  .fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .fields input, .fields select { height: 52px; border-radius: 14px; border: 1px solid var(--line); background: #fff; padding: 0 16px; font: inherit; font-size: 15px; color: var(--ink); width: 100%; }
  .fields input::placeholder { color: #7a89a6; }
  .form-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .form-foot small { font-size: 13px; color: var(--faint); line-height: 1.6; }
  .toast { font-size: 14px; font-weight: 700; color: var(--green-ink); min-height: 20px; }
  .call { border-radius: 36px; background: linear-gradient(160deg, #184c9d 0%, #0f2a5c 100%); color: #fff; padding: 44px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; position: relative; overflow: hidden; }
  .call::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 320px; height: 320px; border-radius: 999px; background: radial-gradient(circle, rgba(127,184,255,0.5) 0%, rgba(127,184,255,0) 70%); }
  .call .kicker { font-size: 14px; font-weight: 700; letter-spacing: 0.08em; color: #a8d4ff; }
  .call .tel { font-size: 52px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; margin: 12px 0; }
  .call p { margin: 0; font-size: 16px; color: #dbe9fb; line-height: 1.7; }
  .checks { display: flex; flex-direction: column; gap: 10px; position: relative; }
  .checks div { display: flex; align-items: center; gap: 10px; font-size: 15px; }
  .award { position: absolute; right: 36px; top: 36px; width: 96px; height: 96px; filter: drop-shadow(0 8px 16px rgba(0,0,0,0.25)); }

  footer { margin-top: 96px; padding: 40px 0 48px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; }
  footer img { height: 28px; opacity: 0.85; }
  footer .co { font-size: 13px; line-height: 1.8; color: var(--muted); margin-top: 14px; }
  footer .legal { font-size: 12px; line-height: 1.7; color: var(--faint); max-width: 380px; }

  /* mobile fixed call bar */
  .callbar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; grid-template-columns: 1.4fr 1fr; gap: 10px; padding: 10px 16px calc(12px + env(safe-area-inset-bottom)); background: rgba(238,242,249,0.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--line); }
  .callbar a { height: 52px; border-radius: 999px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 16px; font-weight: 800; }
  .callbar .tel { background: var(--blue); color: #fff; box-shadow: 0 10px 24px rgba(24,76,157,0.3); }
  .callbar .ask { background: #fff; border: 1px solid var(--line); color: var(--navy); font-weight: 700; }
  @media (max-width: 1080px) {
    .wrap { width: min(100% - 40px, 1520px); }
    .rail { display: none; }
    .hero-slider { height: clamp(520px, 78vh, 720px); }
    .controls { bottom: 56px; }
    .slide img { object-position: var(--mx, 50%) 50%; transform-origin: var(--mx, 50%) 30%; }
    .slide-copy { bottom: 116px; }
    .hero { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-top: 24px; gap: 8px; }
    .stage { height: 560px; }
    .explorer, .consult, .band, .grid3, .grid2, .scenes, .mapsec, .rental-routes { grid-template-columns: minmax(0, 1fr); }
    .grid2 { max-width: none; }
    .band { padding: 40px 28px; }
    .band .big { font-size: 72px; }
    .sec-head { flex-direction: column; align-items: flex-start; gap: 14px; }
    .sec-head p { max-width: none; }
    footer { flex-direction: column; }
    .callbar { display: grid; }
    body { padding-bottom: 92px; }
  }
  @media (max-width: 640px) {
    .wrap { width: min(100% - 32px, 1520px); }
    .nav { padding-top: 16px; }
    .nav img { height: 30px; }
    .phone-pill { width: 44px; height: 44px; padding: 0; justify-content: center; }
    .phone-pill .num { display: none; }
    .btn.sm { height: 44px; padding: 0 16px; font-size: 14px; }
    h1 { font-size: 36px; }
    .lead { font-size: 15.5px; }
    .btn { height: 52px; font-size: 15px; padding: 0 20px; }
    .cta-row { flex-direction: column; align-items: stretch; }
    .cta-row .btn { justify-content: center; }
    .stats .sep { display: none; }
    .stat b { font-size: 24px; }
    .stage { height: 520px; margin-top: 44px; margin-bottom: 28px; }
    .slide-copy #sTitle { font-size: 30px; }
    .slide-copy .sub { font-size: 14px; padding: 10px 16px; }
    .slide-copy .cta { flex-direction: column; width: 100%; }
    .btn-white, .btn-outline { justify-content: center; height: 50px; font-size: 15px; }
    .controls { gap: 12px; }
    .hint { display: none; }
    .bigword { font-size: 150px; top: 38%; }
    .visual { border-radius: 26px; }
    .product-layer { inset: 0 0 30px 0; }
    .chip { padding: 10px 12px 10px 10px; gap: 10px; }
    .chip .ico { width: 34px; height: 34px; }
    .chip b { font-size: 14px; }
    .chip.c1 { left: 12px; top: 40px; }
    .chip.c3 { display: none; }
    .chip.c2 { right: 12px; top: 40px; }
    .chip.c4 { right: 12px; bottom: 64px; }
    .switcher { left: 0; right: 0; transform: none; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; bottom: -20px; border-radius: 24px; }
    .switcher button { flex-shrink: 0; font-size: 13px; padding: 0 14px; }
    .cats { left: 0; right: 0; transform: none; overflow-x: auto; scrollbar-width: none; top: -20px; justify-content: flex-start; }
    .cats button { flex-shrink: 0; font-size: 12.5px; padding: 0 12px; }
    .ptabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .ptabs button { flex-shrink: 0; height: 40px; font-size: 13px; }
    section { padding-top: 64px; }
    h2 { font-size: 26px; }
    .hot-stage { min-height: 0; padding: 40px 0 56px; border-radius: 28px; }
    .hot-stage img { height: 300px; }
    .hot-label { font-size: 11.5px; padding: 5px 10px; }
    .spec-card { grid-template-columns: 40px minmax(0, 1fr) auto; padding: 16px 16px; gap: 12px; }
    .spec-card .k { width: 40px; height: 40px; }
    .spec-card b { font-size: 15px; }
    .spec-card span { font-size: 13px; }
    .spec-card .v { font-size: 16px; }
    .spec-card.on, .spec-card:hover { transform: none; }
    .pcard { padding: 20px; }
    .pcard .fig { height: 180px; }
    .pcard .fig img { height: 150px; }
    .band { margin-top: 48px; padding: 32px 24px; border-radius: 28px; gap: 24px; }
    .support-band { margin-top: 32px; }
    .band .big { font-size: 64px; }
    .band .sub { font-size: 16px; }
    .band .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .tile { padding: 14px; border-radius: 16px; }
    .tile b { font-size: 22px; }
    .tile span { font-size: 12px; }
    .step { padding: 22px; }
    .rental-route { padding: 24px; }
    .fields { grid-template-columns: minmax(0, 1fr); }
    .who button { font-size: 13px; height: 44px; }
    .form, .call { padding: 28px 22px; border-radius: 28px; }
    .form h2 { font-size: 24px !important; }
    .form-foot { flex-direction: column; align-items: stretch; gap: 12px; }
    .form-foot .btn { justify-content: center; }
    .call .tel { font-size: 40px; }
    .award { width: 72px; height: 72px; right: 22px; top: 22px; }
    footer { margin-top: 64px; padding-bottom: 24px; }
    .strip img { width: 160px; border-radius: 16px; }
    .mstat b { font-size: 22px; }
    .stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .stat b { font-size: 22px; white-space: nowrap; }
    .stat span { font-size: 12px; }
    h2 { font-size: 25px; }
    .sec-head p, .center p { font-size: 15px; }
    .who { gap: 6px; }
    .rental-route h3 { font-size: 22px; }
    .who button { font-size: 12.5px; padding: 0 4px; line-height: 1.2; }
    .switcher button { white-space: nowrap; }
  }
  @media (prefers-reduced-motion: reduce) {
    .chip, .hot::after { animation: none; }
    .product { transition: none; }
  }

  /* Showroom: keep every product control and spec in one deliberate panel. */
  #showroom .stage { height: auto; min-height: 0; }
  #showroom .stage-glow, #showroom .bigword, #showroom .hint { display: none; }
  #showroom .showroom-panel { position: relative; z-index: 2; display: grid; gap: 16px; padding: 18px; border: 1px solid rgba(255,255,255,0.9); border-radius: 32px; background: linear-gradient(155deg, rgba(255,255,255,0.82), rgba(213,230,251,0.9)); box-shadow: 0 24px 56px rgba(24,76,157,0.14), inset 0 1px rgba(255,255,255,0.92); }
  #showroom .cats { position: static; transform: none; justify-self: center; display: flex; width: min(100%, 520px); gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,0.72); border: 1px solid rgba(255,255,255,0.94); box-shadow: 0 6px 18px rgba(24,76,157,0.08); }
  #showroom .cats button { min-height: 44px; height: 44px; flex: 1 1 0; padding: 0 12px; }
  #showroom .product-layer { position: relative; inset: auto; height: clamp(280px, 25vw, 400px); min-height: 0; perspective: none; }
  #showroom .product { transform: none !important; transition: none; }
  #showroom .visual { border-radius: 24px; background: linear-gradient(160deg, rgba(255,255,255,0.9), rgba(211,229,252,0.94)); box-shadow: inset 0 1px rgba(255,255,255,0.92); }
  #showroom .visual img.render { height: 80%; max-width: 82%; }
  #showroom .spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #showroom .chip { position: static; display: flex; min-width: 0; padding: 12px; border-radius: 16px; animation: none; transform: none; box-shadow: 0 8px 18px rgba(24,76,157,0.08), inset 0 1px rgba(255,255,255,0.9); }
  #showroom .chip:hover { transform: none; }
  #showroom .chip .ico { width: 36px; height: 36px; border-radius: 11px; }
  #showroom .chip small { overflow-wrap: anywhere; }
  #showroom .chip b { font-size: 15px; overflow-wrap: anywhere; }
  #showroom .switcher { position: static; transform: none; justify-self: stretch; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 100%; overflow: visible; padding: 5px; border-radius: 20px; }
  #showroom .switcher button { width: 100%; min-width: 0; min-height: 44px; height: auto; padding: 8px 10px; white-space: normal; line-height: 1.25; }
  @media (max-width: 640px) {
    #showroom .showroom-panel { gap: 12px; padding: 12px; border-radius: 24px; }
    #showroom .cats { justify-self: stretch; overflow: hidden; }
    #showroom .cats button { flex: 1 1 0; min-width: 0; padding: 0 6px; font-size: 12px; }
    #showroom .product-layer { height: 310px; }
    #showroom .spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    #showroom .chip { padding: 10px; gap: 9px; }
    #showroom .chip .ico { width: 32px; height: 32px; }
    #showroom .chip small { font-size: 10.5px; }
    #showroom .chip b { font-size: 13px; }
    #showroom .switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  /* First-visit consultation notice */
  .consult-notice { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: rgba(8, 24, 57, 0.62); }
  .consult-notice__panel { position: relative; width: min(100%, 500px); max-height: calc(100dvh - 40px); overflow: auto; padding: clamp(28px, 6vw, 42px); border: 1px solid rgba(255,255,255,0.86); border-radius: 28px; background: #fff; box-shadow: 0 24px 64px rgba(4, 19, 51, 0.32); color: var(--ink); text-align: center; }
  .consult-notice__close { position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 68px; min-height: 44px; padding: 8px 10px; border: 1px solid #d7e4f4; border-radius: 999px; background: #f5f9ff; color: var(--navy); font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1; cursor: pointer; }
  .consult-notice__close svg { width: 16px; height: 16px; flex: none; }
  .consult-notice__close:hover { background: var(--sky-2); }
  .consult-notice__close:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
  .consult-notice__eyebrow { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 11px; border-radius: 999px; background: var(--sky-2); color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .02em; }
  .consult-notice__title { margin: 12px 0 0; color: var(--navy); font-size: clamp(23px, 5.8vw, 31px); font-weight: 800; line-height: 1.3; letter-spacing: -0.04em; overflow-wrap: anywhere; }
  .consult-notice__body { margin: 14px auto 0; max-width: 360px; color: var(--muted); font-size: 15px; font-weight: 600; line-height: 1.65; }
  .consult-notice__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
  .consult-notice__points li { display: flex; min-width: 0; min-height: 98px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 10px 6px; border: 1px solid #d7e4f4; border-radius: 15px; background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%); color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.28; letter-spacing: -.03em; }
  .consult-notice__points img { width: 48px; height: 48px; flex: none; object-fit: contain; filter: drop-shadow(0 5px 8px rgba(15,42,92,.12)); }
  .consult-notice__point-label { display: block; max-width: 100%; overflow-wrap: anywhere; }
  .consult-notice__phone { display: flex; align-items: center; justify-content: center; gap: 13px; width: 100%; min-height: 84px; margin-top: 20px; padding: 12px 20px; border: 1px solid var(--blue); border-radius: 16px; background: var(--navy); color: #fff; font-weight: 800; line-height: 1.3; box-shadow: 0 10px 22px rgba(15,42,92,.19); }
  .consult-notice__phone-art { width: 60px; height: 60px; flex: none; object-fit: contain; filter: drop-shadow(0 7px 9px rgba(3,22,59,.24)); }
  .consult-notice__phone-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; text-align: left; }
  .consult-notice__phone-label { font-size: 14px; font-weight: 700; }
  .consult-notice__phone-number { margin-top: 2px; font-size: clamp(20px, 4.7vw, 23px); letter-spacing: .01em; white-space: nowrap; }
  .consult-notice__phone:hover { background: var(--blue-deep); color: #fff; }
  .consult-notice__confirm { width: 100%; min-height: 50px; margin-top: 10px; border: 1px solid #b9cbe7; border-radius: 14px; background: #fff; color: var(--navy); font-size: 15px; font-weight: 800; }
  .consult-notice__confirm:hover { background: var(--sky-2); }
  @media (max-width: 390px) {
    .consult-notice { padding: 14px; }
    .consult-notice__panel { max-height: calc(100dvh - 28px); padding: 24px; border-radius: 22px; }
    .consult-notice__points { gap: 6px; margin-top: 18px; }
    .consult-notice__points li { min-height: 94px; padding-inline: 4px; }
    .consult-notice__phone { margin-top: 18px; padding-inline: 14px; }
    .consult-notice__phone-art { width: 56px; height: 56px; }
  }
  @media (max-width: 360px) {
    .consult-notice__points li { min-height: 92px; font-size: 11px; }
    .consult-notice__points img { width: 44px; height: 44px; }
    .consult-notice__phone { gap: 10px; min-height: 82px; padding-block: 10px; }
    .consult-notice__phone-art { width: 52px; height: 52px; }
    .consult-notice__phone-label { font-size: 13px; }
  }
  .oxygen-info{margin:96px 0 0;padding:42px;border-radius:28px;background:#eef4ff;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.oxygen-info__copy h2{margin-top:10px}.oxygen-info__copy p{max-width:490px;margin:16px 0 22px;color:var(--muted);font-size:16px;line-height:1.7}.oxygen-info__card{display:block;padding:29px;border-radius:22px;background:#fff;box-shadow:0 16px 35px rgba(24,76,157,.10);transition:transform .2s ease}.oxygen-info__card:hover{transform:translateY(-3px)}.oxygen-info__badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#dbe9ff;color:var(--blue);font-size:13px;font-weight:800}.oxygen-info__numbers{display:flex;align-items:baseline;gap:12px;margin:20px 0 12px;color:var(--blue)}.oxygen-info__numbers strong{font-size:37px;letter-spacing:-.04em}.oxygen-info__numbers small{font-size:15px;letter-spacing:0}.oxygen-info__numbers span{color:var(--muted);font-size:13px;font-weight:700}.oxygen-info__card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;font-weight:600}@media(max-width:760px){.oxygen-info{margin-top:64px;padding:26px;grid-template-columns:1fr;gap:24px}.oxygen-info__numbers{gap:9px}.oxygen-info__numbers strong{font-size:31px}}
  .oxygen-info__numbers{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.oxygen-info__numbers div{min-width:0}.oxygen-info__numbers em{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}.oxygen-info__numbers strong{display:block;white-space:nowrap}.oxygen-info__numbers>span{padding-bottom:5px;color:var(--muted);font-size:13px;font-weight:700}@media(max-width:430px){.oxygen-info__numbers{grid-template-columns:1fr 1fr;row-gap:12px}.oxygen-info__numbers>span{display:none}.oxygen-info__numbers em{font-size:11px}.oxygen-info__numbers strong{font-size:27px}.oxygen-info__numbers small{font-size:13px}}
@media(max-width:360px){.oxygen-info__numbers{grid-template-columns:1fr;gap:14px}}
  /* Consumer-information home integration: dashboard links to insurance detail; six cards link to the hub's owned routes. */
  .oxygen-info__dashboard { overflow: hidden; padding: 0; }
  .oxygen-info__dashboard picture { display: block; }
  .oxygen-info__dashboard img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 772; object-fit: contain; }
  .oxygen-info__dashboard-label { display: block; padding: 15px 18px 17px; color: var(--blue); font-size: 15px; font-weight: 800; }
  .home-info-guide { width: 100%; margin: 0; padding: 88px 0; }
  .home-info-guide__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
  .home-info-guide__head p { margin: 0 0 9px; color: #184c9d; font-size: 13px; font-weight: 700; }
  .home-info-guide__head h2 { margin: 0; color: #0f2a5c; font-size: clamp(27px, 3vw, 40px); letter-spacing: -.05em; }
  .home-info-guide__head > a { color: #184c9d; font-size: 14px; font-weight: 700; white-space: nowrap; }
  .home-info-guide__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .home-guide-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(156px, .78fr); min-height: 284px; overflow: hidden; border: 1px solid #dbe4f1; border-radius: 24px; background: #f3f7ff; color: #0f2a5c; box-shadow: 0 12px 30px rgba(20,47,87,.08); transition: transform .2s ease, box-shadow .2s ease; }
  .home-guide-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(20,47,87,.13); }
  .home-guide-card__content { display: flex; min-width: 0; min-height: 100%; flex-direction: column; align-items: flex-start; padding: 30px 0 28px 30px; }
  .home-guide-card__eyebrow { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border-radius: 999px; background: #dceaff; color: #184c9d; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
  .home-guide-card h3 { margin: 18px 0 8px; color: #0f2a5c; font-size: clamp(24px, 2vw, 30px); line-height: 1.23; letter-spacing: -.045em; }
  .home-guide-card p { margin: 0; max-width: 300px; color: #5d7095; font-size: 14px; font-weight: 600; line-height: 1.62; word-break: keep-all; }
  .home-guide-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; min-height: 44px; padding: 0 18px; border-radius: 999px; background: #163c7d; color: #fff; font-size: 14px; font-weight: 800; box-shadow: 0 8px 16px rgba(22,60,125,.18); }
  .home-guide-card__cta svg { flex: 0 0 auto; }
  .home-guide-card__visual { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 22px 24px 22px 18px; }
  .home-guide-card__visual img { display: block; max-width: 100%; max-height: 184px; object-fit: contain; }
  .home-guide-card--models .home-guide-card__visual { gap: 10px; padding-right: 26px; }
  .home-guide-card--models .home-guide-card__visual img { width: calc(50% - 5px); max-height: 190px; object-fit: contain; }
  .home-guide-card--models .home-guide-card__visual img:first-child { transform: translateY(5px); }
  @media (max-width: 760px) { .home-info-guide { width: 100%; padding: 52px 0; } .home-info-guide__head { display: block; } .home-info-guide__head > a { display: inline-block; margin-top: 15px; } .home-info-guide__cards { grid-template-columns: 1fr; gap: 18px; } .home-guide-card { min-height: 256px; border-radius: 20px; grid-template-columns: minmax(0, 1fr) minmax(132px, .76fr); } .home-guide-card__content { padding: 25px 0 24px 25px; } .home-guide-card h3 { margin-top: 15px; font-size: 25px; } .home-guide-card p { font-size: 14px; } .home-guide-card__cta { min-height: 44px; padding: 0 16px; font-size: 14px; } .home-guide-card__visual { padding: 18px 20px 18px 12px; } .home-guide-card__visual img { max-height: 160px; }
    .home-guide-card--models { display: grid; min-height: 400px; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto minmax(150px, 1fr) auto; gap: 0; padding: 25px; }
    .home-guide-card--models .home-guide-card__content { display: contents; }
    .home-guide-card--models .home-guide-card__eyebrow { order: 1; justify-self: start; }
    .home-guide-card--models h3 { order: 2; margin: 15px 0 8px; }
    .home-guide-card--models p { order: 3; max-width: 100%; }
    .home-guide-card--models .home-guide-card__visual { order: 4; width: 100%; min-height: 150px; padding: 12px 0 8px; gap: 18px; }
    .home-guide-card--models .home-guide-card__visual img { width: calc(50% - 9px); height: 142px; max-height: none; object-fit: contain; }
    .home-guide-card--models .home-guide-card__visual img:first-child { transform: none; }
    .home-guide-card--models .home-guide-card__cta { order: 5; justify-self: start; margin-top: 0; }
  }
  @media (max-width: 390px) { .home-guide-card:not(.home-guide-card--models) { grid-template-columns: minmax(0, 1fr) 118px; } .home-guide-card__content { padding-left: 20px; } .home-guide-card__visual { padding-right: 14px; } .home-guide-card h3 { font-size: 23px; } .home-guide-card--models { min-height: 392px; padding: 25px; } .home-guide-card--models .home-guide-card__content { padding: 0; } .home-guide-card--models .home-guide-card__visual { padding-right: 0; gap: 10px; } .home-guide-card--models .home-guide-card__visual img { width: calc(50% - 5px); height: 134px; } }

  /* Rental process uses the same soft-blue panel and glossy 3D icon family as the guide cards. */
  #process .grid3 { gap: 20px; }
  .process-step { display: flex; min-height: 286px; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid #dbe4f1; border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(20,47,87,.07); }
  .process-step__icon { display: flex; width: 78px; height: 78px; align-items: center; justify-content: center; margin-bottom: 18px; }
  .process-step__icon img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
  .process-step h3 { margin: 0 0 12px; color: #0f2a5c; font-size: 22px; line-height: 1.28; letter-spacing: -.04em; }
  .process-step p { margin: 0; color: #5d7095; font-size: 14px; font-weight: 600; line-height: 1.68; word-break: keep-all; }
  .process-step .go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; min-height: 42px; padding: 0 16px; border: 1px solid #b9cef1; border-radius: 999px; color: #184c9d; font-size: 14px; font-weight: 800; background: #f8fbff; }
  .process-step .go:hover { border-color: #184c9d; background: #eaf2ff; }
  @media (max-width: 760px) { #process .grid3 { gap: 14px; } .process-step { min-height: 0; padding: 25px; border-radius: 20px; } .process-step__icon { width: 70px; height: 70px; margin-bottom: 15px; } .process-step h3 { font-size: 21px; } }
  .slide--award { background: radial-gradient(circle at 50% 43%, #3867ad 0, #173b78 39%, #0d275b 78%); }
  .slide--award::after { z-index: 0; background: linear-gradient(180deg, rgba(10,31,73,.24), rgba(10,31,73,.38)); }
  /* The two approved KBEI emblems retain their own year and award lettering. */
  .slide--award .award-pair { position: absolute; z-index: 1; top: clamp(112px, 13vh, 150px); left: 50%; display: block; width: clamp(510px, 42vw, 620px); transform: translateX(-50%); }
  .slide--award .award-pair img { display: block; width: 100%; height: auto; padding: 0; object-fit: contain; object-position: center; transform: none; transition: none; }
  .slide--award.on .award-pair img { transform: none; }
  /* A shallow desktop hero keeps a gap above the shared copy panel. */
  @media (min-width: 901px) and (max-height: 940px) { .slide--award .award-pair { top: 96px; width: min(480px, 34vw); } }
  @media (min-width: 901px) and (max-height: 840px) { .slide--award .award-pair { top: 96px; width: min(340px, 29vw); } }
  @media (min-width: 901px) and (max-height: 760px) {
    .slide--award .award-pair { top: 96px; width: min(380px, 32vw); }
    .hero-slider:has(.slide--award.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award.on) .slide-copy .cta { display: none; }
  }
  /* v28 hero: source-approved product, map motion and award emblems stay on a shared light matte. */
  .hero-slider { height: max(650px, 86vh); background: #edf7ff; }
  .slide--oxygenate-v28, .slide--nationwide-v28, .slide--award-v28 { background: #edf7ff; }
  .slide--oxygenate-v28::after, .slide--nationwide-v28::after, .slide--award-v28::after { display: none; }
  .slide--oxygenate-v28 > img { position: absolute; right: clamp(18px, 6vw, 136px); top: 98px; width: min(35vw, 467px); height: calc(100% - 122px); object-fit: contain; object-position: right center; transform: none; filter: drop-shadow(0 28px 32px rgba(15,42,92,.16)); }
  .slide--oxygenate-v28.on > img { transform: none; }
  .slide--nationwide-v28 > img { position: absolute; right: clamp(0px, 2vw, 42px); top: 96px; width: min(68vw, 1060px); height: calc(100% - 106px); object-fit: contain; object-position: right center; transform: none; mix-blend-mode: multiply; }
  .slide--nationwide-v28.on > img { transform: none; }
  /* Soften the rectangular map canvas without clipping Korea, Jeju, or the moving point. */
  .slide--nationwide-v28::after { display: block; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #edf7ff 0 31%, rgba(237,247,255,.96) 36%, rgba(237,247,255,.42) 43%, transparent 52%), linear-gradient(180deg, #edf7ff 0 13%, rgba(237,247,255,.9) 17%, transparent 29%), linear-gradient(0deg, rgba(237,247,255,.72) 0%, transparent 16%); }
  .slide--award-v28 .award-pair { top: 72px; width: min(560px, 48vw); height: auto; }
  .slide--award-v28 .award-pair img { background: #edf7ff; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy { left: clamp(24px, 10vw, 200px); bottom: auto; top: 50%; width: min(43vw, 540px); transform: translateY(-30%); align-items: flex-start; text-align: left; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy { bottom: clamp(106px, 13vh, 138px); gap: 13px; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .kicker,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { background: #fff; border-color: #c6d9f1; color: #184c9d; box-shadow: 0 8px 24px rgba(24,76,157,.08); }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker svg,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .kicker svg,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker svg { stroke: #184c9d; }
  .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 { color: #184c9d; text-shadow: none; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-weight: 900; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .sub,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { background: rgba(255,255,255,.92); border-color: #c6d9f1; color: #315681; }
  .hero-slider:has(.slide--oxygenate-v28.on) .btn-outline,
  .hero-slider:has(.slide--nationwide-v28.on) .btn-outline,
  .hero-slider:has(.slide--award-v28.on) .btn-outline { color: #184c9d; border-color: #8eafda; background: #fff; }
  .hero-slider:has(.slide--oxygenate-v28.on) .controls,
  .hero-slider:has(.slide--nationwide-v28.on) .controls,
  .hero-slider:has(.slide--award-v28.on) .controls { color: #184c9d; }
  .hero-slider:has(.slide--oxygenate-v28.on) .controls button,
  .hero-slider:has(.slide--nationwide-v28.on) .controls button,
  .hero-slider:has(.slide--award-v28.on) .controls button { color: #184c9d; border-color: #9ab8df; background: rgba(255,255,255,.84); }
  .hero-slider:has(.slide--oxygenate-v28.on) .controls svg,
  .hero-slider:has(.slide--nationwide-v28.on) .controls svg,
  .hero-slider:has(.slide--award-v28.on) .controls svg { stroke: #184c9d; fill: #184c9d; }
  .hero-slider:has(.slide--oxygenate-v28.on) .scrollhint,
  .hero-slider:has(.slide--nationwide-v28.on) .scrollhint,
  .hero-slider:has(.slide--award-v28.on) .scrollhint { color: #315681; }
  .hero-slider:has(.slide--oxygenate-v28.on) .scrollhint i,
  .hero-slider:has(.slide--nationwide-v28.on) .scrollhint i,
  .hero-slider:has(.slide--award-v28.on) .scrollhint i { background: #315681; }
  .stat--award b { color: #184c9d; font-weight: 900; }
  @media (min-width: 701px) { .hero-slider:has(.slide--award-v28.on) .controls { bottom: 18px; } .hero-slider:has(.slide--award-v28.on) .scrollhint { display: none; } }
  @media (max-width: 700px) {
    .hero-slider { height: 620px; }
    .slide--oxygenate-v28 > img,
    .slide--oxygenate-v28.on > img { right: 50%; top: 105px; width: min(46vw, 200px); height: 210px; transform: translateX(50%); }
    .slide--nationwide-v28 > img { right: 0; top: 105px; width: 100%; height: 210px; object-position: center; }
    /* Fade only the spare canvas at the edges; Korea, Jeju and the route stay fully visible. */
    .slide--nationwide-v28::after { background: linear-gradient(90deg, #edf7ff 0 5%, rgba(237,247,255,.88) 12%, transparent 23%, transparent 77%, rgba(237,247,255,.88) 88%, #edf7ff 95% 100%), linear-gradient(180deg, #edf7ff 0 8%, rgba(237,247,255,.74) 16%, transparent 28%), linear-gradient(0deg, rgba(237,247,255,.62) 0%, transparent 15%); }
    .slide--award-v28 .award-pair { top: 92px; width: min(90vw, 430px); }
    .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 { left: 50%; bottom: 176px; top: auto; width: calc(100% - 36px); transform: translateX(-50%); align-items: center; text-align: center; gap: 8px; }
    .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(27px, 8vw, 36px); }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 9px 14px; font-size: 13px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { display: none; }
    /* Map and award visuals use the upper area; their copy begins below it. */
    .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 { top: 330px; bottom: auto; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { display: flex; }
    .slide-copy .cta { width: auto; margin-top: 2px; }
    .slide-copy .cta .btn-outline { display: none; }
    .slide-copy .cta .btn-white { min-width: min(342px, calc(100vw - 48px)); }
    .controls { bottom: 26px; }
    .scrollhint { display: none; }
  }
  .press { margin-top: 96px; padding: 50px 0; border-top: 1px solid var(--line); }
  .press .sec-head { align-items: end; }
  .press .sec-head p { max-width: 440px; }
  .press-filters { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0 0; }
  .press-filter { min-height: 40px; padding: 0 13px; border: 1px solid #c8d8ee; border-radius: 999px; background: #fff; color: var(--navy); font-size: 13px; font-weight: 800; }
  .press-filter[aria-pressed="true"] { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 8px 17px rgba(24,76,157,.17); }
  .press-count { margin: 14px 0 -11px; color: var(--muted); font-size: 13px; font-weight: 700; }
  .press-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
  .press-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 10px 26px rgba(24,76,157,.07); }
  .press-card[hidden] { display: none; }
  .press-card__thumb { position: relative; display: grid; flex: none; min-height: 0; place-items: center; overflow: hidden; aspect-ratio: 16 / 10; background: #fff; }
  .press-card__thumb > img { display: block; width: auto; max-width: min(72%, 230px); height: auto; max-height: 74px; object-fit: contain; }
  .press-card__logo { display: grid; max-width: min(72%, 230px); place-items: center; }
  .press-card__logo img { display: block; width: 100%; height: auto; max-height: 74px; object-fit: contain; }
  .press-logo--inverse { padding: 12px 16px; border-radius: 12px; background: var(--navy); }
  .press-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
  .press-card__meta { display: flex; gap: 8px; color: var(--blue); font-size: 12px; font-weight: 800; }
  .press-card h3 { margin: 10px 0 18px; font-family: "Pretendard", "Malgun Gothic", sans-serif; font-size: 17px; line-height: 1.5; letter-spacing: -.03em; }
  .press-card__link { margin-top: auto; color: var(--blue); font-size: 14px; font-weight: 800; }
  .press-actions { margin-top: 28px; text-align: center; }
  .press-toggle { min-height: 48px; padding: 0 22px; border: 1px solid var(--blue); border-radius: 999px; background: #fff; color: var(--blue); font-weight: 800; }
  .press-toggle:hover { background: var(--sky-2); }
  .press-note { margin: 17px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; text-align: center; }
  @media (max-width: 900px) { .press .sec-head { align-items: flex-start; } .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 560px) {
    /* The award slide shares the copy panel with the other slides.  On a
       short mobile hero, reserve its upper half for both complete badges. */
    .slide--award .award-pair { top: 116px; width: min(87.5vw, 280px); transform: translateX(-50%); }
    .slide--award .award-pair img { width: 100%; height: auto; transform: none !important; transform-origin: center; }
    .hero-slider:has(.slide--award.on) .slide-copy { bottom: 116px; gap: 14px; }
    .hero-slider:has(.slide--award.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award.on) .slide-copy .cta { display: none; }
    .hero-slider:has(.slide--award.on) .slide-copy #sTitle { font-size: 28px; }
    /* Keep the v28 award's primary phone CTA below the badges and above controls. */
    .hero-slider:has(.slide--award-v28.on) .slide-copy { top: 330px; bottom: auto; gap: 8px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { display: flex; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-size: clamp(25px, 7.5vw, 28px); }
    .press { margin-top: 64px; padding: 36px 0; }
    .press-filters { gap: 7px; }
    .press-filter { min-height: 38px; padding: 0 10px; font-size: 12px; }
    .press-grid { grid-template-columns: 1fr; gap: 14px; }
  }
  @media (max-width: 360px) {
    .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 { top: 316px; }
  }
  /* Short mobile viewports end immediately above the fixed call bar. */
  @media (max-width: 700px) and (max-height: 700px) {
    .hero-slider { height: calc(100svh - 160px); }
    .slide-copy { bottom: 112px; gap: 8px; }
    .controls { bottom: 24px; }
    .slide--oxygenate-v28 > img,
    .slide--oxygenate-v28.on > img { top: 108px; width: min(46vw, 170px); height: 130px; }
    .slide--nationwide-v28 > img { top: 108px; height: 130px; }
    .slide--award-v28 .award-pair,
    .slide--award .award-pair { top: 108px; width: min(76vw, 244px); }
    .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 { top: 245px; bottom: auto; gap: 6px; }
    .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: 24px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 7px 12px; font-size: 12px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .cta,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .cta,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { margin-top: 0; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-white { min-width: min(272px, calc(100vw - 48px)); height: 44px; font-size: 14px; }
  }
  @media (min-width: 361px) and (max-width: 560px) { .slide--award .award-pair { top: 145px; width: min(88.5vw, 345px); } }
  @media (min-width: 361px) and (max-width: 560px) and (max-height: 740px) { .slide--award .award-pair { top: 102px; width: min(76vw, 296px); } }
  /* v30: preserve the original centered hero composition on the shared x=50% axis. */
  .slide--oxygenate-v28,
  .slide--nationwide-v28 { background: #edf7ff; }
  @media (min-width: 701px) {
  /* v32: size the three centered desktop visuals from the real header/copy gap. */
  .hero-slider { --v32-visual-top: 120px; --v32-visual-height: 280px; --v32-award-top: 120px; --v32-award-width: 525px; --v32-award-height: 198px; }
  .slide--oxygenate-v28 > img,
  .slide--oxygenate-v28.on > img { left: 50%; right: auto; top: var(--v32-visual-top); width: min(46vw, 520px); height: var(--v32-visual-height); object-position: center; transform: translateX(-50%) !important; transition: none !important; }
  .slide--nationwide-v28 > img,
  .slide--nationwide-v28.on > img { left: 0; right: auto; top: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; transform: none !important; transition: none !important; mix-blend-mode: normal; }
  .slide--nationwide-v28::after { background: linear-gradient(180deg, rgba(237,247,255,.16) 0%, rgba(237,247,255,0) 28%, rgba(237,247,255,.62) 82%, rgba(237,247,255,.9) 100%); }
  .slide--award-v28 { background: #173b78; }
  .slide--award-v28::after { display: none; }
  .slide--award-v28 .award-pair { top: var(--v32-award-top); width: var(--v32-award-width); height: var(--v32-award-height); overflow: hidden; }
  .slide--award-v28 .award-pair img { width: 100%; height: auto; max-height: none; background: #173b78; transform: translateY(-14.583333%) !important; }
  .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 { left: 50%; top: auto; bottom: 136px; width: min(1240px, calc(100% - 48px)); transform: translateX(-50%); align-items: center; text-align: center; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker { display: none; }
  }
  /* v32 narrow desktop: leave the complete visual more room without touching other slides. */
  @media (min-width: 701px) and (max-height: 820px) {
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy { bottom: 132px; gap: 12px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy { bottom: 78px; gap: 12px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy #sTitle,
    .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-size: 34px; line-height: 1.15; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 8px 16px; font-size: 14px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .btn-outline,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-outline { height: 48px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
  }
  /* A fixed matte keeps the GIF edge invisible at every desktop and mobile width. */
  .slide--award-v28 { background: #173b78; }
  .slide--award-v28::after { display: none; }
  .slide--award-v28 .award-pair img { background: #173b78; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy #sTitle,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy #sTitle { color: #184c9d; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { padding: 8px 20px; border-radius: 18px; background: rgba(255,255,255,.97); color: #184c9d; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { color: #fff; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { background: rgba(11,38,85,.68); border-color: rgba(255,255,255,.25); }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: inline-flex; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); }
  .hero-slider:has(.slide--award-v28.on) .controls .idx { padding: 4px 0; line-height: 24px; white-space: nowrap; border-radius: 999px; background: #184c9d; color: #fff; }
  @media (max-width: 700px) {
    .slide--oxygenate-v28 > img,
    .slide--oxygenate-v28.on > img { left: 50%; right: auto; object-position: center; transform: translateX(-50%) !important; transition: none !important; }
    .slide--nationwide-v28 > img,
    .slide--nationwide-v28.on > img { left: 50%; right: auto; transform: translateX(-50%) !important; transition: none !important; }
    .slide--nationwide-v28::after { background: linear-gradient(180deg, rgba(237,247,255,.84) 0%, rgba(237,247,255,0) 18%, rgba(237,247,255,.82) 94%); }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
    .slide--award-v28 .award-pair img { transition: none !important; }
  }
  @media (max-width: 700px) and (max-height: 700px) {
    .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { padding: 4px 14px; }
  }


/* 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; }
}


/* v35: verified 2026 press deck and decorative nationwide route overlay. */
.slide--news-v35 { visibility: hidden; pointer-events: none; background: radial-gradient(circle at 50% 15%, #f8fbff 0, #e8f3ff 46%, #dcecff 100%); }
.slide--news-v35.on { visibility: visible; pointer-events: auto; }
.slide--news-v35::after { display: none; }
.news-deck-v35 { position: absolute; z-index: 2; top: var(--v35-news-top, 118px); left: 50%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.5vw, 24px); width: min(1120px, calc(100% - 48px)); transform: translateX(-50%); }
.news-card-v35 { display: flex; flex-direction: column; aspect-ratio: 4 / 3; padding: 24px; overflow: hidden; border: 1px solid rgba(98, 143, 201, .30); border-radius: 22px; background: rgba(255, 255, 255, .88); box-shadow: 0 16px 36px rgba(29, 82, 148, .10); color: #10346e; text-decoration: none; transform: translate3d(0, 0, 0); opacity: 1; }
.news-card-v35__logo { display: flex; align-items: center; height: 40px; }
.news-card-v35__logo img { display: block; width: 100%; max-width: 152px; max-height: 40px; height: auto; object-fit: contain; object-position: left center; transform: none; transition: none; }
.news-card-v35__date { margin-top: 12px; color: #1c5bb1; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.news-card-v35 h3 { display: -webkit-box; height: calc(1.4em * 3); margin: 9px 0 0; overflow: hidden; color: #102f66; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.4; letter-spacing: -.035em; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-card-v35__link { margin-top: auto; color: #1856ad; font-size: 13px; font-weight: 800; }
.slide--news-v35.on .news-card-v35 { animation: medione-news-v35-float 18s ease-in-out both infinite; }
.slide--news-v35.on .news-card-v35:nth-child(2) { animation-delay: .24s; }
.slide--news-v35.on .news-card-v35:nth-child(3) { animation-delay: .48s; }
.hero-slider.is-paused .news-card-v35,
.hero-slider.is-paused .map-hub-v35 .map-route-v35 { animation-play-state: paused; }
.hero-slider:has(.slide--news-v35.on) .controls { color: #184c9d; }
.hero-slider:has(.slide--news-v35.on) .controls button { color: #184c9d; border-color: #9ab8df; background: rgba(255,255,255,.84); }
.hero-slider:has(.slide--news-v35.on) .controls svg { stroke: #184c9d; fill: #184c9d; }

.map-hub-v35 { position: absolute; z-index: 2; pointer-events: none; overflow: visible; }
.map-route-v35 { fill: none; stroke: #1d61b6; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; pathLength: 1; stroke-dasharray: 1; stroke-dashoffset: 1; }
.slide--nationwide-v28.on .map-route-v35 { animation: medione-map-v35-draw 6s cubic-bezier(.22, .8, .28, 1) both infinite; }
.slide--nationwide-v28.on .map-route-v35:nth-child(2) { animation-delay: .12s; }
.slide--nationwide-v28.on .map-route-v35:nth-child(3) { animation-delay: .24s; }
.slide--nationwide-v28.on .map-route-v35:nth-child(4) { animation-delay: .36s; }
.slide--nationwide-v28.on .map-route-v35:nth-child(5) { animation-delay: .48s; }
.slide--nationwide-v28.on .map-route-v35:nth-child(6) { animation-delay: .60s; }
@keyframes medione-news-v35-float { 0%, 100% { opacity: 1; transform: translate3d(0, 0, 0); } 50% { opacity: 1; transform: translate3d(0, -6px, 0); } }
@keyframes medione-map-v35-draw { 0%, 8% { opacity: 0; stroke-dashoffset: 1; } 12% { opacity: .90; } 63% { opacity: .90; stroke-dashoffset: 0; } 82% { opacity: .90; stroke-dashoffset: 0; } 100% { opacity: 0; stroke-dashoffset: 0; } }

@media (min-width: 701px) {
  .hero-slider:has(.slide--news-v35.on) .slide-copy { left: 50%; top: auto; bottom: 136px; width: min(1240px, calc(100% - 48px)); transform: translateX(-50%); align-items: center; text-align: center; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy .kicker,
  .hero-slider:has(.slide--news-v35.on) .slide-copy .sub { color: #184c9d; background: rgba(255,255,255,.92); border-color: #c6d9f1; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy #sTitle { color: #184c9d; text-shadow: none; white-space: pre-line; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy .kicker svg { stroke: #184c9d; }
  .hero-slider:has(.slide--news-v35.on) .btn-outline { color: #184c9d; border-color: #8eafda; background: #fff; }
  .hero-slider:has(.slide--news-v35.on) .controls { color: #184c9d; }
  .hero-slider:has(.slide--news-v35.on) .controls button { color: #184c9d; border-color: #9ab8df; background: rgba(255,255,255,.84); }
  .hero-slider:has(.slide--news-v35.on) .controls svg { stroke: #184c9d; fill: #184c9d; }
  .hero-slider:has(.slide--news-v35.on) .scrollhint { color: #315681; }
  .hero-slider:has(.slide--news-v35.on) .scrollhint i { background: #315681; }
}
@media (max-width: 700px) {
  .news-deck-v35 { top: 128px; grid-template-columns: 1fr; width: min(300px, calc(100% - 44px)); gap: 0; }
  .news-card-v35 { display: none; padding: 18px; border-radius: 18px; }
  .news-card-v35.is-mobile-current-v35 { display: flex; }
  .news-deck-v35:not(:has(.is-mobile-current-v35)) .news-card-v35:first-child { display: flex; }
  .news-card-v35__logo { height: 32px; }
  .news-card-v35__logo img { max-width: 126px; max-height: 32px; }
  .news-card-v35__date { margin-top: 8px; }
  .news-card-v35 h3 { height: calc(1.35em * 3); font-size: 16px; line-height: 1.35; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy { left: 50%; top: 380px; bottom: auto; width: calc(100% - 36px); transform: translateX(-50%); align-items: center; text-align: center; gap: 8px; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy .kicker { display: none; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy #sTitle { color: #184c9d; font-size: clamp(25px, 7.4vw, 32px); text-shadow: none; white-space: pre-line; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy .sub { color: #315681; background: rgba(255,255,255,.92); border-color: #c6d9f1; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy .btn-outline { display: none; }
  .hero-slider:has(.slide--news-v35.on) .slide-copy .btn-white { min-width: min(342px, calc(100vw - 48px)); }
}
@media (prefers-reduced-motion: reduce) {
  .news-card-v35, .slide--news-v35.on .news-card-v35, .slide--nationwide-v28.on .map-route-v35 { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
}


/* v36: continuous, source-backed press wall for hero slide 06. */
.slide--news-v36 { background: #eaf3ff; }
.slide--news-v36::after { display: none; }
.news-wall-v36 { position: absolute; z-index: 2; inset: 108px 0 64px; display: flex; flex-direction: column; gap: 8px; overflow: hidden; padding: 0 8px; }
.news-wall-v36__row { --news-wall-distance: 1200px; --news-wall-duration: 60s; display: flex; flex: 1 1 0; min-height: 0; overflow: hidden; }
.news-wall-v36__track { display: flex; width: max-content; gap: 8px; will-change: transform; animation: news-wall-v36-left var(--news-wall-duration) linear infinite; }
.news-wall-v36__row--reverse .news-wall-v36__track { animation-name: news-wall-v36-right; }
.news-wall-v36__card { display: flex; flex: 0 0 var(--news-wall-card-width, 280px); width: var(--news-wall-card-width, 280px); flex-direction: column; overflow: hidden; padding: clamp(13px, 1.2vw, 20px); border: 1px solid rgba(76, 123, 185, .25); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(21,70,137,.10); color: #12366f; text-decoration: none; }
.news-wall-v36__logo { display: flex; align-items: center; justify-content: flex-start; min-height: 32%; }
.news-wall-v36__logo img { display: block; width: min(78%, 154px); max-height: 52px; object-fit: contain; object-position: left center; }
.news-wall-v36__logo--inverse { padding: 7px 10px; border-radius: 10px; background: #0f2a5c; }
.news-wall-v36__meta { margin-top: auto; color: #1d5caf; font-size: 11px; font-weight: 800; letter-spacing: .01em; }
.news-wall-v36__title { display: -webkit-box; min-height: calc(1.34em * 2); margin: 6px 0 0; overflow: hidden; color: #102f66; font-size: clamp(12px, .82vw, 15px); font-weight: 800; line-height: 1.34; letter-spacing: -.03em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.news-wall-v36__link { margin-top: 8px; color: #1b5aad; font-size: 11px; font-weight: 800; }
@keyframes news-wall-v36-left { from { transform: translateX(0); } to { transform: translateX(calc(var(--news-wall-distance) * -1)); } }
@keyframes news-wall-v36-right { from { transform: translateX(calc(var(--news-wall-distance) * -1)); } to { transform: translateX(0); } }
.hero-slider.is-paused .news-wall-v36__track,
.slide--news-v36:not(.on) .news-wall-v36__track,
.news-wall-v36__row:hover .news-wall-v36__track,
.news-wall-v36__row:focus-within .news-wall-v36__track { animation-play-state: paused; }
.hero-slider:has(.slide--news-v36.on) .slide-copy { z-index: 4; width: min(560px, calc(100% - 36px)); padding: 18px 22px; border: 1px solid rgba(164, 193, 232, .8); border-radius: 22px; background: rgba(255,255,255,.88); box-shadow: 0 14px 42px rgba(20,68,138,.18); backdrop-filter: blur(14px); pointer-events: auto; }
.hero-slider:has(.slide--news-v36.on) .slide-copy .kicker { height: auto; padding: 0; border: 0; background: transparent; color: #1b5baa; font-size: 12px; }
.hero-slider:has(.slide--news-v36.on) .slide-copy .kicker svg { stroke: #1b5baa; }
.hero-slider:has(.slide--news-v36.on) .slide-copy #sTitle { color: #102f66; font-size: clamp(25px, 2.4vw, 38px); line-height: 1.16; text-shadow: none; }
.hero-slider:has(.slide--news-v36.on) .slide-copy .sub { padding: 0; border: 0; background: transparent; color: #36577f; font-size: clamp(13px, 1vw, 15px); line-height: 1.45; }
.hero-slider:has(.slide--news-v36.on) .slide-copy .cta { display: none; }
.hero-slider:has(.slide--news-v36.on) .controls { z-index: 5; color: #184c9d; }
.hero-slider:has(.slide--news-v36.on) .controls button { color: #184c9d; border-color: #9ab8df; background: rgba(255,255,255,.86); }
.hero-slider:has(.slide--news-v36.on) .controls svg { stroke: #184c9d; fill: #184c9d; }
.hero-slider:has(.slide--news-v36.on) .scrollhint { display: none; }
@media (max-width: 700px) {
  .news-wall-v36 { inset: 116px 0 62px; gap: 8px; padding: 0 6px; }
  .news-wall-v36__card { flex-basis: var(--news-wall-card-width, 200px); width: var(--news-wall-card-width, 200px); padding: 12px; border-radius: 13px; }
  .news-wall-v36__logo img { max-height: 35px; }
  .news-wall-v36__meta, .news-wall-v36__link { font-size: 10px; }
  .news-wall-v36__title { min-height: calc(1.32em * 2); font-size: 11px; line-height: 1.32; }
  .hero-slider:has(.slide--news-v36.on) .slide-copy { top: 50%; bottom: auto; padding: 13px 16px; gap: 7px; transform: translate(-50%, -50%); }
  .hero-slider:has(.slide--news-v36.on) .slide-copy #sTitle { font-size: clamp(22px, 6.2vw, 29px); }
  .hero-slider:has(.slide--news-v36.on) .slide-copy .sub { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .news-wall-v36__track { animation: none !important; }
}


/* v36 mobile hero: visual, copy and controls each occupy a fixed vertical slot. */
@media (min-width: 701px) {
  .slide--nationwide-v28 > img,
  .slide--nationwide-v28.on > img {
    position: absolute;
    top: 112px !important;
    right: 0;
    left: 0 !important;
    width: 100% !important;
    height: calc(100% - 124px) !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 700px) {
  .hero-slider { height: 690px; min-height: 690px; overflow: hidden; background: #edf7ff; }
  /* The two-line navigation occupies 107px inside the hero. Light slides need no dark gradient. */
  .hero-slider .slide:not(.slide--award-v28):not(.slide--news-v35) { background: #edf7ff; }
  .hero-slider .slide:not(.slide--award-v28):not(.slide--news-v35)::after { display: none; }

  /* Complete originals sit beneath the navigation, not at the static-flow origin. */
  .hero-slider .slide:not(.slide--oxygenate-v28):not(.slide--nationwide-v28):not(.slide--award-v28):not(.slide--news-v35) > img {
    position: absolute; top: 132px; right: auto; left: 50%; width: calc(100% - 32px); height: 210px;
    object-fit: contain; object-position: center; transform: translateX(-50%) !important; transition: none !important;
  }
  .slide--oxygenate-v28 > img, .slide--oxygenate-v28.on > img {
    position: absolute; top: 132px; right: auto; left: 50%; width: min(78vw, 300px); height: 210px;
    object-fit: contain; object-position: center; transform: translateX(-50%) !important; transition: none !important;
  }
  .slide--nationwide-v28 > img, .slide--nationwide-v28.on > img {
    position: absolute; top: 124px; right: auto; left: 50%; width: calc(100% - 32px); height: 280px;
    object-fit: contain; object-position: center; mix-blend-mode: normal; transform: translateX(-50%) !important; transition: none !important;
  }
  .slide--nationwide-v28 .map-hub-v35 { display: none; }

  /* The mobile source is the complete 2025–2026 GIF, not a cropped desktop strip. */
  .slide--award-v28 .award-pair { position: absolute; top: 126px; right: auto; left: 50%; width: min(88vw, 380px); height: auto; overflow: visible; transform: translateX(-50%); }
  .slide--award-v28 .award-pair img { position: static; display: block; width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; transform: none !important; }

  /* Award copy uses the same protected lower slot while retaining the navy treatment. */
  .hero-slider:has(.slide--award-v28.on) .slide-copy { top: 370px; bottom: auto; width: calc(100% - 36px); gap: 8px; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-size: clamp(25px, 7.4vw, 32px); line-height: 1.2; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 8px 13px; font-size: 13px; line-height: 1.45; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { margin-top: 2px; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-white { min-width: min(342px, calc(100vw - 48px)); height: 46px; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-outline,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }

  /* Light slides use brand-blue copy and a white detail pill; award stays on navy. */
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy { top: 370px; bottom: auto; width: calc(100% - 36px); gap: 8px; }
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy { top: 430px !important; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy #sTitle { color: #10428e; font-size: clamp(25px, 7.4vw, 32px); line-height: 1.2; text-shadow: none; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy .sub { max-width: min(100%, 360px); padding: 8px 13px; border-color: #c8dcf4; background: rgba(255,255,255,.94); color: #315681; font-size: 13px; line-height: 1.45; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy .cta { margin-top: 2px; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy .btn-white { min-width: min(342px, calc(100vw - 48px)); height: 46px; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy .btn-outline,
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy .kicker { display: none; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .controls { color: #184c9d; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .controls button { color: #184c9d; border-color: #9ab8df; background: #fff; }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .controls svg { stroke: #184c9d; fill: #184c9d; }
  .hero-slider .controls { bottom: 30px; }
  .hero-slider .scrollhint { display: none; }
}

/* Short handsets scroll rather than compressing three protected slots into each other. */
@media (max-width: 700px) and (max-height: 700px) { .hero-slider { height: 690px; min-height: 690px; } }
@media (max-width: 350px) {
  .slide--award-v28 .award-pair { width: min(84vw, 276px); }
  .hero-slider:has(.slide.on:not(.slide--award-v28):not(.slide--news-v35)) .slide-copy { width: calc(100% - 30px); }
}


/* Purchase-home v3: content substitutions on the protected rental layout. */
.sale-rental-shell .purchase-consult-first { min-height:48px; }
.sale-rental-shell .purchase-slide { background-position:center; background-size:cover; }
.sale-rental-shell .purchase-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,35,80,.85),rgba(10,35,80,.24) 56%,rgba(10,35,80,.04)); }
.sale-rental-shell .purchase-slide--vita { background-image:url('/assets/shop-preview/vita.jpg'); background-color:#b9c8dd; }
.sale-rental-shell .purchase-slide--p2e { background-image:url('/assets/p2e-kingon.webp'); background-color:#dce8f8; background-size:contain; background-repeat:no-repeat; }
.sale-rental-shell .purchase-slide--krober { background-image:url('/assets/shop-preview/krober.jpg'); background-color:#cfd9e6; }
.sale-rental-shell .purchase-slide--delivery { background-image:linear-gradient(135deg,#dbe9fb,#f8fbff); }
.sale-rental-shell .purchase-slide--delivery::before { content:"전국 택배 배송 · 고객 직접 설치"; position:absolute; right:10%; top:42%; color:#184c9d; font-family:"Gmarket Sans",sans-serif; font-size:clamp(28px,4vw,58px); line-height:1.25; text-align:right; z-index:1; }
.sale-rental-shell .purchase-slide--delivery::after { background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.18)); }
.sale-rental-shell .purchase-slide--award { background:#e7f0fc url('/assets/medione-awards-2025-2026-v32-desktop.png') center/contain no-repeat; }
.sale-rental-shell .purchase-slide--award::after { background:rgba(237,245,255,.20); }
.sale-rental-shell .purchase-showroom-product { display:none; height:100%; position:relative; align-items:center; justify-content:center; }
.sale-rental-shell .purchase-showroom-product.on { display:flex; }
.sale-rental-shell .purchase-showroom-product img { width:74%; height:76%; object-fit:contain; filter:drop-shadow(0 18px 20px rgba(15,42,92,.23)); }
.sale-rental-shell .purchase-showroom-product>div { position:absolute; left:18px; right:18px; bottom:18px; display:grid; gap:4px; padding:13px 16px; border-radius:16px; background:rgba(255,255,255,.9); box-shadow:0 12px 26px rgba(24,76,157,.14); }
.sale-rental-shell .purchase-showroom-product b { color:#0f2a5c; font-size:18px; }
.sale-rental-shell .purchase-showroom-product span { color:#184c9d; font-size:14px; font-weight:700; }
.sale-rental-shell .sale-card-actions { display:flex; align-items:center; gap:10px; margin-top:auto; }
.sale-rental-shell .sale-card-actions .arrow { color:#184c9d; font-size:13px; font-weight:800; }
.sale-rental-shell .sale-card-actions .btn { justify-content:center; flex:1; }
.sale-rental-shell .purchase-explore-copy { flex:1; padding:clamp(30px,5vw,76px); }
.sale-rental-shell .purchase-explore-copy h3 { margin:10px 0 18px; color:var(--navy); font-size:clamp(29px,3.5vw,48px); line-height:1.16; }
.sale-rental-shell .purchase-explore-copy p { max-width:470px; color:var(--muted); line-height:1.8; }
.sale-rental-shell .purchase-explore-products { display:flex; flex:1; align-items:center; justify-content:center; gap:12px; padding:26px; }
.sale-rental-shell .purchase-explore-products img { width:29%; max-height:280px; object-fit:contain; filter:drop-shadow(0 15px 20px rgba(15,42,92,.18)); }
.sale-rental-shell .oxygen-info__panel { padding:clamp(32px,5vw,72px); border-radius:28px; background:#e8f0fe; }
.sale-rental-shell .oxygen-info__panel h2 { margin:8px 0 12px; color:var(--navy); font-size:clamp(30px,3.4vw,48px); }
.sale-rental-shell .oxygen-info__panel>p { color:var(--muted); }
.sale-rental-shell .oxygen-info__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px; }
.sale-rental-shell .oxygen-info__grid article { display:grid; gap:7px; padding:20px; border-radius:16px; background:#fff; }
.sale-rental-shell .oxygen-info__grid b { color:var(--blue); }
.sale-rental-shell .oxygen-info__grid span { color:var(--muted); font-size:14px; line-height:1.6; }
.sale-rental-shell .service-card { min-height:210px; padding:30px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 12px 28px rgba(24,76,157,.08); }
.sale-rental-shell .service-card__no { color:var(--blue); font-family:Manrope,Pretendard,sans-serif; font-weight:800; }
.sale-rental-shell .service-card h3 { color:var(--navy); font-size:23px; }
.sale-rental-shell .service-card p { color:var(--muted); line-height:1.75; }
.sale-rental-shell .nationwide-sale { display:flex; align-items:center; gap:40px; padding:clamp(34px,6vw,80px) 0; }
.sale-rental-shell .nationwide-sale>div { flex:1; }
.sale-rental-shell .nationwide-sale h2 { margin:8px 0 16px; color:var(--navy); font-size:clamp(30px,3.4vw,48px); line-height:1.18; }
.sale-rental-shell .nationwide-sale p { max-width:520px; color:var(--muted); line-height:1.8; }
.sale-rental-shell .nationwide-sale img { width:min(47%,520px); object-fit:contain; }
.sale-rental-shell .consult-sale { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px clamp(24px,5vw,64px); border-radius:26px; background:#dbe9fb; }
.sale-rental-shell .consult-sale h2 { margin:7px 0 9px; color:var(--navy); font-size:30px; }
.sale-rental-shell .consult-sale p { margin:0; color:var(--muted); }
.sale-rental-shell #company .wrap { padding:48px 0; }
.sale-rental-shell #company .co .co { margin-top:0; }
.sale-rental-shell #company p { color:var(--faint); font-size:13px; }
@media (max-width:700px) { .sale-rental-shell .purchase-slide--award { background-image:url('/assets/medione-awards-2025-2026-v30.png'); } .sale-rental-shell .purchase-slide--delivery::before { left:24px; right:24px; top:46%; text-align:left; font-size:32px; } .sale-rental-shell .oxygen-info__grid { grid-template-columns:1fr; } .sale-rental-shell .purchase-explore-products { padding:10px; } .sale-rental-shell .nationwide-sale { display:block; } .sale-rental-shell .nationwide-sale img { display:block; width:100%; margin-top:25px; } .sale-rental-shell .consult-sale { display:block; } .sale-rental-shell .consult-sale .btn { width:100%; justify-content:center; margin-top:20px; } }

/* V3.1: retain original slide/image composition after purchase data replacement. */
.sale-rental-shell .purchase-slide { background:none !important; }
.sale-rental-shell .purchase-slide::before,.sale-rental-shell .purchase-slide::after { display:none !important; }
.sale-rental-shell .purchase-slide > img { width:100%; height:100%; object-fit:cover; object-position:72% 50%; background:#e8f0fe; }
.sale-rental-shell .purchase-slide--delivery > img { object-fit:contain; object-position:78% 50%; background:#eef5ff; }
.sale-rental-shell .purchase-slide--award > img { object-fit:contain; background:#e8f0fe; }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy { max-width:560px; padding:18px 22px; border:1px solid rgba(164,193,232,.8); border-radius:22px; background:rgba(255,255,255,.88); box-shadow:0 14px 42px rgba(20,68,138,.18); backdrop-filter:blur(14px); }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy #sTitle { color:#102f66; text-shadow:none; white-space:pre-line; }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy .kicker,.sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy .sub { color:#1b5baa; background:transparent; border:0; padding:0; }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .btn-white { color:#184c9d; border-color:#8eafda; background:#fff; }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .controls,.sale-rental-shell .hero-slider:has(.purchase-slide.on) .controls button { color:#184c9d; }
.sale-rental-shell #showroom .hero-layout { display:contents; }
.sale-rental-shell #showroom .showroom-panel { min-height:0; }
@media (max-width:700px) { .sale-rental-shell .purchase-slide > img { object-position:62% 26%; } .sale-rental-shell .purchase-slide--delivery > img { object-position:center 28%; } .sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy { top:390px; bottom:auto; width:calc(100% - 36px); transform:translateX(-50%); padding:13px 16px; text-align:center; } }
  @media (prefers-reduced-motion: reduce) {
    .chip, .hot::after { animation: none; }
    .product { transition: none; }
  }

  /* Showroom: keep every product control and spec in one deliberate panel. */
  #showroom .stage { height: auto; min-height: 0; }
  #showroom .stage-glow, #showroom .bigword, #showroom .hint { display: none; }
  #showroom .showroom-panel { position: relative; z-index: 2; display: grid; gap: 16px; padding: 18px; border: 1px solid rgba(255,255,255,0.9); border-radius: 32px; background: linear-gradient(155deg, rgba(255,255,255,0.82), rgba(213,230,251,0.9)); box-shadow: 0 24px 56px rgba(24,76,157,0.14), inset 0 1px rgba(255,255,255,0.92); }
  #showroom .cats { position: static; transform: none; justify-self: center; display: flex; width: min(100%, 520px); gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,0.72); border: 1px solid rgba(255,255,255,0.94); box-shadow: 0 6px 18px rgba(24,76,157,0.08); }
  #showroom .cats button { min-height: 44px; height: 44px; flex: 1 1 0; padding: 0 12px; }
  #showroom .product-layer { position: relative; inset: auto; height: clamp(280px, 25vw, 400px); min-height: 0; perspective: none; }
  #showroom .product { transform: none !important; transition: none; }
  #showroom .visual { border-radius: 24px; background: linear-gradient(160deg, rgba(255,255,255,0.9), rgba(211,229,252,0.94)); box-shadow: inset 0 1px rgba(255,255,255,0.92); }
  #showroom .visual img.render { height: 80%; max-width: 82%; }
  #showroom .spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #showroom .chip { position: static; display: flex; min-width: 0; padding: 12px; border-radius: 16px; animation: none; transform: none; box-shadow: 0 8px 18px rgba(24,76,157,0.08), inset 0 1px rgba(255,255,255,0.9); }
  #showroom .chip:hover { transform: none; }
  #showroom .chip .ico { width: 36px; height: 36px; border-radius: 11px; }
  #showroom .chip small { overflow-wrap: anywhere; }
  #showroom .chip b { font-size: 15px; overflow-wrap: anywhere; }
  #showroom .switcher { position: static; transform: none; justify-self: stretch; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 100%; overflow: visible; padding: 5px; border-radius: 20px; }
  #showroom .switcher button { width: 100%; min-width: 0; min-height: 44px; height: auto; padding: 8px 10px; white-space: normal; line-height: 1.25; }
  @media (max-width: 640px) {
    #showroom .showroom-panel { gap: 12px; padding: 12px; border-radius: 24px; }
    #showroom .cats { justify-self: stretch; overflow: hidden; }
    #showroom .cats button { flex: 1 1 0; min-width: 0; padding: 0 6px; font-size: 12px; }
    #showroom .product-layer { height: 310px; }
    #showroom .spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    #showroom .chip { padding: 10px; gap: 9px; }
    #showroom .chip .ico { width: 32px; height: 32px; }
    #showroom .chip small { font-size: 10.5px; }
    #showroom .chip b { font-size: 13px; }
    #showroom .switcher { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  /* First-visit consultation notice */
  .consult-notice { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: rgba(8, 24, 57, 0.62); }
  .consult-notice__panel { position: relative; width: min(100%, 500px); max-height: calc(100dvh - 40px); overflow: auto; padding: clamp(28px, 6vw, 42px); border: 1px solid rgba(255,255,255,0.86); border-radius: 28px; background: #fff; box-shadow: 0 24px 64px rgba(4, 19, 51, 0.32); color: var(--ink); text-align: center; }
  .consult-notice__close { position: absolute; top: 10px; right: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 68px; min-height: 44px; padding: 8px 10px; border: 1px solid #d7e4f4; border-radius: 999px; background: #f5f9ff; color: var(--navy); font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1; cursor: pointer; }
  .consult-notice__close svg { width: 16px; height: 16px; flex: none; }
  .consult-notice__close:hover { background: var(--sky-2); }
  .consult-notice__close:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
  .consult-notice__eyebrow { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 11px; border-radius: 999px; background: var(--sky-2); color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .02em; }
  .consult-notice__title { margin: 12px 0 0; color: var(--navy); font-size: clamp(23px, 5.8vw, 31px); font-weight: 800; line-height: 1.3; letter-spacing: -0.04em; overflow-wrap: anywhere; }
  .consult-notice__body { margin: 14px auto 0; max-width: 360px; color: var(--muted); font-size: 15px; font-weight: 600; line-height: 1.65; }
  .consult-notice__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
  .consult-notice__points li { display: flex; min-width: 0; min-height: 98px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 10px 6px; border: 1px solid #d7e4f4; border-radius: 15px; background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%); color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.28; letter-spacing: -.03em; }
  .consult-notice__points img { width: 48px; height: 48px; flex: none; object-fit: contain; filter: drop-shadow(0 5px 8px rgba(15,42,92,.12)); }
  .consult-notice__point-label { display: block; max-width: 100%; overflow-wrap: anywhere; }
  .consult-notice__phone { display: flex; align-items: center; justify-content: center; gap: 13px; width: 100%; min-height: 84px; margin-top: 20px; padding: 12px 20px; border: 1px solid var(--blue); border-radius: 16px; background: var(--navy); color: #fff; font-weight: 800; line-height: 1.3; box-shadow: 0 10px 22px rgba(15,42,92,.19); }
  .consult-notice__phone-art { width: 60px; height: 60px; flex: none; object-fit: contain; filter: drop-shadow(0 7px 9px rgba(3,22,59,.24)); }
  .consult-notice__phone-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; text-align: left; }
  .consult-notice__phone-label { font-size: 14px; font-weight: 700; }
  .consult-notice__phone-number { margin-top: 2px; font-size: clamp(20px, 4.7vw, 23px); letter-spacing: .01em; white-space: nowrap; }
  .consult-notice__phone:hover { background: var(--blue-deep); color: #fff; }
  .consult-notice__confirm { width: 100%; min-height: 50px; margin-top: 10px; border: 1px solid #b9cbe7; border-radius: 14px; background: #fff; color: var(--navy); font-size: 15px; font-weight: 800; }
  .consult-notice__confirm:hover { background: var(--sky-2); }
  @media (max-width: 390px) {
    .consult-notice { padding: 14px; }
    .consult-notice__panel { max-height: calc(100dvh - 28px); padding: 24px; border-radius: 22px; }
    .consult-notice__points { gap: 6px; margin-top: 18px; }
    .consult-notice__points li { min-height: 94px; padding-inline: 4px; }
    .consult-notice__phone { margin-top: 18px; padding-inline: 14px; }
    .consult-notice__phone-art { width: 56px; height: 56px; }
  }
  @media (max-width: 360px) {
    .consult-notice__points li { min-height: 92px; font-size: 11px; }
    .consult-notice__points img { width: 44px; height: 44px; }
    .consult-notice__phone { gap: 10px; min-height: 82px; padding-block: 10px; }
    .consult-notice__phone-art { width: 52px; height: 52px; }
    .consult-notice__phone-label { font-size: 13px; }
  }
  .oxygen-info{margin:96px 0 0;padding:42px;border-radius:28px;background:#eef4ff;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.oxygen-info__copy h2{margin-top:10px}.oxygen-info__copy p{max-width:490px;margin:16px 0 22px;color:var(--muted);font-size:16px;line-height:1.7}.oxygen-info__card{display:block;padding:29px;border-radius:22px;background:#fff;box-shadow:0 16px 35px rgba(24,76,157,.10);transition:transform .2s ease}.oxygen-info__card:hover{transform:translateY(-3px)}.oxygen-info__badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#dbe9ff;color:var(--blue);font-size:13px;font-weight:800}.oxygen-info__numbers{display:flex;align-items:baseline;gap:12px;margin:20px 0 12px;color:var(--blue)}.oxygen-info__numbers strong{font-size:37px;letter-spacing:-.04em}.oxygen-info__numbers small{font-size:15px;letter-spacing:0}.oxygen-info__numbers span{color:var(--muted);font-size:13px;font-weight:700}.oxygen-info__card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;font-weight:600}@media(max-width:760px){.oxygen-info{margin-top:64px;padding:26px;grid-template-columns:1fr;gap:24px}.oxygen-info__numbers{gap:9px}.oxygen-info__numbers strong{font-size:31px}}
  .oxygen-info__numbers{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}.oxygen-info__numbers div{min-width:0}.oxygen-info__numbers em{display:block;margin-bottom:4px;color:var(--muted);font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}.oxygen-info__numbers strong{display:block;white-space:nowrap}.oxygen-info__numbers>span{padding-bottom:5px;color:var(--muted);font-size:13px;font-weight:700}@media(max-width:430px){.oxygen-info__numbers{grid-template-columns:1fr 1fr;row-gap:12px}.oxygen-info__numbers>span{display:none}.oxygen-info__numbers em{font-size:11px}.oxygen-info__numbers strong{font-size:27px}.oxygen-info__numbers small{font-size:13px}}
@media(max-width:360px){.oxygen-info__numbers{grid-template-columns:1fr;gap:14px}}
  /* Consumer-information home integration: dashboard links to insurance detail; six cards link to the hub's owned routes. */
  .oxygen-info__dashboard { overflow: hidden; padding: 0; }
  .oxygen-info__dashboard picture { display: block; }
  .oxygen-info__dashboard img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 772; object-fit: contain; }
  .oxygen-info__dashboard-label { display: block; padding: 15px 18px 17px; color: var(--blue); font-size: 15px; font-weight: 800; }
  .home-info-guide { width: 100%; margin: 0; padding: 88px 0; }
  .home-info-guide__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
  .home-info-guide__head p { margin: 0 0 9px; color: #184c9d; font-size: 13px; font-weight: 700; }
  .home-info-guide__head h2 { margin: 0; color: #0f2a5c; font-size: clamp(27px, 3vw, 40px); letter-spacing: -.05em; }
  .home-info-guide__head > a { color: #184c9d; font-size: 14px; font-weight: 700; white-space: nowrap; }
  .home-info-guide__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .home-guide-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(156px, .78fr); min-height: 284px; overflow: hidden; border: 1px solid #dbe4f1; border-radius: 24px; background: #f3f7ff; color: #0f2a5c; box-shadow: 0 12px 30px rgba(20,47,87,.08); transition: transform .2s ease, box-shadow .2s ease; }
  .home-guide-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(20,47,87,.13); }
  .home-guide-card__content { display: flex; min-width: 0; min-height: 100%; flex-direction: column; align-items: flex-start; padding: 30px 0 28px 30px; }
  .home-guide-card__eyebrow { display: inline-flex; align-items: center; min-height: 25px; padding: 0 10px; border-radius: 999px; background: #dceaff; color: #184c9d; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
  .home-guide-card h3 { margin: 18px 0 8px; color: #0f2a5c; font-size: clamp(24px, 2vw, 30px); line-height: 1.23; letter-spacing: -.045em; }
  .home-guide-card p { margin: 0; max-width: 300px; color: #5d7095; font-size: 14px; font-weight: 600; line-height: 1.62; word-break: keep-all; }
  .home-guide-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; min-height: 44px; padding: 0 18px; border-radius: 999px; background: #163c7d; color: #fff; font-size: 14px; font-weight: 800; box-shadow: 0 8px 16px rgba(22,60,125,.18); }
  .home-guide-card__cta svg { flex: 0 0 auto; }
  .home-guide-card__visual { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 22px 24px 22px 18px; }
  .home-guide-card__visual img { display: block; max-width: 100%; max-height: 184px; object-fit: contain; }
  .home-guide-card--models .home-guide-card__visual { gap: 10px; padding-right: 26px; }
  .home-guide-card--models .home-guide-card__visual img { width: calc(50% - 5px); max-height: 190px; object-fit: contain; }
  .home-guide-card--models .home-guide-card__visual img:first-child { transform: translateY(5px); }
  @media (max-width: 760px) { .home-info-guide { width: 100%; padding: 52px 0; } .home-info-guide__head { display: block; } .home-info-guide__head > a { display: inline-block; margin-top: 15px; } .home-info-guide__cards { grid-template-columns: 1fr; gap: 18px; } .home-guide-card { min-height: 256px; border-radius: 20px; grid-template-columns: minmax(0, 1fr) minmax(132px, .76fr); } .home-guide-card__content { padding: 25px 0 24px 25px; } .home-guide-card h3 { margin-top: 15px; font-size: 25px; } .home-guide-card p { font-size: 14px; } .home-guide-card__cta { min-height: 44px; padding: 0 16px; font-size: 14px; } .home-guide-card__visual { padding: 18px 20px 18px 12px; } .home-guide-card__visual img { max-height: 160px; }
    .home-guide-card--models { display: grid; min-height: 400px; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto minmax(150px, 1fr) auto; gap: 0; padding: 25px; }
    .home-guide-card--models .home-guide-card__content { display: contents; }
    .home-guide-card--models .home-guide-card__eyebrow { order: 1; justify-self: start; }
    .home-guide-card--models h3 { order: 2; margin: 15px 0 8px; }
    .home-guide-card--models p { order: 3; max-width: 100%; }
    .home-guide-card--models .home-guide-card__visual { order: 4; width: 100%; min-height: 150px; padding: 12px 0 8px; gap: 18px; }
    .home-guide-card--models .home-guide-card__visual img { width: calc(50% - 9px); height: 142px; max-height: none; object-fit: contain; }
    .home-guide-card--models .home-guide-card__visual img:first-child { transform: none; }
    .home-guide-card--models .home-guide-card__cta { order: 5; justify-self: start; margin-top: 0; }
  }
  @media (max-width: 390px) { .home-guide-card:not(.home-guide-card--models) { grid-template-columns: minmax(0, 1fr) 118px; } .home-guide-card__content { padding-left: 20px; } .home-guide-card__visual { padding-right: 14px; } .home-guide-card h3 { font-size: 23px; } .home-guide-card--models { min-height: 392px; padding: 25px; } .home-guide-card--models .home-guide-card__content { padding: 0; } .home-guide-card--models .home-guide-card__visual { padding-right: 0; gap: 10px; } .home-guide-card--models .home-guide-card__visual img { width: calc(50% - 5px); height: 134px; } }

  /* Rental process uses the same soft-blue panel and glossy 3D icon family as the guide cards. */
  #process .grid3 { gap: 20px; }
  .process-step { display: flex; min-height: 286px; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid #dbe4f1; border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(20,47,87,.07); }
  .process-step__icon { display: flex; width: 78px; height: 78px; align-items: center; justify-content: center; margin-bottom: 18px; }
  .process-step__icon img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
  .process-step h3 { margin: 0 0 12px; color: #0f2a5c; font-size: 22px; line-height: 1.28; letter-spacing: -.04em; }
  .process-step p { margin: 0; color: #5d7095; font-size: 14px; font-weight: 600; line-height: 1.68; word-break: keep-all; }
  .process-step .go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; min-height: 42px; padding: 0 16px; border: 1px solid #b9cef1; border-radius: 999px; color: #184c9d; font-size: 14px; font-weight: 800; background: #f8fbff; }
  .process-step .go:hover { border-color: #184c9d; background: #eaf2ff; }
  @media (max-width: 760px) { #process .grid3 { gap: 14px; } .process-step { min-height: 0; padding: 25px; border-radius: 20px; } .process-step__icon { width: 70px; height: 70px; margin-bottom: 15px; } .process-step h3 { font-size: 21px; } }
  .slide--award { background: radial-gradient(circle at 50% 43%, #3867ad 0, #173b78 39%, #0d275b 78%); }
  .slide--award::after { z-index: 0; background: linear-gradient(180deg, rgba(10,31,73,.24), rgba(10,31,73,.38)); }
  /* The two approved KBEI emblems retain their own year and award lettering. */
  .slide--award .award-pair { position: absolute; z-index: 1; top: clamp(112px, 13vh, 150px); left: 50%; display: block; width: clamp(510px, 42vw, 620px); transform: translateX(-50%); }
  .slide--award .award-pair img { display: block; width: 100%; height: auto; padding: 0; object-fit: contain; object-position: center; transform: none; transition: none; }
  .slide--award.on .award-pair img { transform: none; }
  /* A shallow desktop hero keeps a gap above the shared copy panel. */
  @media (min-width: 901px) and (max-height: 940px) { .slide--award .award-pair { top: 96px; width: min(480px, 34vw); } }
  @media (min-width: 901px) and (max-height: 840px) { .slide--award .award-pair { top: 96px; width: min(340px, 29vw); } }
  @media (min-width: 901px) and (max-height: 760px) {
    .slide--award .award-pair { top: 96px; width: min(380px, 32vw); }
    .hero-slider:has(.slide--award.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award.on) .slide-copy .cta { display: none; }
  }
  /* v28 hero: source-approved product, map motion and award emblems stay on a shared light matte. */
  .hero-slider { height: max(650px, 86vh); background: #edf7ff; }
  .slide--oxygenate-v28, .slide--nationwide-v28, .slide--award-v28 { background: #edf7ff; }
  .slide--oxygenate-v28::after, .slide--nationwide-v28::after, .slide--award-v28::after { display: none; }
  .slide--oxygenate-v28 > img { position: absolute; right: clamp(18px, 6vw, 136px); top: 98px; width: min(35vw, 467px); height: calc(100% - 122px); object-fit: contain; object-position: right center; transform: none; filter: drop-shadow(0 28px 32px rgba(15,42,92,.16)); }
  .slide--oxygenate-v28.on > img { transform: none; }
  .slide--nationwide-v28 > img { position: absolute; right: clamp(0px, 2vw, 42px); top: 96px; width: min(68vw, 1060px); height: calc(100% - 106px); object-fit: contain; object-position: right center; transform: none; mix-blend-mode: multiply; }
  .slide--nationwide-v28.on > img { transform: none; }
  /* Soften the rectangular map canvas without clipping Korea, Jeju, or the moving point. */
  .slide--nationwide-v28::after { display: block; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #edf7ff 0 31%, rgba(237,247,255,.96) 36%, rgba(237,247,255,.42) 43%, transparent 52%), linear-gradient(180deg, #edf7ff 0 13%, rgba(237,247,255,.9) 17%, transparent 29%), linear-gradient(0deg, rgba(237,247,255,.72) 0%, transparent 16%); }
  .slide--award-v28 .award-pair { top: 72px; width: min(560px, 48vw); height: auto; }
  .slide--award-v28 .award-pair img { background: #edf7ff; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy { left: clamp(24px, 10vw, 200px); bottom: auto; top: 50%; width: min(43vw, 540px); transform: translateY(-30%); align-items: flex-start; text-align: left; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy { bottom: clamp(106px, 13vh, 138px); gap: 13px; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .kicker,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { background: #fff; border-color: #c6d9f1; color: #184c9d; box-shadow: 0 8px 24px rgba(24,76,157,.08); }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker svg,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .kicker svg,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker svg { stroke: #184c9d; }
  .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 { color: #184c9d; text-shadow: none; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-weight: 900; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .sub,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { background: rgba(255,255,255,.92); border-color: #c6d9f1; color: #315681; }
  .hero-slider:has(.slide--oxygenate-v28.on) .btn-outline,
  .hero-slider:has(.slide--nationwide-v28.on) .btn-outline,
  .hero-slider:has(.slide--award-v28.on) .btn-outline { color: #184c9d; border-color: #8eafda; background: #fff; }
  .hero-slider:has(.slide--oxygenate-v28.on) .controls,
  .hero-slider:has(.slide--nationwide-v28.on) .controls,
  .hero-slider:has(.slide--award-v28.on) .controls { color: #184c9d; }
  .hero-slider:has(.slide--oxygenate-v28.on) .controls button,
  .hero-slider:has(.slide--nationwide-v28.on) .controls button,
  .hero-slider:has(.slide--award-v28.on) .controls button { color: #184c9d; border-color: #9ab8df; background: rgba(255,255,255,.84); }
  .hero-slider:has(.slide--oxygenate-v28.on) .controls svg,
  .hero-slider:has(.slide--nationwide-v28.on) .controls svg,
  .hero-slider:has(.slide--award-v28.on) .controls svg { stroke: #184c9d; fill: #184c9d; }
  .hero-slider:has(.slide--oxygenate-v28.on) .scrollhint,
  .hero-slider:has(.slide--nationwide-v28.on) .scrollhint,
  .hero-slider:has(.slide--award-v28.on) .scrollhint { color: #315681; }
  .hero-slider:has(.slide--oxygenate-v28.on) .scrollhint i,
  .hero-slider:has(.slide--nationwide-v28.on) .scrollhint i,
  .hero-slider:has(.slide--award-v28.on) .scrollhint i { background: #315681; }
  .stat--award b { color: #184c9d; font-weight: 900; }
  @media (min-width: 701px) { .hero-slider:has(.slide--award-v28.on) .controls { bottom: 18px; } .hero-slider:has(.slide--award-v28.on) .scrollhint { display: none; } }
  @media (max-width: 700px) {
    .hero-slider { height: 620px; }
    .slide--oxygenate-v28 > img,
    .slide--oxygenate-v28.on > img { right: 50%; top: 105px; width: min(46vw, 200px); height: 210px; transform: translateX(50%); }
    .slide--nationwide-v28 > img { right: 0; top: 105px; width: 100%; height: 210px; object-position: center; }
    /* Fade only the spare canvas at the edges; Korea, Jeju and the route stay fully visible. */
    .slide--nationwide-v28::after { background: linear-gradient(90deg, #edf7ff 0 5%, rgba(237,247,255,.88) 12%, transparent 23%, transparent 77%, rgba(237,247,255,.88) 88%, #edf7ff 95% 100%), linear-gradient(180deg, #edf7ff 0 8%, rgba(237,247,255,.74) 16%, transparent 28%), linear-gradient(0deg, rgba(237,247,255,.62) 0%, transparent 15%); }
    .slide--award-v28 .award-pair { top: 92px; width: min(90vw, 430px); }
    .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 { left: 50%; bottom: 176px; top: auto; width: calc(100% - 36px); transform: translateX(-50%); align-items: center; text-align: center; gap: 8px; }
    .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(27px, 8vw, 36px); }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 9px 14px; font-size: 13px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { display: none; }
    /* Map and award visuals use the upper area; their copy begins below it. */
    .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 { top: 330px; bottom: auto; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { display: flex; }
    .slide-copy .cta { width: auto; margin-top: 2px; }
    .slide-copy .cta .btn-outline { display: none; }
    .slide-copy .cta .btn-white { min-width: min(342px, calc(100vw - 48px)); }
    .controls { bottom: 26px; }
    .scrollhint { display: none; }
  }
  .press { margin-top: 96px; padding: 50px 0; border-top: 1px solid var(--line); }
  .press .sec-head { align-items: end; }
  .press .sec-head p { max-width: 440px; }
  .press-filters { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0 0; }
  .press-filter { min-height: 40px; padding: 0 13px; border: 1px solid #c8d8ee; border-radius: 999px; background: #fff; color: var(--navy); font-size: 13px; font-weight: 800; }
  .press-filter[aria-pressed="true"] { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 8px 17px rgba(24,76,157,.17); }
  .press-count { margin: 14px 0 -11px; color: var(--muted); font-size: 13px; font-weight: 700; }
  .press-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
  .press-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 10px 26px rgba(24,76,157,.07); }
  .press-card[hidden] { display: none; }
  .press-card__thumb { position: relative; display: grid; flex: none; min-height: 0; place-items: center; overflow: hidden; aspect-ratio: 16 / 10; background: #fff; }
  .press-card__thumb > img { display: block; width: auto; max-width: min(72%, 230px); height: auto; max-height: 74px; object-fit: contain; }
  .press-card__logo { display: grid; max-width: min(72%, 230px); place-items: center; }
  .press-card__logo img { display: block; width: 100%; height: auto; max-height: 74px; object-fit: contain; }
  .press-logo--inverse { padding: 12px 16px; border-radius: 12px; background: var(--navy); }
  .press-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
  .press-card__meta { display: flex; gap: 8px; color: var(--blue); font-size: 12px; font-weight: 800; }
  .press-card h3 { margin: 10px 0 18px; font-family: "Pretendard", "Malgun Gothic", sans-serif; font-size: 17px; line-height: 1.5; letter-spacing: -.03em; }
  .press-card__link { margin-top: auto; color: var(--blue); font-size: 14px; font-weight: 800; }
  .press-actions { margin-top: 28px; text-align: center; }
  .press-toggle { min-height: 48px; padding: 0 22px; border: 1px solid var(--blue); border-radius: 999px; background: #fff; color: var(--blue); font-weight: 800; }
  .press-toggle:hover { background: var(--sky-2); }
  .press-note { margin: 17px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; text-align: center; }
  @media (max-width: 900px) { .press .sec-head { align-items: flex-start; } .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 560px) {
    /* The award slide shares the copy panel with the other slides.  On a
       short mobile hero, reserve its upper half for both complete badges. */
    .slide--award .award-pair { top: 116px; width: min(87.5vw, 280px); transform: translateX(-50%); }
    .slide--award .award-pair img { width: 100%; height: auto; transform: none !important; transform-origin: center; }
    .hero-slider:has(.slide--award.on) .slide-copy { bottom: 116px; gap: 14px; }
    .hero-slider:has(.slide--award.on) .slide-copy .kicker,
    .hero-slider:has(.slide--award.on) .slide-copy .cta { display: none; }
    .hero-slider:has(.slide--award.on) .slide-copy #sTitle { font-size: 28px; }
    /* Keep the v28 award's primary phone CTA below the badges and above controls. */
    .hero-slider:has(.slide--award-v28.on) .slide-copy { top: 330px; bottom: auto; gap: 8px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { display: flex; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-size: clamp(25px, 7.5vw, 28px); }
    .press { margin-top: 64px; padding: 36px 0; }
    .press-filters { gap: 7px; }
    .press-filter { min-height: 38px; padding: 0 10px; font-size: 12px; }
    .press-grid { grid-template-columns: 1fr; gap: 14px; }
  }
  @media (max-width: 360px) {
    .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 { top: 316px; }
  }
  /* Short mobile viewports end immediately above the fixed call bar. */
  @media (max-width: 700px) and (max-height: 700px) {
    .hero-slider { height: calc(100svh - 160px); }
    .slide-copy { bottom: 112px; gap: 8px; }
    .controls { bottom: 24px; }
    .slide--oxygenate-v28 > img,
    .slide--oxygenate-v28.on > img { top: 108px; width: min(46vw, 170px); height: 130px; }
    .slide--nationwide-v28 > img { top: 108px; height: 130px; }
    .slide--award-v28 .award-pair,
    .slide--award .award-pair { top: 108px; width: min(76vw, 244px); }
    .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 { top: 245px; bottom: auto; gap: 6px; }
    .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: 24px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 7px 12px; font-size: 12px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .cta,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .cta,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .cta { margin-top: 0; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--nationwide-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-white { min-width: min(272px, calc(100vw - 48px)); height: 44px; font-size: 14px; }
  }
  @media (min-width: 361px) and (max-width: 560px) { .slide--award .award-pair { top: 145px; width: min(88.5vw, 345px); } }
  @media (min-width: 361px) and (max-width: 560px) and (max-height: 740px) { .slide--award .award-pair { top: 102px; width: min(76vw, 296px); } }
  /* v30: preserve the original centered hero composition on the shared x=50% axis. */
  .slide--oxygenate-v28,
  .slide--nationwide-v28 { background: #edf7ff; }
  @media (min-width: 701px) {
  /* v32: size the three centered desktop visuals from the real header/copy gap. */
  .hero-slider { --v32-visual-top: 120px; --v32-visual-height: 280px; --v32-award-top: 120px; --v32-award-width: 525px; --v32-award-height: 198px; }
  .slide--oxygenate-v28 > img,
  .slide--oxygenate-v28.on > img { left: 50%; right: auto; top: var(--v32-visual-top); width: min(46vw, 520px); height: var(--v32-visual-height); object-position: center; transform: translateX(-50%) !important; transition: none !important; }
  .slide--nationwide-v28 > img,
  .slide--nationwide-v28.on > img { left: 0; right: auto; top: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; transform: none !important; transition: none !important; mix-blend-mode: normal; }
  .slide--nationwide-v28::after { background: linear-gradient(180deg, rgba(237,247,255,.16) 0%, rgba(237,247,255,0) 28%, rgba(237,247,255,.62) 82%, rgba(237,247,255,.9) 100%); }
  .slide--award-v28 { background: #173b78; }
  .slide--award-v28::after { display: none; }
  .slide--award-v28 .award-pair { top: var(--v32-award-top); width: var(--v32-award-width); height: var(--v32-award-height); overflow: hidden; }
  .slide--award-v28 .award-pair img { width: 100%; height: auto; max-height: none; background: #173b78; transform: translateY(-14.583333%) !important; }
  .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 { left: 50%; top: auto; bottom: 136px; width: min(1240px, calc(100% - 48px)); transform: translateX(-50%); align-items: center; text-align: center; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .kicker { display: none; }
  }
  /* v32 narrow desktop: leave the complete visual more room without touching other slides. */
  @media (min-width: 701px) and (max-height: 820px) {
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy { bottom: 132px; gap: 12px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy { bottom: 78px; gap: 12px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy #sTitle,
    .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { font-size: 34px; line-height: 1.15; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .sub,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { padding: 8px 16px; font-size: 14px; }
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy .btn-outline,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-white,
    .hero-slider:has(.slide--award-v28.on) .slide-copy .btn-outline { height: 48px; }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
  }
  /* A fixed matte keeps the GIF edge invisible at every desktop and mobile width. */
  .slide--award-v28 { background: #173b78; }
  .slide--award-v28::after { display: none; }
  .slide--award-v28 .award-pair img { background: #173b78; }
  .hero-slider:has(.slide--oxygenate-v28.on) .slide-copy #sTitle,
  .hero-slider:has(.slide--nationwide-v28.on) .slide-copy #sTitle { color: #184c9d; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { padding: 8px 20px; border-radius: 18px; background: rgba(255,255,255,.97); color: #184c9d; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker,
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { color: #fff; }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .sub { background: rgba(11,38,85,.68); border-color: rgba(255,255,255,.25); }
  .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: inline-flex; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); }
  .hero-slider:has(.slide--award-v28.on) .controls .idx { padding: 4px 0; line-height: 24px; white-space: nowrap; border-radius: 999px; background: #184c9d; color: #fff; }
  @media (max-width: 700px) {
    .slide--oxygenate-v28 > img,
    .slide--oxygenate-v28.on > img { left: 50%; right: auto; object-position: center; transform: translateX(-50%) !important; transition: none !important; }
    .slide--nationwide-v28 > img,
    .slide--nationwide-v28.on > img { left: 50%; right: auto; transform: translateX(-50%) !important; transition: none !important; }
    .slide--nationwide-v28::after { background: linear-gradient(180deg, rgba(237,247,255,.84) 0%, rgba(237,247,255,0) 18%, rgba(237,247,255,.82) 94%); }
    .hero-slider:has(.slide--award-v28.on) .slide-copy .kicker { display: none; }
    .slide--award-v28 .award-pair img { transition: none !important; }
  }
  @media (max-width: 700px) and (max-height: 700px) {
    .hero-slider:has(.slide--award-v28.on) .slide-copy #sTitle { padding: 4px 14px; }
  }


/* Restore the original outer wrap and the existing centered product-slide composition. */
.sale-rental-shell .sale-card-actions .arrow { flex-shrink:0; color:transparent; font-size:0; }
.sale-rental-shell .sale-card-actions .arrow::after { content:"→"; color:#fff; font-size:21px; line-height:1; }
.sale-rental-shell .hot-box > .hot-label { left:16px; right:16px; top:auto; bottom:12px; transform:none; max-width:calc(100% - 32px); white-space:normal; text-align:center; }
.sale-rental-shell #main-content > section > .wrap,
.sale-rental-shell #main-content > .wrap { width:100%; }
.sale-rental-shell .purchase-slide--vita > img,
.sale-rental-shell .purchase-slide--p2e > img,
.sale-rental-shell .purchase-slide--krober > img { object-fit:contain; object-position:center; width:min(46vw,520px); height:280px; left:50%; top:120px; transform:translateX(-50%); background:transparent; }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy { max-width:none; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.sale-rental-shell .hero-slider:has(.purchase-slide.on) .btn-outline { color:#184c9d; border-color:#9bb9e1; background:rgba(255,255,255,.94); }
.sale-rental-shell .scene img { object-fit:contain; background:#f4f8ff; }
.sale-rental-shell .spec-card[role="button"] { cursor:pointer; }
.sale-rental-shell .spec-card[aria-pressed="true"] { outline:2px solid #184c9d; outline-offset:2px; }
@media (max-width:700px) {
  .sale-rental-shell .purchase-slide--vita > img,
  .sale-rental-shell .purchase-slide--p2e > img,
  .sale-rental-shell .purchase-slide--krober > img { top:142px; width:calc(100% - 48px); height:230px; object-position:center; }
  .sale-rental-shell .hero-slider:has(.purchase-slide.on) .slide-copy { top:auto; bottom:86px; padding:0; }
}
