/*
 * INNO VISUAL SYSTEM v1.2
 * Central visual bridge from the approved BETWEEN TWO WORLDS homepage.
 * Loaded last on production routes; historical /preview concepts are excluded.
 */
:root {
  --inno-color-ink: #08090c;
  --inno-color-ink-soft: #111319;
  --inno-color-bone: #f1ede4;
  --inno-color-bone-bright: #fffdf8;
  --inno-color-cobalt: #2754ff;
  --inno-color-coral: #ff5538;
  --inno-color-coral-text: #a73525;
  --inno-color-lime: #e5ff55;
  --inno-color-sky: #bfd5ff;
  --inno-color-muted: #62646c;
  --inno-color-line: rgba(8, 9, 12, .18);
  --inno-color-line-strong: rgba(8, 9, 12, .4);
  --inno-color-line-inverse: rgba(241, 237, 228, .24);
  --inno-color-success: #16724a;
  --inno-color-danger: #a73525;
  --inno-font-display: "Noto Sans KR", sans-serif;
  --inno-font-body: Pretendard, "Noto Sans KR", system-ui, -apple-system, "Segoe UI", sans-serif;
  --inno-font-serif: "Noto Serif KR", Georgia, serif;
  --inno-space-1: 4px;
  --inno-space-2: 8px;
  --inno-space-3: 12px;
  --inno-space-4: 16px;
  --inno-space-5: 24px;
  --inno-space-6: 32px;
  --inno-space-7: 48px;
  --inno-space-8: 72px;
  --inno-container-max: 1280px;
  --inno-gutter: 24px;
  --inno-grid-gap: clamp(18px, 2vw, 28px);
  --inno-radius-control: 0;
  --inno-radius-panel: 2px;
  --inno-radius-media: 8px;
  --inno-radius-overlay: 12px;
  --inno-border: 1px solid var(--inno-color-line);
  --inno-border-inverse: 1px solid var(--inno-color-line-inverse);
  --inno-shadow-none: none;
  --inno-shadow-overlay: 0 24px 64px rgba(0, 0, 0, .28);
  --inno-motion-fast: 140ms;
  --inno-motion-base: 240ms;
  --inno-motion-slow: 520ms;
  --inno-ease-out: cubic-bezier(.22, 1, .36, 1);
  --inno-opacity-muted: .66;
  --inno-z-header: 1000;
  --inno-z-contact: 1200;
  --inno-z-overlay: 2400;
  --inno-focus-ring: 0 0 0 3px var(--inno-color-lime), 0 0 0 6px var(--inno-color-ink);
  --inno-surface-page: var(--inno-color-bone);
  --inno-surface-inverse: var(--inno-color-ink);
  --inno-icon-sm: 20px;
  --inno-icon-md: 24px;
  --inno-control-min: 48px;
  --inno-touch-min: 44px;
  --inno-safe-bottom: env(safe-area-inset-bottom, 0px);
}

body.inno-visual-v12 {
  --navy-950: var(--inno-color-ink);
  --navy-900: var(--inno-color-ink-soft);
  --navy-800: #191c24;
  --gold-500: var(--inno-color-coral);
  --gold-300: var(--inno-color-lime);
  --ivory-50: var(--inno-color-bone);
  --ivory-100: #e8e3da;
  --ink-900: var(--inno-color-ink);
  --muted-600: var(--inno-color-muted);
  --line: var(--inno-color-line);
  --shadow: var(--inno-shadow-none);
  --radius: var(--inno-radius-panel);
  --radius-sm: var(--inno-radius-panel);
  --serif: var(--inno-font-serif);
  --sans: var(--inno-font-body);
  color: var(--inno-color-ink);
  background: var(--inno-surface-page);
}

body.inno-visual-v12::before { display: none; }
body.inno-visual-v12.contact-sheet-open { overflow: hidden; }
body.inno-visual-v12:not(.btw-page) h1,
body.inno-visual-v12:not(.btw-page) h2,
body.inno-visual-v12:not(.btw-page) h3 {
  font-family: var(--inno-font-display);
  font-weight: 700;
  letter-spacing: -.055em;
}
body.inno-visual-v12:not(.btw-page) p { line-height: 1.72; }
body.inno-visual-v12 .container { width: min(var(--inno-container-max), calc(100% - (var(--inno-gutter) * 2))); }
body.inno-visual-v12 :focus-visible { outline: 0; box-shadow: var(--inno-focus-ring); }
body.inno-visual-v12 .skip-link { border-radius: 0; color: var(--inno-color-ink); background: var(--inno-color-lime); }

/* Header and navigation */
body.inno-visual-v12 .site-header {
  z-index: var(--inno-z-header);
  border-bottom: var(--inno-border-inverse);
  background: rgba(8, 9, 12, .92);
  box-shadow: none;
  backdrop-filter: blur(18px) saturate(115%);
}
body.inno-visual-v12 .site-header.is-scrolled { background: rgba(8, 9, 12, .98); box-shadow: none; }
body.inno-visual-v12 .nav-wrap { height: 72px; }
body.inno-visual-v12 .brand img { filter: grayscale(1) brightness(0) invert(1); opacity: .94; }
body.inno-visual-v12 .main-nav a { color: rgba(241, 237, 228, .78); font-family: var(--inno-font-display); letter-spacing: -.02em; }
body.inno-visual-v12 .main-nav a::after { bottom: 16px; height: 3px; background: var(--inno-color-coral); transform-origin: left; }
body.inno-visual-v12 .main-nav a:hover,
body.inno-visual-v12 .main-nav a.active,
body.inno-visual-v12 .main-nav a[aria-current="page"] { color: var(--inno-color-bone); }
body.inno-visual-v12 .menu-toggle { border: var(--inno-border-inverse); }
body.inno-visual-v12 .menu-toggle span { border-radius: 0; background: var(--inno-color-bone); }

