:root{
  --brand:#2f6bff;
  --brand-dark:#1f4fc4;
  --brand-soft:#eef4ff;

  --navy:#10233f;
  --text:#1f2a3a;
  --muted:#6f7d91;

  --page:#f4f7fb;
  --surface:#ffffff;
  --surface-soft:#f9fbfd;
  --border:#dfe6ef;
  --border-strong:#cfd8e5;

  --teal:#13a89e;
  --teal-soft:#ebfbf8;

  --amber:#f5a623;
  --amber-soft:#fff7e7;

  --violet:#7458e8;
  --violet-soft:#f3f0ff;

  --coral:#ef5b5b;
  --coral-soft:#fff0f0;

  --green:#16966f;
  --green-soft:#eaf8f2;

  --shadow:0 18px 48px rgba(23,43,77,.08);
  --shadow-sm:0 8px 24px rgba(23,43,77,.06);

  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--page);
  color:var(--text);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}

.page-container{
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
}

.eyebrow{
  display:inline-block;
  margin-bottom:10px;
  color:var(--brand);
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
}

.primary-btn,
.outline-btn{
  border:0;
  transition:.2s ease;
}

.primary-btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 22px;
  border-radius:13px;
  background:linear-gradient(135deg,#F26522,#eb5f3c);
  color:#fff;
  font-weight:750;
  box-shadow:0 10px 26px rgba(47,107,255,.2);
}

.primary-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(47,107,255,.25);
}

.outline-btn{
  min-height:48px;
  padding:0 18px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  font-weight:700;
}

.outline-btn:hover{
  color:var(--brand);
  border-color:#aabcf0;
  background:#f8faff;
}

/* ======================================================
   HEADER
====================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(223,230,239,.95);
  backdrop-filter:blur(14px);
}

.header-inner{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand-logo{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
}

.brand-logo img{
  width:auto;
  height:42px;
  object-fit:contain;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:30px;
  color:#536176;
  font-size:14px;
  font-weight:650;
}

.main-nav a:hover{color:var(--brand)}

.header-cta{
  min-height:43px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:#fff;
  color:var(--navy);
  font-size:14px;
  font-weight:750;
}

.header-cta:hover{
  color:var(--brand);
  border-color:#aabcf0;
}

@media(max-width:770px){
  .page-container{width:min(100% - 36px,1180px)}
  .header-inner{min-height:66px}
  .brand-logo img{height:38px}
  .main-nav{display:none}
  .header-cta{min-height:40px;padding:0 14px;font-size:13px}
}

@media(max-width:420px){
  .page-container{width:calc(100% - 30px)}
  .header-inner{min-height:62px}
  .brand-logo img{height:34px}
  .header-cta{display:none}
}

/* ======================================================
   HERO
====================================================== */
.hero-section{
  position:relative;
  overflow:hidden;
  padding:72px 0 82px;
  background:
    radial-gradient(circle at 8% 12%,rgba(47,107,255,.10),transparent 28%),
    radial-gradient(circle at 90% 80%,rgba(19,168,158,.08),transparent 28%),
    linear-gradient(135deg,#fbfdff 0%,#f5f8ff 52%,#fbfcff 100%);
  border-bottom:1px solid #eaf0f6;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);
  align-items:center;
  gap:54px;
}

.hero-copy{padding:18px 0}

.hero-copy h1{
  max-width:700px;
  margin:0;
  color:var(--navy);
  font-size:58px;
  line-height:1.06;
  letter-spacing:-.052em;
  font-weight:800;
}

.hero-copy h1 span{
  color:#F26522;
}

.hero-copy>p{
  max-width:665px;
  margin:22px 0 0;
  color:#5e6b80;
  font-size:18px;
  line-height:1.72;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:30px;
}

.text-link{
  color:#46566f;
  font-size:14px;
  font-weight:750;
}

.text-link:hover{color:var(--brand)}

.hero-stats{
  display:flex;
  gap:34px;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid rgba(147,161,183,.22);
}

.hero-stats div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.hero-stats strong{
  color:var(--navy);
  font-size:19px;
}

.hero-stats span{
  color:#8490a2;
  font-size:12px;
}

.hero-visual{
  position:relative;
  min-height:470px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.hero-shape{
  position:absolute;
  width:390px;
  height:390px;
  border-radius:46% 54% 57% 43% / 49% 43% 57% 51%;
  background:linear-gradient(145deg,#dfe9ff,#f2f6ff 55%,#e8faf6);
  box-shadow:inset 0 0 70px rgba(255,255,255,.78);
}

.hero-image{
  position:relative;
  z-index:2;
  max-height:500px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 20px 30px rgba(31,55,90,.15));
}

.hero-floating-card{
  position:absolute;
  z-index:3;
  min-width:150px;
  padding:13px 15px;
  border:1px solid rgba(214,224,238,.96);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(10px);
}

.hero-floating-card span{
  display:block;
  color:#8490a2;
  font-size:11px;
  margin-bottom:3px;
}

.hero-floating-card strong{
  color:var(--navy);
  font-size:13px;
}

.hero-floating-card-one{
  left:0;
  top:118px;
}

.hero-floating-card-two{
  right:0;
  bottom:74px;
}

@media(max-width:770px){
  .hero-section{padding:54px 0 62px}
  .hero-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .hero-copy{
    text-align:center;
    padding:0;
  }
  .hero-copy h1{
    max-width:700px;
    margin-inline:auto;
    font-size:44px;
  }
  .hero-copy>p{
    max-width:650px;
    margin-inline:auto;
    font-size:16px;
  }
  .hero-actions{
    justify-content:center;
  }
  .hero-stats{
    justify-content:center;
  }
  .hero-visual{
    min-height:390px;
  }
  .hero-image{max-height:420px}
  .hero-shape{width:330px;height:330px}
}

@media(max-width:420px){
  .hero-section{padding:38px 0 44px}
  .hero-copy h1{
    font-size:37px;
    line-height:1.08;
  }
  .hero-copy>p{
    margin-top:17px;
    font-size:15px;
    line-height:1.65;
  }
  .hero-actions{
    flex-direction:column;
    gap:14px;
    margin-top:24px;
  }
  .hero-actions .primary-btn{
    width:100%;
  }
  .hero-stats{
    gap:16px;
    justify-content:space-between;
    margin-top:28px;
  }
  .hero-stats strong{font-size:17px}
  .hero-stats span{font-size:10px}
  .hero-visual{
    min-height:320px;
  }
  .hero-image{max-height:340px}
  .hero-shape{width:280px;height:280px}
  .hero-floating-card{
    min-width:128px;
    padding:10px 12px;
  }
  .hero-floating-card-one{left:-4px;top:74px}
  .hero-floating-card-two{right:-4px;bottom:34px}
}

/* ======================================================
   PREDICTOR
====================================================== */
.predictor-section{
  padding:76px 0;
  background:var(--page);
}

.predictor-card{
  padding:34px;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface);
  box-shadow:var(--shadow);
}

.section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}

.section-heading h2{
  margin:0;
  color:var(--navy);
  font-size:36px;
  line-height:1.16;
  letter-spacing:-.035em;
}

.section-heading p{
  margin:9px 0 0;
  color:var(--muted);
}

.status-pill,
.report-ready-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  padding:9px 13px;
  border-radius:999px;
  background:var(--green-soft);
  color:var(--green);
  font-size:12px;
  font-weight:750;
}

.status-pill i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
}

.predictor-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:30px;
}

.form-field{
  min-width:0;
}

.form-field-wide{
  grid-column:1/-1;
}

.form-field label{
  display:block;
  margin-bottom:8px;
  color:#2b3749;
  font-size:14px;
  font-weight:700;
}

.form-field label span{
  color:var(--coral);
}

.form-field input,
.form-field select{
  width:100%;
  min-height:55px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  padding:0 15px;
  outline:0;
  transition:.2s ease;
}

.form-field input:focus,
.form-field select:focus{
  border-color:#8cacf7;
  box-shadow:0 0 0 4px rgba(47,107,255,.09);
}

.form-field small{
  display:block;
  margin-top:7px;
  color:#8994a6;
  font-size:12px;
}

.input-with-affix{
  position:relative;
}

.input-with-affix input{
  padding-right:68px;
}

.input-with-affix strong{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:#63718a;
  font-size:13px;
}

.form-submit-row{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:2px;
}

.predictor-submit{
  min-width:225px;
}

.form-error,
.inline-error{
  margin:0;
  color:#cf3d3d;
  font-size:12px;
  font-weight:600;
}

.inline-success{
  margin:6px 0 0;
  color:var(--green);
  font-size:12px;
  font-weight:700;
}

.predictor-note{
  margin-top:26px;
  padding:14px 16px;
  border:1px solid #e6ebf2;
  border-radius:12px;
  background:#fafbfd;
  color:#68768b;
  font-size:13px;
}

