/* ============================================================================
   Navia Feedback — design system
   ----------------------------------------------------------------------------
   Brand palette and type are unchanged from the approved design system; the
   layout, density and depth are reworked:

     · two-panel shell — context on the left, the form on the right, so a wide
       screen is used rather than left empty
     · option lists become a responsive grid, halving the scroll on the long
       EKYC stages
     · layered elevation, considered focus states, restrained motion
   ==========================================================================*/

/* ---------------------------------------------------------------- colours */
:root {
  /* Brand: Navia Blue (#223872) */
  --blue-50:#EDEFF6; --blue-100:#D5DBEC; --blue-200:#AEB9D8; --blue-300:#8090BE;
  --blue-400:#5268A1; --blue-500:#34508C; --blue-600:#223872; --blue-700:#1B2D5C;
  --blue-800:#152347; --blue-900:#101A35;

  /* Accent: Navia Orange (#ED4D37) */
  --orange-50:#FDEDEA; --orange-100:#FBD6CF; --orange-200:#F6AE9F; --orange-300:#F2806A;
  --orange-400:#EF6249; --orange-500:#ED4D37; --orange-600:#D43A24; --orange-700:#AE2D1A;

  /* Neutral: cool slate */
  --slate-0:#FFFFFF; --slate-25:#F7F9FC; --slate-50:#F1F4F9; --slate-100:#E6EBF2;
  --slate-200:#D4DBE6; --slate-300:#B6C0D0; --slate-400:#8A96AC; --slate-500:#62708A;
  --slate-600:#45526B; --slate-700:#2E3A52; --slate-800:#1A2540; --slate-900:#0F1A33;
  --slate-950:#0A1226;

  --green-50:#E6F7F0; --green-100:#C2ECDC; --green-500:#0BA86D; --green-600:#08905C; --green-700:#06734A;
  --red-50:#FDECEC;   --red-100:#FAD4D6;   --red-500:#E5404A;   --red-600:#C8313B;   --red-700:#A22831;
  --amber-50:#FEF4E6; --amber-100:#FBE4BF; --amber-500:#F5A524; --amber-600:#D98A0E;

  --bg-app:var(--slate-25); --bg-subtle:var(--slate-50);
  --surface-card:var(--slate-0); --surface-sunken:var(--slate-50);
  --border-subtle:var(--slate-100); --border-default:var(--slate-200); --border-strong:var(--slate-300);
  --text-strong:var(--slate-950); --text-body:var(--slate-800); --text-muted:var(--slate-500);
  --text-subtle:var(--slate-400); --text-inverse:var(--slate-0); --text-link:var(--blue-500);

  --brand:var(--blue-600); --brand-hover:var(--blue-700); --brand-active:var(--blue-800);
  --brand-subtle:var(--blue-50); --brand-border:var(--blue-200); --on-brand:#FFFFFF;

  --accent:var(--orange-500); --accent-hover:var(--orange-600); --accent-subtle:var(--orange-50);
  --profit:var(--green-600); --profit-bg:var(--green-50);
  --loss:var(--red-600);     --loss-bg:var(--red-50);
  --warning:var(--amber-600);--warning-bg:var(--amber-50);
  --info:var(--blue-600);    --info-bg:var(--blue-50);

  --focus-ring:rgba(52,80,140,.45);

  /* ------------------------------------------------------------ typography */
  --font-display:'Sora','Segoe UI',system-ui,sans-serif;
  --font-sans:'Manrope','Segoe UI',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-extra:800;
  --ls-tighter:-0.03em; --ls-tight:-0.015em; --ls-caps:0.08em;

  /* ---------------------------------------------------- spacing and radii */
  --radius-xs:5px; --radius-sm:9px; --radius-md:13px; --radius-lg:18px;
  --radius-xl:24px; --radius-2xl:32px; --radius-full:999px;

  /* -------------------------------------------------------------- shadows */
  --shadow-xs:0 1px 2px rgba(10,18,38,.05);
  --shadow-sm:0 1px 3px rgba(10,18,38,.07), 0 1px 2px rgba(10,18,38,.04);
  --shadow-md:0 4px 14px -2px rgba(10,18,38,.09), 0 2px 6px -2px rgba(10,18,38,.05);
  --shadow-lg:0 16px 40px -8px rgba(10,18,38,.14), 0 6px 14px -6px rgba(10,18,38,.07);
  --shadow-xl:0 32px 64px -16px rgba(10,18,38,.18), 0 10px 24px -10px rgba(10,18,38,.08);
  --shadow-brand:0 8px 22px -6px rgba(34,56,114,.42);
  --shadow-inset:inset 0 1px 0 rgba(255,255,255,.6);

  --dur-fast:130ms; --dur-base:200ms; --dur-slow:320ms;
  --ease-standard:cubic-bezier(.2,0,0,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.32,.64,1);
}

