
:root{
  --bg:#0b0d10;
  --panel:#12161b;
  --panel2:#171c22;
  --text:#f4f2ea;
  --muted:#aeb6bf;
  --line:#28313a;
  --accent:#B70216;
  --accent2:#76000f;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,#090b0d 0%,#0e1115 100%);
  color:var(--text);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:40;
  backdrop-filter:blur(12px);
  background:rgba(9,11,13,.88);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.03em}
.mark{
  width:34px;height:34px;border:1px solid var(--accent);
  display:grid;place-items:center;transform:rotate(45deg)
}
.mark span{transform:rotate(-45deg);font-family:Georgia,serif;font-size:18px;color:var(--accent)}
.nav-links{display:flex;gap:22px;align-items:center;color:#d8dde3;font-size:.95rem}
.nav-links a:hover{color:white}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:12px 18px;border:1px solid var(--accent);border-radius:8px;
  background:var(--accent);color:#14110a;font-weight:800;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.secondary{background:transparent;color:var(--text);border-color:#4a545f}
.hero{padding:92px 0 58px;position:relative;overflow:hidden}
.hero:before{
  content:"";position:absolute;right:-180px;top:-140px;width:560px;height:560px;
  border:1px solid rgba(183,2,22,.20);transform:rotate(45deg);
}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-size:.78rem;font-weight:800}
h1,h2,h3{line-height:1.1;margin:0 0 18px}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,6.4rem);font-weight:600;letter-spacing:-.04em}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:600;letter-spacing:-.025em}
h3{font-size:1.1rem}
.lead{font-size:1.15rem;color:#c4ccd5;max-width:690px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-card{
  background:linear-gradient(145deg,#171b20,#0f1216);
  border:1px solid #2b333b;border-radius:18px;padding:26px;
  box-shadow:0 26px 60px rgba(0,0,0,.25)
}
.metric{padding:18px 0;border-bottom:1px solid var(--line)}
.metric:last-child{border-bottom:0}
.metric b{display:block;font-size:1.05rem}
.metric span{color:var(--muted);font-size:.93rem}
.section{padding:74px 0}
.section.alt{background:#0f1317;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}
.section-head p{max-width:590px;color:var(--muted);margin:0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{
  border:1px solid #2b333c;background:linear-gradient(180deg,#151a20,#11151a);
  border-radius:14px;padding:24px;min-height:100%;
}
.card .eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800}
.card p{color:var(--muted)}
.card-link{display:inline-block;margin-top:10px;color:#fff;font-weight:700}
.card-link:hover{color:var(--accent)}
.product-card{display:flex;flex-direction:column}
.product-card .price{font-size:1.25rem;font-weight:800;margin-top:auto;padding-top:12px}
.ad-slot{
  border:1px dashed #4b535b;border-radius:12px;padding:26px;text-align:center;
  color:#7f8993;background:#0d1013;font-size:.85rem
}
.cta{
  padding:34px;border:1px solid #5c0a15;border-radius:18px;
  background:linear-gradient(135deg,rgba(183,2,22,.14),rgba(183,2,22,.035));
  display:flex;align-items:center;justify-content:space-between;gap:22px
}
.newsletter{display:flex;gap:10px;flex-wrap:wrap}
.newsletter input{
  min-width:260px;background:#0d1115;border:1px solid #39414a;color:white;
  border-radius:8px;padding:12px 14px;font:inherit
}
.article-list{display:grid;gap:16px}
.article-row{
  display:grid;grid-template-columns:160px 1fr auto;gap:24px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--line)
}
.article-row .date{color:#8e98a3;font-size:.85rem}
.article-row p{color:var(--muted);margin:6px 0 0}
.article-body{max-width:800px;margin:0 auto}
.article-body p,.article-body li{color:#c7ced5}
.article-body h2{font-size:2rem;margin-top:42px}
.article-body .callout{border-left:3px solid var(--accent);padding:8px 0 8px 18px;color:#e1e6ea}
.footer{padding:42px 0;border-top:1px solid #252d35;color:#9ea7b0;font-size:.9rem}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:24px}
.small-links{display:flex;gap:16px;flex-wrap:wrap}
.badge{display:inline-block;padding:5px 9px;border:1px solid #3d4650;border-radius:999px;color:#aeb6bf;font-size:.76rem}
@media (max-width:900px){
  .hero-grid,.grid3{grid-template-columns:1fr}
  .nav-links{display:none}
  .section-head,.cta{align-items:flex-start;flex-direction:column}
  .article-row{grid-template-columns:1fr}
}

.brand-logo{
  width:54px;
  height:34px;
  object-fit:contain;
  object-position:left center;
  flex:0 0 auto;
}
@media (max-width:520px){
  .brand-logo{width:46px;height:30px}
}

/* Forge South Pro product UI */
.pro-strip{background:#B70216;color:#fff;text-align:center;padding:10px 16px;font-weight:700;letter-spacing:.02em}
.pro-strip a{color:#fff;text-decoration:underline}
.product-panel{border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(180deg,#11151b,#0b0e12);padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#0f1318}
.kpi .label{font-size:.78rem;color:#9ea7b3;text-transform:uppercase;letter-spacing:.08em}
.kpi .value{font-size:1.65rem;font-weight:800;margin-top:6px}
.tool-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}
.tool-panel{border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#0f1318;padding:20px}
.tool-panel label{display:block;margin:14px 0 6px;font-weight:700}
.tool-panel input,.tool-panel select{width:100%;box-sizing:border-box;padding:12px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#090c10;color:#fff}
.tool-result{font-size:1.05rem;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tool-result:last-child{border-bottom:none}
.badge-free,.badge-pro{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.badge-free{background:#232a33;color:#d8dde5}
.badge-pro{background:#B70216;color:#fff}
.pro-lock{border:1px solid rgba(183,2,22,.55);background:rgba(183,2,22,.08);border-radius:14px;padding:16px;margin-top:16px}
.pro-cta-box{border:1px solid rgba(183,2,22,.65);background:linear-gradient(180deg,rgba(183,2,22,.14),rgba(183,2,22,.04));border-radius:18px;padding:24px}
.compare-table{width:100%;border-collapse:collapse;margin-top:18px}
.compare-table th,.compare-table td{padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}
.compare-table th:nth-child(2),.compare-table th:nth-child(3),.compare-table td:nth-child(2),.compare-table td:nth-child(3){text-align:center}
.panel-bars{display:flex;align-items:flex-end;gap:12px;height:160px;padding:15px 0}
.panel-bar{flex:1;background:#B70216;border-radius:8px 8px 0 0;min-height:12px;position:relative}
.panel-bar span{position:absolute;bottom:-28px;left:0;right:0;text-align:center;font-size:.78rem;color:#aeb6c1}
.decision-banner{padding:16px 18px;border-radius:12px;background:#141a21;border-left:4px solid #B70216;margin-top:16px}
@media(max-width:850px){.tool-shell,.kpi-grid{grid-template-columns:1fr 1fr}.kpi-grid{gap:10px}}
@media(max-width:620px){.tool-shell,.kpi-grid{grid-template-columns:1fr}}


.tool-help-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 20px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02)}
.tool-help-row p{margin:0;max-width:820px}
.tool-help-link{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.fsr-modal[hidden]{display:none}
.fsr-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.fsr-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.fsr-modal-card{position:relative;width:min(620px,100%);max-height:85vh;overflow:auto;background:#111318;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.fsr-modal-card h2{margin-top:0}
.fsr-modal-card ol{padding-left:22px}
.option-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}
.option-card{border:1px solid var(--border);border-radius:14px;padding:16px;background:rgba(255,255,255,.02);min-width:0}
.option-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.option-head input{font-weight:700}
.icon-btn{border:1px solid var(--border);background:transparent;color:inherit;border-radius:10px;padding:7px 10px;cursor:pointer}
.icon-btn[disabled]{opacity:.45;cursor:not-allowed}
.dynamic-grid{display:grid;gap:16px}
.dynamic-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dynamic-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.field-row{margin-bottom:12px}
.field-row label{display:block;margin-bottom:6px}
.field-row input,.field-row select{width:100%}
.choice-row{display:flex;gap:10px;flex-wrap:wrap}
.toggle-list{display:grid;gap:10px;margin:14px 0}
.toggle-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.scenario-results{overflow-x:auto}
.scenario-results table{width:100%;border-collapse:collapse}
.scenario-results th,.scenario-results td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
@media(max-width:850px){.dynamic-grid.two,.dynamic-grid.three{grid-template-columns:1fr}}


/* =========================================================
   MOBILE / TABLET POLISH
   Desktop styles above 900px remain unchanged.
   ========================================================= */

@media (max-width: 899px) {
  .wrap {
    width: min(100% - 32px, 1180px);
  }

  .hero {
    padding-top: 54px;
    padding-bottom: 42px;
  }

  .hero h1 {
    font-size: clamp(2rem, 7vw, 3.2rem);
    line-height: 1.02;
  }

  .lead {
    font-size: 1.02rem;
  }

  .section {
    padding: 42px 0;
  }

  .grid.grid-2,
  .tool-shell {
    grid-template-columns: 1fr;
  }

  .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compare-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .card,
  .tool-panel,
  .product-panel,
  .pro-cta-box {
    border-radius: 14px;
  }

  .nav {
    gap: 14px;
    align-items: flex-start;
  }

  .nav-links {
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .nav-links a,
  .nav-links .btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  button,
  .btn,
  .icon-btn {
    min-height: 44px;
  }

  .dynamic-grid.two,
  .dynamic-grid.three {
    grid-template-columns: 1fr;
  }

  .scenario-results {
    overflow-x: visible;
  }

  .scenario-results table {
    min-width: 680px;
  }

  .tool-help-row {
    align-items: flex-start;
  }
}

@media (max-width: 599px) {
  html {
    scroll-padding-top: 76px;
  }

  body {
    overflow-x: hidden;
  }

  .wrap {
    width: min(100% - 24px, 1180px);
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(12px);
  }

  .nav {
    min-height: 68px;
    padding: 10px 0;
    align-items: center;
  }

  .brand {
    min-width: 0;
    gap: 9px;
    font-size: .82rem;
    line-height: 1.1;
  }

  .brand-logo {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }

  .nav-links {
    width: 100%;
    order: 3;
    justify-content: flex-start;
    gap: 6px;
    padding-top: 6px;
  }

  .nav-links a,
  .nav-links .btn {
    font-size: .86rem;
    padding: 8px 10px;
    min-height: 40px;
  }

  .hero {
    padding-top: 38px;
    padding-bottom: 34px;
  }

  .hero h1 {
    font-size: clamp(1.9rem, 10vw, 2.7rem);
    letter-spacing: -0.035em;
  }

  h2 {
    font-size: clamp(1.45rem, 7vw, 2rem);
  }

  h3 {
    font-size: 1.08rem;
  }

  .lead {
    font-size: .98rem;
    line-height: 1.6;
  }

  .section {
    padding: 34px 0;
  }

  .grid,
  .grid.grid-2 {
    gap: 14px;
  }

  .card,
  .tool-panel,
  .product-panel,
  .pro-cta-box,
  .option-card {
    padding: 16px;
  }

  .tool-help-row {
    padding: 12px 14px;
    margin-bottom: 14px;
  }

  .tool-help-row p {
    font-size: .92rem;
    line-height: 1.5;
  }

  .tool-help-link {
    min-height: 38px;
    padding: 6px 0;
  }

  .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .kpi {
    padding: 14px 12px;
    min-width: 0;
  }

  .kpi .label {
    font-size: .72rem;
    line-height: 1.3;
  }

  .kpi .value {
    font-size: clamp(1.15rem, 6vw, 1.65rem);
    overflow-wrap: anywhere;
  }

  .field-row {
    margin-bottom: 14px;
  }

  .field-row label,
  .tool-panel > label {
    font-size: .9rem;
  }

  input,
  select,
  textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 12px;
    border-radius: 10px;
  }

  .option-head {
    align-items: stretch;
    flex-direction: column;
  }

  .option-head input {
    width: 100%;
  }

  .option-head .remove,
  .option-head .icon-btn {
    align-self: flex-end;
  }

  .option-toolbar {
    gap: 8px;
  }

  .option-toolbar .btn,
  .choice-row .btn {
    flex: 1 1 150px;
  }

  .dynamic-grid.two,
  .dynamic-grid.three {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .decision-banner {
    font-size: .93rem;
    line-height: 1.55;
  }

  .tool-result {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
  }

  .tool-result strong {
    float: none !important;
    text-align: right;
  }

  /* Convert result tables into scrollable cards without changing desktop tables. */
  .scenario-results {
    overflow-x: auto;
    margin: 0 -4px;
    padding: 0 4px 4px;
    -webkit-overflow-scrolling: touch;
  }

  .scenario-results table {
    min-width: 640px;
  }

  .scenario-results th,
  .scenario-results td {
    padding: 9px 10px;
    font-size: .88rem;
  }

  .compare-table {
    width: 100%;
    min-width: 620px;
  }

  .compare-table th,
  .compare-table td {
    padding: 10px;
    font-size: .88rem;
  }

  .btn {
    justify-content: center;
    text-align: center;
  }

  .pro-cta-box .btn {
    width: 100%;
  }

  .fsr-modal {
    padding: 12px;
  }

  .fsr-modal-card {
    padding: 18px;
    border-radius: 14px;
    max-height: 88vh;
  }

  .fsr-modal-card ol {
    padding-left: 20px;
  }

  .footer {
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: .9rem;
  }
}

@media (max-width: 389px) {
  .wrap {
    width: min(100% - 18px, 1180px);
  }

  .kpi-grid {
    grid-template-columns: 1fr;
  }

  .nav-links a,
  .nav-links .btn {
    font-size: .8rem;
    padding: 7px 8px;
  }

  .card,
  .tool-panel,
  .product-panel,
  .pro-cta-box,
  .option-card {
    padding: 14px;
  }
}

/* Pro workspace: saved analyses + report builder */
.workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:18px 0 22px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.workspace-action-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.workspace-toast{position:fixed;right:22px;bottom:22px;z-index:1200;background:#111518;border:1px solid var(--border);box-shadow:0 12px 38px rgba(0,0,0,.35);padding:12px 16px;border-radius:10px;max-width:360px}
.archive-card,.report-builder-card{width:min(980px,calc(100vw - 32px));max-height:88vh;overflow:auto}
.archive-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}
.archive-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.report-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.report-section-list{display:grid;gap:8px;margin:10px 0 16px}.report-section-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.report-section-row label{margin:0}.report-preview{margin-top:20px;padding:24px;background:#fff;color:#151719;border-radius:12px;max-height:55vh;overflow:auto}.report-doc h1,.report-doc h2,.report-doc h3{color:#151719}.report-doc table{width:100%;border-collapse:collapse;margin:10px 0 16px}.report-doc td{border:1px solid #c8ccd0;padding:7px}.report-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-kpis>div{border:1px solid #c8ccd0;padding:10px;border-radius:8px}.report-kpis span{display:block;font-size:.78rem;text-transform:uppercase}.report-kpis strong{display:block;font-size:1.2rem;margin-top:4px}.report-brand{margin-top:28px;padding-top:10px;border-top:1px solid #c8ccd0;font-size:.8rem;font-weight:700}.report-builder-card textarea{width:100%;resize:vertical}
@media(max-width:699px){.workspace-actions,.archive-item{align-items:stretch;flex-direction:column}.workspace-action-buttons,.archive-actions{justify-content:flex-start}.workspace-action-buttons .btn{flex:1 1 auto}.report-builder-grid{grid-template-columns:1fr}.archive-card,.report-builder-card{width:calc(100vw - 18px);max-height:92vh}.report-kpis{grid-template-columns:1fr}}

/* Forge South aesthetic + mobile polish */
:root{
  --fsr-radius:14px;
  --fsr-shadow:0 8px 24px rgba(0,0,0,.14);
}
body{line-height:1.55}
.wrap{width:min(1180px,calc(100% - 40px))}
.hero{padding-top:82px;padding-bottom:60px}
.section{padding-top:64px;padding-bottom:64px}
.grid{gap:18px}
.card,.tool-panel,.product-panel,.pro-cta-box,.option-card{border-radius:var(--fsr-radius);box-shadow:var(--fsr-shadow)}
.card{padding:22px}
.grid>.card{height:100%}
h1{line-height:1.04;letter-spacing:-.035em;max-width:900px}
h2{line-height:1.1;letter-spacing:-.025em}
h3{line-height:1.2;letter-spacing:-.01em}
.lead{max-width:760px;line-height:1.62}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;font-weight:700;line-height:1;padding:0 18px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.btn:active{transform:none}
.btn-secondary{box-shadow:none}
.kpi-grid{gap:12px}
.kpi{border-radius:12px;padding:16px}
.kpi .value{line-height:1.05}

/* Pro tools: denser, more application-like */
[data-analysis-root] .card,[data-analysis-root] .tool-panel,[data-analysis-root] .option-card{box-shadow:0 10px 28px rgba(0,0,0,.14)}
[data-analysis-root] input,[data-analysis-root] select,[data-analysis-root] textarea{min-height:44px;border-radius:9px}
[data-analysis-root] textarea{min-height:96px}
[data-analysis-root] label{font-weight:650}
[data-analysis-root] .grid{gap:14px}
[data-analysis-root] table{font-size:.96rem}
[data-analysis-root] th{font-weight:750}
.workspace-actions{box-shadow:0 8px 22px rgba(0,0,0,.12)}
.report-preview{box-shadow:0 12px 36px rgba(0,0,0,.2)}

/* Tablet */
@media(max-width:899px){
  .wrap{width:min(100% - 28px,1180px)}
  .hero{padding-top:62px;padding-bottom:46px}
  .section{padding-top:50px;padding-bottom:50px}
  .grid{gap:14px}
  .card{padding:18px}
  .workspace-actions{padding:14px}
}

/* Phones */
@media(max-width:699px){
  .wrap{width:min(100% - 22px,1180px)}
  .hero{padding-top:48px;padding-bottom:36px}
  .section{padding-top:40px;padding-bottom:40px}
  h1{font-size:clamp(2.05rem,10vw,3rem);max-width:100%}
  h2{font-size:clamp(1.6rem,7vw,2.2rem)}
  h3{font-size:1.1rem}
  .lead{font-size:1rem;line-height:1.58}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}
  .card,.tool-panel,.product-panel,.pro-cta-box,.option-card{padding:16px;border-radius:12px}
  .btn{min-height:46px;padding-left:16px;padding-right:16px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .kpi{padding:14px}
  .kpi .label{font-size:.72rem}
  .kpi .value{font-size:clamp(1.35rem,7vw,1.9rem)}
  input,select,textarea{font-size:16px!important;max-width:100%}
  [data-analysis-root] input,[data-analysis-root] select,[data-analysis-root] textarea{width:100%;min-width:0}
  .workspace-actions,.archive-item{align-items:stretch;flex-direction:column}
  .workspace-action-buttons,.archive-actions{width:100%;justify-content:flex-start}
  .workspace-action-buttons .btn,.archive-actions .btn{flex:1 1 140px}
  .report-builder-grid{grid-template-columns:1fr}
  .archive-card,.report-builder-card{width:calc(100vw - 18px);max-height:92vh}
  .report-preview{padding:16px;max-height:50vh}
  .scenario-results,.compare-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  table{max-width:100%}
  .fsr-modal-card{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:90vh;overflow:auto}
}

/* Small phones */
@media(max-width:479px){
  .wrap{width:calc(100% - 18px)}
  .hero{padding-top:40px;padding-bottom:30px}
  .section{padding-top:34px;padding-bottom:34px}
  .kpi-grid{grid-template-columns:1fr!important}
  .btn{width:100%}
  .card,.tool-panel,.product-panel,.pro-cta-box,.option-card{padding:14px}
  .workspace-action-buttons .btn,.archive-actions .btn{flex-basis:100%}
}

@media(hover:none){.btn:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.btn{transition:none!important}}