@media(max-width:770px){
  .predictor-section{padding:58px 0}
  .predictor-card{padding:26px}
  .section-heading h2{font-size:32px}
  .predictor-form{
    grid-template-columns:1fr;
  }
  .form-field-wide,
  .form-submit-row{
    grid-column:auto;
  }
}

@media(max-width:420px){
  .predictor-section{padding:42px 0}
  .predictor-card{
    padding:20px 16px;
    border-radius:18px;
  }
  .section-heading{
    display:block;
  }
  .section-heading h2{
    font-size:28px;
  }
  .status-pill{
    margin-top:14px;
  }
  .predictor-form{
    gap:18px;
    margin-top:24px;
  }
  .form-field input,
  .form-field select{
    min-height:54px;
    font-size:15px;
  }
  .form-submit-row{
    display:block;
  }
  .predictor-submit{
    width:100%;
    min-width:0;
  }
  .form-error{
    margin-top:10px;
  }
}

/* ======================================================
   LOCKED RESULT / OTP
====================================================== */
.locked-section{
  padding:0 0 78px;
  background:var(--page);
}

.locked-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(370px,.78fr);
  gap:22px;
  align-items:stretch;
}

.analysis-ready-card,
.verification-card{
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}

.analysis-ready-card{
  padding:34px;
}

.analysis-ready-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border-radius:50%;
  background:var(--green-soft);
  color:var(--green);
  font-size:20px;
  font-weight:800;
}

.analysis-ready-card h2{
  max-width:600px;
  margin:0;
  color:var(--navy);
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.035em;
}

.analysis-ready-card>p{
  max-width:620px;
  margin:12px 0 0;
  color:var(--muted);
}

.input-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

.input-summary-grid>div{
  padding:15px;
  border:1px solid #e5ebf3;
  border-radius:13px;
  background:#fbfcfe;
}

.input-summary-grid span{
  display:block;
  color:#8a95a7;
  font-size:11px;
  margin-bottom:4px;
}

.input-summary-grid strong{
  display:block;
  color:var(--navy);
  font-size:15px;
}

.locked-benefits{
  display:grid;
  gap:10px;
  margin-top:24px;
}

.locked-benefits div{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid #e8edf4;
  border-radius:12px;
  background:#fff;
}

.locked-benefits span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  border-radius:9px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:11px;
  font-weight:800;
}

.locked-benefits p{
  margin:0;
  color:#526078;
  font-size:13px;
}

.edit-link{
  margin-top:22px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--brand);
  font-weight:700;
}

.verification-card{
  padding:30px;
}

.verification-card h3{
  margin:0;
  color:var(--navy);
  font-size:28px;
  letter-spacing:-.025em;
}

.verification-card>p{
  margin:9px 0 22px;
  color:var(--muted);
  font-size:14px;
}

.contact-form{
  display:grid;
  gap:17px;
}

.phone-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}

.phone-input{
  min-height:55px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:#fff;
}

.phone-input:focus-within{
  border-color:#8cacf7;
  box-shadow:0 0 0 4px rgba(47,107,255,.09);
}

.phone-input span{
  padding:0 12px;
  color:#627086;
  border-right:1px solid #e6ebf2;
  font-size:14px;
}

.phone-input input{
  min-height:53px;
  border:0;
  border-radius:0;
  box-shadow:none!important;
}

.full-width-btn{
  width:100%;
  margin-top:2px;
}

.full-width-btn:disabled,
.outline-btn:disabled{
  cursor:not-allowed;
  opacity:.55;
  transform:none;
  box-shadow:none;
}

.privacy-text{
  margin:0;
  color:#929cad;
  text-align:center;
  font-size:11px;
  line-height:1.55;
}

@media(max-width:770px){
  .locked-section{padding-bottom:60px}
  .locked-layout{
    grid-template-columns:1fr;
  }
  .analysis-ready-card,
  .verification-card{
    padding:26px;
  }
}

@media(max-width:420px){
  .locked-section{padding-bottom:44px}
  .analysis-ready-card,
  .verification-card{
    padding:20px 16px;
    border-radius:18px;
  }
  .analysis-ready-card h2{
    font-size:28px;
  }
  .input-summary-grid{
    grid-template-columns:1fr;
  }
  .phone-row{
    grid-template-columns:1fr;
  }
  .phone-row .outline-btn{
    width:100%;
  }
}

/* ======================================================
   SECTION 05 — PREMIUM RESULT DASHBOARD
====================================================== */

.results-section{
  padding:92px 0;
  background:
    radial-gradient(
      circle at 8% 8%,
      rgba(47,107,255,.07),
      transparent 27%
    ),
    radial-gradient(
      circle at 92% 90%,
      rgba(19,168,158,.055),
      transparent 25%
    ),
    #f5f7fb;
}


/* ======================================================
   RESULT INTRO
====================================================== */

.result-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:26px;
}

.result-intro h2{
  margin:0;
  color:var(--navy);
  font-size:44px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.result-intro h2 span{
  color:var(--brand);
}

.result-intro p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
}

.report-ready-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid #d9eee7;
  border-radius:999px;
  background:#f1fbf7;
  color:#17805f;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.report-ready-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#18a778;
  box-shadow:0 0 0 4px rgba(24,167,120,.10);
}


/* ======================================================
   MAIN REPORT SHELL
====================================================== */

.premium-report-shell{
  overflow:hidden;
  border:1px solid #dfe6ef;
  border-radius:26px;
  background:#fff;
  box-shadow:
    0 30px 80px rgba(16,35,63,.08),
    0 8px 30px rgba(16,35,63,.035);
}


/* ======================================================
   REPORT HEADER
====================================================== */

.premium-report-header{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 24px;
  border-bottom:1px solid #e8edf4;
  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #fbfdff 55%,
      #f4f8ff 100%
    );
}

.report-brand-copy{
  display:flex;
  align-items:center;
  gap:13px;
}

.report-brand-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  border-radius:13px;
  background:var(--brand-soft);
  color:var(--brand);
}

.report-brand-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.report-brand-copy strong{
  display:block;
  color:var(--navy);
  font-size:17px;
}

.report-brand-copy span{
  display:block;
  margin-top:2px;
  color:#8793a6;
  font-size:11px;
}

.report-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.report-basis-pill{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid #dce6f7;
  border-radius:999px;
  background:#f8faff;
  color:#667894;
  font-size:10px;
  font-weight:650;
}

.report-start-over{
  min-height:36px;
  padding:0 13px;
  border:1px solid #d8e0eb;
  border-radius:10px;
  background:#fff;
  color:#526178;
  font-size:11px;
  font-weight:750;
}

.report-start-over:hover{
  color:var(--brand);
  border-color:#aebfeb;
}


/* ======================================================
   TOP REPORT OVERVIEW
====================================================== */

.report-overview-grid{
  display:grid;
  grid-template-columns:
    minmax(0,.9fr)
    minmax(0,.9fr)
    minmax(0,1.2fr);

  gap:14px;
  padding:22px 22px 14px;
}

.report-main-stat,
.report-distribution-card{
  min-width:0;
  border:1px solid #e2e8f0;
  border-radius:17px;
  background:#fff;
  padding:18px;
}

.report-main-stat{
  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.report-main-stat:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(16,35,63,.055);
}

.report-stat-head{
  display:flex;
  align-items:center;
  gap:9px;
  color:#35435a;
  font-size:11px;
  font-weight:750;
}

.stat-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
}

.stat-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.stat-icon-blue{
  background:#edf4ff;
  color:#2f6bff;
}

.stat-icon-indigo{
  background:#eff1ff;
  color:#5268df;
}

.stat-icon-purple{
  background:#f5efff;
  color:#7c5ce7;
}

.percentile-stat-layout,
.match-total-layout{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-top:15px;
}

.percentile-stat-layout strong,
.match-total-layout strong{
  display:block;
  color:#10233f;
  font-size:42px;
  line-height:1;
  letter-spacing:-.055em;
}

.percentile-stat-layout small,
.match-total-layout small{
  display:block;
  margin-top:6px;
  color:#7d8ba0;
  font-size:10px;
}

.mini-trend{
  width:84px;
  height:44px;
  display:flex;
  align-items:flex-end;
  gap:5px;
  padding-bottom:2px;
}

.mini-trend span{
  width:10px;
  border-radius:999px 999px 3px 3px;
  background:linear-gradient(
    180deg,
    #4c86ff,
    #b9d2ff
  );
}

.mini-trend span:nth-child(1){height:12px}
.mini-trend span:nth-child(2){height:20px}
.mini-trend span:nth-child(3){height:17px}
.mini-trend span:nth-child(4){height:30px}
.mini-trend span:nth-child(5){height:40px}

.match-list-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#eef4ff;
  color:var(--brand);
}

.match-list-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}

.stat-insight{
  display:inline-flex;
  align-items:center;
  margin-top:16px;
  padding:6px 9px;
  border-radius:7px;
  background:#eef4ff;
  color:#4570ce;
  font-size:9px;
  font-weight:700;
}

.stat-insight-green{
  background:#ecf9f4;
  color:#268566;
}


/* ======================================================
   DISTRIBUTION CARD
====================================================== */

