
:root {
  --ink: #172033;
  --muted: #64748b;
  --navy: #1b4f78;
  --purple: #6f3ca6;
  --purple-soft: #f3edf9;
  --cyan: #16a6b6;
  --cyan-soft: #e8f7f8;
  --line: #dbe3eb;
  --surface: #ffffff;
  --canvas: #f5f7fa;
  --yes: #23876d;
  --partial: #bf7b16;
  --no: #bd4d57;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, a { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; }

.app-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 12px clamp(20px, 4vw, 64px);
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(219, 227, 235, 0.95);
  backdrop-filter: blur(14px);
}

.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 11px;
  background: var(--navy);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

.brand strong, .brand small { display: block; }
.brand strong { font-size: 15px; letter-spacing: .02em; }
.brand small { margin-top: 2px; color: var(--purple); font-size: 12px; font-weight: 800; }

.header-actions { display: flex; align-items: center; gap: 20px; }
.answered-count { color: var(--muted); font-size: 14px; letter-spacing: .06em; }
.answered-count b { color: var(--navy); font-size: 21px; }

.reference-link {
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
  text-underline-offset: 4px;
}

.intro-view, .question-view, .report-view {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.intro-view {
  padding: clamp(66px, 9vw, 112px) 0 80px;
  text-align: center;
}

.eyebrow {
  color: var(--cyan);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
}

.intro-view h1, .report-heading h1 {
  margin: 18px 0 20px;
  color: var(--navy);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 3.5vw, 41px);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .025em;
}

.intro-view h1 {
  font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", system-ui, sans-serif;
}

.lead {
  max-width: 720px;
  margin: 0 auto;
  color: #435168;
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.9;
}

.guide-card {
  display: block;
  max-width: 850px;
  margin: 48px auto 36px;
  padding: 28px 32px;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 5px solid var(--cyan);
  border-radius: 6px;
  box-shadow: 0 18px 42px rgba(20, 54, 93, .07);
  text-align: left;
}

