.frw-app,.frw-app *{box-sizing:border-box}
.frw-app{
  --frw-space-xs:8px;
  --frw-space-sm:12px;
  --frw-space-md:16px;
  --frw-space-lg:20px;
  --frw-space-xl:24px;
  --frw-space-2xl:28px;
  --frw-section-gap:22px;
  --frw-title-page:clamp(1.55rem,1.2rem + 1.5vw,2.05rem);
  --frw-title-section:clamp(1.14rem,1.02rem + 0.45vw,1.38rem);
  --frw-title-sub:clamp(1.02rem,0.96rem + 0.2vw,1.14rem);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#111827;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  width:100%;
  max-width:1100px;
  margin:0 auto;
  font-size:1.04rem;
  line-height:1.52;
}
.frw-wrap{
  border:none;
  border-radius:16px;
  padding:24px 24px 28px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.10);
  display:flex;
  flex-direction:column;
  gap:var(--frw-section-gap);
}
@media (max-width:640px){.frw-wrap{padding:16px 14px 20px;gap:18px}}

.frw-head{
  background:linear-gradient(135deg,#ecfeff 0%,#eff6ff 55%,#f8fafc 100%);
  border:1px solid #b8d8ec;
  border-radius:14px;
  padding:18px 16px 20px;
  margin:0;
  text-align:center;
}
.frw-kicker{
  font-size:.82rem;
  font-weight:900;
  color:#0f766e;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 0 10px;
}
.frw-title{
  margin:0 0 12px;
  font-size:var(--frw-title-page);
  line-height:1.18;
  color:#083141;
  font-weight:900;
  letter-spacing:-.02em;
}
.frw-lead{
  margin:0 auto;
  max-width:54ch;
  font-size:1.05rem;
  color:#334155;
  line-height:1.58;
  font-weight:500;
}

.frw-toggle-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin:0}
.frw-toggle{
  background:#f8fafc;
  border-radius:999px;
  padding:4px;
  display:inline-flex;
  gap:4px;
  border:1px solid #cbd5e1;
}
.frw-toggle button{
  border:none;
  background:transparent;
  color:#475569;
  font-weight:800;
  font-size:.89rem;
  padding:10px 16px;
  border-radius:999px;
  cursor:pointer;
  transition:background .18s,color .18s;
}
.frw-toggle button[aria-selected="true"]{
  background:#083141;
  color:#fff;
  box-shadow:0 4px 14px rgba(8,49,65,.2);
}
.frw-toggle--rates{flex-wrap:wrap;justify-content:center;max-width:100%;gap:5px;padding:5px}
.frw-toggle--rates .frw-rate-chip{min-width:3.1rem;padding:10px 12px;font-size:.86rem;letter-spacing:.02em}