.distribution-layout{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-top:10px;
}

.distribution-chart-wrap{
  position:relative;
  width:130px;
  height:130px;
}

.distribution-chart-wrap canvas{
  width:100%!important;
  height:100%!important;
}

.distribution-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  pointer-events:none;
}

.distribution-center strong{
  display:block;
  color:var(--navy);
  font-size:23px;
  line-height:1;
}

.distribution-center span{
  display:block;
  margin-top:3px;
  color:#8793a5;
  font-size:8px;
}

.distribution-legend{
  display:grid;
  gap:8px;
}

.distribution-legend-item{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:7px;
  font-size:9px;
}

.distribution-legend-item i{
  width:7px;
  height:7px;
  border-radius:50%;
}

.distribution-legend-item span{
  color:#607088;
}

.distribution-legend-item strong{
  color:#25334a;
  font-size:9px;
}


/* ======================================================
   STRATEGY CARDS
====================================================== */

.premium-strategy-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:0 22px 22px;
}

.strategy-result-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:17px;
  border:1px solid;
  border-radius:15px;
}

.strategy-result-card::after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-40px;
  top:-40px;
  border-radius:50%;
  background:currentColor;
  opacity:.035;
}

.strategy-result-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.strategy-result-label{
  display:flex;
  align-items:center;
  gap:8px;
}

.strategy-result-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.8);
  font-size:13px;
}

.strategy-result-label strong{
  color:#26364e;
  font-size:11px;
}

.strategy-result-count{
  margin-top:12px;
  color:#10233f;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
}

.strategy-result-card p{
  margin:7px 0 0;
  color:#77849a;
  font-size:9px;
  line-height:1.5;
}

.strategy-safe{
  background:#effbf7;
  border-color:#cdeee4;
  color:#13a89e;
}

.strategy-target{
  background:#eef4ff;
  border-color:#d3e0ff;
  color:#2f6bff;
}

.strategy-ambitious{
  background:#fff7e9;
  border-color:#f8e3b9;
  color:#f3a31a;
}

.strategy-dream{
  background:#f5f1ff;
  border-color:#e1d7ff;
  color:#7458e8;
}


/* ======================================================
   MIDDLE GRID
====================================================== */

.report-middle-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:16px;
  padding:0 22px 22px;
}

.premium-panel{
  min-width:0;
  border:1px solid #e1e7ef;
  border-radius:17px;
  background:#fff;
  overflow:hidden;
}

.premium-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:17px 18px;
  border-bottom:1px solid #edf0f4;
}

.panel-kicker{
  display:block;
  margin-bottom:4px;
  color:#7f8ca0;
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
}

.premium-panel-head h3{
  margin:0;
  color:#152943;
  font-size:16px;
  line-height:1.3;
}

.premium-panel-head p{
  max-width:620px;
  margin:6px 0 0;
  color:#8290a4;
  font-size:10px;
}

.panel-text-link{
  color:var(--brand);
  font-size:10px;
  font-weight:750;
}


/* ======================================================
   TOP RECOMMENDATIONS
====================================================== */

.recommendation-list{
  padding:5px 16px 12px;
}

.recommendation-row{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  border-bottom:1px solid #eef1f5;
}

.recommendation-row:last-child{
  border-bottom:0;
}

.recommendation-rank{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#f3f6fa;
  color:#7a8799;
  font-size:8px;
  font-weight:800;
}

.recommendation-college{
  min-width:0;
}

.recommendation-college strong{
  display:block;
  overflow:hidden;
  color:#1d3049;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.recommendation-college span{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:#909bad;
  font-size:8px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.recommendation-ref{
  color:#607088;
  font-size:9px;
  white-space:nowrap;
}


/* ======================================================
   MATCH BADGES
====================================================== */

.match-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:0 9px;
  border-radius:999px;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}

.match-badge-safe{
  color:#128d72;
  background:#e8f8f2;
}

.match-badge-target{
  color:#2f6bff;
  background:#eaf1ff;
}

.match-badge-ambitious{
  color:#bd7b08;
  background:#fff2d7;
}

.match-badge-dream{
  color:#7458e8;
  background:#f1edff;
}


/* ======================================================
   QUICK COMPARE
====================================================== */

.quick-compare{
  padding:0 16px 15px;
}

.quick-compare-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:12px;
  overflow:hidden;
  border:1px solid #e6ebf2;
  border-radius:12px;
}

.quick-compare-table th,
.quick-compare-table td{
  padding:10px 8px;
  border-right:1px solid #edf1f5;
  border-bottom:1px solid #edf1f5;
  text-align:center;
}

.quick-compare-table tr:last-child td,
.quick-compare-table tr:last-child th{
  border-bottom:0;
}

.quick-compare-table th:last-child,
.quick-compare-table td:last-child{
  border-right:0;
}

.quick-compare-table thead th{
  background:#f8fafc;
  color:#34455e;
  font-size:8px;
  font-weight:800;
}

.quick-compare-table tbody th{
  width:76px;
  background:#fbfcfe;
  color:#8490a2;
  text-align:left;
  font-size:8px;
  font-weight:650;
}

.quick-compare-table td{
  color:#30415a;
  font-size:9px;
  font-weight:700;
}


/* ======================================================
   APPLICATION INSIGHT
====================================================== */

.application-insight-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0 22px 22px;
  padding:16px 18px;
  border:1px solid #dfe8fa;
  border-radius:15px;
  background:
    linear-gradient(
      135deg,
      #f8fbff 0%,
      #eef5ff 100%
    );
}

.application-insight-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#fff;
  color:var(--brand);
  box-shadow:0 6px 18px rgba(47,107,255,.09);
}

.application-insight-icon svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.application-insight-card span{
  display:block;
  color:var(--brand);
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
}

.application-insight-card strong{
  display:block;
  margin-top:4px;
  color:#20334e;
  font-size:13px;
}

.application-insight-card p{
  margin:4px 0 0;
  color:#768499;
  font-size:10px;
  line-height:1.55;
}


/* ======================================================
   COMPARISON CHART
====================================================== */

.comparison-chart-section{
  margin:0 22px 22px;
  border:1px solid #e1e7ef;
  border-radius:17px;
  background:#fff;
  overflow:hidden;
}

.premium-chart-wrap{
  position:relative;
  height:330px;
  padding:15px 18px 20px;
}

.premium-chart-wrap canvas{
  width:100%!important;
  height:100%!important;
}


/* ======================================================
   ALL RESULTS
====================================================== */

.all-results-section{
  padding:0 22px 22px;
}

.results-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin:8px 0 17px;
}

.results-heading-row h3{
  margin:0;
  color:var(--navy);
  font-size:23px;
  letter-spacing:-.025em;
}

.results-heading-row p{
  margin:6px 0 0;
  color:#8591a3;
  font-size:11px;
}

.results-toolbar{
  display:flex;
  align-items:center;
  gap:9px;
}

.result-search-box{
  min-width:260px;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:1px solid #dce3ec;
  border-radius:11px;
  background:#fff;
}

.result-search-box svg{
  width:16px;
  height:16px;
  flex-shrink:0;
  fill:none;
  stroke:#8c98a9;
  stroke-width:1.8;
  stroke-linecap:round;
}

.result-search-box input{
  width:100%;
  border:0;
  outline:0;
  color:var(--navy);
  background:transparent;
  font-size:11px;
}

.results-toolbar select{
  min-height:44px;
  padding:0 12px;
  border:1px solid #dce3ec;
  border-radius:11px;
  outline:0;
  background:#fff;
  color:#45566e;
  font-size:11px;
}


/* ======================================================
   PREMIUM COLLEGE CARDS
====================================================== */

.premium-college-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}

.premium-college-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:17px;
  border:1px solid #e0e6ee;
  border-radius:16px;
  background:#fff;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.premium-college-card:hover{
  transform:translateY(-2px);
  border-color:#cad8ee;
  box-shadow:0 14px 30px rgba(16,35,63,.06);
}

.premium-college-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
}

.premium-college-card[data-bucket="safe"]::before{
  background:#13a89e;
}

.premium-college-card[data-bucket="target"]::before{
  background:#2f6bff;
}

.premium-college-card[data-bucket="ambitious"]::before{
  background:#f5a623;
}

.premium-college-card[data-bucket="dream"]::before{
  background:#7458e8;
}

.college-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.college-card-head h4{
  margin:0;
  color:#182c46;
  font-size:14px;
  line-height:1.35;
}

.college-card-head p{
  margin:4px 0 0;
  color:#8793a5;
  font-size:9px;
}

.college-stat-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.college-stat{
  padding:10px;
  border-radius:11px;
  background:#f8fafc;
}

.college-stat span{
  display:block;
  color:#8a96a7;
  font-size:8px;
}

.college-stat strong{
  display:block;
  margin-top:3px;
  color:#24364e;
  font-size:11px;
}

.college-card-reason{
  margin-top:12px;
  padding:11px 12px;
  border-radius:10px;
  background:#fbfcfe;
  color:#66758a;
  font-size:9px;
  line-height:1.6;
}

