
@font-face{font-family:Inter;src:url(assets/Inter-400.ttf);font-weight:400}
@font-face{font-family:Inter;src:url(assets/Inter-600.ttf);font-weight:500 800}
@font-face{font-family:"Source Serif 4";src:url(assets/SourceSerif4-400.ttf);font-weight:400}
@font-face{font-family:"Source Serif 4";src:url(assets/SourceSerif4-600.ttf);font-weight:600 800}
.review-strip{background:#12163f;color:#dce9f5;padding:8px 24px;text-align:center;font:12px Inter,sans-serif}
.archive-note{font-size:12px;color:#6a748c;line-height:1.6;margin:12px 0 20px}

:root{
  --navy:#1a1f71;
  --navy-deep:#12163f;
  --brand:#1a6fb5;
  --brand-deep:#14508a;
  --teal:#3bc4e8;
  --sky-pale:#eaf4fb;
  --ink:#161c2d;
  --body:#3a4356;
  --mut:#6a748c;
  --band:#f2f5f9;
  --line:#dde3ec;
  --white:#fff;
  --good:#1e7a4a;
  --green:#1f9d61;
  --green-deep:#0f6b41;
  --warn:#a8720d;
  --serif:"Source Serif 4",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  font-family:var(--sans);
  color:var(--body);
  background:var(--white);
  font-size:16px;
  line-height:1.6;
}

h1,h2,h3,h4{
  font-family:var(--serif);
  color:var(--navy);
  line-height:1.25;
  font-weight:600;
}

a{
  color:var(--brand);
  text-decoration:none;
}

a:hover{
  color:var(--brand-deep);
  text-decoration:underline;
}

button{
  font-family:var(--sans);
  cursor:pointer;
}

button:disabled{
  cursor:not-allowed;
  opacity:.5;
}

input,textarea{
  font-family:var(--sans);
  color:var(--ink);
}

.screen{
  display:none;
}

.screen.active{
  display:block;
}

/* ============================================================
   Shared components
   ============================================================ */

.btn{
  display:inline-block;
  background:var(--brand);
  color:var(--white);
  border:1px solid var(--brand);
  border-radius:3px;
  padding:12px 26px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
  transition:background .15s ease;
}

.btn:hover:not(:disabled){
  background:var(--brand-deep);
  border-color:var(--brand-deep);
}

.btn-ghost{
  display:inline-block;
  background:var(--white);
  color:var(--brand);
  border:1px solid var(--line);
  border-radius:3px;
  padding:8px 16px;
  font-size:13px;
  font-weight:600;
  transition:border-color .15s ease,color .15s ease;
}

.btn-ghost:hover{
  border-color:var(--brand);
  color:var(--brand-deep);
}

.card{
  background:var(--white);
  border:1px solid var(--line);
  border-top:3px solid var(--teal);
  border-radius:4px;
  box-shadow:0 1px 3px rgba(22,28,45,.06);
}

.eyebrow{
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand);
  margin-bottom:8px;
}

.pill{
  display:inline-block;
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:5px 14px;
  border-radius:999px;
  border:1px solid transparent;
  white-space:nowrap;
}

.pill-good{
  background:#e9f5ee;
  color:var(--good);
  border-color:#c4e3d1;
}

.pill-brand{
  background:var(--sky-pale);
  color:var(--brand-deep);
  border-color:#c8e0f2;
}

.pill-warn{
  background:#faf3e3;
  color:var(--warn);
  border-color:#ecd9ad;
}

.pill-mut{
  background:var(--band);
  color:var(--mut);
  border-color:var(--line);
}

/* ============================================================
   Gate styling (agreement screen wrapper)
   ============================================================ */

.gate-wrap{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}

.gate-logo{
  font-family:var(--serif);
  font-size:24px;
  font-weight:700;
  color:var(--navy);
  margin-bottom:28px;
  text-align:center;
}

.gate-card{
  width:100%;
  max-width:440px;
  background:var(--white);
  border:1px solid var(--line);
  border-top:3px solid var(--teal);
  border-radius:4px;
  box-shadow:0 6px 24px rgba(22,28,45,.08);
  padding:44px 40px;
  text-align:center;
}

.gate-card h1{
  font-size:26px;
  margin-bottom:12px;
}

.gate-card p.lead{
  font-size:15px;
  color:var(--body);
  margin-bottom:28px;
}

.google-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  background:var(--white);
  border:1px solid #d0d5dd;
  border-radius:3px;
  padding:13px 20px;
  font-size:15px;
  font-weight:600;
  color:#3c4043;
  transition:box-shadow .15s ease,background .15s ease;
}

.google-btn:hover{
  background:#f8fafc;
  box-shadow:0 1px 4px rgba(22,28,45,.12);
}

.google-btn svg{
  width:20px;
  height:20px;
  flex-shrink:0;
}

.gate-fine{
  font-size:12.5px;
  color:var(--mut);
  margin-top:22px;
}

.gate-foot{
  margin-top:32px;
  font-size:12.5px;
  color:var(--mut);
  text-align:center;
}

/* ============================================================
   Screen 2: Partnership agreement
   ============================================================ */

#screen-agreement{
  min-height:100vh;
  background:var(--band);
}

.agree-wrap{
  max-width:760px;
  margin:0 auto;
  padding:56px 20px 72px;
}

.agree-card{
  background:var(--white);
  border:1px solid var(--line);
  border-top:3px solid var(--teal);
  border-radius:4px;
  box-shadow:0 2px 10px rgba(22,28,45,.06);
  padding:48px 48px 40px;
}

.agree-card h1{
  font-size:27px;
  margin-bottom:6px;
}

.agree-sub{
  font-size:14px;
  color:var(--mut);
  margin-bottom:26px;
}

.agree-body{
  border:1px solid var(--line);
  border-radius:4px;
  background:#fbfcfe;
  padding:26px 28px;
  max-height:340px;
  overflow-y:auto;
  font-size:14.5px;
  line-height:1.7;
  color:var(--body);
  text-align:left;
}

.agree-body h3{
  font-size:15px;
  color:var(--navy);
  margin:18px 0 6px;
  font-family:var(--sans);
  font-weight:700;
}

.agree-body h3:first-child{
  margin-top:0;
}

