/* 승인된 네 개 공개 페이지에만 적용하는 2026-08 리디자인 레이어 */
body.marketing-page[data-marketing-page="home"],
body.marketing-page[data-marketing-page="about"],
body.marketing-page[data-marketing-page="how"],
body.marketing-page[data-marketing-page="safety"] {
  --mr-bg: #06070a;
  --mr-bg-alt: #0a0b0e;
  --mr-surface: #14161b;
  --mr-surface-sunken: #0f1116;
  --mr-surface-hover: #1c1f26;
  --mr-text: #dce0e7;
  --mr-text-strong: #fff;
  --mr-text-muted: rgb(255 255 255 / 72%);
  --mr-text-soft: rgb(255 255 255 / 62%);
  --mr-border-weak: rgb(255 255 255 / 8%);
  --mr-border: rgb(255 255 255 / 10%);
  --mr-border-strong: rgb(255 255 255 / 14%);
  --mr-accent: #1e6fef;
  --mr-accent-soft: #8bb7ff;
  --mr-pad-x: clamp(24px, 3.4vw, 64px);
  --mr-pad-y: clamp(80px, 10vh, 128px);
  --mr-radius-sm: 10px;
  --mr-radius-md: 14px;
  --mr-radius-lg: 20px;
  background: var(--mr-bg);
  color: var(--mr-text);
}

body.marketing-page :is(h1, h2, h3, h4, p, li, small, strong) {
  text-wrap: pretty;
  word-break: keep-all;
  overflow-wrap: normal;
}

body.marketing-page :is(a, button, summary):focus-visible {
  outline: 3px solid var(--mr-accent-soft);
  outline-offset: 4px;
}

body.marketing-page .kicker {
  letter-spacing: 0.16em;
}

/* 하위 페이지의 사진형 도입부 */
body.marketing-page:not(.home-page) main { padding-top: var(--site-header-height); overflow: clip; }

body.marketing-page:not(.home-page) .marketing-subpage-hero {
  position: relative;
  /* 2026-08-19 프로토타입 규격: 56vh 히어로 — 컨테이너가 더 높으면
     16:9 원본이 세로로 확대되어 인물이 잘린다. */
  min-height: 56vh;
  display: grid;
  align-items: end;
  isolation: isolate;
  padding: clamp(80px, 12vh, 140px) 0 clamp(44px, 6vh, 68px);
  overflow: hidden;
  border-bottom: 1px solid var(--mr-border-weak);
  background: var(--mr-bg);
}

body.marketing-page:not(.home-page) .marketing-hero-media,
body.marketing-page:not(.home-page) .marketing-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }

body.marketing-page:not(.home-page) .marketing-hero-media { z-index: -2; }

/* 프로토타입은 히어로 사진에 필터를 쓰지 않는다 — 스크림 그라디언트만 얹는다. */
body.marketing-page:not(.home-page) .marketing-hero-media img { object-fit: cover; object-position: center 46%; }

body.marketing-page[data-marketing-page="about"] .marketing-hero-media img { object-position: center 38%; }

body.marketing-page[data-marketing-page="how"] .marketing-hero-media img { object-position: center 40%; }

body.marketing-page[data-marketing-page="safety"] .marketing-hero-media img { object-position: 60% 38%; }

body.marketing-page:not(.home-page) .marketing-subpage-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background:
    linear-gradient(0deg, rgb(6 7 10 / 98%) 0%, rgb(6 7 10 / 72%) 44%, rgb(6 7 10 / 42%) 80%, rgb(6 7 10 / 66%) 100%),
    linear-gradient(90deg, rgb(6 7 10 / 58%), transparent 72%);
}

body.marketing-page:not(.home-page) .marketing-hero-copy {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.72fr);
  gap: clamp(32px, 5vw, 88px);
  align-items: end;
}

body.marketing-page:not(.home-page) .marketing-hero-copy h1 {
  max-width: 20ch;
  margin: 0;
  color: var(--mr-text-strong);
  font-size: clamp(2.5rem, 4.6vw, 4.6rem);
  font-weight: 840;
  line-height: 1.04;
  letter-spacing: -0.06em;
}