.college-card-gap{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:10px;
  color:#68778d;
  font-size:9px;
  font-weight:700;
}

.college-card-gap i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--brand);
}


/* ======================================================
   MOBILE RESULTS
====================================================== */

.mobile-results{
  display:none;
}


/* ======================================================
   DISCLAIMER
====================================================== */

.results-disclaimer{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  margin:0 22px 22px;
  padding:14px 16px;
  border:1px solid #e2e7ee;
  border-radius:13px;
  background:#fafbfd;
}

.disclaimer-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf3ff;
  color:var(--brand);
  font-size:11px;
  font-weight:800;
}

.results-disclaimer strong{
  display:block;
  color:#42516a;
  font-size:10px;
}

.results-disclaimer p{
  margin:3px 0 0;
  color:#78869a;
  font-size:9px;
  line-height:1.6;
}


/* ======================================================
   REPEAT CTA
====================================================== */

.dashboard-repeat-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0 22px 22px;
  padding:22px;
  border-radius:16px;
  background:
    radial-gradient(
      circle at 90% 20%,
      rgba(255,255,255,.10),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #10233f,
      #173a65
    );
}

.dashboard-repeat-cta h3{
  margin:0;
  color:#fff;
  font-size:18px;
}

.dashboard-repeat-cta p{
  margin:6px 0 0;
  color:#b9c5d6;
  font-size:10px;
}

.dashboard-repeat-cta .eyebrow{
  color:#8faedf;
}


/* ======================================================
   1200PX
====================================================== */

@media(max-width:1200px){

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

  .report-distribution-card{
    grid-column:1/-1;
  }

  .distribution-layout{
    max-width:480px;
  }

}


/* ======================================================
   1024PX
====================================================== */

@media(max-width:1024px){

  .results-section{
    padding:76px 0;
  }

  .report-middle-grid{
    grid-template-columns:1fr;
  }

  .premium-college-grid{
    grid-template-columns:1fr;
  }

}


/* ======================================================
   768PX
====================================================== */

@media(max-width:768px){

  .results-section{
    padding:60px 0;
  }

  .result-intro{
    align-items:flex-start;
  }

  .result-intro h2{
    font-size:36px;
  }

  .premium-report-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .report-header-actions{
    width:100%;
    justify-content:space-between;
  }

  .report-overview-grid{
    grid-template-columns:1fr;
    padding:18px 18px 12px;
  }

  .report-distribution-card{
    grid-column:auto;
  }

  .premium-strategy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:0 18px 18px;
  }

  .report-middle-grid{
    padding:0 18px 18px;
  }

  .application-insight-card,
  .comparison-chart-section{
    margin-left:18px;
    margin-right:18px;
  }

  .all-results-section{
    padding-left:18px;
    padding-right:18px;
  }

  .results-heading-row{
    align-items:stretch;
    flex-direction:column;
  }

  .results-toolbar{
    width:100%;
  }

  .result-search-box{
    flex:1;
    min-width:0;
  }

  .results-disclaimer,
  .dashboard-repeat-cta{
    margin-left:18px;
    margin-right:18px;
  }

}


/* ======================================================
   576PX
====================================================== */

@media(max-width:576px){

  .result-intro{
    display:block;
  }

  .report-ready-pill{
    margin-top:14px;
  }

  .result-intro h2{
    font-size:31px;
  }

  .report-basis-pill{
    display:none;
  }

  .distribution-layout{
    grid-template-columns:120px minmax(0,1fr);
  }

  .distribution-chart-wrap{
    width:120px;
    height:120px;
  }

  .premium-strategy-grid{
    grid-template-columns:1fr 1fr;
  }

  .results-toolbar{
    display:grid;
    grid-template-columns:1fr;
  }

  .premium-college-grid{
    display:none;
  }

  .mobile-results{
    display:grid;
    gap:10px;
  }

  .dashboard-repeat-cta{
    align-items:flex-start;
    flex-direction:column;
  }

  .dashboard-repeat-cta .primary-btn{
    width:100%;
  }

}


/* ======================================================
   420PX
====================================================== */

@media(max-width:420px){

  .results-section{
    padding:46px 0;
  }

  .result-intro h2{
    font-size:28px;
  }

  .premium-report-shell{
    border-radius:18px;
  }

  .premium-report-header{
    padding:15px;
  }

  .report-brand-icon{
    width:38px;
    height:38px;
  }

  .report-brand-copy strong{
    font-size:14px;
  }

  .report-brand-copy span{
    font-size:9px;
  }

  .report-overview-grid{
    padding:14px 14px 10px;
  }

  .report-main-stat,
  .report-distribution-card{
    padding:15px;
  }

  .percentile-stat-layout strong,
  .match-total-layout strong{
    font-size:36px;
  }

  .distribution-layout{
    grid-template-columns:105px minmax(0,1fr);
    gap:8px;
  }

  .distribution-chart-wrap{
    width:105px;
    height:105px;
  }

  .premium-strategy-grid{
    gap:8px;
    padding:0 14px 14px;
  }

  .strategy-result-card{
    padding:13px;
  }

  .strategy-result-count{
    font-size:23px;
  }

  .report-middle-grid{
    padding:0 14px 14px;
  }

  .recommendation-row{
    grid-template-columns:22px minmax(0,1fr) auto;
  }

  .recommendation-ref{
    display:none;
  }

  .quick-compare{
    overflow-x:auto;
  }

  .quick-compare-table{
    min-width:430px;
  }

  .application-insight-card{
    margin:0 14px 14px;
    padding:14px;
  }

  .comparison-chart-section{
    margin:0 14px 14px;
  }

  .premium-chart-wrap{
    height:265px;
    padding:10px 12px 16px;
  }

  .all-results-section{
    padding:0 14px 14px;
  }

  .results-heading-row h3{
    font-size:20px;
  }

  .results-disclaimer{
    margin:0 14px 14px;
    padding:12px;
  }

  .dashboard-repeat-cta{
    margin:0 14px 14px;
    padding:17px;
  }

}

/* ======================================================
   HOW IT WORKS
====================================================== */
.how-section{
  padding:82px 0;
  background:#fff;
  border-top:1px solid #eaf0f6;
}

.section-heading-center{
  justify-content:center;
  text-align:center;
}

.how-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.how-grid article{
  padding:24px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
}

.how-grid article>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:12px;
  font-weight:800;
}

.how-grid h3{
  margin:18px 0 8px;
  color:var(--navy);
  font-size:19px;
}

.how-grid p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

@media(max-width:770px){
  .how-section{padding:60px 0}
  .how-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  .how-section{padding:46px 0}
  .how-grid article{
    padding:20px;
  }
}

/* ======================================================
   FAQ
====================================================== */
.faq-section{
  padding:82px 0;
  background:var(--page);
}

.faq-grid{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:48px;
}

.faq-intro h2{
  margin:0;
  color:var(--navy);
  font-size:34px;
  letter-spacing:-.035em;
}

.faq-intro p{
  color:var(--muted);
}

.faq-list{
  display:grid;
  gap:12px;
}

.faq-list details{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:0 18px;
}

.faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:17px 0;
  color:var(--navy);
  font-weight:700;
}

.faq-list summary::-webkit-details-marker{display:none}

.faq-list details p{
  margin:0;
  padding:0 0 17px;
  color:var(--muted);
  font-size:13px;
}

@media(max-width:770px){
  .faq-section{padding:60px 0}
  .faq-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
}

@media(max-width:420px){
  .faq-section{padding:46px 0}
  .faq-intro h2{font-size:29px}
}