/* Shared actions */
body.inno-visual-v12 .nav-cta,
body.inno-visual-v12 .btn {
  min-height: var(--inno-control-min);
  padding: 12px 20px;
  border: 1px solid var(--inno-color-ink);
  border-radius: var(--inno-radius-control);
  box-shadow: none;
  font-family: var(--inno-font-display);
  font-size: .88rem;
  letter-spacing: -.015em;
  transition: color var(--inno-motion-fast) var(--inno-ease-out), background var(--inno-motion-fast) var(--inno-ease-out), border-color var(--inno-motion-fast) var(--inno-ease-out), transform var(--inno-motion-fast) var(--inno-ease-out);
}
body.inno-visual-v12 .nav-cta,
body.inno-visual-v12 .btn.primary { color: var(--inno-color-ink); border-color: var(--inno-color-coral); background: var(--inno-color-coral); }
body.inno-visual-v12 .nav-cta:hover,
body.inno-visual-v12 .btn.primary:hover { color: var(--inno-color-ink); background: var(--inno-color-lime); border-color: var(--inno-color-lime); box-shadow: none; transform: translateY(-2px); }
body.inno-visual-v12 .btn.line { color: var(--inno-color-ink); border-color: var(--inno-color-ink); background: transparent; }
body.inno-visual-v12 .btn.line:hover { color: var(--inno-color-bone); background: var(--inno-color-ink); }
body.inno-visual-v12 .btn.ghost { color: var(--inno-color-bone); border-color: var(--inno-color-line-inverse); background: transparent; }
body.inno-visual-v12 .btn.wide { border-radius: 0; }
body.inno-visual-v12 a:not([class]):hover { text-decoration-color: var(--inno-color-coral); }

