:root{
  /* === Brand Orange Depths === */
  --orange-d1:#FF953A;   /* Primary */
  --orange-d2-1:#FF8038; /* Hover 1 */
  --orange-d2-2:#EE671B; /* Hover 2 / Active */
  --orange-d3:#DA5307;   /* Emphasis / Alert */
  --orange-d4:#B14000;   /* Deep Accent */

  /* === Neutrals === */
  --bg-0:#ffffff;
  --bg-1:#f8f9fa;
  --line:#e9ecef;
  --text:#212529;
  --muted:#6c757d;

  /* === Effects === */
  --ring: 0 0 0 .25rem rgba(255,149,58,.25);
}

/* Layout */
body{background:var(--bg-1); color:var(--text)}
.container-narrow{max-width:960px}
.card-shell{background:var(--bg-0); border:1px solid var(--line); border-radius:1rem}
.q-card{background:var(--bg-0); border:1px solid #eef0f2; border-radius:.75rem}
.hero{background:linear-gradient(180deg,#ffffff,#fff7f0)}
.muted{color:var(--muted)}
.visually-divider{height:1px;background:var(--line);margin:1rem 0}
.score-pill{font-variant-numeric:tabular-nums}
.required::after{content:" *";color:#dc3545}

/* Stepper */
.stepper{display:flex;gap:.5rem;align-items:center;justify-content:center}
.stepper .dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;border:2px solid var(--muted);color:var(--muted);background:var(--bg-0)}
.stepper .dot.active{border-color:var(--orange-d1);color:#fff;background:var(--orange-d1)}
.stepper .bar{height:2px;flex:1;background:var(--line)}

/* Sticky footer for forms */
.sticky-footer{position:sticky;bottom:0;background:var(--bg-0);border-top:1px solid var(--line);padding:.75rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}

/* Inputs */
.fancy{transition:box-shadow .2s, border-color .2s}
.fancy:focus{box-shadow:var(--ring); border-color:var(--orange-d1)}
.choice:hover{background:#fff5ec}

/* Buttons (Bootstrap override helpers) */
.btn-primary{--bs-btn-bg:var(--orange-d1);--bs-btn-border-color:var(--orange-d1);--bs-btn-hover-bg:var(--orange-d2-1);--bs-btn-hover-border-color:var(--orange-d2-1);--bs-btn-active-bg:var(--orange-d2-2);--bs-btn-active-border-color:var(--orange-d2-2)}
.btn-outline-primary{--bs-btn-color:var(--orange-d1);--bs-btn-border-color:var(--orange-d1);--bs-btn-hover-bg:var(--orange-d1);--bs-btn-hover-border-color:var(--orange-d1)}

/* Badges */
.badge.text-bg-primary{background-color:var(--orange-d1)!important}
.badge.text-bg-dark{background-color:#1f2937!important}

/* Alerts / emphasis using brand depths */
.brand-emphasis{color:var(--orange-d3)}
.brand-strong{color:var(--orange-d4)}

/* Report coloring tiers */
.score-high{background:var(--orange-d1);color:#fff}
.score-mid{background:var(--orange-d2-1);color:#fff}
.score-low{background:var(--orange-d3);color:#fff}

/* Modal tone (warning/info unified) */
.modal-content{border-radius:1rem}
.modal-body i.text-warning{color:var(--orange-d2-2)!important}

/* Utilities */
.bg-brand-50{background:#fff7f0}
.bg-brand-100{background:#ffe8d5}
.text-brand{color:var(--orange-d1)}
.border-brand{border-color:var(--orange-d1)!important}

/* Responsive tweaks */
@media (max-width: 576px){
  .hero img{width:140px;height:auto}
  .stepper .dot{width:28px;height:28px}
}
