/* Map Pack Check — client v3, .mpc scoped under .mpc */

/* The :root token block that lived here redefined the whole palette and
   font stack back to the surveyor system, unscoped, on every element of this
   page including the shared header and footer. All of these tokens are
   already defined in site.css, so it was redundant as well as overriding. */
*{box-sizing:border-box}.mpc{margin:0;background:var(--chart);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;
  background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);
  background-size:56px 56px;background-position:-1px -1px}.mpc .sheet{max-width:1180px;margin:0 auto;padding:0 22px 80px}.mpc a{color:var(--beacon-lo)}.mpc :focus-visible{outline:2.5px solid var(--beacon);outline-offset:3px}.mpc .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0}.mpc .hide{display:none!important}/* masthead */
.mast{padding:48px 0 26px;border-bottom:1px solid var(--rule-hard)}.mpc .mast h1{font-family:var(--display);font-weight:800;letter-spacing:-.026em;font-size:clamp(30px,5.2vw,54px);line-height:1.03;margin:14px 0 0;max-width:18ch}.mpc .mast h1 em{font-style:normal;color:var(--beacon)}.mpc .lede{font-size:19px;color:var(--ink-soft);max-width:60ch;margin:18px 0 0}.mpc .privacy{font-family:var(--mono);font-size:12px;color:var(--ink-faint);margin:16px 0 0}.mpc .privacy b{color:var(--beacon-lo);font-weight:600}/* step headers */
.step{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);padding:0 0 13px;border-bottom:1px solid var(--rule);margin:0 0 6px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.mpc .step b{color:var(--beacon);font-weight:600}/* step 1 identity */
.ident{padding:26px 0 4px}.mpc .ident .fields{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0 0}.mpc .fld{flex:1 1 210px;min-width:0}.mpc .fld label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 7px}.mpc .fld select, .mpc .fld input{width:100%;font-family:var(--body);font-size:16.5px;padding:12px 13px;border:1px solid var(--rule-hard);background:#fff;color:var(--ink);border-radius:0}.mpc .fld select:hover, .mpc .fld input:hover{border-color:var(--beacon)}/* territory card */
.terr{margin:22px 0 0;border:1.5px solid var(--ink);background:#fff;display:flex;align-items:stretch;flex-wrap:wrap}.mpc .terr__flag{background:var(--basemap);color:var(--chart);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:16px 18px;display:flex;align-items:center;writing-mode:horizontal-tb}.mpc .terr.is-open .terr__flag{background:var(--beacon)}.mpc .terr.is-assess .terr__flag{background:var(--rank-4);color:var(--basemap)}.mpc .terr.is-claimed .terr__flag{background:var(--flag)}.mpc .terr__body{padding:15px 20px;flex:1 1 300px}.mpc .terr__body h3{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.014em;margin:0 0 5px}.mpc .terr__body p{margin:0;font-size:15.5px;color:var(--ink-soft)}/* items */
.item{border-bottom:1px solid var(--rule);padding:24px 0}.mpc .item.is-answered{background:linear-gradient(90deg,var(--beacon-wash) 0%,transparent 62%);margin:0 -14px;padding-left:14px;padding-right:14px}.mpc .item__head{display:flex;gap:15px;align-items:flex-start}.mpc .item__num{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-faint);padding-top:5px;min-width:26px}.mpc .item.is-answered .item__num{color:var(--beacon)}.mpc .item__q{font-family:var(--display);font-weight:600;font-size:19.5px;line-height:1.3;letter-spacing:-.011em;margin:0}.mpc .item__why{font-size:15.5px;color:var(--ink-soft);margin:9px 0 0;max-width:56ch}.mpc .chips{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 0}.mpc .chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--rule-hard);padding:4px 9px;color:var(--ink-faint)}.mpc .chip.w{border-color:var(--flag);color:var(--flag)}.mpc .chip.p{border-color:var(--beacon);color:var(--beacon-lo)}.mpc .ans{display:flex;gap:8px;margin:15px 0 0;flex-wrap:wrap;border:0;padding:0}.mpc .ans legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mpc .ans label{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule-hard);background:#fff;padding:9px 15px;cursor:pointer;color:var(--ink-soft);transition:background .13s,border-color .13s,color .13s}.mpc .ans label:hover{border-color:var(--beacon);color:var(--ink)}.mpc .ans input{position:absolute;opacity:0;width:0;height:0}.mpc .ans input:focus-visible + label{outline:2.5px solid var(--beacon);outline-offset:2px}.mpc .ans input.v-yes:checked + label{background:var(--beacon);border-color:var(--beacon);color:#fff}.mpc .ans input.v-unsure:checked + label{background:var(--rank-4);border-color:#B79429;color:var(--basemap)}.mpc .ans input.v-no:checked + label{background:var(--flag);border-color:var(--flag);color:#fff}.mpc .how{margin:14px 0 0}.mpc .how summary{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--beacon-lo);cursor:pointer;list-style:none;display:inline-flex;gap:7px;align-items:center}.mpc .how summary::-webkit-details-marker{display:none}.mpc .how summary::before{content:"+";font-weight:600;font-size:14px}.mpc .how[open] summary::before{content:"–"}.mpc .how__body{border-left:2px solid var(--beacon);padding:4px 0 4px 16px;margin:13px 0 0;max-width:58ch}.mpc .how__body ol{margin:0;padding-left:19px}.mpc .how__body li{font-size:15.5px;margin:0 0 7px}.mpc .how__body code{font-family:var(--mono);font-size:13px;background:#fff;border:1px solid var(--rule);padding:1px 5px}.mpc .cost{font-size:15px;color:var(--flag);margin:11px 0 0;font-style:italic}/* step 3 */
.gates{margin:38px 0 0;border:1px solid var(--ink);background:#fff;padding:24px}.mpc .gates h2{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.015em;margin:10px 0 6px}.mpc .gates .intro{font-size:16px;color:var(--ink-soft);margin:0}.mpc .gates .item{border-bottom:1px dashed var(--rule);padding:20px 0}.mpc .gates .item:last-of-type{border-bottom:0;padding-bottom:2px}.mpc .gates .item.is-answered{background:none;margin:0;padding-left:0;padding-right:0}.mpc .money{border-top:1px solid var(--rule-hard);margin-top:18px;padding-top:20px}.mpc .money h3{font-family:var(--display);font-size:18px;font-weight:700;margin:0 0 4px}.mpc .money p{font-size:15.5px;color:var(--ink-soft);margin:0}/* instrument */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:56px;align-items:start;padding-top:30px}
@media(max-width:940px){.mpc .cols{grid-template-columns:1fr;gap:0;padding-top:18px}}.mpc .inst{position:sticky;top:22px}
@media(max-width:940px){.mpc .inst{position:sticky;top:0;z-index:20;background:var(--chart);border-bottom:1px solid var(--ink);margin:0 -22px;padding:10px 22px 12px}.mpc .inst__grid, .mpc .inst__legend, .mpc .moves{display:none}}.mpc .inst__panel{border:1px solid var(--ink);background:#fff}.mpc .inst__bar{background:var(--basemap);color:var(--chart);padding:11px 15px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}.mpc .inst__bar b{font-weight:500;color:#8FA3A1}.mpc .inst__grid{padding:20px 20px 8px}.mpc .gg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;aspect-ratio:1;max-width:290px;margin:0 auto}.mpc .gg span{background:var(--rank-5);opacity:.28;transition:background .5s ease,opacity .5s ease}
@media(prefers-reduced-motion:reduce){.mpc .gg span{transition:none}}.mpc .gg span.b0{background:var(--rank-1);opacity:1}.mpc .gg span.b1{background:var(--rank-2);opacity:1}.mpc .gg span.b2{background:var(--rank-3);opacity:1}.mpc .gg span.b3{background:var(--rank-4);opacity:1}.mpc .gg span.b4{background:var(--rank-5);opacity:.78}.mpc .gg span.b5{background:var(--rank-5);opacity:.26}.mpc .inst__legend{display:flex;gap:9px;justify-content:center;padding:12px 14px 16px;flex-wrap:wrap}.mpc .inst__legend i{font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--ink-faint);display:flex;align-items:center;gap:4px}.mpc .inst__legend i::before{content:"";width:9px;height:9px;display:block}.mpc .lg1::before{background:var(--rank-1)}.mpc .lg2::before{background:var(--rank-2)}.mpc .lg3::before{background:var(--rank-3)}.mpc .lg4::before{background:var(--rank-4)}.mpc .lg5::before{background:var(--rank-5);opacity:.5}.mpc .track{height:5px;background:var(--rule);display:flex;gap:1px}.mpc .track i{flex:1;background:var(--rule);transition:background .3s}.mpc .track i.on{background:var(--beacon)}.mpc .track i.un{background:var(--rank-4)}.mpc .track i.off{background:var(--flag);opacity:.45}.mpc .readout{border-top:1px solid var(--rule);padding:14px 18px}.mpc .readout .row{display:flex;justify-content:space-between;align-items:flex-end}.mpc .readout .num{font-family:var(--display);font-size:40px;font-weight:800;line-height:.9;letter-spacing:-.035em}.mpc .readout .lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-top:6px}.mpc .readout .right{text-align:right;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);line-height:1.5}.mpc .dark{background:var(--basemap);color:var(--chart);padding:14px 18px;border-top:1px solid var(--ink)}.mpc .dark .big{font-family:var(--display);font-size:26px;font-weight:800;letter-spacing:-.025em;color:#fff;line-height:1.1}.mpc .dark .cap{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#8FA3A1;display:block;margin-top:6px}.mpc .moves{border:1px solid var(--rule-hard);border-top:0;background:var(--beacon-wash);padding:16px 18px}.mpc .moves h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--beacon-lo);margin:0 0 10px;font-weight:600}.mpc .moves ol{margin:0;padding-left:18px}.mpc .moves li{font-size:14.5px;line-height:1.42;margin:0 0 9px}.mpc .moves .empty{font-size:14.5px;color:var(--ink-soft);margin:0}/* verdict + offer */
.verdict{margin:44px 0 0;border:1.5px solid var(--ink);background:#fff}.mpc .verdict__tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:10px 26px;color:#fff;background:var(--ink);margin:0}.mpc .verdict.v-go .verdict__tag{background:var(--beacon)}.mpc .verdict.v-soft .verdict__tag{background:var(--rank-4);color:var(--basemap)}.mpc .verdict.v-stop .verdict__tag{background:var(--flag)}.mpc .verdict__body{padding:26px 26px 30px}.mpc .verdict h2{font-family:var(--display);font-size:clamp(24px,3.5vw,33px);font-weight:800;letter-spacing:-.026em;line-height:1.12;margin:0 0 14px;max-width:24ch}.mpc .verdict p{margin:0 0 14px;max-width:64ch}.mpc .verdict ul{margin:0 0 16px;padding-left:20px;max-width:62ch}.mpc .verdict li{margin:0 0 8px}.mpc .bignum{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:clamp(34px,6vw,58px);line-height:1;color:var(--flag);display:block;margin:4px 0 2px}.mpc .bignum-sub{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:20px}/* offer stack */
.offer{border:1px solid var(--ink);margin:24px 0 0}.mpc .offer__h{background:var(--basemap);color:#fff;padding:14px 20px;font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.012em}.mpc .offer__h span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8FA3A1;font-weight:400;margin-bottom:5px}.mpc .offer table{width:100%;border-collapse:collapse}.mpc .offer td{padding:10px 20px;border-bottom:1px solid var(--rule);font-size:15.5px;vertical-align:top}.mpc .offer td:last-child{text-align:right;font-family:var(--mono);font-size:13px;color:var(--ink-faint);white-space:nowrap}.mpc .offer tr:last-child td{border-bottom:0}.mpc .offer tr.tot td{background:var(--beacon-wash);font-family:var(--display);font-weight:700;font-size:16px;border-top:1.5px solid var(--ink)}.mpc .offer tr.tot td:last-child{font-family:var(--display);font-size:16px;color:var(--ink)}.mpc .guar{border-left:3px solid var(--beacon);background:var(--beacon-wash);padding:14px 18px;margin:20px 0 0}.mpc .guar b{font-family:var(--display);font-size:16px;display:block;margin-bottom:5px}.mpc .guar p{font-size:15.5px;margin:0;color:var(--ink-soft)}.mpc .proof{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0 0;padding:15px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.mpc .proof div{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.mpc .proof b{display:block;font-family:var(--display);font-size:23px;font-weight:800;color:var(--ink);letter-spacing:-.02em;text-transform:none}.mpc .cta-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px;align-items:center}.mpc .btn{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;padding:15px 24px;border:1.5px solid var(--ink);text-decoration:none;display:inline-block;cursor:pointer;background:none;transition:background .14s,color .14s}.mpc .btn-go{background:var(--beacon);border-color:var(--beacon);color:#fff}.mpc .btn-go:hover{background:var(--beacon-lo);border-color:var(--beacon-lo)}.mpc .btn-alt{color:var(--ink)}.mpc .btn-alt:hover{background:var(--ink);color:var(--chart)}.mpc .fineprint{font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.05em}/* capture */
.capture{margin:26px 0 0;border:1px dashed var(--rule-hard);padding:20px}.mpc .capture h3{font-family:var(--display);font-size:18px;font-weight:700;margin:0 0 6px}.mpc .capture p{font-size:15.5px;color:var(--ink-soft);margin:0 0 14px;max-width:58ch}.mpc .capture .fields{display:flex;gap:10px;flex-wrap:wrap}.mpc .capture input[type=email], .mpc .capture input[type=tel]{flex:1 1 220px;font-family:var(--body);font-size:16px;padding:12px 13px;border:1px solid var(--rule-hard);background:#fff}.mpc .opt{display:flex;gap:9px;align-items:flex-start;margin:13px 0 0;font-size:14.5px;color:var(--ink-soft);max-width:58ch}.mpc .opt input{margin-top:5px;accent-color:var(--beacon);width:16px;height:16px}.mpc .sent{font-family:var(--mono);font-size:12.5px;color:var(--beacon-lo);margin:14px 0 0}.mpc .summary{margin-top:24px;border-top:1px solid var(--rule);padding-top:18px}.mpc .summary textarea{width:100%;height:160px;font-family:var(--mono);font-size:12px;line-height:1.55;border:1px solid var(--rule-hard);padding:12px;background:var(--chart);color:var(--ink);resize:vertical}.mpc .foot{margin-top:56px;padding-top:22px;border-top:1px solid var(--rule-hard);font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);display:flex;gap:8px 26px;flex-wrap:wrap}
@media print{.mpc .inst, .mpc .ans, .mpc .how summary, .mpc .btn, .mpc .capture{display:none!important}}

/* ==========================================================================
   Map plate as ground

   The plate used to open this page as a banner, which pushed the masthead
   down and made a decorative image the first thing anyone met. It is texture,
   not a hero, so it is pinned behind the top of the sheet and faded out
   before the questions start.

   The sheet already carries a 56px graph grid. The plate has its own street
   grid, so the two would fight at full strength; holding the plate low and
   letting it dissolve keeps one reading as paper and the other as the map
   drawn on it.
   ========================================================================== */
.mpc { position: relative; isolation: isolate; }
.mpc::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: min(70vh, 640px);
  z-index: -1;
  pointer-events: none;
  /* Plain url first as the fallback, image-set second for webp where it is
     understood. */
  background-image: url(/assets/img/map-field-1200.jpg);
  background-image: image-set(
    url(/assets/img/map-field-1200.webp) type("image/webp"),
    url(/assets/img/map-field-1200.jpg) type("image/jpeg")
  );
  background-size: cover;
  background-position: 50% 18%;
  background-repeat: no-repeat;
  opacity: 0.42;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.5) 54%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.5) 54%, transparent 100%);
}
@media (max-width: 640px) {
  .mpc::before { height: min(48vh, 380px); opacity: 0.32; }
}