/* Legacy route surfaces, leaving the approved home composition intact */
body.inno-visual-v12:not(.btw-page) .section { padding-block: clamp(78px, 8vw, 118px); }
body.inno-visual-v12:not(.btw-page) .section.soft { background: #e8e3da; }
body.inno-visual-v12:not(.btw-page) .section.dark {
  color: var(--inno-color-bone);
  background: var(--inno-color-ink);
}
body.inno-visual-v12:not(.btw-page) .section.dark p { color: rgba(241, 237, 228, .7); }
body.inno-visual-v12:not(.btw-page) .eyebrow { color: var(--inno-color-coral-text); font-family: var(--inno-font-display); }
body.inno-visual-v12:not(.btw-page) .section.dark .eyebrow,
body.inno-visual-v12:not(.btw-page) .sub-hero .eyebrow { color: var(--inno-color-coral); }
body.inno-visual-v12 .eyebrow::before { height: 3px; }
body.inno-visual-v12 .sub-hero { min-height: 450px; }
body.inno-visual-v12 .sub-hero::before {
  background: linear-gradient(90deg, rgba(8, 9, 12, .88) 0%, rgba(8, 9, 12, .66) 38%, rgba(8, 9, 12, .12) 73%), linear-gradient(180deg, rgba(8, 9, 12, .02), rgba(8, 9, 12, .42));
}
body.inno-visual-v12 .sub-hero h1 { font-family: var(--inno-font-display); font-weight: 700; }
body.inno-visual-v12 .breadcrumb a,
body.inno-visual-v12 .breadcrumbs a:hover { color: var(--inno-color-lime); }
body.inno-visual-v12 .hero-icons span {
  border-color: currentColor;
  border-radius: 0;
  color: var(--inno-color-coral);
  background: transparent;
}
body.inno-visual-v12 .keyword-pill,
body.inno-visual-v12 .insight-category {
  border-color: currentColor;
  border-radius: 0;
  color: var(--inno-color-coral-text);
  background: transparent;
}

body.inno-visual-v12 .feature-card,
body.inno-visual-v12 .notice-card,
body.inno-visual-v12 .archive-card,
body.inno-visual-v12 .message-card,
body.inno-visual-v12 .consult-form,
body.inno-visual-v12 .contact-cards,
body.inno-visual-v12 .content-card,
body.inno-visual-v12 .network-card,
body.inno-visual-v12 .doc-stack,
body.inno-visual-v12 .stats-grid article,
body.inno-visual-v12 .document-showcase article,
body.inno-visual-v12 .business-card,
body.inno-visual-v12 .featured-story,
body.inno-visual-v12 .story-grid article,
body.inno-visual-v12 .gallery-card,
body.inno-visual-v12 .culture-card,
body.inno-visual-v12 .process-mini article,
body.inno-visual-v12 .office-note,
body.inno-visual-v12 .seo-card,
body.inno-visual-v12 .toc-card,
body.inno-visual-v12 .big-steps article,
body.inno-visual-v12 .insight-card,
body.inno-visual-v12 .metric-grid > div,
body.inno-visual-v12 .editorial-policy,
body.inno-visual-v12 .insight-preview-list > a,
body.inno-visual-v12 .article-list li,
body.inno-visual-v12 .comparison-grid article,
body.inno-visual-v12 .aside-card,
body.inno-visual-v12 .article-sources a {
  border: var(--inno-border);
  border-radius: var(--inno-radius-panel);
  background: rgba(255, 253, 248, .62);
  box-shadow: none;
}
body.inno-visual-v12 .feature-card,
body.inno-visual-v12 .content-card,
body.inno-visual-v12 .insight-card,
body.inno-visual-v12 .seo-card { position: relative; }
body.inno-visual-v12 .feature-card::before,
body.inno-visual-v12 .content-card::before,
body.inno-visual-v12 .insight-card::before,
body.inno-visual-v12 .seo-card::before {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 46px;
  height: 3px;
  content: "";
  background: var(--inno-color-coral);
}
body.inno-visual-v12 .feature-card i,
body.inno-visual-v12 .process-line span,
body.inno-visual-v12 .process-mini strong,
body.inno-visual-v12 .seo-card span,
body.inno-visual-v12 .info-steps b,
body.inno-visual-v12 .big-steps span {
  border: 0;
  border-radius: 0;
  color: var(--inno-color-ink);
  background: var(--inno-color-lime);
  box-shadow: none;
}
body.inno-visual-v12 .network-card,
body.inno-visual-v12 .large-story,
body.inno-visual-v12 .visit-preview-media,
body.inno-visual-v12 .about-campaign-image,
body.inno-visual-v12 .featured-story,
body.inno-visual-v12 .story-grid article,
body.inno-visual-v12 .gallery-card,
body.inno-visual-v12 .culture-card,
body.inno-visual-v12 .office-card,
body.inno-visual-v12 .insight-feature-media,
body.inno-visual-v12 .insight-preview-feature { border-radius: var(--inno-radius-media); box-shadow: none; }
body.inno-visual-v12 .network-card:hover img,
body.inno-visual-v12 .gallery-card:hover,
body.inno-visual-v12 .insight-card:hover,
body.inno-visual-v12 .seo-card:hover { box-shadow: none; }
body.inno-visual-v12 .stats-grid i { color: var(--inno-color-coral-text); }
body.inno-visual-v12 .message-card dl div,
body.inno-visual-v12 .archive-card dl div,
body.inno-visual-v12 .toc-card a,
body.inno-visual-v12 .insight-card-meta { border-color: var(--inno-color-line); }
body.inno-visual-v12 .insight-principles {
  border-color: var(--inno-color-line-inverse);
  background: var(--inno-color-ink);
}
body.inno-visual-v12 .insight-principles .container > div { border-color: var(--inno-color-line-inverse); }
body.inno-visual-v12 .insight-principles strong {
  border-color: var(--inno-color-line-inverse);
  border-radius: 0;
  color: var(--inno-color-lime);
  font-family: var(--inno-font-display);
}
body.inno-visual-v12 .location-kicker,
body.inno-visual-v12 .feature-card small,
body.inno-visual-v12 .story-grid span,
body.inno-visual-v12 .gallery-card span,
body.inno-visual-v12 .culture-card span,
body.inno-visual-v12 dt,
body.inno-visual-v12 .toc-card strong { color: var(--inno-color-coral-text); }

body.inno-visual-v12 .process-line article {
  border: var(--inno-border-inverse);
  border-radius: var(--inno-radius-panel);
  background: transparent;
}
body.inno-visual-v12 .process-guide { background: var(--inno-color-bone); }
body.inno-visual-v12 .info-steps > div {
  border: var(--inno-border);
  border-radius: var(--inno-radius-panel);
  background: rgba(255, 253, 248, .62);
}
body.inno-visual-v12 .campaign-section.campaign-picture { border-radius: var(--inno-radius-media); }
body.inno-visual-v12 .insight-empty {
  border: var(--inno-border);
  border-radius: var(--inno-radius-panel);
  background: transparent;
}
body.inno-visual-v12 .insight-feature-media > span { border-radius: 0; }
body.inno-visual-v12 .timeline-line::before { background: var(--inno-color-line-inverse); }
body.inno-visual-v12 .timeline-line div::before {
  border-color: var(--inno-color-coral);
  border-radius: 0;
  box-shadow: none;
}

/* Forms and semantic states */
body.inno-visual-v12 .contact-grid { gap: var(--inno-grid-gap); }
body.inno-visual-v12 .consult-stack { display: grid; align-content: start; gap: 18px; min-width: 0; }
body.inno-visual-v12 .consult-stack .consult-status { margin: 0; }
body.inno-visual-v12 .contact-cards,
body.inno-visual-v12 .consult-form { padding: clamp(24px, 3vw, 40px); }
body.inno-visual-v12 .contact-item {
  border: 0;
  border-top: var(--inno-border);
  border-radius: 0;
  background: transparent;
}
body.inno-visual-v12 .contact-item:last-of-type { border-bottom: var(--inno-border); }
body.inno-visual-v12 .contact-item i { border-radius: 0; color: var(--inno-color-ink); background: var(--inno-color-lime); }
body.inno-visual-v12 .contact-item span { color: var(--inno-color-coral-text); }
body.inno-visual-v12 .qr-large { border: var(--inno-border); border-radius: 0; background: var(--inno-color-bone-bright); }
body.inno-visual-v12 .qr-large img {
  width: min(210px, 100%);
  height: auto;
  border-radius: 0;
}
body.inno-visual-v12 label { color: var(--inno-color-ink); }
body.inno-visual-v12 input,
body.inno-visual-v12 select,
body.inno-visual-v12 textarea {
  min-height: var(--inno-control-min);
  border: 1px solid var(--inno-color-line-strong);
  border-radius: var(--inno-radius-control);
  color: var(--inno-color-ink);
  background: var(--inno-color-bone-bright);
}
body.inno-visual-v12 input:focus,
body.inno-visual-v12 select:focus,
body.inno-visual-v12 textarea:focus { border-color: var(--inno-color-cobalt); box-shadow: 0 0 0 3px rgba(39, 84, 255, .2); }
body.inno-visual-v12 .check input { min-height: 20px; accent-color: var(--inno-color-cobalt); }
body.inno-visual-v12 .check { flex-wrap: wrap; }
body.inno-visual-v12 .check .field-error { flex: 1 0 100%; width: 100%; }
body.inno-visual-v12 #consult-form { scroll-margin-top: 168px; }
body.inno-visual-v12 .consult-status,
body.inno-visual-v12 .form-error-summary {
  padding: 16px 18px;
  border: 0;
  border-left: 4px solid var(--inno-color-coral);
  border-radius: 0;
  color: var(--inno-color-ink);
  background: rgba(255, 85, 56, .12);
}
body.inno-visual-v12 .consult-status[data-status="sent"] { border-color: var(--inno-color-success); color: #0b4f32; background: rgba(22, 114, 74, .12); }
body.inno-visual-v12 .consult-status[data-status="failed"],
body.inno-visual-v12 .consult-status[data-status="invalid"],
body.inno-visual-v12 .form-error-summary { border-color: var(--inno-color-danger); color: #702319; background: rgba(167, 53, 37, .1); }
body.inno-visual-v12 .field-error { color: var(--inno-color-danger); }
body.inno-visual-v12 .consult-form [aria-invalid="true"] { border-color: var(--inno-color-danger); box-shadow: 0 0 0 3px rgba(167, 53, 37, .15); }
body.inno-visual-v12 .consult-form button:disabled { cursor: wait; opacity: .68; filter: saturate(.65); transform: none; }

/* Accordions, tables, reading surfaces */
body.inno-visual-v12 .faq-list details {
  margin: 0;
  border: 0;
  border-top: var(--inno-border);
  border-radius: 0;
  background: transparent;
}
body.inno-visual-v12 .faq-list details:last-child { border-bottom: var(--inno-border); }
body.inno-visual-v12 .faq-list summary {
  position: relative;
  min-height: 64px;
  padding: 20px 54px 20px 0;
  color: var(--inno-color-ink);
  list-style: none;
}
body.inno-visual-v12 .faq-list summary::-webkit-details-marker { display: none; }
body.inno-visual-v12 .faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 8px;
  content: "+";
  color: var(--inno-color-coral);
  font-family: var(--inno-font-display);
  font-size: 1.6rem;
  font-weight: 400;
  transform: translateY(-50%);
}
body.inno-visual-v12 .faq-list details[open] summary { border-bottom: 0; color: var(--inno-color-cobalt); }
body.inno-visual-v12 .faq-list details[open] summary::after { content: "−"; }
body.inno-visual-v12 .faq-list p { max-width: 68rem; padding: 0 52px 24px 0; color: var(--inno-color-muted); }
body.inno-visual-v12 .cost-table,
body.inno-visual-v12 .data-table-wrap,
body.inno-visual-v12 .bar-chart {
  border: var(--inno-border);
  border-radius: 0;
  background: transparent;
}
body.inno-visual-v12 .cost-table div { border-bottom: var(--inno-border); background: transparent; }
body.inno-visual-v12 .cost-table div:nth-child(even) { background: rgba(255, 253, 248, .45); }
body.inno-visual-v12 .cost-table strong { color: var(--inno-color-coral-text); font-family: var(--inno-font-display); }
body.inno-visual-v12 .data-table th,
body.inno-visual-v12 .data-table td { border-bottom: var(--inno-border); }
body.inno-visual-v12 .data-table thead th { color: var(--inno-color-bone); background: var(--inno-color-ink); }
body.inno-visual-v12 .data-table tbody tr:nth-child(even) { background: rgba(255, 253, 248, .48); }
body.inno-visual-v12 .data-table tfoot th { color: var(--inno-color-ink); background: var(--inno-color-lime); }
body.inno-visual-v12 .article-callout,
body.inno-visual-v12 .legal-note { border-color: var(--inno-color-coral); border-radius: 0; color: var(--inno-color-ink) !important; background: rgba(255, 85, 56, .08); }
body.inno-visual-v12 .fact-check-banner,
body.inno-visual-v12 .aside-card.dark { border-radius: 0; color: var(--inno-color-bone); background: var(--inno-color-ink); }
body.inno-visual-v12 .fact-check-banner span { color: var(--inno-color-lime); }
body.inno-visual-v12 .insight-filters button,
body.inno-visual-v12 .insight-search input {
  min-height: var(--inno-touch-min);
  border: var(--inno-border);
  border-radius: 0;
  background: transparent;
}
body.inno-visual-v12 .insight-filters button.is-active,
body.inno-visual-v12 .insight-filters button:hover { color: var(--inno-color-bone); border-color: var(--inno-color-ink); background: var(--inno-color-ink); }
body.inno-visual-v12 .insight-search b { color: var(--inno-color-coral-text); }

/* Cost guide — BETWEEN TWO WORLDS editorial pricing system */
body.inno-visual-v12.cost-page .cost-hero {
  position: relative;
  min-height: min(720px, 86svh);
  padding: clamp(136px, 15vw, 210px) 0 clamp(70px, 9vw, 118px);
  overflow: hidden;
  color: var(--inno-color-bone);
  background: var(--inno-color-ink);
}
body.inno-visual-v12.cost-page .cost-hero::before,
body.inno-visual-v12.cost-page .cost-hero::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  pointer-events: none;
}
body.inno-visual-v12.cost-page .cost-hero::before {
  top: -28%;
  right: -5%;
  width: min(58vw, 780px);
  aspect-ratio: 1;
  border: clamp(46px, 7vw, 108px) solid var(--inno-color-cobalt);
  opacity: .86;
}
body.inno-visual-v12.cost-page .cost-hero::after {
  right: 22%;
  bottom: -48%;
  width: min(36vw, 480px);
  aspect-ratio: 1;
  background: var(--inno-color-coral);
  opacity: .9;
}
body.inno-visual-v12.cost-page .cost-hero .container { position: relative; z-index: 1; }
body.inno-visual-v12.cost-page .cost-hero .breadcrumb { margin-bottom: clamp(44px, 6vw, 78px); }
body.inno-visual-v12.cost-page .cost-hero .breadcrumb span { color: rgba(241, 237, 228, .58); }
body.inno-visual-v12.cost-page .cost-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  align-items: end;
  gap: clamp(42px, 8vw, 128px);
}
body.inno-visual-v12.cost-page .cost-hero-copy h1 {
  max-width: 8ch;
  margin: 16px 0 26px;
  color: var(--inno-color-bone);
  font-size: clamp(3.7rem, 8vw, 7.8rem);
  line-height: .96;
  letter-spacing: -.075em;
}
body.inno-visual-v12.cost-page .cost-hero-copy p {
  max-width: 37rem;
  margin: 0;
  color: rgba(241, 237, 228, .72);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
}
body.inno-visual-v12.cost-page .cost-total {
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid rgba(241, 237, 228, .42);
  border-top: 5px solid var(--inno-color-lime);
  background: rgba(8, 9, 12, .82);
  backdrop-filter: blur(14px);
}
body.inno-visual-v12.cost-page .cost-total > span {
  display: block;
  margin-bottom: 18px;
  color: var(--inno-color-lime);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
}
body.inno-visual-v12.cost-page .cost-total strong {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--inno-color-bone);
  font-family: var(--inno-font-display);
  line-height: 1;
  white-space: nowrap;
}
body.inno-visual-v12.cost-page .cost-total strong b {
  font-size: clamp(2.2rem, 4.6vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -.07em;
}
body.inno-visual-v12.cost-page .cost-total strong em { font-size: 1rem; font-style: normal; font-weight: 700; }
body.inno-visual-v12.cost-page .cost-total p { margin: 15px 0 28px; color: rgba(241, 237, 228, .62); font-size: .86rem; }
body.inno-visual-v12.cost-page .cost-total .btn { width: 100%; }

body.inno-visual-v12.cost-page .cost-jump {
  position: sticky;
  top: 72px;
  z-index: 80;
  border-bottom: var(--inno-border);
  background: rgba(241, 237, 228, .94);
  backdrop-filter: blur(16px);
}
body.inno-visual-v12.cost-page .cost-jump .container {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
}
body.inno-visual-v12.cost-page .cost-jump .container::-webkit-scrollbar { display: none; }
body.inno-visual-v12.cost-page .cost-jump a {
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  gap: 9px;
  padding: 12px 22px;
  border-left: var(--inno-border);
  color: var(--inno-color-ink);
  font-size: .82rem;
  font-weight: 800;
}
body.inno-visual-v12.cost-page .cost-jump a:last-child { border-right: var(--inno-border); }
body.inno-visual-v12.cost-page .cost-jump a:hover { color: var(--inno-color-bone); background: var(--inno-color-ink); }
body.inno-visual-v12.cost-page .cost-jump span { color: var(--inno-color-coral-text); font-size: .7rem; }
body.inno-visual-v12.cost-page #included,
body.inno-visual-v12.cost-page #payment,
body.inno-visual-v12.cost-page #excluded,
body.inno-visual-v12.cost-page #faq { scroll-margin-top: 136px; }

body.inno-visual-v12.cost-page .cost-layout,
body.inno-visual-v12.cost-page .cost-faq-grid {
  display: grid;
  grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
  align-items: start;
  gap: clamp(46px, 8vw, 126px);
}
body.inno-visual-v12.cost-page .cost-section-head h2,
body.inno-visual-v12.cost-page .cost-trust-grid h2 {
  margin: 16px 0 20px;
  font-size: clamp(2.25rem, 4.3vw, 4.6rem);
  line-height: 1.05;
}
body.inno-visual-v12.cost-page .cost-section-head > p,
body.inno-visual-v12.cost-page .cost-trust-grid > div > p { max-width: 32rem; margin: 0; color: var(--inno-color-muted); }
body.inno-visual-v12.cost-page .cost-section-head.inverse h2 { color: var(--inno-color-bone); }
body.inno-visual-v12.cost-page .cost-section-head.inverse > p { color: rgba(241, 237, 228, .66); }

body.inno-visual-v12.cost-page .cost-included-list,
body.inno-visual-v12.cost-page .cost-payment-list,
body.inno-visual-v12.cost-page .cost-excluded-list,
body.inno-visual-v12.cost-page .cost-trust-grid ul { padding: 0; margin: 0; list-style: none; }
body.inno-visual-v12.cost-page .cost-included-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 2px solid var(--inno-color-ink); }
body.inno-visual-v12.cost-page .cost-included-list li {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: start;
  min-height: 112px;
  gap: 18px;
  padding: 24px 20px 24px 0;
  border-bottom: var(--inno-border);
}
body.inno-visual-v12.cost-page .cost-included-list li:nth-child(odd) { border-right: var(--inno-border); }
body.inno-visual-v12.cost-page .cost-included-list li:nth-child(even) { padding-left: 20px; }
body.inno-visual-v12.cost-page .cost-included-list li > span,
body.inno-visual-v12.cost-page .cost-excluded-list li > span {
  color: var(--inno-color-coral-text);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
}
body.inno-visual-v12.cost-page .cost-included-list p,
body.inno-visual-v12.cost-page .cost-excluded-list p { margin: 0; color: var(--inno-color-ink); font-weight: 700; line-height: 1.55; }
body.inno-visual-v12.cost-page .cost-included-list small { display: block; margin-top: 7px; color: var(--inno-color-muted); font-size: .78rem; font-weight: 400; line-height: 1.55; }