body.marketing-page:not(.home-page) .marketing-hero-copy .kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  color: var(--mr-text-muted);
  font-size: 12px;
  font-weight: 800;
}

body.marketing-page:not(.home-page) .marketing-hero-copy .kicker::before {
  width: 28px;
  height: 3px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--mr-accent);
  content: "";
}

body.marketing-page:not(.home-page) .marketing-hero-copy > p { max-width: 44ch; margin: 0 0 4px; color: var(--mr-text-muted); font-size: 16px; line-height: 1.75; }

/* 하위 페이지 구역 리듬 — 제공 디자인의 교대 배경과 헤더 행 */
body.marketing-page:not(.home-page) .sub-scene { padding: var(--mr-pad-y) 0; border-top: 1px solid var(--mr-border-weak); background: var(--mr-bg); }

body.marketing-page:not(.home-page) .sub-scene.alt { background: var(--mr-bg-alt); }

body.marketing-page:not(.home-page) .sub-scene > .wrap > * + * { margin-top: clamp(30px, 4vw, 40px); }

body.marketing-page:not(.home-page) .sub-scene-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }

body.marketing-page:not(.home-page) .sub-scene-head .kicker { margin: 0 0 18px; color: var(--mr-text-soft); font-size: 12px; font-weight: 800; }

body.marketing-page:not(.home-page) .sub-scene-head h2 {
  max-width: 24ch;
  margin: 0;
  color: var(--mr-text-strong);
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-weight: 830;
  line-height: 1.1;
  letter-spacing: -0.05em;
}

body.marketing-page:not(.home-page) .sub-scene-head > p { max-width: 34ch; margin: 0; color: var(--mr-text-soft); font-size: 14px; line-height: 1.7; }

/* 서비스소개 01 — 왜 경로인가 */
body.marketing-page:not(.home-page) .editorial-grid {
  display: grid;
  grid-template-columns: 88px minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 3.4vw, 64px);
  align-items: start;
  padding: 0;
  border: 0;
}

body.marketing-page:not(.home-page) .section-index {
  margin: 0;
  color: rgb(255 255 255 / 28%);
  font-size: 44px;
  font-weight: 840;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.04em;
  line-height: 1;
}

body.marketing-page:not(.home-page) .editorial-grid .section-copy .kicker { margin: 0 0 18px; color: var(--mr-text-soft); font-size: 12px; font-weight: 800; }

body.marketing-page:not(.home-page) .editorial-grid .section-copy h2 {
  max-width: 16ch;
  margin: 0;
  color: var(--mr-text-strong);
  font-size: clamp(1.9rem, 2.9vw, 2.9rem);
  font-weight: 830;
  line-height: 1.12;
  letter-spacing: -0.05em;
}

body.marketing-page:not(.home-page) .long-copy { max-width: 60ch; }

body.marketing-page:not(.home-page) .long-copy > p { margin: 0; color: rgb(255 255 255 / 66%); font-size: 16px; line-height: 1.8; }

body.marketing-page:not(.home-page) .long-copy > p:first-child { color: var(--mr-text-muted); font-size: 17px; }

body.marketing-page:not(.home-page) .long-copy > p + p { margin-top: 20px; }

body.marketing-page[data-marketing-page="about"] .do-dont-card {
  display: grid;
  gap: 14px;
  margin-top: 26px;
  padding: 22px;
  border: 1px solid var(--mr-border);
  border-radius: 16px;
  background: var(--mr-surface);
}

body.marketing-page[data-marketing-page="about"] .do-dont-label { color: rgb(255 255 255 / 50%); font-size: 11.5px; font-weight: 800; letter-spacing: 0.14em; }

body.marketing-page[data-marketing-page="about"] .do-dont-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

body.marketing-page[data-marketing-page="about"] .do-dont-cell { display: grid; gap: 8px; padding: 16px; border-radius: 12px; }

body.marketing-page[data-marketing-page="about"] .do-dont-cell.do { border: 1px solid rgb(139 183 255 / 28%); background: rgb(30 111 239 / 10%); }

body.marketing-page[data-marketing-page="about"] .do-dont-cell.dont { border: 1px solid rgb(255 255 255 / 12%); background: var(--mr-surface-sunken); }