.agree-body p{
  margin-bottom:8px;
}

.agree-check{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:26px 0 22px;
  font-size:14.5px;
  color:var(--ink);
}

.agree-check input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:3px;
  accent-color:var(--brand);
  flex-shrink:0;
}

.agree-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:26px;
}

.field label{
  display:block;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mut);
  margin-bottom:6px;
}

.field input{
  width:100%;
  border:1px solid var(--line);
  border-radius:3px;
  padding:11px 13px;
  font-size:15px;
  background:var(--white);
}

.field input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,111,181,.12);
}

/* ============================================================
   Screen 3: Platform
   ============================================================ */

.plat-header{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--white);
  border-bottom:1px solid var(--line);
}

.plat-header-inner{
  max-width:1360px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.plat-brand{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
}

.plat-brand .name{
  font-family:var(--serif);
  font-size:19px;
  font-weight:700;
  color:var(--navy);
}

.plat-brand .tag{
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand);
}

.plat-user{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:14px;
  color:var(--body);
}

.plat-user .who{
  font-weight:600;
  color:var(--ink);
}

.plat-user a{
  font-size:13px;
  font-weight:600;
}

.plat-main{
  max-width:1360px;
  margin:0 auto;
  padding:28px 24px 80px;
}

/* The objective banner */

.obj-banner{
  background:var(--sky-pale);
  border:1px solid #c8e0f2;
  border-left:5px solid var(--teal);
  border-radius:4px;
  padding:20px 26px;
  margin-bottom:22px;
}

.obj-banner .ob-label{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand-deep);
  margin-bottom:6px;
}

.obj-banner .ob-text{
  font-family:var(--serif);
  font-size:19px;
  font-weight:600;
  line-height:1.45;
  color:var(--navy);
}

.obj-banner .ob-text strong{
  color:var(--brand-deep);
}

/* Reference card: the 30 second script + cheat sheet button */

.ref-card{
  background:var(--white);
  border:1px solid var(--line);
  border-top:3px solid var(--teal);
  border-radius:4px;
  box-shadow:0 1px 3px rgba(22,28,45,.06);
  margin-bottom:26px;
}

.ref-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:15px 22px;
}

.ref-head-left{
  display:flex;
  align-items:center;
  gap:12px;
}

.ref-head h2{
  font-size:18px;
}

.ref-toggle{
  background:none;
  border:none;
  padding:4px 6px;
  font-size:13px;
  font-weight:700;
  color:var(--brand);
}

.ref-toggle:hover{
  color:var(--brand-deep);
  text-decoration:underline;
}

.ref-body{
  display:none;
  border-top:1px solid var(--line);
  padding:18px 22px 22px;
}

.ref-card.open .ref-body{
  display:block;
}

.ref-script{
  font-family:var(--serif);
  font-size:16.5px;
  line-height:1.7;
  color:var(--ink);
  max-width:940px;
  background:#fbfdff;
  border-left:3px solid var(--teal);
  border-radius:0 3px 3px 0;
  padding:14px 20px;
}

.ref-hint{
  font-size:13px;
  color:var(--mut);
  margin-top:10px;
}

/* Title + stats */

.plat-title{
  margin-bottom:20px;
}

.plat-title h1{
  font-size:28px;
  margin-bottom:6px;
}

.stats-bar{
  font-size:14.5px;
  color:var(--mut);
}

.stats-bar strong{
  color:var(--navy);
  font-weight:700;
}

/* Controls row */

.controls-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.controls-row .search-wrap{
  position:relative;
  flex:1 1 300px;
  max-width:460px;
}

.controls-row .search-wrap input{
  width:100%;
  border:1px solid var(--line);
  border-radius:4px;
  padding:11px 14px 11px 40px;
  font-size:14.5px;
  background:var(--white);
}

.controls-row .search-wrap input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,111,181,.12);
}

.controls-row .search-icon{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  width:17px;
  height:17px;
  color:var(--mut);
  pointer-events:none;
}

.controls-row select{
  font-family:var(--sans);
  border:1px solid var(--line);
  border-radius:4px;
  padding:11px 12px;
  font-size:14px;
  background:var(--white);
  color:var(--ink);
  cursor:pointer;
}

.controls-row select:focus{
  outline:none;
  border-color:var(--brand);
}

.btn-small{
  padding:11px 18px;
  font-size:13.5px;
}

/* The table */

.tbl-wrap{
  border:1px solid var(--line);
  border-radius:4px;
  overflow-x:auto;
  background:var(--white);
  box-shadow:0 1px 3px rgba(22,28,45,.06);
}

table.plans{
  width:100%;
  border-collapse:collapse;
  min-width:1080px;
  font-size:13.5px;
}

table.plans thead th{
  background:var(--navy);
  color:var(--white);
  text-align:left;
  font-weight:600;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:12px;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
}

table.plans thead th.no-sort{
  cursor:default;
}

table.plans thead th:hover:not(.no-sort){
  background:var(--navy-deep);
}

table.plans thead th .sort-ind{
  display:inline-block;
  margin-left:6px;
  font-size:11px;
  color:var(--teal);
  min-width:12px;
}

table.plans th.num,
table.plans td.num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

table.plans tbody tr.data-row{
  cursor:pointer;
  background:var(--white);
}

table.plans tbody tr.data-row.alt{
  background:var(--band);
}

table.plans tbody tr.data-row:hover{
  background:var(--sky-pale);
}

table.plans tbody tr.data-row.open{
  background:var(--sky-pale);
}

table.plans tbody td{
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  white-space:nowrap;
}

table.plans tbody td.cell-name{
  font-weight:600;
  white-space:normal;
  min-width:230px;
}

table.plans tbody td.pend{
  color:var(--mut);
  font-style:italic;
  font-size:12.5px;
}

.tbl-empty{
  padding:28px 20px;
  text-align:center;
  font-size:14.5px;
  color:var(--mut);
}

/* Score badges */

.rb{
  display:inline-block;
  min-width:38px;
  text-align:center;
  font-size:12.5px;
  font-weight:700;
  padding:3px 10px;
  border-radius:999px;
  font-variant-numeric:tabular-nums;
}

.rb-green{
  background:#e9f5ee;
  color:var(--green-deep);
  border:1px solid #bfe4cf;
}