.guide-card h2 { margin: 0 0 8px; font-size: 19px; }
.guide-card p { margin: 0; color: #526176; font-size: 14px; line-height: 1.8; }

.answer-guide {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: none;
  margin: 24px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.guide-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: left;
}

.guide-option span {
  min-width: 54px;
  padding: 7px 8px;
  border-radius: 4px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.yes-guide span { background: var(--yes); }
.partial-guide span { background: var(--partial); }
.no-guide span { background: var(--no); }
.guide-option p { margin: 0; color: #526176; font-size: 12px; line-height: 1.55; }

.intro-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.intro-note { margin: 18px 0 0; color: #7a8798; font-size: 12px; }

.primary-button, .secondary-button, .back-button, .text-button {
  min-height: 52px;
  padding: 0 24px;
  border-radius: 5px;
  font-weight: 800;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
  min-width: 260px;
  color: #fff;
  background: var(--navy);
  border: 1px solid var(--navy);
  box-shadow: 0 12px 22px rgba(20, 54, 93, .16);
}

.primary-button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(20, 54, 93, .22); }
.primary-button:disabled { cursor: not-allowed; opacity: .42; }

.secondary-button, .back-button {
  color: var(--navy);
  background: #fff;
  border: 1px solid #b9c6d4;
}

.secondary-button:hover, .back-button:hover { background: #eef3f7; }
.button-link { display: inline-flex; align-items: center; text-decoration: none; }
.text-button { color: #65758a; background: transparent; border: 0; text-decoration: underline; text-underline-offset: 4px; }

.question-view { padding: 40px 0 72px; }
.progress-head { display: flex; justify-content: space-between; color: #6f7d90; font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.progress-head b { color: var(--navy); font-size: 15px; letter-spacing: .04em; }
.progress-track { height: 4px; margin: 12px 0 26px; overflow: hidden; background: #dfe6ed; }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--purple)); transition: width .25s ease; }

.question-card {
  padding: clamp(24px, 5vw, 58px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 22px 55px rgba(20, 54, 93, .08);
}

.question-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.question-meta span {
  padding: 6px 10px;
  color: var(--purple);
  background: var(--purple-soft);
  border-radius: 3px;
  font-size: 12px;
  font-weight: 800;
}

.question-card > h1 {
  margin: 26px 0 32px;
  color: var(--navy);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(15px, 1.68vw, 21px);
  line-height: 1.58;
}

.example-panel {
  padding: 24px 28px;
  background: #f2f8fa;
  border-left: 4px solid var(--cyan);
}

.example-title { display: flex; align-items: center; gap: 13px; }
.example-icon { display: grid; place-items: center; width: 36px; height: 36px; color: #fff; background: var(--cyan); border-radius: 50%; font-size: 13px; font-weight: 800; }
.example-title b, .example-title small { display: block; }
.example-title b { color: var(--navy); font-size: 15px; }
.example-title small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.example-panel ul { margin: 18px 0 0 48px; padding: 0; }
.example-panel li { margin: 9px 0; color: #435168; font-size: 14px; line-height: 1.65; }
.example-panel li::marker { color: var(--cyan); }

.answer-fieldset { margin: 34px 0 0; padding: 0; border: 0; }
.answer-fieldset legend { margin-bottom: 14px; color: var(--navy); font-size: 14px; font-weight: 800; }
.answer-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.answer-card {
  position: relative;
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 2px 12px;
  align-items: center;
  padding: 20px;
  background: #fff;
  border: 2px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
  transition: border .18s ease, background .18s ease, transform .18s ease;
}
.answer-card:hover { transform: translateY(-2px); }
.answer-card input { position: absolute; opacity: 0; pointer-events: none; }
.radio-dot { grid-row: 1 / 3; width: 20px; height: 20px; border: 2px solid #aeb9c7; border-radius: 50%; box-shadow: inset 0 0 0 4px #fff; }
.answer-card strong { font-size: 17px; }
.answer-card small { color: var(--muted); font-size: 11px; }
.answer-card.yes.selected { border-color: var(--yes); background: #eff8f5; }
.answer-card.partial.selected { border-color: var(--partial); background: #fff8eb; }
.answer-card.no.selected { border-color: var(--no); background: #fff1f2; }
.answer-card.yes.selected .radio-dot { background: var(--yes); border-color: var(--yes); }
.answer-card.partial.selected .radio-dot { background: var(--partial); border-color: var(--partial); }
.answer-card.no.selected .radio-dot { background: var(--no); border-color: var(--no); }

.question-actions { display: flex; justify-content: space-between; gap: 14px; margin-top: 34px; }
.next-button { min-width: 220px; }

.report-view { padding: 56px 0 80px; }
.report-heading { display: grid; grid-template-columns: 1fr 240px; gap: 40px; align-items: center; }
.report-heading h1 { margin: 12px 0; font-size: clamp(36px, 5vw, 58px); }
.report-heading p { color: var(--muted); }
.score-ring {
  display: grid;
  place-items: center;
  align-content: center;
  width: 220px;
  height: 220px;
  border: 12px solid var(--cyan);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 18px 48px rgba(20, 54, 93, .1);
}
.score-ring.mid { border-color: var(--partial); }
.score-ring.low { border-color: var(--no); }
.score-ring span { color: var(--muted); font-size: 12px; font-weight: 700; }
.score-ring strong { color: var(--navy); font-family: Georgia, serif; font-size: 62px; line-height: 1.05; }
.score-ring small { color: var(--muted); font-size: 12px; }

.score-summary { display: flex; justify-content: space-between; gap: 20px; margin: 36px 0 18px; padding: 20px 24px; background: #eff8f5; border-left: 5px solid var(--yes); }
.score-summary.mid { background: #fff8eb; border-color: var(--partial); }
.score-summary.low { background: #fff1f2; border-color: var(--no); }
.score-summary strong { color: var(--navy); }
.score-summary span { color: #526176; font-size: 13px; }

.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.summary-card { display: flex; justify-content: space-between; align-items: flex-end; min-height: 100px; padding: 18px; color: #fff; border-radius: 5px; }
.summary-card.yes { background: var(--yes); }
.summary-card.partial { background: var(--partial); }
.summary-card.no { background: var(--no); }
.summary-card.coverage { background: var(--navy); }
.summary-card span { font-size: 13px; font-weight: 700; }
.summary-card strong { font-family: Georgia, serif; font-size: 36px; line-height: 1; }
.summary-card small { margin-left: 3px; font-family: inherit; font-size: 12px; }

.report-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 26px 0 42px; }
.report-actions .primary-button { min-width: 150px; }

.result-list { background: #fff; border: 1px solid var(--line); }
.result-list-title { display: flex; justify-content: space-between; align-items: center; padding: 24px 28px; background: var(--navy); color: #fff; }
.result-list-title h2 { margin: 0; font-family: "Yu Mincho", serif; font-size: 22px; }
.result-list-title span { font-size: 11px; letter-spacing: .08em; }
.result-item { display: grid; grid-template-columns: 50px 1fr 92px; gap: 20px; padding: 28px; border-bottom: 1px solid var(--line); break-inside: avoid; }
.result-item:last-child { border-bottom: 0; }
.result-number { color: #b5c0cc; font-family: Georgia, serif; font-size: 24px; }
.result-topline { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.result-topline > span:first-child { color: var(--purple); font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.result-badge { min-width: 54px; padding: 5px 9px; border-radius: 3px; color: #fff; font-size: 11px; font-weight: 800; text-align: center; }
.result-badge.yes { background: var(--yes); }
.result-badge.partial { background: var(--partial); }
.result-badge.no, .result-badge.unanswered { background: var(--no); }
.result-content h3 { margin: 10px 0 16px; color: var(--navy); font-size: 16px; line-height: 1.65; }
.criteria-row { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 10px 12px; background: #f2f5f8; }
.criteria-row b, .result-example > b { color: #536176; font-size: 11px; }
.criteria-row span { color: #334155; font-size: 11px; line-height: 1.7; }
.result-example { display: grid; grid-template-columns: 70px 1fr; gap: 12px; margin-top: 12px; }
.result-example ul { margin: 0; padding-left: 17px; }
.result-example li { margin: 4px 0; color: #536176; font-size: 11px; line-height: 1.55; }
.result-score { display: grid; place-items: center; align-content: center; min-height: 92px; background: #f5f8fa; text-align: center; }
.result-score span, .result-score small { color: var(--muted); font-size: 10px; }
.result-score strong { color: var(--navy); font-family: Georgia, serif; font-size: 28px; }
.report-footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 24px; color: #718096; font-size: 10px; line-height: 1.6; }
.report-footer p { max-width: 760px; margin: 0; }

@media (max-width: 760px) {
  .app-header { min-height: 66px; padding: 10px 16px; }
  .brand-mark { width: 40px; height: 40px; }
  .brand strong { font-size: 12px; }
  .reference-link { display: none; }
  .intro-view, .question-view, .report-view { width: min(100% - 24px, 1120px); }
  .intro-view { padding-top: 48px; }
  .guide-card { grid-template-columns: 1fr; padding: 24px; }
  .answer-guide, .answer-options, .summary-grid { grid-template-columns: 1fr; }
  .question-card { padding: 24px 18px; }
  .example-panel { padding: 20px; }
  .example-panel ul { margin-left: 20px; }
  .question-actions { flex-direction: column-reverse; }
  .back-button, .next-button { width: 100%; }
  .report-heading { grid-template-columns: 1fr; text-align: center; }
  .score-ring { width: 190px; height: 190px; margin: auto; }
  .score-summary { flex-direction: column; }
  .result-item { grid-template-columns: 36px 1fr; padding: 22px 16px; }
  .result-score { grid-column: 2; grid-row: 2; min-height: 66px; }
  .criteria-row, .result-example { grid-template-columns: 1fr; }
  .report-footer { flex-direction: column; }
}

@media print {
  @page { size: A4 portrait; margin: 12mm; }
  body { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .no-print { display: none !important; }
  .report-view { width: 100%; padding: 0; }
  .report-heading { grid-template-columns: 1fr 150px; gap: 18px; }
  .report-heading h1 { font-size: 30px; }
  .score-ring { width: 140px; height: 140px; border-width: 8px; box-shadow: none; }
  .score-ring strong { font-size: 42px; }
  .score-summary { margin: 14px 0 10px; padding: 12px 16px; }
  .summary-card { min-height: 70px; padding: 12px; }
  .summary-card strong { font-size: 28px; }
  .result-list-title { padding: 14px 18px; }
  .result-item { grid-template-columns: 34px 1fr 70px; gap: 10px; padding: 14px 12px; }
  .result-content h3 { margin: 5px 0 8px; font-size: 12px; line-height: 1.45; }
  .criteria-row { padding: 6px 8px; }
  .result-example { margin-top: 6px; }
  .result-example li { font-size: 9px; }
  .report-footer { margin-top: 12px; }
}
  .brand-button,.reference-button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}
  .reference-button{text-decoration:underline;text-underline-offset:4px}
  .lp-brand img{display:block;width:128px;height:auto;border-radius:3px}
  .header-actions[hidden]{display:none!important}

  .intro-view.lp-view{width:100%;max-width:none;padding:0;background:#fbfdfd}
  .lp-view *{box-sizing:border-box}
  .lp-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 18%,rgba(0,160,139,.13),transparent 25%),linear-gradient(135deg,#fff 0%,#f7fbfb 62%,#edf8f5 100%)}
  .lp-hero::before{content:"";position:absolute;inset:0 auto 0 0;width:9px;background:linear-gradient(#00a08b,#137a9a)}
  .lp-hero-inner{width:min(1180px,calc(100% - 40px));min-height:650px;margin:auto;padding:78px 0 68px;display:grid;grid-template-columns:.86fr 1.14fr;gap:42px;align-items:center}
  .lp-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:#008f7a;font-size:12px;font-weight:900;letter-spacing:.1em}
  .lp-eyebrow span{padding:5px 10px;border-radius:999px;background:#e9f7f4}
  .lp-hero-copy h1{margin:0;color:#102f45;font-size:clamp(32px,3.55vw,51px);line-height:1.28;letter-spacing:-.045em;white-space:nowrap}
  .lp-hero-copy h1 em{color:#008f7a;font-style:normal;background:linear-gradient(transparent 73%,rgba(0,160,139,.18) 73%)}
  .lp-hero-copy>p{margin:26px 0 0;color:#587184;font-size:17px;line-height:1.95;font-weight:600}
  .lp-hero-copy>p strong{color:#ef8732}
  .lp-hero-actions{display:flex;align-items:center;gap:14px;margin-top:34px;flex-wrap:wrap}
  .lp-primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:0 27px;border:0;border-radius:11px;background:#008f7a;box-shadow:0 10px 24px rgba(0,143,122,.24);color:#fff;text-decoration:none;font-weight:900;cursor:pointer}
  .lp-primary b,.lp-secondary b{font-size:15px;font-weight:900;line-height:1.4}
  .lp-primary small,.lp-secondary small{font-size:12px;font-weight:700;color:#fff;line-height:1.4}
  .lp-primary{flex-direction:column;gap:3px;padding:12px 24px}
  .lp-secondary{flex-direction:column;gap:3px}
  .lp-check-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:18px;max-width:880px;margin:26px auto 0;text-align:left}
  .lp-card{display:flex;flex-direction:column;gap:9px;padding:24px;border-radius:14px;
    text-decoration:none;color:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.26);transition:transform .15s,box-shadow .15s}
  .lp-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.34)}
  .lp-card-sim{background:#00806d;border:1px solid rgba(255,255,255,.16)}
  .lp-card-det{background:#22608c;border:1px solid rgba(255,255,255,.22)}
  .lp-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .lp-card-top b{font-size:19px;font-weight:900;color:#fff}
  .lp-card-top i{font-style:normal;font-size:12px;font-weight:800;padding:4px 11px;
    border-radius:99px;background:rgba(255,255,255,.2);color:#fff}
  .lp-card-facts{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.82)}
  .lp-card-desc{font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.94)}
  .lp-card-go{margin-top:3px;font-size:14px;font-weight:900;color:#fff}
  .lp-hero-actions>small{color:#587184;font-size:12px;font-weight:700}
  .lp-stats{display:flex;gap:22px;margin-top:34px;padding-top:24px;border-top:1px solid #d7e5ea}
  .lp-stats>div{padding-right:22px;border-right:1px solid #d7e5ea}
  .lp-stats>div:last-child{border:0}
  .lp-stats strong{display:block;color:#102f45;font-size:23px;line-height:1.2}
  .lp-stats span{color:#587184;font-size:11px;font-weight:700}

  .lp-visual{position:relative;min-height:480px;overflow:hidden;border:1px solid #cfe3e2;border-radius:28px;background:rgba(233,247,244,.82);box-shadow:0 18px 50px rgba(16,47,69,.11)}
  .lp-visual::before,.lp-visual::after{content:"";position:absolute;border:1px solid rgba(19,122,154,.13);border-radius:50%}
  .lp-visual::before{width:360px;height:360px;top:-165px;right:-150px}
  .lp-visual::after{width:280px;height:280px;bottom:-150px;left:-135px}
  .lp-visual-title{position:absolute;top:30px;left:34px;color:#102f45;font-size:18px;font-weight:900}
  .lp-exchange{position:absolute;inset:88px 30px 32px;display:grid;grid-template-columns:24% 52% 24%;align-items:center;border:1px solid rgba(19,122,154,.16);border-radius:20px;background:rgba(255,255,255,.87)}
  .lp-actor{display:grid;justify-items:center;gap:14px;color:#102f45;text-align:center;font-size:16px;line-height:1.45;font-weight:900}
  .lp-building{position:relative;width:66px;height:58px;border-radius:4px 4px 7px 7px;background:#102f45;box-shadow:inset 0 -8px 0 rgba(255,255,255,.08)}
  .lp-building::before{content:"";position:absolute;inset:12px 12px 17px;background:linear-gradient(90deg,#fff 38%,transparent 38% 62%,#fff 62%) 0 0/100% 8px,linear-gradient(90deg,#fff 38%,transparent 38% 62%,#fff 62%) 0 100%/100% 8px;background-repeat:no-repeat;opacity:.83}
  .lp-building.lp-sme{background:#137a9a}
  .lp-exchange-center{align-self:stretch;padding:48px 6px;display:grid;grid-template-rows:1fr auto 1fr;align-items:center}
  .lp-flow{display:grid;align-content:center;gap:8px;text-align:center;font-size:13px;line-height:1.35;font-weight:900}
  .lp-flow strong{display:block;color:#102f45;font-size:16px}
  .lp-request{color:#ef8732}.lp-appeal{color:#008f7a}
  .lp-arrow{width:90%;height:3px;margin:auto;background:currentColor}
  .lp-arrow::after{content:"";display:block;width:10px;height:10px;margin-left:auto;transform:translate(1px,-3.5px) rotate(45deg);border-top:3px solid currentColor;border-right:3px solid currentColor}
  .lp-appeal .lp-arrow{transform:rotate(180deg)}
  .lp-star-badge{justify-self:center;min-width:190px;padding:14px 18px;border-radius:13px;background:linear-gradient(145deg,#102f45,#174d68);box-shadow:0 10px 25px rgba(16,47,69,.2);color:#fff;text-align:center;font-size:15px;font-weight:900}
  .lp-star-badge b{display:block;margin-top:2px;color:#ffc66f;font-size:26px;letter-spacing:.04em}

  .lp-section{padding:88px 0}
  .lp-section-inner{width:min(1080px,calc(100% - 40px));margin:auto}
  .lp-section-heading{max-width:760px;margin:0 auto 44px;text-align:center}
  .lp-section-heading>span{color:#008f7a;font-size:12px;font-weight:900;letter-spacing:.12em}
  .lp-section-heading h2{margin:10px 0 13px;color:#102f45;font-size:clamp(27px,3vw,39px);line-height:1.35;letter-spacing:-.025em}
  .lp-section-heading p{margin:0;color:#587184;font-size:14px}
  .lp-risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .lp-risk-grid article{min-height:210px;padding:30px 27px;border:1px solid #d7e5ea;border-radius:17px;background:#fff;box-shadow:0 8px 25px rgba(16,47,69,.05)}
  .lp-risk-grid i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff3e8;color:#ef8732;font-size:20px;font-style:normal;font-weight:900}
  .lp-risk-grid h3{margin:18px 0 8px;color:#102f45;font-size:18px}
  .lp-risk-grid p{margin:0;color:#587184;font-size:13px;line-height:1.8}
  .lp-steps-section{background:#f1f8f7}
  .lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .lp-steps article{position:relative;padding:30px;border-radius:18px;background:#fff}
  .lp-steps article:not(:last-child)::after{content:"›";position:absolute;top:50%;right:-18px;z-index:2;color:#93b5bc;font-size:37px;transform:translateY(-50%)}
  .lp-steps article>span{color:#008f7a;font-size:12px;font-weight:900;letter-spacing:.12em}
  .lp-steps h3{margin:9px 0;color:#102f45;font-size:20px}
  .lp-steps p{margin:0;color:#587184;font-size:13px}
  .lp-check{padding:84px 20px;background:#102f45;color:#fff;text-align:center}
  .lp-check h2{margin:0;font-size:clamp(28px,3.3vw,44px);line-height:1.4}
  .lp-check>p{margin:16px auto 29px;color:#c9d8df;font-size:14px}
  .lp-check .lp-primary{background:#00a08b}
  .lp-check>small{display:block;max-width:900px;margin:23px auto 0;color:#9fb5c0;font-size:11px}

  @media(max-width:900px){
    .lp-hero-inner{grid-template-columns:1fr;padding-top:55px}
    .lp-visual{min-height:440px}
    .lp-risk-grid,.lp-steps{grid-template-columns:1fr}
    .lp-steps article:not(:last-child)::after{display:none}
  }
  @media(max-width:560px){
    .lp-hero-inner{width:min(100% - 28px,1180px);gap:44px;padding-top:44px}
    .lp-hero-copy h1{font-size:35px}
    .lp-brand img{width:96px}
    .lp-hero-copy h1{white-space:normal}
    .lp-eyebrow{align-items:flex-start;flex-direction:column}
    .lp-stats{gap:12px}
    .lp-stats>div{padding-right:12px}
    .lp-stats strong{font-size:19px}
    .lp-exchange{inset:84px 14px 24px}
    .lp-building{width:48px;height:44px}
    .lp-actor{font-size:9px}
    .lp-star-badge{min-width:124px;font-size:9px}
    .lp-star-badge b{font-size:16px}
    .lp-flow{font-size:8px}.lp-flow strong{font-size:9px}
  }
  
  .lp-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:12px 24px;
    border:0;border-radius:11px;background:#22608c;color:#fff;text-decoration:none;font-weight:800;
    box-shadow:0 10px 24px rgba(34,96,140,.26)}
  .lp-secondary:hover{background:#2a719f}
  .lp-hero-actions{flex-wrap:wrap}
  .lp-hero-actions small b{color:#0d5c50}
.brand img{height:39px}