body.marketing-page[data-marketing-page="about"] .do-dont-cell strong { color: var(--mr-text-strong); font-size: 13.5px; font-weight: 800; }

body.marketing-page[data-marketing-page="about"] .do-dont-cell span { color: var(--mr-text-muted); font-size: 13px; line-height: 1.65; }

/* 원칙·기준 카드 */
body.marketing-page:not(.home-page) .principle-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; border: 0; }

body.marketing-page:not(.home-page) .principle-list article,
body.marketing-page:not(.home-page) .principle-list article + article {
  display: grid;
  align-content: start;
  gap: 16px;
  min-height: 0;
  margin: 0;
  padding: 30px;
  border: 1px solid var(--mr-border);
  border-radius: var(--mr-radius-lg);
  background: var(--mr-surface);
  transition: border-color 180ms ease, transform 180ms ease;
}

body.marketing-page:not(.home-page) .principle-list article:hover { border-color: rgb(139 183 255 / 40%); transform: translateY(-2px); }

body.marketing-page:not(.home-page) .principle-list :is(h2, h3) { margin: 0; color: var(--mr-text-strong); font-size: 20px; font-weight: 800; letter-spacing: -0.035em; }

body.marketing-page:not(.home-page) .principle-list p { margin: 0; color: rgb(255 255 255 / 68%); font-size: 14.5px; line-height: 1.7; }

body.marketing-page:not(.home-page) .card-index { color: var(--mr-accent-soft); font-size: 12px; font-weight: 820; letter-spacing: 0.14em; }

body.marketing-page:not(.home-page) .card-note {
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid rgb(255 255 255 / 9%);
  color: rgb(255 255 255 / 50%);
  font-size: 12.5px;
  line-height: 1.6;
}

body.marketing-page[data-marketing-page="safety"] .safety-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }

body.marketing-page[data-marketing-page="safety"] .safety-principles article { grid-template-columns: auto minmax(0, 1fr); gap: 20px; padding: 28px; }

body.marketing-page:not(.home-page) .card-chip {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  background: rgb(77 140 255 / 16%);
  color: var(--mr-accent-soft);
  font-size: 13px;
  font-weight: 830;
}

body.marketing-page[data-marketing-page="safety"] .safety-principles h3 { margin: 0 0 10px; font-size: 19px; }

body.marketing-page[data-marketing-page="safety"] .safety-principles p { line-height: 1.72; }

/* 고지·주의 배너 — 아이콘 칩과 우측 링크 */
body.marketing-page:not(.home-page) .note-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 10px;
  background: rgb(77 140 255 / 16%);
  color: var(--mr-accent-soft);
  font-size: 15px;
  font-weight: 820;
}

body.marketing-page:not(.home-page) .note-icon.warn { background: rgb(224 189 130 / 16%); color: #e0bd82; }

body.marketing-page:not(.home-page) .note-icon.danger { background: rgb(214 102 94 / 20%); color: #f0a49c; }

body.marketing-page:not(.home-page) .policy-boundary,
body.marketing-page:not(.home-page) .callout { border-radius: var(--mr-radius-md); }

body.marketing-page:not(.home-page) .policy-boundary { border: 1px solid var(--mr-border-strong); background: var(--mr-surface); }

body.marketing-page:not(.home-page) .notice-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 22px 26px;
  border-radius: 16px;
}

body.marketing-page:not(.home-page) .notice-row::before,
body.marketing-page:not(.home-page) .notice-row::after { content: none; }

body.marketing-page:not(.home-page) .notice-row > div { display: grid; gap: 8px; }

body.marketing-page:not(.home-page) .notice-row strong { color: var(--mr-text-strong); font-size: 15.5px; font-weight: 820; }

body.marketing-page:not(.home-page) .notice-row p { max-width: 78ch; margin: 0; color: rgb(255 255 255 / 66%); font-size: 14px; line-height: 1.7; }

body.marketing-page:not(.home-page) .notice-link { font-size: 13px; font-weight: 750; white-space: nowrap; }

body.marketing-page:not(.home-page) .callout.warning.marketing-callout { align-items: start; border: 1px solid rgb(224 189 130 / 34%); background: rgb(224 189 130 / 8%); }

body.marketing-page:not(.home-page) .callout.warning.marketing-callout p { color: var(--mr-text-muted); }

body.marketing-page:not(.home-page) .callout.danger.marketing-callout { align-items: start; border: 1px solid rgb(214 102 94 / 40%); background: rgb(168 59 52 / 14%); }

body.marketing-page:not(.home-page) .callout.danger.marketing-callout p { color: rgb(255 255 255 / 76%); }

body.marketing-page:not(.home-page) .actions.centered { justify-content: center; }

body.marketing-page:not(.home-page) .btn { min-height: 54px; padding-inline: 24px; border-radius: var(--mr-radius-sm); }

/* 이용흐름 — 전체 여정 6단계 카드 */
body.marketing-page[data-marketing-page="how"] .journey-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  border: 0;
}