.rb-blue{
  background:var(--sky-pale);
  color:var(--brand-deep);
  border:1px solid #c8e0f2;
}

.rb-gray{
  background:var(--band);
  color:var(--mut);
  border:1px solid var(--line);
}

/* Status pills */

.status-pill{
  display:inline-block;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:3px 11px;
  border-radius:999px;
  border:1px solid transparent;
  white-space:nowrap;
}

.st-none{
  background:var(--band);
  color:var(--mut);
  border-color:var(--line);
}

.st-called{
  background:var(--sky-pale);
  color:var(--brand-deep);
  border-color:#c8e0f2;
}

.st-vm{
  background:#faf3e3;
  color:var(--warn);
  border-color:#ecd9ad;
}

.st-reached{
  background:#e9f5ee;
  color:var(--green);
  border-color:#bfe4cf;
}

.st-meeting{
  background:var(--green-deep);
  color:var(--white);
  border-color:var(--green-deep);
}

/* Row expansion */

tr.exp-row > td{
  padding:0;
  background:var(--white);
  white-space:normal;
  cursor:default;
}

.exp-inner{
  border-left:4px solid var(--teal);
  background:var(--white);
  padding:22px 26px 24px;
  box-shadow:inset 0 2px 6px rgba(22,28,45,.04);
  /* The table is min-width:1080px inside a horizontal scroller, so an expanded cell
     inherits the table's full width (1692px measured) and its copy runs off the page.
     Pin the panel to the left edge of the scroller and size it to the scrollport's
     real width, published by JS as --scrollport. The vw fallback is close but not
     exact, because 100vw ignores the page gutters. */
  position:sticky;
  left:0;
  /* less the panel's own left inset (4px accent border + cell offset) so the right
     edge lands inside the scrollport rather than 11px past it */
  width:calc(var(--scrollport, calc(100vw - 50px)) - 28px);
  max-width:none;
  box-sizing:border-box;
  overflow-wrap:break-word;
  /* table cells set white-space:nowrap and it inherits into this panel, so the pitch
     copy renders as one long unwrapped line (measured 1717px inside a 666px box).
     Force normal wrapping for the panel and everything in it. */
  white-space:normal;
}

.exp-label{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand);
  margin-bottom:8px;
}

.pitch-list{
  list-style:none;
  margin-bottom:20px;
  max-width:920px;
}

/* Multi-plan sponsors are common (Teijin files three), so the plan is named under the
   sponsor. A broker on the phone must know which plan the numbers describe. */
.cell-name .plan-sub{
  display:block;
  font-size:11px;
  line-height:1.35;
  color:var(--mut);
  font-weight:400;
  max-width:30ch;
  white-space:normal;
}

.asof-note{
  background:var(--sky-pale);
  border-radius:6px;
  padding:10px 14px;
  font-size:13px;
  color:var(--body);
  margin-bottom:18px;
  max-width:920px;
}

.pitch-list li{
  position:relative;
  font-size:15px;
  line-height:1.6;
  color:var(--ink);
  padding:6px 0 6px 22px;
  white-space:normal;
  overflow-wrap:break-word;
}

/* Every text block inside an expanded plan wraps, regardless of the table's nowrap. */
.exp-inner .qn-sub,
.exp-inner .provider-note,
.exp-inner .asof-note,
.exp-inner .trk-lab{
  white-space:normal;
}

.pitch-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--teal);
}

/* The Numbers strip: value plus what it means */

.qnums{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:0;
  border:1px solid var(--line);
  border-radius:4px;
  background:#fbfcfe;
  margin-bottom:18px;
  max-width:920px;
}

.qnum{
  flex:1 1 200px;
  padding:14px 18px;
  border-right:1px solid var(--line);
}

.qnum:last-child{
  border-right:none;
}

.qnum .qn-val{
  font-family:var(--serif);
  font-size:18px;
  font-weight:700;
  color:var(--navy);
  font-variant-numeric:tabular-nums;
  margin-bottom:3px;
}

.qnum .qn-val.good{
  color:var(--green);
}

.qnum .qn-sub{
  font-size:12.5px;
  line-height:1.5;
  color:var(--mut);
}

/* Provider intel */

.provider-note{
  font-size:14.5px;
  line-height:1.6;
  color:var(--ink);
  background:var(--sky-pale);
  border:1px solid #c8e0f2;
  border-left:3px solid var(--brand);
  border-radius:4px;
  padding:12px 16px;
  margin-bottom:20px;
  max-width:920px;
}

.provider-note strong{
  color:var(--brand-deep);
}

/* Tracking inside expansion */

.trk{
  margin-bottom:18px;
  max-width:920px;
}

.trk-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.trk-btn{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:3px;
  padding:7px 15px;
  font-size:13px;
  font-weight:600;
  color:var(--body);
  transition:all .15s ease;
}

.trk-btn:hover{
  border-color:var(--brand);
  color:var(--brand-deep);
}

.trk-btn.on{
  background:var(--brand);
  border-color:var(--brand);
  color:var(--white);
}

.trk-lab{
  display:block;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--mut);
  margin-bottom:4px;
}

.trk-know{
  width:100%;
  border:1px solid var(--line);
  border-radius:4px;
  padding:9px 12px;
  font-size:14px;
  background:var(--white);
  margin-bottom:12px;
}

.trk-know:focus,
.trk-notes:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,111,181,.12);
}

.trk-notes{
  width:100%;
  border:1px solid var(--line);
  border-radius:4px;
  padding:10px 12px;
  font-size:14px;
  line-height:1.55;
  min-height:58px;
  resize:vertical;
  background:var(--white);
}

/* Full analysis (second level) */

.btn-full{
  background:none;
  border:none;
  padding:0;
  font-size:14px;
  font-weight:700;
  color:var(--brand);
}

.btn-full:hover{
  color:var(--brand-deep);
  text-decoration:underline;
}

.full-analysis{
  display:none;
  margin-top:18px;
  max-width:920px;
}

.full-analysis.open{
  display:block;
}

.fa-item{
  font-size:14.5px;
  line-height:1.6;
  color:var(--ink);
  padding:11px 14px;
  border-left:3px solid var(--teal);
  background:#fbfdff;
  border-radius:0 3px 3px 0;
  margin-bottom:10px;
}