/* ======================================================
   FOOTER
====================================================== */
.site-footer{
  padding:24px 0;
  background:#0f1f35;
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.footer-logo{
  width:auto;
  height:34px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

.site-footer p{
  margin:0;
  color:#cbd5e1;
  font-size:12px;
}

@media(max-width:770px){
  .footer-inner{
    flex-direction:column;
    text-align:center;
  }
}

@media(max-width:420px){
  .footer-logo{height:30px}
}

/* ======================================================
   CAT PREDICTOR PAGE V2 — SHARED VISUAL SYSTEM
   New sections are intentionally isolated by unique classes.
====================================================== */

:root{
  --soft-blue:#eef4ff;
  --soft-teal:#ecfbf7;
  --soft-purple:#f4f0ff;
  --soft-amber:#fff7e8;
  --soft-rose:#fff1f3;
  --page-2:#f6f8fc;
  --deep:#0f2341;
}

.hero-trust-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:22px;
  color:#607089;
  font-size:12px;
  font-weight:650;
}

.hero-trust-line span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* ======================================================
   LOCKED PREVIEW ENHANCEMENT
====================================================== */
.locked-preview-stack{
  position:relative;
  display:grid;
  gap:9px;
  margin-top:22px;
  padding:14px;
  border:1px solid #e6ebf3;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff,#f6f9fd);
  overflow:hidden;
}

.locked-preview-stack::after{
  content:"Full college names unlock after verification";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(248,251,255,.78);
  backdrop-filter:blur(7px);
  color:#61708a;
  text-align:center;
  font-size:11px;
  font-weight:750;
}

.locked-preview-row{
  display:grid;
  grid-template-columns:1.3fr .8fr .45fr;
  gap:10px;
}

.locked-preview-row span,
.locked-preview-row b,
.locked-preview-row i{
  display:block;
  height:14px;
  border-radius:999px;
  background:#dfe7f3;
}

.locked-preview-row b{background:#d9e8ff}
.locked-preview-row i{background:#dff4ee}

.dashboard-repeat-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:20px 22px 22px;
  padding:22px;
  border:1px solid #dfe7f3;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbff,#f3f7ff);
}

.dashboard-repeat-cta h3{
  margin:0;
  color:var(--navy);
  font-size:18px;
}

/* ======================================================
   SECTION 06 — REPORT PREVIEW
====================================================== */
.report-preview-section{
  position:relative;
  overflow:hidden;
  padding:96px 0;
  background:
    radial-gradient(circle at 8% 10%,rgba(47,107,255,.08),transparent 28%),
    linear-gradient(135deg,#eef4ff 0%,#f7fbff 46%,#ffffff 100%);
}

.report-preview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);
  align-items:center;
  gap:66px;
}

.report-preview-visual{
  position:relative;
  min-width:0;
}

.report-image-glow{
  position:absolute;
  width:70%;
  height:70%;
  left:14%;
  bottom:2%;
  border-radius:50%;
  background:rgba(47,107,255,.18);
  filter:blur(60px);
}

.report-preview-visual img{
  position:relative;
  z-index:1;
  width:100%;
  max-width:720px;
  margin:auto;
  filter:drop-shadow(0 28px 42px rgba(35,62,103,.16));
}

.report-preview-copy h2{
  max-width:560px;
  margin:0;
  color:var(--navy);
  font-size:44px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.report-preview-copy>p{
  max-width:610px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}

.report-feature-list{
  display:grid;
  gap:10px;
  margin:28px 0 28px;
}

.report-feature-list article{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:15px 16px;
  border:1px solid rgba(210,221,238,.9);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(23,43,77,.035);
}

.report-feature-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--brand-soft);
  color:var(--brand);
  font-size:11px;
  font-weight:800;
}

.report-feature-list h3{
  margin:0 0 4px;
  color:var(--navy);
  font-size:15px;
}

.report-feature-list p{
  margin:0;
  color:#708096;
  font-size:12px;
  line-height:1.6;
}

/* ======================================================
   SECTION 07 — CODED CAT FACTORS ORBIT
====================================================== */
.cat-factors-section{
  position:relative;
  overflow:hidden;
  padding:102px 0 110px;
  background:#fff;
}

.cat-factors-section::before,
.cat-factors-section::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.cat-factors-section::before{
  width:360px;
  height:360px;
  left:-160px;
  top:-140px;
  background:rgba(47,107,255,.07);
}

.cat-factors-section::after{
  width:300px;
  height:300px;
  right:-120px;
  bottom:-100px;
  background:rgba(19,168,158,.06);
}

.factors-section-heading{
  position:relative;
  z-index:1;
  max-width:780px;
  margin:0 auto 40px;
  text-align:center;
}

.factors-section-heading h2{
  margin:0;
  color:var(--navy);
  font-size:46px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.factors-section-heading p{
  max-width:690px;
  margin:16px auto 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}

.factors-orbit-shell{
  position:relative;
  width:min(900px,100%);
  height:780px;
  margin:0 auto;
}

.orbit-ring{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border:1px dashed rgba(47,107,255,.24);
  border-radius:50%;
  pointer-events:none;
}

.orbit-ring-one{width:360px;height:360px}
.orbit-ring-two{width:560px;height:560px;border-style:solid;border-color:rgba(19,168,158,.18)}
.orbit-ring-three{width:730px;height:730px}

.factor-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:260px;
  height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:14px solid rgba(255,255,255,.92);
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 25%,#37c7d7 0%,#2470d8 42%,#283ba8 100%);
  box-shadow:
    0 24px 65px rgba(36,85,186,.26),
    0 0 0 1px rgba(47,107,255,.12),
    0 0 0 24px rgba(47,107,255,.05);
  color:#fff;
  text-align:center;
  z-index:4;
}

.factor-center span{
  font-size:23px;
  font-weight:750;
}

.factor-center strong{
  margin:4px 0 0;
  font-size:72px;
  line-height:1;
  letter-spacing:-.05em;
}

.factor-center small{
  margin-top:5px;
  color:#bfd1ff;
  font-size:18px;
}

.factor-center i{
  width:48px;
  height:30px;
  margin-top:14px;
  display:block;
  background:linear-gradient(to top,rgba(112,213,255,.9) 0 100%);
  clip-path:polygon(0 100%,0 76%,14% 76%,14% 57%,31% 57%,31% 68%,48% 68%,48% 40%,65% 40%,65% 20%,82% 20%,82% 0,100% 0,100% 100%);
  opacity:.92;
}

.factor-node{
  position:absolute;
  width:220px;
  min-height:152px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:18px 20px;
  border:1px solid rgba(215,226,239,.94);
  border-radius:58px 58px 42px 42px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 42px rgba(34,56,91,.10);
  text-align:center;
  z-index:3;
  transition:transform .22s ease, box-shadow .22s ease;
}

.factor-node:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(34,56,91,.14);
}

.factor-node::after{
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 0 5px rgba(47,107,255,.10);
}

.factor-node h3{
  margin:10px 0 5px;
  color:#14274a;
  font-size:16px;
}

.factor-node p{
  margin:0;
  color:#69778d;
  font-size:11px;
  line-height:1.5;
}

.factor-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  font-style:normal;
  font-size:23px;
  font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}