body.marketing-page[data-marketing-page="how"] .journey-timeline .timeline-step {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 0;
  padding: 28px;
  border: 1px solid var(--mr-border);
  border-radius: 18px;
  background: var(--mr-surface);
  transition: border-color 180ms ease;
}

body.marketing-page[data-marketing-page="how"] .journey-timeline .timeline-step:hover { border-color: rgb(139 183 255 / 40%); }

body.marketing-page[data-marketing-page="how"] .journey-timeline .timeline-step::before { content: none; }

body.marketing-page[data-marketing-page="how"] .step-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgb(255 255 255 / 9%);
}

body.marketing-page[data-marketing-page="how"] .step-head span {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 9px;
  background: rgb(77 140 255 / 16%);
  color: var(--mr-accent-soft);
  font-size: 12.5px;
  font-weight: 820;
}

body.marketing-page[data-marketing-page="how"] .step-head h3 { margin: 0; color: var(--mr-text-strong); font-size: 18px; font-weight: 800; letter-spacing: -0.03em; }

body.marketing-page[data-marketing-page="how"] .journey-timeline .timeline-step p { margin: 0; color: rgb(255 255 255 / 68%); font-size: 14px; line-height: 1.7; }

body.marketing-page[data-marketing-page="how"] .step-who { color: rgb(255 255 255 / 46%); font-size: 12px; font-weight: 700; }

/* 이용흐름 — 역할별 레인과 가운데 제안 카드 */
body.marketing-page[data-marketing-page="how"] .dual-role-rail.subpage { grid-template-columns: minmax(0, 1fr) minmax(300px, 0.86fr) minmax(0, 1fr); gap: 18px; align-items: stretch; margin: 0; }

body.marketing-page[data-marketing-page="how"] .dual-role-rail.subpage::before,
body.marketing-page[data-marketing-page="how"] .dual-role-rail.subpage::after { display: none; }

body.marketing-page[data-marketing-page="how"] .dual-role-rail.subpage .role-lane {
  display: grid;
  align-content: start;
  gap: 18px;
  min-height: 0;
  padding: 28px;
  border: 1px solid var(--mr-border);
  border-radius: var(--mr-radius-lg);
  background: var(--mr-surface);
}

body.marketing-page[data-marketing-page="how"] .role-lane .role-label {
  justify-self: start;
  margin: 0;
  padding: 6px 11px;
  border: 1px solid rgb(139 183 255 / 32%);
  border-radius: 999px;
  background: rgb(30 111 239 / 12%);
  color: var(--mr-accent-soft);
  font-size: 11.5px;
  font-weight: 800;
}

body.marketing-page[data-marketing-page="how"] .role-lane h3 { margin: 0; color: var(--mr-text-strong); font-size: 21px; font-weight: 820; letter-spacing: -0.035em; }

body.marketing-page[data-marketing-page="how"] .lane-steps { display: grid; margin: 0; padding: 0; list-style: none; }

body.marketing-page[data-marketing-page="how"] .lane-steps li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  padding: 15px 0;
  border-top: 1px solid rgb(255 255 255 / 9%);
}

body.marketing-page[data-marketing-page="how"] .lane-steps b { color: var(--mr-text-strong); font-size: 14.5px; font-weight: 780; }

body.marketing-page[data-marketing-page="how"] .lane-steps small { color: rgb(255 255 255 / 60%); font-size: 12.5px; line-height: 1.6; }

