/* ============================================================
   THE SECOND INNINGS LAUNCH ROOM  ·  /room and /room/thank-you
   ------------------------------------------------------------
   Every rule is scoped under .roomp so nothing here can reach
   the sitewide header or footer. site.css already supplies the
   reset, html, body, a and the --navy / --amber tokens, so this
   file only adds what the room itself needs.
   ============================================================ */

.roomp{
  --navy-80:rgba(18,21,61,.80);
  --navy-60:rgba(18,21,61,.60);
  --navy-12:rgba(18,21,61,.12);
  --navy-06:rgba(18,21,61,.06);
  --amber-soft:rgba(255,183,0,.14);
  --white:#ffffff;
  --rdisplay:"Fraunces",Georgia,serif;
  --rbody:"Inter",system-ui,-apple-system,sans-serif;
  --rmax:1120px;
  --rpad:clamp(20px,5vw,40px);
  font-family:var(--rbody);
  font-size:17px;
  line-height:1.65;
  color:#12153d;
}
.roomp img{max-width:100%;height:auto;display:block}
.roomp .wrap{max-width:var(--rmax);margin:0 auto;padding-left:var(--rpad);padding-right:var(--rpad)}
.roomp section{padding:clamp(56px,8vw,96px) 0;border-top:1px solid var(--navy-12)}
.roomp .eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--navy-60);margin-bottom:18px}
.roomp h1,.roomp h2,.roomp h3{font-family:var(--rdisplay);font-weight:600;line-height:1.15;letter-spacing:-.01em}
.roomp h1{font-size:clamp(34px,5.6vw,58px)}
.roomp h2{font-size:clamp(27px,3.8vw,40px);margin-bottom:22px}
.roomp h3{font-size:clamp(19px,2.2vw,23px);margin-bottom:10px}
.roomp h1 em,.roomp h2 em{font-style:italic;color:var(--navy-60)}
.roomp p{margin-bottom:16px;max-width:66ch}
.roomp .lead{font-size:clamp(18px,2.1vw,21px);color:var(--navy-80)}
.roomp .small{font-size:14px;color:var(--navy-60)}

/* buttons */
.roomp .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--rbody);font-weight:600;font-size:16px;padding:15px 26px;border-radius:2px;text-decoration:none;border:1.5px solid #12153d;cursor:pointer;transition:transform .15s ease,background .15s ease}
.roomp .btn-primary{background:#12153d;color:var(--white)}
.roomp .btn-primary:hover{background:#1b1f52;transform:translateY(-1px)}
.roomp .btn-ghost{background:transparent;color:#12153d}
.roomp .btn-ghost:hover{background:var(--navy-06)}
.roomp .btn-sm{padding:11px 18px;font-size:14px}
.roomp .btn:focus-visible{outline:3px solid var(--amber);outline-offset:3px}

/* hero */
.roomp .hero{border-top:none;padding-top:clamp(44px,6vw,76px)}
.roomp .hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(28px,5vw,64px);align-items:start}
.roomp .slot{display:inline-flex;align-items:center;gap:10px;background:var(--amber-soft);border-left:3px solid var(--amber);padding:9px 16px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:26px}
.roomp .hero h1{margin-bottom:22px}
.roomp .dual{border-left:2px solid var(--navy-12);padding-left:16px;font-size:15px;color:var(--navy-60);max-width:56ch;margin:22px 0 30px}
.roomp .cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.roomp .trust{font-size:14px;color:var(--navy-60);margin-top:16px;max-width:56ch}
.roomp .portrait{border:1px solid var(--navy-12);width:100%;max-width:340px;aspect-ratio:1/1;object-fit:cover}
.roomp .portrait-cap{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--navy-60);margin-top:12px}
.roomp .logos{margin-top:22px;font-size:13px;color:var(--navy-60);line-height:2}
.roomp .logos strong{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-60);margin-bottom:6px;font-weight:600}