/* ------------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.5;
  color:var(--text-body);
  background:var(--bg-app);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* A soft brand wash so the page is not a flat grey field. */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(880px 460px at 12% -8%, rgba(34,56,114,.075), transparent 62%),
    radial-gradient(720px 420px at 96% 4%, rgba(237,77,55,.055), transparent 58%),
    linear-gradient(180deg, #FBFCFE 0%, var(--slate-25) 42%, var(--slate-50) 100%);
}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--text-strong);
  letter-spacing:var(--ls-tight);
  line-height:1.2;
  margin:0;
  font-weight:var(--fw-bold);
}

a{color:var(--text-link);text-decoration:none;font-weight:var(--fw-bold);}
a:hover{color:var(--brand-hover);text-decoration:underline;text-underline-offset:2px;}

.num,.tabular{font-variant-numeric:tabular-nums lining-nums;}
::selection{background:var(--blue-200);color:var(--slate-950);}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs);}

/* =========================================================== page shell ==*/
.fb-page{
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:40px 24px 64px;
}

.fb-shell{
  width:100%;
  max-width:1060px;
  display:grid;
  grid-template-columns:335px minmax(0,1fr);
  gap:44px;
  align-items:start;
}
.fb-shell--single{max-width:660px;grid-template-columns:minmax(0,1fr);}

/* ------------------------------------------------------------------- rail */
.fb-rail{position:sticky;top:40px;padding-top:6px;}

.fb-brand{display:flex;align-items:center;gap:11px;margin-bottom:30px;}
.fb-brand__mark{
  width:36px;height:36px;border-radius:11px;flex-shrink:0;
  background:linear-gradient(140deg,var(--blue-500),var(--blue-700));
  box-shadow:var(--shadow-brand);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:var(--font-display);font-weight:var(--fw-extra);font-size:16px;
}
.fb-brand__name{
  font-family:var(--font-display);font-weight:var(--fw-extra);font-size:19px;
  color:var(--text-strong);letter-spacing:var(--ls-tight);line-height:1;
}
.fb-brand__sub{
  font-size:10.5px;font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);
  text-transform:uppercase;color:var(--text-subtle);margin-top:4px;line-height:1;
}

.fb-rail__title{
  font-family:var(--font-display);font-size:31px;font-weight:var(--fw-extra);
  letter-spacing:var(--ls-tighter);line-height:1.14;color:var(--text-strong);
  margin:16px 0 12px;
}
.fb-rail__intro{font-size:14.5px;line-height:1.62;color:var(--text-muted);margin:0;}

.fb-rail__facts{
  margin-top:28px;padding-top:24px;border-top:1px solid var(--border-subtle);
  display:flex;flex-direction:column;gap:15px;
}
.fb-fact{display:flex;gap:11px;align-items:flex-start;}
.fb-fact__icon{
  width:29px;height:29px;border-radius:9px;flex-shrink:0;
  background:var(--surface-card);border:1px solid var(--border-subtle);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs);
}
.fb-fact__text{font-size:12.8px;line-height:1.5;color:var(--text-muted);}
.fb-fact__text b{display:block;color:var(--text-strong);font-weight:var(--fw-bold);font-size:13.2px;margin-bottom:1px;}
.fb-fact__text a{
  font-size:13.2px;display:inline-flex;align-items:center;
  min-height:32px;padding:0 1px;
}