.fa-item:last-child{
  margin-bottom:0;
}

.fa-item strong{
  color:var(--navy);
}

/* Pagination */

.pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  padding:18px 0 0;
}

.pg-btn{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:3px;
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  color:var(--body);
  transition:all .15s ease;
}

.pg-btn:hover:not(:disabled){
  border-color:var(--brand);
  color:var(--brand-deep);
}

.pg-info{
  font-size:13.5px;
  color:var(--mut);
  padding:0 8px;
}

.plat-footer{
  border-top:1px solid var(--line);
  background:var(--band);
  padding:22px 24px;
  text-align:center;
  font-size:12.5px;
  color:var(--mut);
}

/* Objection cheat sheet modal */

.modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(22,28,45,.45);
  z-index:100;
  padding:24px;
}

.modal-overlay.open{
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

.modal-card{
  background:var(--white);
  border-radius:6px;
  border-top:4px solid var(--teal);
  box-shadow:0 18px 60px rgba(22,28,45,.28);
  width:100%;
  max-width:740px;
  max-height:calc(100vh - 48px);
  display:flex;
  flex-direction:column;
  margin-top:24px;
}

.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px 26px;
  border-bottom:1px solid var(--line);
}

.modal-head h2{
  font-size:21px;
}

.modal-body{
  padding:20px 26px 26px;
  overflow-y:auto;
}

.modal-intro{
  font-size:13.5px;
  color:var(--mut);
  margin-bottom:16px;
}

.cheat-item{
  border:1px solid var(--line);
  border-left:3px solid var(--teal);
  border-radius:4px;
  background:#fbfdff;
  padding:13px 16px;
  margin-bottom:10px;
}

.cheat-item:last-child{
  margin-bottom:0;
}

.cheat-item .cq{
  font-weight:700;
  font-size:14.5px;
  color:var(--navy);
  margin-bottom:3px;
}

.cheat-item .ca{
  font-size:14px;
  line-height:1.6;
  color:var(--body);
}

/* Responsive */

@media (max-width:960px){
  .ref-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .controls-row .search-wrap{
    flex-basis:100%;
    max-width:none;
  }
  .obj-banner .ob-text{
    font-size:17px;
  }
}

@media (max-width:860px){
  .agree-card{
    padding:32px 24px;
  }
  .agree-fields{
    grid-template-columns:1fr;
  }
}

@media (max-width:560px){
  .gate-card{
    padding:32px 22px;
  }
  .controls-row select,
  .controls-row .btn-small{
    flex:1;
  }
  .exp-inner{
    padding:16px 14px 18px;
  }
  .qnums{
    flex-direction:column;
  }
  .qnum{
    border-right:none;
    border-bottom:1px solid var(--line);
  }
  .qnum:last-child{
    border-bottom:none;
  }
}


