/* Scoped discovery cards/dialog. Same brand, typeface and city data as the portal. */
html.discovery-home { scrollbar-gutter:stable; }
html.discovery-modal-open { overflow:hidden; }
.discovery-dialog .visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.feature-steps-section { max-width:1060px; margin:52px auto; padding:0 24px; scroll-margin-top:calc(var(--site-header-height,125px) + 20px); }
.section-header-centered { text-align:center; max-width:670px; margin:0 auto 28px; }
.section-header-centered h2 { font-size:clamp(1.7rem,3vw,2.3rem); margin:0 0 12px; }
.section-header-centered p:not(.eyebrow) { color:var(--text-muted); margin:0; }
.steps-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.step-card { display:flex; flex-direction:column; min-width:0; padding:24px; color:var(--text-main); background:var(--surface,#fff); border:1px solid var(--border-subtle,#E2E8F0); border-radius:20px; box-shadow:0 4px 20px -2px rgba(11,19,30,.06); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.step-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(11,19,30,.09); border-color:#94A3B8; }
.step-card:focus-visible { outline:3px solid var(--brand-teal,#0D5C56); outline-offset:5px; }
.step-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.step-icon-badge { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:#ECFDF5; color:#047857; }
.step-number-watermark { font-size:2.1rem; line-height:1; font-weight:600; color:#CBD5E1; font-variant-numeric:tabular-nums; }
.step-ui-preview { height:288px; min-height:288px; background:#111827; border:1px solid #253046; border-radius:10px; color:#F8FAFC; padding:14px 20px 16px; margin-bottom:20px; overflow:hidden; }
.preview-window-bar { display:flex; align-items:center; gap:4px; color:#A6B4C7; margin-bottom:19px; }
.preview-window-bar>span { width:5px; height:5px; border-radius:50%; background:#46536A; }
.preview-window-bar small { margin-left:auto; font-size:.6rem; }
.preview-mini-header { font-size:.79rem; color:#F1F5F9; font-weight:500; text-align:center; margin-bottom:14px; }
.preview-persona-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.mini-persona-card { display:flex; flex-direction:column; align-items:center; background:#1D2637; border:1px solid #364154; padding:9px 5px; border-radius:8px; }
.mini-persona-card.active { background:#123B37; border-color:#6EE7B7; }
.mini-avatar { font-size:1.5rem; line-height:1; color:#A7F3D0; margin-bottom:7px; }
.mini-persona-card strong { font-size:.69rem; font-weight:500; line-height:1.4; color:#F8FAFC; }
.mini-persona-card small { font-size:.59rem; color:#B8C4D4; margin-top:3px; }
.step-card-body { flex:1; display:flex; flex-direction:column; }
.step-pill { font-size:.82rem; color:#047857; font-weight:600; font-variant-numeric:tabular-nums; }
.step-card-body h3 { font-size:1.3rem; font-weight:600; margin:8px 0 10px; }
.step-card-body p { font-size:.94rem; color:var(--text-muted); margin:0 0 18px; line-height:1.65; }
.step-card-action { display:flex; justify-content:space-between; color:var(--brand-teal,#0D5C56); font-size:.85rem; font-weight:600; margin-top:auto; }
.preview-radar-split { display:grid; grid-template-columns:1fr 1.2fr; gap:16px; align-items:center; }
.preview-radar-split svg { display:block; width:100%; height:139px; }
.radar-rank-badge { display:inline-block; color:#A7F3D0; background:#123B37; font-size:.69rem; padding:4px 7px; border-radius:20px; margin-bottom:11px; }
.radar-bar-row { margin-bottom:10px; }
.radar-bar-row>span:first-child { display:flex; justify-content:space-between; color:#CBD5E1; font-size:.65rem; margin-bottom:5px; }
.radar-bar-row strong { font-weight:500; font-variant-numeric:tabular-nums; }
.mini-progress { display:block; height:4px; background:#364154; border-radius:5px; overflow:hidden; }
.mini-progress>span { display:block; height:100%; background:#6EE7B7; }
.preview-footnote { display:block; text-align:center; color:#B8C4D4; font-size:.61rem; margin:10px 0 0; }
.discovery-section-note { font-size:.82rem; color:var(--text-muted); text-align:center; margin:20px auto 0; max-width:750px; }
.discovery-home .relocation-matcher { margin-top:0; }
.discovery-home .travel-hero { padding-bottom:62px; min-height:480px; }
.discovery-home .travel-photo-credit { bottom:18px; }
.discovery-dialog { width:min(840px,calc(100% - 32px)); max-width:840px; max-height:min(850px,calc(100dvh - 32px)); padding:0; border:1px solid var(--border-subtle,#E2E8F0); border-radius:20px; color:var(--text-body); background:var(--surface,#fff); box-shadow:0 25px 90px rgba(0,0,0,.25); overflow:hidden; }
.discovery-dialog[open] { display:flex; flex-direction:column; }
.discovery-dialog::backdrop { background:rgba(11,19,30,.67); }
.discovery-dialog [hidden] { display:none!important; }
.discovery-dialog-head { display:flex; justify-content:space-between; align-items:center; padding:17px 26px; border-bottom:1px solid var(--border-subtle); flex:none; }
.discovery-dialog-head>div { display:flex; flex-direction:column; gap:3px; }
.discovery-brand-label { font-size:.86rem; font-weight:600; color:var(--text-main); }
#discovery-progress { color:var(--text-muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.discovery-close { width:44px; height:44px; padding:0; border:1px solid var(--border-subtle); border-radius:50%; background:var(--surface,#fff); color:var(--text-main); font-size:1.7rem; line-height:1; cursor:pointer; }
.discovery-dialog-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; padding:24px 28px 28px; }
.discovery-dialog h2 { font-size:clamp(1.4rem,3vw,1.9rem); font-weight:600; margin:0 0 12px; line-height:1.3; }
.discovery-dialog h2:focus { outline:none; }
.discovery-dialog h3 { font-size:1.05rem; margin:0 0 12px; }
.discovery-dialog p { color:var(--text-muted); font-size:.91rem; margin:0 0 18px; }
.discovery-dialog p.discovery-privacy { font-size:.75rem; margin:0 0 21px; }
.discovery-personas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; border:0; padding:0; margin:24px 0; }
.persona-choice-card { position:relative; min-width:0; cursor:pointer; }
.persona-choice-card input { position:absolute; opacity:0; width:1px; height:1px; }
.persona-box { display:flex; flex-direction:column; position:relative; height:100%; background:var(--paper,#F8F9FA); border:1.5px solid var(--border-subtle); border-radius:14px; padding:20px; }
.persona-emoji { color:var(--brand-teal,#0D5C56); font-size:1.9rem; font-weight:500; line-height:1; margin-bottom:16px; }
.persona-box strong { font-weight:600; font-size:.95rem; color:var(--text-main); margin-bottom:8px; }
.persona-box small { color:var(--text-muted); font-size:.81rem; line-height:1.6; }
.persona-check { position:absolute; right:14px; top:14px; display:grid; place-items:center; width:22px; height:22px; background:#0D5C56; color:#fff; border-radius:50%; opacity:0; }
.persona-choice-card input:checked+.persona-box { border-color:#0D5C56; background:#E6F4F1; }
.persona-choice-card input:checked+.persona-box .persona-check { opacity:1; }
.persona-choice-card input:focus-visible+.persona-box { outline:3px solid #0D5C56; outline-offset:3px; }
.discovery-next { width:100%; justify-content:center; }
.discovery-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; margin:24px 0; }
.discovery-context-grid label,.discovery-radar-panel label { display:flex; flex-direction:column; gap:8px; font-size:.86rem; font-weight:500; color:var(--text-main); }
.discovery-context-grid select,.discovery-radar-panel select { width:100%; min-width:0; height:48px; border:1px solid var(--border-subtle); border-radius:8px; background:var(--surface,#fff); color:var(--text-main); padding:0 10px; font-size:.86rem; font-weight:400; }
.discovery-context-grid small { font-size:.76rem; color:var(--text-muted); font-weight:400; line-height:1.6; }
.discovery-priority-pill { display:inline-block; font-size:.76rem!important; border-radius:99px; background:#E6F4F1; color:#0D5C56!important; padding:5px 10px; }
.discovery-actions { display:flex; justify-content:space-between; gap:12px; margin-top:24px; }
.discovery-error:empty { display:none; }
.discovery-error { color:#B91C1C!important; }
.match-results-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:20px; background:#111827; border:1px solid #334155; color:#F8FAFC; padding:20px; border-radius:14px; margin:24px 0; }
.match-results-layout h3,.match-results-layout label { color:#F1F5F9; }
.match-results-layout p,.match-results-layout small { color:#B8C4D4; }
.match-results-layout p { font-size:.76rem; line-height:1.5; }
.discovery-chart-label { text-align:center; font-size:.82rem!important; margin:0!important; color:#F1F5F9!important; }
.discovery-radar-svg { display:block; width:100%; height:auto; max-height:285px; }
.discovery-radar-legend { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.discovery-radar-legend>span { display:flex; align-items:center; gap:6px; font-size:.73rem; color:#E2E8F0; }
.legend-solid { width:15px; height:0; border-top:2px solid #6EE7B7; }
.legend-dashed { width:15px; height:0; border-top:2px dashed #93C5FD; }
.discovery-radar-panel label { font-size:.74rem; }
.discovery-radar-panel select { height:40px; font-size:.77rem; background:#1D2637; border-color:#46536A; color:#F1F5F9; }
.discovery-rank-list { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:9px; }
.discovery-rank-button { width:100%; display:grid; grid-template-columns:1fr auto; gap:10px; padding:12px; border:1px solid #46536A; background:#1D2637; color:#F8FAFC; border-radius:10px; text-align:left; cursor:pointer; }
.discovery-rank-button[aria-pressed="true"] { border-color:#6EE7B7; background:#123B37; }
.discovery-rank-button>span:first-child { display:flex; gap:10px; align-items:center; }
.discovery-rank-number { font-size:.74rem; color:#A6B4C7; font-variant-numeric:tabular-nums; }
.discovery-rank-button strong { display:block; font-size:.85rem; font-weight:500; }
.discovery-rank-button small { display:block; font-size:.71rem; font-weight:400; line-height:1.4; }
.discovery-score { font-size:1.18rem; font-weight:600; color:#A7F3D0; font-variant-numeric:tabular-nums; }
.discovery-score small { text-align:right; }
.discovery-rank-track { grid-column:1/-1; display:block; height:3px; border-radius:5px; background:#46536A; overflow:hidden; }
.discovery-rank-track>span { display:block; height:100%; background:#6EE7B7; }
.discovery-rank-panel>small { font-size:.73rem; }
.discovery-details { border-bottom:1px solid var(--border-subtle); padding:14px 0; }
.discovery-details summary { font-size:.88rem; font-weight:500; color:var(--text-main); min-height:30px; cursor:pointer; }
.discovery-details[open] summary { margin-bottom:14px; }
.discovery-details p { font-size:.81rem; }
.discovery-table-wrap { overflow-x:auto; margin-bottom:16px; }
.discovery-table-wrap table { border-collapse:collapse; width:100%; min-width:440px; font-size:.76rem; }
.discovery-table-wrap th,.discovery-table-wrap td { padding:10px 8px; text-align:left; border-bottom:1px solid var(--border-subtle); color:var(--text-body); font-weight:400; line-height:1.6; }
.discovery-table-wrap th { font-weight:500; }
.discovery-table-wrap td:nth-child(2) { white-space:nowrap; font-variant-numeric:tabular-nums; }
.discovery-checks { background:var(--paper,#F8F9FA); border:1px solid var(--border-subtle); border-radius:12px; padding:20px; margin:20px 0 6px; }
.discovery-checks ul { margin:0 0 12px; padding-left:20px; }
.discovery-checks li { font-size:.84rem; line-height:1.65; margin-bottom:10px; color:var(--text-body); }
.discovery-checks a,.discovery-details a { color:var(--brand-teal,#0D5C56); font-size:.82rem; text-decoration:underline; text-underline-offset:3px; }
.discovery-result-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.discovery-edit { border:0; background:transparent; color:var(--text-muted); font-size:.83rem; padding:10px 0; text-decoration:underline; cursor:pointer; margin-left:auto; }
.discovery-dialog button:focus-visible,.discovery-dialog select:focus-visible,.discovery-dialog summary:focus-visible,.discovery-dialog a:focus-visible { outline:3px solid #10B981; outline-offset:3px; }
.discovery-dialog .discovery-rank-button:focus-visible { outline-color:#A7F3D0; }
[data-theme="dark"] .step-pill,[data-theme="dark"] .step-card-action,[data-theme="dark"] .persona-emoji,[data-theme="dark"] .discovery-checks a,[data-theme="dark"] .discovery-details a { color:#A7F3D0; }
[data-theme="dark"] .step-icon-badge,[data-theme="dark"] .persona-choice-card input:checked+.persona-box,[data-theme="dark"] .discovery-priority-pill { background:#123B37; color:#A7F3D0!important; }
[data-theme="dark"] .persona-choice-card input:checked+.persona-box { border-color:#6EE7B7; }
[data-theme="dark"] .step-card:focus-visible,[data-theme="dark"] .persona-choice-card input:focus-visible+.persona-box { outline-color:#6EE7B7; }
[data-theme="dark"] .discovery-error { color:#FCA5A5!important; }
@media(max-width:700px) {
  .feature-steps-section { margin:32px auto; padding:0 18px; }
  .section-header-centered { text-align:left; margin-bottom:22px; }
  .section-header-centered p { font-size:.88rem; }
  .steps-grid { grid-template-columns:1fr; gap:18px; }
  .step-card { padding:22px; }
  .step-ui-preview { height:276px; min-height:276px; }
  .discovery-home .travel-hero { min-height:0; padding-bottom:56px; }
  .discovery-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
  .discovery-dialog-head { padding:12px 16px; }
  .discovery-dialog-scroll { padding:20px 18px; }
  .discovery-personas { gap:10px; margin:20px 0; }
  .persona-box { padding:16px 12px; }
  .persona-box strong { font-size:.85rem; }
  .persona-box small { font-size:.76rem; }
  .discovery-context-grid { grid-template-columns:1fr; gap:18px; }
  .match-results-layout { grid-template-columns:1fr; gap:26px; padding:16px; }
  .discovery-radar-svg { max-height:255px; }
  .discovery-rank-panel { border-top:1px solid #46536A; padding-top:20px; }
  .discovery-rank-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .discovery-rank-button { padding:10px; gap:8px; }
  .discovery-rank-number { display:none; }
  .discovery-rank-button strong { font-size:.8rem; }
  .discovery-rank-button small { font-size:.68rem; }
  .discovery-actions { flex-wrap:wrap; }
  .discovery-actions .button { flex:1; white-space:normal; text-align:center; }
  .discovery-result-actions .button { width:100%; justify-content:center; }
  .discovery-edit { margin:0; min-height:44px; }
  .discovery-section-note { text-align:left; font-size:.78rem; }
}
@media(max-width:360px) { .discovery-personas { grid-template-columns:1fr; }.discovery-rank-list { grid-template-columns:1fr; }.step-card { padding:18px; }.step-ui-preview { padding-inline:12px; } }
@media(prefers-reduced-motion:reduce) { .step-card { transition:none; }.step-card:hover { transform:none; } }
@media print { .feature-steps-section,.discovery-dialog { display:none!important; } }