/* ------------------------------------------------------------------- card */
.fb-card{
  background:var(--surface-card);
  border:1px solid var(--border-subtle);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg), var(--shadow-inset);
  padding:34px 36px 36px;
  position:relative;
}
.fb-card--done{padding:52px 40px;text-align:center;}

.fb-legal{
  text-align:center;font-size:11px;line-height:1.7;
  color:var(--text-subtle);margin:26px auto 0;max-width:620px;
}
.fb-footnote{text-align:center;font-size:13px;color:var(--text-muted);margin:20px 0 0;}

/* ----------------------------------------------------------------- badges */
.fb-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 13px 6px 9px;border-radius:var(--radius-full);
  font-size:12px;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);
  border:1px solid transparent;
}
.fb-badge svg{flex-shrink:0;}
.fb-badge--warning{background:var(--warning-bg);color:var(--warning);border-color:var(--amber-100);}
.fb-badge--info{background:var(--info-bg);color:var(--info);border-color:var(--blue-100);}
.fb-badge--brand{background:var(--brand-subtle);color:var(--brand);border-color:var(--blue-100);}

/* --------------------------------------------------------------- sections */
.fb-section{margin-bottom:26px;}
.fb-section:last-of-type{margin-bottom:0;}
.fb-section__head{display:flex;align-items:baseline;gap:9px;margin-bottom:12px;}
.fb-section__num{
  font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);
  color:var(--brand);background:var(--brand-subtle);
  padding:3px 7px;border-radius:var(--radius-xs);flex-shrink:0;line-height:1.2;
}
.fb-label{
  display:block;font-size:14px;font-weight:var(--fw-bold);
  color:var(--text-strong);letter-spacing:var(--ls-tight);
}
.fb-label--sm{font-size:13px;}
.fb-optional{font-size:12px;font-weight:var(--fw-medium);color:var(--text-subtle);margin-left:3px;}
.fb-hint{font-size:12px;color:var(--text-subtle);margin-top:7px;line-height:1.5;}

/* --------------------------------------------------------- read-only stage */
.fb-stage{
  display:flex;align-items:center;gap:10px;padding:12px 15px;
  background:linear-gradient(180deg,var(--slate-25),var(--bg-subtle));
  border:1px solid var(--border-subtle);border-radius:var(--radius-md);
}
.fb-stage span{
  font-size:13.5px;color:var(--text-strong);font-family:var(--font-mono);
  font-weight:var(--fw-medium);letter-spacing:-0.01em;
}

/* ------------------------------------------------------------- text inputs */
.fb-input,.fb-textarea{
  width:100%;box-sizing:border-box;
  font-family:var(--font-sans);font-size:14.5px;color:var(--text-strong);
  border:1.5px solid var(--border-default);border-radius:var(--radius-md);
  padding:12px 14px;background:var(--surface-card);
  transition:border-color var(--dur-fast) var(--ease-standard),
             box-shadow var(--dur-fast) var(--ease-standard);
}
.fb-input{height:48px;}
.fb-textarea{min-height:104px;resize:vertical;line-height:1.6;}
.fb-input:hover,.fb-textarea:hover{border-color:var(--border-strong);}
.fb-input:focus,.fb-textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--focus-ring);
}
.fb-input::placeholder,.fb-textarea::placeholder{color:var(--text-subtle);}

.fb-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ================================================== option grid (radios) ==*/
.fb-options{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(252px,1fr));
  gap:9px;
}
.fb-options--single{grid-template-columns:1fr;}