body.marketing-page[data-marketing-page="how"] .proposal-meet {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: 28px;
  border: 1px solid rgb(139 183 255 / 30%);
  border-radius: var(--mr-radius-lg);
  background: rgb(30 111 239 / 10%);
}

body.marketing-page[data-marketing-page="how"] .proposal-meet-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

body.marketing-page[data-marketing-page="how"] .proposal-meet-head strong { color: var(--mr-text-strong); font-size: 15px; font-weight: 830; }

body.marketing-page[data-marketing-page="how"] .proposal-chip {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgb(77 140 255 / 20%);
  color: var(--mr-accent-soft);
  font-size: 11px;
  font-weight: 800;
}

body.marketing-page[data-marketing-page="how"] .proposal-meet-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: var(--mr-radius-md);
  background: var(--mr-surface-sunken);
}

body.marketing-page[data-marketing-page="how"] .meet-row { display: flex; justify-content: space-between; gap: 12px; color: var(--mr-text); font-size: 13px; }

body.marketing-page[data-marketing-page="how"] .meet-row > span:first-child { color: rgb(255 255 255 / 52%); }

body.marketing-page[data-marketing-page="how"] .proposal-meet > p { margin: 0; color: rgb(255 255 255 / 60%); font-size: 12.5px; line-height: 1.65; }

/* 안전과 신뢰 — 위치의 두 범위 비교 도식 */
body.marketing-page[data-marketing-page="safety"] .location-layout.compact {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 5vw, 84px);
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.marketing-page[data-marketing-page="safety"] .location-copy .kicker { margin: 0 0 18px; color: var(--mr-text-soft); font-size: 12px; font-weight: 800; }

body.marketing-page[data-marketing-page="safety"] .location-copy h2 {
  max-width: 18ch;
  margin: 0 0 18px;
  color: var(--mr-text-strong);
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-weight: 830;
  line-height: 1.1;
  letter-spacing: -0.05em;
}

body.marketing-page[data-marketing-page="safety"] .location-copy > p { max-width: 44ch; margin: 0; color: var(--mr-text-muted); font-size: 16px; line-height: 1.78; }

body.marketing-page[data-marketing-page="safety"] .location-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--mr-border);
  border-radius: var(--mr-radius-lg);
  background: var(--mr-surface);
}

body.marketing-page[data-marketing-page="safety"] .compare-side { display: grid; gap: 14px; }

body.marketing-page[data-marketing-page="safety"] .compare-label { color: rgb(255 255 255 / 50%); font-size: 11.5px; font-weight: 800; letter-spacing: 0.12em; }

body.marketing-page[data-marketing-page="safety"] .compare-label.accent { color: var(--mr-accent-soft); }

body.marketing-page[data-marketing-page="safety"] .exact-point {
  display: grid;
  aspect-ratio: 1;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: var(--mr-radius-md);
  background: var(--mr-surface-sunken);
}

body.marketing-page[data-marketing-page="safety"] .exact-point span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--mr-accent);
  box-shadow: 0 0 0 8px rgb(30 111 239 / 18%);
}

body.marketing-page[data-marketing-page="safety"] .grid-arrow { justify-self: center; color: rgb(255 255 255 / 42%); font-size: 20px; }

body.marketing-page[data-marketing-page="safety"] .public-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  aspect-ratio: 1;
  margin: 0;
  padding: 10px;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: var(--mr-radius-md);
  background: var(--mr-surface-sunken);
}

body.marketing-page[data-marketing-page="safety"] .public-grid span { border: 1px solid rgb(255 255 255 / 12%); border-radius: 4px; background: transparent; }

body.marketing-page[data-marketing-page="safety"] .public-grid span.near { background: rgb(77 140 255 / 12%); }

body.marketing-page[data-marketing-page="safety"] .public-grid span.selected { border-color: rgb(77 140 255 / 80%); background: rgb(77 140 255 / 55%); }

body.marketing-page[data-marketing-page="safety"] .compare-side small { color: rgb(255 255 255 / 60%); font-size: 12px; line-height: 1.6; }

body.marketing-page[data-marketing-page="safety"] .compare-side small strong { color: var(--mr-text-strong); }