.factor-blue{background:linear-gradient(135deg,#d9eaff,#b8d6ff);color:#2064c9}
.factor-teal{background:linear-gradient(135deg,#d9fbf3,#aaf0df);color:#109b8c}
.factor-violet{background:linear-gradient(135deg,#eee7ff,#d3c3ff);color:#6547d6}

.factor-academics{left:50%;top:0;transform:translateX(-50%)}
.factor-academics::after{left:50%;bottom:-28px;transform:translateX(-50%)}

.factor-sectionals{right:16px;top:118px}
.factor-sectionals::after{left:-28px;bottom:20px}

.factor-work{right:-4px;top:345px}
.factor-work::after{left:-27px;top:50%;transform:translateY(-50%)}

.factor-category{right:116px;bottom:5px}
.factor-category::after{left:6px;top:-23px}

.factor-budget{left:50%;bottom:-18px;transform:translateX(-50%)}
.factor-budget::after{left:50%;top:-27px;transform:translateX(-50%)}

.factor-location{left:116px;bottom:5px}
.factor-location::after{right:6px;top:-23px}

.factor-program{left:-4px;top:345px}
.factor-program::after{right:-27px;top:50%;transform:translateY(-50%)}

.factor-profile{left:16px;top:118px}
.factor-profile::after{right:-28px;bottom:20px}

.factors-mobile-grid{display:none}

.centered-section-cta{
  display:flex;
  justify-content:center;
  margin-top:36px;
}

/* ======================================================
   SECTION 08 — MATCH GUIDE
====================================================== */
.match-guide-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 90% 10%,rgba(245,166,35,.08),transparent 26%),
    #fbfaf7;
}

.match-guide-heading p{
  max-width:690px;
  margin:10px auto 0;
  color:var(--muted);
}

.match-guide-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:40px;
}

.match-guide-card{
  position:relative;
  overflow:hidden;
  min-height:320px;
  padding:26px;
  border:1px solid rgba(215,224,236,.9);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 36px rgba(23,43,77,.055);
}

.match-guide-card::before{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  right:-55px;
  top:-65px;
  border-radius:50%;
  opacity:.45;
}

.match-guide-safe::before{background:#bff4e8}
.match-guide-target::before{background:#cfe0ff}
.match-guide-ambitious::before{background:#ffe5b2}
.match-guide-dream::before{background:#ddd1ff}

.match-guide-badge{
  position:relative;
  z-index:1;
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:850;
  letter-spacing:.06em;
}

.match-guide-safe .match-guide-badge{background:var(--teal-soft);color:var(--teal)}
.match-guide-target .match-guide-badge{background:var(--brand-soft);color:var(--brand)}
.match-guide-ambitious .match-guide-badge{background:var(--amber-soft);color:#ad6a00}
.match-guide-dream .match-guide-badge{background:var(--violet-soft);color:var(--violet)}

.match-guide-icon{
  position:relative;
  z-index:1;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-top:26px;
  border-radius:16px;
  background:#f7f9fc;
  color:var(--navy);
  font-size:24px;
  font-weight:800;
}

.match-guide-card h3{
  position:relative;
  z-index:1;
  margin:20px 0 8px;
  color:var(--navy);
  font-size:20px;
  line-height:1.25;
}

.match-guide-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#6e7c91;
  font-size:13px;
  line-height:1.65;
}

.match-mini-meter{
  position:absolute;
  left:26px;
  right:26px;
  bottom:25px;
  height:7px;
  overflow:hidden;
  border-radius:99px;
  background:#edf1f6;
}

.match-mini-meter span{
  display:block;
  height:100%;
  border-radius:inherit;
}

.match-guide-safe .match-mini-meter span{background:var(--teal)}
.match-guide-target .match-mini-meter span{background:var(--brand)}
.match-guide-ambitious .match-mini-meter span{background:var(--amber)}
.match-guide-dream .match-mini-meter span{background:var(--violet)}

/* ======================================================
   SECTION 09 — DECISION BENTO
====================================================== */
.decision-section{
  padding:100px 0;
  background:
    radial-gradient(circle at 5% 90%,rgba(19,168,158,.10),transparent 28%),
    linear-gradient(135deg,#effbf8,#f8fcfb 56%,#fff 100%);
}

.decision-heading-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  align-items:end;
  gap:60px;
}

.decision-heading-row h2{
  max-width:650px;
  margin:0;
  color:var(--navy);
  font-size:45px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.decision-heading-row>p{
  margin:0;
  color:#68778c;
  font-size:14px;
  line-height:1.75;
}

.decision-bento{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:minmax(170px,auto);
  gap:16px;
  margin-top:38px;
}

.decision-card{
  position:relative;
  overflow:hidden;
  padding:23px;
  border:1px solid rgba(214,226,232,.95);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 32px rgba(30,79,71,.055);
}

.decision-large{
  grid-column:span 2;
  min-height:250px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:16px;
}

.decision-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#e9f8f4;
  color:#118f7d;
  font-size:20px;
  font-weight:800;
}

.decision-card h3{
  margin:8px 0 7px;
  color:var(--navy);
  font-size:18px;
}

.decision-large h3{margin-top:2px;font-size:22px}

.decision-card p{
  margin:0;
  color:#708096;
  font-size:12px;
  line-height:1.6;
}

.decision-mini-visual{
  position:absolute;
  right:24px;
  bottom:24px;
  width:160px;
  height:76px;
}

.cost-bars{
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.cost-bars i{
  flex:1;
  border-radius:8px 8px 2px 2px;
  background:linear-gradient(180deg,#7edfcf,#19a897);
}

.cost-bars i:nth-child(1){height:34%}
.cost-bars i:nth-child(2){height:54%}
.cost-bars i:nth-child(3){height:72%}
.cost-bars i:nth-child(4){height:92%}

.placement-line{
  display:flex;
  align-items:flex-end;
  gap:14px;
  border-bottom:1px solid #dfe8e5;
}

.placement-line i{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#2f6bff;
  transform:translateY(var(--lift,0));
}

.placement-line i:nth-child(1){--lift:-4px}
.placement-line i:nth-child(2){--lift:-16px}
.placement-line i:nth-child(3){--lift:-28px}
.placement-line i:nth-child(4){--lift:-42px}
.placement-line i:nth-child(5){--lift:-55px}

/* ======================================================
   SECTION 10 — JOURNEY
====================================================== */
.journey-section{
  padding:100px 0;
  background:#fff;
}

.journey-heading{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.journey-heading h2{
  margin:0;
  color:var(--navy);
  font-size:45px;
  line-height:1.08;
  letter-spacing:-.045em;
}

.journey-heading p{
  max-width:660px;
  margin:15px auto 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

.journey-stage{
  position:relative;
  min-height:690px;
  overflow:hidden;
  border:1px solid #e2e9f2;
  border-radius:28px;
  background:#eaf4ff;
  box-shadow:0 24px 60px rgba(23,43,77,.08);
}

.journey-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.journey-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.10));
}

.journey-step{
  position:absolute;
  z-index:2;
  width:190px;
  padding:18px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:18px;
  background:rgba(255,255,255,.91);
  box-shadow:0 16px 36px rgba(31,55,90,.11);
  backdrop-filter:blur(9px);
}

.journey-step span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin-top:-37px;
  border:4px solid #fff;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(47,107,255,.22);
}

.journey-step h3{
  margin:11px 0 6px;
  color:var(--navy);
  font-size:16px;
  line-height:1.3;
}

.journey-step p{
  margin:0;
  color:#6c7a90;
  font-size:11px;
  line-height:1.55;
}

.journey-step-1{left:3%;bottom:7%}
.journey-step-2{left:25%;bottom:13%}
.journey-step-3{left:47%;bottom:20%}
.journey-step-4{left:67%;bottom:29%}
.journey-step-5{right:2.5%;top:25%}
.journey-step-2 span{background:#13a89e}
.journey-step-3 span{background:#f5a623}
.journey-step-4 span{background:#7458e8}
.journey-step-5 span{background:#2ea765}

.journey-mobile-list{display:none}

/* ======================================================
   SECTION 11 — APPLICATION MIX DARK BAND
====================================================== */
.application-mix-section{
  position:relative;
  overflow:hidden;
  padding:92px 0;
  background:
    radial-gradient(circle at 90% 30%,rgba(47,107,255,.24),transparent 32%),
    radial-gradient(circle at 10% 80%,rgba(19,168,158,.14),transparent 28%),
    #0f2038;
}

.application-mix-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
  align-items:center;
  gap:70px;
}

.eyebrow-light{color:#87aefc}

.application-mix-copy h2{
  max-width:600px;
  margin:0;
  color:#fff;
  font-size:46px;
  line-height:1.07;
  letter-spacing:-.045em;
}

.application-mix-copy p{
  max-width:620px;
  margin:18px 0 28px;
  color:#b8c6d9;
  font-size:15px;
  line-height:1.72;
}

.application-mix-visual{
  display:grid;
  gap:12px;
}

.mix-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 150px;
  align-items:center;
  gap:18px;
  min-height:72px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(8px);
}

.mix-row>span{
  font-size:12px;
  font-weight:800;
}

.mix-row div{
  display:flex;
  gap:8px;
}

.mix-row i{
  width:34px;
  height:34px;
  border-radius:10px;
}

.mix-row strong{
  color:#c6d2e3;
  font-size:11px;
  font-weight:650;
  text-align:right;
}

.mix-safe>span{color:#61e3cb}.mix-safe i{background:#26b79f}
.mix-target>span{color:#7da6ff}.mix-target i{background:#4c7df4}
.mix-ambitious>span{color:#ffc569}.mix-ambitious i{background:#f5a623}
.mix-dream>span{color:#b9a3ff}.mix-dream i{background:#8065e9}

/* ======================================================
   SECTION 13 — RELATED TOOLS
====================================================== */
.related-tools-section{
  padding:96px 0;
  background:
    radial-gradient(circle at 90% 10%,rgba(116,88,232,.08),transparent 25%),
    linear-gradient(135deg,#f5f1ff,#fbfaff 52%,#fff 100%);
}

.related-tools-heading{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}

.related-tools-heading h2{
  margin:0;
  color:var(--navy);
  font-size:44px;
  line-height:1.09;
  letter-spacing:-.042em;
}

.related-tools-heading p{
  margin:14px auto 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

.related-tools-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:38px;
}

.related-tool-card{
  position:relative;
  min-height:270px;
  padding:24px;
  border:1px solid #e2dcf4;
  border-radius:20px;
  background:rgba(255,255,255,.86);
  box-shadow:0 12px 32px rgba(82,62,153,.055);
}

.related-tool-featured{
  background:linear-gradient(145deg,#fff,#f7f3ff);
}

.related-tool-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#eee7ff;
  color:#664ad1;
  font-size:12px;
  font-weight:850;
}

.tool-status{
  position:absolute;
  top:22px;
  right:20px;
  padding:6px 8px;
  border-radius:999px;
  background:#f4f1fb;
  color:#8879b1;
  font-size:9px;
  font-weight:750;
}

.related-tool-card h3{
  margin:22px 0 8px;
  color:var(--navy);
  font-size:18px;
}

.related-tool-card p{
  margin:0;
  color:#718096;
  font-size:12px;
  line-height:1.65;
}

/* ======================================================
   SECTION 14 — FINAL CTA
====================================================== */
.final-cta-section{
  padding:88px 0;
  background:#f6f8fc;
}

.final-cta-shell{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);
  align-items:center;
  min-height:470px;
  padding:52px;
  border-radius:30px;
  background:
    radial-gradient(circle at 82% 30%,rgba(90,126,255,.30),transparent 31%),
    linear-gradient(135deg,#0f2341,#163866 68%,#1b4b87);
  box-shadow:0 30px 70px rgba(15,35,65,.18);
}

.final-cta-shell::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  left:-120px;
  bottom:-150px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
}

.final-cta-copy{
  position:relative;
  z-index:2;
}

.final-cta-copy h2{
  max-width:600px;
  margin:0;
  color:#fff;
  font-size:46px;
  line-height:1.06;
  letter-spacing:-.045em;
}

.final-cta-copy p{
  max-width:580px;
  margin:18px 0 26px;
  color:#c2d0e2;
  font-size:15px;
  line-height:1.7;
}

.final-cta-copy small{
  display:block;
  margin-top:14px;
  color:#8fa6c4;
  font-size:10px;
}

.final-cta-visual{
  position:relative;
  z-index:1;
  min-width:0;
}

.final-cta-visual img{
  width:100%;
  max-width:650px;
  margin-left:auto;
  filter:drop-shadow(0 30px 42px rgba(0,0,0,.24));
}

/* ======================================================
   SECTION 15 — PREMIUM FAQ
====================================================== */
.faq-new-section{
  position:relative;
  overflow:hidden;
  padding:96px 0;
  background:
    radial-gradient(circle at 10% 5%,rgba(47,107,255,.07),transparent 24%),
    radial-gradient(circle at 94% 94%,rgba(19,168,158,.055),transparent 26%),
    #f6f8fc;
}

.faq-new-heading{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.faq-new-heading h2{
  margin:0;
  color:var(--navy);
  font-size:46px;
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:800;
}

.faq-new-heading h2 span{color:var(--brand)}

.faq-new-heading p{
  max-width:680px;
  margin:18px auto 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}

.faq-topic-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  max-width:1060px;
  margin:42px auto 0;
}

.faq-topic-card{
  min-width:0;
  min-height:92px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border:1px solid #e0e7f1;
  border-radius:17px;
  background:rgba(255,255,255,.86);
  color:inherit;
  text-align:left;
  box-shadow:0 8px 26px rgba(16,35,63,.045);
  transition:.22s ease;
}

.faq-topic-card:hover{transform:translateY(-2px);border-color:#c6d5f4;box-shadow:0 14px 34px rgba(16,35,63,.075)}
.faq-topic-card.active{border-color:rgba(47,107,255,.34);background:#fff;box-shadow:0 14px 34px rgba(47,107,255,.08),inset 0 0 0 1px rgba(47,107,255,.06)}

.faq-topic-icon{
  width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:12px;background:#f0f4fb;color:#61708a;font-size:18px;font-weight:800;transition:.22s ease;
}
.faq-topic-card.active .faq-topic-icon{background:var(--brand);color:#fff;box-shadow:0 8px 18px rgba(47,107,255,.2)}
.faq-topic-copy strong{display:block;color:var(--navy);font-size:14px;line-height:1.3}
.faq-topic-copy small{display:block;margin-top:4px;color:#8a96a8;font-size:11px;line-height:1.4}

.faq-new-panel{
  max-width:960px;
  margin:24px auto 0;
  overflow:hidden;
  border:1px solid #dde5ef;
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(16,35,63,.08);
}

.faq-panel-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:26px 28px;
  border-bottom:1px solid #e8edf4;
  background:linear-gradient(135deg,#fff 0%,#fbfcff 60%,#f5f8ff 100%);
}

.faq-panel-kicker{display:block;margin-bottom:7px;color:var(--brand);font-size:10px;line-height:1;font-weight:800;letter-spacing:.12em}
.faq-panel-top h3{max-width:650px;margin:0;color:var(--navy);font-size:21px;line-height:1.35;letter-spacing:-.022em}
.faq-question-count{flex-shrink:0;padding:8px 11px;border:1px solid #dce5f1;border-radius:999px;background:#fff;color:#77859a;font-size:11px;font-weight:700}

.faq-new-list{padding:8px 20px}
.faq-new-item{border-bottom:1px solid #ebeff5}
.faq-new-item:last-child{border-bottom:0}
.faq-new-item[hidden]{display:none!important}

.faq-new-question{
  width:100%;
  min-height:82px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 38px;
  align-items:center;
  gap:14px;
  padding:13px 8px;
  border:0;
  background:transparent;
  text-align:left;
  color:inherit;
}

.faq-question-number{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#f2f5f9;color:#8a96a8;font-size:10px;font-weight:800;transition:.22s ease}
.faq-question-text{color:#25334a;font-size:15px;line-height:1.45;font-weight:700;transition:.2s ease}

.faq-toggle-icon{position:relative;width:34px;height:34px;display:grid;place-items:center;justify-self:end;border:1px solid #dce4ee;border-radius:50%;background:#fff;transition:.22s ease}
.faq-toggle-icon span{position:absolute;width:12px;height:1.7px;border-radius:99px;background:#607089;transition:.25s ease}
.faq-toggle-icon span:last-child{transform:rotate(90deg)}
.faq-new-item:hover .faq-question-text{color:var(--brand)}

.faq-new-item.is-open{margin:6px 0;border:1px solid #d8e3f5;border-radius:16px;background:linear-gradient(135deg,#fbfdff 0%,#f7faff 100%)}
.faq-new-item.is-open .faq-new-question{padding-left:14px;padding-right:14px}
.faq-new-item.is-open .faq-question-number{background:var(--brand-soft);color:var(--brand)}
.faq-new-item.is-open .faq-question-text{color:var(--navy)}
.faq-new-item.is-open .faq-toggle-icon{border-color:var(--brand);background:var(--brand);transform:rotate(180deg)}
.faq-new-item.is-open .faq-toggle-icon span{background:#fff}
.faq-new-item.is-open .faq-toggle-icon span:last-child{transform:rotate(0deg)}

.faq-new-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .32s ease,opacity .24s ease}
.faq-new-item.is-open .faq-new-answer{grid-template-rows:1fr;opacity:1}
.faq-answer-inner{min-height:0;overflow:hidden}
.faq-answer-inner>p{margin:0;padding:0 64px 22px 70px;color:#65738a;font-size:13px;line-height:1.75}
.faq-note{display:flex;align-items:flex-start;gap:10px;margin:0 64px 22px 70px;padding:12px 14px;border:1px solid #e0e8f4;border-radius:11px;background:#fff}
.faq-note strong{flex-shrink:0;padding:4px 7px;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.04em}
.faq-note span{color:#718096;font-size:11px;line-height:1.6}

.faq-help-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:18px;padding:20px;border-radius:17px;background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.12),transparent 30%),linear-gradient(135deg,#10233f,#16375f)}
.faq-help-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.08);color:#fff;font-size:21px;font-weight:800}
.faq-help-copy span{display:block;margin-bottom:3px;color:#8facdf;font-size:9px;line-height:1;font-weight:800;letter-spacing:.11em}
.faq-help-copy h3{margin:0;color:#fff;font-size:17px;line-height:1.35}
.faq-help-copy p{margin:5px 0 0;color:#b9c5d7;font-size:11px}
.faq-help-btn{min-height:46px;flex-shrink:0;box-shadow:none}

/* ======================================================
   FOOTER OVERRIDE
====================================================== */
.footer-inner-centered{display:flex;align-items:center;justify-content:center;text-align:center}
.footer-inner-centered p{margin:0;text-align:center}

/* ======================================================
   RESPONSIVE — LARGE DESKTOP / LAPTOP
====================================================== */
@media(max-width:1440px){
  .final-cta-shell{min-height:440px}
}

@media(max-width:1200px){
  .page-container{width:min(1080px,calc(100% - 40px))}
  .report-preview-grid{gap:44px;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr)}
  .report-preview-copy h2,.application-mix-copy h2,.final-cta-copy h2{font-size:42px}
  .factors-orbit-shell{transform:scale(.92);transform-origin:center top;margin-bottom:-55px}
  .journey-stage{min-height:640px}
  .journey-step{width:178px}
  .related-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ======================================================
   RESPONSIVE — SMALL LAPTOP / LANDSCAPE TABLET
====================================================== */
@media(max-width:1024px){
  .page-container{width:calc(100% - 36px)}

  .report-preview-section,.cat-factors-section,.match-guide-section,.decision-section,.journey-section,.related-tools-section,.faq-new-section{padding:78px 0}

  .report-preview-grid{
    grid-template-columns:1fr;
    gap:34px;
  }

  .report-preview-visual{order:2}
  .report-preview-copy{order:1;text-align:center}
  .report-preview-copy h2,.report-preview-copy>p{margin-left:auto;margin-right:auto}
  .report-feature-list{max-width:760px;margin-left:auto;margin-right:auto;text-align:left}

  .factors-section-heading h2,.journey-heading h2,.decision-heading-row h2{font-size:40px}
  .factors-orbit-shell{transform:scale(.80);margin-bottom:-150px}

  .match-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .decision-heading-row{grid-template-columns:1fr;gap:16px;text-align:center}
  .decision-heading-row h2{margin:auto}
  .decision-heading-row>p{max-width:720px;margin:auto}
  .decision-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .decision-large{grid-column:span 1}

  .journey-stage{min-height:590px}
  .journey-step{width:165px;padding:14px}
  .journey-step h3{font-size:14px}
  .journey-step p{font-size:10px}

  .application-mix-grid{grid-template-columns:1fr;gap:40px}
  .application-mix-copy{text-align:center}
  .application-mix-copy h2,.application-mix-copy p{margin-left:auto;margin-right:auto}
  .application-mix-visual{max-width:760px;width:100%;margin:auto}

  .final-cta-shell{grid-template-columns:1fr;padding:44px;text-align:center}
  .final-cta-copy h2,.final-cta-copy p{margin-left:auto;margin-right:auto}
  .final-cta-visual img{margin:30px auto 0;max-width:620px}

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

/* ======================================================
   RESPONSIVE — TABLET
====================================================== */
@media(max-width:768px){
  .page-container{width:calc(100% - 30px)}

  .header-inner{min-height:66px}
  .main-nav{display:none}

  .report-preview-section,.cat-factors-section,.match-guide-section,.decision-section,.journey-section,.related-tools-section,.faq-new-section{padding:62px 0}

  .report-preview-copy h2,.related-tools-heading h2,.faq-new-heading h2{font-size:36px}

  .factors-orbit-shell{display:none}
  .factors-mobile-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:720px;
    margin:30px auto 0;
  }

  .factors-mobile-grid article{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:16px;
    border:1px solid #e2e9f2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 26px rgba(23,43,77,.05);
  }

  .factors-mobile-grid h3{margin:0 0 3px;color:var(--navy);font-size:14px}
  .factors-mobile-grid p{margin:0;color:#7b8798;font-size:11px}

  .match-guide-grid{grid-template-columns:1fr 1fr}
  .match-guide-card{min-height:290px}

  .decision-bento{grid-template-columns:1fr 1fr}

  .journey-stage{display:none}
  .journey-mobile-list{
    display:grid;
    gap:12px;
    max-width:720px;
    margin:30px auto 0;
  }

  .journey-mobile-list article{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    align-items:start;
    gap:14px;
    padding:18px;
    border:1px solid #e2e9f2;
    border-radius:17px;
    background:linear-gradient(135deg,#fff,#f7fbff);
    box-shadow:0 10px 28px rgba(23,43,77,.05);
  }

  .journey-mobile-list span{
    width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;
  }
  .journey-mobile-list article:nth-child(2) span{background:#13a89e}
  .journey-mobile-list article:nth-child(3) span{background:#f5a623}
  .journey-mobile-list article:nth-child(4) span{background:#7458e8}
  .journey-mobile-list article:nth-child(5) span{background:#2ea765}
  .journey-mobile-list h3{margin:0 0 5px;color:var(--navy);font-size:15px}
  .journey-mobile-list p{margin:0;color:#718096;font-size:12px;line-height:1.6}

  .mix-row{grid-template-columns:78px minmax(0,1fr) 112px}
  .mix-row i{width:28px;height:28px}

  .related-tools-grid{grid-template-columns:1fr 1fr}

  .final-cta-section{padding:62px 0}
  .final-cta-shell{padding:34px;border-radius:24px}
  .final-cta-copy h2{font-size:38px}

  .faq-panel-top{padding:22px}
  .faq-new-list{padding:7px 16px}
  .faq-answer-inner>p{padding-right:56px;padding-left:64px}
  .faq-note{margin-right:56px;margin-left:64px}
  .faq-help-card{grid-template-columns:auto minmax(0,1fr)}
  .faq-help-btn{grid-column:1/-1;width:100%}

  .dashboard-repeat-cta{align-items:flex-start;flex-direction:column}
}

/* ======================================================
   RESPONSIVE — LARGE MOBILE
====================================================== */
@media(max-width:576px){
  .page-container{width:calc(100% - 24px)}

  .hero-trust-line{justify-content:center;font-size:10px}

  .report-preview-section,.cat-factors-section,.match-guide-section,.decision-section,.journey-section,.related-tools-section,.faq-new-section{padding:50px 0}

  .report-preview-copy h2,.factors-section-heading h2,.journey-heading h2,.decision-heading-row h2,.related-tools-heading h2,.faq-new-heading h2{font-size:32px}

  .report-preview-copy>p,.factors-section-heading p,.journey-heading p{font-size:13px}
  .report-feature-list article{grid-template-columns:42px minmax(0,1fr);padding:13px}

  .factors-mobile-grid{grid-template-columns:1fr}
  .match-guide-grid{grid-template-columns:1fr}
  .match-guide-card{min-height:255px}

  .decision-bento{grid-template-columns:1fr}
  .decision-large{min-height:225px}
  .decision-mini-visual{width:125px;height:60px;right:18px;bottom:18px}

  .application-mix-section{padding:58px 0}
  .application-mix-copy h2{font-size:34px}
  .application-mix-copy p{font-size:13px}
  .mix-row{grid-template-columns:68px minmax(0,1fr);gap:12px}
  .mix-row strong{display:none}
  .mix-row i{width:26px;height:26px;border-radius:8px}

  .related-tools-grid{grid-template-columns:1fr}
  .related-tool-card{min-height:220px}

  .final-cta-shell{padding:28px 22px;min-height:0}
  .final-cta-copy h2{font-size:34px}
  .final-cta-copy p{font-size:13px}

  .faq-topic-grid{
    display:flex;
    overflow-x:auto;
    gap:10px;
    width:calc(100% + 12px);
    margin-top:28px;
    padding-right:12px;
    padding-bottom:5px;
    scrollbar-width:none;
  }
  .faq-topic-grid::-webkit-scrollbar{display:none}
  .faq-topic-card{min-width:205px;min-height:78px;padding:13px;border-radius:14px}
}

/* ======================================================
   RESPONSIVE — SMALL MOBILE
====================================================== */
@media(max-width:420px){
  .page-container{width:calc(100% - 20px)}

  .hero-trust-line{display:grid;grid-template-columns:1fr;text-align:left;max-width:260px;margin:20px auto 0}

  .report-preview-section,.cat-factors-section,.match-guide-section,.decision-section,.journey-section,.related-tools-section,.faq-new-section{padding:44px 0}

  .report-preview-copy,.factors-section-heading,.journey-heading,.related-tools-heading,.faq-new-heading{text-align:center}
  .faq-new-heading .eyebrow{display:block;text-align:center}
  .faq-new-heading h2{text-align:center}
  .faq-new-heading p{text-align:center;margin-left:auto;margin-right:auto}

  .report-preview-copy h2,.factors-section-heading h2,.journey-heading h2,.decision-heading-row h2,.related-tools-heading h2,.faq-new-heading h2{font-size:29px;line-height:1.12}

  .report-feature-list{gap:8px;margin-top:22px}
  .report-feature-list h3{font-size:14px}
  .report-feature-list p{font-size:11px}

  .factors-mobile-grid article{padding:14px}

  .match-guide-card{padding:22px;min-height:250px}
  .match-mini-meter{left:22px;right:22px;bottom:22px}

  .decision-heading-row{text-align:center}
  .decision-card{padding:20px}
  .decision-large{grid-template-columns:44px minmax(0,1fr)}
  .decision-mini-visual{opacity:.55}

  .journey-mobile-list article{grid-template-columns:42px minmax(0,1fr);padding:15px}
  .journey-mobile-list span{width:38px;height:38px}

  .application-mix-copy h2{font-size:30px}
  .mix-row{padding:12px}
  .mix-row i{width:22px;height:22px}

  .final-cta-section{padding:44px 0}
  .final-cta-shell{padding:26px 18px;border-radius:20px}
  .final-cta-copy h2{font-size:30px}
  .final-cta-btn{width:100%}
  .final-cta-visual img{margin-top:22px}

  .faq-new-panel{margin-top:16px;border-radius:18px}
  .faq-panel-top{display:block;padding:18px 16px}
  .faq-panel-top h3{font-size:17px}
  .faq-question-count{display:inline-flex;margin-top:12px}
  .faq-new-list{padding:5px 10px}
  .faq-new-question{min-height:74px;grid-template-columns:34px minmax(0,1fr) 32px;gap:9px;padding:10px 4px}
  .faq-question-number{width:32px;height:32px;border-radius:9px;font-size:9px}
  .faq-question-text{font-size:13px;line-height:1.45}
  .faq-toggle-icon{width:30px;height:30px}
  .faq-toggle-icon span{width:10px}
  .faq-new-item.is-open{border-radius:13px}
  .faq-new-item.is-open .faq-new-question{padding-left:9px;padding-right:9px}
  .faq-answer-inner>p{padding:0 43px 17px 52px;font-size:12px;line-height:1.7}
  .faq-note{display:block;margin:0 12px 16px 52px;padding:10px}
  .faq-note strong{display:inline-flex;margin-bottom:7px}
  .faq-note span{display:block}
  .faq-help-card{grid-template-columns:auto minmax(0,1fr);gap:12px;margin:12px;padding:16px;border-radius:14px}
  .faq-help-icon{width:42px;height:42px;border-radius:12px}
  .faq-help-copy h3{font-size:14px}
  .faq-help-copy p{font-size:10px}
  .faq-help-btn{grid-column:1/-1;min-height:45px;width:100%}

  .site-footer{padding:20px 0}
  .site-footer p{max-width:300px;margin:auto;font-size:10.5px}
}