body.inno-visual-v12.cost-page .cost-payment-section { position: relative; overflow: hidden; }
body.inno-visual-v12.cost-page .cost-payment-section::after {
  position: absolute;
  right: -10vw;
  bottom: -24vw;
  width: min(40vw, 620px);
  aspect-ratio: 1;
  border: clamp(34px, 5vw, 78px) solid var(--inno-color-cobalt);
  border-radius: 50%;
  content: "";
  opacity: .72;
  pointer-events: none;
}
body.inno-visual-v12.cost-page .cost-payment-section .container { position: relative; z-index: 1; }
body.inno-visual-v12.cost-page .cost-payment-list { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(40px, 6vw, 76px); border-top: var(--inno-border-inverse); }
body.inno-visual-v12.cost-page .cost-payment-list li { min-height: 226px; padding: 22px; border-right: var(--inno-border-inverse); border-bottom: var(--inno-border-inverse); }
body.inno-visual-v12.cost-page .cost-payment-list li:first-child { border-left: var(--inno-border-inverse); }
body.inno-visual-v12.cost-page .cost-payment-list li > span { display: block; margin-bottom: 54px; color: var(--inno-color-coral); font-size: .72rem; font-weight: 800; }
body.inno-visual-v12.cost-page .cost-payment-list p { margin: 0 0 10px; color: rgba(241, 237, 228, .68); font-size: .88rem; }
body.inno-visual-v12.cost-page .cost-payment-list strong { color: var(--inno-color-bone); font-family: var(--inno-font-display); font-size: clamp(1.2rem, 2vw, 1.75rem); letter-spacing: -.04em; }
body.inno-visual-v12.cost-page .cost-payment-total { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 24px; color: var(--inno-color-ink); background: var(--inno-color-lime); }
body.inno-visual-v12.cost-page .cost-payment-total span { font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
body.inno-visual-v12.cost-page .cost-payment-total strong { font-family: var(--inno-font-display); font-size: clamp(1.5rem, 3vw, 2.5rem); letter-spacing: -.05em; }

body.inno-visual-v12.cost-page .cost-excluded-list { border-top: 2px solid var(--inno-color-ink); }
body.inno-visual-v12.cost-page .cost-excluded-list li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 24px 0; border-bottom: var(--inno-border); }
body.inno-visual-v12.cost-page .cost-contract-note { margin: 34px 0 0; padding: 22px 24px; border-left: 4px solid var(--inno-color-coral); color: var(--inno-color-ink); background: rgba(255, 85, 56, .08); font-size: .86rem; }