body.marketing-page[data-marketing-page="safety"] .scope-copy h2 {
  max-width: 26ch;
  margin: 0 0 22px;
  color: var(--mr-text-strong);
  font-size: clamp(1.7rem, 2.5vw, 2.5rem);
  font-weight: 830;
  line-height: 1.14;
  letter-spacing: -0.045em;
}

body.marketing-page[data-marketing-page="safety"] .scope-copy p { max-width: 82ch; margin: 0; color: var(--mr-text-muted); font-size: 16px; line-height: 1.8; }

@media (max-width: 900px) {
  body.marketing-page[data-marketing-page="home"] .workflow-layout,
  body.marketing-page[data-marketing-page="home"] .location-layout,
  body.marketing-page[data-marketing-page="home"] .ledger-layout,
  body.marketing-page[data-marketing-page="home"] .app-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.marketing-page[data-marketing-page="home"] .workflow-intro {
    position: static;
    top: auto;
  }

  body.marketing-page[data-marketing-page="home"] .workflow-thumb {
    max-width: 680px;
  }

  body.marketing-page[data-marketing-page="home"] .hero-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  body.marketing-page[data-marketing-page="home"] .hero-scope {
    max-width: 60ch;
    text-align: left;
  }

  body.marketing-page[data-marketing-page="home"] .location-visual {
    min-height: 520px;
  }

  body.marketing-page[data-marketing-page="home"] .location-copy {
    padding-block: clamp(72px, 10vh, 100px);
  }

  body.marketing-page[data-marketing-page="home"] .app-layout {
    gap: 34px;
  }

  body.marketing-page[data-marketing-page="home"] .store-board {
    max-width: 680px;
  }

  body.marketing-page:not(.home-page) .marketing-subpage-hero { min-height: 56svh; }

  body.marketing-page:not(.home-page) .marketing-hero-copy { grid-template-columns: minmax(0, 1fr); gap: 24px; }

  body.marketing-page:not(.home-page) .marketing-hero-copy > p { grid-column: 1; }

  body.marketing-page:not(.home-page) .sub-scene-head { align-items: flex-start; flex-direction: column; gap: 16px; }

  body.marketing-page:not(.home-page) .editorial-grid { grid-template-columns: minmax(0, 1fr); }

  body.marketing-page:not(.home-page) .principle-list,
  body.marketing-page[data-marketing-page="safety"] .safety-principles { grid-template-columns: minmax(0, 1fr); }

  body.marketing-page[data-marketing-page="about"] .do-dont-grid { grid-template-columns: minmax(0, 1fr); }

  body.marketing-page[data-marketing-page="how"] .journey-timeline,
  body.marketing-page[data-marketing-page="how"] .dual-role-rail.subpage,
  body.marketing-page[data-marketing-page="safety"] .location-layout.compact { grid-template-columns: minmax(0, 1fr); }

  body.marketing-page:not(.home-page) .notice-row { grid-template-columns: auto minmax(0, 1fr); align-items: start; }

  body.marketing-page:not(.home-page) .notice-link { grid-column: 1 / -1; white-space: normal; }
}