/* problem */
.roomp .stack p+p{margin-top:2px}
.roomp .turn{border-left:3px solid var(--amber);padding-left:22px;margin:30px 0}

/* stakes */
.roomp .stakes{background:#12153d;color:var(--white)}
.roomp .stakes h2{color:var(--white)}
.roomp .stakes p{color:rgba(255,255,255,.82)}
.roomp .stakes .eyebrow{color:rgba(255,255,255,.55)}
.roomp .stakes .kicker{font-family:var(--rdisplay);font-size:clamp(21px,2.8vw,28px);line-height:1.35;color:var(--white);border-left:3px solid var(--amber);padding-left:22px;margin:30px 0}
.roomp .stakes .small{color:rgba(255,255,255,.55)}

/* path selector: the signature block */
.roomp .path-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:34px 0 12px}
.roomp .step{border-top:3px solid var(--navy-12);padding-top:14px;transition:border-color .3s ease,opacity .3s ease}
.roomp .step .n{font-family:var(--rdisplay);font-size:13px;font-weight:700;color:var(--navy-60);letter-spacing:.1em}
.roomp .step .nm{font-size:15px;font-weight:600;margin-top:3px;line-height:1.3}
.roomp .step.on{border-top-color:var(--amber)}
.roomp .step.dim{opacity:.38}
.roomp .picker-q{font-family:var(--rdisplay);font-size:clamp(18px,2.2vw,22px);margin:34px 0 16px}
.roomp .opts{display:grid;gap:10px;max-width:760px}
.roomp .opt{text-align:left;background:var(--white);border:1.5px solid var(--navy-12);border-radius:2px;padding:16px 18px;font-family:var(--rbody);font-size:16px;line-height:1.45;color:#12153d;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.roomp .opt:hover{border-color:#12153d}
.roomp .opt[aria-pressed="true"]{border-color:#12153d;background:#12153d;color:var(--white)}
.roomp .opt:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.roomp .diag{margin-top:22px;border-left:3px solid var(--amber);background:var(--navy-06);padding:22px 24px;max-width:760px}
.roomp .diag[hidden]{display:none}
.roomp .diag .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--navy-60);margin-bottom:10px}
.roomp .diag p{margin-bottom:18px}

/* plan */
.roomp .plan{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
.roomp .plan .item{border-top:3px solid #12153d;padding-top:16px}
.roomp .plan .item .n{font-family:var(--rdisplay);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-60);font-weight:700;margin-bottom:8px}

/* generic cards */
.roomp .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:32px}
.roomp .card{border:1px solid var(--navy-12);padding:26px}
.roomp .card h3{font-size:19px}
.roomp .card p{font-size:15.5px;color:var(--navy-80);margin-bottom:0}

/* fit */
.roomp .fit{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}
.roomp .fit ul{list-style:none}
.roomp .fit li{padding-left:26px;position:relative;margin-bottom:12px;font-size:16px;color:var(--navy-80)}
.roomp .fit li::before{position:absolute;left:0;top:0;font-weight:700}
.roomp .fit .yes li::before{content:"\2713";color:var(--amber)}
.roomp .fit .no li::before{content:"\00d7";color:var(--navy-60)}

/* proof */
.roomp .quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:30px}
.roomp .q{border:1px solid var(--navy-12);padding:24px}
.roomp .q p{font-size:15.5px;color:var(--navy-80)}
.roomp .q .who{display:flex;align-items:center;gap:12px;margin-top:18px}
.roomp .q .who img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.roomp .q .who b{display:block;font-size:14.5px}
.roomp .q .who span{font-size:13px;color:var(--navy-60)}