body.inno-visual-v12.cost-page .cost-trust-grid { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr); align-items: end; gap: 36px clamp(48px, 8vw, 120px); }
body.inno-visual-v12.cost-page .cost-trust-grid ul { border-top: 2px solid var(--inno-color-ink); }
body.inno-visual-v12.cost-page .cost-trust-grid li { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 18px 0; border-bottom: var(--inno-border); }
body.inno-visual-v12.cost-page .cost-trust-grid li strong { color: var(--inno-color-coral-text); font-size: .82rem; }
body.inno-visual-v12.cost-page .cost-trust-grid li span { color: var(--inno-color-ink); }
body.inno-visual-v12.cost-page .cost-trust-grid .center-action { grid-column: 1 / -1; padding-top: 8px; }
body.inno-visual-v12.cost-page .cost-faq-grid .faq-list { border-top: 2px solid var(--inno-color-ink); }

/* Document and image overlays */
body.inno-visual-v12 .document-showcase img,
body.inno-visual-v12 .archive-card img,
body.inno-visual-v12 .business-card img,
body.inno-visual-v12 .doc-stack img,
body.inno-visual-v12 .split-card img { border-radius: var(--inno-radius-media); box-shadow: none; }
body.inno-visual-v12 .business-card img { width: 100%; height: auto; }
body.inno-visual-v12 .gallery-card > img[src*="business-card"] {
  object-fit: contain;
  background: var(--inno-color-bone-bright);
}
body.inno-visual-v12 .lightbox { z-index: 2500; background: rgba(8, 9, 12, .96); }
body.inno-visual-v12 .lightbox img { border: var(--inno-border-inverse); border-radius: var(--inno-radius-media); box-shadow: none; }
body.inno-visual-v12 .lightbox button { border: 1px solid var(--inno-color-bone); border-radius: 0; color: var(--inno-color-ink); background: var(--inno-color-lime); }
body.inno-visual-v12 .btw-film-dialog { border-color: var(--inno-color-line-inverse); border-radius: var(--inno-radius-overlay); }
body.inno-visual-v12 .btw-film-dialog__bar button { border-radius: 0; }

