:root {
  --ink: #102536;
  --ink-2: #334958;
  --navy: #0c253c;
  --navy-2: #163b55;
  --mint: #36cfae;
  --mint-dark: #149879;
  --mint-soft: #e6f8f3;
  --cream: #f5f7f3;
  --white: #ffffff;
  --line: #dce5e1;
  --line-dark: #c7d4cf;
  --warning: #b86f0c;
  --warning-soft: #fff5df;
  --danger: #b93845;
  --danger-soft: #fff0f1;
  --success: #18795f;
  --success-soft: #e8f7f1;
  --muted: #6b7f8b;
  --shadow: 0 18px 50px rgba(15, 41, 60, 0.11);
  --shadow-sm: 0 8px 24px rgba(15, 41, 60, 0.08);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --container: 1180px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

/* Evergreen resources and official-link content */
.resource-hero-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}.resource-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.resource-feature-card{position:relative;min-height:390px;padding:38px;border:1px solid #cfdde8;border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(20,52,73,.06)}.resource-feature-primary{border-color:#a9c4ff;background:linear-gradient(145deg,#f4f8ff,#fff)}.resource-card-number{position:absolute;top:28px;right:30px;color:#a7b9c8;font-size:12px;font-weight:900;letter-spacing:.12em}.resource-feature-card h2{margin:12px 0 14px;color:var(--navy);font-size:29px;line-height:1.35}.resource-feature-card p{color:#536f80;line-height:1.9}.resource-feature-card ul{margin:22px 0 28px;padding:0;display:grid;gap:10px;list-style:none}.resource-feature-card li{position:relative;padding-left:22px;color:#24445c;font-size:14px}.resource-feature-card li::before{content:"✓";position:absolute;left:0;color:var(--mint-dark);font-weight:900}.resource-principles{padding:42px;display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;border:1px solid #d4e1e8;border-radius:18px;background:#fff}.resource-principles h2{margin:9px 0;color:var(--navy);font-size:30px}.resource-principles ol{margin:0;padding:0;display:grid;gap:15px;list-style:none;counter-reset:resource-step}.resource-principles li{position:relative;padding:4px 0 18px 54px;border-bottom:1px solid #e2eaee;counter-increment:resource-step}.resource-principles li:last-child{padding-bottom:4px;border-bottom:0}.resource-principles li::before{content:counter(resource-step);position:absolute;left:0;top:0;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--brand-blue);font-size:11px;font-weight:900}.resource-principles strong,.resource-principles span{display:block}.resource-principles strong{color:var(--navy);font-size:15px}.resource-principles span{margin-top:5px;color:#5b7180;font-size:13px;line-height:1.75}.resource-conversion-card{margin:32px 0;padding:30px 32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;border:1px solid #a9c4ff;border-radius:16px;background:linear-gradient(135deg,#eef5ff,#f6fcfa)}.resource-conversion-card h2{margin:8px 0;color:var(--navy);font-size:25px}.resource-conversion-card p{margin:0;color:#536f80;line-height:1.8}.resource-conversion-card>div:last-child{display:grid;gap:10px;min-width:260px}.resource-home-section{background:#f4f8fc}.resource-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.resource-home-card{padding:30px 32px;border:1px solid #cadbe6;border-radius:15px;color:inherit;background:#fff;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.resource-home-card:hover{transform:translateY(-3px);border-color:#8eb2ff;box-shadow:0 16px 36px rgba(19,56,82,.09)}.resource-home-card>span{color:var(--brand-blue);font-size:10px;font-weight:900;letter-spacing:.12em}.resource-home-card h3{margin:13px 0 10px;color:var(--navy);font-size:22px}.resource-home-card p{margin:0 0 18px;color:#597080;font-size:14px;line-height:1.8}.resource-home-card strong{color:var(--brand-blue);font-size:13px}.resource-home-more{display:inline-flex;margin-top:24px}.document-guide-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:52px;align-items:start}.guide-toc{position:sticky;top:104px;padding:24px;display:grid;gap:4px;border:1px solid #d6e2e9;border-radius:14px;background:#f8fbfd}.guide-toc strong{margin-bottom:9px;color:var(--navy);font-size:14px}.guide-toc a{padding:8px 0;color:#4d687a;font-size:12px;text-decoration:none}.guide-toc a:hover{color:var(--brand-blue)}.guide-content{min-width:0}.guide-article{padding:0 0 52px;margin:0 0 52px;border-bottom:1px solid #dce5ea;scroll-margin-top:110px}.guide-article h2{margin:10px 0 18px;color:var(--navy);font-size:31px;line-height:1.35}.guide-article>p{color:#526d7e;font-size:15px;line-height:1.95}.guide-article-accent{padding:34px;border:1px solid #afc8ff;border-radius:16px;background:#f4f8ff}.guide-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.guide-check-grid article{padding:22px;border:1px solid #d7e3e9;border-radius:12px;background:#fff}.guide-check-grid strong{display:block;color:var(--navy);font-size:15px}.guide-check-grid p{margin:8px 0 0;color:#5c7180;font-size:13px;line-height:1.75}.guide-field-list{margin:24px 0 16px;padding:20px;display:flex;flex-wrap:wrap;gap:8px;border-radius:12px;background:#fff}.guide-field-list strong{width:100%;margin-bottom:4px;color:var(--navy);font-size:13px}.guide-field-list span{padding:7px 10px;border-radius:6px;color:#28506c;background:#eaf2ff;font-size:12px;font-weight:700}.guide-note{padding:16px 18px;border-left:4px solid var(--mint-dark);background:#eef9f5}.guide-document-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.guide-document-cards article{padding:22px 24px;border:1px solid #d7e3e9;border-radius:12px;background:#fff}.guide-document-cards h3{margin:0 0 9px;color:var(--navy);font-size:16px}.guide-document-cards p{margin:0;color:#5b7180;font-size:13px;line-height:1.8}.document-overview-table{overflow-x:auto;border:1px solid #d4e1e8;border-radius:13px}.document-overview-table table{width:100%;min-width:690px;border-collapse:collapse}.document-overview-table th,.document-overview-table td{padding:15px 17px;border-bottom:1px solid #e2eaef;text-align:left;font-size:13px;line-height:1.55}.document-overview-table th{color:#29475d;background:#f2f7fa}.document-overview-table td{color:#526c7c}.document-overview-table td:first-child{color:var(--navy);font-weight:800}.document-overview-table tr:last-child td{border-bottom:0}.official-link-primary{padding:34px 38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;border-radius:17px;color:#fff;background:linear-gradient(135deg,#123d67,#245bb5)}.official-link-primary h2{margin:9px 0 10px;color:#fff;font-size:30px}.official-link-primary p{margin:0 0 8px;color:#dce8f8;line-height:1.8}.official-link-primary small{color:#b9cce7}.official-link-primary .section-kicker{color:#91baff}.official-links-section{margin-top:58px;scroll-margin-top:110px}.official-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.official-link-card{min-height:260px;padding:24px;display:flex;flex-direction:column;border:1px solid #d2e0e8;border-radius:14px;background:#fff}.official-link-code{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:var(--brand-blue);background:#edf4ff;font-size:12px;font-weight:900}.official-link-card h3{margin:15px 0 8px;color:var(--navy);font-size:19px}.official-link-card p{margin:0 0 12px;color:#5a7180;font-size:13px;line-height:1.7}.official-link-domain{display:block;color:#778e9d;font-size:10px;line-height:1.5}.official-link-card a{margin-top:auto;padding-top:18px;color:var(--brand-blue);font-size:13px;font-weight:900;text-decoration:none}.official-link-meta{margin:20px 0 0;color:#758895;font-size:11px;line-height:1.75}.official-link-steps{margin:25px 0 0;padding:0;display:grid;gap:12px;list-style:none;counter-reset:official-step}.official-link-steps li{position:relative;padding:18px 20px 18px 64px;border:1px solid #d8e3e9;border-radius:11px;background:#fff;counter-increment:official-step}.official-link-steps li::before{content:counter(official-step);position:absolute;left:19px;top:18px;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--brand-blue);font-size:10px;font-weight:900}.official-link-steps strong,.official-link-steps span{display:block}.official-link-steps strong{color:var(--navy);font-size:14px}.official-link-steps span{margin-top:4px;color:#5b7180;font-size:12px;line-height:1.7}.resource-final-cta{padding:68px 0;color:#fff;background:linear-gradient(135deg,#0e3457,#176092)}.resource-final-cta .container{text-align:center}.resource-final-cta h2{margin:12px 0;color:#fff;font-size:38px;line-height:1.35}.resource-final-cta p{max-width:720px;margin:0 auto 26px;color:#dceafa;font-size:15px;line-height:1.8}.resource-final-cta .container>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.resource-dark-button{color:#fff!important;border-color:rgba(255,255,255,.55)!important;background:transparent!important}
@media(max-width:980px){.resource-hub-grid,.resource-principles,.document-guide-layout{grid-template-columns:1fr}.guide-toc{position:static;grid-template-columns:repeat(3,1fr)}.guide-toc strong{grid-column:1/-1}.official-link-grid{grid-template-columns:1fr 1fr}.guide-check-grid{grid-template-columns:1fr 1fr}.resource-principles{gap:28px}}
@media(max-width:760px){.resource-hero-actions,.resource-home-grid,.guide-document-cards,.guide-check-grid,.official-link-grid{display:grid;grid-template-columns:1fr}.resource-hero-actions .button{width:100%}.resource-feature-card{min-height:0;padding:28px 24px}.resource-feature-card h2{font-size:24px}.resource-principles{padding:28px 22px}.resource-conversion-card{padding:25px 22px;grid-template-columns:1fr}.resource-conversion-card>div:last-child{min-width:0}.resource-conversion-card .button{width:100%}.guide-toc{grid-template-columns:1fr 1fr}.guide-article{padding-bottom:38px;margin-bottom:38px}.guide-article h2{font-size:25px}.guide-article-accent{padding:25px 22px}.official-link-primary{padding:28px 24px;grid-template-columns:1fr}.official-link-primary .button{width:100%}.official-link-card{min-height:225px}.resource-final-cta{padding:52px 0}.resource-final-cta h2{font-size:30px}.resource-final-cta .button{width:100%}}

/* v0.5.163 — passport capture and MRZ retry guidance */
.passport-capture-guide{margin:0 18px 14px 78px;padding:12px 14px;display:grid;gap:4px;border-left:3px solid #2f6bff;border-radius:7px;background:#f2f7ff}.passport-capture-guide strong{color:#173e70;font-size:12px}.passport-capture-guide span{color:#536f86;font-size:11px;line-height:1.65}.passport-mrz-retry{margin:0 18px 14px 78px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #efc77d;border-radius:9px;background:#fff8ea}.passport-mrz-retry>div{display:grid;gap:4px}.passport-mrz-retry strong{color:#704c0f;font-size:12px}.passport-mrz-retry span{color:#806a42;font-size:11px;line-height:1.6}.passport-mrz-retry .file-label{flex:0 0 auto;min-height:38px;padding:0 14px;border-color:#dfa540;color:#714906;background:#fff}
.passport-manual-recovery{margin:0 18px 14px 78px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #9bcdbf;border-radius:9px;background:#f1fbf7}.passport-manual-recovery>div{display:grid;gap:4px}.passport-manual-recovery strong{color:#0d6551;font-size:12px}.passport-manual-recovery span{color:#52776e;font-size:11px;line-height:1.6}.passport-manual-recovery .button{flex:0 0 auto}
.passport-review-guidance{margin:12px 17px;padding:14px;display:grid;gap:7px;border:1px solid #9bcdbf;border-radius:9px;background:#f1fbf7}.passport-review-guidance strong{color:#0d6551;font-size:11px}.passport-review-guidance p{margin:0;color:#52776e;font-size:9px;line-height:1.7}.passport-review-guidance .button{width:fit-content;margin-top:3px}
@media(max-width:760px){.passport-capture-guide,.passport-mrz-retry,.passport-manual-recovery{margin:0 15px 14px}.passport-mrz-retry,.passport-manual-recovery{align-items:stretch;flex-direction:column}.passport-mrz-retry .file-label,.passport-manual-recovery .button{width:100%}.passport-review-guidance .button{width:100%}}

.public-test-card.is-incomplete { border-color:#e9a5ad; background:#fffafb; }
.public-test-card.is-incomplete .doc-icon { color:#a52d3c; background:#fdecef; }
.doc-state.error { color:#a52d3c; background:#fdecef; }
.document-read-targets { margin:8px 0 0!important; padding:7px 9px; display:flex; flex-wrap:wrap; gap:5px 8px; border-left:2px solid #8cb2ff; border-radius:0 5px 5px 0; color:#536b7a!important; background:#f4f7fb; font-size:8px!important; line-height:1.55; }
.document-read-targets strong { flex:0 0 auto; color:#275ec9; font-size:8px; }

/* v0.5.163 — official-notice support purchase, limits and browser-only organizer */
.notice-support-hero .subpage-hero-inner { max-width:900px; }
.notice-purchase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.notice-purchase-card { display:flex; flex-direction:column; gap:14px; padding:28px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow-soft); }
.notice-purchase-card.is-addon { border-color:#9bded0; background:linear-gradient(145deg,#fff,#f0fbf8); }
.notice-purchase-card > span { color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.08em; }
.notice-purchase-card h3 { margin:0; font-size:22px; }
.notice-purchase-card > strong { color:var(--ink); font-size:30px; }
.notice-purchase-card ul { margin:0 0 4px; padding-left:20px; color:var(--muted); line-height:1.8; }
.notice-purchase-button { margin-top:auto; width:100%; }
.notice-application-label { font-size:13px; font-weight:800; }
#noticeApplication { width:100%; min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); }
.notice-purchase-gate { max-width:720px; margin:16px auto 0; padding:16px 18px; display:grid; gap:4px; border:1px solid #c8d9e5; border-radius:14px; background:#f4f8fb; color:var(--muted); font-size:13px; line-height:1.7; }
.notice-purchase-gate strong { color:var(--ink); font-size:14px; }
.notice-tool-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); gap:26px; align-items:start; }
.notice-tool-layout > div,.notice-boundary-card { padding:30px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow-soft); }
.notice-tool-layout label[for="noticePageText"] { display:block; margin:20px 0 8px; font-weight:800; }
.notice-access-status { margin:0 0 18px; }
.has-active-notice-access .notice-support-hero { display:none; }
.has-active-notice-access .notice-tool-section { padding-top:20px; }
#noticePageText { width:100%; min-height:220px; resize:vertical; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fbfdff; color:var(--ink); font:inherit; line-height:1.8; }
.notice-support-consent { display:flex; gap:10px; margin-top:20px; padding:14px; border-radius:12px; background:#f4f8ff; font-size:13px; line-height:1.6; }
.notice-support-consent input { margin-top:4px; }
.notice-tool-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; margin-top:12px; }
.notice-tool-actions small { margin-right:auto; color:var(--muted); }
.notice-boundary-card h3 { margin:0 0 8px; }
.notice-boundary-card h3:nth-of-type(2) { margin-top:24px; color:#b7283e; }
.notice-boundary-card ul { padding-left:20px; color:var(--muted); line-height:1.8; }
.notice-boundary-card p { padding:14px; border-left:4px solid #d44558; border-radius:10px; background:#fff1f3; color:#8f2636; font-size:13px; line-height:1.7; }
.notice-context-form { margin:22px 0 0; padding:18px; border:1px solid #c9d9ee; border-radius:14px; background:#f7faff; }
.notice-context-form legend { padding:0 7px; color:var(--navy); font-size:15px; font-weight:850; }
.notice-context-form > p { margin:0 0 14px; color:var(--ink-2); font-size:13px; line-height:1.7; }
.notice-context-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.notice-context-fields label { display:flex; flex-direction:column; gap:7px; color:var(--navy); font-size:13px; font-weight:750; }
.notice-context-fields select,.notice-context-fields input { width:100%; min-height:44px; padding:0 11px; border:1px solid #c8d6e3; border-radius:10px; background:#fff; color:var(--ink); font:inherit; font-size:14px; }
.notice-context-local { margin:12px 0 0!important; color:var(--muted)!important; font-size:11px!important; }

@media (max-width:760px) {
  .notice-purchase-grid,.notice-tool-layout { grid-template-columns:1fr; }
  .notice-purchase-card,.notice-tool-layout > div,.notice-boundary-card { padding:20px; border-radius:18px; }
  .has-active-notice-access .notice-tool-section { padding-top:18px; }
  .notice-tool-actions .button { width:100%; }
}

/* v0.5.163 — authenticated header label and accessible mobile navigation */
.header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-actions > .button { white-space: nowrap; }
.header-menu-toggle {
  width: 42px;
  height: 42px;
  display: none;
  padding: 0;
  border: 1px solid var(--line-dark);
  border-radius: 10px;
  background: var(--white);
  color: var(--navy);
  cursor: pointer;
  place-content: center;
  gap: 5px;
}
.header-menu-toggle span {
  width: 19px;
  height: 2px;
  display: block;
  border-radius: 2px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}
.header-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.header-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.header-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.header-menu-toggle:focus-visible,
.top-nav a:focus-visible {
  outline: 3px solid rgba(34, 87, 231, .28);
  outline-offset: 3px;
}

@media (max-width: 1100px) {
  .site-header .header-inner {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }
  .header-inner > .top-nav {
    position: absolute;
    top: 100%;
    left: -14px;
    right: -14px;
    z-index: 2;
    display: none;
    padding: 10px 14px 16px;
    flex-direction: column;
    gap: 2px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line-dark);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 18px 36px rgba(23, 53, 77, .14);
    backdrop-filter: blur(16px);
  }
  .header-inner > .top-nav.is-open { display: flex; }
  .top-nav a {
    min-height: 46px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 8px;
    font-size: 14px;
  }
  .top-nav a:hover,
  .top-nav a[aria-current="page"] { background: var(--blue-soft); color: var(--blue-dark); }
  .header-menu-toggle { display: grid; }
  .header-actions > .button { white-space: nowrap; }
}

@media (max-width: 760px) {
  .header-inner > .top-nav { display: none; }
  .header-inner > .top-nav.is-open { display: flex; }
  .header-actions { gap: 8px; }
  .header-actions > .button { min-height: 38px; padding: 0 13px; font-size: 11px; }
}

@media (max-width: 380px) {
  .brand-lockup small { display: none; }
  .header-actions > .button { padding: 0 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .header-menu-toggle span { transition: none; }
}

/* Notice review add-on: mechanical organization only, no drafting or advice */
.notice-support-upsell {
  margin-top: 32px;
  padding: 24px;
  border: 1px solid #bcd5ff;
  border-radius: 16px;
  background: linear-gradient(145deg, #f5f9ff, #eef5ff 58%, #f5fbf9);
  box-shadow: 0 14px 34px rgba(34, 87, 231, .09);
}
.notice-support-copy { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.notice-support-copy h2 { margin: 7px 0 0; color: var(--navy); font-size: 22px; letter-spacing: -.02em; }
.addon-label { color: var(--brand-blue); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.addon-status { padding: 6px 9px; border-radius: 999px; color: #6b5311; background: #fff2c9; font-size: 9px; font-weight: 850; white-space: nowrap; }
.notice-support-upsell > p { margin: 14px 0 18px; color: var(--ink-2); font-size: 12px; line-height: 1.75; }
.notice-support-boundary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.notice-support-boundary > div { padding: 13px 14px; border: 1px solid rgba(180, 202, 226, .8); border-radius: 10px; background: rgba(255, 255, 255, .8); }
.notice-support-boundary strong,.notice-support-boundary span { display: block; }
.notice-support-boundary strong { margin-bottom: 4px; color: var(--navy); font-size: 10px; }
.notice-support-boundary span { color: var(--muted); font-size: 9px; line-height: 1.6; }
.notice-support-panel { margin-top: 20px; padding-top: 20px; border-top: 1px solid #cadcf3; }
.notice-support-panel .scope-warning-critical { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; }
.notice-support-panel .scope-warning-critical span { font-size: 10px; font-weight: 650; line-height: 1.65; }
.notice-support-panel > label:not(.notice-support-consent) { display: flex; flex-direction: column; gap: 8px; }
.notice-support-panel label > strong { color: var(--navy); font-size: 11px; }
.notice-support-panel textarea { width: 100%; min-height: 128px; resize: vertical; padding: 13px 14px; border: 1px solid #c8d6e3; border-radius: 10px; color: var(--ink); background: #fff; font: inherit; font-size: 12px; line-height: 1.7; }
.notice-support-panel textarea:focus { border-color: var(--brand-blue); outline: 0; box-shadow: 0 0 0 3px rgba(47, 107, 255, .11); }
.notice-support-panel label > small { align-self: flex-end; color: var(--muted); font-size: 9px; }
.notice-support-consent { margin: 14px 0; display: flex; align-items: flex-start; gap: 9px; color: var(--ink-2); font-size: 10px; line-height: 1.65; }
.notice-support-consent input { margin-top: 3px; accent-color: var(--brand-blue); }
.notice-support-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.notice-support-actions button:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
.notice-support-result { margin-top: 16px; padding: 16px; border: 1px solid #bdd9cf; border-radius: 11px; background: #f4fbf8; }
.notice-support-result.professional,.notice-support-result.official { border-color: #efc6cc; background: #fff5f6; }
.notice-support-result.insufficient { border-color: #edd6a8; background: #fffaf0; }
.notice-support-result > strong { color: var(--navy); font-size: 13px; }
.notice-support-result > p { margin: 6px 0 0; color: var(--ink-2); font-size: 10px; line-height: 1.7; }
.notice-support-result ul { display: grid; gap: 8px; margin: 14px 0; padding: 0; list-style: none; }
.notice-support-result li { padding: 11px 12px; border-left: 3px solid var(--mint-dark); background: #fff; }
.notice-support-result li strong,.notice-support-result li span { display: block; }
.notice-support-result li strong { color: var(--navy); font-size: 10px; }
.notice-support-result li span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.65; }
.notice-support-points { display: grid; gap: 12px; margin: 14px 0; }
.notice-support-point { padding: 14px; border: 1px solid #d5e3df; border-radius: 10px; background: #fff; }
.notice-support-point.professional,.notice-support-point.official { border-color: #efc6cc; background: #fff8f8; }
.notice-support-point > span { display: block; margin-bottom: 6px; color: var(--brand-blue); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.notice-support-point > strong { color: var(--navy); font-size: 11px; }
.notice-support-point > p { margin: 5px 0 0; color: var(--ink-2); font-size: 9px; line-height: 1.7; }
.notice-support-limit { margin: 10px 0 0; padding: 10px 12px; border-left: 3px solid var(--warning); color: #714a12; background: var(--warning-soft); font-size: 10px; line-height: 1.65; }
.notice-support-result > small,.notice-support-privacy { display: block; color: var(--muted); font-size: 9px; line-height: 1.7; }
.notice-support-privacy { margin: 14px 0 0; }
.notice-result-next { margin:14px 0 0; padding:13px 14px; border:1px solid #c9d9ee; border-radius:9px; background:#f4f8ff; }
.notice-result-next > strong { color:var(--navy); font-size:11px; }
.notice-result-next ol { margin:8px 0 0; padding-left:20px; color:var(--ink-2); font-size:10px; line-height:1.8; }
.notice-result-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.notice-reference-panel { display:grid; gap:12px; margin:16px 0; }
.notice-reference-section { padding:14px; border:1px solid #c9ded7; border-radius:10px; background:#fbfffd; }
.notice-reference-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px 12px; margin-bottom:11px; }
.notice-reference-heading strong { color:var(--navy); font-size:12px; }
.notice-reference-heading span { color:var(--muted); font-size:9px; line-height:1.6; }
.notice-context-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }
.notice-context-summary > div { padding:9px 10px; border-radius:8px; background:#fff; }
.notice-context-summary dt { color:var(--muted); font-size:8px; }
.notice-context-summary dd { margin:4px 0 0; color:var(--navy); font-size:10px; font-weight:800; overflow-wrap:anywhere; }
.notice-reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.notice-reference-grid > div { min-width:0; padding:10px; border:1px solid #dbe7e3; border-radius:8px; background:#fff; }
.notice-reference-grid span,.notice-reference-grid strong,.notice-reference-grid b { display:block; overflow-wrap:anywhere; }
.notice-reference-grid span { color:var(--muted); font-size:8px; }
.notice-reference-grid strong { margin-top:4px; color:var(--ink-2); font-size:9px; }
.notice-reference-grid b { margin-top:4px; color:var(--navy); font-size:11px; }
.notice-reference-note,.notice-reference-empty { margin:10px 0 0; color:var(--muted); font-size:9px; line-height:1.65; }
.notice-check-candidates { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px!important; margin:0!important; padding:0!important; counter-reset:notice-check; }
.notice-check-candidates li { position:relative; padding:10px 10px 10px 32px!important; border:1px solid #dbe7e3!important; border-radius:8px; background:#fff!important; color:var(--ink-2); font-size:9px; line-height:1.6; counter-increment:notice-check; }
.notice-check-candidates li::before { content:counter(notice-check); position:absolute; left:10px; top:10px; display:grid; width:16px; height:16px; place-items:center; border-radius:50%; background:#e7f0ff; color:#245fdd; font-size:8px; font-weight:900; }
.notice-document-reference { display:grid!important; gap:7px!important; margin:0!important; padding:0!important; }
.notice-document-reference li { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:8px; align-items:center; padding:9px 10px!important; border:1px solid #dbe7e3!important; border-radius:8px; background:#fff!important; }
.notice-document-reference li span { color:var(--navy); font-size:10px; font-weight:800; }
.notice-document-reference li small { color:var(--muted); font-size:8px; overflow-wrap:anywhere; }
.notice-document-reference li b { color:var(--success); font-size:8px; }
.notice-addon-pricing { padding: 10px 0 72px; }
.notice-addon-pricing-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 30px; border: 1px solid #bdd4fb; border-radius: 18px; background: linear-gradient(145deg, #f6f9ff, #eef5ff); box-shadow: 0 16px 42px rgba(34, 87, 231, .08); }
.notice-addon-pricing-card h2 { margin: 8px 0 10px; color: var(--navy); font-size: 27px; }
.notice-addon-pricing-card p { margin: 0; max-width: 700px; color: var(--ink-2); line-height: 1.75; }
.notice-addon-pricing-card ul { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 9px 24px; margin: 0; padding: 18px 0 0; border-top: 1px solid #cadbf2; list-style: none; }
.notice-addon-pricing-card li { position: relative; padding-left: 20px; color: var(--ink-2); font-size: 12px; line-height: 1.6; }

@media (min-width:761px) {
  .notice-support-upsell > p { font-size:15px; }
  .notice-support-boundary strong { font-size:14px; }
  .notice-support-boundary span { font-size:13px; }
  .notice-support-panel .scope-warning-critical strong { font-size:15px; }
  .notice-support-panel .scope-warning-critical span { font-size:13px; }
  .notice-support-panel label > strong { font-size:15px; }
  .notice-support-panel textarea { font-size:15px; }
  .notice-support-panel label > small { font-size:12px; }
  .notice-support-consent { font-size:13px; }
  .notice-support-result > strong { font-size:17px; }
  .notice-support-result > p { font-size:13px; }
  .notice-support-result li strong { font-size:14px; }
  .notice-support-result li span { font-size:13px; }
  .notice-support-point > span { font-size:11px; }
  .notice-support-point > strong { font-size:15px; }
  .notice-support-point > p { font-size:13px; }
  .notice-support-result > small { font-size:12px; }
  .notice-result-next > strong { font-size:15px; }
  .notice-result-next ol { font-size:13px; }
  .notice-reference-heading strong { font-size:15px; }
  .notice-reference-heading span { font-size:12px; }
  .notice-context-summary dt { font-size:11px; }
  .notice-context-summary dd { font-size:13px; }
  .notice-reference-grid span { font-size:11px; }
  .notice-reference-grid strong { font-size:12px; }
  .notice-reference-grid b { font-size:14px; }
  .notice-reference-note,.notice-reference-empty { font-size:12px; }
  .notice-check-candidates li { font-size:12px; }
  .notice-document-reference li span { font-size:13px; }
  .notice-document-reference li small,.notice-document-reference li b { font-size:11px; }
  .notice-tool-layout > div > p,.notice-boundary-card li { font-size:15px; }
  .notice-tool-layout label[for="noticePageText"] { font-size:15px; }
  #noticePageText { font-size:15px; }
  .notice-tool-actions small { font-size:12px; }
}
.notice-addon-pricing-card li::before { content: "✓"; position: absolute; left: 0; color: var(--mint-dark); font-weight: 900; }
.notice-addon-price { min-width: 180px; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.notice-addon-price strong { color: var(--navy); font-size: 20px; }
.notice-addon-price small { margin-bottom: 10px; color: var(--muted); }
.notice-addon-pricing .legal-small-note { margin-top: 12px; }

@media (max-width: 640px) {
  .notice-support-upsell { padding: 18px; }
  .notice-support-copy { flex-direction: column; gap: 10px; }
  .notice-support-boundary { grid-template-columns: 1fr; }
  .notice-support-upsell > .button,.notice-support-actions .button { width: 100%; }
  .notice-addon-pricing-card { grid-template-columns: 1fr; padding: 22px; }
  .notice-addon-pricing-card ul { grid-column: auto; grid-template-columns: 1fr; }
  .notice-addon-price { min-width: 0; align-items: stretch; }
  .notice-context-fields,.notice-context-summary,.notice-reference-grid,.notice-check-candidates { grid-template-columns:1fr; }
  .notice-document-reference li { grid-template-columns:1fr; }
}

/* Passkey member account */
.account-main { min-height:70vh; }
.account-preview-warning { max-width:760px; margin-top:18px; padding:12px 16px; border:1px solid #f0c36b; border-left:4px solid #c67a00; border-radius:10px; background:#fff9eb; color:#704600; font-weight:700; }
.account-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:28px; align-items:start; }
.account-card,.account-data-card { border:1px solid #d7e3ef; border-radius:20px; background:#fff; box-shadow:0 16px 40px rgba(15,48,76,.08); padding:32px; }
.account-card h2,.account-data-card h2 { margin:8px 0 14px; color:#12334c; font-size:clamp(24px,3vw,34px); }
.account-card p,.account-data-card p { color:#4c687b; line-height:1.8; }
.account-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.account-status { margin-top:20px; padding:12px 14px; border-radius:10px; background:#eef5ff; color:#174b82; font-weight:700; }
.account-status.is-error { background:#fff0f2; color:#ad253b; }
.account-status.is-success { background:#eafaf4; color:#0d7456; }
.account-member-line { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.account-member-line span { color:#61798a; font-size:13px; font-weight:800; }
.account-member-line code { padding:7px 10px; border-radius:8px; background:#edf3f8; color:#153c59; }
.account-data-list { display:grid; gap:9px; margin:18px 0; padding-left:20px; color:#25485f; }
.account-not-stored { margin-top:22px; padding:16px; border-radius:12px; background:#f3faf8; border-left:4px solid #15946f; }
.account-not-stored strong { color:#0e6d52; }
.account-not-stored p { margin:6px 0 0; font-size:14px; }
.account-applications-section { padding-top:18px; }
.account-application-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.account-application-card,.account-empty { padding:24px; border:1px solid #d7e3ef; border-radius:16px; background:#fff; }
.account-application-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.account-application-heading code { color:#6b8090; font-size:12px; }
.account-state { display:inline-flex; padding:6px 10px; border-radius:999px; background:#edf1f4; color:#667986; font-size:12px; font-weight:900; }
.account-state.is-active { background:#dff8ef; color:#087151; }
.account-state.is-revoked { background:#fff0f1; color:#a42d3c; }
.account-application-card h3 { margin:18px 0; color:#153750; font-size:20px; }
.account-application-card dl { display:grid; gap:9px; margin:0 0 20px; }
.account-application-card dl div { display:flex; justify-content:space-between; gap:16px; }
.account-application-card dt { color:#718696; }
.account-application-card dd { margin:0; color:#24475e; font-weight:800; text-align:right; }
.account-resume-step { display:inline-flex; padding:5px 9px; border-radius:999px; color:#1658bf; background:#eaf1ff; font-size:12px; font-weight:900; }
.account-local-save { margin:-4px 0 18px; padding:13px 14px; border:1px solid #b9d8cf; border-radius:10px; background:#f1faf7; }
.account-local-save strong { color:#0d7058; font-size:12px; }
.account-local-save p { margin:5px 0 0; color:#547168; font-size:12px; line-height:1.6; }
.account-local-save.is-empty { border-color:#dce5eb; background:#f8fafb; }
.account-local-save.is-empty strong { color:#496273; }
.account-local-save.is-empty p { color:#6c808d; }
.account-application-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.account-saved-delete { padding:0; border:0; color:#9b3f49; background:transparent; font:inherit; font-size:12px; font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.account-empty { grid-column:1/-1; text-align:center; padding:40px 24px; }
.account-empty strong { color:#173a53; font-size:20px; }
.account-empty p { color:#60798b; }

@media (max-width:760px) {
  .account-layout,.account-application-grid { grid-template-columns:1fr; }
  .account-card,.account-data-card { padding:22px; }
  .account-actions .button { width:100%; }
  .account-application-card dl div { display:block; }
  .account-application-card dd { margin-top:3px; text-align:left; }
  .account-application-actions { display:grid; grid-template-columns:1fr; }
  .account-application-actions .button { width:100%; }
  .account-saved-delete { padding:8px; text-align:center; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: var(--font);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 9999;
  padding: 10px 14px;
  background: var(--white);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}
.skip-link:focus { top: 12px; }

.container { width: min(var(--container), calc(100% - 40px)); margin: 0 auto; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(245, 247, 243, 0.88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(199, 212, 207, 0.72);
}
.header-inner {
  width: min(var(--container), calc(100% - 40px));
  min-height: 74px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  width: fit-content;
}
.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--navy);
  background: var(--mint);
  font-weight: 900;
  font-size: 20px;
}
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.04; }
.brand strong { color: var(--navy); letter-spacing: -0.02em; }
.brand small { color: var(--muted); font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; }
.top-nav { display: flex; gap: 28px; }
.top-nav a { text-decoration: none; font-size: 14px; color: var(--ink-2); font-weight: 650; }
.top-nav a:hover { color: var(--mint-dark); }
.header-inner > .button { justify-self: end; }

.button {
  border: 0;
  border-radius: 999px;
  min-height: 46px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 750;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:focus-visible, .icon-button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .destination-card:focus-visible {
  outline: 3px solid rgba(54, 207, 174, 0.38);
  outline-offset: 2px;
}
.button-primary { background: var(--navy); color: var(--white); box-shadow: 0 10px 26px rgba(12, 37, 60, .18); }
.button-primary:hover { background: #071d31; box-shadow: 0 13px 32px rgba(12, 37, 60, .25); }
.button-secondary { background: var(--white); color: var(--navy); border: 1px solid var(--line-dark); }
.button-secondary:hover { border-color: var(--mint-dark); }
.button-light { background: var(--white); color: var(--navy); box-shadow: 0 12px 24px rgba(0,0,0,.12); }
.button-ghost { background: transparent; color: var(--ink-2); border: 1px solid var(--line); }
.button-small { min-height: 38px; padding: 0 17px; font-size: 13px; }
.button-large { min-height: 56px; padding: 0 28px; }
.button[disabled] { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }

.hero {
  position: relative;
  overflow: hidden;
  padding: 90px 0 100px;
  min-height: 730px;
  background:
    radial-gradient(circle at 12% 10%, rgba(54,207,174,.13), transparent 28%),
    linear-gradient(145deg, #f8faf7 0%, #f1f5f2 100%);
}
.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.03fr .97fr;
  gap: 64px;
  align-items: center;
}
.eyebrow, .section-kicker {
  color: var(--mint-dark);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.eyebrow span { width: 24px; height: 2px; background: var(--mint); }
.hero h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(42px, 5vw, 69px);
  line-height: 1.13;
  letter-spacing: -.055em;
  font-weight: 850;
}
.hero h1 em { color: var(--mint-dark); font-style: normal; position: relative; }
.hero h1 em::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 6px;
  border-radius: 8px;
  background: rgba(54,207,174,.28);
}
.hero-lead { max-width: 650px; margin: 28px 0 30px; font-size: 18px; line-height: 1.9; color: var(--ink-2); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-points { padding: 0; margin: 24px 0 0; list-style: none; display: flex; flex-wrap: wrap; gap: 18px; color: var(--muted); font-size: 13px; }
.hero-points span { color: var(--mint-dark); font-weight: 900; margin-right: 4px; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); }
.orb-one { width: 340px; height: 340px; right: -120px; top: 90px; background: rgba(54,207,174,.12); }
.orb-two { width: 230px; height: 230px; left: 46%; bottom: -100px; background: rgba(12,37,60,.07); }

.hero-panel {
  position: relative;
  transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
  background: #e9efed;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 24px;
  box-shadow: 0 35px 80px rgba(10,35,53,.2);
  overflow: visible;
}
.browser-bar { height: 52px; display: flex; align-items: center; gap: 7px; padding: 0 18px; border-bottom: 1px solid #d6e0dc; }
.browser-bar > span { width: 9px; height: 9px; background: #b8c7c2; border-radius: 50%; }
.browser-address { margin-left: 10px; flex: 1; height: 28px; border-radius: 7px; display: grid; place-items: center; background: rgba(255,255,255,.68); color: #81918c; font-size: 10px; }
.sample-dashboard { margin: 0 18px 20px; padding: 28px; border-radius: 18px; background: var(--white); }
.sample-head { display: flex; justify-content: space-between; align-items: center; }
.sample-head > div:first-child { display: flex; flex-direction: column; gap: 5px; }
.sample-head small { color: var(--muted); font-size: 9px; letter-spacing: .14em; }
.sample-head strong { font-size: 21px; }
.score-ring { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; position: relative; background: conic-gradient(var(--mint) 0 82%, #e7eeeb 82% 100%); }
.score-ring::after { content: ""; width: 60px; height: 60px; position: absolute; background: var(--white); border-radius: 50%; }
.score-ring span, .score-ring small { position: relative; z-index: 2; }
.score-ring span { font-size: 24px; font-weight: 850; margin-right: 10px; }
.score-ring small { position: absolute; right: 13px; bottom: 26px; font-size: 9px; }
.sample-progress { height: 7px; margin: 22px 0; background: #ebf0ee; border-radius: 10px; overflow: hidden; }
.sample-progress span { display: block; width: 82%; height: 100%; background: linear-gradient(90deg, var(--mint-dark), var(--mint)); border-radius: inherit; }
.sample-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.sample-metrics div { padding: 14px; border: 1px solid #e6ece9; border-radius: 12px; display: flex; flex-direction: column; }
.sample-metrics strong { font-size: 19px; }
.sample-metrics small { color: var(--muted); margin-top: 4px; }
.sample-alert { margin-top: 12px; display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 12px; }
.sample-alert > span { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-weight: 850; }
.sample-alert div { display: flex; flex-direction: column; gap: 3px; }
.sample-alert strong { font-size: 13px; }
.sample-alert small { color: var(--ink-2); font-size: 10px; line-height: 1.5; }
.sample-alert.warning { background: var(--warning-soft); }
.sample-alert.warning > span { background: #ffd991; color: #855107; }
.sample-alert.success { background: var(--success-soft); }
.sample-alert.success > span { background: #bfe9da; color: var(--success); }
.privacy-float { position: absolute; right: -28px; bottom: 42px; padding: 13px 17px; border-radius: 14px; background: var(--navy); color: var(--white); font-size: 11px; font-weight: 700; box-shadow: var(--shadow); }
.privacy-float span { color: var(--mint); margin-right: 7px; }

.trust-strip { background: var(--navy); color: var(--white); }
.trust-grid { min-height: 90px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; }
.trust-grid > div { display: flex; align-items: center; gap: 16px; padding: 0 30px; min-height: 42px; border-right: 1px solid rgba(255,255,255,.14); }
.trust-grid > div:first-child { padding-left: 0; }
.trust-grid > div:last-child { border-right: 0; }
.trust-grid strong { color: var(--mint); font-size: 13px; letter-spacing: .1em; }
.trust-grid span { font-size: 14px; color: rgba(255,255,255,.8); }

.content-section { padding: 108px 0; background: var(--white); }
.section-muted { background: #edf3f0; }
.section-heading { max-width: 740px; margin: 0 auto 48px; text-align: center; }
.section-heading h2, .split-section h2, .security-section h2, .cta-section h2 {
  margin: 12px 0 16px;
  font-size: clamp(32px, 4vw, 48px);
  letter-spacing: -.04em;
  color: var(--navy);
  line-height: 1.22;
}
.section-heading p, .split-section > div:first-child > p, .security-section p { color: var(--muted); line-height: 1.9; }
.step-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.step-cards article { position: relative; padding: 30px 25px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: 0 4px 14px rgba(14,47,67,.03); }
.step-cards article > span { position: absolute; right: 18px; top: 16px; color: #dbe5e1; font-size: 37px; font-weight: 900; }
.step-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: var(--navy); background: var(--mint-soft); font-size: 23px; font-weight: 900; }
.step-cards h3 { margin: 22px 0 10px; font-size: 18px; }
.step-cards p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.split-section { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: center; }
.text-link { display: inline-flex; gap: 8px; margin-top: 12px; color: var(--mint-dark); font-weight: 800; text-decoration: none; }
.scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.scope-card { padding: 30px; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.scope-card > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; font-size: 22px; font-weight: 850; }
.scope-card.allowed > span { background: var(--success-soft); color: var(--success); }
.scope-card.blocked > span { background: var(--danger-soft); color: var(--danger); }
.scope-card h3 { margin: 17px 0; }
.scope-card ul { padding-left: 20px; margin: 0; }
.scope-card li { color: var(--ink-2); line-height: 1.9; font-size: 14px; }
.security-section { background: var(--white); }
.security-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.security-grid.security-grid-single { display:block; }
.security-grid-single .security-copy { max-width:780px; }
.security-visual { min-height: 430px; position: relative; display: grid; place-items: center; border-radius: var(--radius-xl); background: linear-gradient(145deg, var(--navy), #174b63); overflow: hidden; }
.security-visual::before { content: ""; width: 320px; height: 320px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; position: absolute; }
.security-visual::after { content: ""; width: 230px; height: 230px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; position: absolute; }
.shield { width: 120px; height: 135px; clip-path: polygon(50% 0, 95% 18%, 88% 73%, 50% 100%, 12% 73%, 5% 18%); display: grid; place-items: center; background: var(--mint); color: var(--navy); font-size: 48px; font-weight: 900; z-index: 2; }
.security-chip { position: absolute; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.93); color: var(--navy); font-size: 11px; font-weight: 800; box-shadow: var(--shadow-sm); z-index: 3; }
.chip-a { top: 74px; left: 40px; }
.chip-b { right: 35px; top: 150px; }
.chip-c { left: 70px; bottom: 52px; }
.security-list { display: grid; gap: 12px; margin-top: 28px; }
.security-list div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); }
.security-list strong { color: var(--navy); }
.security-list span { color: var(--muted); font-size: 14px; }
.cta-section { padding: 40px 0 90px; background: var(--white); }
.cta-card { min-height: 270px; padding: 52px 62px; display: flex; justify-content: space-between; align-items: center; gap: 30px; border-radius: var(--radius-xl); background: linear-gradient(135deg, var(--navy), #13516a); color: var(--white); overflow: hidden; position: relative; }
.cta-card::after { content: ""; position: absolute; width: 380px; height: 380px; border-radius: 50%; right: -140px; top: -190px; background: rgba(54,207,174,.18); }
.section-kicker.light { color: var(--mint); }
.cta-section h2 { color: var(--white); margin-bottom: 8px; }
.cta-section p { color: rgba(255,255,255,.7); }
.cta-card .button { position: relative; z-index: 2; flex: 0 0 auto; }

.site-footer { padding: 70px 0 24px; background: #071b2c; color: rgba(255,255,255,.75); }
.footer-grid { display: grid; grid-template-columns: 1.4fr .7fr .7fr 1fr; gap: 46px; }
.footer-grid-compact { grid-template-columns: minmax(280px,1.4fr) minmax(130px,.65fr) minmax(210px,.95fr); }
.footer-brand .brand strong { color: var(--white); }
.footer-brand p, .footer-grid > div:last-child p { font-size: 13px; line-height: 1.8; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 12px; }
.footer-grid > div > strong { color: var(--white); font-size: 13px; margin-bottom: 5px; }
.footer-grid a { text-decoration: none; font-size: 13px; }
.footer-grid a:hover { color: var(--mint); }
.footer-bottom { margin-top: 54px; padding-top: 20px; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); font-size: 11px; }

/* Wizard */
body.app-mode { background: #eef3f1; }
body.app-mode .site-header, body.app-mode .site-footer { display: none; }
.app-shell { min-height: 100vh; background: #eef3f1; }
.app-topbar { min-height: 66px; background: var(--white); border-bottom: 1px solid var(--line); }
.app-topbar-inner { min-height: 66px; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; }
.icon-button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--navy); cursor: pointer; }
.app-title { display: flex; flex-direction: column; gap: 2px; }
.app-title strong { color: var(--navy); font-size: 14px; }
.app-title span { color: var(--muted); font-size: 10px; }
.app-layout { display: grid; grid-template-columns: 255px 1fr; gap: 28px; align-items: start; padding-top: 28px; padding-bottom: 80px; }
.wizard-sidebar { position: sticky; top: 28px; min-height: calc(100vh - 122px); padding: 24px 20px; border-radius: var(--radius-lg); background: var(--navy); color: var(--white); display: flex; flex-direction: column; }
.wizard-brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.wizard-brand > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--mint); color: var(--navy); font-weight: 900; }
.wizard-brand > div { display: flex; flex-direction: column; }
.wizard-brand strong { font-size: 13px; }
.wizard-brand small { font-size: 9px; color: rgba(255,255,255,.55); }
.step-nav { list-style: none; padding: 22px 0; margin: 0; display: grid; gap: 6px; }
.step-nav button { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 10px; border: 0; border-radius: 12px; color: rgba(255,255,255,.5); background: transparent; text-align: left; cursor: default; }
.step-nav button > span { width: 29px; height: 29px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; font-size: 11px; font-weight: 850; }
.step-nav button > div { display: flex; flex-direction: column; gap: 2px; }
.step-nav strong { font-size: 12px; }
.step-nav small { font-size: 9px; }
.step-nav li.is-current button { color: var(--white); background: rgba(255,255,255,.09); }
.step-nav li.is-current button > span { color: var(--navy); background: var(--mint); border-color: var(--mint); }
.step-nav li.is-complete button { color: rgba(255,255,255,.76); }
.step-nav li.is-complete button > span { color: var(--navy); background: rgba(54,207,174,.7); border-color: transparent; }
.sidebar-note { margin-top: auto; display: flex; gap: 10px; padding: 14px; border-radius: 12px; background: rgba(255,255,255,.07); }
.sidebar-note > span { width: 22px; height: 22px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; font-size: 10px; }
.sidebar-note p { margin: 0; font-size: 10px; line-height: 1.65; color: rgba(255,255,255,.6); }
.wizard-main { min-width: 0; padding: 42px 50px; border-radius: var(--radius-lg); background: var(--white); box-shadow: 0 6px 26px rgba(20,46,61,.05); }
.mobile-progress { display: none; }
.wizard-step { min-height: 640px; }
.wizard-heading { max-width: 720px; margin-bottom: 34px; }
.wizard-heading > span { color: var(--mint-dark); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.wizard-heading h1, .results-header h1 { margin: 10px 0 12px; font-size: clamp(28px, 3vw, 42px); line-height: 1.25; letter-spacing: -.035em; color: var(--navy); }
.wizard-heading p, .results-header p { margin: 0; color: var(--muted); line-height: 1.8; font-size: 14px; }
.form-section { margin-top: 28px; }
.field-label { display: block; margin-bottom: 10px; color: var(--ink); font-size: 13px; font-weight: 800; }
.field-label b { display: inline-flex; margin-left: 5px; padding: 3px 6px; border-radius: 5px; color: var(--danger); background: var(--danger-soft); font-size: 9px; }
.form-control { width: 100%; min-height: 51px; padding: 0 15px; border: 1px solid var(--line-dark); border-radius: 11px; color: var(--ink); background: var(--white); transition: border-color .15s ease, box-shadow .15s ease; }
.form-control:focus { border-color: var(--mint-dark); box-shadow: 0 0 0 4px rgba(54,207,174,.1); outline: none; }
.localized-date-field{position:relative;width:100%}.localized-date-field>.form-control{width:100%;padding-right:54px}.localized-date-picker-button{position:absolute;z-index:2;top:50%;right:7px;width:40px;height:40px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:8px;color:var(--navy);background:transparent;cursor:pointer}.localized-date-picker-button[hidden]{display:none}.localized-date-picker-button:hover{color:var(--brand-blue);background:#eef4ff}.localized-date-picker-button:focus-visible{outline:3px solid rgba(47,107,255,.32);outline-offset:1px}.localized-date-picker-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.localized-date-picker-native{position:absolute;right:8px;bottom:3px;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
.field-help { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.destination-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.destination-card { min-height: 108px; padding: 15px 9px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); color: var(--ink-2); cursor: pointer; transition: .18s ease; }
.destination-card:hover { border-color: var(--mint); transform: translateY(-2px); }
.destination-card.is-selected { border: 2px solid var(--mint-dark); background: var(--mint-soft); color: var(--navy); box-shadow: 0 7px 20px rgba(21,152,121,.12); }
.destination-card .flag { font-size: 27px; line-height: 1; }
.destination-card strong { font-size: 12px; }
.destination-card small { font-size: 9px; color: var(--muted); }
.consent-box { margin-top: 28px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f8faf9; }
.consent-box label { display: flex; align-items: flex-start; gap: 10px; color: var(--ink-2); font-size: 12px; line-height: 1.65; }
.consent-box input { margin-top: 3px; accent-color: var(--mint-dark); }
.wizard-actions { margin-top: 42px; padding-top: 22px; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); }
.form-grid { display: grid; gap: 22px; }
.form-grid.two-cols { grid-template-columns: 1fr 1fr; }
.privacy-inline { margin-top: 28px; display: flex; gap: 14px; padding: 18px; border-radius: 13px; background: var(--mint-soft); }
.privacy-inline > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--mint); font-weight: 900; }
.privacy-inline strong { display: block; font-size: 12px; }
.privacy-inline p { margin: 5px 0 0; color: var(--ink-2); font-size: 11px; }
.toggle-row { margin-top: 14px; padding: 14px 2px; display: flex; align-items: center; gap: 12px; cursor: pointer; }
.toggle-row input { position: absolute; opacity: 0; }
.toggle { width: 43px; height: 24px; border-radius: 999px; background: #cbd6d2; position: relative; transition: .15s ease; }
.toggle::after { content: ""; width: 18px; height: 18px; position: absolute; left: 3px; top: 3px; border-radius: 50%; background: var(--white); transition: .15s ease; box-shadow: 0 2px 5px rgba(0,0,0,.15); }
.toggle-row input:checked + .toggle { background: var(--mint-dark); }
.toggle-row input:checked + .toggle::after { transform: translateX(19px); }
.toggle-row > div { display: flex; flex-direction: column; gap: 2px; }
.toggle-row strong { font-size: 12px; }
.toggle-row small { color: var(--muted); font-size: 10px; }
.upload-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; background: #f5f8f6; }
.upload-toolbar > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.upload-toolbar strong { font-size: 13px; }
.upload-toolbar span { color: var(--muted); font-size: 10px; }
.privacy-badge { display: flex !important; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; color: var(--success) !important; background: var(--success-soft); font-size: 10px; font-weight: 800; }
.privacy-badge span { color: var(--success); font-size: 9px; }
.document-list { display: grid; gap: 12px; }
.document-card { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--white); }
.document-card.is-complete { border-color: rgba(24,121,95,.35); }
.document-card.is-processing { border-color: var(--mint); }
.document-row { min-height: 82px; padding: 14px 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.doc-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 11px; color: var(--navy); background: #edf2f0; font-weight: 850; }
.document-card.is-complete .doc-icon { color: var(--success); background: var(--success-soft); }
.doc-meta { min-width: 0; }
.doc-meta h3 { margin: 0 0 4px; font-size: 13px; display: flex; gap: 7px; align-items: center; }
.doc-meta h3 b { padding: 2px 5px; border-radius: 4px; color: var(--danger); background: var(--danger-soft); font-size: 8px; }
.doc-meta p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.doc-status { margin-top: 5px; color: var(--success); font-size: 10px; font-weight: 750; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 470px; }
.doc-actions { display: flex; align-items: center; gap: 7px; }
.file-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.file-label { min-height: 36px; padding: 0 13px; display: inline-flex; align-items: center; border: 1px solid var(--line-dark); border-radius: 999px; color: var(--navy); background: var(--white); cursor: pointer; font-size: 10px; font-weight: 800; }
.file-label:hover { border-color: var(--mint-dark); }
.doc-delete { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--danger); background: var(--white); cursor: pointer; }
.doc-detail { display: none; padding: 0 16px 16px 73px; }
.document-card.is-complete .doc-detail { display: block; }
.extracted-fields { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.extracted-field { padding: 9px 10px; border-radius: 9px; background: #f6f8f7; }
.extracted-field label { display: block; color: var(--muted); font-size: 8px; margin-bottom: 3px; }
.extracted-field input { width: 100%; padding: 0; border: 0; background: transparent; color: var(--ink); font-size: 10px; font-weight: 700; outline: none; }
.extracted-field input:focus-visible { outline: 3px solid rgba(47,107,255,.32); outline-offset: 3px; border-radius: 3px; }
.ocr-confidence { margin-top: 8px; color: var(--muted); font-size: 9px; }
.upload-disclaimer { margin-top: 18px; padding: 14px 16px; border-left: 3px solid #e5a43d; background: var(--warning-soft); color: #73531e; font-size: 10px; line-height: 1.7; }
.results-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 24px; }
.result-score { width: 116px; height: 116px; flex: 0 0 auto; display: grid; place-items: center; position: relative; border-radius: 50%; background: conic-gradient(var(--mint) 0 0%, #e7eeeb 0 100%); }
.result-score::after { content: ""; width: 94px; height: 94px; position: absolute; border-radius: 50%; background: var(--white); }
.result-score strong, .result-score span, .result-score small { position: relative; z-index: 2; }
.result-score strong { font-size: 32px; margin-right: 13px; }
.result-score span { position: absolute; top: 39px; right: 18px; color: var(--muted); font-size: 10px; }
.result-score small { position: absolute; bottom: 25px; color: var(--muted); font-size: 8px; }
.result-summary-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 28px; }
.result-summary-grid > div { padding: 17px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 13px; }
.metric-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; font-weight: 900; }
.metric-icon.success { color: var(--success); background: var(--success-soft); }
.metric-icon.warning { color: var(--warning); background: var(--warning-soft); }
.metric-icon.muted { color: var(--muted); background: #eef2f1; }
.result-summary-grid > div > div { display: flex; flex-direction: column; }
.result-summary-grid strong { font-size: 19px; }
.result-summary-grid small { color: var(--muted); font-size: 9px; }
.result-section { margin-top: 25px; }
.result-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.result-section-head h2 { margin: 0; font-size: 17px; }
.count-badge { padding: 5px 8px; border-radius: 999px; color: var(--warning); background: var(--warning-soft); font-size: 9px; font-weight: 800; }
.issues-list { display: grid; gap: 9px; }
.issue-item { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 15px; border-radius: 12px; }
.issue-item.warning { background: var(--warning-soft); }
.issue-item.error { background: var(--danger-soft); }
.issue-item.success { background: var(--success-soft); }
.issue-symbol { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.75); font-size: 11px; font-weight: 900; }
.issue-item h3 { margin: 0 0 4px; font-size: 12px; }
.issue-item p { margin: 0; color: var(--ink-2); font-size: 10px; line-height: 1.6; }
.result-documents { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.result-doc { padding: 13px 14px; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--line); border-radius: 10px; }
.result-doc strong { font-size: 11px; }
.result-doc span { font-size: 9px; font-weight: 800; }
.result-doc .ready { color: var(--success); }
.result-doc .missing { color: var(--muted); }
.official-box { margin-top: 28px; padding: 18px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border: 1px solid rgba(21,152,121,.28); border-radius: 14px; background: var(--mint-soft); }
.official-box > div { display: flex; gap: 12px; align-items: flex-start; }
.official-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--navy); background: var(--mint); font-weight: 900; }
.official-box strong { display: block; font-size: 12px; }
.official-box p { margin: 4px 0 0; color: var(--ink-2); font-size: 9px; line-height: 1.6; }
.report-actions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.result-footnote { margin: 20px 0 0; color: var(--muted); font-size: 9px; line-height: 1.7; }

.toast { position: fixed; left: 50%; bottom: 26px; z-index: 1000; transform: translate(-50%, 30px); padding: 12px 17px; border-radius: 999px; color: var(--white); background: var(--navy); box-shadow: var(--shadow); font-size: 11px; opacity: 0; pointer-events: none; transition: .2s ease; }
.toast.is-visible { transform: translate(-50%, 0); opacity: 1; }
.modal { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(5,21,34,.67); backdrop-filter: blur(6px); }
.modal-card { position: relative; width: min(430px, 100%); padding: 34px; text-align: center; border-radius: 22px; background: var(--white); box-shadow: var(--shadow); }
.modal-icon { height: 48px; display: grid; place-items: center; }
.spinner { width: 34px; height: 34px; border: 4px solid #dce7e3; border-top-color: var(--mint-dark); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.modal-card h2 { margin: 14px 0 8px; font-size: 20px; }
.modal-card p { margin: 0; color: var(--muted); font-size: 12px; }
.modal-card small { display: block; margin: 13px 0; color: var(--muted); line-height: 1.6; }
.free-trial-document-notice{margin:0 0 22px;padding:16px 18px;display:flex;align-items:flex-start;gap:14px;border:1px solid #bcd4ff;border-radius:12px;background:#f2f7ff}.free-trial-document-notice[hidden]{display:none}.free-trial-document-notice>span{flex:0 0 auto;padding:5px 8px;border-radius:5px;color:#fff;background:var(--brand-blue);font-size:8px;font-weight:900;letter-spacing:.12em}.free-trial-document-notice strong{display:block;color:var(--navy);font-size:12px}.free-trial-document-notice p{margin:5px 0 0;color:#5c7483;font-size:10px;line-height:1.65}.free-trial-complete-modal .modal-card{width:min(560px,100%);padding:38px 40px}.free-trial-complete-icon{width:54px;height:54px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--brand-blue),#22ae8a);font-size:24px;font-weight:900}.free-trial-complete-label{display:block;color:var(--brand-blue);font-size:9px;font-weight:900;letter-spacing:.15em}.free-trial-complete-modal .modal-card h2{margin:9px 0 20px;font-size:30px}.free-trial-complete-modal #freeTrialCompleteDescription{padding:20px;border:1px solid #d9e5eb;border-radius:12px;background:#f8fbfc;text-align:left}.free-trial-complete-modal #freeTrialCompleteDescription>strong{display:block;color:var(--navy);font-size:15px}.free-trial-complete-modal #freeTrialCompleteDescription p{margin:8px 0 0;color:#526e7d;font-size:11px;line-height:1.8}.free-trial-complete-actions{margin-top:22px;display:grid;grid-template-columns:1fr;gap:10px}.free-trial-complete-actions .button{width:100%;min-height:48px}
.free-trial-complete-modal #freeTrialCompleteDescription .free-trial-sandbox-note{margin-top:13px;padding:9px 11px;border-radius:7px;color:#76570d;background:#fff1c9;font-weight:750}
@media(max-width:600px){.free-trial-document-notice{flex-direction:column}.free-trial-complete-modal .modal-card{padding:30px 20px}.free-trial-complete-modal .modal-card h2{font-size:25px}.free-trial-complete-actions{grid-template-columns:1fr}.free-trial-complete-actions .button-primary{order:-1}}
.paid-start-modal .modal-card{width:min(600px,100%);padding:40px 42px}.paid-start-modal .modal-card h2{margin:10px 0 20px;font-size:30px}.paid-start-modal #paidStartDescription{padding:22px;border:1px solid #d9e5eb;border-radius:12px;background:#f8fbfc;text-align:left}.paid-start-modal #paidStartDescription p{margin:0;color:#526e7d;font-size:14px;line-height:1.85}.paid-start-modal #paidStartDescription strong{display:block;margin:14px 0;color:var(--navy);font-size:17px;line-height:1.6}.paid-start-actions{margin-top:22px;display:grid;grid-template-columns:1.5fr 1fr;gap:10px}.paid-start-actions .button{width:100%;min-height:50px;font-size:15px}
@media(max-width:600px){.paid-start-modal .modal-card{padding:30px 20px}.paid-start-modal .modal-card h2{font-size:24px}.paid-start-actions{grid-template-columns:1fr}}
.ocr-progress { height: 7px; margin: 19px 0 0; border-radius: 8px; background: #e9efed; overflow: hidden; }
.ocr-progress span { display: block; width: 4%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--mint-dark), var(--mint)); transition: width .2s ease; }

/* Legal pages */
.legal-page { background: var(--cream); }
.legal-hero { padding: 80px 0 45px; background: var(--navy); color: var(--white); }
.legal-hero .brand strong { color: var(--white); }
.legal-hero a { text-decoration: none; }
.legal-hero h1 { margin: 50px 0 14px; font-size: clamp(34px, 5vw, 56px); letter-spacing: -.045em; }
.legal-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.8; }
.legal-content { max-width: 860px; margin: 38px auto 90px; padding: 42px 48px; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.legal-content h2 { margin: 38px 0 12px; color: var(--navy); font-size: 23px; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 { margin-top: 25px; font-size: 16px; }
.legal-content p, .legal-content li { color: var(--ink-2); line-height: 1.9; font-size: 14px; }
.legal-content li { margin-bottom: 7px; }
.legal-notice { padding: 18px; border-left: 4px solid var(--warning); background: var(--warning-soft); }

@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-copy { max-width: 760px; }
  .hero-panel { max-width: 650px; margin: 0 auto; transform: none; }
  .step-cards { grid-template-columns: 1fr 1fr; }
  .split-section, .security-grid { grid-template-columns: 1fr; gap: 42px; }
  .security-visual { max-width: 650px; width: 100%; margin: 0 auto; }
  .app-layout { grid-template-columns: 210px 1fr; }
  .wizard-main { padding: 36px 34px; }
  .destination-grid { grid-template-columns: repeat(3,1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .container, .header-inner { width: min(100% - 28px, var(--container)); }
  .header-inner { min-height: 64px; grid-template-columns: 1fr auto; }
  .top-nav { display: none; }
  .header-inner > .button { font-size: 11px; padding: 0 14px; min-height: 36px; }
  .brand-mark { width: 34px; height: 34px; }
  .hero { padding: 62px 0 72px; min-height: auto; }
  .hero h1 { font-size: clamp(38px, 11.5vw, 54px); }
  .hero-lead { font-size: 15px; line-height: 1.8; }
  .hero-actions .button { width: 100%; }
  .hero-points { gap: 9px 14px; font-size: 11px; }
  .hero-panel { border-radius: 18px; }
  .sample-dashboard { padding: 18px; margin: 0 10px 12px; }
  .privacy-float { right: 8px; bottom: -18px; }
  .trust-grid { grid-template-columns: 1fr; padding: 16px 0; }
  .trust-grid > div { padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .trust-grid > div:last-child { border-bottom: 0; }
  .content-section { padding: 76px 0; }
  .step-cards, .scope-grid { grid-template-columns: 1fr; }
  .security-visual { min-height: 340px; }
  .cta-section { padding-bottom: 64px; }
  .cta-card { padding: 36px 26px; flex-direction: column; align-items: flex-start; }
  .cta-card .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 22px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 8px; }

  .app-topbar-inner { width: calc(100% - 24px); }
  .app-topbar .button { font-size: 10px; padding: 0 12px; }
  .app-layout { width: 100%; display: block; padding: 0; }
  .wizard-sidebar { display: none; }
  .wizard-main { min-height: calc(100vh - 66px); padding: 18px 18px 60px; border-radius: 0; box-shadow: none; }
  .mobile-progress { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
  .mobile-progress > span { flex: 0 0 auto; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .1em; }
  .mobile-progress > div { height: 5px; flex: 1; border-radius: 8px; background: #e6ece9; overflow: hidden; }
  .mobile-progress i { display: block; width: 25%; height: 100%; border-radius: inherit; background: var(--mint-dark); transition: width .2s ease; }
  .wizard-step { min-height: auto; }
  .wizard-heading h1, .results-header h1 { font-size: 28px; }
  .destination-grid { grid-template-columns: 1fr 1fr; }
  .destination-card { min-height: 100px; }
  .form-grid.two-cols { grid-template-columns: 1fr; }
  .wizard-actions { position: sticky; bottom: 0; z-index: 6; margin-left: -18px; margin-right: -18px; margin-bottom: -60px; padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
  .wizard-actions .button { flex: 1; padding: 0 14px; font-size: 11px; }
  .document-row { grid-template-columns: auto 1fr; }
  .doc-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .doc-detail { padding: 0 14px 14px; }
  .extracted-fields { grid-template-columns: 1fr 1fr; }
  .results-header { align-items: flex-start; }
  .result-score { width: 91px; height: 91px; }
  .result-score::after { width: 74px; height: 74px; }
  .result-score strong { font-size: 24px; }
  .result-score span { top: 30px; right: 13px; }
  .result-score small { bottom: 19px; }
  .result-summary-grid { grid-template-columns: 1fr; }
  .result-documents { grid-template-columns: 1fr; }
  .official-box { align-items: stretch; flex-direction: column; }
  .report-actions .button { width: 100%; }
  .legal-content { margin: 20px 14px 60px; padding: 28px 22px; }
}

@media print {
  body { background: var(--white); }
  .app-topbar, .wizard-sidebar, .mobile-progress, .report-actions, .site-footer, .site-header, .wizard-step:not([data-step-panel="4"]) { display: none !important; }
  .app-layout, .wizard-main { display: block; width: 100%; max-width: none; margin: 0; padding: 0; box-shadow: none; }
  .wizard-step[data-step-panel="4"] { display: block !important; }
  .official-box a { display: none; }
}

/* Direction A2 — Bright Reassurance */
:root{--ink:#153047;--ink-2:#415a6d;--navy:#17354d;--navy-2:#254b65;--blue:#2257e7;--blue-dark:#1744bc;--blue-soft:#edf4ff;--mint:#52c9a8;--mint-dark:#168769;--mint-soft:#eaf9f4;--cream:#f8fafb;--line:#dce5eb;--line-dark:#c7d4dd;--muted:#6d8191;--shadow:0 22px 56px rgba(31,65,88,.11);--shadow-sm:0 8px 24px rgba(31,65,88,.07);--radius-xl:18px;--radius-lg:14px;--radius-md:11px;--radius-sm:8px}
body{background:var(--cream)}.site-header{background:rgba(255,255,255,.93);border-bottom-color:rgba(220,229,235,.9)}.brand-mark{border-radius:9px;background:var(--blue);color:#fff}.top-nav a:hover{color:var(--blue)}.button{border-radius:10px}.button-primary{background:var(--blue);box-shadow:0 9px 22px rgba(34,87,231,.18)}.button-primary:hover{background:var(--blue-dark);box-shadow:0 11px 27px rgba(34,87,231,.24)}
.hero{padding:104px 0 96px;min-height:720px;background:linear-gradient(90deg,#f5f9ff 0%,#f5f9ff 58%,#fff 58%,#fff 100%)}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(34,87,231,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(34,87,231,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to right,black,transparent 48%);pointer-events:none}.hero-grid{grid-template-columns:.96fr 1.04fr;gap:72px}.eyebrow{width:fit-content;margin-bottom:23px;padding:8px 11px;border:1px solid #cdddf8;border-radius:7px;background:#fff;color:var(--blue);letter-spacing:.06em;text-transform:none;font-size:12px}.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint)}.eyebrow span{display:none}.hero h1{font-size:clamp(44px,5vw,66px);line-height:1.18;letter-spacing:-.045em;font-weight:800}.hero h1 em{color:var(--blue)}.hero h1 em::after{display:none}.hero-lead{margin:27px 0 30px;max-width:610px;font-size:17px;line-height:1.9}.hero-points{margin-top:22px;gap:22px}.hero-points span{color:var(--mint-dark)}
.hero-panel{transform:none;padding:12px;border:1px solid #d8e2ea;border-radius:17px;background:#fff;box-shadow:0 26px 65px rgba(35,70,98,.14);overflow:visible}.preview-topbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #e4ebf0}.preview-topbar>div{display:flex;align-items:center;gap:10px}.preview-logo{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#fff;font-weight:850;font-size:12px}.preview-topbar strong{font-size:14px}.preview-status{padding:6px 9px;border-radius:6px;color:var(--muted);background:#f3f6f8;font-size:10px}.preview-body{padding:28px 24px 25px}.preview-progress-head{display:flex;align-items:flex-end;justify-content:space-between}.preview-progress-head>div{display:flex;flex-direction:column;gap:3px}.preview-progress-head small{color:var(--muted);font-size:11px}.preview-progress-head strong{font-size:24px;letter-spacing:-.03em}.preview-progress-head>span{color:var(--blue);background:var(--blue-soft);border-radius:6px;padding:7px 10px;font-size:12px;font-weight:800}.preview-progress{height:7px;margin:17px 0 26px;border-radius:8px;background:#e9eef2;overflow:hidden}.preview-progress i{display:block;width:75%;height:100%;background:var(--blue);border-radius:inherit}.preview-caption{margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em}.preview-item{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:15px 13px;border-top:1px solid #e6edf2}.preview-item:first-of-type{border-top:0}.preview-item-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;font-weight:850}.preview-item>div{display:flex;flex-direction:column;gap:3px;min-width:0}.preview-item strong{font-size:13px}.preview-item small{color:var(--muted);font-size:10px;line-height:1.55}.preview-tag{border-radius:5px;padding:5px 7px;font-size:9px;font-weight:850;white-space:nowrap}.needs-check .preview-item-icon,.needs-check .preview-tag{background:var(--warning-soft);color:var(--warning)}.checked .preview-item-icon,.checked .preview-tag{background:var(--success-soft);color:var(--success)}.pending .preview-item-icon,.pending .preview-tag{background:#f0f3f5;color:#70818e}.privacy-float{right:-15px;bottom:-18px;padding:10px 13px;border-radius:8px;background:var(--navy)}
.trust-strip{background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid{min-height:82px}.trust-grid>div{border-right-color:var(--line)}.trust-grid strong{color:var(--blue)}.trust-grid span{color:var(--ink-2);font-size:13px}
.content-section{padding:112px 0}.section-kicker{color:var(--blue);letter-spacing:.1em}.editorial-heading{display:grid;grid-template-columns:.82fr 1.18fr;column-gap:80px;align-items:end;margin-bottom:48px}.editorial-heading .section-kicker{grid-column:1/-1;margin-bottom:14px}.editorial-heading h2{margin:0;color:var(--navy);font-size:clamp(36px,4vw,52px);line-height:1.26;letter-spacing:-.04em}.editorial-heading p{margin:0;color:var(--muted);line-height:1.9}.why-section{background:#fff}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.why-card{min-width:0;padding:34px 30px 31px;border-right:1px solid var(--line)}.why-card:first-child{padding-left:0}.why-card:last-child{padding-right:0;border-right:0}.why-card-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:800}.why-card-label span{color:var(--blue)}.why-card h3{min-height:58px;margin:18px 0 19px;font-size:20px;line-height:1.45;letter-spacing:-.02em}.why-card>p{color:var(--muted);font-size:13px;line-height:1.75}.compare-lines{display:grid;gap:7px;margin:0 0 20px}.compare-lines p{margin:0;padding:11px 12px;border:1px solid var(--line);border-radius:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.compare-lines small{display:block;margin-bottom:3px;color:var(--muted);font-size:8px}.compare-lines .is-different{border-color:#efc878;background:#fffaf0}.date-check{min-height:87px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:8px}.date-check div{display:flex;flex-direction:column;gap:4px}.date-check small{color:var(--muted);font-size:9px}.date-check strong{font-size:13px}.date-check>span{color:var(--mint-dark)}.readiness-list{display:grid;gap:7px;padding:13px;border:1px solid var(--line);border-radius:8px}.readiness-list span{padding:7px 9px;border-radius:5px;background:#f3f6f8;color:var(--muted);font-size:11px}.readiness-list .done{background:var(--success-soft);color:var(--success)}
.value-section{background:#f2f7ff;border-top:1px solid #dfebfb;border-bottom:1px solid #dfebfb}.value-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.value-copy h2{margin:13px 0 18px;font-size:clamp(35px,4vw,50px);line-height:1.28;letter-spacing:-.04em}.value-copy p{color:var(--muted);line-height:1.9}.value-list{display:grid;border-top:1px solid #cfdcf0}.value-list article{display:grid;grid-template-columns:42px 1fr;gap:19px;padding:25px 0;border-bottom:1px solid #cfdcf0}.value-list article>span{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;border:1px solid #aac0e7;color:var(--blue);font-size:12px;font-weight:850}.value-list h3{margin:0 0 6px;font-size:19px}.value-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.how-section{background:#fff}.section-heading.align-left{max-width:760px;margin:0 0 48px;text-align:left}.step-cards{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step-cards article{padding:31px 25px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}.step-cards article:first-child{padding-left:0}.step-cards article:last-child{padding-right:0;border-right:0}.step-cards article>span{position:static;color:var(--blue);font-size:11px}.step-icon{width:38px;height:38px;margin-top:21px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-size:18px}.step-cards h3{margin:18px 0 9px}
.section-muted{background:#f8fafb}.boundary-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:86px;align-items:center}.boundary-heading h2{margin:12px 0 17px;font-size:clamp(35px,4vw,50px);line-height:1.28;letter-spacing:-.04em}.boundary-heading p{color:var(--muted);line-height:1.9}.text-link{color:var(--blue)}.boundary-rows{display:grid;gap:11px}.boundary-rows article{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:21px 22px;border:1px solid var(--line);border-radius:10px;background:#fff}.boundary-badge{align-self:start;padding:6px 7px;border-radius:5px;text-align:center;font-size:9px;font-weight:900;letter-spacing:.07em}.boundary-badge.service{color:var(--success);background:var(--success-soft)}.boundary-badge.official{color:var(--blue);background:var(--blue-soft)}.boundary-badge.expert{color:#9d6130;background:#fff2e6}.boundary-rows h3{margin:0 0 6px;font-size:16px}.boundary-rows p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.security-section{background:#fff}.security-grid{grid-template-columns:1fr 1fr;gap:96px}.security-copy h2{margin:12px 0 18px;font-size:clamp(37px,4vw,52px);line-height:1.25;letter-spacing:-.04em}.security-visual{min-height:390px;padding:40px;display:flex;flex-direction:column;gap:15px;place-items:unset;justify-content:center;border:1px solid #cfe0f3;border-radius:14px;background:#f3f8ff}.security-visual::before,.security-visual::after{display:none}.local-device,.local-result{padding:20px;border:1px solid #d7e2ec;border-radius:10px;background:#fff;display:flex;align-items:center;gap:14px;box-shadow:0 8px 20px rgba(31,65,88,.05)}.local-device{flex-direction:column;align-items:flex-start}.device-dot{width:42px;height:7px;border-radius:4px;background:var(--blue)}.local-device strong,.local-result strong{font-size:16px}.local-device small,.local-result small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.local-arrow{color:var(--blue);text-align:center;font-size:22px}.local-result>span{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:var(--success-soft);color:var(--success);font-weight:850}.no-upload{padding:12px 15px;border-radius:8px;background:#fff;color:var(--ink-2);text-align:center;font-size:12px;border:1px dashed #bdcbd5}.no-upload span{color:var(--danger);margin-right:5px}
.usecase-section{padding-top:44px;background:#fff}.usecase-card{padding:43px 46px;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.usecase-card h2{margin:10px 0 0;font-size:32px}.usecase-card ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.usecase-card li{position:relative;padding-left:21px;color:var(--ink-2);font-size:14px}.usecase-card li::before{content:"✓";position:absolute;left:0;color:var(--mint-dark);font-weight:900}.cta-section{padding:44px 0 90px;background:#fff}.cta-card{min-height:245px;padding:50px 56px;border-radius:14px;background:var(--blue)}.cta-card::after{display:none}.cta-section p{max-width:680px}.section-kicker.light{color:#cbdcff}.site-footer{background:#102d42}
@media(max-width:980px){
  .footer-grid-compact { grid-template-columns:1.2fr 1fr 1fr; }.hero{background:#f5f9ff}.hero-grid,.editorial-heading,.value-layout,.boundary-layout,.security-grid,.usecase-card{grid-template-columns:1fr}.hero-grid{gap:52px}.editorial-heading,.value-layout,.boundary-layout,.security-grid,.usecase-card{gap:35px}.why-grid{grid-template-columns:1fr}.why-card{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.why-card:last-child{border-bottom:0}.step-cards{grid-template-columns:1fr 1fr}.step-cards article:nth-child(2){border-right:0}.step-cards article:nth-child(-n+2){border-bottom:1px solid var(--line)}.step-cards article:first-child,.step-cards article:nth-child(3){padding-left:0}.step-cards article:nth-child(2),.step-cards article:last-child{padding-right:0}}
@media(max-width:680px){.hero{padding:70px 0 78px}.hero h1{font-size:42px}.hero-lead{font-size:15px}.preview-body{padding:22px 15px 18px}.preview-item{grid-template-columns:34px 1fr}.preview-tag{grid-column:2;width:fit-content}.trust-grid{grid-template-columns:1fr;padding:16px 0}.trust-grid>div{min-height:48px;padding:0;border-right:0;border-bottom:1px solid var(--line)}.trust-grid>div:last-child{border-bottom:0}.content-section{padding:82px 0}.editorial-heading h2,.value-copy h2,.boundary-heading h2,.security-copy h2{font-size:36px}.step-cards{grid-template-columns:1fr}.step-cards article,.step-cards article:first-child,.step-cards article:nth-child(2),.step-cards article:nth-child(3),.step-cards article:last-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.step-cards article:last-child{border-bottom:0}.boundary-rows article{grid-template-columns:1fr;gap:11px}.usecase-card{padding:35px 0}.usecase-card ul{grid-template-columns:1fr}.cta-card{padding:38px 28px}}

/* Direction A3 — Audience-first identity and human gradient */
:root {
  --brand-blue: #2f6bff;
  --brand-blue-deep: #1c53d8;
  --brand-sky: #8dbfff;
  --brand-mint: #77d8bd;
  --brand-warm: #ffd5b2;
}

.brand-symbol {
  width: 42px;
  height: 42px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}
.brand-symbol img { width: 100%; height: 100%; display: block; }
.brand-lockup { display: flex; flex-direction: column; justify-content: center; gap: 2px; line-height: 1; }
.brand-name {
  display: inline-flex;
  align-items: baseline;
  color: var(--navy);
  font-size: 18px;
  font-weight: 760;
  letter-spacing: -.052em;
  line-height: 1;
}
.brand-name b { color: var(--brand-blue); font-weight: 840; }
.brand-lockup small {
  color: #728697;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: none;
  white-space: nowrap;
}
.header-inner { min-height: 78px; }
.site-header { box-shadow: 0 1px 0 rgba(22,48,71,.03); }

.hero {
  min-height: 780px;
  padding: 92px 0 104px;
  isolation: isolate;
  background:
    radial-gradient(68% 92% at 8% 4%, rgba(91, 159, 255, .21) 0%, rgba(91, 159, 255, .08) 38%, transparent 70%),
    radial-gradient(58% 78% at 91% 16%, rgba(96, 213, 180, .16) 0%, transparent 68%),
    radial-gradient(54% 70% at 86% 102%, rgba(255, 205, 164, .23) 0%, transparent 66%),
    linear-gradient(132deg, #f5faff 0%, #f7fbff 40%, #f5fbf8 70%, #fff8f2 100%);
}
.hero::before {
  content: "";
  position: absolute;
  width: 740px;
  height: 740px;
  right: -330px;
  top: -380px;
  border: 1px solid rgba(47,107,255,.08);
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  mask-image: none;
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  width: 520px;
  height: 1px;
  left: -80px;
  bottom: 102px;
  transform: rotate(-8deg);
  background: linear-gradient(90deg, transparent, rgba(47,107,255,.17), transparent);
  pointer-events: none;
}
.hero-aurora { position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-aurora-one { width: 290px; height: 290px; left: 38%; top: 8%; background: radial-gradient(circle, rgba(255,255,255,.7), rgba(255,255,255,0) 72%); }
.hero-aurora-two { width: 260px; height: 260px; right: 19%; bottom: 3%; background: radial-gradient(circle, rgba(255,242,229,.5), rgba(255,242,229,0) 72%); }
.hero-grid { grid-template-columns: 1.03fr .97fr; gap: 82px; align-items: center; }
.hero-copy { max-width: 655px; }
.audience-line {
  width: fit-content;
  margin-bottom: 28px;
  padding-left: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-left: 3px solid var(--brand-blue);
}
.audience-line span { color: var(--navy); font-size: 14px; font-weight: 840; letter-spacing: -.01em; }
.audience-line small { color: var(--muted); font-size: 11px; font-weight: 650; letter-spacing: .025em; }
.hero h1 { font-size: clamp(44px, 4.65vw, 64px); line-height: 1.17; letter-spacing: -.052em; font-weight: 810; }
.hero h1 em { color: var(--brand-blue-deep); }
.hero-lead { max-width: 650px; margin: 27px 0 25px; font-size: 16px; line-height: 1.9; }
.hero-usecases {
  max-width: 650px;
  margin: 0 0 29px;
  padding: 18px 0 17px;
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 18px;
  border-top: 1px solid rgba(72,102,126,.19);
  border-bottom: 1px solid rgba(72,102,126,.19);
}
.hero-usecases-title { color: var(--navy); font-size: 12px; font-weight: 850; }
.hero-usecases ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.hero-usecases li { position: relative; padding-left: 17px; color: var(--ink-2); font-size: 13px; line-height: 1.55; }
.hero-usecases li::before { content: ""; position: absolute; left: 0; top: .57em; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-mint); box-shadow: 0 0 0 4px rgba(119,216,189,.15); }
.hero-actions { gap: 10px; }
.hero-actions .button-secondary { background: rgba(255,255,255,.64); backdrop-filter: blur(8px); }
.hero-points { margin-top: 20px; }
.hero-points li { font-size: 11px; }

.hero-panel.comparison-panel {
  position: relative;
  padding: 0;
  transform: none;
  overflow: visible;
  border: 1px solid rgba(172,194,211,.76);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 30px 74px rgba(31,65,88,.14), 0 3px 12px rgba(31,65,88,.06);
  backdrop-filter: blur(14px);
}
.comparison-panel::before {
  content: "";
  position: absolute;
  inset: 12px -12px -12px 12px;
  z-index: -1;
  display: none;
  border: 1px solid rgba(47,107,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.27);
}
.comparison-head {
  min-height: 78px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #e3ebf0;
}
.comparison-head > div { display: flex; align-items: center; gap: 13px; }
.comparison-head img { width: 31px; height: 31px; }
.comparison-head span:not(.comparison-demo-label) { display: flex; flex-direction: column; gap: 3px; }
.comparison-head small { color: var(--brand-blue); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.comparison-head strong { color: var(--navy); font-size: 14px; }
.comparison-demo-label { padding: 6px 9px; border: 1px solid #dbe5eb; border-radius: 5px; color: var(--muted); background: #f7f9fa; font-size: 9px; font-weight: 750; }
.comparison-source-list { padding: 16px 24px 4px; }
.source-row {
  min-height: 88px;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 13px;
  align-items: center;
  border-bottom: 1px solid #e6edf1;
}
.source-row:last-child { border-bottom: 0; }
.source-index { color: #9aabb7; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.source-row > div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.source-row small { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; }
.source-row strong { color: var(--navy); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; letter-spacing: .01em; }
.source-row > div > span { color: #7a8c99; font-size: 10px; }
.source-row.has-difference { margin: 0 -10px; padding: 0 10px; border: 1px solid #f1d3a7; border-radius: 9px; background: #fffaf2; }
.source-state { padding: 5px 7px; border-radius: 5px; font-size: 9px; white-space: nowrap; }
.source-state.is-ok { color: var(--success); background: var(--success-soft); }
.source-state.is-check { color: var(--warning); background: var(--warning-soft); }
.comparison-summary {
  margin: 12px 24px 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border: 1px solid #dfe8ee;
  border-radius: 10px;
  overflow: hidden;
}
.comparison-summary > div { padding: 13px 14px; display: flex; flex-direction: column; gap: 4px; border-right: 1px solid #dfe8ee; background: #f8fafb; }
.comparison-summary > div:last-child { border-right: 0; }
.comparison-summary small { color: var(--muted); font-size: 8px; }
.comparison-summary strong { color: var(--navy); font-size: 12px; }
.comparison-note { margin: 14px 24px 23px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.comparison-panel .privacy-float { right: -13px; bottom: -16px; border-radius: 7px; background: var(--navy); }

.trust-strip { background: rgba(255,255,255,.85); backdrop-filter: blur(12px); }
.trust-grid { min-height: 78px; }
.trust-grid strong { color: var(--brand-blue); }
.trust-grid span { max-width: 290px; }

.usecase-section-primary {
  padding: 88px 0 98px;
  background: #ffffff;
  border-bottom: 1px solid var(--line);
}
.usecase-intro {
  max-width: 790px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  column-gap: 72px;
  align-items: end;
  margin-bottom: 42px;
}
.usecase-intro .section-kicker { grid-column: 1 / -1; margin-bottom: 13px; }
.usecase-intro h2 { margin: 0; color: var(--navy); font-size: clamp(35px,4vw,50px); line-height: 1.22; letter-spacing: -.04em; }
.usecase-intro p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
.usecase-feature-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.usecase-feature-grid article { min-width: 0; padding: 30px 25px 28px; border-right: 1px solid var(--line); }
.usecase-feature-grid article:first-child { padding-left: 0; }
.usecase-feature-grid article:last-child { padding-right: 0; border-right: 0; }
.usecase-feature-grid article > span { color: var(--brand-blue); font-size: 10px; font-weight: 850; }
.usecase-feature-grid h3 { min-height: 52px; margin: 15px 0 12px; color: var(--navy); font-size: 18px; line-height: 1.45; letter-spacing: -.02em; }
.usecase-feature-grid p { min-height: 76px; margin: 0 0 17px; color: var(--ink-2); font-size: 12px; line-height: 1.75; }
.usecase-feature-grid small { display: block; padding-top: 14px; border-top: 1px solid #e7edf1; color: var(--muted); font-size: 10px; line-height: 1.55; }

.wizard-brand > img { width: 37px; height: 37px; flex: 0 0 auto; }
.wizard-brand > span { display: none; }
.legal-hero .brand-lockup small { color: rgba(255,255,255,.62); }
.site-footer .brand-name { color: #fff; }
.site-footer .brand-name b { color: #79a5ff; }
.site-footer .brand-lockup small { color: rgba(255,255,255,.55); }

@media (max-width: 980px) {
  .hero { min-height: auto; padding: 78px 0 88px; }
  .hero-grid { grid-template-columns: 1fr; gap: 58px; }
  .hero-copy { max-width: 760px; }
  .hero-panel.comparison-panel { max-width: 680px; width: 100%; margin: 0 auto; }
  .usecase-intro { grid-template-columns: 1fr; gap: 18px; }
  .usecase-feature-grid { grid-template-columns: 1fr 1fr; }
  .usecase-feature-grid article:nth-child(2) { border-right: 0; }
  .usecase-feature-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .usecase-feature-grid article:first-child,
  .usecase-feature-grid article:nth-child(3) { padding-left: 0; }
  .usecase-feature-grid article:nth-child(2),
  .usecase-feature-grid article:last-child { padding-right: 0; }
}

@media (max-width: 680px) {
  .header-inner { min-height: 70px; }
  .brand-symbol { width: 36px; height: 36px; }
  .brand-name { font-size: 16px; }
  .brand-lockup small { font-size: 8px; }
  .hero { padding: 58px 0 70px; background:
    radial-gradient(110% 62% at 0% 0%, rgba(91,159,255,.20), transparent 68%),
    radial-gradient(90% 62% at 100% 31%, rgba(96,213,180,.14), transparent 68%),
    radial-gradient(100% 56% at 85% 100%, rgba(255,205,164,.20), transparent 72%),
    linear-gradient(145deg,#f5faff 0%,#f7fbff 47%,#f7fbf8 76%,#fff9f4 100%);
  }
  .hero::before { width: 420px; height: 420px; right: -280px; top: -240px; }
  .hero h1 { font-size: 40px; line-height: 1.2; }
  .audience-line { margin-bottom: 23px; }
  .audience-line span { font-size: 13px; }
  .audience-line small { font-size: 9px; }
  .hero-lead { margin-top: 22px; font-size: 14px; line-height: 1.85; }
  .hero-usecases { grid-template-columns: 1fr; gap: 10px; padding: 16px 0; }
  .hero-usecases-title { font-size: 11px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .hero-points { display: grid; grid-template-columns: 1fr; gap: 7px; }
  .hero-grid { gap: 46px; }
  .hero-panel.comparison-panel { border-radius: 13px; }
  .comparison-head { min-height: 67px; padding: 0 15px; }
  .comparison-head strong { font-size: 12px; }
  .comparison-source-list { padding: 10px 14px 2px; }
  .source-row { min-height: 82px; grid-template-columns: 26px 1fr; gap: 10px; }
  .source-row > .source-state { grid-column: 2; width: fit-content; margin-top: -10px; margin-bottom: 8px; }
  .source-row strong { font-size: 12px; }
  .comparison-summary { margin: 10px 14px 0; }
  .comparison-summary > div { padding: 11px 8px; }
  .comparison-summary strong { font-size: 10px; }
  .comparison-note { margin: 13px 14px 20px; }
  .comparison-panel .privacy-float { right: 8px; bottom: -17px; }
  .usecase-section-primary { padding: 72px 0 78px; }
  .usecase-intro { margin-bottom: 30px; }
  .usecase-intro h2 { font-size: 34px; }
  .usecase-feature-grid { grid-template-columns: 1fr; }
  .usecase-feature-grid article,
  .usecase-feature-grid article:first-child,
  .usecase-feature-grid article:nth-child(2),
  .usecase-feature-grid article:nth-child(3),
  .usecase-feature-grid article:last-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .usecase-feature-grid article:last-child { border-bottom: 0; }
  .usecase-feature-grid h3,
  .usecase-feature-grid p { min-height: 0; }
}
.legal-hero .brand-name { color: #fff; }
.legal-hero .brand-name b { color: #79a5ff; }

/* =========================================================
   VisaReady Public Test — A3 application flow
   ========================================================= */
.hero-demo-link{margin-top:18px;padding:0;border:0;color:#526b7c;background:transparent;font-size:11px;font-weight:720;text-decoration:underline;text-decoration-color:rgba(47,107,255,.28);text-underline-offset:4px;cursor:pointer}.hero-demo-link:hover{color:var(--brand-blue-deep)}.hero-demo-link-prominent{width:min(100%,540px);padding:14px 17px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border:1px solid #bdd0ff;border-radius:11px;color:#174fae;background:linear-gradient(135deg,#eef4ff,#f8fbff);box-shadow:0 10px 24px rgba(47,107,255,.09);text-align:left;text-decoration:none}.hero-demo-link-prominent>span{padding:5px 7px;border-radius:5px;color:#fff;background:#2f6bff;font-size:8px;font-weight:900;letter-spacing:.12em}.hero-demo-link-prominent>strong{font-size:12px}.hero-demo-link-prominent>b{font-size:17px}.hero-demo-link-prominent:hover{border-color:#7ca2ff;background:#e8f0ff;transform:translateY(-1px)}
.saved-resume-panel{margin-top:16px;padding:15px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 18px;align-items:center;border:1px solid #b9d8cf;border-radius:12px;background:linear-gradient(135deg,#f0faf6,#f8fbff);box-shadow:0 10px 28px rgba(17,91,72,.07)}.saved-resume-panel[hidden]{display:none}.saved-resume-label{grid-column:1/-1;color:#0d7058;font-size:8px;font-weight:900;letter-spacing:.14em}.saved-resume-panel strong{display:block;color:var(--navy);font-size:14px}.saved-resume-panel small{display:block;margin-top:4px;color:#5f7783;font-size:10px;line-height:1.6}.saved-resume-actions{display:flex;align-items:center;gap:10px}.saved-resume-actions .button{min-height:38px;padding:0 15px;white-space:nowrap}
@media(max-width:760px){.saved-resume-panel{grid-template-columns:1fr}.saved-resume-actions{display:grid;grid-template-columns:1fr}.saved-resume-actions .button{width:100%}.saved-resume-panel strong{font-size:15px}.saved-resume-panel small{font-size:11px}.hero-demo-link-prominent{grid-template-columns:auto 1fr auto}.hero-demo-link-prominent>strong{font-size:11px}}
body.app-mode{background:radial-gradient(80% 50% at 0% 0%,rgba(96,161,255,.10),transparent 65%),radial-gradient(65% 48% at 100% 8%,rgba(119,216,189,.10),transparent 70%),#f4f7fa}.app-shell{min-height:100vh;background:transparent}.app-topbar{position:sticky;top:0;z-index:50;min-height:72px;border-bottom:1px solid rgba(194,209,219,.76);background:rgba(255,255,255,.89);backdrop-filter:blur(18px)}.app-topbar-inner{min-height:72px;grid-template-columns:auto 1fr auto;gap:16px}.app-title{display:flex;flex-direction:row;align-items:center;gap:10px}.app-title-mark{width:31px;height:31px;display:grid;place-items:center}.app-title-mark img{width:100%;height:100%}.app-title>div{display:flex;flex-direction:column;gap:1px}.app-title strong{font-size:13px;letter-spacing:-.02em}.app-title small{color:var(--muted);font-size:9px}.app-topbar-status{display:inline-flex;align-items:center;gap:7px;color:#587081;font-size:10px;white-space:nowrap}.local-dot{width:7px;height:7px;border-radius:50%;background:#45c7a3;box-shadow:0 0 0 4px rgba(69,199,163,.12)}
.app-title-home{width:fit-content;color:inherit;text-decoration:none}.app-title-home:hover strong{color:var(--brand-blue-deep)}
.demo-result-actions{margin-bottom:24px;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #bcd0ff;border-radius:12px;background:linear-gradient(135deg,#eef4ff,#f7fbff)}.demo-result-actions[hidden]{display:none}.demo-result-actions>div:first-child{display:flex;flex-direction:column;gap:4px}.demo-result-actions span{color:#2f6bff;font-size:8px;font-weight:900;letter-spacing:.14em}.demo-result-actions strong{color:var(--navy);font-size:14px}.demo-result-actions small{color:var(--muted);font-size:10px}.demo-result-actions>div:last-child{display:flex;gap:8px}.demo-result-mode .app-topbar,.demo-result-mode .wizard-sidebar,.demo-result-mode .mobile-progress,.demo-result-mode .result-header-actions,.demo-result-mode .next-action-section,.demo-result-mode .public-issues-list button,.demo-result-mode .result-comparison-table button,.demo-result-mode .notice-support-upsell,.demo-result-mode .public-official-box,.demo-result-mode .report-actions{display:none!important}.demo-result-mode .public-test-layout{display:block;max-width:980px}.demo-result-mode .public-test-main{width:100%}
.demo-result-bottom-actions{display:flex;margin-top:28px;padding-top:22px;justify-content:center;gap:10px;border-top:1px solid #dbe5eb}.demo-result-bottom-actions[hidden]{display:none}.demo-result-bottom-actions .button{min-width:210px}
@media(max-width:760px){.demo-result-bottom-actions{display:grid;grid-template-columns:1fr}.demo-result-bottom-actions .button{width:100%;min-width:0}}
@media(max-width:760px){.demo-result-actions{align-items:stretch;flex-direction:column}.demo-result-actions>div:last-child{display:grid;grid-template-columns:1fr}.demo-result-actions .button{width:100%}}
.session-delete-wrap{display:grid;justify-items:center;gap:3px}.session-delete-wrap small{color:#728692;font-size:10px;line-height:1.25;white-space:nowrap}
.public-test-layout{grid-template-columns:252px minmax(0,1fr);gap:22px;max-width:1240px;padding-top:22px;padding-bottom:90px}.public-test-sidebar{top:94px;min-height:calc(100vh - 116px);padding:24px 18px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:radial-gradient(90% 55% at 0% 0%,rgba(63,126,255,.24),transparent 70%),linear-gradient(165deg,#102c46 0%,#0c253c 60%,#0a2034 100%);box-shadow:0 22px 56px rgba(12,37,60,.13)}.public-test-sidebar .wizard-brand{padding:0 7px 20px}.sidebar-intro{padding:22px 8px 6px;display:flex;flex-direction:column;gap:8px}.sidebar-intro span{color:#77d8bd;font-size:8px;font-weight:900;letter-spacing:.16em}.sidebar-intro strong{color:#fff;font-size:17px;line-height:1.55;letter-spacing:-.025em}.public-test-sidebar .step-nav{gap:3px;padding-top:16px}.public-test-sidebar .step-nav button{padding:11px 9px;border-radius:9px;cursor:pointer}.public-test-sidebar .step-nav button>span{width:27px;height:27px;border-radius:8px}.public-test-sidebar .step-nav li.is-current button{background:rgba(255,255,255,.10);box-shadow:inset 3px 0 0 #77d8bd}.public-test-sidebar .step-nav li.is-current button>span{color:#0c253c;background:#fff;border-color:#fff}.public-test-sidebar .step-nav li.is-complete button>span{color:#0c253c;background:#77d8bd}.public-test-sidebar .sidebar-note{border:1px solid rgba(255,255,255,.08)}
.public-test-main{min-height:calc(100vh - 116px);padding:54px 58px 48px;border:1px solid rgba(205,217,225,.84);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 18px 58px rgba(31,65,88,.075)}.public-test-main .wizard-step{min-height:670px}.public-test-heading{max-width:780px;margin-bottom:34px}.public-test-heading>span{color:var(--brand-blue);font-size:9px;letter-spacing:.15em}.public-test-heading h1{margin-top:12px;font-size:clamp(34px,4vw,50px);line-height:1.24;font-weight:790;letter-spacing:-.045em}.public-test-heading p{max-width:700px;color:#5e7382;font-size:13px;line-height:1.9}.scope-reminder{margin:-2px 0 34px;padding:17px 19px;display:flex;align-items:flex-start;gap:13px;border:1px solid #d8e7f0;border-radius:11px;background:#f6fbff}.scope-reminder-icon{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--brand-blue);font-size:11px;font-weight:900}.scope-reminder strong{display:block;color:var(--navy);font-size:12px}.scope-reminder p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.public-destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.public-destination-grid .destination-card{min-height:96px;padding:13px 12px;position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;justify-content:stretch;gap:10px;border-radius:11px;text-align:left}.public-destination-grid .destination-card:hover{transform:translateY(-1px);border-color:#8cb2ff}.public-destination-grid .destination-card.is-selected{border:1px solid var(--brand-blue);background:#f1f6ff;box-shadow:0 8px 20px rgba(47,107,255,.10)}.public-destination-grid .flag{font-size:25px}.destination-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.public-destination-grid .destination-copy strong{font-size:11px;line-height:1.25}.public-destination-grid .destination-copy small{font-size:8px;line-height:1.3}.destination-check{position:absolute;right:8px;top:8px;width:17px;height:17px;display:none;place-items:center;border-radius:50%;color:#fff;background:var(--brand-blue);font-size:8px;font-weight:900}.destination-card.is-selected .destination-check{display:grid}.other-destination-field{margin-top:14px;padding:16px;display:grid;gap:8px;border:1px solid #d9e4ea;border-radius:10px;background:#f8fafb}.other-destination-field[hidden]{display:none}.other-destination-field>span{color:var(--navy);font-size:12px;font-weight:800}.other-destination-field>span b{color:var(--danger);font-size:9px}.other-destination-field small{color:var(--muted);font-size:10px;line-height:1.65}.official-manual-note{color:#5e7482!important;font-size:10px!important;font-weight:800}.form-section-split{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:stretch}.demo-card{padding:17px 18px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dfe6f6;border-radius:11px;background:linear-gradient(145deg,#fbfaff,#f4f5ff)}.demo-card>span{color:#675ee6;font-size:8px;font-weight:900;letter-spacing:.13em}.demo-card strong{margin-top:8px;color:#161c48;font-size:12px}.demo-card p{margin:6px 0 13px;color:#667083;font-size:9px;line-height:1.55}.demo-card button{margin-top:auto;padding:0;border:0;color:#4e4bd6;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.public-consent{margin-top:27px;padding:18px;border-color:#d6e0e7;background:#fbfcfd}.public-consent label>span{display:flex;flex-direction:column;gap:3px}.public-consent label strong{color:var(--navy);font-size:11px}.public-consent label small{color:var(--muted);font-size:9px;line-height:1.55}.public-consent input{accent-color:var(--brand-blue)}
.profile-guide-grid{margin:0 0 34px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dbe4ea;border-bottom:1px solid #dbe4ea}.profile-guide-grid>div{padding:18px 17px;border-right:1px solid #dbe4ea}.profile-guide-grid>div:first-child{padding-left:0}.profile-guide-grid>div:last-child{padding-right:0;border-right:0}.profile-guide-grid span{color:var(--brand-blue);font-size:8px;font-weight:900}.profile-guide-grid strong{display:block;margin-top:8px;color:var(--navy);font-size:11px}.profile-guide-grid p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.55}.profile-form-grid{gap:24px 18px}.profile-form-grid .form-control{min-height:54px;border-color:#cbd9e2;border-radius:9px;background:#fff}.profile-form-grid .form-control:focus{border-color:var(--brand-blue);box-shadow:0 0 0 4px rgba(47,107,255,.09)}.public-privacy-inline{border:1px solid #d9e8e4;border-radius:11px;background:#f4fbf8}.public-privacy-inline>span{color:#0e6756;background:#bcefdc}.public-toggle{border-top:1px solid #e3eaee}.public-toggle input:checked+.toggle{background:var(--brand-blue)}
.upload-overview{margin:0 0 25px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dce5eb;border-radius:10px;background:#f8fafb}.upload-overview>div:first-child{display:flex;align-items:baseline;gap:12px}.upload-overview #uploadCount{color:var(--navy);font-size:14px;font-weight:850}.upload-overview #requiredCount{color:var(--muted);font-size:9px;font-weight:700}.public-privacy-badge{color:#0b755e!important;background:#e5f8f2}.public-document-list{display:grid;gap:34px}.document-group{display:grid;gap:12px}.document-group-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;padding-bottom:10px;border-bottom:1px solid #dce5eb}.document-group-heading>div span{color:var(--brand-blue);font-size:8px;font-weight:900;letter-spacing:.14em}.document-group-heading h2{margin:5px 0 0;color:var(--navy);font-size:17px}.document-group-heading p{margin:0;color:var(--muted);font-size:9px;line-height:1.65}.document-group-list{display:grid;gap:10px}.public-test-card{border-color:#dce5eb;border-radius:11px;transition:border-color .18s ease,box-shadow .18s ease}.public-test-card.is-complete{border-color:#b9d7cf;box-shadow:0 6px 18px rgba(20,78,63,.04)}.public-test-card.is-processing{border-color:#8cb2ff}.public-test-card .document-row{min-height:92px;padding:17px 18px;grid-template-columns:42px minmax(0,1fr) auto}.public-test-card .doc-icon{width:38px;height:38px;border-radius:9px;color:#31536c;background:#eef3f7;font-size:10px}.public-test-card.is-complete .doc-icon{color:#116f58;background:#e5f7f1}.doc-title-line{display:flex;align-items:center;gap:8px}.doc-title-line h3{margin:0;font-size:12px}.doc-title-line b,.doc-title-line>span{padding:3px 6px;border-radius:4px;font-size:7px;font-weight:800}.doc-title-line b{color:#275ec9;background:#edf4ff}.doc-title-line>span{color:#6d7b86;background:#f0f3f5}.public-test-card .doc-meta>p{margin-top:5px;font-size:9px}.doc-state-line{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.doc-state{padding:4px 7px;border-radius:4px;font-size:8px;font-weight:850}.doc-state.empty{color:#6b7b87;background:#eef2f4}.doc-state.ready{color:#9a620a;background:#fff3d8}.doc-state.confirmed{color:#0f745b;background:#e5f7f1}.doc-state-line small{color:#7b8b96;font-size:8px}.public-test-card .doc-actions{flex-wrap:wrap;justify-content:flex-end}.public-test-card .file-label,.manual-add,.public-test-card .doc-delete{min-height:34px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd7df;border-radius:7px;color:var(--navy);background:#fff;font-size:9px;font-weight:780;cursor:pointer}.manual-add{color:#466072}.public-test-card .doc-delete{width:auto;height:auto;color:#a13845}.upload-field-preview{padding:10px 18px 15px 78px;display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid #edf1f3}.upload-field-preview span{min-width:145px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;border-radius:7px;background:#f7f9fa;color:var(--navy);font-size:9px;font-weight:700}.upload-field-preview small{color:#7d8d98;font-size:7px;font-weight:650}.document-note{margin:-4px 18px 14px 78px;color:#95650d;font-size:8px;line-height:1.6}.public-upload-disclaimer{display:flex;gap:7px;border-left-color:#f2b563;border-radius:0 8px 8px 0;font-size:9px}.public-upload-disclaimer strong{flex:0 0 auto}
.review-heading{margin-bottom:24px}.review-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.review-overview>div{padding:15px 16px;display:flex;align-items:baseline;justify-content:space-between;border:1px solid #dce5eb;border-radius:9px;background:#fafcfd}.review-overview small{color:var(--muted);font-size:9px}.review-overview strong{color:var(--navy);font-size:17px}.review-notice{margin-bottom:32px;padding:15px 17px;display:flex;gap:12px;border:1px solid #eed9ad;border-radius:9px;background:#fffaf0}.review-notice>span{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#9d6508;background:#ffedc7;font-size:10px;font-weight:900}.review-notice strong{display:block;color:#614719;font-size:11px}.review-notice p{margin:4px 0 0;color:#8a7040;font-size:9px;line-height:1.55}.review-notice.is-complete{border-color:#bfe2d7;background:#f1faf7}.review-notice.is-complete>span{color:#0e7059;background:#c7eddf}.review-notice.is-complete strong{color:#145c4d}.review-notice.is-complete p{color:#56766d}.review-section-block{margin-top:30px}.review-section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:24px;margin-bottom:12px}.review-section-heading span,.result-section-head>div>span{color:var(--brand-blue);font-size:8px;font-weight:900;letter-spacing:.14em}.review-section-heading h2,.result-section-head>div h2{margin:5px 0 0;color:var(--navy);font-size:18px}.review-section-heading p{margin:0;color:var(--muted);font-size:9px;line-height:1.65}.review-comparison-table{display:grid;gap:8px}.review-comparison-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:13px 14px;border:1px solid #dce5eb;border-radius:9px;background:#fff}.review-comparison-row.difference{border-color:#efcc94;background:#fffbf4}.review-comparison-row.match{border-color:#c9e2da;background:#f8fcfa}.comparison-field-label{display:flex;flex-direction:column;gap:7px}.comparison-field-label>span{color:var(--navy);font-size:10px;font-weight:800}.comparison-field-label b{width:fit-content;padding:3px 6px;border-radius:4px;color:#667985;background:#eef2f4;font-size:7px}.review-comparison-row.difference .comparison-field-label b{color:#98610b;background:#ffedc9}.review-comparison-row.match .comparison-field-label b{color:#0f6f58;background:#e0f5ee}.comparison-values{min-width:0;display:flex;flex-wrap:wrap;gap:7px}.comparison-value{min-width:145px;max-width:220px;padding:8px 9px;display:flex;flex-direction:column;gap:3px;border-left:2px solid #c8d5dd;background:#f7f9fa}.comparison-value.baseline{border-left-color:var(--brand-blue);background:#f2f6ff}.comparison-value small{color:#71838f;font-size:7px;line-height:1.3}.comparison-value strong{overflow-wrap:anywhere;color:var(--navy);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.review-document-list{display:grid;gap:12px}.review-document-card{overflow:hidden;border:1px solid #dce5eb;border-radius:11px;background:#fff}.review-document-card.is-confirmed{border-color:#aed9cc;box-shadow:0 7px 22px rgba(16,107,84,.055)}.review-document-card>header{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e5ebef;background:#fafcfd}.review-doc-heading{display:flex;align-items:center;gap:11px}.review-doc-index{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;color:#294d67;background:#eaf1f6;font-size:9px;font-weight:850}.review-doc-heading h3{margin:0;color:var(--navy);font-size:11px}.review-doc-heading p{margin:3px 0 0;color:var(--muted);font-size:8px}.review-state{padding:5px 7px;border-radius:4px;color:#9b6209;background:#fff0ce;font-size:8px;font-weight:850;white-space:nowrap}.review-document-card.is-confirmed .review-state{color:#0e7058;background:#dff4ed}.review-doc-note{margin:0;padding:10px 17px;color:#89631f;background:#fffaf0;font-size:8px;line-height:1.6}.review-field-grid{padding:16px 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.review-field-grid label{min-width:0;display:flex;flex-direction:column;gap:5px}.review-field-grid label>span{color:#617784;font-size:8px;font-weight:750}.review-field-grid input{width:100%;min-height:40px;padding:0 10px;border:1px solid #d2dde4;border-radius:7px;color:var(--navy);background:#fff;font-size:10px;font-weight:700}.review-field-grid input:focus{border-color:var(--brand-blue);outline:0;box-shadow:0 0 0 3px rgba(47,107,255,.08)}.photo-review-note{padding:18px 17px;display:flex;gap:12px;align-items:flex-start}.photo-review-note>span{padding:5px 7px;border-radius:4px;color:#275ec9;background:#edf4ff;font-size:8px;font-weight:850}.photo-review-note p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.review-document-card>footer{padding:12px 17px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e7edf0}.button-confirmed{color:#0b6954;background:#e4f7f0;border:1px solid #b8ddcf}.empty-state{padding:34px;text-align:center;border:1px dashed #ccd8df;border-radius:10px;background:#fafcfd}.empty-state strong{font-size:12px}.empty-state p{color:var(--muted);font-size:9px}
.review-profile-action{margin:-20px 0 30px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d8e3ed;border-radius:9px;background:#f6f9ff}.review-profile-action>div{display:flex;flex-direction:column;gap:4px}.review-profile-action strong{color:var(--navy);font-size:10px}.review-profile-action span{color:var(--muted);font-size:8px;line-height:1.55}.review-profile-action .button{flex:0 0 auto}.comparison-edit-profile{width:fit-content;padding:0;border:0;color:var(--brand-blue-deep);background:transparent;font-size:8px;font-weight:850;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.review-success-section{padding:20px;border:1px solid #c5e2d8;border-radius:12px;background:linear-gradient(145deg,#f3fbf8,#fbfefd)}.check-activity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.check-activity-summary>div{padding:12px 13px;display:flex;align-items:baseline;justify-content:space-between;border:1px solid #d5e8e2;border-radius:8px;background:#fff}.check-activity-summary strong{color:#0d7058;font-size:18px}.check-activity-summary small{color:#647b73;font-size:8px}.successful-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.successful-check-item{min-width:0;padding:12px 13px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;border:1px solid #cce4dc;border-radius:9px;background:#fff}.successful-check-item>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#0c7057;background:#dff4ec;font-size:10px;font-weight:900}.successful-check-item h3{margin:1px 0 0;color:var(--navy);font-size:10px;line-height:1.45}.successful-check-item p{margin:4px 0 0;color:#647b73;font-size:8px;line-height:1.55}.empty-check-state{grid-column:1/-1;padding:18px;border:1px dashed #c9d9d3;border-radius:9px;background:#fff;text-align:center}.empty-check-state strong{color:var(--navy);font-size:10px}.empty-check-state p{margin:5px 0 0;color:var(--muted);font-size:8px}
.review-attention-section{padding:20px;border:1px solid #ead6b4;border-radius:12px;background:linear-gradient(145deg,#fffaf2,#fff)}.review-attention-summary{display:flex;align-items:center;justify-content:flex-end;gap:7px}.review-attention-summary .count-badge{font-size:9px}.missing-count-badge{color:#a13b48;background:#fff0f2}.review-attention-guidance{margin:-2px 0 12px;color:#725f43;font-size:9px;line-height:1.7}.review-issues-list{display:grid;gap:8px}.save-progress{white-space:nowrap}
.document-type-check.confirmed{border-color:#bfe2d6;background:#f1fbf7}.document-type-check.confirmed>span{color:#0c7057;background:#dff4ec}.document-type-check.confirmed strong{color:#0c7057}
.document-type-check{margin:12px 17px 0;padding:11px 13px;display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;border:1px solid #e3d8bd;border-radius:8px;background:#fffaf1}.document-type-check>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#94610d;background:#ffedc9;font-size:9px;font-weight:900}.document-type-check strong{display:block;color:#6d501c;font-size:10px}.document-type-check p{margin:4px 0 0;color:#806d49;font-size:8px;line-height:1.6}.document-type-check.match{border-color:#c5e1d8;background:#f4fbf8}.document-type-check.match>span{color:#0c7057;background:#dff4ec}.document-type-check.match strong{color:#0e6651}.document-type-check.different{border-color:#edc6cb;background:#fff5f6}.document-type-check.different>span{color:#a13b48;background:#ffe3e7}.document-type-check.different strong{color:#8c2e3a}.document-type-check.compact{width:fit-content;margin:8px 0 0;padding:5px 8px;grid-template-columns:16px auto;gap:6px}.document-type-check.compact>span{width:16px;height:16px;font-size:7px}.document-type-check.compact strong{font-size:8px}.review-document-card>.document-type-check{margin-bottom:12px}
.passport-name-source{margin:12px 17px 0;padding:12px 13px;display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;border:1px solid #bfd4f5;border-radius:8px;background:#f4f8ff}.passport-name-source>div{min-width:0;display:flex;flex-direction:column;gap:4px}.passport-name-source span{color:#547083;font-size:9px;font-weight:750}.passport-name-source strong{overflow-wrap:anywhere;color:var(--navy);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.passport-name-source p{grid-column:1/-1;margin:2px 0 0;color:#526d7e;font-size:9px;line-height:1.6}.review-document-card.is-confirmed .passport-name-source{border-color:#b9ddd2;background:#f4fbf8}
.document-type-attention{border-color:#c8d9ee;background:#f4f8ff}.document-type-attention>span{color:#275ec9;background:#e2edff}.document-type-attention strong{color:#244d87}.document-type-attention p{color:#5b7190}
.public-results-header{align-items:flex-end;margin-bottom:24px}.public-results-header h1{font-size:clamp(34px,4vw,48px)}.result-status-panel{padding:22px 23px;display:grid;grid-template-columns:auto 1fr;gap:17px;align-items:start;border:1px solid #d8e3e9;border-radius:12px;background:#f8fafb}.result-status-panel>span{min-width:72px;padding:6px 9px;border-radius:5px;color:#5e7180;background:#e9eef1;text-align:center;font-size:8px;font-weight:850}.result-status-panel h2{margin:0;color:var(--navy);font-size:22px;letter-spacing:-.025em}.result-status-panel p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.65}.result-status-panel.attention{border-color:#efcbaa;background:#fff9f2}.result-status-panel.attention>span{color:#9a510a;background:#ffe6c8}.result-status-panel.in-progress{border-color:#d7def2;background:#f7f8ff}.result-status-panel.in-progress>span{color:#385cc8;background:#e8eeff}.result-status-panel.checked{border-color:#b9ddd2;background:#f3fbf8}.result-status-panel.checked>span{color:#0e7159;background:#dff4ed}.public-result-summary{margin-top:12px}.public-result-summary>div{border-radius:9px;background:#fff}.next-action-section{margin-top:34px}.result-section-head>div{display:flex;flex-direction:column}.next-action-list{display:grid;gap:8px}.next-action-list article{padding:14px 15px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #dce5eb;border-radius:9px;background:#fff}.next-action-list article>span{color:var(--brand-blue);font-size:9px;font-weight:900}.next-action-list h3{margin:0;color:var(--navy);font-size:11px}.next-action-list p{margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.55}.next-action-list button,.next-action-list a{padding:0;border:0;color:var(--brand-blue-deep);background:transparent;font-size:9px;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap}.public-issues-list .issue-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid transparent;border-radius:9px}.public-issues-list .issue-item.warning{border-color:#f0ddba;background:#fffaf1}.public-issues-list .issue-item.error{border-color:#edc6cb;background:#fff6f7}.public-issues-list .issue-item.success{border-color:#c7e3d9;background:#f4fbf8}.public-issues-list .issue-item small{display:block;margin-top:6px;color:#73848f;font-size:8px;font-weight:750}.public-issues-list .issue-item>button{padding:0;border:0;color:var(--brand-blue-deep);background:transparent;font-size:9px;font-weight:800;cursor:pointer;white-space:nowrap}.result-comparison-table{margin-top:2px}.public-result-documents{grid-template-columns:1fr}.public-result-documents .result-doc{min-height:55px;border-radius:8px}.public-result-documents .result-doc>div{min-width:0;display:flex;flex-direction:column;gap:3px}.public-result-documents .result-doc strong{font-size:10px}.public-result-documents .result-doc small{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:8px;white-space:nowrap}.public-result-documents .result-doc span{padding:5px 7px;border-radius:4px}.public-result-documents .confirmed{color:#0e7058;background:#e1f5ee}.public-result-documents .ready{color:#976008;background:#fff0cf}.public-result-documents .missing{color:#a13b48;background:#fff0f2}.public-result-documents .optional{color:#6a7c88;background:#edf1f3}.public-official-box{border-color:#c8d9ee;background:#f4f8ff}.public-official-box .official-icon{color:#fff;background:var(--brand-blue)}.public-official-box .button{flex:0 0 auto}
.public-result-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.result-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.successful-result-section{padding:20px;border:1px solid #c5e2d8;border-radius:12px;background:#f5fbf8}.success-count-badge{color:#0e7058!important;background:#dff4ed!important}.successful-check-boundary{margin:12px 0 0;color:#6d7f78;font-size:8px;line-height:1.65}
@media(max-width:1040px){.app-topbar-status{display:none}.app-topbar-inner{grid-template-columns:auto 1fr auto}.public-test-layout{grid-template-columns:220px minmax(0,1fr);gap:16px}.public-test-main{padding:44px 36px}.public-destination-grid{grid-template-columns:repeat(3,1fr)}.form-section-split{grid-template-columns:1fr}.demo-card{max-width:430px}.review-field-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.passport-name-source{grid-template-columns:1fr}.passport-name-source p{grid-column:1}}
@media(max-width:760px){
  .footer-grid-compact { grid-template-columns:1fr 1fr; }
  .session-delete-wrap small{display:none}
  .footer-grid-compact .footer-brand { grid-column:1/-1; }.app-topbar{min-height:64px}.app-topbar-inner{min-height:64px;width:calc(100% - 28px);grid-template-columns:auto 1fr auto;gap:10px}.app-title-mark{width:28px;height:28px}.app-title strong{font-size:12px}.app-title small{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar #clearSessionTop{min-height:34px;padding:0 10px;font-size:9px}.public-test-layout{width:100%;padding:0;display:block}.public-test-main{min-height:calc(100vh - 64px);padding:18px 18px 76px;border:0;border-radius:0;box-shadow:none}.public-test-main .wizard-step{min-height:auto}.mobile-progress{display:block;margin:0 0 32px}.mobile-progress>span{color:var(--brand-blue);font-size:8px;font-weight:900;letter-spacing:.12em}.mobile-progress>div{height:3px;margin-top:8px;border-radius:4px;background:#e5ebf0;overflow:hidden}.mobile-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand-blue),#72b7ff);transition:width .25s ease}.public-test-heading{margin-bottom:26px}.public-test-heading h1{font-size:32px;line-height:1.3}.scope-reminder{margin-bottom:27px}.public-destination-grid{grid-template-columns:1fr 1fr}.public-destination-grid .destination-card{min-height:82px;grid-template-columns:29px 1fr;padding:11px 10px}.public-destination-grid .flag{font-size:21px}.form-section-split{gap:16px}.profile-guide-grid{grid-template-columns:1fr}.profile-guide-grid>div,.profile-guide-grid>div:first-child,.profile-guide-grid>div:last-child{padding:14px 0;border-right:0;border-bottom:1px solid #dbe4ea}.profile-guide-grid>div:last-child{border-bottom:0}.profile-form-grid{grid-template-columns:1fr!important;gap:18px}.upload-overview{align-items:flex-start;flex-direction:column}.document-group-heading,.review-section-heading{grid-template-columns:1fr;gap:7px}.public-test-card .document-row{grid-template-columns:38px minmax(0,1fr);align-items:start}.public-test-card .doc-actions{grid-column:1/-1;justify-content:flex-start;padding-left:49px}.upload-field-preview{padding:10px 15px 14px}.upload-field-preview span{min-width:calc(50% - 4px);flex:1 1 calc(50% - 4px)}.document-note{margin:0;padding:0 15px 14px}.public-upload-disclaimer{flex-direction:column}.review-overview{grid-template-columns:1fr 1fr}.review-profile-action{margin-top:-18px;align-items:stretch;flex-direction:column}.review-profile-action .button{width:100%}.check-activity-summary{grid-template-columns:1fr}.successful-check-list{grid-template-columns:1fr}.review-comparison-row{grid-template-columns:1fr;gap:10px}.comparison-values{display:grid;grid-template-columns:1fr}.comparison-value{min-width:0;max-width:none}.review-document-card>header{align-items:flex-start}.review-field-grid{grid-template-columns:1fr}.review-document-card>footer{flex-direction:column-reverse}.review-document-card>footer .button{width:100%}.public-results-header{align-items:flex-start;flex-direction:column}.result-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.result-header-actions .button{width:100%}.result-status-panel{grid-template-columns:1fr}.result-status-panel>span{width:fit-content;min-width:0}.result-status-panel h2{font-size:19px}.public-result-summary{grid-template-columns:1fr}.next-action-list article{grid-template-columns:28px 1fr}.next-action-list article>button,.next-action-list article>a{grid-column:2;justify-self:start}.public-issues-list .issue-item{grid-template-columns:auto 1fr;align-items:flex-start}.public-issues-list .issue-item>button{grid-column:2;justify-self:start;margin-top:4px}.public-official-box{flex-direction:column;align-items:stretch}.public-official-box .button{width:100%}.report-actions{display:grid;grid-template-columns:1fr}.report-actions .button{width:100%}.wizard-actions{margin-left:-18px;margin-right:-18px;margin-bottom:-76px}}
@media(max-width:420px){.public-destination-grid{grid-template-columns:1fr}.review-overview{grid-template-columns:1fr}.upload-field-preview span{min-width:100%}}
@media(max-width:760px){.public-test-heading p{font-size:12px;line-height:1.8}}
/* 未確認は不備ではなく、原本との照合前であることを示す中立表示にする。 */
.review-state{color:#285b86;background:#eaf3ff}
.document-type-check:not(.match):not(.different):not(.confirmed){border-color:#c8d9ee;background:#f4f8ff}
.document-type-check:not(.match):not(.different):not(.confirmed)>span{color:#275ec9;background:#e2edff}
.document-type-check:not(.match):not(.different):not(.confirmed) strong{color:#244d87}
.document-type-check:not(.match):not(.different):not(.confirmed) p{color:#5b7190}
@media print{.result-status-panel,.public-result-summary,.next-action-list,.public-issues-list,.result-comparison-table,.public-result-documents,.public-official-box{break-inside:avoid}}


/* v0.3.0 — loss-awareness narrative */
.hero-lead-risk { margin-bottom: 13px; color: #294353; }
.hero-solution { max-width: 650px; margin: 0 0 24px; padding-left: 15px; border-left: 2px solid rgba(47,107,255,.38); color: #506a7b; font-size: 13px; line-height: 1.75; }
.hero-solution strong { color: var(--navy); }
.hero-risk-list { margin-bottom: 25px; background: rgba(255,255,255,.28); }
.hero-boundary-note { margin: 13px 0 0; color: #657a88; font-size: 10px; line-height: 1.6; }
.source-row.is-missing { margin: 0 -10px; padding: 0 10px; border: 1px dashed #d7dfe4; border-radius: 9px; background: #fafbfc; }
.source-row.is-missing strong { color: #7a8b96; font-family: var(--font); }
.source-state.is-missing { color: #6c7d88; background: #edf1f3; }
.comparison-action-banner { margin: 14px 24px 0; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-left: 3px solid var(--brand-blue); background: #f1f6ff; }
.comparison-action-banner strong { color: var(--navy); font-size: 11px; }
.comparison-action-banner span { color: #647a89; font-size: 9px; }

.loss-section { padding: 112px 0 104px; color: #f7fbff; background: #0a2034; overflow: hidden; position: relative; }
.loss-section::before { content:""; position:absolute; width:520px; height:520px; right:-180px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(75,135,255,.22),rgba(75,135,255,0) 68%); pointer-events:none; }
.loss-section::after { content:""; position:absolute; width:420px; height:420px; left:-240px; bottom:-250px; border-radius:50%; background:radial-gradient(circle,rgba(72,210,176,.15),rgba(72,210,176,0) 68%); pointer-events:none; }
.loss-section .container { position: relative; z-index: 1; }
.loss-section .section-kicker { color: #79a7ff; }
.loss-heading { display:grid; grid-template-columns:.94fr 1.06fr; gap:90px; align-items:end; margin-bottom:52px; }
.loss-heading h2 { margin:13px 0 0; color:#fff; font-size:clamp(37px,4.2vw,56px); line-height:1.25; letter-spacing:-.045em; }
.loss-heading p { margin:0; color:#c3d1dc; font-size:15px; line-height:1.95; }
.loss-caveat { display:block; margin-top:13px; color:#8196a6; font-size:10px; line-height:1.6; }
.loss-story-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:22px; align-items:stretch; }
.loss-timeline-card,.loss-evidence-card { border:1px solid rgba(171,199,220,.16); background:rgba(255,255,255,.055); backdrop-filter:blur(10px); }
.loss-timeline-card { padding:27px 29px 28px; border-radius:14px; }
.loss-card-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:20px; border-bottom:1px solid rgba(187,209,225,.14); }
.loss-card-head span,.evidence-label { color:#79a7ff; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.loss-card-head strong { color:#fff; font-size:13px; }
.loss-timeline { margin:0; padding:13px 0 0; list-style:none; }
.loss-timeline li { position:relative; min-height:75px; display:grid; grid-template-columns:38px 1fr; gap:16px; align-items:start; padding:16px 0; }
.loss-timeline li:not(:last-child)::after { content:""; position:absolute; left:18px; top:50px; bottom:-9px; width:1px; background:linear-gradient(#527598,rgba(82,117,152,.18)); }
.loss-timeline li>span { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(121,167,255,.38); border-radius:50%; color:#9bbdff; background:#102b43; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:9px; font-weight:850; }
.loss-timeline li>div { padding-top:2px; display:flex; flex-direction:column; gap:6px; }
.loss-timeline strong { color:#fff; font-size:14px; }
.loss-timeline small { color:#9eb0bd; font-size:10px; line-height:1.6; }
.loss-evidence-stack { display:grid; grid-template-rows:1fr 1fr; gap:22px; }
.loss-evidence-card { padding:27px 28px; border-radius:14px; }
.loss-evidence-card.primary { background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.035)); }
.loss-evidence-card.data { background:linear-gradient(150deg,rgba(39,84,135,.38),rgba(22,54,83,.3)); }
.loss-evidence-card h3 { margin:15px 0 12px; color:#fff; font-size:20px; line-height:1.55; letter-spacing:-.025em; }
.loss-evidence-card p { margin:0 0 17px; color:#adc0cd; font-size:11px; line-height:1.8; }
.loss-evidence-card a { color:#a9c5ff; font-size:10px; font-weight:780; text-decoration:none; }
.loss-evidence-card a:hover { color:#fff; }
.processing-data { margin:18px 0 14px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; }
.processing-data>div:not(.data-divider) { display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:5px; }
.processing-data strong { color:#fff; font-size:43px; line-height:1; letter-spacing:-.05em; }
.processing-data small { color:#9bb8cd; font-size:10px; }
.processing-data span { grid-column:1/-1; margin-top:6px; color:#b5c7d4; font-size:9px; }
.data-divider { color:#6085a5; font-size:18px; }
.loss-impact-grid { margin-top:22px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(178,204,223,.16); border-bottom:1px solid rgba(178,204,223,.16); }
.loss-impact-grid article { min-width:0; padding:27px 27px 26px; border-right:1px solid rgba(178,204,223,.16); }
.loss-impact-grid article:first-child { padding-left:0; }
.loss-impact-grid article:last-child { padding-right:0; border-right:0; }
.impact-index { color:#79a7ff; font-size:8px; font-weight:900; letter-spacing:.12em; }
.loss-impact-grid h3 { margin:11px 0 8px; color:#fff; font-size:18px; }
.loss-impact-grid p { margin:0; color:#9eafbc; font-size:11px; line-height:1.7; }
.loss-solution-bar { margin-top:30px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid rgba(153,187,214,.19); background:rgba(255,255,255,.055); }
.loss-solution-bar>div { display:flex; flex-direction:column; gap:5px; }
.loss-solution-bar span { color:#8fa4b4; font-size:10px; }
.loss-solution-bar strong { color:#fff; font-size:14px; }
.loss-solution-bar .button { flex:0 0 auto; background:#fff; color:#102d46; box-shadow:none; }
.loss-solution-bar .button:hover { background:#edf4ff; }

.usecase-section-primary { padding-top:104px; }
.usecase-intro { max-width:none; grid-template-columns:.95fr 1.05fr; }
.usecase-feature-grid h3 { min-height:78px; }
.usecase-feature-grid p { min-height:92px; }
.value-section { background:linear-gradient(135deg,#f5f9ff,#f5fbf8 58%,#fff9f3); }
.cta-card h2 { max-width:700px; }

@media(max-width:980px){
  .loss-heading,.loss-story-grid { grid-template-columns:1fr; gap:38px; }
  .loss-heading { align-items:start; }
  .loss-evidence-stack { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .hero-solution { max-width:720px; }
}
@media(max-width:760px){
  .hero-risk-list { background:transparent; }
  .comparison-action-banner { align-items:flex-start; flex-direction:column; gap:5px; }
  .loss-section { padding:78px 0 74px; }
  .loss-heading { margin-bottom:34px; }
  .loss-heading h2 { font-size:36px; }
  .loss-heading p { font-size:13px; }
  .loss-story-grid { gap:16px; }
  .loss-timeline-card,.loss-evidence-card { padding:21px 19px; }
  .loss-card-head { align-items:flex-start; flex-direction:column; gap:7px; }
  .loss-evidence-stack { grid-template-columns:1fr; gap:16px; }
  .processing-data strong { font-size:37px; }
  .loss-impact-grid { grid-template-columns:1fr; }
  .loss-impact-grid article,.loss-impact-grid article:first-child,.loss-impact-grid article:last-child { padding:21px 0; border-right:0; border-bottom:1px solid rgba(178,204,223,.16); }
  .loss-impact-grid article:last-child { border-bottom:0; }
  .loss-solution-bar { align-items:flex-start; flex-direction:column; padding:20px; }
  .loss-solution-bar .button { width:100%; }
  .usecase-intro { grid-template-columns:1fr; gap:20px; }
  .usecase-feature-grid h3,.usecase-feature-grid p { min-height:0; }
}


/* v0.4.0 — support, pricing and legal preparation pages */
.subpage-site-header { position: sticky; }
.subpage-hero { position: relative; padding: 112px 0 84px; overflow: hidden; background: linear-gradient(135deg,#f5f9ff 0%,#f2fbf8 55%,#fff8f1 100%); border-bottom: 1px solid #e3ebef; }
.subpage-hero::before { content:""; position:absolute; inset:0; opacity:.5; background-image:linear-gradient(rgba(31,76,115,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,76,115,.045) 1px,transparent 1px); background-size:44px 44px; pointer-events:none; }
.subpage-aurora { position:absolute; border-radius:50%; filter:blur(4px); pointer-events:none; }
.subpage-aurora.one { width:440px; height:440px; right:-120px; top:-210px; background:radial-gradient(circle,rgba(70,132,255,.22),rgba(70,132,255,0) 70%); }
.subpage-aurora.two { width:370px; height:370px; left:-180px; bottom:-230px; background:radial-gradient(circle,rgba(72,210,176,.18),rgba(72,210,176,0) 70%); }
.subpage-hero-inner { position:relative; z-index:1; max-width:900px; }
.subpage-badge { display:inline-flex; margin-bottom:24px; padding:7px 10px; border:1px solid rgba(47,107,255,.22); border-radius:999px; color:#2459cf; background:rgba(255,255,255,.72); font-size:9px; font-weight:850; letter-spacing:.08em; }
.subpage-hero-inner > .subpage-badge + .section-kicker { display:inline-flex; margin-left:12px; vertical-align:middle; }
.subpage-hero h1 { margin:13px 0 18px; max-width:850px; color:var(--navy); font-size:clamp(42px,6vw,70px); line-height:1.18; letter-spacing:-.055em; }
.subpage-hero p { max-width:760px; margin:0; color:#536b7b; font-size:15px; line-height:1.95; }
.info-section { padding:88px 0; background:#fff; }
.info-section.section-soft { background:#f5f8fa; }
.narrow-container { max-width:940px; }
.info-notice { margin-bottom:46px; padding:24px 26px; border-left:3px solid var(--brand-blue); background:#f1f6ff; }
.info-notice strong { color:var(--navy); font-size:14px; }
.info-notice p { margin:8px 0 0; color:#536b7b; font-size:12px; line-height:1.8; }
.ocr-retry-attention { margin:0 0 24px; padding:16px 18px; display:flex; align-items:flex-start; gap:12px; border:1px solid #f1c675; border-left:4px solid #e39a16; border-radius:10px; background:#fff8e9; color:#68460e; }
.ocr-retry-attention > span { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:50%; background:#fff0c9; color:#a76500; font-size:18px; font-weight:900; }
.ocr-retry-attention strong { display:block; color:#68460e; font-size:12px; }
.ocr-retry-attention p { margin:5px 0 0; font-size:10px; line-height:1.75; }
.guide-steps { border-top:1px solid var(--line); }
.guide-steps article { display:grid; grid-template-columns:80px 1fr; gap:28px; padding:38px 0; border-bottom:1px solid var(--line); }
.guide-steps article>span { width:56px; height:56px; display:grid; place-items:center; border:1px solid #bdd0df; border-radius:50%; color:#2f6bff; background:#f6f9fc; font-size:12px; font-weight:900; }
.guide-steps small { color:#2f6bff; font-size:9px; font-weight:900; letter-spacing:.12em; }
.guide-steps h2 { margin:9px 0 10px; color:var(--navy); font-size:25px; letter-spacing:-.025em; }
.guide-steps p { margin:0; color:#556d7b; font-size:13px; line-height:1.9; }
.tips-grid,.help-list { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.tips-grid article,.help-list article { padding:28px; background:#fff; }
.tips-grid strong,.help-list h3 { color:var(--navy); font-size:16px; }
.tips-grid p,.help-list p { margin:9px 0 0; color:#5e7380; font-size:12px; line-height:1.8; }
.two-column-info { display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; align-items:start; }
.two-column-info h2 { margin:14px 0; color:var(--navy); font-size:39px; line-height:1.3; letter-spacing:-.04em; }
.two-column-info>div:first-child>p { color:#5f7482; line-height:1.9; }
.status-examples { border-top:1px solid var(--line); }
.status-examples article { display:grid; grid-template-columns:92px 1fr; gap:20px; padding:23px 0; border-bottom:1px solid var(--line); }
.status-examples article>span { width:fit-content; align-self:center; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:850; }
.status-examples .is-good>span { color:#18795f; background:#e8f7f1; }
.status-examples .is-attention>span { color:#9d6212; background:#fff2d7; }
.status-examples .is-muted>span { color:#627683; background:#edf1f3; }
.status-examples strong { color:var(--navy); font-size:14px; }
.status-examples p { margin:6px 0 0; color:#607582; font-size:11px; line-height:1.7; }
.page-cta { margin-top:45px; padding:25px 28px; display:flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid #d9e3e8; background:#fff; }
.page-cta strong { color:var(--navy); font-size:16px; }
.page-cta p { margin:5px 0 0; color:#667b87; font-size:11px; line-height:1.7; }

.faq-search { display:block; margin-bottom:45px; padding:22px; border:1px solid #dae4e9; background:#f7fafc; }
.faq-search>span { display:block; margin-bottom:9px; color:var(--navy); font-size:12px; font-weight:800; }
.faq-search input { width:100%; min-height:52px; padding:0 16px; border:1px solid #cfdce3; border-radius:8px; color:var(--ink); background:#fff; font:inherit; }
.faq-search small { display:block; margin-top:8px; color:#768995; font-size:10px; }
.faq-group { display:grid; grid-template-columns:190px 1fr; gap:40px; padding:36px 0; border-top:1px solid var(--line); }
.faq-group-heading>span { color:#2f6bff; font-size:8px; font-weight:900; letter-spacing:.12em; }
.faq-group-heading h2 { margin:9px 0 0; color:var(--navy); font-size:18px; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; color:var(--navy); font-size:13px; font-weight:750; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary span { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border:1px solid #cedae1; border-radius:50%; color:#2f6bff; transition:transform .2s ease; }
.faq-item[open] summary span { transform:rotate(45deg); }
.faq-item>div { padding:0 42px 23px 0; }
.faq-item p { margin:0; color:#5b7180; font-size:12px; line-height:1.9; }
.empty-search { margin:0 0 30px; padding:20px; border:1px dashed #cad8df; color:#647984; text-align:center; }

.pricing-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:980px; }
.pricing-card { padding:38px; border:1px solid #d8e2e7; background:#fff; box-shadow:0 12px 35px rgba(20,50,70,.06); }
.pricing-card.launch-plan { border-color:#b8cafa; background:linear-gradient(145deg,#fff,#f5f8ff); }
.pricing-card.addon-plan { border-color:#8dd6c6; background:linear-gradient(145deg,#fff,#effbf7); }
.plan-label.purchaser-only { align-self:flex-start; padding:7px 10px; border-radius:999px; color:#7a4d00; background:#fff0bd; font-size:12px; box-shadow:0 0 0 1px #f0cf72 inset; }
.pricing-card.addon-plan>p strong { color:#8a4b00; }
.plan-label { color:#647985; font-size:8px; font-weight:900; letter-spacing:.14em; }
.plan-label.accent { color:#2f6bff; }
.opening-price-badge { width:max-content; display:inline-flex; align-items:center; margin-top:12px; padding:7px 11px; border:1px solid #efc65d; border-radius:999px; color:#7a4d00; background:#fff2bf; font-size:11px; font-weight:900; line-height:1; letter-spacing:.04em; box-shadow:0 5px 16px rgba(185,126,0,.10); }
.checkout-price-card .opening-price-badge { margin-top:12px; }
.opening-price-note { width:max-content; margin:0 0 10px; padding:6px 9px; border-radius:999px; color:#7a4d00; background:#fff2bf; font-size:10px; font-weight:900; letter-spacing:.04em; }
.pricing-card h2 { margin:12px 0 24px; color:var(--navy); font-size:26px; }
.price { min-height:82px; display:flex; align-items:baseline; gap:10px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.price strong { color:var(--navy); font-size:42px; letter-spacing:-.05em; }
.price small { color:#788b96; font-size:10px; }
.price.pending strong { font-size:28px; }
.pricing-card ul { margin:25px 0; padding:0; list-style:none; }
.pricing-card li { position:relative; padding:8px 0 8px 24px; color:#4e6674; font-size:12px; }
.pricing-card li::before { content:"✓"; position:absolute; left:0; color:#2f6bff; font-weight:900; }
.pricing-card .button { width:100%; }
.pricing-card>p { margin:15px 0 0; color:#7a8d98; font-size:9px; line-height:1.6; }
.pricing-details { margin-top:80px; }
.comparison-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.comparison-grid article { padding:32px; border:1px solid var(--line); background:#fff; }
.comparison-grid h3 { margin:17px 0; color:var(--navy); }
.comparison-grid li { margin-bottom:9px; color:#536b79; font-size:12px; line-height:1.6; }
.pricing-confirmation { margin-top:85px; padding:70px 0; color:#fff; background:#0b253c; }
.pricing-confirmation h2 { margin:13px 0 30px; color:#fff; font-size:38px; }
.confirmation-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.confirmation-grid article { padding:25px; border-right:1px solid rgba(255,255,255,.16); }
.confirmation-grid article:last-child { border-right:0; }
.confirmation-grid strong { color:#fff; font-size:14px; }
.confirmation-grid p { margin:8px 0 0; color:#aebfca; font-size:10px; line-height:1.7; }
.legal-small-note { margin:18px 0 0; color:#91a7b5; font-size:10px; }
button[disabled] { cursor:not-allowed; opacity:.55; box-shadow:none; }

.contact-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:24px; align-items:start; }
.contact-form-card,.contact-side article { padding:34px; border:1px solid #dbe4e9; background:#fff; box-shadow:0 10px 30px rgba(18,48,69,.05); }
.contact-alert { margin-bottom:28px; padding:19px 20px; border-left:3px solid #c57a13; background:#fff6e4; }
.contact-alert strong { color:#7c510f; font-size:12px; }
.contact-alert p { margin:7px 0 0; color:#795e35; font-size:10px; line-height:1.7; }
.contact-form { display:grid; gap:20px; }
.contact-form label>span { display:block; margin-bottom:8px; color:var(--navy); font-size:11px; font-weight:750; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:13px 14px; border:1px solid #cedae1; border-radius:8px; color:var(--ink); background:#fff; font:inherit; font-size:13px; }
.contact-form textarea { resize:vertical; line-height:1.7; }
.form-two-cols { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.form-consent { display:grid!important; grid-template-columns:auto 1fr; gap:10px; align-items:start; }
.form-consent input { width:auto; margin-top:3px; }
.form-consent span { margin:0!important; color:#5f7482!important; font-size:10px!important; font-weight:500!important; line-height:1.7; }
.form-status { margin:0; padding:14px; font-size:11px; line-height:1.6; }
.form-status.is-warning { color:#78530f; background:#fff3d9; }

/* Contact scope boundary and two-turn automated help */
.scope-warning-critical{margin:14px 0 0;padding:12px 14px;border:1px solid #ed9da6;border-left:4px solid #c52f3f;border-radius:8px;color:#a51f30!important;background:#fff2f4;font-size:13px!important;font-weight:850;line-height:1.7!important}
.field-scope-warning{display:block;margin:7px 0 9px;color:#b01f30;font-size:11px;line-height:1.6}
.contact-assistant-card{margin:0 0 24px;padding:26px;border:1px solid #cddff7;border-radius:14px;background:linear-gradient(145deg,#f7fbff,#f2f8ff);box-shadow:0 10px 28px rgba(31,77,119,.06)}
.assistant-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.assistant-heading h2{margin:6px 0 0;color:var(--navy);font-size:23px}
.assistant-turn-counter{flex:0 0 auto;padding:7px 10px;border-radius:999px;color:#245fd0;background:#e6efff;font-size:10px;font-weight:900}
.contact-assistant-card>p{color:#58717f;font-size:11px;line-height:1.75}
.assistant-transcript{max-height:360px;margin:18px 0;display:grid;gap:10px;overflow:auto}
.assistant-message{max-width:88%;padding:14px 16px;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(28,63,89,.06)}
.assistant-message.is-user{justify-self:end;color:#fff;background:#2f6bff}
.assistant-message strong{font-size:9px;letter-spacing:.04em}
.assistant-message p{margin:5px 0 0;font-size:11px;line-height:1.75}
.assistant-links{margin-top:9px;display:flex;flex-wrap:wrap;gap:7px}
.assistant-links a{padding:5px 8px;border-radius:6px;color:#245fd0;background:#edf4ff;font-size:9px;font-weight:800;text-decoration:none}
.assistant-form>label{display:block;margin-bottom:7px;color:var(--navy);font-size:11px;font-weight:850}
.assistant-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.assistant-form textarea{width:100%;min-height:82px;padding:12px 13px;border:1px solid #c8d8e3;border-radius:9px;color:var(--navy);background:#fff;font:inherit;resize:vertical}
.assistant-form button{min-height:48px}
.assistant-form small{display:block;margin-top:7px;color:#6a7f8c;font-size:9px}
.assistant-status{margin:12px 0 0!important;color:#355b75!important;font-size:10px!important;font-weight:750}
.contact-escalation{margin:0 0 20px;padding:18px;border:1px solid #b9d8ce;border-left:4px solid #17846c;border-radius:10px;background:#f1faf7}
.contact-escalation strong{color:#125e4e;font-size:13px}.contact-escalation p{margin:6px 0 0;color:#4e6f66;font-size:10px;line-height:1.7}
.contact-category-field{display:grid;gap:8px;margin:20px 0 0}
.assistant-field{display:grid!important;gap:7px;margin:0!important;color:var(--navy);font-size:11px!important;font-weight:850}
.assistant-field select,.assistant-field textarea{width:100%;padding:12px 13px;border:1px solid #c8d8e3;border-radius:9px;color:var(--navy);background:#fff;font:inherit}
.assistant-field select{min-height:46px}
.contact-faq-panel{margin:18px 0 0;padding:20px;border:1px solid #cddff7;border-radius:12px;background:#fff}
.assistant-step-label{display:block;color:#2f6bff;font-size:10px;font-weight:900;letter-spacing:.08em}
.contact-faq-panel h3{margin:8px 0 14px;color:var(--navy);font-size:18px}
.contact-faq-panel ul{margin:0;padding:0;display:grid;gap:10px;list-style:none}
.contact-faq-panel li{padding:13px 14px;border-radius:9px;background:#f4f8ff;color:#526a78;font-size:11px;line-height:1.7}
.contact-faq-panel li strong{display:block;margin-bottom:3px;color:var(--navy);font-size:12px}
.contact-faq-panel li p{margin:0}
.contact-faq-panel li a{display:inline-block;margin-top:7px;color:#245fd0;font-size:10px;font-weight:850;text-decoration:none}
.assistant-choice-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}
.contact-ai-stage{margin-top:20px;padding-top:20px;border-top:1px solid #d6e3ec}
.contact-ai-stage .assistant-transcript{margin-top:14px}
.assistant-form{display:grid;gap:13px}
.assistant-form>.button{justify-self:start}
@media (max-width:700px){.contact-assistant-card{padding:20px}.assistant-heading{align-items:flex-start;flex-direction:column}.assistant-form>div{grid-template-columns:1fr}.assistant-form button{width:100%}.assistant-message{max-width:96%}}
.form-status.is-success { color:#176950; background:#e6f7f0; }
.form-note { color:#7c8f99; font-size:9px; line-height:1.6; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; }
.contact-side { display:grid; gap:20px; }
.contact-side h2 { margin:12px 0 18px; color:var(--navy); font-size:25px; }
.check-list,.x-list { margin:0; padding:0; list-style:none; }
.check-list li,.x-list li { position:relative; padding:8px 0 8px 24px; color:#526a78; font-size:11px; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:#178368; font-weight:900; }
.x-list { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
.x-list li::before { content:"—"; position:absolute; left:0; color:#9a6570; font-weight:900; }
.company-dl { margin:0; }
.company-dl>div { display:grid; grid-template-columns:95px 1fr; gap:12px; padding:11px 0; border-top:1px solid var(--line); }
.company-dl dt { color:#71848f; font-size:9px; }
.company-dl dd { margin:0; color:#314958; font-size:11px; line-height:1.7; }

.commercial-content { max-width:980px; }
.commercial-table { margin:0; border-top:1px solid var(--line); }
.commercial-table>div { display:grid; grid-template-columns:230px 1fr; border-bottom:1px solid var(--line); }
.commercial-table dt,.commercial-table dd { margin:0; padding:18px 20px; font-size:12px; line-height:1.8; }
.commercial-table dt { color:var(--navy); background:#f4f7f8; font-weight:750; }
.commercial-table dd { color:#4f6876; }
.pending-value { display:inline-flex; padding:4px 8px; border-radius:999px; color:#855b12; background:#fff0cf; font-size:9px; font-weight:800; }
.legal-notice.warning { border-left-color:#c57a13; background:#fff6e4; color:#6c542e; }
.legal-meta { margin-top:45px!important; padding-top:18px; border-top:1px solid var(--line); color:#80919a!important; font-size:10px!important; }
.home-faq-section { background:#f5f8fa; }
.home-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.home-faq-layout h2 { margin:13px 0; color:var(--navy); font-size:40px; line-height:1.3; letter-spacing:-.04em; }
.home-faq-layout p { color:#637985; line-height:1.9; }
.home-faq-list { border-top:1px solid var(--line); }
.home-faq-list a { min-height:69px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); color:var(--navy); text-decoration:none; }
.home-faq-list strong { font-size:12px; }
.home-faq-list span { color:#2f6bff; }
@media(max-width:980px){
  .two-column-info,.contact-layout,.home-faq-layout { grid-template-columns:1fr; gap:40px; }
  .pricing-layout { max-width:none; }
  .confirmation-grid { grid-template-columns:1fr 1fr; }
  .confirmation-grid article:nth-child(2) { border-right:0; }
  .confirmation-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.16); }
  }
@media(max-width:760px){
  .subpage-hero { padding:78px 0 58px; }
  .subpage-hero h1 { font-size:42px; }
  .subpage-hero p { font-size:13px; }
  .info-section { padding:64px 0; }
  .guide-steps article { grid-template-columns:52px 1fr; gap:16px; padding:28px 0; }
  .guide-steps article>span { width:46px; height:46px; }
  .guide-steps h2 { font-size:20px; }
  .tips-grid,.help-list,.pricing-layout,.comparison-grid { grid-template-columns:1fr; }
  .status-examples article { grid-template-columns:80px 1fr; }
  .page-cta { align-items:flex-start; flex-direction:column; }
  .page-cta .button { width:100%; }
  .faq-group { grid-template-columns:1fr; gap:17px; }
  .faq-group-heading h2 { font-size:16px; }
  .pricing-card { padding:27px 23px; }
  .confirmation-grid { grid-template-columns:1fr; }
  .confirmation-grid article,.confirmation-grid article:nth-child(2) { border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .confirmation-grid article:last-child { border-bottom:0; }
  .form-two-cols { grid-template-columns:1fr; }
  .contact-form-card,.contact-side article { padding:24px 20px; }
  .commercial-table>div { grid-template-columns:1fr; }
  .commercial-table dt { padding-bottom:8px; }
  .commercial-table dd { padding-top:8px; }
  .home-faq-layout h2 { font-size:34px; }
  }

/* v0.5.9 — FAQ/contact visual polish and cache-safe subpages */
.subpage-body { min-height:100vh; display:flex; flex-direction:column; background:#f5f8fa; }
.subpage-main { flex:1 0 auto; }
.subpage-body .site-footer { flex:0 0 auto; }
.subpage-hero-compact { padding:86px 0 66px; }
.subpage-hero-compact h1 { font-size:clamp(40px,5.2vw,62px); }
.subpage-hero-compact .subpage-badge { margin-bottom:18px; }

/* Contact */
.contact-section { padding:76px 0 104px; background:linear-gradient(180deg,#f7fafc 0%,#fff 100%); }
.contact-layout { grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr); gap:30px; }
.contact-form-card,.contact-side-card { border:1px solid #dce6ec; border-radius:20px; background:#fff; box-shadow:0 20px 55px rgba(18,48,69,.07); }
.contact-form-card { padding:42px; }
.contact-card-heading { margin-bottom:28px; padding-bottom:25px; border-bottom:1px solid #e5edf1; }
.contact-card-heading h2 { margin:11px 0 10px; color:var(--navy); font-size:30px; line-height:1.35; letter-spacing:-.035em; }
.contact-card-heading p { max-width:690px; margin:0; color:#617785; font-size:12px; line-height:1.85; }
.contact-alert { margin:0 0 30px; padding:20px 22px 20px 54px; position:relative; border:1px solid #f0d7a7; border-left:1px solid #f0d7a7; border-radius:13px; background:#fff8e9; }
.contact-alert::before { content:"!"; position:absolute; left:18px; top:19px; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:#b77512; color:#fff; font-size:12px; font-weight:900; }
.contact-alert strong { display:block; color:#70490d; font-size:13px; }
.contact-alert p { margin:7px 0 0; color:#765d35; font-size:11px; line-height:1.75; }
.contact-form { gap:23px; }
.form-field { min-width:0; }
.contact-form label>span { margin-bottom:9px; font-size:12px; }
.contact-form input,.contact-form select,.contact-form textarea { min-height:52px; padding:14px 15px; border-color:#cbd9e1; border-radius:11px; font-size:13px; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.contact-form textarea { min-height:190px; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#98a8b2; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#2f6bff; outline:0; box-shadow:0 0 0 4px rgba(47,107,255,.1); background:#fff; }
.field-hint { display:block; margin-top:7px; color:#80919b; font-size:10px; line-height:1.65; }
.form-consent { padding:15px 16px; border-radius:11px; background:#f5f8fb; }
.contact-form .form-consent input[type="checkbox"] { width:16px; height:16px; min-height:0; padding:0; margin:1px 0 0; align-self:start; accent-color:#2f6bff; }
.contact-form-actions { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px 18px; padding-top:3px; }
.contact-form-actions .button { min-width:230px; }
.contact-form-actions .form-status { grid-column:1/-1; border-radius:10px; }
.contact-form-actions .form-note { color:#738792; font-size:10px; line-height:1.7; }
.contact-side { position:sticky; top:100px; gap:22px; }
.contact-side-card { padding:30px; box-shadow:0 14px 42px rgba(18,48,69,.055); }
.contact-side-card-response { background:linear-gradient(145deg,#fff,#f5f9ff); }
.contact-side-card-operator { background:linear-gradient(145deg,#fff,#f5fbf8); }
.contact-side h2 { margin:10px 0 20px; font-size:24px; letter-spacing:-.03em; }
.check-list li,.x-list li { padding:9px 0 9px 25px; font-size:12px; line-height:1.55; }
.company-dl>div { grid-template-columns:88px 1fr; padding:13px 0; }
.company-dl dt { font-size:10px; }
.company-dl dd { font-size:12px; }

/* FAQ */
.faq-section { padding:74px 0 112px; background:linear-gradient(180deg,#f7fafc 0%,#fff 22%,#fff 100%); }
.faq-section .narrow-container { max-width:1040px; }
.faq-search-panel { margin-bottom:58px; padding:34px; display:grid; grid-template-columns:.78fr 1.22fr; gap:48px; align-items:center; border:1px solid #d8e5ec; border-radius:20px; background:linear-gradient(135deg,#f4f8ff 0%,#f5fbf9 58%,#fff9f3 100%); box-shadow:0 18px 48px rgba(18,48,69,.07); }
.faq-search-copy h2 { margin:10px 0 9px; color:var(--navy); font-size:27px; line-height:1.35; letter-spacing:-.035em; }
.faq-search-copy p { margin:0; color:#617784; font-size:11px; line-height:1.8; }
.faq-search-controls { min-width:0; }
.faq-search-box { min-height:58px; padding:0 10px 0 17px; display:flex; align-items:center; gap:11px; border:1px solid #c7d8e2; border-radius:14px; background:#fff; box-shadow:0 9px 28px rgba(23,58,81,.07); transition:border-color .16s ease,box-shadow .16s ease; }
.faq-search-box:focus-within { border-color:#2f6bff; box-shadow:0 0 0 4px rgba(47,107,255,.11),0 11px 30px rgba(23,58,81,.08); }
.faq-search-icon { position:relative; width:18px; height:18px; flex:0 0 auto; border:2px solid #2f6bff; border-radius:50%; }
.faq-search-icon::after { content:""; position:absolute; width:7px; height:2px; right:-5px; bottom:-2px; border-radius:999px; background:#2f6bff; transform:rotate(45deg); transform-origin:left center; }
.faq-search-box input { min-width:0; flex:1; border:0; outline:0; color:var(--ink); background:transparent; font-size:14px; }
.faq-search-box input::placeholder { color:#91a2ad; }
.faq-search-clear { min-height:36px; padding:0 13px; border:0; border-radius:9px; color:#315267; background:#edf3f7; cursor:pointer; font-size:11px; font-weight:750; }
.faq-search-clear:hover { background:#e2ebf1; }
.faq-search-meta { margin-top:10px; display:flex; justify-content:space-between; gap:16px; color:#718590; font-size:10px; }
.faq-search-meta span { color:#2f5d7a; font-weight:750; }
.faq-search-meta small { font-size:10px; }
.faq-group { grid-template-columns:210px minmax(0,1fr); gap:42px; padding:44px 0; border-top:1px solid #dce6eb; }
.faq-group:first-of-type { border-top:0; }
.faq-group-heading { position:sticky; top:106px; align-self:start; }
.faq-category-index { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#245fdc; background:#edf3ff; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; font-weight:850; }
.faq-group-heading h2 { margin:14px 0 8px; font-size:21px; line-height:1.4; letter-spacing:-.025em; }
.faq-group-heading p { margin:0; color:#788b96; font-size:10px; line-height:1.7; }
.faq-list { display:grid; gap:10px; border-top:0; }
.faq-item { overflow:hidden; border:1px solid #dce6eb; border-radius:13px; background:#fff; box-shadow:0 7px 22px rgba(18,48,69,.035); }
.faq-item summary { min-height:66px; padding:0 17px 0 20px; font-size:13px; }
.faq-item summary:hover { background:#f8fafc; }
.faq-item summary span { width:30px; height:30px; border-color:#d4e0e6; background:#f5f8fa; }
.faq-item[open] { border-color:#bfd1df; box-shadow:0 10px 28px rgba(18,48,69,.06); }
.faq-item[open] summary { background:#f7faff; }
.faq-item>div { padding:0 58px 22px 20px; }
.faq-item p { font-size:12px; line-height:1.9; }
.faq-empty-state { margin:0 0 38px; padding:34px; border:1px dashed #bfcfd8; border-radius:15px; background:#f8fafb; }
.faq-empty-state strong { display:block; color:var(--navy); font-size:15px; }
.faq-empty-state p { margin:8px 0 0; color:#6d818d; font-size:11px; }
.faq-contact-cta { margin:68px 0 0; padding:34px 36px; border:1px solid #cfdde6; border-radius:18px; background:linear-gradient(135deg,#f4f8ff,#f2faf7 62%,#fff9f1); box-shadow:0 16px 44px rgba(18,48,69,.06); }
.faq-contact-cta strong { display:block; margin-top:9px; font-size:21px; }
.faq-contact-cta p { max-width:650px; margin-top:8px; font-size:12px; }
.faq-contact-cta .button { flex:0 0 auto; }

@media(max-width:980px){
  .contact-layout { grid-template-columns:1fr; }
  .contact-side { position:static; grid-template-columns:1fr 1fr; }
  .faq-search-panel { grid-template-columns:1fr; gap:24px; }
  .faq-group { grid-template-columns:180px minmax(0,1fr); gap:28px; }
}
@media(max-width:760px){
  .subpage-hero-compact { padding:64px 0 48px; }
  .contact-section,.faq-section { padding:52px 0 76px; }
  .contact-form-card { padding:26px 20px; }
  .contact-card-heading h2 { font-size:25px; }
  .contact-form-actions { grid-template-columns:1fr; }
  .contact-form-actions .button { width:100%; min-width:0; }
  .contact-form-actions .form-status { grid-column:auto; }
  .contact-side { grid-template-columns:1fr; }
  .faq-search-panel { margin-bottom:36px; padding:24px 20px; border-radius:16px; }
  .faq-search-copy h2 { font-size:23px; }
  .faq-search-box { min-height:54px; }
  .faq-search-meta { align-items:flex-start; flex-direction:column; gap:4px; }
  .faq-group { grid-template-columns:1fr; gap:18px; padding:34px 0; }
  .faq-group-heading { position:static; }
  .faq-group-heading h2 { font-size:19px; }
  .faq-item summary { min-height:62px; padding-left:16px; font-size:12px; }
  .faq-item>div { padding:0 46px 20px 16px; }
  .faq-contact-cta { margin-top:48px; padding:27px 22px; }
  .faq-contact-cta .button { width:100%; }
}


/* v0.5.9 — finalized pricing, checkout confirmation, Stripe-ready payment flow */
.checkout-page{background:#f5f8fb}.checkout-main{min-height:70vh}.checkout-hero{position:relative;overflow:hidden;border-bottom:1px solid #dbe5eb;background:radial-gradient(circle at 13% 15%,rgba(92,169,255,.20),transparent 34%),radial-gradient(circle at 84% 30%,rgba(76,207,176,.17),transparent 31%),linear-gradient(135deg,#f9fcff 0%,#edf6ff 50%,#f3fbf7 100%)}.checkout-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(55,105,145,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(55,105,145,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent)}.checkout-hero-inner{position:relative;z-index:1;min-height:330px;padding-top:76px;padding-bottom:68px;display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:80px}.checkout-hero h1{max-width:760px;margin:14px 0 18px;color:var(--navy);font-size:50px;line-height:1.22;letter-spacing:-.035em}.checkout-hero p{max-width:720px;margin:0;color:#506b7a;font-size:14px;line-height:1.95}.checkout-price-card{padding:30px;border:1px solid rgba(174,197,211,.75);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 24px 55px rgba(24,64,92,.12);backdrop-filter:blur(18px)}.checkout-price-card>span{display:block;color:#68808e;font-size:10px;font-weight:800;letter-spacing:.08em}.checkout-price-card strong{display:block;margin:10px 0 5px;color:var(--navy);font-size:44px;line-height:1}.checkout-price-card small{color:#547080;font-size:10px}.checkout-section{padding:68px 0 110px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:30px;align-items:start}.checkout-content{display:grid;gap:18px}.checkout-card{padding:32px 34px;border:1px solid #dbe5eb;border-radius:15px;background:#fff;box-shadow:0 8px 28px rgba(31,64,85,.045)}.checkout-card-heading{margin-bottom:25px;display:flex;align-items:center;gap:14px}.checkout-card-heading>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#245ed0;background:#eef4ff;font-size:10px;font-weight:900}.checkout-card-heading small{display:block;color:#2f6bff;font-size:8px;font-weight:900;letter-spacing:.15em}.checkout-card-heading h2{margin:3px 0 0;color:var(--navy);font-size:22px}.checkout-summary-list,.checkout-context-list{margin:0;border-top:1px solid #e3eaee}.checkout-summary-list>div,.checkout-context-list>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid #e3eaee}.checkout-summary-list dt,.checkout-context-list dt{color:#607886;font-size:11px;font-weight:700}.checkout-summary-list dd,.checkout-context-list dd{margin:0;color:var(--navy);font-size:12px;font-weight:650}.checkout-context-note{margin:18px 0 0;padding:13px 15px;border-left:3px solid #71b7ff;color:#536d7b;background:#f3f8fc;font-size:10px;line-height:1.75}.checkout-boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkout-boundary-grid>div{padding:22px;border:1px solid #dce6eb;border-radius:11px;background:#f9fbfc}.checkout-boundary-grid>div:first-child{border-color:#bfe0d6;background:#f2fbf7}.checkout-boundary-grid>div:last-child{border-color:#efcfca;background:#fff8f6}.checkout-boundary-grid strong{display:block;margin-bottom:11px;color:var(--navy);font-size:13px}.checkout-boundary-grid ul,.checkout-refund-list{margin:0;padding:0;list-style:none}.checkout-boundary-grid li,.checkout-refund-list li{position:relative;padding:6px 0 6px 18px;color:#526c7a;font-size:10px;line-height:1.65}.checkout-boundary-grid li::before{content:"✓";position:absolute;left:0;color:#1b9678;font-weight:900}.checkout-boundary-grid>div:last-child li::before{content:"—";color:#c76354}.checkout-refund-list li{padding:9px 0;border-bottom:1px solid #e7edef}.checkout-refund-list li:last-child{border-bottom:0}.checkout-refund-list b{color:var(--navy)}.inline-link{display:inline-flex;margin-top:18px;color:#245fd0;font-size:10px;font-weight:800}.checkout-sidebar{position:relative}.checkout-sticky-card{position:sticky;top:92px;padding:30px;border:1px solid #cfdde6;border-radius:17px;background:#fff;box-shadow:0 22px 55px rgba(25,58,81,.11)}.checkout-sticky-card h2{margin:10px 0 24px;color:var(--navy);font-size:27px;line-height:1.32}.checkout-total{padding:18px 0;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid #dce5ea;border-bottom:1px solid #dce5ea}.checkout-total span{color:#5f7785;font-size:11px;font-weight:700}.checkout-total strong{color:var(--navy);font-size:34px;line-height:1}.checkout-mini-summary{padding:15px 0;border-bottom:1px solid #dce5ea}.checkout-mini-summary>div{padding:5px 0;display:flex;justify-content:space-between;gap:14px}.checkout-mini-summary span{color:#718691;font-size:9px}.checkout-mini-summary b{color:#29475b;font-size:9px;text-align:right}.checkout-consents{margin:19px 0;display:grid;gap:10px}.checkout-consents label{display:grid;grid-template-columns:17px 1fr;gap:9px;align-items:start;color:#4f6977;font-size:9px;line-height:1.65;cursor:pointer}.checkout-consents input{width:16px;height:16px;margin:1px 0 0;accent-color:#2f6bff}.checkout-consents a{color:#205bcf;text-decoration:underline;text-underline-offset:2px}.checkout-pay-button{width:100%;min-height:56px}.checkout-pay-button:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.checkout-mode-notice{margin:12px 0 0;padding:10px 12px;border-radius:7px;font-size:8px;line-height:1.6}.checkout-mode-notice.pending{color:#785d22;background:#fff5db}.checkout-mode-notice.local{color:#235e50;background:#e8f8f3}.checkout-mode-notice.live{color:#275e91;background:#eaf4ff}.payment-status{margin:12px 0 0;padding:11px 12px;border-radius:8px;color:#496879;background:#eef4f7;font-size:9px;line-height:1.6}.payment-status.is-warning{color:#805f17;background:#fff3d1}.payment-status.is-error{color:#943b47;background:#fff0f2}.payment-status.is-success{color:#146d57;background:#e8f8f2}.checkout-security-note{margin-top:14px;padding:13px;display:grid;grid-template-columns:20px 1fr;gap:8px;border:1px solid #d8e5eb;border-radius:8px;background:#f7fafb}.checkout-security-note span{color:#13866a;font-weight:900}.checkout-security-note p{margin:0;color:#607986;font-size:8px;line-height:1.65}.checkout-correct-link{margin-top:17px;display:block;color:#526f80;font-size:9px;font-weight:750;text-align:center;text-decoration:underline;text-underline-offset:3px}.payment-result-page{min-height:100vh;background:radial-gradient(circle at 20% 12%,rgba(75,161,255,.18),transparent 30%),radial-gradient(circle at 84% 75%,rgba(69,204,171,.16),transparent 32%),#f3f8fb}.payment-result-main{width:min(680px,calc(100% - 36px));min-height:100vh;margin:auto;padding:55px 0 80px;display:flex;flex-direction:column;justify-content:center}.payment-result-brand{align-self:center;margin-bottom:26px}.payment-result-card{padding:48px 44px;border:1px solid #d6e2e8;border-radius:20px;background:#fff;box-shadow:0 25px 65px rgba(26,63,88,.13);text-align:center}.payment-result-icon{width:64px;height:64px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;color:#2f6bff;background:#edf4ff;font-size:24px;font-weight:900}.payment-result-icon.processing span{width:22px;height:22px;border:3px solid #c9dcff;border-top-color:#2f6bff;border-radius:50%;animation:spin .8s linear infinite}.payment-result-icon.cancel{color:#5b7180;background:#edf2f5}.payment-result-card h1{margin:12px 0 14px;color:var(--navy);font-size:34px}.payment-result-card>p{margin:0 auto;color:#5b7482;font-size:12px;line-height:1.9}.payment-result-card .payment-status{margin-top:25px;text-align:left}.payment-result-help{margin-top:24px;padding:18px;border-radius:10px;background:#f5f8fa;text-align:left}.payment-result-help strong{color:var(--navy);font-size:11px}.payment-result-help p{margin:7px 0 0;color:#607987;font-size:9px;line-height:1.7}.payment-result-actions{margin-top:28px;display:flex;justify-content:center;gap:10px}.payment-result-actions .button{min-width:180px}
@media(max-width:980px){.checkout-hero-inner{grid-template-columns:1fr;gap:28px}.checkout-price-card{max-width:360px}.checkout-layout{grid-template-columns:1fr}.checkout-sticky-card{position:static}.checkout-sidebar{order:-1}}
@media(max-width:700px){.checkout-hero-inner{min-height:0;padding-top:48px;padding-bottom:45px}.checkout-hero h1{font-size:36px}.checkout-hero p{font-size:12px}.checkout-price-card{width:100%;max-width:none}.checkout-section{padding:34px 0 70px}.checkout-layout{width:calc(100% - 28px)}.checkout-card,.checkout-sticky-card{padding:23px 19px;border-radius:13px}.checkout-summary-list>div,.checkout-context-list>div{grid-template-columns:1fr;gap:4px}.checkout-boundary-grid{grid-template-columns:1fr}.checkout-sticky-card h2{font-size:23px}.checkout-total strong{font-size:31px}.payment-result-main{padding:25px 0 50px}.payment-result-card{padding:36px 20px}.payment-result-card h1{font-size:27px}.payment-result-actions{flex-direction:column}.payment-result-actions .button{width:100%}}


/* v0.5.9 — simplified footer without operator details */
.notice-purchase-grid.is-addon-only{grid-template-columns:minmax(0,720px);justify-content:center}
.footer-grid-compact{grid-template-columns:minmax(280px,1.4fr) minmax(130px,.65fr) minmax(210px,.95fr)}
@media(max-width:980px){.footer-grid-compact{grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:760px){.footer-grid-compact{grid-template-columns:1fr 1fr}.footer-grid-compact .footer-brand{grid-column:1/-1}}

/* v0.5.9 — desktop legibility pass */
@media (min-width:761px) {
  /* Public pages */
  .why-card > p,.value-list p,.step-cards p,.boundary-rows p,.usecase-feature-grid p { font-size:14px; }
  .usecase-feature-grid small,.hero-boundary-note,.loss-caveat { font-size:12px; }
  .loss-timeline small,.loss-evidence-card p,.loss-impact-grid p { font-size:12px; }
  .loss-evidence-card a,.processing-data small,.processing-data span,.loss-solution-bar span { font-size:11px; }
  .footer-brand p,.footer-grid > div:last-child p,.footer-grid a,.footer-grid > div > strong { font-size:14px; }
  .footer-bottom { font-size:12px; }

  /* Guide, FAQ, pricing and legal pages */
  .info-notice p,.guide-steps p,.tips-grid p,.help-list p { font-size:14px; }
  .status-examples p,.page-cta p { font-size:13px; }
  .subpage-badge,.guide-steps small,.status-examples article > span,.plan-label,.pending-value { font-size:11px; }
  .faq-search-copy p,.faq-group-heading p,.faq-search-meta,.faq-search-meta small { font-size:12px; }
  .faq-search-clear { font-size:13px; }
  .faq-item summary { font-size:15px; }
  .faq-item p { font-size:14px; }
  .faq-empty-state p,.faq-contact-cta p { font-size:13px; }
  .pricing-card li,.comparison-grid li { font-size:14px; line-height:1.7; }
  .pricing-card > p,.price small,.confirmation-grid p,.legal-small-note { font-size:12px; }
  .commercial-table dt,.commercial-table dd,.legal-content p,.legal-content li { font-size:14px; }
  .legal-meta { font-size:12px!important; }

  /* Contact guidance and form */
  .contact-card-heading p,.contact-alert p,.contact-assistant-card > p { font-size:14px; }
  .contact-alert strong,.field-scope-warning { font-size:14px; }
  .assistant-step-label,.assistant-turn-counter { font-size:12px; }
  .assistant-field,.assistant-form > label { font-size:14px!important; }
  .assistant-field select,.assistant-field textarea,.assistant-form textarea { font-size:14px; line-height:1.7; }
  .contact-faq-panel li,.assistant-message p { font-size:14px; }
  .contact-faq-panel li strong { font-size:15px; }
  .contact-faq-panel li a,.assistant-links a { font-size:12px; }
  .assistant-message strong,.assistant-form small { font-size:11px; }
  .assistant-status { font-size:12px!important; }
  .contact-escalation strong { font-size:15px; }
  .contact-escalation p { font-size:13px; }
  .contact-form label > span,.contact-form input,.contact-form select,.contact-form textarea { font-size:14px; }
  .field-hint,.form-consent span,.form-note,.contact-form-actions .form-note { font-size:12px!important; }
  .check-list li,.x-list li,.company-dl dd { font-size:14px; }
  .company-dl dt { font-size:12px; }

  /* Application flow */
  .app-title small,.app-topbar-status,.sidebar-intro span,.public-test-heading > span { font-size:11px; }
  .step-nav strong { font-size:14px; }
  .step-nav small,.sidebar-note p { font-size:11px; }
  .public-test-heading p { font-size:15px; }
  .scope-reminder strong { font-size:14px; }
  .scope-reminder p { font-size:12px; }
  .public-destination-grid .destination-copy strong { font-size:13px; }
  .public-destination-grid .destination-copy small { font-size:11px; }
  .other-destination-field > span { font-size:14px; }
  .other-destination-field small,.official-manual-note { font-size:12px!important; }
  .demo-card strong,.public-consent label strong,.profile-guide-grid strong { font-size:13px; }
  .demo-card p,.public-consent label small,.profile-guide-grid p { font-size:11px; }
  .field-label { font-size:14px; }
  .field-help,.consent-box label,.privacy-inline p,.toggle-row small { font-size:12px; }
  .form-control,.extracted-field input { font-size:14px; }
  .document-group-heading p,.public-test-card .doc-meta > p,.doc-state-line small { font-size:12px; }
  .document-read-targets,.document-read-targets strong { font-size:12px!important; }
  .doc-title-line h3 { font-size:14px; }
  .doc-title-line b,.doc-title-line > span,.doc-state { font-size:11px; }
  .public-test-card .file-label,.manual-add,.public-test-card .doc-delete { font-size:12px; }
  .upload-field-preview span { font-size:12px; }
  .upload-field-preview small,.document-note,.public-upload-disclaimer { font-size:12px; }
  .ocr-retry-attention strong { font-size:14px; }
  .ocr-retry-attention p { font-size:12px; }
  .review-notice strong,.review-profile-action strong,.comparison-field-label > span,.review-doc-heading h3,.next-action-list h3 { font-size:14px; }
  .review-notice p,.review-profile-action span,.review-section-heading p,.review-attention-guidance,.review-doc-heading p,.review-doc-note,.photo-review-note p,.next-action-list p { font-size:12px; }
  .review-section-heading > div > span,.result-section-head > div > span { font-size:10px; }
  .review-section-heading h2,.result-section-head > div h2 { font-size:21px; }
  .review-overview small,.check-activity-summary small { font-size:11px; }
  .successful-check-item h3,.empty-check-state strong { font-size:13px; }
  .successful-check-item p,.empty-check-state p { font-size:11px; }
  .comparison-field-label b,.comparison-edit-profile,.review-state,.photo-review-note > span { font-size:11px; }
  .comparison-value small,.review-field-grid label > span { font-size:11px; }
  .comparison-value strong,.review-field-grid input { font-size:13px; }
  .issue-item h3 { font-size:14px; }
  .issue-item p { font-size:12px; }
  .document-type-check strong { font-size:13px; }
  .document-type-check p { font-size:11px; }
  .document-type-check.compact strong { font-size:11px; }
  .result-status-panel p,.public-issues-list .issue-item small,.public-result-documents .result-doc small { font-size:12px; }
  .next-action-list button,.next-action-list a,.public-issues-list .issue-item > button { font-size:12px; }
  .public-result-documents .result-doc strong { font-size:14px; }

  /* Checkout and payment result */
  .checkout-price-card > span,.checkout-price-card small,.checkout-card-heading > span { font-size:12px; }
  .checkout-card-heading small { font-size:10px; }
  .checkout-summary-list dt,.checkout-context-list dt { font-size:13px; }
  .checkout-summary-list dd,.checkout-context-list dd { font-size:14px; }
  .checkout-context-note,.checkout-boundary-grid li,.checkout-refund-list li,.inline-link { font-size:12px; }
  .checkout-boundary-grid strong { font-size:15px; }
  .checkout-total span { font-size:13px; }
  .checkout-mini-summary span,.checkout-mini-summary b,.checkout-consents label { font-size:12px; }
  .checkout-mode-notice,.payment-status,.checkout-security-note p,.checkout-correct-link { font-size:11px; }
  .payment-result-card > p { font-size:14px; }
  .payment-result-help strong { font-size:13px; }
  .payment-result-help p { font-size:12px; }
}

/* Color theme controls */
.preference-toggle{min-width:42px;min-height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c7d4dd;border-radius:10px;color:#29465b;background:#fff;cursor:pointer;font:inherit;font-size:11px;font-weight:800;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}.preference-toggle:hover{border-color:#7da4ff;background:#f2f6ff}.theme-toggle>span:first-child{font-size:16px;line-height:1}.app-topbar-actions{justify-self:end;display:flex;align-items:flex-start;gap:8px}.app-preference-controls{display:flex;align-items:center;justify-content:center}.app-preference-controls .preference-toggle{min-width:42px}.mobile-preference-row{display:none}
.language-toggle{min-width:64px;padding-inline:8px;gap:3px}.language-option{font-size:10px;line-height:1;letter-spacing:.03em;opacity:.52}.language-option.is-active{color:var(--brand-blue);font-size:13px;font-weight:900;opacity:1}.language-divider{font-size:10px;line-height:1;opacity:.35}.app-preference-controls{gap:6px}html[data-language="en"] .top-nav{letter-spacing:-.01em}
.language-beta-notice{max-width:820px;margin:18px 0 0;padding:13px 15px;border:1px solid #dfad49;border-radius:10px;color:#64450d;background:#fff8e8;font-size:13px;font-weight:750;line-height:1.65}html[data-theme="dark"] .language-beta-notice{border-color:#8b672b;color:#f5cf86;background:#30240f}

html[data-theme="dark"]{--ink:#e6eef5;--ink-2:#bfd0dc;--navy:#f3f8fc;--navy-2:#dce9f2;--cream:#07131d;--white:#102231;--line:#29404f;--line-dark:#385263;--muted:#9fb1be;--success:#66d7b8;--success-soft:#143a32;--warning:#f0ba63;--warning-soft:#3a2b14;--danger:#ff8995;--danger-soft:#3d1e25;--blue-soft:#162c52;color-scheme:dark}html[data-theme="dark"] body{color:var(--ink);background:#07131d}html[data-theme="dark"] .site-header,html[data-theme="dark"] .app-topbar{border-color:#263b49;background:rgba(9,25,36,.94)}html[data-theme="dark"] .brand-name,html[data-theme="dark"] .top-nav a,html[data-theme="dark"] .app-title strong{color:#edf5fb}html[data-theme="dark"] .brand-lockup small,html[data-theme="dark"] .app-title small,html[data-theme="dark"] .app-topbar-status{color:#9cb0be}html[data-theme="dark"] .preference-toggle,html[data-theme="dark"] .header-menu-toggle{border-color:#3a5364;color:#e7f0f6;background:#102432}html[data-theme="dark"] .preference-toggle:hover,html[data-theme="dark"] .header-menu-toggle:hover{border-color:#729bf2;background:#183247}html[data-theme="dark"] .header-menu-toggle span{background:#e7f0f6}
html[data-theme="dark"] .header-inner>.top-nav{border-color:#29404f;background:rgba(9,25,36,.98);box-shadow:0 18px 36px rgba(0,5,9,.36)}html[data-theme="dark"] .top-nav a:hover,html[data-theme="dark"] .top-nav a[aria-current="page"]{color:#dfeaff;background:#183247}
html[data-theme="dark"] .hero,html[data-theme="dark"] .why-section,html[data-theme="dark"] .content-section,html[data-theme="dark"] .cta-section,html[data-theme="dark"] .home-faq-section,html[data-theme="dark"] .resource-home-section,html[data-theme="dark"] .info-section,html[data-theme="dark"] .info-section.section-soft,html[data-theme="dark"] .subpage-main,html[data-theme="dark"] .pricing-confirmation{background:#07131d}html[data-theme="dark"] .hero{background:linear-gradient(90deg,#0a1a27 0%,#0a1a27 58%,#0d202d 58%,#0d202d 100%)}html[data-theme="dark"] .subpage-hero{border-bottom-color:#263b49;background:linear-gradient(135deg,#0c2030 0%,#0b2927 55%,#281f18 100%)}html[data-theme="dark"] .section-muted,html[data-theme="dark"] .section-soft{background:#0a1924!important}html[data-theme="dark"] .hero-lead,html[data-theme="dark"] .hero-solution,html[data-theme="dark"] .subpage-hero p,html[data-theme="dark"] .section-heading p,html[data-theme="dark"] .editorial-heading p,html[data-theme="dark"] .value-copy p,html[data-theme="dark"] .boundary-heading p,html[data-theme="dark"] .security-copy p,html[data-theme="dark"] .home-faq-layout p{color:#aebfcc}
html[data-theme="dark"] .resource-feature-card,html[data-theme="dark"] .resource-principles,html[data-theme="dark"] .resource-home-card,html[data-theme="dark"] .resource-conversion-card,html[data-theme="dark"] .guide-toc,html[data-theme="dark"] .guide-check-grid article,html[data-theme="dark"] .guide-document-cards article,html[data-theme="dark"] .official-link-card,html[data-theme="dark"] .official-link-steps li,html[data-theme="dark"] .info-notice,html[data-theme="dark"] .pricing-card,html[data-theme="dark"] .confirmation-grid article,html[data-theme="dark"] .comparison-grid article,html[data-theme="dark"] .faq-item,html[data-theme="dark"] .faq-search-panel,html[data-theme="dark"] .contact-card,html[data-theme="dark"] .legal-content,html[data-theme="dark"] .account-card,html[data-theme="dark"] .checkout-card{border-color:#2c4555;background:#102231;box-shadow:none}html[data-theme="dark"] .resource-feature-primary,html[data-theme="dark"] .resource-conversion-card,html[data-theme="dark"] .guide-article-accent{border-color:#345e9b;background:linear-gradient(145deg,#122b46,#102231)}html[data-theme="dark"] .resource-home-card:hover{border-color:#5079cc;background:#142a3b}html[data-theme="dark"] .resource-feature-card p,html[data-theme="dark"] .resource-principles span,html[data-theme="dark"] .resource-conversion-card p,html[data-theme="dark"] .resource-home-card p,html[data-theme="dark"] .guide-article>p,html[data-theme="dark"] .guide-check-grid p,html[data-theme="dark"] .guide-document-cards p,html[data-theme="dark"] .official-link-card p,html[data-theme="dark"] .official-link-steps span,html[data-theme="dark"] .info-notice p{color:#a9bbc8}html[data-theme="dark"] .document-overview-table{border-color:#2c4555}html[data-theme="dark"] .document-overview-table th{color:#d7e4ed;background:#162d3e}html[data-theme="dark"] .document-overview-table td{color:#afc0cb;border-color:#29404f}html[data-theme="dark"] .guide-field-list{background:#0b1a25}html[data-theme="dark"] .guide-field-list span{color:#bcd2ff;background:#19345a}html[data-theme="dark"] .guide-note{background:#12352e}
html[data-theme="dark"] .button-secondary,html[data-theme="dark"] .button-ghost,html[data-theme="dark"] .file-label{border-color:#3b5565;color:#e6eef5;background:#102231}html[data-theme="dark"] .button-secondary:hover,html[data-theme="dark"] .button-ghost:hover{border-color:#6994ed;background:#172f42}html[data-theme="dark"] .form-control,html[data-theme="dark"] textarea,html[data-theme="dark"] select{border-color:#385263;color:#e6eef5;background:#0c1c28}html[data-theme="dark"] .form-control::placeholder,html[data-theme="dark"] textarea::placeholder{color:#718795}html[data-theme="dark"] .home-faq-list a,html[data-theme="dark"] .boundary-rows article,html[data-theme="dark"] .value-list article,html[data-theme="dark"] .security-list>div{border-color:#29404f}html[data-theme="dark"] .compare-lines p,html[data-theme="dark"] .date-check,html[data-theme="dark"] .readiness-list{border-color:#34505f;background:#0c1c28}html[data-theme="dark"] .readiness-list span{color:#9fb1be;background:#142633}html[data-theme="dark"] .readiness-list .done{color:#80dfc3;background:#12352e}
html[data-theme="dark"] .button-primary{color:#fff}html[data-theme="dark"] .resource-feature-card li{color:#bed0dc}html[data-theme="dark"] .resource-feature-card .button-primary{color:#fff}html[data-theme="dark"] .text-link,html[data-theme="dark"] .official-link-card a{color:#80a7ff}
html[data-theme="dark"] body.app-mode{background:radial-gradient(80% 50% at 0% 0%,rgba(70,125,205,.13),transparent 65%),radial-gradient(65% 48% at 100% 8%,rgba(71,178,148,.11),transparent 70%),#07131d}html[data-theme="dark"] .public-test-main,html[data-theme="dark"] .wizard-main{border-color:#2c4555;background:#0d1e2b;box-shadow:none}html[data-theme="dark"] .scope-reminder,html[data-theme="dark"] .review-overview>div,html[data-theme="dark"] .review-profile-action,html[data-theme="dark"] .review-document-card,html[data-theme="dark"] .result-status-panel,html[data-theme="dark"] .public-result-summary>div,html[data-theme="dark"] .result-section,html[data-theme="dark"] .public-official-box,html[data-theme="dark"] .public-test-card,html[data-theme="dark"] .document-row,html[data-theme="dark"] .upload-disclaimer,html[data-theme="dark"] .privacy-inline,html[data-theme="dark"] .toggle-row,html[data-theme="dark"] .consent-box{border-color:#2d4656;background:#102231}html[data-theme="dark"] .profile-guide-grid,html[data-theme="dark"] .profile-guide-grid>div{border-color:#29404f}html[data-theme="dark"] .comparison-value,html[data-theme="dark"] .review-field-grid input,html[data-theme="dark"] .upload-field-preview span{border-color:#314b5b;color:#e0eaf1;background:#0b1a25}html[data-theme="dark"] .successful-result-section,html[data-theme="dark"] .review-success-section{border-color:#2c5d50;background:#0f2925}html[data-theme="dark"] .review-attention-section,html[data-theme="dark"] .issue-item{border-color:#665333;background:#2a2417}html[data-theme="dark"] .modal-backdrop{background:rgba(0,7,12,.78)}html[data-theme="dark"] .modal-card{border:1px solid #314b5b;background:#102231}html[data-theme="dark"] .toast{color:#e7f0f6;background:#163248}
html[data-theme="dark"] .wizard-actions{border-color:#29404f;background:rgba(8,22,32,.96)}html[data-theme="dark"] .mobile-progress>div{background:#29404f}

/* Dark theme contrast corrections */
html[data-theme="dark"] .loss-solution-bar .button{color:#fff;background:#2f6bff}html[data-theme="dark"] .loss-solution-bar .button:hover{background:#255ad8}
html[data-theme="dark"] .boundary-rows article{border-color:#385263;background:#102231}html[data-theme="dark"] .boundary-rows h3{color:#f3f8fc}html[data-theme="dark"] .boundary-rows p{color:#b8c9d5}html[data-theme="dark"] .boundary-badge.service{color:#8ce5cc;background:#153d34}html[data-theme="dark"] .boundary-badge.official{color:#b9d0ff;background:#1a3763}html[data-theme="dark"] .boundary-badge.expert{color:#ffd1aa;background:#432a1c}
html[data-theme="dark"] .cta-card h2{color:#fff}html[data-theme="dark"] .cta-card p{color:#e3ebff}html[data-theme="dark"] .cta-card .section-kicker{color:#d6e2ff}html[data-theme="dark"] .cta-card .button-light{color:#102536;background:#fff}
html[data-theme="dark"] .faq-item summary{color:#edf5fb}html[data-theme="dark"] .faq-item summary:hover,html[data-theme="dark"] .faq-item[open] summary{color:#fff;background:#183247}html[data-theme="dark"] .faq-item summary span{border-color:#496273;color:#bcd0ff;background:#102432}html[data-theme="dark"] .faq-item p,html[data-theme="dark"] .faq-group-heading p,html[data-theme="dark"] .faq-search-copy p,html[data-theme="dark"] .faq-search-meta{color:#b3c4cf}
html[data-theme="dark"] .hero-aurora-one{background:radial-gradient(circle,rgba(180,205,226,.20),rgba(180,205,226,0) 72%)}html[data-theme="dark"] .hero-aurora-two{background:radial-gradient(circle,rgba(210,174,144,.12),rgba(210,174,144,0) 72%)}html[data-theme="dark"] .hero::before{border-color:rgba(105,148,237,.08);background:rgba(75,105,130,.05)}html[data-theme="dark"] .hero h1 em{color:#6d96ff}
html[data-theme="dark"] .hero-panel.comparison-panel{border-color:#385263;background:rgba(16,34,49,.96);box-shadow:0 30px 74px rgba(0,5,9,.32)}html[data-theme="dark"] .comparison-panel::before{border-color:rgba(109,150,255,.13);background:rgba(20,49,69,.38)}html[data-theme="dark"] .comparison-head,html[data-theme="dark"] .source-row{border-color:#29404f}html[data-theme="dark"] .comparison-head strong,html[data-theme="dark"] .source-row strong,html[data-theme="dark"] .comparison-summary strong{color:#edf5fb}html[data-theme="dark"] .comparison-demo-label{border-color:#3a5364;color:#afc0cb;background:#142633}html[data-theme="dark"] .source-row small,html[data-theme="dark"] .source-row>div>span,html[data-theme="dark"] .comparison-summary small,html[data-theme="dark"] .comparison-note{color:#9fb1be}html[data-theme="dark"] .source-row.has-difference{border-color:#665333;background:#2a2417}html[data-theme="dark"] .comparison-summary{border-color:#385263}html[data-theme="dark"] .comparison-summary>div{border-color:#385263;background:#0c1c28}html[data-theme="dark"] .comparison-panel .privacy-float{color:#dce8f0;background:#173247}
html[data-theme="dark"] .source-row.is-missing{border-color:#496273;background:#142633}html[data-theme="dark"] .hero-risk-list{border-color:#29404f;background:rgba(255,255,255,.045)}
html[data-theme="dark"] .trust-strip{border-color:#29404f;background:#0b1d2a;color:#edf5fb}html[data-theme="dark"] .trust-grid>div{border-color:#29404f}html[data-theme="dark"] .trust-grid span{color:#bfd0dc}
html[data-theme="dark"] .security-visual{border-color:#385263;background:#0d2130}html[data-theme="dark"] .local-device,html[data-theme="dark"] .local-result{border-color:#385263;background:#142a3b;box-shadow:none}html[data-theme="dark"] .local-device strong,html[data-theme="dark"] .local-result strong{color:#edf5fb}html[data-theme="dark"] .local-device small,html[data-theme="dark"] .local-result small{color:#afc0cb}html[data-theme="dark"] .no-upload{border-color:#496273;color:#bfd0dc;background:#102432}
html[data-theme="dark"] .public-test-sidebar .wizard-brand strong{color:#fff}html[data-theme="dark"] .public-test-sidebar .wizard-brand small{color:#afc3d1}html[data-theme="dark"] .public-test-sidebar .step-nav button{color:rgba(255,255,255,.68)}html[data-theme="dark"] .public-test-sidebar .step-nav li.is-current button{color:#fff}html[data-theme="dark"] .public-test-sidebar .step-nav li.is-complete button{color:rgba(255,255,255,.86)}html[data-theme="dark"] .public-test-sidebar .sidebar-note p{color:#b7c8d4}html[data-theme="dark"] .public-test-heading p{color:#afc0cb}
html[data-theme="dark"] .public-destination-grid .destination-card.is-selected{border-color:#6d96ff;color:#edf5fb;background:#183554;box-shadow:0 8px 20px rgba(0,5,9,.22)}html[data-theme="dark"] .public-destination-grid .destination-card.is-selected small{color:#b8c9d5}
html[data-theme="dark"] .comparison-action-banner{border-color:#6d96ff;background:#142a3b}html[data-theme="dark"] .comparison-action-banner strong{color:#edf5fb}html[data-theme="dark"] .comparison-action-banner span{color:#b8c9d5}
html[data-theme="dark"] .account-preview-warning{border-color:#9b6c24;color:#f5d89d;background:#352817}html[data-theme="dark"] .account-card,html[data-theme="dark"] .account-data-card{border-color:#2c4555;background:#102231;box-shadow:none}html[data-theme="dark"] .account-card h2,html[data-theme="dark"] .account-data-card h2{color:#edf5fb}html[data-theme="dark"] .account-card p,html[data-theme="dark"] .account-data-card p{color:#afc0cb}
html[data-theme="dark"] .paid-start-modal #paidStartDescription{border-color:#385263;background:#142a3b}html[data-theme="dark"] .paid-start-modal #paidStartDescription p{color:#bfd0dc}html[data-theme="dark"] .paid-start-modal #paidStartDescription strong{color:#fff}
html[data-theme="dark"] .contact-form-card,html[data-theme="dark"] .contact-side-card{border-color:#2c4555;background:#102231;box-shadow:none}html[data-theme="dark"] .contact-card-heading{border-color:#29404f}html[data-theme="dark"] .contact-card-heading h2,html[data-theme="dark"] .assistant-heading h2{color:#edf5fb}html[data-theme="dark"] .contact-card-heading p,html[data-theme="dark"] .contact-assistant-card>p{color:#b8c9d5}html[data-theme="dark"] .contact-assistant-card{border-color:#345e9b;background:#0d2130;box-shadow:none}
html[data-theme="dark"] .comparison-grid li{color:#b8c9d5}html[data-theme="dark"] .notice-addon-pricing-card{border-color:#345e9b;background:#102b45;box-shadow:none}html[data-theme="dark"] .notice-addon-pricing-card h2,html[data-theme="dark"] .notice-addon-price strong{color:#edf5fb}html[data-theme="dark"] .notice-addon-pricing-card p,html[data-theme="dark"] .notice-addon-pricing-card li,html[data-theme="dark"] .notice-addon-price small{color:#b8c9d5}html[data-theme="dark"] .notice-addon-pricing-card ul{border-color:#34506a}
html[data-theme="dark"] .section-kicker{color:#80a7ff}html[data-theme="dark"] .account-data-list{color:#bfd0dc}html[data-theme="dark"] .account-not-stored{border-color:#2c5d50;background:#0f2925}html[data-theme="dark"] .account-not-stored strong{color:#80dfc3}html[data-theme="dark"] .account-not-stored p{color:#bfd0dc}html[data-theme="dark"] .account-status.is-error{color:#ffb2ba;background:#3d1e25}html[data-theme="dark"] .account-status.is-success{color:#80dfc3;background:#143a32}
html[data-theme="dark"] .assistant-status,html[data-theme="dark"] .check-list li,html[data-theme="dark"] .x-list li,html[data-theme="dark"] .company-dl dd{color:#bfd0dc!important}html[data-theme="dark"] .company-dl dt{color:#9fb1be}html[data-theme="dark"] .pricing-card li{color:#bfd0dc}
html[data-theme="dark"] .tips-grid article,html[data-theme="dark"] .help-list article{border-color:#2c4555;background:#102231}html[data-theme="dark"] .tips-grid strong,html[data-theme="dark"] .help-list h3{color:#edf5fb}html[data-theme="dark"] .tips-grid p,html[data-theme="dark"] .help-list p{color:#b8c9d5}
html[data-theme="dark"] .footer-grid>div>strong{color:#fff}html[data-theme="dark"] .footer-grid a{color:#bfd0dc}html[data-theme="dark"] .footer-brand p,html[data-theme="dark"] .footer-grid>div:last-child p{color:#9fb1be}

@media(max-width:1100px){.header-actions>.theme-toggle,.header-actions>.language-toggle{display:none}.top-nav.is-open .mobile-preference-row{display:flex;gap:8px;margin-top:6px;padding:12px 12px 2px;border-top:1px solid #dce5eb}.mobile-preference-row .preference-toggle{width:44px;min-height:44px;padding:0}html[data-theme="dark"] .top-nav.is-open .mobile-preference-row{border-color:#29404f}}
@media(max-width:760px){.preference-toggle{width:38px;padding:0}.app-preference-controls .preference-toggle{min-width:38px}.header-actions{gap:6px}.mobile-preference-row .preference-toggle{width:44px}.app-topbar-actions{align-items:center;gap:7px}}
/* Keep the STEP 02 guidance and language switch compact on narrow application screens. */
@media(max-width:760px){
  .profile-guide-grid{margin-bottom:22px}
  .profile-guide-grid>div,.profile-guide-grid>div:first-child,.profile-guide-grid>div:last-child{padding:9px 0;display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:8px;align-items:start}
  .profile-guide-grid span{grid-row:1/span 2;padding-top:2px;line-height:1}
  .profile-guide-grid strong{margin-top:0;line-height:1.35}
  .profile-guide-grid p{grid-column:2;margin-top:2px;line-height:1.4}
  .app-preference-controls .language-toggle{width:60px;min-width:60px;padding-inline:5px;gap:3px}
}
/* Account deletion and private support operations */
.account-danger-section { padding-top: 0; }
.account-danger-card { max-width: 1120px; margin: 0 auto; padding: clamp(24px, 4vw, 42px); border: 1px solid #efb5bb; border-radius: 24px; background: #fff8f8; }
.account-danger-card h2 { margin: 8px 0 10px; color: #7c1724; }
.account-danger-card p { max-width: 760px; }
.account-danger-button, .admin-delete-button { border: 1px solid #c83f4f; background: transparent; color: #a32131; }
.account-danger-button:hover, .admin-delete-button:hover { background: #fff0f1; }
.account-delete-dialog { width: min(620px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 24px; color: var(--ink, #112f46); box-shadow: 0 30px 90px rgba(4, 25, 45, .28); }
.account-delete-dialog::backdrop { background: rgba(5, 22, 36, .72); backdrop-filter: blur(6px); }
.account-delete-dialog-inner { padding: clamp(24px, 5vw, 42px); }
.account-delete-dialog h2 { margin: 8px 0 12px; }
.account-delete-effects { margin: 20px 0; padding: 18px 18px 18px 38px; border-radius: 16px; background: #fff4f4; color: #651721; }
.account-delete-confirm { display: flex; gap: 12px; align-items: flex-start; margin: 20px 0; padding: 16px; border: 1px solid #e0e8ee; border-radius: 14px; }
.account-delete-confirm input { width: 20px; height: 20px; margin-top: 2px; }
.account-delete-status { margin: 0 0 18px; padding: 12px 14px; border-radius: 12px; background: #eef6ff; color: #174f79; font-weight: 700; }
.account-delete-status.is-error { background: #fff0f2; color: #9c2433; }
.account-delete-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.account-member-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

.admin-page { min-height: 100vh; margin: 0; background: #eef4f7; color: #112f46; font-family: var(--font-sans, system-ui, sans-serif); }
.admin-header { position: sticky; top: 0; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 76px; padding: 12px clamp(20px, 4vw, 56px); background: #0d2940; color: #fff; box-shadow: 0 8px 30px rgba(5, 26, 42, .15); }
.admin-header .brand { color: #fff; }
.admin-header .brand-name span, .admin-header .brand-name b { color: #fff; }
.admin-header > div { display: flex; align-items: center; gap: 14px; }
.admin-header .button-secondary { border-color: #6e8798; color: #fff; background: transparent; }
.admin-main { width: min(1600px, calc(100% - 40px)); margin: 0 auto; padding: 36px 0 64px; }
.admin-summary { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 24px; }
.admin-summary h1 { margin: 6px 0; font-size: clamp(34px, 4vw, 56px); }
.admin-counts { display: grid; grid-template-columns: repeat(5, minmax(88px, 1fr)); gap: 8px; }
.admin-count { min-width: 92px; padding: 12px; border: 1px solid #cbdce6; border-radius: 14px; background: #fff; text-align: center; }
.admin-count strong, .admin-count span { display: block; }
.admin-count strong { font-size: 24px; }
.admin-count span { color: #60798a; font-size: 12px; }
.admin-business { margin-bottom: 24px; padding: 20px; border: 1px solid #c9dbe6; border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(20, 55, 78, .06); }
.admin-business > header { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 14px; }
.admin-business h2 { margin: 4px 0 0; font-size: 26px; }
.admin-business > header p, .admin-business-note { margin: 0; color: #60798a; font-size: 12px; }
.admin-business-grid { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)); gap: 10px; }
.admin-business-card { min-width: 0; padding: 14px; border: 1px solid #d4e1e8; border-radius: 14px; background: #f8fbfc; }
.admin-business-card span, .admin-business-card strong { display: block; }
.admin-business-card span { min-height: 34px; color: #60798a; font-size: 12px; }
.admin-business-card strong { margin-top: 4px; font-size: clamp(20px, 2vw, 28px); overflow-wrap: anywhere; }
.admin-business-note { margin-top: 12px; }
.admin-kpi-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 24px 0 12px; padding-top: 20px; border-top: 1px solid #d7e4eb; }
.admin-kpi-heading h3 { margin: 4px 0 0; font-size: 22px; }
.admin-kpi-heading p { margin: 0; color: #60798a; font-size: 12px; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 10px; }
.admin-kpi-card { min-width: 0; padding: 16px; border: 1px solid #cbdce6; border-radius: 14px; background: #eef6ff; }
.admin-kpi-card span, .admin-kpi-card strong, .admin-kpi-card small { display: block; }
.admin-kpi-label { min-height: 40px; color: #456171; font-size: 13px; font-weight: 700; }
.admin-kpi-card strong { margin: 4px 0; color: #164fc4; font-size: clamp(26px, 3vw, 38px); }
.admin-kpi-card small { color: #60798a; font-size: 11px; }
.admin-kpi-definitions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; margin: 14px 0 0; color: #60798a; font-size: 11px; }
.admin-kpi-definitions div { display: grid; grid-template-columns: minmax(120px, auto) 1fr; gap: 8px; }
.admin-kpi-definitions dt { color: #304f62; font-weight: 800; }
.admin-kpi-definitions dd { margin: 0; }
.admin-workspace { display: grid; grid-template-columns: minmax(320px, 430px) minmax(0, 1fr); min-height: 680px; overflow: hidden; border: 1px solid #c9dbe6; border-radius: 22px; background: #fff; box-shadow: 0 18px 45px rgba(20, 55, 78, .08); }
.admin-inbox { border-right: 1px solid #d7e4eb; background: #f8fbfc; }
.admin-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 16px; border-bottom: 1px solid #d7e4eb; }
.admin-filters label, .admin-field { display: grid; gap: 7px; font-weight: 700; }
.admin-filters select, .admin-field select, .admin-field textarea { width: 100%; border: 1px solid #bdcfda; border-radius: 12px; background: #fff; color: #112f46; font: inherit; }
.admin-filters select, .admin-field select { min-height: 44px; padding: 8px 12px; }
.admin-ticket-list { max-height: 760px; overflow: auto; }
.admin-ticket { display: grid; width: 100%; gap: 8px; padding: 16px; border: 0; border-bottom: 1px solid #d7e4eb; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.admin-ticket:hover, .admin-ticket.is-selected { background: #e9f3ff; }
.admin-ticket.is-selected { box-shadow: inset 4px 0 #2d61f2; }
.admin-ticket-heading { display: flex; align-items: center; gap: 8px; }
.admin-ticket-heading time { margin-left: auto; color: #728897; font-size: 12px; }
.admin-ticket-message { display: -webkit-box; overflow: hidden; color: #456171; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.admin-ticket code { color: #718896; font-size: 11px; }
.admin-priority, .admin-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #e8eef2; font-size: 11px; font-weight: 800; }
.admin-priority.is-high, .admin-priority.is-urgent { background: #fff0d6; color: #7a4200; }
.admin-priority.is-urgent { background: #ffe3e6; color: #9b1c2a; }
.admin-detail { min-width: 0; padding: clamp(22px, 3vw, 42px); }
.admin-detail-empty { display: grid; min-height: 500px; place-content: center; text-align: center; color: #60798a; }
.admin-detail-header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; padding-bottom: 20px; border-bottom: 1px solid #d7e4eb; }
.admin-detail-header h2 { margin: 5px 0 0; font-size: clamp(22px, 3vw, 36px); overflow-wrap: anywhere; }
.admin-status.is-new { background: #e7f0ff; color: #174fae; }
.admin-status.is-in_progress { background: #fff0d6; color: #7a4200; }
.admin-status.is-resolved, .admin-status.is-closed { background: #dcf6ed; color: #086346; }
.admin-ticket-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 22px 0; border: 1px solid #d7e4eb; border-radius: 16px; overflow: hidden; }
.admin-ticket-meta div { min-width: 0; padding: 12px 14px; border-bottom: 1px solid #e1ebf0; }
.admin-ticket-meta dt { color: #6c8290; font-size: 12px; }
.admin-ticket-meta dd { margin: 4px 0 0; overflow-wrap: anywhere; font-weight: 700; }
.admin-customer-message { padding: 20px; border-radius: 16px; background: #eff6fb; }
.admin-customer-message h3 { margin-top: 0; }
.admin-customer-message p { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-redaction-note { color: #a32131; font-weight: 700; }
.admin-ticket-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
.admin-field textarea { min-height: 170px; padding: 12px; resize: vertical; }
.admin-field small { color: #60798a; font-weight: 400; }
.admin-check, .admin-detail-actions { grid-column: 1 / -1; }
.admin-check { display: flex; align-items: center; gap: 10px; }
.admin-check input { width: 18px; height: 18px; }
.admin-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 18px; border-top: 1px solid #d7e4eb; }
.admin-global-status { position: fixed; right: 24px; bottom: 24px; z-index: 20; max-width: 520px; padding: 14px 18px; border-radius: 12px; background: #173f5a; color: #fff; box-shadow: 0 12px 34px rgba(5, 28, 44, .22); }
.admin-global-status.is-error { background: #8c2030; }
.admin-global-status.is-success { background: #087052; }

[data-theme="dark"] .account-danger-card { border-color: #6e3942; background: #1b2731; }
[data-theme="dark"] .account-danger-card h2 { color: #ff9caa; }
[data-theme="dark"] .account-delete-dialog { background: #102536; color: #f2f8fb; }
[data-theme="dark"] .account-delete-effects { background: #321f27; color: #ffd9dd; }
[data-theme="dark"] .account-delete-confirm { border-color: #385065; }
[data-theme="dark"] .account-delete-status { background: #17354a; color: #d7edff; }
[data-theme="dark"] .account-delete-status.is-error { background: #3a2028; color: #ffd5dc; }
[data-theme="dark"] .passport-name-source { border-color: #355577; background: #10283a; }
[data-theme="dark"] .passport-name-source span,
[data-theme="dark"] .passport-name-source p { color: #afc5d4; }
[data-theme="dark"] .passport-name-source strong { color: #f1f7fa; }
[data-theme="dark"] .passport-capture-guide { border-color:#557fc8; background:#10283a; }
[data-theme="dark"] .passport-capture-guide strong { color:#d8e8ff; }
[data-theme="dark"] .passport-capture-guide span { color:#afc5d4; }
[data-theme="dark"] .passport-mrz-retry { border-color:#765a2a; background:#302819; }
[data-theme="dark"] .passport-mrz-retry strong { color:#ffe0a6; }
[data-theme="dark"] .passport-mrz-retry span { color:#d8c49e; }
[data-theme="dark"] .passport-mrz-retry .file-label { border-color:#896832; color:#ffe0a6; background:#172838; }
[data-theme="dark"] .passport-manual-recovery,
[data-theme="dark"] .passport-review-guidance { border-color:#2f6f60; background:#112e2a; }
[data-theme="dark"] .passport-manual-recovery strong,
[data-theme="dark"] .passport-review-guidance strong { color:#a9eadb; }
[data-theme="dark"] .passport-manual-recovery span,
[data-theme="dark"] .passport-review-guidance p { color:#b5d2ca; }

@media (max-width: 980px) {
  .admin-summary { align-items: stretch; flex-direction: column; }
  .admin-counts { grid-template-columns: repeat(5, 1fr); width: 100%; }
  .admin-business-grid { grid-template-columns: repeat(4, 1fr); }
  .admin-kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-workspace { grid-template-columns: 1fr; }
  .admin-inbox { border-right: 0; border-bottom: 1px solid #d7e4eb; }
  .admin-ticket-list { max-height: 420px; }
}

@media (max-width: 680px) {
  .admin-header { align-items: flex-start; flex-direction: column; }
  .admin-header > div { justify-content: space-between; width: 100%; }
  .admin-main { width: min(100% - 24px, 1600px); padding-top: 24px; }
  .admin-counts { grid-template-columns: repeat(2, 1fr); }
  .admin-business > header { align-items: flex-start; flex-direction: column; }
  .admin-business-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-kpi-heading { align-items: flex-start; flex-direction: column; }
  .admin-kpi-grid, .admin-kpi-definitions { grid-template-columns: 1fr; }
  .admin-kpi-definitions div { grid-template-columns: 1fr; gap: 2px; }
  .admin-filters, .admin-ticket-form, .admin-ticket-meta { grid-template-columns: 1fr; }
  .admin-detail { padding: 18px; }
  .admin-detail-actions .button { width: 100%; }
  .account-delete-actions .button { width: 100%; }
}

/* Purchase-first flow, upload limit and payment dark-mode corrections */
.upload-limit-notice { width: fit-content; margin: 14px 0 0 !important; padding: 9px 12px; border: 1px solid #b9d3ff; border-radius: 8px; color: #31566f !important; background: #f1f6ff; font-size: 12px !important; line-height: 1.55 !important; }
.upload-limit-notice strong { color: #2057bc; }

html[data-theme="dark"] .upload-limit-notice { border-color: #345e9b; color: #c6d8e7 !important; background: #102b45; }
html[data-theme="dark"] .upload-limit-notice strong { color: #8fb1ff; }
html[data-theme="dark"] .checkout-page,
html[data-theme="dark"] .checkout-main { background: #07131d; }
html[data-theme="dark"] .checkout-hero { border-color: #29404f; background: radial-gradient(circle at 13% 15%, rgba(74,132,214,.18), transparent 35%), radial-gradient(circle at 84% 30%, rgba(58,164,135,.13), transparent 32%), linear-gradient(135deg,#0b1c2a 0%,#102231 52%,#0d2827 100%); }
html[data-theme="dark"] .checkout-hero::after { opacity: .35; }
html[data-theme="dark"] .checkout-hero h1,
html[data-theme="dark"] .checkout-price-card strong,
html[data-theme="dark"] .checkout-card-heading h2,
html[data-theme="dark"] .checkout-summary-list dd,
html[data-theme="dark"] .checkout-context-list dd,
html[data-theme="dark"] .checkout-boundary-grid strong,
html[data-theme="dark"] .checkout-refund-list b,
html[data-theme="dark"] .checkout-sticky-card h2,
html[data-theme="dark"] .checkout-total strong { color: #edf5fb; }
html[data-theme="dark"] .checkout-hero p,
html[data-theme="dark"] .checkout-price-card > span,
html[data-theme="dark"] .checkout-price-card small,
html[data-theme="dark"] .checkout-summary-list dt,
html[data-theme="dark"] .checkout-context-list dt,
html[data-theme="dark"] .checkout-boundary-grid li,
html[data-theme="dark"] .checkout-refund-list li,
html[data-theme="dark"] .checkout-total span,
html[data-theme="dark"] .checkout-mini-summary span,
html[data-theme="dark"] .checkout-mini-summary b,
html[data-theme="dark"] .checkout-consents label,
html[data-theme="dark"] .checkout-security-note p { color: #b6c8d4; }
html[data-theme="dark"] .checkout-price-card,
html[data-theme="dark"] .checkout-sticky-card { border-color: #385263; background: rgba(16,34,49,.96); box-shadow: 0 24px 60px rgba(0,5,9,.28); }
html[data-theme="dark"] .checkout-summary-list,
html[data-theme="dark"] .checkout-context-list,
html[data-theme="dark"] .checkout-summary-list > div,
html[data-theme="dark"] .checkout-context-list > div,
html[data-theme="dark"] .checkout-total,
html[data-theme="dark"] .checkout-mini-summary { border-color: #29404f; }
html[data-theme="dark"] .checkout-context-note { color: #c4d4df; background: #142a3b; }
html[data-theme="dark"] .checkout-boundary-grid > div { border-color: #385263; background: #0c1c28; }
html[data-theme="dark"] .checkout-boundary-grid > div:first-child { border-color: #2c5d50; background: #0f2925; }
html[data-theme="dark"] .checkout-boundary-grid > div:last-child { border-color: #68444a; background: #2b1b20; }
html[data-theme="dark"] .checkout-refund-list li { border-color: #29404f; }
html[data-theme="dark"] .checkout-mode-notice.local { color: #92dcc7; background: #143a32; }
html[data-theme="dark"] .checkout-mode-notice.pending { color: #f3cd82; background: #3a2b14; }
html[data-theme="dark"] .payment-status { color: #bfd0dc; background: #142633; }
html[data-theme="dark"] .checkout-security-note { border-color: #385263; background: #0c1c28; }
html[data-theme="dark"] .checkout-correct-link,
html[data-theme="dark"] .inline-link,
html[data-theme="dark"] .checkout-consents a { color: #8fb1ff; }
html[data-theme="dark"] .payment-result-page { background: radial-gradient(circle at 20% 12%, rgba(74,132,214,.18), transparent 30%), radial-gradient(circle at 84% 75%, rgba(58,164,135,.13), transparent 32%), #07131d; }
html[data-theme="dark"] .payment-result-card { border-color: #385263; background: #102231; box-shadow: 0 25px 65px rgba(0,5,9,.34); }
html[data-theme="dark"] .payment-result-card h1,
html[data-theme="dark"] .payment-result-help strong { color: #edf5fb; }
html[data-theme="dark"] .payment-result-card > p,
html[data-theme="dark"] .payment-result-help p { color: #b6c8d4; }
html[data-theme="dark"] .payment-result-help { background: #0c1c28; }
html[data-theme="dark"] .payment-result-icon { color: #8fb1ff; background: #19345a; }

/* Readiness report and sample-result dark-mode contrast */
html[data-theme="dark"] .demo-result-actions {
  border-color: #385b73;
  background: linear-gradient(135deg, #142b3d, #102432);
}
html[data-theme="dark"] .demo-result-actions strong,
html[data-theme="dark"] .next-action-list h3,
html[data-theme="dark"] .public-issues-list .issue-item h3,
html[data-theme="dark"] .public-result-documents .result-doc strong,
html[data-theme="dark"] .comparison-field-label > span,
html[data-theme="dark"] .comparison-value strong { color: #edf5fb; }
html[data-theme="dark"] .demo-result-actions small,
html[data-theme="dark"] .next-action-list p,
html[data-theme="dark"] .public-issues-list .issue-item p,
html[data-theme="dark"] .public-issues-list .issue-item small,
html[data-theme="dark"] .public-result-documents .result-doc small,
html[data-theme="dark"] .comparison-value small { color: #b6c8d4; }
html[data-theme="dark"] .next-action-list article,
html[data-theme="dark"] .public-result-documents .result-doc,
html[data-theme="dark"] .review-comparison-row {
  border-color: #385263;
  background: #0c1c28;
}
html[data-theme="dark"] .review-comparison-row.difference {
  border-color: #745d33;
  background: #2d2517;
}
html[data-theme="dark"] .review-comparison-row.match {
  border-color: #2d6658;
  background: #102b26;
}
html[data-theme="dark"] .public-issues-list .issue-item.warning {
  border-color: #745d33;
  background: #2d2517;
}
html[data-theme="dark"] .public-issues-list .issue-item.error {
  border-color: #70434d;
  background: #2c1d22;
}
html[data-theme="dark"] .public-issues-list .issue-item.success {
  border-color: #2d6658;
  background: #102b26;
}
html[data-theme="dark"] .public-issues-list .issue-item.warning .issue-symbol {
  color: #ffd98a;
  background: #5b4318;
}
html[data-theme="dark"] .public-issues-list .issue-item.error .issue-symbol {
  color: #ffb3bd;
  background: #51242b;
}
html[data-theme="dark"] .public-issues-list .issue-item.success .issue-symbol {
  color: #89e0c7;
  background: #143b32;
}
html[data-theme="dark"] .public-issues-list .issue-item > button,
html[data-theme="dark"] .next-action-list button,
html[data-theme="dark"] .next-action-list a { color: #8fb1ff; }
html[data-theme="dark"] .public-result-documents .confirmed { color: #8de0c7; background: #143a32; }
html[data-theme="dark"] .public-result-documents .ready { color: #f4cc7b; background: #3a2b14; }
html[data-theme="dark"] .public-result-documents .missing { color: #ffb3bd; background: #3d1e25; }
html[data-theme="dark"] .public-result-documents .optional { color: #bed0dc; background: #263844; }
html[data-theme="dark"] .successful-check-item,
html[data-theme="dark"] .check-activity-summary > div,
html[data-theme="dark"] .empty-check-state {
  border-color: #2d6658;
  background: #0c1c28;
}
html[data-theme="dark"] .successful-check-item h3,
html[data-theme="dark"] .empty-check-state strong { color: #edf5fb; }
html[data-theme="dark"] .successful-check-item p,
html[data-theme="dark"] .empty-check-state p,
html[data-theme="dark"] .successful-check-boundary { color: #b6c8d4; }
html[data-theme="dark"] .successful-check-item > span {
  color: #89e0c7;
  background: #143b32;
}
html[data-theme="dark"] .check-activity-summary strong { color: #89e0c7; }
html[data-theme="dark"] .check-activity-summary small { color: #b6c8d4; }

/* Current staging QA: keep nested light surfaces readable in dark mode. */
html[data-theme="dark"] .review-document-card > header,
html[data-theme="dark"] .review-document-card > footer {
  border-color: #29404f;
  background: #0c1c28;
}
html[data-theme="dark"] .review-doc-heading h3 { color: #edf5fb; }
html[data-theme="dark"] .review-doc-heading p { color: #b6c8d4; }
html[data-theme="dark"] .contact-faq-panel {
  border-color: #385b73;
  background: #102432;
}
html[data-theme="dark"] .contact-faq-panel h3,
html[data-theme="dark"] .contact-faq-panel li strong { color: #edf5fb; }
html[data-theme="dark"] .contact-faq-panel li {
  color: #bfd0dc;
  background: #0c1c28;
}
html[data-theme="dark"] .contact-faq-panel li a { color: #9db8ff; }

/* Explicit opt-in for public-content analytics */
.analytics-consent {
  position: fixed;
  z-index: 1200;
  right: 20px;
  bottom: 20px;
  width: min(520px, calc(100vw - 40px));
  padding: 18px;
  border: 1px solid #b9d0df;
  border-radius: 18px;
  background: #fff;
  color: #16364b;
  box-shadow: 0 18px 54px rgba(15, 42, 62, .24);
}
.analytics-consent p { margin: 0 0 14px; font-size: 15px; line-height: 1.7; }
.analytics-consent-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.analytics-consent .button { min-height: 44px; padding: 10px 16px; font-size: 14px; }
.analytics-consent a { color: #2059d6; font-weight: 700; }
html[data-theme="dark"] .analytics-consent {
  border-color: #385b73;
  background: #102432;
  color: #edf5fb;
}
html[data-theme="dark"] .analytics-consent a { color: #9db8ff; }

html[data-theme="dark"] .saved-resume-panel {
  border-color: #315264;
  background: linear-gradient(135deg, #102b2a, #102231);
  box-shadow: none;
}
html[data-theme="dark"] .saved-resume-label { color: #79dfc2; }
html[data-theme="dark"] .saved-resume-panel strong { color: #edf5fb; }
html[data-theme="dark"] .saved-resume-panel small { color: #b6c8d4; }

html[data-theme="dark"] .notice-support-upsell {
  border-color: #385b73;
  background: linear-gradient(145deg, #10283a, #102231 58%, #102b2a);
  box-shadow: none;
}
html[data-theme="dark"] .notice-support-copy h2 { color: #edf5fb; }
html[data-theme="dark"] .notice-support-upsell > p { color: #b6c8d4; }
html[data-theme="dark"] .notice-support-boundary > div {
  border-color: #385263;
  background: #0c1c28;
}
html[data-theme="dark"] .notice-support-boundary strong { color: #edf5fb; }
html[data-theme="dark"] .notice-support-boundary span { color: #b6c8d4; }

/* Deep-state QA: keep late-flow cards and notices in the active dark palette. */
html[data-theme="dark"] .free-trial-document-notice,
html[data-theme="dark"] .free-trial-complete-modal #freeTrialCompleteDescription,
html[data-theme="dark"] .upload-overview,
html[data-theme="dark"] .account-empty,
html[data-theme="dark"] .account-application-card,
html[data-theme="dark"] .account-data-card,
html[data-theme="dark"] .account-local-save,
html[data-theme="dark"] .page-cta,
html[data-theme="dark"] .faq-search-box,
html[data-theme="dark"] .notice-purchase-card,
html[data-theme="dark"] .notice-purchase-gate,
html[data-theme="dark"] .notice-tool-layout > div,
html[data-theme="dark"] .notice-boundary-card,
html[data-theme="dark"] .notice-context-form,
html[data-theme="dark"] .notice-reference-section,
html[data-theme="dark"] .notice-context-summary > div,
html[data-theme="dark"] .notice-reference-grid > div,
html[data-theme="dark"] .notice-check-candidates li,
html[data-theme="dark"] .notice-document-reference li {
  border-color: #385263;
  color: #dce8f0;
  background: #102231 !important;
  box-shadow: none;
}
html[data-theme="dark"] .free-trial-document-notice strong,
html[data-theme="dark"] .free-trial-complete-modal #freeTrialCompleteDescription > strong,
html[data-theme="dark"] .upload-overview #uploadCount,
html[data-theme="dark"] .account-empty strong,
html[data-theme="dark"] .account-application-card h3,
html[data-theme="dark"] .page-cta h2,
html[data-theme="dark"] .notice-boundary-card h2,
html[data-theme="dark"] .notice-reference-section strong { color: #edf5fb; }
html[data-theme="dark"] .free-trial-document-notice p,
html[data-theme="dark"] .free-trial-complete-modal #freeTrialCompleteDescription p,
html[data-theme="dark"] .upload-overview #requiredCount,
html[data-theme="dark"] .account-empty p,
html[data-theme="dark"] .account-application-card p,
html[data-theme="dark"] .page-cta p,
html[data-theme="dark"] .notice-reference-section p,
html[data-theme="dark"] .notice-reference-section span,
html[data-theme="dark"] .notice-reference-section small { color: #b6c8d4; }
html[data-theme="dark"] .free-trial-complete-modal #freeTrialCompleteDescription .free-trial-sandbox-note,
html[data-theme="dark"] .legal-notice.warning,
html[data-theme="dark"] .contact-alert,
html[data-theme="dark"] .ocr-retry-attention,
html[data-theme="dark"] .passport-mrz-retry {
  border-color: #745d33;
  color: #f4d99f;
  background: #2d2517;
}
html[data-theme="dark"] .ocr-retry-attention > span { color: #ffd98a; background: #5b4318; }
html[data-theme="dark"] .ocr-retry-attention strong,
html[data-theme="dark"] .passport-mrz-retry strong { color: #ffe2a8; }
html[data-theme="dark"] .ocr-retry-attention p,
html[data-theme="dark"] .passport-mrz-retry span { color: #e3c991; }
html[data-theme="dark"] .contact-alert strong { color:#ffe2a8; }
html[data-theme="dark"] .contact-alert p { color:#e3c991; }
html[data-theme="dark"] .passport-capture-guide,
html[data-theme="dark"] .document-read-targets {
  border-color: #456da9;
  color: #c5d7e5 !important;
  background: #142a3b;
}
html[data-theme="dark"] .passport-capture-guide strong,
html[data-theme="dark"] .document-read-targets strong { color: #edf5fb; }
html[data-theme="dark"] .passport-capture-guide span { color: #b6c8d4; }
html[data-theme="dark"] .passport-manual-recovery,
html[data-theme="dark"] .passport-review-guidance {
  border-color: #2d6658;
  background: #102b26;
}
html[data-theme="dark"] .passport-manual-recovery strong,
html[data-theme="dark"] .passport-review-guidance strong { color: #96e3cd; }
html[data-theme="dark"] .passport-manual-recovery span,
html[data-theme="dark"] .passport-review-guidance p { color: #b8d4cb; }
html[data-theme="dark"] .public-test-card .file-label,
html[data-theme="dark"] .manual-add,
html[data-theme="dark"] .public-test-card .doc-delete,
html[data-theme="dark"] .passport-mrz-retry .file-label,
html[data-theme="dark"] #noticeApplication,
html[data-theme="dark"] #noticePageText,
html[data-theme="dark"] .notice-context-fields select,
html[data-theme="dark"] .notice-context-fields input,
html[data-theme="dark"] .notice-support-panel textarea {
  border-color: #3a5364;
  color: #e7f0f6;
  background: #0b1a25;
}
html[data-theme="dark"] .scope-warning-critical {
  border-color: #70434d;
  color: #ffb3bd !important;
  background: #2c1d22;
}
html[data-theme="dark"] .faq-search-box,
html[data-theme="dark"] .commercial-table dt { color: #dce8f0; background: #102231; }
html[data-theme="dark"] .official-link-code,
html[data-theme="dark"] .guide-steps article > span { color: #a9c3ff; background: #19345a; }
html[data-theme="dark"] .assistant-turn-counter { color: #aac2ff; background: #19345a; }
html[data-theme="dark"] .notice-support-consent { color: #c7d6e0; background: #142a3b; }
html[data-theme="dark"] .notice-boundary-card > p { color: #ffb3bd; background: #2c1d22; }
html[data-theme="dark"] .subpage-badge,
html[data-theme="dark"] .source-state.is-missing,
html[data-theme="dark"] .status-examples .is-muted > span,
html[data-theme="dark"] .comparison-field-label b { color: #c4d3dd; background: #263844; }
html[data-theme="dark"] .status-examples .is-good > span,
html[data-theme="dark"] .result-status-panel.checked > span,
html[data-theme="dark"] .success-count-badge { color: #8de0c7 !important; background: #143a32 !important; }
html[data-theme="dark"] .status-examples .is-attention > span,
html[data-theme="dark"] .result-status-panel.attention > span,
html[data-theme="dark"] .review-comparison-row.difference .comparison-field-label b { color: #ffd98a; background: #5b4318; }
html[data-theme="dark"] .review-comparison-row.match .comparison-field-label b { color: #8de0c7; background: #143a32; }

/* Readiness figures must remain legible at normal desktop viewing distance. */
.result-summary-grid strong { font-size: 22px; }
.result-summary-grid small { font-size: 12px; line-height: 1.45; }
.result-section-head h2,
.result-section-head > div h2 { font-size: 22px; }
.success-count-badge { font-size: 11px; }
.successful-check-boundary { font-size: 11px; }
.check-activity-summary small { font-size: 12px; }
.successful-check-item h3,
.empty-check-state strong { font-size: 14px; }
.successful-check-item p,
.empty-check-state p { font-size: 12px; }
@media (max-width: 560px) {
  .analytics-consent { right: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 16px; }
  .analytics-consent-actions { align-items: stretch; flex-direction: column; }
  .analytics-consent .button { width: 100%; }
  .analytics-consent a { text-align: center; padding: 6px; }
}

html[data-theme="dark"] .pricing-card.addon-plan { border-color:#2f7468; background:linear-gradient(145deg,#102638,#102f2b); }
html[data-theme="dark"] .plan-label.purchaser-only { color:#ffe2a0; background:#5b4318; box-shadow:none; }
html[data-theme="dark"] .opening-price-badge,html[data-theme="dark"] .opening-price-note { color:#ffe2a0; border-color:#7b5d22; background:#4b3917; box-shadow:none; }
html[data-theme="dark"] .pricing-card.addon-plan>p strong { color:#ffd37d; }
html[data-theme="dark"] .account-resume-step { color:#aac8ff; background:#19345a; }
/* Contact access gates keep recovery routes independent of account login. */
.contact-access-policy { margin-block: 1.5rem; }
.contact-access-policy p { margin-block: 1rem; }
.contact-details { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 1.25rem; }
.contact-details[hidden] { display: none; }

/* Put actionable readiness figures first and keep their mobile footprint small. */
.result-summary-attention { border-color:#efddbc!important; background:#fffaf1; }
.result-issue-breakdown { margin-top:5px; display:flex; flex-wrap:wrap; align-items:center; gap:3px; color:var(--muted); font-size:10px; font-weight:700; }
.result-issue-breakdown b { color:var(--navy); font:inherit; font-weight:850; }
.result-issue-section-head .count-badge { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.result-issue-section-head .count-badge b { font:inherit; }
html[data-theme="dark"] .public-result-summary .result-summary-attention { border-color:#665333!important; background:#2a2417; }
@media(max-width:760px){
  .public-result-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:18px}
  .result-summary-grid>div{min-width:0;min-height:70px;padding:10px 11px;gap:8px;border-radius:10px}
  .metric-icon{width:28px;height:28px;flex:0 0 28px;font-size:10px}
  .result-summary-grid strong{font-size:18px;line-height:1.05}
  .result-summary-grid small{font-size:10px;line-height:1.3}
  .result-section{margin-top:18px}
}

/* Mobile application screens: remove stacked vertical whitespace without shrinking touch targets. */
@media(max-width:760px){
  body.app-mode .public-test-main{padding-top:12px}
  body.app-mode .mobile-progress{margin-bottom:20px}
  body.app-mode .mobile-progress>div{margin-top:6px}
  body.app-mode .public-test-heading{margin-bottom:18px}
  body.app-mode .public-test-heading h1{margin:8px 0 9px}
  body.app-mode .public-test-heading p{line-height:1.65}

  body.app-mode .scope-reminder{margin-bottom:18px;padding:13px 14px;gap:10px}
  body.app-mode .form-section{margin-top:20px}
  body.app-mode .field-label{margin-bottom:7px}
  body.app-mode .form-section-split{gap:12px}
  body.app-mode .profile-guide-grid{margin-bottom:16px}
  body.app-mode .profile-guide-grid>div,
  body.app-mode .profile-guide-grid>div:first-child,
  body.app-mode .profile-guide-grid>div:last-child{padding:7px 0}
  body.app-mode .profile-form-grid{gap:14px}
  body.app-mode .privacy-inline{margin-top:20px;padding:14px}
  body.app-mode .toggle-row{margin-top:8px;padding:11px 2px}

  body.app-mode .free-trial-document-notice,
  body.app-mode .ocr-retry-attention{margin-bottom:16px;padding:13px 14px;gap:10px}
  body.app-mode .free-trial-document-notice{flex-direction:row}
  body.app-mode .ocr-retry-attention p{margin-top:3px;line-height:1.55}
  body.app-mode .upload-overview{margin-bottom:18px;padding:11px 13px;gap:8px}
  body.app-mode .public-document-list{gap:24px}
  body.app-mode .document-group{gap:9px}
  body.app-mode .document-group-heading{padding-bottom:7px}
  body.app-mode .document-group-heading h2{margin-top:3px}
  body.app-mode .document-group-list{gap:8px}
  body.app-mode .public-test-card .document-row{min-height:84px;padding:14px}
  body.app-mode .public-upload-disclaimer{margin-top:12px;padding:12px 14px}

  body.app-mode .review-heading{margin-bottom:18px}
  body.app-mode .review-overview{margin-bottom:9px;gap:7px}
  body.app-mode .review-overview>div{padding:12px 13px}
  body.app-mode .review-notice{margin-bottom:22px;padding:12px 14px;gap:9px}
  body.app-mode .review-profile-action{margin-bottom:22px;padding:12px 14px;gap:10px}
  body.app-mode .review-section-block{margin-top:22px}
  body.app-mode .review-section-heading{margin-bottom:9px}
  body.app-mode .review-comparison-table,
  body.app-mode .review-document-list{gap:7px}
  body.app-mode .review-comparison-row{padding:11px 12px}
  body.app-mode .review-document-card>header{padding:12px 14px}
  body.app-mode .review-field-grid{padding:13px 14px;gap:9px}
  body.app-mode .review-document-card>footer{padding:10px 14px}
  body.app-mode .review-success-section{padding:14px}
  body.app-mode .check-activity-summary{margin-bottom:9px;gap:7px}
  body.app-mode .check-activity-summary>div,
  body.app-mode .successful-check-item{padding:10px 11px}

  body.app-mode .demo-result-actions{margin-bottom:16px;padding:13px 14px;gap:10px}
  body.app-mode .public-results-header{margin-bottom:16px}
  body.app-mode .result-status-panel{padding:16px;gap:10px}
  body.app-mode .result-status-panel p{margin-top:4px;line-height:1.55}
  body.app-mode .public-result-summary{margin-top:8px;margin-bottom:14px}
  body.app-mode .result-summary-grid>div{min-height:64px;padding:8px 10px}
  body.app-mode .result-section{margin-top:15px;padding:14px}
  body.app-mode .public-issues-list .issue-item{padding:12px}
  body.app-mode .successful-result-section{padding:14px}
  body.app-mode .next-action-section{margin-top:20px}
  body.app-mode .next-action-list article{padding:11px 12px;gap:9px}

  body.app-mode .wizard-actions{margin-top:28px;padding-top:12px}
}

/* Keep the app header usable on 320–420px screens. */
.session-delete-label-short{display:none}
.app-topbar #clearSessionTop{white-space:nowrap}
html[data-language="en"] .hero-solution strong,
html[data-language="en"] .contact-form .form-consent a{margin-right:.28em}
@media(max-width:420px){
  .app-topbar-inner{gap:6px}
  .app-title{gap:7px}
  .app-title small{display:none}
  .app-topbar-actions,.app-preference-controls{gap:5px}
  .app-topbar #clearSessionTop{padding-inline:8px}
  .session-delete-label-full{display:none}
  .session-delete-label-short{display:inline}
}
@media(max-width:350px){
  .app-topbar-inner{width:calc(100% - 20px)}
  .app-preference-controls .language-toggle{width:54px;min-width:54px;padding-inline:3px}
  .app-preference-controls .theme-toggle{width:36px;min-width:36px}
  .app-topbar #clearSessionTop{padding-inline:6px}
}

/* Mobile home page: keep list items compact and make the reading order obvious. */
@media(max-width:680px){
  .usecase-section-primary{padding:52px 0 56px}
  .usecase-intro{margin-bottom:22px}
  .usecase-feature-grid article,
  .usecase-feature-grid article:first-child,
  .usecase-feature-grid article:nth-child(2),
  .usecase-feature-grid article:nth-child(3),
  .usecase-feature-grid article:last-child{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    column-gap:10px;
    row-gap:7px;
    padding:17px 0;
  }
  .usecase-feature-grid article>span{
    grid-column:1;
    grid-row:1;
    align-self:start;
    margin-top:.35em;
    line-height:1;
  }
  .usecase-feature-grid h3{
    grid-column:2;
    grid-row:1;
    margin:0;
    min-height:0;
    line-height:1.4;
  }
  .usecase-feature-grid p{
    grid-column:2;
    grid-row:2;
    margin:0;
    min-height:0;
    line-height:1.6;
  }
  .usecase-feature-grid small{
    grid-column:2;
    grid-row:3;
    padding-top:7px;
    line-height:1.45;
  }

  .how-section .section-heading.align-left{margin-bottom:24px}
  .step-cards article,
  .step-cards article:first-child,
  .step-cards article:nth-child(2),
  .step-cards article:nth-child(3),
  .step-cards article:last-child{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    column-gap:13px;
    row-gap:5px;
    padding:16px 0;
  }
  .step-cards article>span{
    position:static;
    grid-column:1/-1;
    grid-row:1;
    margin-bottom:4px;
    line-height:1;
  }
  .step-icon{
    grid-column:1;
    grid-row:2/span 2;
    width:38px;
    height:38px;
    margin-top:0;
  }
  .step-cards h3{
    grid-column:2;
    grid-row:2;
    margin:0;
    line-height:1.4;
  }
  .step-cards p{
    grid-column:2;
    grid-row:3;
    margin:0;
    line-height:1.6;
  }
}

/* Mobile home page: tighten comparison examples and the three-step value section. */
@media(max-width:680px){
  .why-section{padding:52px 0 56px}
  .why-section .editorial-heading{margin-bottom:26px}
  .why-card,
  .why-card:first-child,
  .why-card:last-child{
    padding:19px 0;
  }
  .why-card h3{
    min-height:0;
    margin:10px 0 12px;
    font-size:18px;
    line-height:1.4;
  }
  .why-card>p{
    margin:10px 0 0;
    line-height:1.6;
  }
  .compare-lines{gap:5px;margin-bottom:10px}
  .compare-lines p{padding:8px 10px}
  .date-check{min-height:0;padding:10px}
  .readiness-list{gap:5px;padding:10px}
  .readiness-list span{padding:6px 8px}

  .value-section{padding:52px 0 56px}
  .value-layout{gap:22px}
  .value-copy h2{
    margin:8px 0 12px;
    font-size:32px;
    line-height:1.22;
  }
  .value-copy p{margin:0;line-height:1.65}
  .value-list article{
    grid-template-columns:32px minmax(0,1fr);
    gap:12px;
    padding:15px 0;
  }
  .value-list article>span{width:30px;height:30px}
  .value-list h3{margin:0 0 3px;font-size:18px;line-height:1.4}
  .value-list p{line-height:1.55}
  .how-section{padding:52px 0 56px}
}

/* One clear mid-page action between the process explanation and service boundaries. */
.midpage-cta{padding:0 0 58px;background:#fff}
.midpage-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 28px;
  border:1px solid #cfe0f3;
  border-radius:14px;
  background:linear-gradient(135deg,#f3f8ff,#f5fbf8);
}
.midpage-cta-copy{display:grid;gap:5px}
.midpage-cta-copy strong{color:var(--navy);font-size:20px;line-height:1.45}
.midpage-cta .button{flex:0 0 auto}
html[data-theme="dark"] .midpage-cta{background:#07131d}
html[data-theme="dark"] .midpage-cta-inner{border-color:#385b73;background:linear-gradient(135deg,#142b3d,#102b2a)}
html[data-theme="dark"] .midpage-cta-copy strong{color:#edf5fb}
@media(max-width:680px){
  .midpage-cta{padding:0 0 44px}
  .midpage-cta-inner{align-items:stretch;flex-direction:column;gap:14px;padding:18px}
  .midpage-cta-copy{gap:4px}
  .midpage-cta-copy strong{font-size:17px}
  .midpage-cta .button{width:100%;min-height:44px}
  .midpage-cta+.section-muted{padding:52px 0 56px}
}