/* form */
.roomp .formwrap{background:#12153d;color:var(--white)}
.roomp .formwrap h2{color:var(--white)}
.roomp .formwrap p{color:rgba(255,255,255,.82)}
.roomp .formwrap .eyebrow{color:rgba(255,255,255,.55)}
.roomp .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;margin-top:28px}
.roomp form{background:var(--white);color:#12153d;padding:clamp(22px,3vw,32px);border-top:4px solid var(--amber)}
.roomp .field{margin-bottom:18px}
.roomp label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}
.roomp .hint{font-size:13px;color:var(--navy-60);font-weight:400;margin-top:-3px;margin-bottom:7px}
.roomp input[type=text],.roomp input[type=email],.roomp input[type=tel],.roomp select{width:100%;font-family:var(--rbody);font-size:16px;padding:13px 14px;border:1.5px solid var(--navy-12);border-radius:2px;background:var(--white);color:#12153d}
.roomp input:focus,.roomp select:focus{outline:none;border-color:#12153d}
.roomp form .btn{width:100%;margin-top:6px}
.roomp .formnote{font-size:13px;color:var(--navy-60);margin-top:14px;margin-bottom:0}
.roomp .consent{font-size:12.5px;color:var(--navy-60);margin-top:12px;margin-bottom:0;line-height:1.5}
.roomp .consent a{color:#12153d;text-decoration:underline}
.roomp .err{color:#9b1c1c;font-size:14px;margin-top:12px}
.roomp .err[hidden]{display:none}

/* faq */
.roomp details{border-bottom:1px solid var(--navy-12);padding:18px 0}
.roomp summary{cursor:pointer;font-family:var(--rdisplay);font-size:18px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.roomp summary::-webkit-details-marker{display:none}
.roomp summary::after{content:"+";color:var(--amber);font-size:22px;line-height:1}
.roomp details[open] summary::after{content:"\2013"}
.roomp details p{margin-top:12px;margin-bottom:0;font-size:16px;color:var(--navy-80)}

/* close */
.roomp .close{background:#12153d;color:var(--white);text-align:left}
.roomp .close h2{color:var(--white)}
.roomp .close p{color:rgba(255,255,255,.82)}
.roomp .close .btn-primary{background:var(--amber);color:#12153d;border-color:var(--amber)}
.roomp .close .btn-primary:hover{background:#ffc633}

/* ---------- thank-you page ---------- */
.roomp.ty .wrap{max-width:760px}
.roomp .ty-hero{padding:clamp(44px,7vw,76px) 0 10px;border-top:none}
.roomp .stamp{display:inline-flex;gap:10px;align-items:center;background:var(--amber-soft);border-left:3px solid var(--amber);padding:14px 18px;font-weight:600;font-size:15px;margin-bottom:26px}
.roomp .steps{padding:20px 0 clamp(50px,7vw,80px);border-top:none}
.roomp .row{display:flex;gap:20px;padding:26px 0;border-top:1px solid var(--navy-12);align-items:flex-start}
.roomp .num{font-family:var(--rdisplay);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--navy-60);padding-top:5px;min-width:34px}
.roomp .rbody{flex:1}
.roomp .rbody h2{font-size:22px;margin-bottom:8px}
.roomp .rbody p{font-size:16px;margin-bottom:14px}
.roomp .btns{display:flex;flex-wrap:wrap;gap:10px}
.roomp .btns .btn{font-size:15px;padding:13px 22px}
.roomp .homework{background:#12153d;color:var(--white);padding:clamp(26px,4vw,38px) 0;border-top:none}
.roomp .homework h2{color:var(--white);font-size:22px;margin-bottom:8px}
.roomp .homework p{color:rgba(255,255,255,.82)}
.roomp .homework .line{font-family:var(--rdisplay);font-size:clamp(19px,2.6vw,24px);border-left:3px solid var(--amber);padding-left:20px;margin:20px 0;color:var(--white)}

@media (max-width:900px){
  .roomp .hero-grid{grid-template-columns:1fr}
  .roomp .plan,.roomp .fit,.roomp .fgrid{grid-template-columns:1fr}
  .roomp .path-rail{grid-template-columns:1fr;gap:0}
  .roomp .step{border-top:none;border-left:3px solid var(--navy-12);padding:8px 0 8px 14px}
  .roomp .step.on{border-top-color:transparent;border-left-color:var(--amber)}
}
@media (max-width:640px){
  .roomp .row{flex-direction:column;gap:8px}
  .roomp .btns .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .roomp *{transition:none!important}
}

/* ============================================================
   VISUAL RELIEF AND CONVERSION COMPONENTS
   ------------------------------------------------------------
   The page was twelve prose sections in a row. These break the
   wall: brand illustrations on navy, a scannable agenda, and
   conversion points that are not seven thousand pixels down.
   The illustration PNGs are drawn on exactly #12153d, the same
   navy as these bands, so they sit flush with no visible edge.
   ============================================================ */

/* ---- art band: pull-quote left, illustration right, flush ---- */
.roomp .artband{background:#12153d;color:var(--white);border-top:none;padding:0;overflow:hidden}
.roomp .artband .wrap{max-width:var(--rmax);padding-top:0;padding-bottom:0}
.roomp .artgrid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(20px,4vw,48px)}
.roomp .artgrid .said{padding:clamp(44px,6vw,72px) 0}
.roomp .artband .eyebrow{color:rgba(255,255,255,.55)}
.roomp .artband .line{font-family:var(--rdisplay);font-size:clamp(22px,3vw,32px);line-height:1.3;color:var(--white);border-left:3px solid var(--amber);padding-left:22px;margin:0 0 14px}
.roomp .artband p{color:rgba(255,255,255,.78);font-size:16px;margin-bottom:0}
.roomp .artgrid figure{margin:0}
.roomp .artgrid img{width:100%;display:block}

/* ---- the ninety minutes: the single most useful scannable block ---- */
.roomp .agenda{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:38px;border-top:2px solid var(--navy-12)}
.roomp .slotitem{padding:22px 20px 4px 0;position:relative}
.roomp .slotitem::before{content:"";position:absolute;top:-8px;left:0;width:13px;height:13px;border-radius:50%;background:var(--white);border:3px solid var(--navy-12)}
.roomp .slotitem.mark::before{border-color:var(--amber);background:var(--amber)}
.roomp .slotitem .at{font-family:var(--rdisplay);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--navy-60)}
.roomp .slotitem.mark .at{color:#8a6200}
.roomp .slotitem h3{font-size:17px;margin:6px 0 6px}
.roomp .slotitem p{font-size:14.5px;color:var(--navy-80);margin-bottom:0;max-width:none}
.roomp .agendanote{margin-top:26px;border-left:3px solid var(--amber);background:var(--amber-soft);padding:16px 20px;font-size:15px;max-width:none}

/* ---- mid-page conversion interrupt ---- */
.roomp .ctaband{background:var(--amber);color:#12153d;border-top:none;padding:clamp(30px,4vw,44px) 0}
.roomp .ctainner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.roomp .ctainner .say{font-family:var(--rdisplay);font-size:clamp(19px,2.4vw,26px);line-height:1.3;margin:0;max-width:38ch;color:#12153d}
.roomp .ctainner .sub{font-size:14px;color:rgba(18,21,61,.72);margin:6px 0 0;max-width:44ch}
.roomp .ctaband .btn-primary{background:#12153d;color:var(--white);border-color:#12153d;white-space:nowrap}
.roomp .ctaband .btn-primary:hover{background:#000}

/* ---- hero credibility strip ---- */
.roomp .facts{display:flex;flex-wrap:wrap;gap:0;margin:26px 0 0;border-top:1px solid var(--navy-12)}
.roomp .facts div{padding:14px 26px 0 0;margin-right:26px;border-right:1px solid var(--navy-12)}
.roomp .facts div:last-child{border-right:0;margin-right:0;padding-right:0}
.roomp .facts b{display:block;font-family:var(--rdisplay);font-size:23px;line-height:1.1;color:#12153d}
.roomp .facts span{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-60);margin-top:4px}

/* ---- compact proof strip, so proof is not buried ---- */
.roomp .miniproof{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.roomp .miniproof .m{border-top:2px solid var(--amber);padding-top:14px}
.roomp .miniproof p{font-size:15px;color:var(--navy-80);margin-bottom:10px}
.roomp .miniproof .who{display:flex;align-items:center;gap:10px}
.roomp .miniproof .who img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.roomp .miniproof .who b{display:block;font-size:13.5px}
.roomp .miniproof .who span{font-size:12px;color:var(--navy-60)}

/* ---- sticky mobile bar: the date travels with them ---- */
.roomp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#12153d;padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px}
.roomp-sticky span{color:rgba(255,255,255,.82);font-size:12.5px;line-height:1.3}
.roomp-sticky a{display:inline-flex;align-items:center;background:var(--amber);color:#12153d;font-weight:600;font-size:14px;padding:11px 18px;border-radius:2px;text-decoration:none;white-space:nowrap;font-family:'Inter',system-ui,-apple-system,sans-serif}

@media (max-width:900px){
  .roomp .artgrid{grid-template-columns:1fr;gap:0}
  .roomp .artgrid .said{padding:clamp(36px,7vw,52px) 0 8px}
  .roomp .artband .artgrid figure{margin:0 calc(-1 * var(--rpad))}
  .roomp .agenda{grid-template-columns:1fr;border-top:none}
  .roomp .slotitem{padding:0 0 22px 22px;border-left:2px solid var(--navy-12)}
  .roomp .slotitem::before{top:0;left:-7.5px}
  .roomp .miniproof{grid-template-columns:1fr}
  .roomp .facts div{padding-right:18px;margin-right:18px}
  .roomp-sticky{display:flex}
  .roomp{padding-bottom:64px}
}

/* ============================================================
   CONTRAST AND LAYOUT CORRECTIONS
   ------------------------------------------------------------
   Three faults, two of them inherited from the original HTML:

   1. .formwrap p paints every paragraph white for the navy
      section, but the form sits on white inside it, so the
      reassurance line and the consent line were white on white
      and effectively invisible.
   2. h2 em is navy-60 by design, which disappears on the navy
      close and stakes sections. "One page." was unreadable.
   3. The four outcome cards wrapped 3 + 1, leaving an orphan.
   ============================================================ */

/* 1. anything inside the form itself reads on white */
.roomp .formwrap form p{color:var(--navy-80)}
.roomp .formwrap form .formnote,
.roomp .formwrap form .consent{color:var(--navy-60)}
.roomp .formwrap form .err{color:#9b1c1c}

/* 2. italic emphasis has to lighten, not darken, on navy */
.roomp .close h2 em,
.roomp .stakes h2 em,
.roomp .formwrap h2 em,
.roomp .artband h2 em{color:rgba(255,255,255,.58)}

/* 3. four cards, four columns, no orphan */
.roomp .cards{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){ .roomp .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .roomp .cards{grid-template-columns:1fr} }

/* ---- what happens next: fills the dead column beside the form and answers
        the last objection at the exact moment it is felt ---- */
.roomp .afterlist{border-top:1px solid rgba(255,255,255,.18);padding-top:22px;margin-top:28px}
.roomp .afterlist .eyebrow{color:rgba(255,255,255,.55)}
.roomp .afterlist ol{list-style:none;counter-reset:a;margin:0;padding:0}
.roomp .afterlist li{counter-increment:a;position:relative;padding-left:34px;margin-bottom:16px;font-size:15px;color:rgba(255,255,255,.78);line-height:1.55;max-width:44ch}
.roomp .afterlist li::before{content:counter(a);position:absolute;left:0;top:1px;width:22px;height:22px;border:1px solid var(--amber);color:var(--amber);border-radius:50%;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.roomp .afterlist li b{color:#fff;font-weight:600}
.roomp .afterlist .afternote{font-size:13.5px;color:rgba(255,255,255,.5);margin:0;max-width:44ch}
@media (max-width:900px){ .roomp .afterlist{margin-top:22px} }

/* ============================================================
   THREE-STEP FORM
   ------------------------------------------------------------
   Eight fields in one column made the section top-heavy on the
   right and empty on the left. Three short panes of two or
   three fields each balance the block and, because every step
   saves, an abandoned form still leaves a reachable lead.
   ============================================================ */
.roomp .steps-head{margin-bottom:24px}
.roomp .stepdots{list-style:none;display:flex;gap:0;margin:0 0 12px;padding:0;counter-reset:none}
.roomp .stepdots li{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;
  letter-spacing:.04em;color:var(--navy-60);white-space:nowrap}
.roomp .stepdots li span{width:24px;height:24px;flex:0 0 24px;border-radius:50%;border:1.5px solid var(--navy-12);
  display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--white);transition:.2s}
.roomp .stepdots li.on{color:#12153d}
.roomp .stepdots li.on span{border-color:var(--amber);background:var(--amber);color:#12153d}
.roomp .stepdots li.done span{border-color:var(--amber);background:var(--white);color:#8a6200}
.roomp .stepdots li.done span::after{content:"\2713"}
.roomp .stepdots li.done span{font-size:0}
.roomp .stepdots li.done span::after{font-size:12px}
.roomp .stepbar{height:3px;background:var(--navy-12);position:relative;overflow:hidden}
.roomp .stepbar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--amber);transition:width .35s ease}
.roomp .stepPane[hidden]{display:none}
.roomp .stepPane .btn{width:100%;margin-top:6px}
.roomp .stepback{margin-top:10px;border-color:var(--navy-12);color:var(--navy-60);font-weight:500}
.roomp .stepback:hover{background:var(--navy-06);color:#12153d}
.roomp .formwrap form .consent{margin-top:16px;padding-top:14px;border-top:1px solid var(--navy-12)}

/* The left column now carries real weight, so both sides read as one block. */
.roomp .fgrid{align-items:stretch}
@media (min-width:901px){
  .roomp .fgrid > div:first-child{display:flex;flex-direction:column;justify-content:center}
}
@media (max-width:420px){
  .roomp .stepdots li{font-size:0;gap:0;justify-content:flex-start}
  .roomp .stepdots li span{font-size:12px}
  .roomp .stepdots li.done span{font-size:0}
}

/* ============================================================
   CONVERSION REBUILD
   ------------------------------------------------------------
   The form moved into the hero. On the old page the ask sat at
   section 12 of 15, roughly 7,500px down: cold traffic that
   clicked an ad already wants this, and making it scroll a
   whole page to find the form is the most expensive thing a
   registration page can do. Everything below the fold is now
   reinforcement for the people who need it, not a gate.
   ============================================================ */

/* ---- hero split: argument left, form right ---- */
.roomp .herosplit{display:grid;grid-template-columns:1fr 430px;gap:clamp(28px,4vw,56px);align-items:start}
.roomp .hero-say h1{margin-bottom:18px}
.roomp .hero-say .lead{margin-bottom:22px}
.roomp .heropoints{list-style:none;margin:0 0 26px;padding:0}
.roomp .heropoints li{position:relative;padding-left:28px;margin-bottom:11px;font-size:15.5px;
  line-height:1.55;color:var(--navy-80);max-width:52ch}
.roomp .heropoints li::before{content:"";position:absolute;left:2px;top:9px;width:9px;height:9px;
  background:var(--amber);border-radius:50%}

/* ---- the form card ---- */
.roomp .hero-form{position:sticky;top:88px}
.roomp .hero-form form{border-top:4px solid var(--amber);box-shadow:0 1px 0 var(--navy-12),0 18px 44px rgba(18,21,61,.10);
  padding:clamp(20px,2.4vw,26px)}
.roomp .formtop{margin-bottom:18px}
.roomp .formtitle{font-family:var(--rdisplay);font-size:24px;font-weight:600;margin:0 0 4px;color:#12153d}
.roomp .formsub{font-size:13px;color:var(--navy-60);margin:0;letter-spacing:.02em}
.roomp .hero-form .field{margin-bottom:14px}
.roomp .hero-form .consent{margin-top:14px;padding-top:12px;font-size:12px}

/* ---- credibility strip ---- */
.roomp .logostrip{border-top:1px solid var(--navy-12);border-bottom:1px solid var(--navy-12);
  padding:18px 0;background:#fbfbfd}
.roomp .logostrip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}
.roomp .logostrip span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--navy-60)}
.roomp .logostrip div{font-size:14px;color:var(--navy-60);display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.roomp .logostrip i{width:3px;height:3px;border-radius:50%;background:var(--navy-12);display:inline-block}

/* ---- guide block, round portrait ---- */
.roomp .guidegrid{display:grid;grid-template-columns:300px 1fr;gap:clamp(26px,4vw,52px);align-items:center}
.roomp .guidepic{margin:0;text-align:center}
.roomp .portrait{width:100%;max-width:260px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;
  border:1px solid var(--navy-12);margin:0 auto;box-shadow:0 14px 34px rgba(18,21,61,.13)}
.roomp .guidepic figcaption{margin-top:16px;font-size:14.5px;font-weight:600;color:#12153d}
.roomp .guidepic figcaption span{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--navy-60);margin-top:4px}

/* ---- close: amber, so it never merges into the navy footer ---- */
.roomp .close{background:var(--amber);color:#12153d;border-top:none;padding:clamp(38px,5vw,58px) 0}
.roomp .close h2{color:#12153d;margin-bottom:6px}
.roomp .close h2 em{color:rgba(18,21,61,.6)}
.roomp .close p{color:rgba(18,21,61,.78);margin-bottom:0;max-width:46ch}
.roomp .closeinner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.roomp .close .btn-primary{background:#12153d;color:#fff;border-color:#12153d;white-space:nowrap}
.roomp .close .btn-primary:hover{background:#000}
.roomp .close .doctrine{font-family:var(--rdisplay);font-size:15px;color:rgba(18,21,61,.6);
  margin:26px 0 0;padding-top:18px;border-top:1px solid rgba(18,21,61,.18);max-width:none}

@media (max-width:1040px){
  .roomp .herosplit{grid-template-columns:1fr;gap:32px}
  .roomp .hero-form{position:static;max-width:520px}
  .roomp .guidegrid{grid-template-columns:220px 1fr}
}
@media (max-width:700px){
  .roomp .guidegrid{grid-template-columns:1fr;gap:24px}
  .roomp .portrait{max-width:180px}
  .roomp .guidepic{text-align:left}
  .roomp .portrait{margin:0}
  .roomp .closeinner .btn{width:100%;justify-content:center}
}

/* Step labels sit in a 430px card, not a 507px column. Give them room and
   let the last one sit hard right so nothing collides with a numeral. */
.roomp .hero-form .stepdots li{font-size:11.5px;gap:7px;letter-spacing:.01em}
.roomp .hero-form .stepdots li:last-child{flex:0 0 auto}
.roomp .hero-form .stepdots li span{width:22px;height:22px;flex:0 0 22px;font-size:11.5px}

/* ============================================================
   PROGRESSIVE DISCLOSURE
   ------------------------------------------------------------
   Closed, the page is two screens. Open, it is everything.
   The reader chooses their own depth instead of us guessing at
   an average that suits nobody.
   ============================================================ */
.roomp .revealbar{border-top:1px solid var(--navy-12);border-bottom:1px solid var(--navy-12);
  padding:0;background:#fbfbfd}
.roomp .revealbtn{display:flex;align-items:center;gap:14px;width:100%;padding:26px 0;
  background:none;border:0;cursor:pointer;font-family:var(--rbody);text-align:left;color:#12153d}
.roomp .revealbtn .rl{font-family:var(--rdisplay);font-size:clamp(19px,2.2vw,23px);font-weight:600}
.roomp .revealbtn .rs{font-size:14px;color:var(--navy-60);flex:1}
.roomp .revealbtn .rarrow{width:34px;height:34px;flex:0 0 34px;border:1.5px solid var(--navy-12);
  border-radius:50%;position:relative;transition:.25s}
.roomp .revealbtn .rarrow::after{content:"";position:absolute;left:50%;top:46%;width:8px;height:8px;
  border-right:2px solid #12153d;border-bottom:2px solid #12153d;
  transform:translate(-50%,-50%) rotate(45deg);transition:.25s}
.roomp .revealbtn:hover .rarrow{border-color:var(--amber);background:var(--amber)}
.roomp .revealbtn.isopen .rarrow::after{transform:translate(-50%,-30%) rotate(-135deg)}
.roomp .revealbtn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.roomp .deep[hidden]{display:none}
@media (max-width:640px){
  .roomp .revealbtn{flex-wrap:wrap;gap:6px 14px;padding:22px 0}
  .roomp .revealbtn .rl{width:calc(100% - 48px)}
  .roomp .revealbtn .rarrow{order:2;position:absolute;right:0}
  .roomp .revealbar .wrap{position:relative}
  .roomp .revealbtn .rs{flex:0 0 100%}
}

/* ============================================================
   EXIT INTENT
   ============================================================ */
.exitwrap{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.exitwrap[hidden]{display:none}
.exitveil{position:absolute;inset:0;background:rgba(18,21,61,.66);backdrop-filter:blur(2px)}
.exitcard{position:relative;background:#fff;max-width:440px;width:100%;padding:clamp(24px,4vw,34px);
  border-top:4px solid #ffb700;box-shadow:0 26px 70px rgba(18,21,61,.34);
  font-family:'Inter',system-ui,-apple-system,sans-serif;color:#12153d;
  max-height:calc(100vh - 40px);overflow-y:auto}
.exitx{position:absolute;top:8px;right:10px;background:none;border:0;font-size:28px;line-height:1;
  color:rgba(18,21,61,.4);cursor:pointer;padding:6px 10px}
.exitx:hover{color:#12153d}
.exiteyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:rgba(18,21,61,.55);margin:0 0 10px}
.exitcard h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(24px,3.4vw,30px);font-weight:600;
  line-height:1.2;margin:0 0 12px;color:#12153d}
.exitcard p{font-size:15.5px;line-height:1.6;color:rgba(18,21,61,.8);margin:0 0 18px}
.exitcard input[type=email]{width:100%;font-family:inherit;font-size:16px;padding:13px 14px;
  border:1.5px solid rgba(18,21,61,.14);border-radius:2px;background:#fff;color:#12153d;margin-bottom:10px}
.exitcard input[type=email]:focus{outline:none;border-color:#12153d}
.exitcard .btn{width:100%;display:inline-flex;align-items:center;justify-content:center;
  font-weight:600;font-size:16px;padding:14px 22px;border-radius:2px;border:1.5px solid #12153d;
  background:#12153d;color:#fff;cursor:pointer;font-family:inherit}
.exitcard .btn:hover{background:#1b1f52}
.exitcard .btn-ghost{background:transparent;color:#12153d}
.exitcard .btn-sm{padding:10px 16px;font-size:14px;width:auto}
.exitnote{font-size:12.5px;color:rgba(18,21,61,.55);margin:12px 0 0}
.exitok{font-weight:600;color:#12153d;margin-bottom:14px}
.exitalt{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(18,21,61,.12);font-size:13.5px}
.exitalt a{color:rgba(18,21,61,.62);text-decoration:underline;text-underline-offset:3px}
.exitalt a:hover{color:#12153d}
.exitcard .err{color:#9b1c1c;font-size:14px;margin:10px 0 0}
.exitcard .err[hidden]{display:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.exitveil{backdrop-filter:none}}