/* Legal and 404 stay noindex; this is visual-only. */
body.inno-visual-v12.legal-page .legal-shell { color: var(--inno-color-ink); background: var(--inno-color-bone); }
body.inno-visual-v12.legal-page .legal-status { border-radius: 0; border-color: var(--inno-color-coral); background: rgba(255, 85, 56, .1); }
body.inno-visual-v12.legal-page .legal-card,
body.inno-visual-v12.legal-page table { border-radius: 0; box-shadow: none; }
body.inno-visual-v12 .message-card { max-width: 760px; margin-inline: auto; padding: clamp(32px, 6vw, 72px); }
body.inno-visual-v12 .message-card h1 { max-width: 12ch; font-size: clamp(2.4rem, 6vw, 5.4rem); }

/* Unified footer */
body.inno-visual-v12 .footer {
  padding: clamp(62px, 7vw, 96px) 0 38px;
  border-top: 4px solid var(--inno-color-coral);
  color: var(--inno-color-bone);
  background: var(--inno-color-ink);
}
body.inno-visual-v12 .footer-glow { display: none; }
body.inno-visual-v12 .footer-grid { gap: clamp(24px, 3vw, 52px); }
body.inno-visual-v12 .footer-col { padding: 20px 0 0; border: 0; border-top: var(--inno-border-inverse); }
body.inno-visual-v12 .footer-col:first-child { padding-top: 20px; border-top: var(--inno-border-inverse); }
body.inno-visual-v12 .footer .eyebrow { color: var(--inno-color-coral); }
body.inno-visual-v12 .phone-link { color: var(--inno-color-lime) !important; font-family: var(--inno-font-display); font-size: clamp(1.5rem, 2vw, 2rem); }
body.inno-visual-v12 .mini-kakao { align-items: flex-start; }
body.inno-visual-v12 .mini-kakao img { border: 5px solid var(--inno-color-bone-bright); border-radius: 0; padding: 0; background: var(--inno-color-bone-bright); }
body.inno-visual-v12 .footer-location { color: var(--inno-color-lime); }
body.inno-visual-v12 .seal { border-color: var(--inno-color-coral); border-radius: 0; color: var(--inno-color-coral); }
body.inno-visual-v12 .footer-brand h2 { color: var(--inno-color-bone); font-family: var(--inno-font-display); }
body.inno-visual-v12 .footer-seo-links { justify-content: flex-start; border-top: var(--inno-border-inverse); }
body.inno-visual-v12 .footer-seo-links a { min-height: var(--inno-touch-min); color: rgba(241, 237, 228, .7); }
body.inno-visual-v12 .footer a:hover { color: var(--inno-color-lime); }

/* No-JS fallback for the original two-link CTA. */
body.inno-visual-v12 .floating-cta:not(.inno-contact-shell) {
  border: var(--inno-border-inverse);
  border-radius: 0;
  background: var(--inno-color-ink);
  box-shadow: var(--inno-shadow-overlay);
}
body.inno-visual-v12 .floating-cta:not(.inno-contact-shell) a { border-radius: 0; color: var(--inno-color-ink); background: var(--inno-color-lime); }