.fb-opt{
  position:relative;text-align:left;
  padding:13px 14px 13px 42px;
  border-radius:var(--radius-md);
  border:1.5px solid var(--border-default);
  background:var(--surface-card);
  color:var(--text-body);
  font-family:var(--font-sans);font-weight:var(--fw-semibold);
  font-size:13.6px;line-height:1.4;
  cursor:pointer;width:100%;min-height:48px;
  display:flex;align-items:center;
  transition:border-color var(--dur-fast) var(--ease-standard),
             background var(--dur-fast) var(--ease-standard),
             box-shadow var(--dur-fast) var(--ease-standard),
             transform var(--dur-fast) var(--ease-standard);
}
.fb-opt .dot{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;
  border:2px solid var(--border-strong);background:var(--surface-card);
  flex-shrink:0;
  transition:border-color var(--dur-fast) var(--ease-standard),
             background var(--dur-fast) var(--ease-standard);
}
.fb-opt .dot::after{
  content:"";position:absolute;inset:0;margin:auto;
  width:8px;height:8px;border-radius:50%;background:#fff;
  transform:scale(0);transition:transform var(--dur-base) var(--ease-spring);
}
.fb-opt:hover{
  border-color:var(--brand-border);background:var(--slate-25);
  box-shadow:var(--shadow-sm);transform:translateY(-1px);
}
.fb-opt:hover .dot{border-color:var(--blue-300);}
.fb-opt.is-selected{
  border-color:var(--brand);
  background:linear-gradient(180deg,#F6F8FD,var(--brand-subtle));
  color:var(--brand);
  box-shadow:0 0 0 1px var(--brand), var(--shadow-sm);
  transform:none;
}
.fb-opt.is-selected .dot{border-color:var(--brand);background:var(--brand);}
.fb-opt.is-selected .dot::after{transform:scale(1);}

/* --------------------------------------------------------- chips (pills) */
.fb-chips{display:flex;flex-wrap:wrap;gap:8px;}
.fb-chip{
  padding:11px 17px;min-height:44px;border-radius:var(--radius-full);
  display:inline-flex;align-items:center;
  border:1.5px solid var(--border-default);background:var(--surface-card);
  color:var(--text-body);font-family:var(--font-sans);
  font-weight:var(--fw-semibold);font-size:13px;cursor:pointer;
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-chip:hover{border-color:var(--brand-border);background:var(--slate-25);transform:translateY(-1px);}
.fb-chip.is-selected{
  border-color:var(--brand);background:var(--brand);color:var(--on-brand);
  box-shadow:var(--shadow-brand);transform:none;
}

/* ------------------------------------------------- segmented / rating rows */
.fb-segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;}
.fb-segments--tight{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:7px;}
.fb-seg{
  padding:12px 8px;border-radius:var(--radius-md);
  border:1.5px solid var(--border-default);background:var(--surface-card);
  color:var(--text-body);font-family:var(--font-sans);
  font-weight:var(--fw-bold);font-size:13px;cursor:pointer;text-align:center;
  min-height:48px;display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-seg--sm{font-size:12.5px;padding:10px 6px;min-height:44px;}
.fb-seg:hover{border-color:var(--brand-border);background:var(--slate-25);}
.fb-seg.is-selected{
  border-color:var(--brand);background:var(--brand);color:var(--on-brand);
  box-shadow:var(--shadow-brand);
}

.fb-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;}
.fb-rate{
  padding:16px 0;border-radius:var(--radius-md);
  border:1.5px solid var(--border-default);background:var(--surface-card);
  color:var(--text-body);font-family:var(--font-display);
  font-weight:var(--fw-bold);font-size:17px;cursor:pointer;
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-rate:hover{border-color:var(--brand-border);background:var(--slate-25);transform:translateY(-2px);}
.fb-rate.is-selected{
  border-color:var(--brand);
  background:linear-gradient(160deg,var(--blue-500),var(--blue-700));
  color:var(--on-brand);box-shadow:var(--shadow-brand);transform:translateY(-2px);
}
.fb-scale-ends{
  display:flex;justify-content:space-between;margin-top:9px;
  font-size:11.5px;color:var(--text-subtle);font-weight:var(--fw-medium);
}

/* --------------------------------------------------------------- tab bar */
.fb-tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;
  background:var(--bg-subtle);border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);margin-bottom:28px;
}
.fb-tab{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:13px 6px;border-radius:var(--radius-md);border:1px solid transparent;
  background:transparent;color:var(--text-muted);cursor:pointer;
  font-family:var(--font-sans);
  transition:all var(--dur-base) var(--ease-standard);
}
.fb-tab .emoji{font-size:19px;line-height:1;filter:grayscale(.5);opacity:.75;transition:all var(--dur-base);}
.fb-tab .lbl{font-size:12.5px;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);}
.fb-tab:hover{color:var(--text-body);}
.fb-tab.is-selected{
  background:var(--surface-card);color:var(--brand);
  border-color:var(--border-subtle);box-shadow:var(--shadow-sm);
}
.fb-tab.is-selected .emoji{filter:none;opacity:1;}