@media (max-width: 760px) {
  body.marketing-page[data-marketing-page="home"] .nav .inner {
    width: calc(100% - 48px);
  }

  body.marketing-page[data-marketing-page="home"] .home-section-inner {
    padding: 72px 24px;
  }

  body.marketing-page[data-marketing-page="home"] .home-hero,
  body.marketing-page[data-marketing-page="home"] .hero-shell {
    min-height: max(720px, 100svh);
  }

  body.marketing-page[data-marketing-page="home"] .hero-shell {
    gap: 30px;
    padding: 116px 24px 40px;
  }

  body.marketing-page[data-marketing-page="home"] .hero-copy h1 {
    font-size: clamp(3rem, 14.5vw, 4.5rem);
  }

  body.marketing-page[data-marketing-page="home"] .hero-copy {
    gap: 22px;
  }

  body.marketing-page[data-marketing-page="home"] .hero-copy .actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.marketing-page[data-marketing-page="home"] .hero-copy .actions .btn {
    width: 100%;
  }

  body.marketing-page[data-marketing-page="home"] :is(.workflow-intro, .recent-heading, .ledger-heading) h2,
  body.marketing-page[data-marketing-page="home"] .location-copy h2,
  body.marketing-page[data-marketing-page="home"] .app-copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.45rem);
  }

  body.marketing-page[data-marketing-page="home"] :is(.role-board, .workflow-journey, .ledger-copy-panel, .evidence-ledger, .store-board) {
    padding: 22px 18px;
  }

  body.marketing-page[data-marketing-page="home"] .dual-role-rail {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  body.marketing-page[data-marketing-page="home"] .dual-role-rail::before,
  body.marketing-page[data-marketing-page="home"] .dual-role-rail::after {
    display: none;
  }

  body.marketing-page[data-marketing-page="home"] .role-lane {
    min-height: 0;
    border-radius: 16px;
  }

  body.marketing-page[data-marketing-page="home"] .agreement-node {
    width: 88px;
    height: 88px;
    margin: -8px auto;
    box-shadow: 0 0 0 8px var(--mr-surface);
  }

  body.marketing-page[data-marketing-page="home"] .saved-signals {
    grid-template-columns: minmax(0, 1fr);
  }

  body.marketing-page[data-marketing-page="home"] .saved-signals > div + div {
    padding-left: 0;
    border-left: 0;
  }

  body.marketing-page[data-marketing-page="home"] .journey-heading,
  body.marketing-page[data-marketing-page="home"] .recent-heading,
  body.marketing-page[data-marketing-page="home"] .ledger-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  body.marketing-page[data-marketing-page="home"] .workflow-steps li {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
  }

  body.marketing-page[data-marketing-page="home"] .location-visual {
    min-height: 460px;
  }

  body.marketing-page[data-marketing-page="home"] .location-visual .location-grid {
    right: 20px;
    width: auto;
    padding: 20px 16px;
  }

  body.marketing-page[data-marketing-page="home"] .location-copy {
    padding: 72px 24px;
  }

  body.marketing-page[data-marketing-page="home"] .ledger-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  body.marketing-page[data-marketing-page="home"] .ledger-flow i {
    transform: rotate(90deg);
    text-align: center;
  }

  body.marketing-page[data-marketing-page="home"] .app-scene {
    min-height: 760px;
  }

  body.marketing-page[data-marketing-page="home"] .app-media img {
    object-position: 56% center;
  }

  body.marketing-page[data-marketing-page="home"] .app-scene .scene-scrim {
    background: linear-gradient(0deg, rgb(6 7 10 / 96%), rgb(6 7 10 / 68%) 62%, rgb(6 7 10 / 54%));
  }

  body.marketing-page[data-marketing-page="home"] .app-copy .actions {
    align-items: stretch;
    flex-direction: column;
  }

  body.marketing-page[data-marketing-page="home"] .app-copy .actions .btn {
    width: 100%;
  }

  body.marketing-page[data-marketing-page="home"] .latest-posts-panel {
    padding: 22px 18px;
  }

  body.marketing-page:not(.home-page) .marketing-subpage-hero { min-height: calc(72svh - var(--site-header-height)); padding-block: 88px 44px; }

  body.marketing-page:not(.home-page) .marketing-hero-copy h1 { font-size: clamp(2.5rem, 12vw, 3.6rem); }

  body.marketing-page:not(.home-page) .sub-scene { padding: 64px 0 72px; }

  body.marketing-page:not(.home-page) .principle-list article,
  body.marketing-page:not(.home-page) .principle-list article + article { padding: 24px; }

  body.marketing-page[data-marketing-page="how"] :is(.journey-timeline .timeline-step, .dual-role-rail.subpage .role-lane, .proposal-meet) { padding: 22px; }

  body.marketing-page:not(.home-page) .notice-row { padding: 20px 22px; }

  body.marketing-page[data-marketing-page="safety"] .location-grid { padding: 20px; }

  body.marketing-page[data-marketing-page="safety"] .actions.centered .btn,
  body.marketing-page[data-marketing-page="about"] .actions.centered .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.marketing-page[data-marketing-page="home"] * {
    scroll-behavior: auto;
  }

  body.marketing-page:not(.home-page) :is(.principle-list article, .journey-timeline .timeline-step) { transition: none; }
}