/* One primary contact trigger. Existing hrefs are cloned by contact-system.js. */
body.inno-visual-v12 .floating-cta.inno-contact-shell {
  position: fixed;
  right: 24px;
  bottom: max(20px, var(--inno-safe-bottom));
  left: auto;
  z-index: var(--inno-z-contact);
  display: grid;
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transition: opacity var(--inno-motion-base) var(--inno-ease-out), transform var(--inno-motion-base) var(--inno-ease-out);
}
body.inno-visual-v12 .inno-contact-shell.is-suppressed,
body.inno-visual-v12.menu-open .inno-contact-shell,
body.inno-visual-v12.modal-open .inno-contact-shell,
body.inno-visual-v12.contact-input-active .inno-contact-shell,
body.inno-visual-v12.contact-keyboard-open .inno-contact-shell { opacity: 0; pointer-events: none; transform: translateY(12px); }
body.inno-visual-v12 .inno-contact__trigger {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 144px;
  min-height: 56px;
  gap: 18px;
  padding: 0 18px;
  border: 1px solid var(--inno-color-coral);
  border-radius: 0;
  color: var(--inno-color-ink);
  background: var(--inno-color-coral);
  box-shadow: 7px 7px 0 var(--inno-color-ink);
  font-family: var(--inno-font-display);
  font-size: .9rem;
  font-weight: 800;
  cursor: pointer;
}
body.inno-visual-v12 .inno-contact__trigger::after { content: "+"; font-size: 1.35rem; font-weight: 400; }
body.inno-visual-v12 .inno-contact-shell.is-open .inno-contact__trigger::after { content: "−"; }
body.inno-visual-v12 .inno-contact__trigger:hover { background: var(--inno-color-lime); border-color: var(--inno-color-lime); }
body.inno-visual-v12 .inno-contact__backdrop {
  position: fixed;
  inset: 0;
  z-index: 0;
  border: 0;
  background: rgba(8, 9, 12, .42);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--inno-motion-base) var(--inno-ease-out);
}
body.inno-visual-v12 .inno-contact__panel {
  position: absolute;
  right: 0;
  bottom: 70px;
  z-index: 1;
  width: min(390px, calc(100vw - 32px));
  max-height: min(680px, calc(100svh - 112px));
  padding: 24px;
  overflow: auto;
  border: var(--inno-border-inverse);
  border-top: 4px solid var(--inno-color-coral);
  border-radius: var(--inno-radius-overlay);
  color: var(--inno-color-bone);
  background: var(--inno-color-ink);
  box-shadow: var(--inno-shadow-overlay);
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px) scale(.98);
  transform-origin: right bottom;
  transition: opacity var(--inno-motion-base) var(--inno-ease-out), transform var(--inno-motion-base) var(--inno-ease-out);
}
body.inno-visual-v12 .inno-contact-shell.is-open .inno-contact__backdrop { opacity: 1; pointer-events: auto; }
body.inno-visual-v12 .inno-contact-shell.is-open .inno-contact__panel { opacity: 1; pointer-events: auto; transform: none; }
body.inno-visual-v12 .inno-contact__head { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: var(--inno-border-inverse); }
body.inno-visual-v12 .inno-contact__head p { margin: 0 0 4px; color: var(--inno-color-coral); font-size: .7rem; font-weight: 800; letter-spacing: .15em; }
body.inno-visual-v12 .inno-contact__head h2 { color: var(--inno-color-bone); font-family: var(--inno-font-display); font-size: 1.45rem; letter-spacing: -.04em; }
body.inno-visual-v12 .inno-contact__close {
  flex: 0 0 var(--inno-touch-min);
  width: var(--inno-touch-min);
  height: var(--inno-touch-min);
  border: 1px solid var(--inno-color-line-inverse);
  border-radius: 0;
  color: var(--inno-color-bone);
  background: transparent;
  cursor: pointer;
}
body.inno-visual-v12 .inno-contact__channels { display: grid; margin-top: 8px; }
body.inno-visual-v12 .inno-contact__channels a {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  min-height: 68px;
  gap: 12px;
  padding: 10px 0;
  border: 0;
  border-bottom: var(--inno-border-inverse);
  border-radius: 0;
  color: var(--inno-color-bone);
  background: transparent;
  font-size: inherit;
}
body.inno-visual-v12 .inno-contact__channels a::after { content: "↗"; color: var(--inno-color-lime); }
body.inno-visual-v12 .inno-contact__channels a:hover strong { color: var(--inno-color-lime); }
body.inno-visual-v12 .inno-contact__number { color: var(--inno-color-coral); font-size: .7rem; font-weight: 800; }
body.inno-visual-v12 .inno-contact__channels strong,
body.inno-visual-v12 .inno-contact__channels small { display: block; }
body.inno-visual-v12 .inno-contact__channels strong { font-family: var(--inno-font-display); }
body.inno-visual-v12 .inno-contact__channels small { margin-top: 3px; color: rgba(241, 237, 228, .58); font-size: .76rem; }
body.inno-visual-v12 .inno-contact__qr { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 16px; padding-top: 18px; }
body.inno-visual-v12 .inno-contact__qr img { width: 76px; height: 78px; border: 4px solid var(--inno-color-bone-bright); background: var(--inno-color-bone-bright); object-fit: contain; }
body.inno-visual-v12 .inno-contact__qr p { margin: 0; color: rgba(241, 237, 228, .68); font-size: .8rem; line-height: 1.55; }
body.inno-visual-v12 .inno-contact__qr strong { display: block; margin-bottom: 3px; color: var(--inno-color-bone); }

@media (max-width: 1240px) {
  body.inno-visual-v12 .main-nav.open {
    position: absolute;
    top: 72px;
    right: 0;
    bottom: auto;
    left: 0;
    display: grid;
    align-content: start;
    width: 100%;
    height: calc(100svh - 72px);
    max-height: none;
    gap: 0;
    padding: clamp(22px, 5vw, 64px) var(--inno-gutter);
    overflow-y: auto;
    border: 0;
    border-top: var(--inno-border-inverse);
    border-radius: 0;
    background: rgba(8, 9, 12, .99);
    box-shadow: none;
  }
  body.inno-visual-v12 .main-nav.open a {
    min-height: 64px;
    padding: 18px 0;
    border-bottom: var(--inno-border-inverse);
    color: var(--inno-color-bone);
    font-size: clamp(1.15rem, 3vw, 1.8rem);
  }
  body.inno-visual-v12 .main-nav.open a[aria-current="page"] { color: var(--inno-color-lime); }
}

@media (max-width: 980px) {
  body.inno-visual-v12.cost-page .cost-hero { min-height: auto; }
  body.inno-visual-v12.cost-page .cost-hero-grid,
  body.inno-visual-v12.cost-page .cost-layout,
  body.inno-visual-v12.cost-page .cost-faq-grid,
  body.inno-visual-v12.cost-page .cost-trust-grid { grid-template-columns: 1fr; }
  body.inno-visual-v12.cost-page .cost-hero-copy h1 { max-width: 10ch; }
  body.inno-visual-v12.cost-page .cost-total { width: min(100%, 600px); }
  body.inno-visual-v12.cost-page .cost-section-head > p { max-width: 42rem; }
  body.inno-visual-v12.cost-page .cost-payment-list { grid-template-columns: 1fr 1fr; }
  body.inno-visual-v12.cost-page .cost-payment-list li:nth-child(3) { border-left: var(--inno-border-inverse); }
  body.inno-visual-v12.cost-page .cost-trust-grid .center-action { grid-column: auto; }
}

