:root {
  --ink: #172033;
  --muted: #657187;
  --line: #dce3ee;
  --soft: #f5f8fc;
  --soft-blue: #eef4ff;
  --blue: #2d63df;
  --blue-dark: #1f4fbd;
  --violet: #7567e8;
  --green: #1e8159;
  --white: #fff;
  --dark: #111827;
  --shadow: 0 24px 70px rgba(30, 48, 83, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 5% 0%, rgba(66, 102, 235, .13), transparent 28rem),
    linear-gradient(180deg, #fafcff, #fff 38%, #f7f9fc);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.hidden { display: none !important; }
.shell { width: min(1320px, calc(100% - 32px)); margin: auto; }

header {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--blue), var(--violet));
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.brand strong, .brand small { display: block; }
.brand small { color: var(--muted); font-size: 12px; }
.version, .mode-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 11px;
  border: 1px solid #cadbff;
  border-radius: 999px;
  background: #eff5ff;
  color: #2357b5;
  font-size: 12px;
  font-weight: 750;
}

.hero {
  min-height: 100vh;
  padding: 52px 0 72px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 72px;
  align-items: center;
}
.eyebrow, .card-label {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
h1 { margin: 0; font-size: clamp(44px, 6vw, 74px); line-height: .98; letter-spacing: -.055em; }
.lead { max-width: 780px; margin: 26px 0 0; color: var(--muted); font-size: 19px; line-height: 1.65; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 34px 0; }
.principles div { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .72); }
.principles strong, .principles span { display: block; }
.principles span { margin-top: 7px; color: var(--muted); font-size: 13px; }
.btn { min-height: 46px; padding: 11px 18px; border: 0; border-radius: 11px; cursor: pointer; font-weight: 750; transition: transform .15s ease, background .15s ease; }
.btn:hover:not(:disabled) { transform: translateY(-1px); }
.btn:disabled { cursor: not-allowed; opacity: .45; }
.primary { color: #fff; background: var(--blue); box-shadow: 0 12px 24px rgba(45, 99, 223, .2); }
.primary:hover:not(:disabled) { background: var(--blue-dark); }
.secondary { border: 1px solid var(--line); background: #fff; }
.ghost { background: transparent; color: var(--muted); }
.full { width: 100%; }
.micro { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.hero-card { padding: 30px; border: 1px solid var(--line); border-radius: 28px; background: rgba(255, 255, 255, .9); box-shadow: var(--shadow); }
.mode-row { display: flex; gap: 15px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.mode-row p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.mode-icon { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--blue); color: #fff; font-weight: 800; }
.mode-icon.muted { background: #e7ebf2; color: #526075; }
.mode-icon.pale { background: #eeeafd; color: #5b50ba; }
.guardrail { margin-top: 22px; padding: 16px; border-radius: 12px; background: #f2f6ff; color: #34527d; font-size: 13px; }

.consultation { padding: 22px 0 56px; }
.result { height: 100vh; min-height: 700px; padding: 14px 0; overflow: hidden; }
.consultation-top, .result-head, .preview-head, .summary-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.status-line { display: flex; align-items: center; gap: 12px; }
.question-count { color: var(--muted); font-size: 12px; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.progress { height: 7px; margin: 20px 0 24px; overflow: hidden; border-radius: 999px; background: #e7ecf4; }
.progress div { height: 100%; background: linear-gradient(90deg, var(--blue), var(--violet)); transition: width .2s; }

.chat-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 24px; align-items: start; }
.chat-panel {
  height: min(760px, calc(100vh - 160px));
  min-height: 580px;
  overflow-y: auto;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)),
    radial-gradient(circle at 0 0, rgba(45, 99, 223, .08), transparent 22rem);
  box-shadow: var(--shadow);
  scroll-behavior: smooth;
}
.chat-thread { display: grid; gap: 24px; }
.message-row { display: flex; align-items: flex-start; gap: 12px; }
.message-content { min-width: 0; max-width: 820px; }
.avatar, .user-avatar {
  display: grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 800;
}
.avatar { color: #fff; background: linear-gradient(135deg, var(--blue), var(--violet)); }
.user-avatar { color: #34435a; background: #e9eef6; }
.message-meta { display: flex; align-items: center; gap: 8px; margin: 0 0 7px 3px; color: var(--muted); font-size: 11px; }
.message-meta strong { color: var(--ink); font-size: 12px; }
.assistant-bubble {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 6px 18px 18px 18px;
  background: #fff;
}
.active-message .assistant-bubble { border-color: #bfd0f9; box-shadow: 0 10px 30px rgba(45, 99, 223, .08); }
.answered-message .assistant-bubble { padding: 15px 18px; background: #f9fbfe; }
.greeting-title { margin: 0; font-size: 22px; line-height: 1.18; letter-spacing: -.03em; }
.question-title { margin: 0; font-size: 21px; line-height: 1.23; letter-spacing: -.025em; }
.answered-message .question-title { font-size: 16px; }
.question-help { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
.answered-message .question-help, .answered-message .answer-rule, .answered-message .message-evidence { display: none; }
.transition-line { margin: 0 0 10px; color: #34527d; font-size: 12px; font-weight: 650; }
.answer-rule { display: flex; align-items: center; gap: 8px; margin-top: 16px; }
.answer-rule span, .answer-rule small { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 750; }
.answer-rule span { color: #2855a8; background: #eff5ff; }
.answer-rule small { color: #6d7584; background: #f1f3f6; }
.message-evidence { margin-top: 16px; border-top: 1px solid #edf0f5; padding-top: 12px; }
.message-evidence summary { cursor: pointer; color: var(--muted); font-size: 11px; font-weight: 700; }
.message-evidence div { margin-top: 9px; padding: 10px; border-radius: 10px; background: var(--soft); }
.message-evidence strong { color: var(--green); font-size: 11px; }
.message-evidence p { margin: 4px 0 0; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.user-row { justify-content: flex-end; }
.user-row .message-content { max-width: min(680px, 82%); }
.user-meta { justify-content: flex-end; margin-right: 3px; }
.user-bubble { padding: 13px 16px; border-radius: 18px 6px 18px 18px; color: #fff; background: var(--blue); font-size: 14px; white-space: pre-wrap; }

.answer-composer { margin-top: 18px; }
.answer-controls { display: grid; gap: 10px; }
.response-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.response-chip {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 66px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.response-chip:hover { border-color: #b4c3dc; }
.response-chip.active { border-color: var(--blue); background: var(--soft-blue); box-shadow: 0 0 0 3px rgba(45, 99, 223, .09); }
.response-chip > span:last-child { min-width: 0; }
.response-chip strong, .response-chip small { display: block; }
.response-chip strong { font-size: 13px; line-height: 1.25; }
.response-chip small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.chip-check {
  display: grid;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid #c8d1df;
  border-radius: 7px;
  color: transparent;
  background: #fff;
  font-size: 9px;
}
.response-chip.active .chip-check { border-color: var(--blue); color: #fff; background: var(--blue); }
.own-answer { margin-top: 12px; }
.own-answer label { display: block; color: #445168; font-size: 11px; font-weight: 750; }
.own-answer textarea {
  width: 100%;
  min-height: 64px;
  margin-top: 6px;
  padding: 10px 12px;
  resize: vertical;
  border: 1px solid #cbd4e2;
  border-radius: 11px;
  outline: none;
}
.own-answer textarea:focus, .field-card input:focus, .field-card select:focus, .gate input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(45, 99, 223, .1); }
.composer-note { margin: 9px 0 0; color: var(--muted); font-size: 10px; }
.composer-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.send-answer { min-height: 42px; padding: 9px 16px; }
.composer-error { text-align: right; }
.field-card { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--soft); }
.field-card label { display: block; font-size: 12px; font-weight: 750; }
.field-card input, .field-card select { width: 100%; height: 46px; margin-top: 7px; padding: 0 12px; border: 1px solid #cbd4e2; border-radius: 9px; background: #fff; outline: none; }
.compound { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.prefix-wrap { position: relative; }
.prefix-wrap span { position: absolute; left: 13px; top: 21px; color: var(--muted); }
.prefix-wrap input { padding-left: 29px; }
.error { display: block; min-height: 17px; margin: 5px 0; color: #b42318; font-size: 11px; }
.typing-row { display: flex; align-items: center; gap: 12px; margin-top: 22px; }
.typing-bubble { display: flex; gap: 5px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 6px 18px 18px 18px; background: #fff; }
.typing-bubble span { width: 6px; height: 6px; border-radius: 50%; background: #9ba7b9; animation: typing 1s infinite ease-in-out; }
.typing-bubble span:nth-child(2) { animation-delay: .14s; }
.typing-bubble span:nth-child(3) { animation-delay: .28s; }
@keyframes typing { 0%, 70%, 100% { transform: translateY(0); opacity: .45; } 35% { transform: translateY(-4px); opacity: 1; } }
.chat-system-error { margin: 16px 50px; padding: 12px 14px; border: 1px solid #f1b6b2; border-radius: 11px; color: #9f2e27; background: #fff2f1; font-size: 12px; }

.chat-side { position: sticky; top: 18px; display: grid; gap: 12px; }
.side-card { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .82); }
.side-card h3 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.side-card p:not(.card-label) { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.side-card ol { margin: 0; padding-left: 20px; color: var(--muted); font-size: 12px; }
.side-card li { margin: 8px 0; }
.side-card.subtle { background: #f5f8fc; }

.loading { width: min(700px, 100%); margin: 13vh auto; padding: 60px; border: 1px solid var(--line); border-radius: 26px; background: #fff; text-align: center; box-shadow: var(--shadow); }
.spinner { width: 52px; height: 52px; margin: 0 auto 24px; border: 5px solid #e7ecf4; border-top-color: var(--blue); border-radius: 50%; animation: spin .9s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.loading h2 { font-size: 32px; letter-spacing: -.04em; }
.loading > p:last-child { color: var(--muted); }

.result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 370px);
  gap: 18px;
  height: 100%;
  align-items: stretch;
}
.result-scroll {
  min-width: 0;
  height: 100%;
  overflow-y: auto;
  padding: 4px 10px 24px 2px;
  scrollbar-gutter: stable;
}
.result-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  max-height: 100%;
  overflow-y: auto;
  padding: 4px 2px 18px 0;
}
.result-head { align-items: flex-end; margin-bottom: 18px; }
.result-head h1 { font-size: clamp(34px, 4vw, 50px); }
.result-head .lead { max-width: 760px; margin-top: 14px; font-size: 16px; line-height: 1.5; }
.panel, .metric, .growth { border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.consultation-summary-panel { margin-top: 0 !important; }
.summary-heading { align-items: center; }
.summary-heading h2 { margin: 0; font-size: 24px; }
.consultation-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.summary-item { min-width: 0; padding: 11px; border-radius: 11px; background: var(--soft); }
.summary-item span, .summary-item strong { display: block; }
.summary-item span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.summary-item strong { margin-top: 4px; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.metric-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 10px; margin-top: 10px; }
.metric { min-height: 132px; padding: 17px; }
.primary-metric { color: #fff; border-color: transparent; background: linear-gradient(135deg, #245fe2, #7267e8); }
.metric span, .metric strong, .metric small { display: block; }
.metric span { color: var(--muted); font-size: 11px; }
.primary-metric span, .primary-metric small { color: rgba(255, 255, 255, .78); }
.metric strong { margin: 18px 0 7px; font-size: clamp(24px, 3vw, 34px); line-height: 1; letter-spacing: -.045em; }
.metric small { color: var(--muted); font-size: 11px; }
.growth { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; margin-top: 10px; padding: 18px; background: #f1f7ff; }
.growth h2 { margin: 0; font-size: 25px; letter-spacing: -.04em; }
.growth > p { color: var(--muted); font-size: 12px; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.panel { margin-top: 10px; padding: 19px; }
.panel h2 { margin: 0 0 9px; font-size: 23px; line-height: 1.12; letter-spacing: -.035em; }
.panel > p:not(.card-label):not(.subheading):not(.disclaimer) { color: var(--muted); font-size: 13px; }
.panel ul { margin: 0; padding: 0; list-style: none; }
.panel li { position: relative; padding: 8px 0 8px 24px; border-bottom: 1px solid #edf0f5; font-size: 12px; }
.panel li:last-child { border-bottom: 0; }
.panel li::before { position: absolute; left: 0; color: var(--green); content: "✓"; font-weight: 800; }
.path-grid, .case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.path-card, .case-card { padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.path-card h3, .case-card h3 { margin: 0 0 6px; font-size: 15px; }
.path-card p, .case-card p { color: var(--muted); font-size: 11px; }
.case-card a { color: var(--blue); font-size: 11px; font-weight: 750; text-decoration: none; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { padding: 6px 9px; border-radius: 999px; background: #eff5ff; color: #2855a8; font-size: 10px; font-weight: 700; }
.subheading { margin-top: 17px; font-size: 12px; font-weight: 750; }
.disclaimer { color: var(--muted); font-size: 11px; }
.assumptions summary, .previews summary { cursor: pointer; font-weight: 750; font-size: 12px; }
.assumptions h3 { margin-top: 18px; font-size: 16px; }
.gate {
  display: block;
  margin: 0;
  padding: 21px;
  border-radius: 22px;
  background: var(--dark);
  color: #fff;
  box-shadow: var(--shadow);
}
.gate h2 { margin: 0; font-size: 27px; line-height: 1.08; letter-spacing: -.04em; }
.gate-copy > p:not(.eyebrow) { margin: 12px 0 0; color: #aeb8c7; font-size: 12px; }
.gate form { margin-top: 18px; padding: 17px; border-radius: 15px; background: #fff; color: var(--ink); }
.gate label:not(.consent) { display: block; margin-top: 9px; font-size: 11px; font-weight: 750; }
.gate label:not(.consent):first-child { margin-top: 0; }
.gate input:not([type=checkbox]) { width: 100%; height: 40px; margin-top: 5px; padding: 0 10px; border: 1px solid #cbd4e2; border-radius: 8px; outline: none; }
.consent { display: flex; gap: 8px; margin: 13px 0; color: var(--muted); font-size: 10px; }
.gate .error { min-height: 13px; margin: 3px 0; font-size: 10px; }
.gate .btn { min-height: 42px; }
.gate .micro { margin-top: 9px; font-size: 10px; }
.previews { margin-top: 10px; padding: 19px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.previews details { margin-top: 14px; }
.email { margin-top: 9px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfe; }
.email > div { display: grid; grid-template-columns: 68px 1fr; gap: 10px; padding: 7px 14px; background: #fff; }
.email span { color: var(--muted); font-size: 10px; }
.email pre { margin: 0; padding: 16px; white-space: pre-wrap; word-break: break-word; color: #344054; font: 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.result-actions { display: flex; justify-content: center; margin-top: 14px; }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; }
  .chat-layout { grid-template-columns: 1fr; }
  .chat-side { position: static; grid-template-columns: repeat(3, 1fr); }
  .chat-panel { height: auto; max-height: none; min-height: 600px; }
  .result { height: auto; min-height: 0; overflow: visible; }
  .result-layout { grid-template-columns: 1fr; height: auto; }
  .result-scroll { height: auto; overflow: visible; padding-right: 0; }
  .result-sidebar { position: static; max-height: none; overflow: visible; padding: 0 0 18px; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .primary-metric { grid-column: 1 / -1; }
  .path-grid, .case-grid { grid-template-columns: 1fr 1fr; }
  .consultation-summary { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .shell { width: calc(100% - 24px); }
  .version { font-size: 10px; }
  .hero { padding-top: 35px; }
  .principles, .metric-grid, .two-col, .path-grid, .case-grid, .growth, .consultation-summary, .chat-side { grid-template-columns: 1fr; }
  h1 { font-size: 43px; }
  .consultation-top, .result-head, .preview-head, .summary-heading { display: block; }
  .top-actions { margin-top: 12px; flex-wrap: wrap; }
  .chat-panel { padding: 14px; border-radius: 18px; }
  .message-row { gap: 8px; }
  .avatar, .user-avatar { width: 32px; height: 32px; border-radius: 10px; font-size: 9px; }
  .message-content { max-width: calc(100% - 40px); }
  .user-row .message-content { max-width: calc(100% - 40px); }
  .assistant-bubble { padding: 15px; }
  .response-chips, .compound { grid-template-columns: 1fr; }
  .question-title { font-size: 19px; }
  .gate, .panel, .previews, .loading { padding: 18px; }
  .gate h2 { font-size: 32px; }
}

@media (min-width: 981px) {
  body.result-active { overflow: hidden; }
}

/* v0.9 report delivery pipeline */
.report-status{margin-top:10px;padding:11px 12px;border:1px solid var(--line,#d9e0ec);border-radius:10px;background:#f8faff;font-size:13px;line-height:1.4;color:#35415a}
.report-status.processing::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border:2px solid #b7c6e8;border-top-color:#2d62df;border-radius:50%;animation:report-spin .8s linear infinite;vertical-align:-1px}
.report-status.success{border-color:#b9dfc7;background:#f4fbf6;color:#176438}
.report-status.warning{border-color:#ead8a5;background:#fffbef;color:#73540a}
.report-status.error{border-color:#efc1c1;background:#fff6f6;color:#9c2626}
#download-pdf{margin-top:8px;text-align:center;text-decoration:none}
@keyframes report-spin{to{transform:rotate(360deg)}}

/* v0.9.1 gated public result */
.full-report-only{display:none !important}
.report-status{padding:9px 10px;font-size:12px}
@media(max-width:700px){.consultation-summary{grid-template-columns:1fr}}

/* v0.12.1 full-screen post-submit thank-you experience */
.thank-you-page {
  height: 100%;
  min-height: calc(100vh - 28px);
  overflow-y: auto;
  padding: clamp(28px, 5vw, 72px) 0;
}
.thank-you-page-inner {
  width: min(1120px, 100%);
  min-height: calc(100vh - 172px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: center;
}
.thank-you-page-inner:has(.thank-you-resources.hidden) {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}
.thank-you-main {
  max-width: 720px;
}
.thank-you-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 28px;
  border-radius: 50%;
  background: #e9f8ef;
  color: #167044;
  font-size: 28px;
  font-weight: 850;
}
.thank-you-main .eyebrow {
  margin-bottom: 14px;
}
.thank-you-main h1 {
  max-width: 820px;
  font-size: clamp(44px, 6vw, 76px);
  line-height: .98;
  letter-spacing: -.055em;
}
.thank-you-body {
  max-width: 690px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.65;
  white-space: pre-line;
}
.thank-you-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}
.thank-you-actions a {
  width: auto;
  min-width: 190px;
  text-align: center;
  text-decoration: none;
}
.thank-you-main #download-pdf {
  width: auto;
  min-width: 190px;
  margin-top: 10px;
}
.thank-you-resources {
  margin: 0;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--shadow);
}
.thank-you-resources h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.thank-you-resources > p:not(.card-label) {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.thank-you-resource-list {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.thank-you-resource-card {
  display: block;
  position: relative;
  padding: 16px 17px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  color: var(--ink);
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.thank-you-resource-card:hover {
  transform: translateY(-1px);
  border-color: #b9c9e7;
  background: #fff;
}
.thank-you-resource-card .resource-type {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.thank-you-resource-card strong {
  display: block;
  padding-right: 42px;
  font-size: 14px;
  line-height: 1.35;
}
.thank-you-resource-card small {
  display: block;
  margin-top: 6px;
  padding-right: 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.thank-you-resource-card .resource-arrow {
  display: block;
  margin-top: 10px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 750;
}
body.thank-you-active {
  overflow: hidden;
}

@media (max-width: 980px) {
  .thank-you-page {
    height: auto;
    min-height: 100vh;
    overflow: visible;
    padding: 48px 0 64px;
  }
  .thank-you-page-inner {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: start;
  }
  body.thank-you-active {
    overflow: auto;
  }
}

@media (max-width: 700px) {
  .thank-you-page {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 38px 18px 52px;
  }
  .thank-you-page-inner {
    gap: 30px;
  }
  .thank-you-main h1 {
    font-size: clamp(42px, 13vw, 58px);
  }
  .thank-you-body {
    font-size: 16px;
  }
  .thank-you-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .thank-you-actions a,
  .thank-you-main #download-pdf {
    width: 100%;
  }
  .thank-you-resources {
    padding: 21px;
    border-radius: 18px;
  }
}
