/* mft guide */
.mg{--pine:#2C6350;--deep:#14372C;--amber:#F6C560;--ink:#1B2420;--line:#E2DACA;
  --paper:#F6F8F6;--mut:#635D4E}
.mg .cx{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.03em;color:var(--mut);white-space:nowrap}
.mgband{background:#14372C;
  color:#F6F8F6;padding:30px 0 36px}
.mgband .in{max-width:1180px;margin:0 auto;padding:0 26px;display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:34px;align-items:center}
.mgband h1{font-family:Fraunces,Georgia,serif;font-size:clamp(27px,3.7vw,43px);
  line-height:1.06;font-weight:600;letter-spacing:-.022em;color:#fff;margin:0 0 14px;max-width:18ch}
.mgband h1 em{font-style:normal;color:var(--amber)}
.mgband .dek{font-size:15px;line-height:1.72;color:rgba(255,255,255,.87);margin:0;max-width:56ch}
.mgmeta{display:flex;gap:14px;flex-wrap:wrap;margin-top:17px;
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.62)}
.mgfig{background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.18);border-radius:10px;
  padding:20px 22px;min-width:0}
.mgfig b{display:block;font-family:Fraunces,Georgia,serif;font-size:clamp(31px,4.2vw,46px);
  line-height:1;color:var(--amber)}
.mgfig span{display:block;font-size:12px;line-height:1.55;color:rgba(255,255,255,.74);margin-top:9px}
.mgfig .row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;
  border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:rgba(255,255,255,.8)}
.mgfig .row:first-of-type{margin-top:16px}
.mgfig .row b{display:inline;font-size:12px;font-family:inherit;color:#fff}

.mgwrap{max-width:1180px;margin:0 auto;padding:34px 26px 20px;display:grid;
  grid-template-columns:214px minmax(0,1fr);gap:40px;align-items:start}
.mgnav{position:sticky;top:16px;min-width:0}
.mgnav b{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--mut);margin-bottom:11px}
.mgnav a{display:block;font-size:13.5px;line-height:1.42;color:#635D4E;text-decoration:none;
  padding:6px 0 6px 12px;border-left:2px solid var(--line)}