@media (max-width: 720px) {
  body.inno-visual-v12 .sub-hero.gallery-hero { min-height: 330px; padding-block: 96px 44px; }
  body.inno-visual-v12 .gallery-section { padding-block: 58px 110px; }
  :root { --inno-gutter: 14px; }
  body.inno-visual-v12 { padding-bottom: 0; }
  body.inno-visual-v12.contact-input-active,
  body.inno-visual-v12.contact-keyboard-open { padding-bottom: 0; }
  body.inno-visual-v12 .nav-wrap { height: 68px; }
  body.inno-visual-v12 .main-nav.open { top: 68px; height: calc(100svh - 68px); max-height: none; }
  body.inno-visual-v12 .sub-hero { min-height: 390px; }
  body.inno-visual-v12 #consult-form { scroll-margin-top: 156px; }
  body.inno-visual-v12 .sub-hero::before { background: linear-gradient(180deg, rgba(8, 9, 12, .06) 0%, rgba(8, 9, 12, .82) 100%); }
  body.inno-visual-v12 .feature-card,
  body.inno-visual-v12 .notice-card,
  body.inno-visual-v12 .archive-card,
  body.inno-visual-v12 .message-card,
  body.inno-visual-v12 .consult-form,
  body.inno-visual-v12 .contact-cards,
  body.inno-visual-v12 .content-card { padding: 22px; }
  body.inno-visual-v12 .footer { padding-bottom: calc(78px + var(--inno-safe-bottom)); }
  body.inno-visual-v12 .floating-cta.inno-contact-shell {
    right: 12px;
    bottom: max(10px, var(--inno-safe-bottom));
    left: 12px;
    display: grid;
    width: auto;
  }
  body.inno-visual-v12 .inno-contact__trigger { width: 100%; min-height: 56px; box-shadow: 4px 4px 0 var(--inno-color-ink); }
  body.inno-visual-v12 .inno-contact__backdrop { z-index: 0; }
  body.inno-visual-v12 .inno-contact__panel {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: auto;
    max-height: min(84svh, 720px);
    padding: 22px 18px calc(22px + var(--inno-safe-bottom));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 16px 16px 0 0;
    transform: translateY(100%);
    transform-origin: center bottom;
  }
  body.inno-visual-v12 .inno-contact-shell.is-open .inno-contact__panel { transform: none; }
  body.inno-visual-v12 .inno-contact-shell.is-open .inno-contact__trigger { opacity: 0; pointer-events: none; }
  body.inno-visual-v12 .inno-contact__channels a { min-height: 64px; }
  body.inno-visual-v12 .inno-contact__qr { grid-template-columns: 68px 1fr; }
  body.inno-visual-v12 .inno-contact__qr img { width: 68px; height: 70px; }
  body.inno-visual-v12.cost-page .cost-hero { padding: 112px 0 62px; }
  body.inno-visual-v12.cost-page .cost-hero::before { top: -8%; right: -48%; width: 110vw; border-width: 58px; opacity: .7; }
  body.inno-visual-v12.cost-page .cost-hero::after { right: -18%; bottom: -22%; width: 74vw; opacity: .78; }
  body.inno-visual-v12.cost-page .cost-hero .breadcrumb { margin-bottom: 44px; }
  body.inno-visual-v12.cost-page .cost-hero-grid { gap: 38px; }
  body.inno-visual-v12.cost-page .cost-hero-copy h1 { margin-bottom: 20px; font-size: clamp(3.1rem, 15vw, 5rem); }
  body.inno-visual-v12.cost-page .cost-total { padding: 24px 20px; }
  body.inno-visual-v12.cost-page .cost-total strong b { font-size: clamp(2.05rem, 10.6vw, 3.25rem); }
  body.inno-visual-v12.cost-page .cost-jump { top: 68px; }
  body.inno-visual-v12.cost-page .cost-jump .container { width: 100%; padding-inline: 14px; }
  body.inno-visual-v12.cost-page .cost-jump a { min-height: 56px; padding-inline: 17px; }
  body.inno-visual-v12.cost-page #included,
  body.inno-visual-v12.cost-page #payment,
  body.inno-visual-v12.cost-page #excluded,
  body.inno-visual-v12.cost-page #faq { scroll-margin-top: 124px; }
  body.inno-visual-v12.cost-page .cost-layout,
  body.inno-visual-v12.cost-page .cost-faq-grid { gap: 36px; }
  body.inno-visual-v12.cost-page .cost-section-head h2,
  body.inno-visual-v12.cost-page .cost-trust-grid h2 { font-size: clamp(2.15rem, 11vw, 3.25rem); }
  body.inno-visual-v12.cost-page .cost-included-list { grid-template-columns: 1fr; }
  body.inno-visual-v12.cost-page .cost-included-list li,
  body.inno-visual-v12.cost-page .cost-included-list li:nth-child(even) { min-height: 0; padding: 20px 0; border-right: 0; }
  body.inno-visual-v12.cost-page .cost-payment-list { grid-template-columns: 1fr; }
  body.inno-visual-v12.cost-page .cost-payment-list li,
  body.inno-visual-v12.cost-page .cost-payment-list li:nth-child(3) { display: grid; grid-template-columns: 36px 1fr; min-height: 0; padding: 20px; border-left: var(--inno-border-inverse); }
  body.inno-visual-v12.cost-page .cost-payment-list li > span { margin: 4px 0 0; }
  body.inno-visual-v12.cost-page .cost-payment-total { padding: 20px; }
  body.inno-visual-v12.cost-page .cost-contract-note { padding: 18px; }
  body.inno-visual-v12.cost-page .cost-trust-grid { gap: 30px; }
  body.inno-visual-v12.cost-page .cost-trust-grid li { grid-template-columns: 1fr; gap: 5px; }
}

@media (max-width: 390px) {
  body.inno-visual-v12 .inno-contact__panel { padding-inline: 14px; }
  body.inno-visual-v12 .inno-contact__head h2 { font-size: 1.3rem; }
  body.inno-visual-v12.cost-page .cost-total strong { gap: 5px; }
  body.inno-visual-v12.cost-page .cost-total strong b { font-size: 1.98rem; }
  body.inno-visual-v12.cost-page .cost-included-list li,
  body.inno-visual-v12.cost-page .cost-excluded-list li { grid-template-columns: 34px 1fr; gap: 12px; }
  body.inno-visual-v12.cost-page .cost-payment-total { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  body.inno-visual-v12 .inno-contact-shell,
  body.inno-visual-v12 .inno-contact__trigger,
  body.inno-visual-v12 .inno-contact__backdrop,
  body.inno-visual-v12 .inno-contact__panel { scroll-behavior: auto; transition-duration: .01ms !important; }
}

body.inno-visual-v12 :focus-visible {
  outline: 3px solid var(--inno-color-lime);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--inno-color-ink);
}

@media (forced-colors: active) {
  body.inno-visual-v12 .inno-contact__trigger,
  body.inno-visual-v12 .btn,
  body.inno-visual-v12 .nav-cta { border: 2px solid ButtonText; }
}