[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:3px} .gate-wrap{min-height:82vh;display:grid;place-items:center;padding:32px 20px}.gate-card{max-width:560px;width:100%;border:1px solid var(--line);border-top:4px solid var(--teal);padding:42px;background:white}.gate-card h1{font-size:34px;margin:14px 0}.gate-card p{margin:16px 0}.field{margin:16px 0}.field label{display:block;font-size:14px;margin-bottom:6px;font-weight:600}.field input,.field textarea,.field select{width:100%;padding:11px;border:1px solid var(--line);border-radius:3px;font:inherit;background:white}.account-line{font-size:14px;color:var(--mut)}.notice{padding:12px 16px;background:var(--sky-pale);border-left:3px solid var(--brand);margin:14px 0;font-size:14px}.tabs-row{display:flex;gap:8px;margin:20px 0 14px}.tabs-row button[aria-pressed=true]{background:var(--navy);color:white}.plan-open{border:0;background:none;color:var(--navy);text-align:left;font:inherit;font-weight:600;cursor:pointer;width:100%;padding:4px 0}.plan-sub{font-size:12px;color:var(--mut);font-weight:400;display:block;max-width:420px}.detail-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.detail-section{margin-bottom:22px}.detail-section h3{font-size:22px;margin-bottom:10px}.numbers-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:15px 0}.number-cell{padding:16px;border-right:1px solid var(--line)}.number-cell:last-child{border:0}.number-cell strong{display:block;font:600 25px var(--serif);color:var(--navy)}.number-cell span{font-size:12px;color:var(--mut)}.detail-note{font-size:13px;color:var(--mut);margin:10px 0}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:14px}.source-grid dt{color:var(--mut)}.source-grid dd{color:var(--ink)}.tracking-panel{background:white;border:1px solid var(--line);padding:22px}.tracking-panel textarea{resize:vertical;min-height:115px}.tracking-panel .field{margin:12px 0}.save-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.save-state{font-size:13px;color:var(--mut)}.selected-mark{color:var(--brand);font-size:12px;display:inline-block;margin-left:7px}.loading-row td,.empty-row td{text-align:center;padding:50px!important}.status-pill{background:var(--sky-pale);color:var(--navy);padding:5px 9px;white-space:nowrap;border-radius:3px;font-size:12px}.stats-bar{font-size:14px}.controls-row select{font-size:14px}.ref-body[hidden]{display:none}.plat-title{margin-top:24px}dialog{border:0;border-radius:5px;margin:auto;padding:28px;max-width:720px;width:calc(100% - 40px);max-height:85vh;color:var(--body)}dialog::backdrop{background:#12163f88}dialog h2{font-size:26px}dialog .modal-head{padding:0 0 16px;margin-bottom:16px}#page-message:empty{display:none}.plan-open:hover{text-decoration:underline}.exp-inner{background:#f5f8fc}.plat-user{gap:16px}#btn-signout{font-size:14px}.search-wrap input{font-size:16px}.summary-copy p{margin:0 0 12px}.check-label{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600}.check-label input{width:18px;height:18px}.dangerless{color:var(--navy);font-weight:600}.scope-line{font-size:13px;color:var(--mut)}
@media(max-width:800px){.detail-layout{grid-template-columns:1fr}.plat-main{padding:22px 16px}.plat-header-inner{flex-wrap:wrap;gap:12px}.numbers-grid{grid-template-columns:1fr}.number-cell{border-right:0;border-bottom:1px solid var(--line)}.tbl-wrap{overflow-x:auto}.plans{min-width:850px}.gate-card{padding:26px}.obj-banner .ob-text{font-size:16px}}

@media(max-width:800px){.exp-inner{max-width:calc(100vw - 32px)}}

.learning-main{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:250px 1fr;gap:60px;padding:52px 32px}.learning-main aside{border-right:1px solid var(--line);padding-right:25px}.learning-main ol{list-style:none;padding:0}#lesson-nav li{display:flex;gap:12px;align-items:center;padding:16px 0;color:var(--mut);font-size:14px}#lesson-nav li[aria-current]{color:var(--navy);font-weight:600}#lesson-nav span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}#lesson-nav [aria-current] span{background:var(--navy);color:white}.lesson-content h1{font-size:38px;max-width:700px;margin-bottom:24px}.lesson-content p{margin:14px 0}.lesson-lead{font-size:21px;line-height:1.5;color:var(--ink);max-width:720px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.lesson-grid article{border-top:3px solid var(--teal);padding:18px 0}.lesson-grid article span{font-size:13px;color:var(--brand)}.lesson-grid h3{font-size:23px;margin:10px 0}.lesson-grid p{font-size:15px}.lesson-callout{border-left:3px solid var(--teal);background:var(--sky-pale);padding:20px 24px;margin:26px 0}.lesson-callout strong{color:var(--navy)}.lesson-callout p{margin:8px 0 0}.lesson-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.lesson-source{font-size:13px;color:var(--mut)}.lesson-sequence li{padding:16px 0;border-bottom:1px solid var(--line)}.lesson-sequence strong{color:var(--navy)}.pain-list article{padding:15px 0;border-bottom:1px solid var(--line)}.pain-list h3{font-size:23px}.download-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.market-setup{display:grid;grid-template-columns:1fr 1fr;gap:20px}.market-heading{margin:24px 0 16px}.market-heading h2{font-size:24px}.market-heading p{font-size:14px;margin-top:5px;color:var(--mut)}#city-input{padding:10px 14px;border:1px solid var(--line);border-radius:3px;font-size:14px;max-width:230px}.source-flag{background:#fff7e6;border-left:3px solid #a8720d;padding:12px 16px;font-size:14px;margin-bottom:16px}.plan-rank{font-size:12px;color:var(--mut);display:block}.angle-label{font-size:12px;color:var(--brand);font-weight:600;display:block}.learn-again{margin:12px 0}.plat-user button{padding:6px 10px}.lesson-content details{margin:20px 0}.lesson-content summary{cursor:pointer;color:var(--navy);font-weight:600}
@media(max-width:800px){.learning-main{grid-template-columns:1fr;gap:25px;padding:24px 20px}.learning-main aside{border:0;padding:0}#lesson-nav{display:flex;gap:6px;flex-wrap:wrap}#lesson-nav li{font-size:12px;padding:5px}.lesson-grid{grid-template-columns:1fr;gap:8px}.lesson-content h1{font-size:31px}.market-setup{grid-template-columns:1fr}.lesson-lead{font-size:18px}#city-input{max-width:none;flex:1}}

.plan-sub{white-space:normal;line-height:1.45}.plans .plan-row td:nth-child(3){min-width:280px;max-width:380px;white-space:normal}.plan-open{overflow-wrap:anywhere}.conversation-guidance{margin:28px 0}.conversation-guidance>summary{cursor:pointer;color:var(--navy);font-weight:600;padding:15px 0}

.research-person{padding:16px 0;border-top:1px solid var(--line)}.research-person h4{font-size:17px;color:var(--navy);margin:0 0 8px}.research-person p{margin:8px 0}.research-person a{overflow-wrap:anywhere}

/* Shared website typography and the Your Plan console. */
.quantum-console{background:#0d1b2a;color:#f3f7fb;border-radius:8px;padding:34px 40px 26px;margin:4px 0 22px;border:1px solid #294157;box-shadow:0 12px 36px #0d1b2a12}
.console-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.quantum-console .eyebrow{color:#72d4ed}.console-status{font-size:12px;color:#b9cbdc}.quantum-console h1{font:400 42px/1.15 var(--serif);color:white;margin:22px 0 8px;letter-spacing:-.025em}.console-lead{color:#bbccdb;font-size:17px;margin-bottom:28px}.console-question{font:400 24px/1.45 var(--serif);max-width:780px;color:#fff}.console-support{color:#b6c8d8;max-width:750px;font-size:14px;line-height:1.7;margin-top:8px}.console-actions{display:flex;gap:14px;align-items:center;margin-top:23px;flex-wrap:wrap}.quantum-console .btn{background:#c6edf7;color:#0d1b2a;border:1px solid #c6edf7}.console-secondary{font:600 14px var(--sans);background:#13293d;color:#e3edf5;border:1px solid #375167;padding:11px 16px;border-radius:4px;cursor:pointer}.console-footnote{color:#99b3c8;font-size:12px;margin-top:22px}.schedule-strip{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:24px 28px;border:1px solid var(--line);background:white;border-radius:6px;margin-bottom:24px;align-items:center}.schedule-strip h2{font-size:27px;margin:3px 0 8px}.schedule-strip p:not(.eyebrow){font-size:14px;max-width:640px}.schedule-status{grid-column:1/-1;color:var(--mut);font-size:12px!important;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}.getting-started{background:#eaf3f8;border:1px solid #d7e6ee;border-radius:5px;padding:18px 24px;margin:20px 0 34px}.getting-started>summary{cursor:pointer;color:var(--navy);font-weight:600}.getting-started>summary span{font-weight:400;color:var(--mut);margin-left:16px;font-size:13px}.quick-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:20px}.quick-steps h3{font-size:21px;margin:5px 0}.quick-steps article>span{font-size:12px;color:var(--brand)}.quick-steps p{font-size:14px;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-heading h2{font-size:32px}.section-heading .eyebrow{margin-bottom:8px}.market-help{font-size:14px;color:var(--mut);margin:16px 0}.tracking-panel{border-radius:5px}.relationship-panel{margin-bottom:20px}.relationship-panel h3{margin:0}.relationship-state{font-size:13px;color:var(--mut);margin:15px 0}.relationship-item{border-top:1px solid var(--line);padding:16px 0}.relationship-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.relationship-item h4{font-size:16px;color:var(--ink);overflow-wrap:anywhere}.relationship-item p{font-size:13px;margin:7px 0;overflow-wrap:anywhere}.relationship-description{white-space:pre-wrap}.record-label{font-size:10px;white-space:nowrap;color:var(--brand);text-transform:uppercase;letter-spacing:.04em}.relationship-actions{display:flex;gap:8px}.relationship-actions button{font-size:12px;padding:6px 10px}.relationship-timeline{border-left:2px solid var(--line);padding-left:14px;font-size:12px;margin-top:16px}.relationship-timeline>div{padding:8px 0}.relationship-dialog{max-width:720px}.relationship-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.optional{font-size:12px;color:var(--mut);font-weight:400}.company-matches{display:grid;gap:5px}.company-match{padding:10px;text-align:left;background:var(--band);color:var(--ink);border:1px solid var(--line);font:inherit;font-size:13px;cursor:pointer}.company-match:hover{background:#e5f3fa}.previous-relationship{padding:12px 0;font-size:13px}.previous-relationship p{padding:7px 0;white-space:pre-wrap}.relationship-more{margin-top:12px}.summary-copy .eyebrow{font-size:11px;margin-bottom:4px}.tracking-panel h3{font-size:22px}.console-actions span{margin-left:12px}.plat-main{max-width:1380px}.tabs-row{flex-wrap:wrap}
@media(max-width:800px){.quantum-console{padding:25px 23px}.quantum-console h1{font-size:34px}.console-top{flex-wrap:wrap;gap:8px}.console-question{font-size:22px}.schedule-strip{grid-template-columns:1fr;padding:22px}.schedule-strip>a{justify-self:start}.quick-steps{grid-template-columns:1fr;gap:18px}.getting-started>summary span{display:block;margin:6px 0 0 17px}.section-heading{flex-wrap:wrap}.section-heading h2{font-size:28px}.relationship-fields{grid-template-columns:1fr;gap:0}.plat-user{flex-wrap:wrap}.relationship-heading{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.changes-dialog{max-width:480px}.changes-dialog p{margin:18px 0 25px;font-size:15px;line-height:1.7}

.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.quantum-toolbar{display:flex;gap:10px;justify-content:flex-end;margin:24px 0 12px}.quantum-toolbar select{max-width:320px;width:auto;background:#13293d;color:#d5e5ef;border:1px solid #365166;border-radius:7px;padding:9px 32px 9px 12px;font:inherit;font-size:12px}.quantum-toolbar button{font-size:12px;padding:9px 12px}.quantum-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#18354a;border:1px solid #385369;border-radius:7px;font-size:12px;color:#c3d9e8;margin-bottom:12px}.quantum-messages{max-height:520px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-color:#426178 #13293d}.quantum-messages:empty{display:none}.quantum-question{background:#1d3c53;border:1px solid #31566d;padding:15px 19px;border-radius:12px 12px 2px 12px;max-width:85%;margin:15px 0 20px auto;font-size:14px;color:#f2f7fa;white-space:pre-wrap}.quantum-answer{font-size:14px;line-height:1.75;padding:0 0 24px;margin-bottom:18px;border-bottom:1px solid #294355}.message-author{display:block;color:#73d6ed;font-size:11px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:9px}.answer-copy{white-space:pre-wrap;color:#dfebf2}.quantum-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.quantum-card{padding:18px;background:#13293d;border:1px solid #345167;border-radius:8px;overflow-wrap:anywhere}.quantum-card h3{font-size:21px;color:white;margin:5px 0 8px}.quantum-card p{margin:6px 0;font-size:13px;color:#c4d7e4}.quantum-card>span{font-size:12px;color:#9ebccd}.quantum-card .card-kicker{font-size:10px;color:#72d4ed;text-transform:uppercase;letter-spacing:.08em}.quantum-card>button,.quantum-card .relationship-actions{margin-top:14px}.quantum-evidence{font-size:12px;margin-top:14px;color:#a9c4d6}.quantum-evidence summary{cursor:pointer}.quantum-source{padding:12px;border:1px solid #315066;margin:9px 0;border-radius:6px}.quantum-source p{white-space:pre-wrap;font-size:12px;margin:12px 0;color:#dae7ef}.quantum-source span{font-size:10px}.quantum-console #quantum-form{margin-top:18px;background:#13293d;border:1px solid #49667b;border-radius:10px;overflow:hidden;transition:border-color .16s}.quantum-console #quantum-form:focus-within{border-color:#79cee1;box-shadow:0 0 0 3px #3bc4e814}.quantum-console textarea{background:transparent;color:#f1f7fb;border:0;border-radius:0;width:100%;resize:vertical;min-height:88px;max-height:240px;padding:17px 19px;font:400 15px/1.6 var(--sans);outline:none;box-shadow:none}.quantum-console textarea::placeholder{color:#91aabd}.quantum-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px 12px}.quantum-composer-footer>span{font-size:11px;color:#9bb6ca}.quantum-composer-footer button{font-size:13px;padding:9px 18px;border-radius:7px}.quantum-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.quantum-suggestions button{background:transparent;border:1px solid #375165;border-radius:20px;color:#bdcfde;font:400 12px var(--sans);padding:8px 13px;cursor:pointer}.quantum-suggestions button:hover{background:#1b364c;color:white}.quantum-state{font-size:12px;color:#b9d9e8;margin-top:12px}.quantum-state:empty{display:none}.console-lead{margin-bottom:18px}.console-question{font-size:21px}.console-support{font-size:13px}.console-footnote{font-size:11px;margin-top:14px}.field input,.field textarea,.field select,.controls-row select,#city-input,.search-wrap input{border-radius:7px;border-color:#d6e0e9;background:#fbfcfe;box-shadow:0 1px 2px #122b4410;transition:border-color .15s,box-shadow .15s}.field input:hover,.field textarea:hover,.field select:hover,.controls-row select:hover,#city-input:hover{border-color:#9db5c9}.field input:focus,.field textarea:focus,.field select:focus,#city-input:focus{border-color:#4e95bc;box-shadow:0 0 0 3px #1a6fb510}.field label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#5a7186}.field select,.controls-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23446580' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.tracking-panel{padding:24px;border:1px solid #dae4ec;box-shadow:0 4px 18px #182a3b06}.tracking-panel .btn,.btn-ghost{border-radius:6px}.status-pill{border-radius:16px;font-size:10px;letter-spacing:.03em;padding:6px 10px}.tabs-row button{border-radius:6px}.tbl-wrap{border-radius:7px}.plan-open{padding:8px 0}.tracking-panel input[type=checkbox]{accent-color:#1a6fb5}.tracking-panel .field{margin:17px 0}
@media(max-width:600px){.quantum-cards{grid-template-columns:1fr}.quantum-toolbar{justify-content:flex-start;flex-wrap:wrap}.quantum-toolbar select{max-width:100%;flex:1}.quantum-context{align-items:flex-start}.quantum-composer-footer>span{max-width:145px;font-size:10px}.quantum-console{padding:23px 20px}.quantum-question{max-width:95%}.quantum-suggestions{gap:6px}.quantum-suggestions button{font-size:11px}.console-question{font-size:20px}.quantum-console h1{margin-top:17px}.console-status{font-size:11px}}

.quantum-state.is-working::before{content:"";display:inline-block;width:6px;height:6px;background:#72d4ed;border-radius:50%;margin-right:9px;box-shadow:10px 0 0 #72d4ed66;animation:quantum-pulse 1.4s ease-in-out infinite}.quantum-state.is-working{padding-left:0}.question-review{padding:13px 0;border-top:1px solid var(--line)}.question-review summary{cursor:pointer;overflow-wrap:anywhere;font-size:14px;color:var(--navy)}.question-answer{white-space:pre-wrap;font-size:14px;line-height:1.7;margin:14px 0}@keyframes quantum-pulse{50%{opacity:.45}}

.source-reference{display:inline;background:none;border:0;padding:0 2px;color:#83d4e9;font:inherit;font-size:11px;cursor:pointer;vertical-align:super}.source-reference:hover{text-decoration:underline}.source-reference:focus-visible{outline:2px solid #83d4e9;outline-offset:2px}.quantum-source a{color:#83d4e9;font-size:12px;margin-right:8px}.quantum-source>span{display:block;margin-top:8px}

/* Broker workspace refinement: conversation, selection and concise visual learning. */
.quantum-shell{display:grid;grid-template-columns:206px minmax(0,1fr);border:1px solid #ffffff20;border-radius:14px;overflow:hidden;margin-top:28px;background:#0d1b2a;}
.quantum-sidebar{padding:20px 14px;background:#13293d;border-right:1px solid #ffffff18;min-width:0;}
.quantum-new{width:100%;text-align:left;border-radius:8px!important;padding:11px 13px!important;font-size:13px;}
.sidebar-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#9cbbd8;margin:27px 9px 10px;}
#quantum-history{display:flex;flex-direction:column;gap:5px;max-height:485px;overflow-y:auto;}
#quantum-history button{background:none;border:1px solid transparent;border-radius:7px;padding:10px;text-align:left;font:12px/1.5 var(--sans,Inter,sans-serif);color:#c1d3e6;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;}
#quantum-history button:hover,#quantum-history button[aria-current=true]{background:#ffffff0c;border-color:#ffffff12;color:#fff;}
.sidebar-empty{color:#8fa7c0;font-size:12px;line-height:1.7;padding:0 10px;}
.quantum-main{padding:24px;min-width:0;}
.quantum-messages{min-height:150px;max-height:490px;margin:0 0 18px!important;scrollbar-color:#385875 transparent;scroll-padding:16px;}
.quantum-welcome{font-size:14px;line-height:1.8;color:#b8cce0;max-width:640px;padding:6px 0 16px;}
.quantum-welcome p+p{margin-top:8px;}
.quantum-state{padding:16px 18px!important;margin:10px 0!important;border-radius:10px;background:#13293d;border:1px solid #345167;font-size:13px!important;line-height:1.7;min-height:0!important;color:#bad9f0!important;}
.quantum-state[hidden]{display:none!important;}
.quantum-state.is-working{display:flex;align-items:center;gap:10px;}
.quantum-main #quantum-form{border-radius:12px;background:#13293d;border:1px solid #49667b;overflow:hidden;}
.quantum-main #quantum-input{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;min-height:88px!important;resize:vertical;}
.quantum-main #quantum-form:focus-within{border-color:#80bce5;box-shadow:0 0 0 3px #5eb3e410;}
.quantum-main .quantum-composer-footer{padding:0 14px 13px;}
.quantum-main .quantum-suggestions{margin-bottom:0;gap:6px;}
.quantum-main .quantum-suggestions button{font-size:11px;padding:8px 10px;border-radius:20px;}
.quantum-context{margin-top:0!important;margin-bottom:16px!important;}
.quantum-console .console-question{margin-bottom:6px;}
.quantum-console .console-support{max-width:800px;}
.selection-cell{width:58px!important;text-align:center!important;padding-left:14px!important;padding-right:10px!important;}
.plan-select{display:inline-grid;place-items:center;width:29px;height:29px;border:1px solid #c4d1df;border-radius:8px;background:#fff;color:#2b3990;font:19px/1 Inter,sans-serif;cursor:pointer;transition:background .15s;}
.plan-select:hover{background:#edf4fa;border-color:#7089b6;}
.plan-select.is-selected{background:#e6f0fa;border-color:#aac4df;color:#244782;font-size:15px;}
.plan-select:focus-visible,#quantum-history button:focus-visible{outline:2px solid #5eb3e4;outline-offset:3px;}
.tracking-panel .save-row{min-height:35px;gap:12px;flex-wrap:wrap;}
.tracking-panel .save-state{font-size:12px;}
.learning-main{max-width:1200px!important;}
.lesson-content{max-width:none!important;}
.lesson-content .lesson-lead{font-size:18px;line-height:1.65;max-width:740px;}
#lesson-nav li{padding:0!important;background:none!important;}
#lesson-nav button{width:100%;border:0;background:transparent;text-align:left;display:flex;gap:12px;align-items:center;padding:13px 12px;border-radius:9px;color:#6b7d91;font:13px/1.5 Inter,sans-serif;cursor:pointer;}
#lesson-nav button[aria-current=step]{color:#1e3a75;background:#e9f1f9;}
.guide-feature{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:center;background:linear-gradient(140deg,#0b2546,#173961);border-radius:14px;padding:30px;margin:26px 0;color:#dfebf8;}
.guide-graphic{width:100%;height:auto;max-height:105px;color:#6db8e8;}
.guide-bullets{padding-left:18px!important;margin:0!important;font-size:14px;line-height:1.75;}
.guide-bullets li+li{margin-top:12px;}
.guide-feature strong{color:#fff;}
.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0;}
.visual-card{border:1px solid #d6e1ed;border-radius:12px;background:#f1f6fb;overflow:hidden;align-self:start;}
.visual-card summary{display:block!important;padding:20px;cursor:pointer;list-style:none;}
.visual-card summary::-webkit-details-marker{display:none;}
.visual-card .guide-graphic{color:#355c94;margin-bottom:15px;}
.visual-card h3{font-size:19px;line-height:1.3;margin:0 0 9px;color:#193762;}
.visual-card summary p{font-size:13px;line-height:1.7;margin:0;color:#52677f;}
.guide-expand{display:flex;justify-content:space-between;margin-top:20px;font-size:11px;letter-spacing:.02em;color:#284f81;}
.visual-card[open]{background:#eaf2fa;}
.visual-card[open] .guide-expand>span{transform:rotate(45deg);}
.visual-detail{padding:18px 20px!important;margin:0!important;border-top:1px solid #d6e1ed;font-size:13px!important;line-height:1.8!important;color:#334e70;}
.pain-visuals{grid-template-columns:repeat(2,minmax(0,1fr));}
.pain-visuals .guide-graphic{max-width:200px;}
.lesson-callout{border-radius:10px;background:#edf3fa!important;border-left:3px solid #5eb3e4!important;}
.lesson-callout p{font-size:14px;line-height:1.7;}
.lesson-source{font-size:11px!important;line-height:1.7;color:#64758b;}
.schedule-strip .booking-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.booking-link-label{font-size:12px;color:#526c85;overflow-wrap:anywhere;}
.meeting-list{display:grid;gap:8px;margin-top:14px;grid-column:1/-1;}
.meeting-item{display:flex;justify-content:space-between;gap:20px;font-size:13px;border-top:1px solid #dce6ef;padding:12px 0;}
.meeting-item span{color:#60758e;}
.meeting-status{font-size:12px;grid-column:1/-1;color:#62788f;}
@media(max-width:800px){.quantum-shell{grid-template-columns:155px minmax(0,1fr)}.quantum-sidebar{padding:16px 8px}.quantum-main{padding:18px}.visual-grid{grid-template-columns:1fr}.pain-visuals{grid-template-columns:1fr 1fr}.guide-feature{grid-template-columns:1fr;padding:24px}.guide-feature>.guide-graphic{max-width:260px}.meeting-item{flex-direction:column;gap:5px;}}
@media(max-width:560px){.quantum-shell{grid-template-columns:minmax(0,1fr)}.quantum-sidebar{border-right:0;border-bottom:1px solid #ffffff18}.quantum-new{width:auto}.sidebar-label{margin:14px 7px 7px}#quantum-history{flex-direction:row;max-height:none;overflow-x:auto}#quantum-history button{max-width:180px;flex-shrink:0}.quantum-main{padding:16px}.pain-visuals{grid-template-columns:1fr}.quantum-suggestions{flex-wrap:wrap}.quantum-composer-footer>span{max-width:150px}.guide-feature{gap:18px}.meeting-item{padding:10px 0}}
@media(prefers-reduced-motion:reduce){.quantum-state::before{animation:none!important}.plan-select{transition:none;}}
@media print{.plat-header,.lesson-actions{display:none}.guide-feature{background:#eff4fa!important;color:#173961}.guide-feature strong{color:#173961}.visual-detail{display:block}.visual-card{break-inside:avoid}.print-guide section{break-inside:avoid;margin-bottom:34px}.print-guide{max-width:1000px;margin:30px auto;padding:30px;}}

.lesson-content details.visual-card{margin:0}.visual-card summary p{font-weight:400}#learning{background:#f7f9fc;min-height:100vh}

table.plans th[data-key="score"],table.plans .plan-row td:nth-child(2){width:116px;min-width:116px;max-width:116px;}

.answer-actions{display:flex;align-items:center;gap:12px;margin-top:16px;color:#9bb6ca;font-size:11px}.answer-actions .console-secondary{padding:6px 10px;font-size:11px;}

/* Saved conversations use descriptive titles and a separate rename control. */
#quantum-history .conversation-row{display:flex;align-items:center;min-width:0;flex-shrink:0;gap:2px;}
#quantum-history .conversation-row>button[data-id]{flex:1;min-width:0;}
#quantum-history .conversation-rename{flex:0 0 28px;padding:8px 3px;text-align:center;color:#a9c0d8;}
.changes-dialog .field{margin:20px 0 8px;}
@media(max-width:560px){#quantum-history .conversation-row{width:200px;}#quantum-history .conversation-row>button[data-id]{max-width:168px;}}

.directory-scope{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.directory-scope p{font-size:13px;color:var(--mut)}.directory-scope button{padding:6px 10px;font-size:13px}

/* The three facts card, 24 September direction. */
.plan-facts{list-style:none;padding:0;margin:14px 0 8px;border:1px solid var(--line);background:white}.plan-fact{padding:16px 18px;border-bottom:1px solid var(--line)}.plan-fact:last-child{border-bottom:0}.fact-name{display:block;font-size:12px;color:var(--brand);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.fact-value{display:block;font:600 22px var(--serif);color:var(--navy)}.fact-definition{margin:6px 0 0;font-size:15px;color:var(--ink)}.fact-definition.is-strong{color:var(--navy);font-weight:600}.plan-score{font-size:15px;color:var(--navy);font-weight:600;margin:12px 0}.plan-pitch p{font-size:16px;line-height:1.55}.plan-pitch .fact-name{margin-top:18px}.plan-caveat{font-size:15px;color:var(--navy);border-left:3px solid var(--teal);background:var(--sky-pale);padding:12px 16px;margin-top:14px}
@media(max-width:800px){.fact-value{font-size:20px}}