.mgnav a:hover{color:var(--ink);border-left-color:#E2DACA}
.mgnav a.on{color:var(--pine);border-left-color:var(--pine);font-weight:600}
.mgbody{min-width:0}
.mgbody h2{font-family:Fraunces,Georgia,serif;font-size:clamp(21px,2.5vw,27px);
  line-height:1.2;font-weight:600;letter-spacing:-.016em;color:var(--ink);
  margin:44px 0 14px;scroll-margin-top:20px}
.mgbody h2:first-child{margin-top:0}
.mgbody h3{font-family:Fraunces,Georgia,serif;font-size:16.5px;margin:26px 0 9px;color:var(--ink)}
.mgbody p{font-size:15px;line-height:1.78;color:#1B2420;margin:0 0 15px;max-width:68ch}
.mgbody p b{color:var(--ink)}
.mgbody a{color:var(--pine)}

/* the five checkpoints */
.checkpoints{display:grid;gap:9px;margin:6px 0 22px}
.checkpoint{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;background:#fff;
  border:1px solid var(--line);border-left:3px solid var(--pine);border-radius:10px;
  padding:14px 16px;min-width:0}
.checkpoint .n{font-family:'IBM Plex Mono',monospace;font-size:15px;color:var(--amber);
  font-weight:600;padding-top:2px}
.checkpoint h4{font-family:Fraunces,Georgia,serif;font-size:16.5px;margin:0 0 4px;color:var(--ink)}
.checkpoint p{font-size:13.5px;line-height:1.6;color:#635D4E;margin:0 0 5px;max-width:none}
.checkpoint em{font-style:normal;border-bottom:2px solid var(--amber)}

/* the hours bar */
.hbar{margin:8px 0 6px}
.hstack{display:flex;height:74px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.hseg{position:relative;display:flex;flex-direction:column;justify-content:center;
  padding:0 16px;min-width:0;color:#fff}
.hseg.a{background:#14372C}
.hseg.b{background:#F6F8F6;color:#1B2420}
.hseg b{font-family:Fraunces,Georgia,serif;font-size:23px;line-height:1}
.hseg span{font-size:12px;line-height:1.35;margin-top:4px;opacity:.9}
.hsub{display:flex;margin-top:7px}
.hsub .in500{background:var(--amber);color:#8A6516;border-radius:10px;padding:9px 14px;
  min-width:0}
.hsub .in500 b{font-family:Fraunces,Georgia,serif;font-size:16.5px}
.hsub .in500 span{font-size:12px;display:block;margin-top:2px}
.hnote{font-size:13.5px;line-height:1.65;color:#635D4E;margin:12px 0 0;max-width:68ch}
.hnote .cx{display:inline}

/* split bars */
.split{display:grid;gap:10px;margin:14px 0 6px}
.sp{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;min-width:0}
.sp .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sp h4{font-family:Fraunces,Georgia,serif;font-size:15px;margin:0;color:var(--ink)}
.sp .v{font-family:Fraunces,Georgia,serif;font-size:19px;color:var(--pine)}
.sp .track{height:9px;border-radius:6px;background:#F6F8F6;margin:9px 0 8px;overflow:hidden}
.sp .fill{height:100%;background:#2C6350}
.sp .fill.cap{background:#F6C560}
.sp p{font-size:13.5px;line-height:1.6;color:#635D4E;margin:0;max-width:none}
.tagcap,.tagfloor{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;padding:2px 7px;border-radius:10px}
.tagcap{background:#F6F8F6;color:#8A6516}
.tagfloor{background:#F6F8F6;color:#2C6350}

/* rule grid */
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin:8px 0 6px}
.rule{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 15px;min-width:0}
.rule b{display:block;font-family:Fraunces,Georgia,serif;font-size:28px;line-height:1;color:var(--pine)}
.rule i{display:block;font-style:normal;font-size:12px;font-weight:600;color:var(--ink);margin:5px 0 6px}
.rule p{font-size:12px;line-height:1.55;color:#635D4E;margin:0 0 6px;max-width:none}

/* exams */
.ex{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 17px;
  margin-bottom:10px;min-width:0}
.ex h4{font-family:Fraunces,Georgia,serif;font-size:16.5px;margin:0 0 3px;color:var(--ink)}
.ex .len{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--mut);
  letter-spacing:.05em;text-transform:uppercase}
.ex p{font-size:13.5px;line-height:1.62;color:#635D4E;margin:9px 0 12px;max-width:none}
.pr{display:grid;gap:9px}
.prow{display:grid;grid-template-columns:118px minmax(0,1fr) 50px;gap:11px;align-items:center;
  font-size:12px}
.prow .lab{color:#635D4E}
.prow .tr{height:15px;border-radius:6px;background:#F6F8F6;overflow:hidden}
.prow .fi{height:100%;background:#2C6350}
.prow .pc{font-family:Fraunces,Georgia,serif;font-size:16.5px;color:var(--pine);text-align:right}

/* fees */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 6px}
table.fee{border-collapse:collapse;width:100%;font-size:13.5px;min-width:520px}
table.fee th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:0 12px 8px 0;
  border-bottom:1px solid var(--line);font-weight:500}
table.fee td{padding:10px 12px 10px 0;border-bottom:1px solid #E2DACA;vertical-align:top;color:#1B2420}
table.fee td.was{color:#635D4E;text-decoration:line-through}
table.fee td.now{font-family:Fraunces,Georgia,serif;font-size:16.5px;color:var(--pine)}
table.fee tr.tot td{border-bottom:0;padding-top:13px;font-weight:600;color:var(--ink)}
table.fee tr.tot td.now{font-size:19px}

/* traps */
.traps{display:grid;gap:9px;margin:8px 0 6px;counter-reset:tp}
.trap{background:#fff;border:1px solid var(--line);border-left:3px solid #B5483F;
  border-radius:10px;padding:14px 16px;min-width:0}
.trap h4{font-family:Fraunces,Georgia,serif;font-size:16.5px;margin:0 0 5px;color:var(--ink)}
.trap p{font-size:13.5px;line-height:1.62;color:#635D4E;margin:0 0 6px;max-width:none}

/* processing */
.proc{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin:8px 0}
.pc2{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 16px;min-width:0}
.pc2 h4{font-family:Fraunces,Georgia,serif;font-size:15px;margin:0 0 10px;color:var(--ink)}
.pc2 .bar{display:flex;align-items:center;gap:9px;margin-bottom:7px;font-size:12px}
.pc2 .bar span:first-child{width:62px;color:#635D4E}
.pc2 .bar .t{flex:1;height:13px;border-radius:6px;background:#F6F8F6;overflow:hidden;min-width:0}
.pc2 .bar .f{height:100%}
.pc2 .bar .f.ok{background:#2C6350}
.pc2 .bar .f.bad{background:#F6C560}
.pc2 .bar .d{width:54px;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink)}

/* callout + sources */
.call{background:#F6F8F6;border:1px solid #F6C560;border-left:3px solid var(--amber);
  border-radius:10px;padding:16px 18px;margin:16px 0;min-width:0}
.call p{margin:0;font-size:13.5px;line-height:1.7;color:#8A6516;max-width:none}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 18px}
.chip2{font-size:12px;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:5px 12px;color:#1B2420}
.mgsrc{margin-top:46px;padding-top:22px;border-top:1px solid var(--line)}
.mgsrc h2{margin-top:0}
.mgsrc ol{padding-left:20px;margin:0}
.mgsrc li{font-size:13.5px;line-height:1.68;color:#635D4E;margin-bottom:11px}
.mgsrc li a{color:var(--pine)}
.nv{background:#fff;border:1px dashed #E2DACA;border-radius:10px;padding:15px 17px;margin:14px 0}
.nv b{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mut);margin-bottom:9px}
.nv li{font-size:13.5px;line-height:1.62;color:#635D4E;margin-bottom:7px}

@media (max-width:900px){
  .mgwrap{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:22px}
  .mgnav{position:static;display:flex;gap:7px;overflow-x:auto;padding-bottom:5px;
    -webkit-overflow-scrolling:touch}
  .mgnav b{display:none}
  .mgnav a{border-left:0;border:1px solid var(--line);border-radius:10px;padding:6px 12px;
    white-space:nowrap;font-size:12px}
  .mgnav a.on{border-color:var(--pine);background:#C6DBD1}
  .mgband .in{grid-template-columns:minmax(0,1fr);gap:22px}
}
@media (max-width:560px){
  .checkpoint{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px 13px}
  .hstack{height:auto;flex-direction:column}
  .hseg{padding:12px 14px}
  .prow{grid-template-columns:96px minmax(0,1fr) 44px;gap:8px;font-size:12px}
  .mgbody p{font-size:15px}
}

/* Shared calculator sequence links, kept local to avoid a sixth stylesheet. */
.calc-links{max-width:1060px;margin:40px auto;padding:24px;border:2px solid #1B2420;border-radius:10px;background:#F6F8F6;box-shadow:5px 5px 0 #f6c560}.calc-links h2{font:800 24px/1.15 'Bricolage Grotesque',Inter,system-ui,sans-serif;margin:0 0 8px;color:#1B2420}.calc-links>p{margin:0 0 16px;color:#635D4E}.calc-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.calc-links a{display:block;background:white;border:1px solid #E2DACA;border-radius:10px;padding:12px;text-decoration:none;color:#2c6350;font:800 13px/1.35 'Bricolage Grotesque',Inter,system-ui,sans-serif}.calc-links a span{display:block;color:#635D4E;font:10.5px Inter,system-ui,sans-serif;font-weight:500;margin-top:4px}@media(max-width:780px){.calc-links-grid{grid-template-columns:1fr 1fr}.calc-links{margin:28px 12px;padding:18px}}@media(max-width:460px){.calc-links-grid{grid-template-columns:1fr}}