.frw-kpi-shell{
  margin:0;
  padding:22px 20px 24px;
  border-radius:18px;
  border:2px solid #c9b298;
  background:linear-gradient(165deg,#fdfaf6 0%,#faf3ea 50%,#f5ebe2 100%);
  box-shadow:0 18px 48px rgba(91,61,43,.13);
}
.frw-kpi-shell-kicker{
  margin:0 0 12px;
  font-size:1.02rem;
  font-weight:800;
  color:#57534e;
  letter-spacing:.01em;
  text-transform:none;
  text-align:center;
  line-height:1.4;
}
.frw-hero-value{
  margin:0 0 10px;
  font-size:clamp(2rem,1.4rem + 2.8vw,2.75rem);
  font-weight:900;
  line-height:1.06;
  color:#3d2918;
  text-align:center;
  letter-spacing:-.03em;
}
.frw-hero-sub{
  margin:0;
  font-size:1.02rem;
  font-weight:600;
  color:#57534e;
  line-height:1.58;
  text-align:center;
  max-width:56ch;
  margin-left:auto;
  margin-right:auto;
}
.frw-hero-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.frw-hero-pair--quad{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.frw-hero-pair--quad .frw-mini-kpi strong{font-size:1.12rem}
.frw-hero-pair--quad .frw-mini-kpi{padding:12px 10px}
@media (max-width:720px){.frw-hero-pair--quad{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.frw-hero-pair{grid-template-columns:1fr}}
.frw-mini-kpi{
  background:linear-gradient(180deg,#fffcfa 0%,#faf5ee 100%);
  border:1px solid #e5d5c8;
  border-radius:16px;
  padding:15px 16px;
}
.frw-mini-kpi span{display:block;font-size:.78rem;font-weight:900;color:#6b5848;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.frw-mini-kpi strong{font-size:1.35rem;font-weight:900;color:#3d2918;line-height:1.1}
.frw-mini-kpi--active{
  border-color:#059669;
  background:linear-gradient(180deg,#ecfdf5 0%,#f0fdf4 100%);
  box-shadow:0 6px 16px rgba(5,150,105,.15);
}
.frw-mini-kpi--active span{color:#14532d}
.frw-mini-kpi--active strong{color:#065f46}

.frw-stack{display:flex;flex-direction:column;gap:20px}

.frw-panel{
  margin:0;
  padding:18px 18px 20px;
  border-radius:14px;
  border:1px solid #b8d4e8;
  background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);
  box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.frw-panel--inputs{
  border-color:#bae6fd;
  background:linear-gradient(180deg,#ecfeff 0%,#f8fbff 100%);
}
.frw-section-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding-bottom:12px;
  border-bottom:1px solid #d8e6ef;
  font-size:var(--frw-title-sub);
  font-weight:900;
  color:#083141;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.25;
}
.frw-section-head--natural{
  text-transform:none;
  letter-spacing:-.02em;
  font-size:var(--frw-title-section);
  font-weight:900;
  color:#082f49;
  border-bottom-color:#bae6fd;
  line-height:1.22;
}
.frw-section-help{margin:0 0 12px;font-size:.92rem;color:#334155;line-height:1.55}

.frw-panel--chart{padding-top:20px}
.frw-chart-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin:0 0 16px;
}
.frw-chart-main-title{
  margin:0;
  font-size:var(--frw-title-section);
  font-weight:900;
  color:#082f49;
  letter-spacing:-.02em;
  line-height:1.2;
}
.frw-chart-sub{
  margin:0;
  font-size:.95rem;
  color:#64748b;
  line-height:1.5;
  font-weight:600;
  max-width:52ch;
}

.frw-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.frw-meter-panel{
  margin:0;
  padding:20px 18px 18px;
  border-radius:14px;
  border:1px solid #bae6fd;
  box-shadow:0 12px 36px rgba(8,49,65,.1);
  background:linear-gradient(165deg,#f8fafc 0%,#ecfeff 55%,#fff 100%);
}
.frw-meter-tag{
  margin:0 0 6px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#0369a1;
  line-height:1.35;
  max-width:65ch;
}
.frw-meter-title{
  margin:0 0 16px;
  font-size:var(--frw-title-section);
  font-weight:900;
  color:#082f49;
  line-height:1.28;
  letter-spacing:-.02em;
  max-width:52ch;
}
.frw-race-outer{margin:0}
.frw-race-track{
  position:relative;
  height:72px;
  border-radius:999px;
  overflow:visible;
  background:
    repeating-linear-gradient(90deg,transparent 0,transparent 14px,rgba(148,163,184,.22) 14px,rgba(148,163,184,.22) 15px),
    linear-gradient(180deg,#e2e8f0,#f8fafc);
  border:2px solid #cbd5e1;
  box-shadow:inset 0 2px 8px rgba(15,23,42,.06);
}
.frw-race-track--quad{height:100px}
.frw-race-grid{
  pointer-events:none;
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg,transparent 0%,transparent 49.6%,rgba(59,130,246,.12) 49.8%,rgba(59,130,246,.12) 50.2%,transparent 50.4%,transparent 100%);
}
.frw-race-pin{
  position:absolute;
  left:0;
  z-index:2;
  transform:translate(-50%,50%);
  transition:left .65s cubic-bezier(.34,1.56,.64,1);
  bottom:50%;
}
.frw-race-pin--rate-3{bottom:36%;z-index:2}
.frw-race-pin--rate-5{bottom:48%;z-index:3}
.frw-race-pin--rate-7{bottom:60%;z-index:4}
.frw-race-pin--rate-9{bottom:72%;z-index:5}
.frw-race-pin-label{
  display:inline-block;
  min-width:2.35rem;
  padding:5px 8px;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.02em;
  text-align:center;
  color:#0f172a;
  background:#fff;
  border-radius:999px;
  border:2px solid #94a3b8;
  box-shadow:0 6px 14px rgba(15,23,42,.12);
  white-space:nowrap;
}
.frw-race-pin--rate-3 .frw-race-pin-label{border-color:#64748b;color:#334155}
.frw-race-pin--rate-5 .frw-race-pin-label{border-color:#0ea5e9;color:#0369a1}
.frw-race-pin--rate-7 .frw-race-pin-label{border-color:#8b5cf6;color:#5b21b6}
.frw-race-pin--rate-9 .frw-race-pin-label{border-color:#059669;color:#065f46}
.frw-race-pin--active{z-index:8}
.frw-race-pin--active .frw-race-pin-label{
  transform:scale(1.06);
  box-shadow:0 10px 22px rgba(15,23,42,.18);
  animation:frw-pin-pulse 2.2s ease-in-out infinite;
}
@keyframes frw-pin-pulse{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.05)}
}
.frw-race-scale{
  display:flex;
  justify-content:space-between;
  margin-top:10px;
  padding:0 4px;
  font-size:.78rem;
  font-weight:700;
  color:#64748b;
}
.frw-race-scale-mid{text-align:center}
.frw-meter-blurb{
  margin:16px 0 0;
  font-size:.94rem;
  font-weight:600;
  color:#0c4a6e;
  line-height:1.58;
  max-width:62ch;
}

@media (prefers-reduced-motion: reduce){
  .frw-race-pin{transition:none!important}
  .frw-race-pin--active .frw-race-pin-label{animation:none!important}
}

.frw-bars{
  display:flex;
  align-items:stretch;
  gap:6px;
  min-height:152px;
  padding:14px 10px 10px;
  border-radius:12px;
  background:#fff;
  border:1px solid #d6e2ea;
}
.frw-bar-slab{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.frw-bar-track{
  flex:1;
  width:100%;
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:stretch;
  border-radius:8px;
  padding:6px 2px;
  background:linear-gradient(180deg,#f1f5f9 0%,#e2e8f0 100%);
}
.frw-bar{
  width:100%;
  border-radius:6px 6px 2px 2px;
  min-height:6px;
  background:linear-gradient(180deg,#38bdf8 0%,#2563eb 55%,#4f46e5 100%);
  box-shadow:0 4px 12px rgba(37,99,235,.28);
}
.frw-bar-year{font-size:.68rem;font-weight:800;color:#475569;line-height:1.2;text-align:center}
@media (max-width:640px){
  .frw-bar-track{min-height:100px;padding:4px 1px}
  .frw-bars{min-height:138px;padding:10px}
}

.frw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}

.frw-fields{display:flex;flex-direction:column;gap:18px}
.frw-fields .frw-field-block{margin-bottom:4px}
.frw-fields .frw-field-block:last-child{margin-bottom:0}
.frw-field{display:flex;flex-direction:column;gap:6px;font-size:.95rem}
.frw-field span{font-weight:700;color:#1e293b}
.frw-field-label{font-weight:700;color:#1e293b}
.frw-field-block{margin-bottom:2px}
.frw-field-block .frw-field{margin-bottom:0}
.frw-field--directional{display:flex;flex-direction:column;gap:8px}
.frw-field-label--block{
  margin:0 0 6px;
  font-size:var(--frw-title-sub);
  font-weight:800;
  color:#0f172a;
  letter-spacing:-.02em;
}
.frw-field-direction--compact{margin:0 0 12px!important}
.frw-field-block--invest{margin-bottom:16px}
.frw-field-block--invest .frw-return-row{margin-top:4px}
.frw-field-block--invest .frw-input{margin-top:6px;max-width:9rem}
.frw-returns-grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:14px 20px;
  align-items:start;
}
.frw-returns-grid .frw-field-block{margin-bottom:0}
.frw-returns-grid .frw-field-direction{max-width:none}
.frw-field-direction{
  margin:0;
  font-size:.875rem;
  line-height:1.45;
  color:#64748b;
  font-weight:500;
  max-width:48ch;
}
.frw-field-lead{
  margin:0 0 8px;
  font-size:.88rem;
  line-height:1.52;
  color:#475569;
  font-weight:600;
  max-width:58ch;
}
.frw-field-lead--spaced{margin-top:16px}
.frw-panel-intro{
  margin:0 0 18px;
  font-size:.98rem;
  line-height:1.58;
  color:#475569;
  font-weight:600;
  max-width:62ch;
}
.frw-panel-intro--tight{margin-bottom:14px}
.frw-panel--assumptions{
  margin:0;
  padding:18px 18px 18px;
  border-radius:14px;
  border:1px solid #c4b5fd;
  background:linear-gradient(165deg,#faf5ff 0%,#f5f3ff 45%,#eef2ff 100%);
  box-shadow:0 10px 28px rgba(49,46,129,.08);
}
.frw-panel--assumptions .frw-section-head{border-bottom-color:#ddd6fe}
.frw-field--stacked{display:flex;flex-direction:column;gap:10px}
.frw-toggle-row--in-assumptions{margin:0 0 8px;justify-content:flex-start}
.frw-input{border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff;font-size:1em;width:100%}
.frw-input--money{font-variant-numeric:tabular-nums}
.frw-input:focus{outline:none;border-color:#083141;box-shadow:0 0 0 3px rgba(8,49,65,.15)}
.frw-field-hint{font-size:.845rem;color:#64748b;line-height:1.45}

.frw-return-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px}
.frw-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.8rem;
  font-weight:800;
  color:#072f46;
  padding:7px 12px;
  border-radius:999px;
  background:#fff;
  border:2px solid #bae6fd;
  cursor:pointer;
  transition:border-color .15s,background .15s;
}
.frw-chip[aria-selected="true"]{
  border-color:#083141;
  background:#ecfdf5;
  color:#14532d;
}
.frw-chip:hover{border-color:#67e8f9}

.frw-assumption-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
  padding:12px 14px;
  background:linear-gradient(180deg,#f0fdf4 0%,#ecfdf5 100%);
  border:1px solid #86efac;
  border-radius:12px;
}
.frw-chip--readonly{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.8rem;
  font-weight:800;
  color:#14532d;
  padding:7px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #bbf7d0;
}

.frw-suggest{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.frw-explain.frw-dreams{
  margin:0;
  padding:24px 20px 22px;
  border-radius:18px;
  border:1px solid rgba(14,165,233,.35);
  background:
    radial-gradient(900px 420px at 10% -10%,rgba(251,191,36,.35),transparent 55%),
    radial-gradient(700px 380px at 95% 0%,rgba(167,139,250,.28),transparent 50%),
    linear-gradient(165deg,#fffefb 0%,#f0f9ff 38%,#fdf4ff 100%);
  box-shadow:0 16px 40px rgba(8,49,65,.12),inset 0 1px 0 rgba(255,255,255,.85);
}
.frw-dreams-intro{margin-bottom:20px}
.frw-dreams-heading{
  margin-bottom:10px!important;
  padding-bottom:0!important;
  border-bottom:none!important;
  font-size:var(--frw-title-section)!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  color:#082f49!important;
}
.frw-dreams-lead{
  margin:0;
  max-width:44rem;
  font-size:1.02rem;
  line-height:1.58;
  color:#475569;
  font-weight:600;
}
.frw-dream-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
@media (max-width:720px){
  .frw-dream-grid{grid-template-columns:1fr}
}

.frw-dream-card{
  position:relative;
  margin:0;
  padding:18px 18px 17px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.45);
  background:linear-gradient(155deg,#ffffff 0%,#f8fafc 48%,#fff 100%);
  box-shadow:0 10px 26px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.frw-dream-card--media{
  padding:0;
  display:flex;
  flex-direction:column;
}
.frw-dream-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  border-radius:16px 16px 0 0;
  background:linear-gradient(90deg,#38bdf8,#a78bfa,#f472b6);
  opacity:.92;
}
.frw-dream-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(15,23,42,.12);
  border-color:rgba(56,189,248,.55);
}
.frw-dream-card--accent-1::before{background:linear-gradient(90deg,#64748b,#94a3b8)}
.frw-dream-card--accent-2::before{background:linear-gradient(90deg,#0ea5e9,#38bdf8)}
.frw-dream-card--accent-3::before{background:linear-gradient(90deg,#059669,#34d399)}
.frw-dream-card--accent-4::before{background:linear-gradient(90deg,#d946ef,#f472b6)}
.frw-dream-card--accent-5::before{background:linear-gradient(90deg,#6366f1,#818cf8)}
.frw-dream-media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(145deg,#0f172a,#1e293b);
  border-bottom:1px solid rgba(148,163,184,.35);
  display:grid;
}
.frw-dream-media > *{grid-area:1/1;width:100%;height:100%}
.frw-dream-graphic{display:contents}
.frw-dream-gif{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.frw-dream-gif--fallback{
  min-height:100%;
  background-blend-mode:overlay,normal;
  animation:frw-dream-glow 10s ease-in-out infinite;
}
.frw-dream-gif--sabbatical{
  background:
    radial-gradient(120% 80% at 20% 30%,rgba(251,191,36,.45),transparent 55%),
    linear-gradient(135deg,#0369a1 0%,#7c3aed 55%,#db2777 100%);
}
.frw-dream-gif--business{
  background:
    radial-gradient(100% 70% at 80% 20%,rgba(52,211,153,.4),transparent 50%),
    linear-gradient(145deg,#0f766e 0%,#0284c7 50%,#4f46e5 100%);
}
.frw-dream-gif--parttime{
  background:
    radial-gradient(90% 60% at 50% 100%,rgba(251,113,133,.35),transparent 55%),
    linear-gradient(160deg,#334155 0%,#0ea5e9 100%);
}
.frw-dream-gif--education{
  background:
    radial-gradient(80% 70% at 10% 90%,rgba(167,139,250,.45),transparent 50%),
    linear-gradient(135deg,#4338ca 0%,#059669 100%);
}
@keyframes frw-dream-glow{
  0%,100%{opacity:1;filter:saturate(1)}
  50%{opacity:.96;filter:saturate(1.12)}
}
.frw-dream-card-body{
  padding:16px 18px 18px;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.frw-dream-card-title{
  margin:0;
  font-size:clamp(1.05rem,0.98rem + 0.25vw,1.16rem);
  font-weight:900;
  line-height:1.28;
  color:#0f172a;
  letter-spacing:-.02em;
}
.frw-dream-card-text{
  margin:0;
  padding-left:0;
  font-size:.94rem;
  line-height:1.62;
  color:#334155;
}

@media (max-width:520px){
  .frw-dream-card-body{padding:14px 15px 16px}
}

@media (prefers-reduced-motion:reduce){
  .frw-dream-card{transition:none}
  .frw-dream-card:hover{transform:none}
  .frw-dream-gif--fallback{animation:none}
}

.frw-footnote{
  margin:0;
  font-size:.93rem;
  color:#334155;
  line-height:1.58;
  background:#fff7ed;
  border:1px solid #fdba74;
  border-radius:12px;
  padding:14px 16px;
}

.frw-download{
  margin:0;
  padding:24px 22px 26px;
  border:1px solid rgba(8,49,65,.28);
  background:
    radial-gradient(120% 90% at 10% 0%,rgba(14,165,233,.16),transparent 55%),
    radial-gradient(95% 70% at 90% 100%,rgba(99,102,241,.12),transparent 60%),
    linear-gradient(180deg,#f6fbff 0%,#eef6ff 100%);
  border-radius:18px;
  box-shadow:0 14px 34px rgba(8,49,65,.14), inset 0 1px 0 rgba(255,255,255,.95);
  text-align:center;
}
.frw-download h3{
  margin:0 0 8px;
  font-size:var(--frw-title-section);
  color:#082f49;
  font-weight:900;
  letter-spacing:-.02em;
}
.frw-download > p{
  margin:0 auto 18px;
  max-width:44rem;
  font-size:1.01rem;
  color:#334155;
  line-height:1.58;
}
.frw-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.frw-btn{border:1px solid #cbd5e1;background:#fff;color:#0f172a;padding:11px 16px;border-radius:10px;cursor:pointer;font-weight:700;font-size:.96rem}
.frw-btn-primary{
  background:linear-gradient(135deg,#059669 0%,#0d9488 100%);
  border-color:#0f766e;
  color:#fff;
  min-width:280px;
  padding:13px 22px;
  font-size:.98rem;
  box-shadow:0 10px 20px rgba(5,150,105,.28);
}
.frw-btn:hover{background:#f8fafc}
.frw-btn-primary:hover{
  background:linear-gradient(135deg,#047857 0%,#0f766e 100%);
  border-color:#115e59;
}
.frw-copy-note{
  margin:2px 0 0;
  font-size:.92rem;
  color:#1d4ed8;
  font-weight:700;
  text-align:center;
  min-height:1.35em;
}

.frw-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.frw-modal{max-width:560px;width:100%;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35)}
.frw-modal *{box-sizing:border-box}
.frw-modal-header{display:flex;justify-content:space-between;align-items:flex-start;background:#083141;color:#fff;padding:18px}
.frw-modal-titlewrap h3{margin:0;font-size:var(--frw-title-section);font-weight:900;letter-spacing:-.02em}
.frw-modal-subtitle{margin:6px 0 0;font-size:.9rem;color:#dbeafe}
.frw-close{border:none;background:rgba(255,255,255,.2);color:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.25rem;line-height:1}
.frw-modal-body{padding:18px;display:flex;flex-direction:column;gap:8px}
.frw-label{font-size:.92rem;font-weight:800;color:#334155}
.frw-modal .frw-input{
  display:block;
  width:100%;
  max-width:100%;
  background:#fff;
  color:#0f172a;
  border:1px solid #cbd5e1;
}
.frw-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.frw-snapshot-item{border:1px solid #d6e2ea;background:#f8fbff;border-radius:8px;padding:9px 10px}
.frw-snapshot-key{font-size:.76rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}
.frw-snapshot-value{font-size:.92rem;font-weight:800;color:#083141}
.frw-trust{font-size:.9rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:10px;margin-top:8px;color:#14532d}
.frw-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 18px;background:#f8fafc}

@media (max-width:640px){
  .frw-returns-grid{grid-template-columns:1fr}
  .frw-title{font-size:clamp(1.45rem,1.1rem + 2vw,1.85rem)}
  .frw-actions{flex-direction:column}
  .frw-btn,.frw-btn-primary{width:100%;min-width:0}
  .frw-snapshot-grid{grid-template-columns:1fr}
  .frw-modal-footer{flex-direction:column}
  .frw-modal-footer .frw-btn{width:100%}
}