/* -------------------------------------------------------------- checkbox */
.fb-check{
  display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none;
  padding:13px 15px;border:1.5px solid var(--border-default);
  border-radius:var(--radius-md);background:var(--surface-card);
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-check:hover{border-color:var(--brand-border);background:var(--slate-25);}
.fb-check input{position:absolute;opacity:0;width:0;height:0;}
.fb-check .box{
  width:21px;height:21px;border-radius:6px;
  border:1.5px solid var(--border-strong);background:var(--surface-card);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-check .box svg{opacity:0;transform:scale(.5);transition:all var(--dur-base) var(--ease-spring);}
.fb-check input:checked + .box{background:var(--brand);border-color:var(--brand);}
.fb-check input:checked + .box svg{opacity:1;transform:scale(1);}
.fb-check:has(input:checked){border-color:var(--brand);background:var(--brand-subtle);}
.fb-check input:focus-visible + .box{box-shadow:0 0 0 4px var(--focus-ring);}
.fb-check .txt{font-size:13.8px;color:var(--text-body);font-weight:var(--fw-semibold);}

/* --------------------------------------------------------------- uploader */
.fb-upload{
  border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);
  padding:22px 18px;text-align:center;
  background:linear-gradient(180deg,var(--slate-25),var(--bg-subtle));
  cursor:pointer;display:block;
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-upload:hover{border-color:var(--brand);background:var(--brand-subtle);}
.fb-upload input{display:none;}
.fb-upload .txt{font-size:13px;color:var(--text-muted);margin-top:8px;font-weight:var(--fw-medium);}
.fb-upload.has-file{border-color:var(--profit);border-style:solid;background:var(--profit-bg);}
.fb-upload.has-file .txt{color:var(--profit);font-weight:var(--fw-bold);}

/* --------------------------------------------------------------- buttons */
.fb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  width:100%;min-height:52px;padding:0 22px;
  border-radius:var(--radius-md);border:1.5px solid transparent;
  font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:15.5px;
  cursor:pointer;letter-spacing:var(--ls-tight);text-decoration:none;
  transition:all var(--dur-fast) var(--ease-standard);
}
.fb-btn--primary{
  background:linear-gradient(160deg,var(--blue-500),var(--blue-700));
  color:var(--on-brand);box-shadow:var(--shadow-brand);
}
.fb-btn--primary:hover{
  background:linear-gradient(160deg,var(--blue-600),var(--blue-800));
  color:var(--on-brand);text-decoration:none;
  transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(34,56,114,.5);
}
.fb-btn--primary:active{transform:translateY(0);}
.fb-btn--secondary{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-default);}
.fb-btn--secondary:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text-strong);text-decoration:none;}
.fb-btn--sm{min-height:42px;font-size:13.5px;width:auto;padding:0 18px;}
.fb-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;}
.fb-btn-stack{display:flex;flex-direction:column;gap:11px;}

.fb-submit{margin-top:30px;padding-top:26px;border-top:1px solid var(--border-subtle);}

/* ------------------------------------------------------------ meta strip */
.fb-meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-subtle);}
.fb-meta .cap{
  font-size:10.5px;font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);
  text-transform:uppercase;color:var(--text-subtle);margin-bottom:10px;
}
.fb-meta .tags{display:flex;flex-wrap:wrap;gap:7px;}
.fb-meta .tag{
  font-size:11.5px;font-family:var(--font-mono);color:var(--text-muted);
  background:var(--bg-subtle);border:1px solid var(--border-subtle);
  padding:5px 10px;border-radius:var(--radius-sm);
}

/* --------------------------------------------------------- success state */
.fb-tick{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(160deg,var(--green-50),var(--green-100));
  border:1px solid var(--green-100);
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;
  animation:tick-in 460ms var(--ease-spring) both;
}
@keyframes tick-in{from{transform:scale(.72);opacity:0;}to{transform:scale(1);opacity:1;}}

.fb-ticket{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono);font-size:15px;font-weight:var(--fw-bold);
  color:var(--text-strong);background:var(--bg-subtle);
  border:1px solid var(--border-default);border-radius:var(--radius-md);
  padding:11px 17px;margin:6px 0 20px;letter-spacing:.02em;
}
.fb-ticket small{
  font-family:var(--font-sans);font-size:10.5px;font-weight:var(--fw-bold);
  letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-subtle);
}
.fb-done-copy{
  font-size:14.5px;color:var(--text-muted);line-height:1.65;
  margin:0 auto 28px;max-width:420px;
}

/* ----------------------------------------------------------------- alert */
.fb-alert{
  display:flex;gap:11px;align-items:flex-start;padding:13px 16px;
  border-radius:var(--radius-md);font-size:13.5px;font-weight:var(--fw-semibold);
  margin-bottom:22px;line-height:1.5;
}
.fb-alert--error{background:var(--loss-bg);color:var(--loss);border:1px solid var(--red-100);}

/* honeypot — never visible to a human */
.fb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

/* ============================================================ responsive ==*/
@media (max-width:900px){
  /* iOS Safari zooms the page when a focused field is under 16px. Every
     text input goes to 16px here so tapping one never moves the layout. */
  .fb-input,.fb-textarea{font-size:16px;}
  .fb-input{height:52px;}

  /* Tap targets: comfortably past the 44px minimum on a phone. */
  .fb-opt{min-height:52px;font-size:14px;}
  .fb-seg{min-height:50px;}
  .fb-chip{min-height:46px;}
  .fb-check{padding:15px;}
  .fb-btn{min-height:54px;}
  .fb-fact__text a{min-height:44px;padding:0 4px;margin:0 -4px;}

  .fb-page{padding:0 0 40px;}
  .fb-shell{grid-template-columns:1fr;gap:0;max-width:640px;}

  .fb-rail{position:static;padding:28px 20px 24px;}
  .fb-rail__title{font-size:25px;margin:14px 0 10px;}
  .fb-rail__intro{font-size:14px;}
  .fb-rail__facts{
    margin-top:22px;padding-top:20px;
    flex-direction:row;flex-wrap:wrap;gap:14px 22px;
  }
  .fb-fact{flex:1 1 190px;}

  .fb-card{
    border-radius:var(--radius-xl) var(--radius-xl) 0 0;
    padding:28px 20px 32px;
    box-shadow:var(--shadow-lg);
  }
  .fb-card--done{padding:44px 22px;border-radius:var(--radius-xl);margin:0 16px;}
  .fb-legal{padding:0 20px;}
  .fb-footnote{padding:0 20px;}
}

@media (max-width:560px){
  .fb-grid-2{grid-template-columns:1fr;}
  .fb-options{grid-template-columns:1fr;}
  .fb-rating{gap:6px;}
  .fb-rate{font-size:15px;padding:14px 0;}
  .fb-tabs{gap:4px;padding:4px;}
  .fb-tab{padding:11px 4px;}
  .fb-tab .lbl{font-size:11px;}
  .fb-rail__title{font-size:23px;}
  .fb-ticket{font-size:13.5px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}
