
:root{
  --blue:#1F7EB5; --blueHi:#2D9CDB; --blueSoft:rgba(31,126,181,0.08); --blue-ink:#1B7099; --on-accent:#FFFFFF;
  --ink:#0E1116; --ink2:#3D434B; --ink3:#5A6068; --ink4:#686E77;
  --bg:#FFFFFF; --bg2:#F6F8FA; --panel:#FFFFFF; --band:#0E1116;
  --line:#D4D8DE; --line2:#E7EAEE;
  --good:#2E7D52; --good2:#EAF4EE; --warn:#8A6D3B; --warn2:#F6EFDF; --bad:#B24A34; --bad2:#F8EDE9;
  --sans:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --disp:"Archivo","Inter Tight",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}

.ep-page-nav,.ep-nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0;border-bottom:1px solid var(--line2)}
.ep-page-nav{margin-bottom:28px}
.ep-guide{margin:0 0 40px;padding:0;scroll-margin-top:150px}
.ep-guide h2{font:700 20px/1.2 var(--disp);letter-spacing:-.02em;color:var(--ink);margin:32px 0 16px}
.ep-guide h3{font:700 16px/1.3 var(--disp);letter-spacing:-.01em;color:var(--ink);margin:0 0 12px}
.reference{border-top:3px solid var(--blue-ink);padding-top:24px}
.referencefoot{border-top:1px solid var(--line2);padding-top:20px}
.referencefoot a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
.ep-reference-link{display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px;margin:32px 0;padding:24px;border:1px solid var(--line);border-left:3px solid var(--blue-ink);border-radius:8px;background:var(--bg2);scroll-margin-top:150px}
.ep-reference-link>div{flex:1 1 320px;min-width:0}
.ep-reference-link h2{font:700 20px/1.2 var(--disp);letter-spacing:-.02em;margin:0 0 8px}
.step .ep-reference-link p{font-size:16px;margin:0;max-width:62ch}
.ep-reference-link>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
.rail-reference{display:flex;align-items:center;min-height:44px;margin:0 0 8px 46px;padding:8px 12px;border-left:1px solid var(--line);color:var(--ink3);font-size:14px;font-weight:600;text-decoration:none}
.rail-reference:hover,.rail-reference.on{color:var(--blue-ink);background:var(--blueSoft);border-color:var(--blue-ink)}
.hub-reference{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;min-height:44px;margin:0 16px 12px 54px;padding:8px 12px;border-left:2px solid var(--line);font-size:14px;font-weight:600}
.hub-reference span{color:var(--ink3);font-weight:400}
@media(max-width:1180px){.rail-reference{flex:0 0 auto;white-space:nowrap;margin:0;border-left:0;border-radius:4px}}
.ep-guide p{font-size:16px;line-height:1.6}
.ep-heading{max-width:780px}
.ep-kicker{font:600 11px/1.3 var(--mono)!important;color:var(--blue-ink);letter-spacing:.08em;text-transform:uppercase}
.ep-key{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:var(--bg2);border-bottom:1px solid var(--line2);padding:20px 24px;margin:24px 0}
.ep-key p{margin:0}.ep-key strong{color:var(--ink)}
.ep-line-key{display:inline-block;width:30px;border-top:2px dashed var(--blue-ink);vertical-align:middle;margin:0 5px}
.ep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 36px}
.ep-card{min-width:0;border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--panel);scroll-margin-top:150px}
.ep-card-top{display:flex;justify-content:space-between;gap:12px;font:500 13px/1.4 var(--mono);color:var(--ink3)}
.ep-section{display:block;width:100%;height:180px;margin:10px 0;color:var(--ink)}
.ep-stone{fill:var(--blueSoft)}.ep-outline{fill:none;stroke:currentColor;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.ep-bond{fill:none;stroke:var(--blue-ink);stroke-width:2;stroke-dasharray:5 5}
.ep-card p{margin:0 0 16px}.ep-card details{border-top:1px solid var(--line2);padding-top:12px}
.ep-guide summary{cursor:pointer;color:var(--ink);font-size:16px;font-weight:600;padding:10px 0;min-height:44px}
.ep-guide details[open]>summary{color:var(--blue-ink)}
.ep-card details p{margin:12px 0 0}
.ep-specify{padding:4px 28px 24px;background:var(--bg2);border-left:3px solid var(--blue-ink)}
.ep-specify ol{padding-left:24px}.ep-specify li{margin:14px 0;font-size:16px}
.ep-self-check details{border-bottom:1px solid var(--line2);padding:12px 0}
.ep-sources{font-size:14px!important;color:var(--ink3);margin-top:28px}
.ep-guide section{scroll-margin-top:150px}
@media(max-width:1000px){.ep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ep-grid,.ep-key{grid-template-columns:1fr}.ep-card{padding:18px}.ep-key,.ep-specify{padding:18px}.ep-page-nav,.ep-nav{gap:12px 18px}.ep-guide{margin:32px 0}}
@media print{.ep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-card{break-inside:avoid}.ep-guide details::details-content{content-visibility:visible}.ep-nav,.ep-page-nav{display:none}}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#EAECEF; --ink2:#B9BEC5; --ink3:#9AA1A9; --ink4:#8A9099;
    --bg:#14171A; --bg2:#1B1F23; --panel:#1C2025; --band:#0A0C0E;
    --line:#4A525A; --line2:#262B30; --blueSoft:rgba(45,156,219,0.14); --blue-ink:#8FCBEE; --on-accent:#0E1116;
    --blue:#2D9CDB; --blueHi:#5CB6E8; --good:#6FBF97; --good2:#1C2A23; --warn:#D2A45A; --warn2:#2C2718; --bad:#E0876B; --bad2:#2E2019;
  }
}
:root[data-theme="dark"]{
  --ink:#EAECEF; --ink2:#B9BEC5; --ink3:#9AA1A9; --ink4:#8A9099;
  --bg:#14171A; --bg2:#1B1F23; --panel:#1C2025; --band:#0A0C0E;
  --line:#4A525A; --line2:#262B30; --blueSoft:rgba(45,156,219,0.14); --blue-ink:#8FCBEE; --on-accent:#0E1116;
  --blue:#2D9CDB; --blueHi:#5CB6E8; --good:#6FBF97; --good2:#1C2A23; --warn:#D2A45A; --warn2:#2C2718; --bad:#E0876B; --bad2:#2E2019;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink2);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--blue-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--blue-ink);text-decoration-thickness:2px}
.hd a,.ft nav a,.pathrow{text-decoration:none}
h1,h2{font-family:var(--disp);color:var(--ink);margin:0;line-height:1.12;letter-spacing:-0.028em;font-weight:800}
.skip{position:absolute;left:-999px;top:0;background:var(--blue-ink);color:var(--on-accent);padding:8px 14px;z-index:60}
.skip:focus{left:0}
:focus-visible{outline:2.5px solid var(--blueHi);outline-offset:2px;border-radius:3px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue-ink);font-weight:600;line-height:1.3}


.hd{position:sticky;top:0;z-index:50;height:72px;
  background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd-in{max-width:1500px;margin:0 auto;height:100%;padding:0 40px;display:flex;align-items:center;gap:20px}
.wm{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-0.01em;color:var(--ink);text-transform:uppercase}
.wm .a{color:var(--blue-ink)}
.btn{display:inline-block;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;
  background:var(--blue-ink);color:var(--on-accent);border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:12px 20px}
.btn:hover{background:var(--blue);color:var(--on-accent)}
.btn.lg{font-size:15px;padding:15px 26px}


.hero{max-width:1500px;margin:0 auto;padding:64px 40px 30px}
.hero h1{font-size:clamp(32px,5vw,56px);letter-spacing:-0.02em;line-height:1.05;margin:14px 0 18px;max-width:16ch;text-wrap:balance}
.hero .intro{font-size:18px;color:var(--ink2);max-width:60ch;margin:0 0 26px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero .meta{font-family:var(--mono);font-size:12px;color:var(--ink4);margin:22px 0 0}
.hero .scope{font-size:14px;color:var(--ink3);margin:10px 0 0;max-width:64ch}


.prog{position:sticky;top:72px;z-index:40;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prog .in{max-width:1500px;margin:0 auto;padding:14px 40px;display:flex;align-items:center;gap:18px}
.prog .lbl{white-space:nowrap}
.prog .track{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.prog .fill{height:100%;width:0;background:var(--blue);border-radius:999px;transition:width 300ms cubic-bezier(0.2,0.7,0.3,1)}
.reset{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:8px 14px;min-height:24px;cursor:pointer}
.reset:hover{border-color:var(--blue);color:var(--ink)}


.shell{max-width:1500px;margin:0 auto;padding:34px 40px 0;display:grid;grid-template-columns:240px 1fr;gap:44px;align-items:start}
.shell>.rail,.shell>.content{min-width:0}
.rail{position:sticky;top:150px}
.railhead{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding-left:6px}

.railtoggle{margin-left:auto;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink3);font-size:14px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease}
.railtoggle:hover{border-color:var(--blue);color:var(--blue)}

.shell.rail-collapsed{grid-template-columns:34px 1fr}
.shell.rail-collapsed .rail .h,.shell.rail-collapsed .rail .rows{display:none}
.shell.rail-collapsed .railhead{margin-bottom:0;padding-left:0}
.shell.rail-collapsed .railtoggle{margin-left:0}
.pathrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:9px 8px;border-radius:8px;color:var(--ink2);font-family:var(--sans);font-size:15px;font-weight:600;line-height:1.25;transition:background 140ms ease,color 140ms ease}
.pathrow:hover{background:var(--bg2);color:var(--ink)}
.pathrow.on{color:var(--blue-ink);background:var(--blueSoft)}
.pathrow .n{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink3);background:var(--panel)}
.pathrow.on .n{border-color:var(--blue);color:var(--blue-ink)}
.pathrow.done .n{background:var(--good);border-color:var(--good);color:var(--on-accent)}
.pathrow.done.on .n{background:var(--blue);border-color:var(--blue)}


.step{display:block;min-width:0;scroll-margin-top:150px}
.step :target,.step h1,.step h2{scroll-margin-top:150px}
.step .kicker{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue-ink);font-weight:600;line-height:1.3}
.step h1{font-size:clamp(32px,5vw,56px);letter-spacing:-0.02em;line-height:1.1;margin:8px 0 24px;max-width:32ch;text-wrap:balance}
.step p{font-size:16px;color:var(--ink2);margin:0 0 16px;max-width:70ch}
.step .lead2{font-size:18px}


.stepfoot{margin:30px 0 8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line2);padding-top:22px}
.markbtn,.cf-printbtn{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:12px 20px;cursor:pointer}
.markbtn:hover,.cf-printbtn:hover{border-color:var(--blue)}
.markbtn.done{background:var(--good2);border-color:var(--good);color:var(--good)}
.nextbtn{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;color:var(--blue-ink);background:none;border:none;cursor:pointer;min-height:24px;padding:4px 2px}
.nextbtn:hover{color:var(--blue)}

.fieldlbl{font-weight:700;color:var(--ink);font-size:13px}
.chk{color:var(--blue-ink);background:var(--blueSoft);border-radius:6px;padding:8px 11px;font-size:14px;margin:8px 0 0}


.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 0}
.two .col{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.two h2,.two h3{margin:0 0 12px}

.gi-h{margin:34px 0 12px;padding-top:22px;border-top:1px solid var(--line2)}
.gi-h + p{margin-top:0}
.two ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.two li{position:relative;padding-left:26px;font-size:15px;color:var(--ink2);line-height:1.45}
.two li::before{position:absolute;left:0;top:0;font-weight:800;font-family:var(--sans)}
.two .yes li::before{content:"+";color:var(--good)}
.two .no li::before{content:"\00d7";color:var(--warn)}


.outlook{margin:30px 0 4px;padding:24px 24px 20px;background:var(--bg2);border:1px solid var(--line);border-radius:12px}
.outlook-h{margin:0 0 6px}
.outlook-intro{font-size:16px;color:var(--ink2);margin:0 0 20px;max-width:68ch}
.statstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 22px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 16px 14px}
.stat-big{font-family:var(--disp);font-weight:800;font-size:24px;letter-spacing:-0.02em;line-height:1.05;color:var(--ink)}
.stat-label{font-size:12px;line-height:1.35;color:var(--ink3);margin:8px 0 0}
.outlook-p{font-size:16px;color:var(--ink2);margin:0 0 14px;max-width:70ch}
.outlook-p:last-of-type{margin-bottom:6px}
.step .outlook-src{font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--ink4);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line2);max-width:78ch}
.outlook-bh{margin:22px 0 8px}
.outlook-bul{margin:2px 0 6px;padding:0;list-style:none;display:grid;gap:9px}
.outlook-bul li{position:relative;padding-left:20px;font-size:15px;color:var(--ink2);line-height:1.5;max-width:72ch}
.outlook-bul li::before{content:"";position:absolute;left:3px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.outlook-bul b{color:var(--ink)}
@media (max-width:640px){.statstrip{grid-template-columns:1fr 1fr}.outlook{padding:20px 18px}}



.takeaways{background:var(--blueSoft);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:12px;padding:18px 22px;margin:0 0 24px;max-width:74ch}
.takeaways .tk-h{margin:0 0 10px}
.takeaways ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.takeaways li{position:relative;padding-left:20px;font-size:15px;color:var(--ink2);line-height:1.5}
.takeaways li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--blue)}


.matlist{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}
.mathead,.matsum{display:grid;grid-template-columns:1.5fr 1.3fr 0.9fr 2.6fr 22px;gap:16px;align-items:center;padding:12px 18px}
.mathead{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink3);font-weight:600;background:var(--bg2);border-bottom:1.5px solid var(--line)}
.matrow{border-bottom:1px solid var(--line2)}
.matrow:last-child{border-bottom:none}
.matsum{cursor:pointer;list-style:none;transition:background 140ms ease}
.matsum::-webkit-details-marker{display:none}
.matsum:hover{background:var(--bg2)}
.matrow[open]>.matsum{background:var(--bg2)}
.matname{margin:0}
.matfam,.matdiff,.matwtk{font-size:14px;color:var(--ink2)}
.matwtk{color:var(--ink3)}
.matchev{justify-self:end;color:var(--ink4);font-size:18px;line-height:1;transition:transform 180ms ease}
.matrow[open] .matchev{transform:rotate(90deg);color:var(--blue)}
.matbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:30px;padding:22px 20px 26px;background:var(--bg2);border-top:1px solid var(--line)}
.mtext{min-width:0}
.matbody .mlede{font-size:15px;color:var(--ink);line-height:1.55;margin:0 0 18px;max-width:64ch}
.mfacts{display:grid;gap:15px}
.matbody .mfacts p{margin:0;font-size:15px;color:var(--ink2);line-height:1.55;max-width:64ch}
.mfacts .fieldlbl{display:block;margin:0 0 3px}
.mside .ph{margin:0;aspect-ratio:4/3;min-height:0}
.matrow[open]>.matsum .matname{color:var(--blue)}
@media (max-width:760px){.matbody{grid-template-columns:1fr;gap:18px}.mside{order:-1}.mside .ph{max-width:420px}}
@media (max-width:720px){
  .mathead{display:none}
  .matsum{grid-template-columns:1fr 22px;gap:6px 12px;row-gap:2px}
  .matsum .matfam{grid-column:1;font-size:12px;color:var(--ink3)}
  .matsum .matdiff{grid-column:1;font-size:12px}
  .matsum .matwtk{grid-column:1;order:5}
  .matchev{grid-row:1;grid-column:2}
}



.macclist{margin-top:6px}
.macc-sum{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,22ch) 22px;gap:16px;align-items:center;padding:12px 18px;cursor:pointer;list-style:none;transition:background 140ms ease}
.macc-sum::-webkit-details-marker{display:none}
.macc-sum:hover{background:var(--bg2)}
.macc[open]>.macc-sum{background:var(--bg2)}
.ph.macc-thumb{margin:0!important;width:56px;height:56px;min-height:0;aspect-ratio:1;border-radius:8px;overflow:hidden;display:block;padding:0;position:relative;background:var(--bg2);border-style:solid}
.macc-thumb figcaption{display:none}
.macc-head{min-width:0;overflow-wrap:break-word}
.macc-head .cat{display:inline-block;margin:0 0 2px}
.macc-head h2{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-0.01em;line-height:1.3;margin:0;color:inherit}
.macc[open]>.macc-sum .macc-head h2{color:var(--blue)}
.macc[open]>.macc-sum .matchev{transform:rotate(90deg);color:var(--blue)}
.macc-brands,.macc-where{font-family:var(--mono);font-size:12px;color:var(--ink4);letter-spacing:0.01em;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.macc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:30px;padding:6px 18px 22px;background:var(--bg2)}
.macc-body .mtext{min-width:0}
.macc-body .mlede{font-size:15px;color:var(--ink2);line-height:1.55;margin:0 0 14px;max-width:64ch}
.macc-body .mside .ph{margin:0;aspect-ratio:4/3;min-height:0}
.mn-callout{margin:0 0 14px}
.mn-lbl{display:block;margin-bottom:4px}

.macc-common{display:inline-block;margin-top:5px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.01em;color:var(--ink3);padding:2px 9px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}
.macc-body .mpara{font-size:14px;color:var(--ink2);line-height:1.6;margin:0 0 12px;max-width:64ch}
.gtk{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:7px}
.gtk li{position:relative;padding-left:18px;font-size:14px;color:var(--ink2);line-height:1.5}
.gtk li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--blueHi)}

.glance{margin:2px 0 18px;display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;padding:13px 15px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.glance dt{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;font-weight:600;color:var(--ink3);white-space:nowrap;padding-top:2px;line-height:1.35}
.glance dd{margin:0;font-size:14px;color:var(--ink);line-height:1.4}
.msec{margin:0}
.msh{margin:18px 0 7px}
.msec .mpara{margin:0 0 8px}
.mbul{margin:0 0 4px;padding:0;list-style:none;display:grid;gap:6px}
.mbul li{position:relative;padding-left:17px;font-size:14px;color:var(--ink2);line-height:1.5}
.mbul li::before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blueHi)}
.mmakes{margin:16px 0 0;padding-top:13px;border-top:1px solid var(--line)}
.makelist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.makelist li{font-family:var(--mono);font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);white-space:nowrap}
.mk-b{font-weight:600;color:var(--ink2)}
.mk-m{color:var(--ink4);margin-left:6px}
.mtrend{margin:14px 0 0;font-size:13px;line-height:1.55;color:var(--ink2);background:var(--blueSoft);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:9px;padding:10px 13px}
.mtrend b{color:var(--blue-ink);font-weight:700}

.step .racc-also{font-size:13px;color:var(--ink3);font-style:italic;margin:0 0 12px}
.racc>.macc-sum>.macc-head{grid-column:2}
.racc>.macc-sum>.macc-where{grid-column:3}
.racc>.macc-sum>.matchev{grid-column:4}
@media(max-width:900px){.racc>.macc-sum>.matchev{grid-column:3}}
.rfield{margin:0 0 16px}
.rlbl{display:block;margin:0 0 7px}
.rfield ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.rfield li{position:relative;padding-left:18px;font-size:14px;color:var(--ink2);line-height:1.5}
.rfield li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.rfield p{font-size:14px;color:var(--ink2);line-height:1.55;margin:0;max-width:60ch}
.rchecks{margin:0}
.rchecks ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.rchecks li{position:relative;padding-left:20px;font-size:14px;color:var(--ink2);line-height:1.5}
.rchecks li::before{content:"?";position:absolute;left:0;top:0;font-weight:800;color:var(--blue-ink);font-family:var(--sans)}

@media (max-width:900px){
  .macc-sum{grid-template-columns:56px minmax(0,1fr) 22px}
  .macc-brands,.macc-where{display:none}
}
@media (max-width:640px){
  .macc-sum{grid-template-columns:48px minmax(0,1fr) 22px}
  .macc-body{grid-template-columns:1fr;gap:16px}
  .macc-body .mside{order:-1}
  .ph.macc-thumb{width:48px;height:48px}
}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.checklist li{position:relative;padding-left:30px;font-size:15px;color:var(--ink2);line-height:1.5}
.checklist li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--blueSoft);border:1.5px solid var(--blue)}
.qa{display:flex;flex-direction:column;gap:16px}
.qa .q{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 20px}
.qa .q h2,.qa .q h3{display:block;margin:0 0 5px}
.qa .q p{font-size:14px;color:var(--ink3);margin:0}
.callout{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:22px 0 0}
.callout b{color:var(--ink)}
.metros{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 22px}
.metro{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-family:var(--sans);font-weight:600;font-size:14px;color:var(--ink2);background:var(--panel)}


.floorwrap{margin:6px 0 0}
.floorlead{background:var(--blueSoft);border-radius:12px;padding:14px 18px;margin:0 0 18px;font-size:15px;color:var(--ink2)}
.floorlead b{color:var(--ink)}
.stagekey{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.stagechip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 13px 6px 7px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink2);cursor:default}
.stagechip .sd{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--mono);font-size:11px;font-weight:500}

.floorgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
.floorplan{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:14px;overflow-x:auto}
.floorplan svg{width:100%;height:auto;display:block;font-family:var(--sans)}
.hot{cursor:pointer}
.hot .box{transition:fill .14s ease,stroke-width .14s ease}
.hot:hover .box,.hot:focus .box,.hot.on .box{fill:var(--blueSoft);stroke-width:2.6}
.hot:focus{outline:none}
.hot:focus-visible .box,.hot:focus-visible .shape{stroke:var(--blue);stroke-width:3}
.hot:focus-visible{outline:2.5px solid var(--blueHi);outline-offset:2px}
.hot text{fill:var(--ink2)}
.hot .deco{pointer-events:none}

.hot .shape{transition:fill .14s ease}
.hot:hover .shape,.hot:focus .shape,.hot.on .shape{fill:var(--blueSoft)}
.hot .ring{fill:none;stroke:var(--blue);stroke-width:0;opacity:0;transition:stroke-width .14s ease,opacity .14s ease;pointer-events:none}
.hot:hover .ring,.hot:focus .ring,.hot.on .ring{stroke-width:3.5;opacity:1}
.hot .dot{fill:var(--blue);opacity:.9;transition:opacity .14s ease}
.hot:hover .dot,.hot:focus .dot,.hot.on .dot{opacity:0}
.floorplan.kitchen{background:var(--bg2)}
.floorplan.kitchen svg{min-width:0;max-height:420px;margin:0 auto}
.hpanel{position:sticky;top:154px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 24px;min-height:340px}
.hpanel .ky{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#fff;padding:3px 9px;border-radius:999px;margin-bottom:10px}
.hpanel .hp-t{margin:0 0 10px;color:var(--ink)}
.hpanel p{font-size:15px;color:var(--ink2);margin:0 0 10px}
.hpanel .sub{font-weight:700;color:var(--ink);font-size:13px}
.hpanel .wrong{color:var(--warn);background:var(--warn2);border-radius:8px;padding:9px 12px;font-size:14px}
.hpanel .how{background:var(--bg2);border-radius:8px;padding:9px 12px;font-size:14px}
.hpanel .pnote{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 10px}
.hpanel .pnote .sub{display:block;color:var(--blueHi);margin-bottom:5px}
.hpanel .pnote p{font-size:14px;color:var(--ink2);line-height:1.5;margin:0 0 8px}
.hpanel .pnote p:last-child{margin-bottom:0}

.walkthrough{margin:22px 0 0;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}
.walkthrough > summary{cursor:pointer;list-style:none;padding:14px 18px;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px}
.walkthrough > summary::-webkit-details-marker{display:none}
.walkthrough > summary::before{content:"+";font-family:var(--mono);font-size:17px;line-height:1;color:var(--blue);font-weight:700}
.walkthrough[open] > summary::before{content:"–"}
.walkthrough[open] > summary{border-bottom:1px solid var(--line)}
.wt-body{padding:4px 20px 22px}
.wt-body .jw-stage{margin:24px 0 2px;padding-bottom:6px;border-bottom:1px solid var(--line2)}
.wt-body .jw-item{margin:12px 0 0}
.wt-body .jw-item h2,
.wt-body .jw-item h3{margin:16px 0 6px}
.wt-body .jw-item p{font-size:14px;color:var(--ink2);line-height:1.55;margin:0 0 7px;max-width:70ch}
.wt-body .jw-item p b{color:var(--ink)}
.wt-body .jw-chk{color:var(--ink3);font-style:italic}
.wt-body .jw-note{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:2px 0 8px}
.wt-body .jw-note b{display:block;color:var(--blueHi);margin-bottom:4px}
.wt-body .jw-note span{display:block;font-size:13px;color:var(--ink2);line-height:1.5;margin-bottom:6px}
.wt-body .jw-note span:last-child{margin-bottom:0}
.hpanel .idle{color:var(--ink4);font-size:15px}


.qfilters{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 14px}
.qfilter,.gfilter{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 13px;min-height:28px;cursor:pointer;transition:.14s ease}
.qfilter:hover,.gfilter:hover{border-color:var(--blue);color:var(--ink)}
.qfilter.on,.gfilter.on{background:var(--blue-ink);border-color:var(--blue-ink);color:var(--on-accent)}
.qf-n{font-family:var(--mono);font-size:11px;opacity:0.6;margin-left:2px}
.qfilter.on .qf-n,.gfilter.on .qf-n{opacity:0.85}
.quizbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px 18px;margin:0 0 20px;position:sticky;top:150px;z-index:5}

.quizlist{display:grid;gap:16px}
.quizq{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.quizq .q-num{margin:0 0 6px}
.quizq .q-prompt{font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:0;color:var(--ink);line-height:1.4;margin:0 0 14px;max-width:64ch}
.q-opts{display:grid;gap:8px}
.q-opt{text-align:left;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:11px 15px;cursor:pointer;transition:border-color 140ms ease,background 140ms ease,color 140ms ease;position:relative}
.q-opt:hover:not(:disabled){border-color:var(--blue);color:var(--ink);background:var(--blueSoft)}
.q-opt:disabled{cursor:default}
.q-opt.correct{border-color:var(--good);background:var(--good2);color:var(--good)}
.q-opt.correct::after{content:"✓";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--good)}
.q-opt.incorrect{border-color:var(--bad);background:var(--bad2);color:var(--bad)}
.q-opt.incorrect::after{content:"×";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:800;color:var(--bad)}
.q-explain{margin-top:12px;background:var(--bg2);border-radius:8px;padding:11px 14px;font-size:14px;color:var(--ink2);line-height:1.55}
.q-verdict{font-weight:700}
.q-verdict.v-right{color:var(--good)}
.q-verdict.v-wrong{color:var(--warn)}
@media (max-width:980px){.quizbar{position:static}}


.ph{margin:0 0 12px;border-radius:8px;border:1.5px dashed var(--line);background:var(--bg2);display:flex;flex-direction:column;justify-content:flex-end;min-height:110px;aspect-ratio:3/2;position:relative;overflow:hidden;padding:10px 12px}
.ph.keep{border-style:solid;border-color:color-mix(in srgb,var(--good) 40%,var(--line))}
.ph.svg{border-color:color-mix(in srgb,var(--blue) 45%,var(--line))}
.ph figcaption{font-size:12px;color:var(--ink3);font-style:italic;line-height:1.4;background:linear-gradient(transparent,var(--bg2) 45%);padding-top:14px}

.ph.has-img{border:1px solid var(--line);padding:0;background:var(--bg2)}
.ph.has-img .phimg{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ph.has-img figcaption{position:relative;z-index:1;margin-top:auto;color:#fff;font-style:normal;background:linear-gradient(transparent,rgba(0,0,0,0.74));padding:26px 12px 10px;text-shadow:0 1px 3px rgba(0,0,0,0.55)}
.ph.macc-thumb.has-img{border:1px solid var(--line);background:var(--bg2)}
.ph.macc-thumb.has-img .phimg{border-radius:inherit}


.ft{border-top:1px solid var(--line);background:var(--panel);margin-top:60px}
.ft .in{max-width:1500px;margin:0 auto;padding:26px 40px;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center}
.ft .wm{font-size:16px}
.ft nav{display:flex;gap:20px;flex-wrap:wrap}
.ft nav a{font-size:14px;font-weight:600;color:var(--ink3);display:inline-block;min-height:24px;padding:3px 0}
.ft nav a:hover{color:var(--blue)}
.ft .legal{margin-left:auto;font-size:13px;color:var(--ink4);max-width:44ch;text-align:right}



@media (max-width:1180px){
  .shell{grid-template-columns:1fr;gap:0}
  .rail{position:static;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg2)}
  .rail .rows{display:flex;overflow-x:auto;gap:4px;scroll-snap-type:x proximity;min-width:0}
  .pathrow{width:auto;flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
  .railtoggle{display:none}
}

@media (max-width:860px){
  .floorgrid{grid-template-columns:1fr}
  .hpanel{position:static}
}
@media (max-width:640px){
  .hd-in{padding:0 20px;gap:12px}.hero,.prog .in,.shell,.ft .in{padding-left:20px;padding-right:20px}
  .two{grid-template-columns:1fr}.ft .legal{margin-left:0;text-align:left}
  .prog .lbl{display:none}
}



.macc[open]>.macc-sum .macc-head h2,
.matrow[open]>.matsum .matname{color:var(--blue)}
.wt-body .jw-note b{color:var(--blue-ink)}


.floorplan svg .lbl,.floorplan svg text{fill:#2A3138}
.hot text{fill:#2A3138}
:root[data-theme="dark"] .floorplan,
:root[data-theme="dark"] .floorplan.kitchen{background:#EDEFF1}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .floorplan,
  :root:not([data-theme="light"]) .floorplan.kitchen{background:#EDEFF1}
}

.floorplan{min-height:0}

.floorplan svg{min-width:0;width:auto;height:auto;max-width:100%;max-height:760px;margin:0 auto}


.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gsearch{display:block;margin:14px 0 0;max-width:520px}
.gsearch input{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--panel);
  border:1px solid var(--line);border-radius:6px;padding:11px 14px;min-height:44px}
.gsearch input:focus-visible{border-color:var(--blue);outline:2.5px solid var(--blueHi);outline-offset:1px}
.gcount{margin:12px 0 0}
.glist{margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--line)}
.gterm{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:4px 26px;
  padding:15px 0;border-bottom:1px solid var(--line2)}
.gterm[hidden]{display:none}
.glist dt{min-width:0}
.glist dd{margin:0;font-size:15px;line-height:1.55;color:var(--ink2);max-width:64ch;min-width:0}
.gcat{display:block;margin-top:4px}
@media(max-width:720px){
  .gterm{grid-template-columns:1fr;gap:6px}
  .gcat{display:inline-block;margin:0 0 0 8px}
}




.prog .lbl,
.rail .h,
.rlbl,
.wt-body .jw-stage,
.quizscore,
.quizq .q-num,
.gcount{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3);line-height:1.3}

.takeaways .tk-h,
.macc-head .cat,
.mn-lbl{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;line-height:1.3;color:var(--blue-ink)}

.mathead,
.mfacts .fieldlbl,
.gcat{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;line-height:1.35;color:var(--ink3)}

.two h2,
.two h3,
.outlook-bh,
.matname,
.qa .q h2,
.qa .q h3,
.wt-body .jw-item h2,
.wt-body .jw-item h3,
.glist dt,
.dcard h3,
.msh{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-0.01em;line-height:1.3;color:var(--ink)}

.gi-h,
.outlook-h,
.hpanel .hp-t{font-family:var(--disp);font-size:20px;font-weight:700;letter-spacing:-0.02em;line-height:1.2}


.dsect{margin:0 0 34px}
.dlist{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:18px 0 0}
.dcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.dcard h3{margin:0 0 8px}
.dcard p{font-size:14px;line-height:1.55;color:var(--ink2);margin:0 0 10px;max-width:none}
.dcard .dchk{margin:0;padding-top:10px;border-top:1px solid var(--line2);font-size:14px;color:var(--ink2)}


.edgewrap{display:flex;flex-direction:column;gap:16px;margin:20px 0 8px}

.edgefig{margin:0;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px 4px;overflow-x:auto;max-width:600px}
.edgefig.edgeprofiles{max-width:640px}
.edgeprofiles .edgediag{min-width:0}
.edgediag{width:100%;min-width:620px;height:auto;display:block;font-family:var(--sans)}
.edgediag .fill-stone{fill:var(--panel)}
.edgediag .stroke-grain{stroke:var(--line);stroke-width:.7}
.edgediag .stroke-edge{stroke:var(--ink3);stroke-width:1.6}
.edgediag .glueline{fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linecap:round}
.edgediag .dim,.edgediag .leader{stroke:var(--ink4);stroke-width:1}
.edgediag .fill-dim{fill:var(--ink4)}
.edgediag .ghost{fill:none;stroke:var(--line);stroke-width:1.4;stroke-dasharray:5 4}
.edgediag .fixture{fill:none;stroke:var(--ink4);stroke-width:2;stroke-linejoin:round}
.edgediag .steelbar{stroke:var(--blue);stroke-width:4}
.edgediag .wallband{fill:var(--line)}
.edgediag .crack{fill:none;stroke:var(--bad);stroke-width:1.8}
.edgediag .dtitle{fill:var(--ink);font-size:14px;font-weight:700}
.edgediag .dsub{fill:var(--ink3);font-size:11px}
.edgediag .dlabel{fill:var(--ink2);font-size:11px}
.edgediag .dmuted{fill:var(--ink3)}
.edgediag .dend{text-anchor:end}
.edgediag .dnote{fill:var(--ink3);font-size:11px}
.edgefig figcaption{font-size:13px;color:var(--ink3);line-height:1.5;padding:4px 2px 8px;margin:0}
.edgediag .cutout{fill:var(--bg2);stroke:var(--ink4);stroke-width:1.6}
.edgediag .veinline{fill:none;stroke:var(--line);stroke-width:1.2}


.jobstart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 16px}
.jobpresets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.jf-note{font-size:12px;color:var(--ink4)}

.jf-startcue{display:inline-flex;align-items:center;gap:7px;font:700 13px/1.2 var(--sans);color:var(--blue-ink);white-space:nowrap}
.jf-arrow{display:inline-block;font-size:17px;line-height:1;animation:jarrow 1.15s ease-in-out infinite}
@keyframes jarrow{0%,100%{transform:translateX(2px)}50%{transform:translateX(-4px)}}

.jtip{position:absolute;z-index:70;max-width:262px;background:var(--ink);color:var(--bg);font:500 12.5px/1.45 var(--sans);padding:8px 11px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,0.22)}
.jtip[hidden]{display:none}
.jobwrap{display:grid;grid-template-columns:248px minmax(0,1fr);gap:24px;align-items:start;margin:24px 0}
.jobwrap>*{min-width:0}
@media(max-width:1200px){.jobwrap{grid-template-columns:248px minmax(0,1fr)}.jobdetail{grid-column:1/-1;position:static}}
@media(max-width:760px){.jobwrap{grid-template-columns:1fr}.jobdetail{grid-column:auto}}
.jobform{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.jf-row{margin:0 0 14px}.jf-row:last-child{margin:0}
.jf-lbl{display:block;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink3);margin:0 0 6px}
.jobform select{width:100%;font:600 14px/1.3 var(--sans);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.jobform input[type=range]{width:100%;min-height:44px;accent-color:var(--blue)}
.jf-seg{display:flex;flex-wrap:wrap;gap:6px}
.jf-pill{font:600 13px/1.2 var(--sans);color:var(--ink2);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;transition:.14s ease}
.jf-pill:hover{border-color:var(--blue);color:var(--ink)}
.jf-pill.on{background:var(--blue-ink);border-color:var(--blue-ink);color:var(--on-accent)}
.jf-pill:focus-visible{outline:2.5px solid var(--blueHi);outline-offset:2px}
.jf-pill:disabled{opacity:.45;cursor:default}
.jobdraw{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.jobsvgwrap{overflow-x:auto}
.jobdraw .jobsvg{width:100%;min-width:660px;height:auto;display:block;font-family:var(--sans)}

.jobsvg .jbub{cursor:pointer}
.jobsvg .jbub .jbub-c{transition:stroke-width .1s ease}
.jobsvg .jbub:hover .jbub-c,.jobsvg .jbub:focus .jbub-c{stroke:var(--blueHi);stroke-width:2.8;outline:none}
.jobsvg .jbub:focus{outline:none}
.jobsvg .jbub.jflash .jbub-c{animation:jbubflash 1000ms ease-out}
@keyframes jbubflash{0%{stroke:var(--blueHi);stroke-width:5.5}70%{stroke-width:2}100%{stroke:var(--blue);stroke-width:1.6}}

.jobnotepop{position:absolute;z-index:8;max-width:290px;width:max-content;display:flex;gap:9px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 6px 20px rgba(0,0,0,0.16);pointer-events:none}
.jobnotepop[hidden]{display:none}
.jnum{flex:0 0 auto;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;border:1.4px solid var(--blue);color:var(--blue-ink);background:var(--panel);font:600 10px/1 var(--mono)}
.jntext{font-size:12.5px;line-height:1.45;color:var(--ink2)}
.jobsvg .jhot{fill:transparent;stroke:transparent;stroke-width:2.4;cursor:pointer;transition:fill .1s ease}
.jobsvg .jhot:hover,.jobsvg .jhot:focus{fill:var(--blueSoft);stroke:var(--blue);outline:none}
@keyframes jfade{from{opacity:.9}to{opacity:0}}

.jobdetail{grid-column:1/-1;position:static;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;min-height:0}
.jd-h{display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3);margin:0 0 10px}
.jd-idle{font-size:15px;color:var(--ink3);margin:0;line-height:1.55}
.jd-cat{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--on-accent);background:var(--blue-ink);padding:3px 9px;border-radius:999px;margin:0 0 10px}
.jd-term{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-0.02em;line-height:1.2;color:var(--ink);margin:0 0 10px}
.jd-def{font-size:15px;color:var(--ink2);margin:0 0 14px;line-height:1.55}
.jd-num2{font-family:var(--disp);font-size:20px;font-weight:800;letter-spacing:-0.02em;line-height:1.1;color:var(--blue-ink);margin:0 0 12px}
.jd-fig{aspect-ratio:16/9;min-height:0;margin:0 0 14px}
.jd-fig figcaption{font-size:11.5px}
.jd-box{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 10px}
.jd-lbl{display:block;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink3);margin:0 0 4px}
.jd-box p{font-size:14px;color:var(--ink2);line-height:1.5;margin:0}
.jd-chips{margin:6px 0 14px}
.jd-check{color:var(--blue-ink);background:var(--blueSoft);border-radius:6px;padding:8px 11px;font-size:14px;line-height:1.5;margin:4px 0 0}

.jobmachines{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:20px 0 0}
.jt-h{display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink3);margin:0 0 8px}
.jt-sub{font-size:12px;color:var(--ink4);margin:14px 0 0;line-height:1.5}
.mchips{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 14px}
.mchip{font:600 12px/1.2 var(--sans);border:1px solid var(--line2);border-radius:999px;padding:4px 9px;color:var(--ink4);transition:.14s ease}
.mchip.on{background:var(--blueSoft);border-color:var(--blue);color:var(--blue-ink)}
.mchip.alt{border-style:dashed;border-color:var(--blue);color:var(--ink3)}
.jt-mlist{list-style:none;margin:0;padding:0}
.jt-mlist.jm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px 24px}
.jt-mlist li{font-size:13px;line-height:1.5;color:var(--ink2);padding-left:12px;border-left:3px solid var(--blue)}
.jt-mlist li.alt{border-left-style:dashed;border-left-color:var(--line)}
.jt-mlist b{color:var(--ink)}
.jt-job{color:var(--ink3)}


.outlook-src{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line2);max-width:78ch}
.outlook-src .srcnote{font-size:13px;line-height:1.55;color:var(--ink3);margin:0 0 12px;max-width:none}
.outlook-src .srchead{margin:0 0 6px}
.srclist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.srclist li{font-size:13px;line-height:1.5;color:var(--ink3)}
.srclist a{color:var(--blue-ink)}


.floorplan{position:relative}
.zoombtn{position:absolute;top:12px;right:12px;z-index:2;font-family:var(--sans);font-size:12px;
  font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink2);
  background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 14px;
  min-height:28px;cursor:pointer;transition:border-color .14s ease,color .14s ease}
.zoombtn:hover{border-color:var(--blue);color:var(--ink)}
.floorwrap.zoomed .floorgrid{grid-template-columns:minmax(0,1fr)}
.floorwrap.zoomed .floorplan svg{max-height:none;width:100%}
.floorwrap.zoomed .hpanel{position:static}


.cf-wrap{margin:6px 0 0}
.cf-form{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px 20px;align-items:end;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 18px}
.cf-form .jf-row{margin:0}
.cf-form select{width:100%;font:600 14px/1.3 var(--sans);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 10px;min-height:40px}
.cf-form select:focus-visible{border-color:var(--blue);outline:2.5px solid var(--blueHi);outline-offset:1px}
.cf-roles{gap:6px}
.cf-out{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px 8px}
.cf-head{margin:0 0 18px}
.cf-head .mn-lbl{margin-bottom:6px}
.step .cf-title{font-family:var(--disp);font-size:20px;font-weight:700;letter-spacing:-0.02em;line-height:1.2;color:var(--ink);margin:0 0 6px;max-width:none}
.step .cf-sub{font-size:15px;color:var(--ink2);margin:0;max-width:70ch}
.cf-tier{margin:0 0 20px;padding-top:16px;border-top:1px solid var(--line2)}
.step .cf-tier-h{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.cf-badge{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;line-height:1.3;padding:5px 10px;border-radius:999px;white-space:nowrap}
.cf-badge.law{background:var(--blue-ink);color:var(--on-accent)}
.cf-badge.job{background:var(--warn2);color:var(--warn)}
.cf-badge.worth{background:var(--good2);color:var(--good)}
.cf-badge.company,.cf-badge.adjacent{background:var(--bg2);color:var(--ink3);border:1px solid var(--line)}
.cf-count{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink4)}
.cf-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.cf-item{display:flex;flex-direction:column;gap:8px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:15px 16px 14px;min-width:0}
.step .cf-ih{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-0.01em;line-height:1.3;color:var(--ink);margin:0}
.cf-holder{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;line-height:1.35;color:var(--ink3)}
.step .cf-short{font-size:14px;line-height:1.55;color:var(--ink2);margin:0;max-width:none}
.step .cf-short b{color:var(--ink)}
.step .cf-dim{color:var(--ink3)}
.step .cf-note{font-size:13px;line-height:1.5;color:var(--blue-ink);background:var(--blueSoft);border-radius:6px;padding:7px 10px;margin:0;max-width:none}
.step .cf-meta{font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--ink4);margin:0;max-width:none;display:flex;flex-wrap:wrap;gap:2px 14px}
.cf-meta b{font-weight:600;color:var(--ink3)}
.cf-meta a{color:var(--blue-ink)}
.cf-more{margin-top:auto;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--blue-ink);text-decoration:none;padding-top:4px}
.cf-more:hover{text-decoration:underline}
.cf-state{margin:0 0 14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:grid;gap:8px}
.cf-state .mn-lbl{margin:0}
.cf-state .cf-ih{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.cf-pill{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;line-height:1.2;padding:4px 10px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}
.cf-pill.v-license{background:var(--blueSoft);border-color:color-mix(in srgb,var(--blue) 40%,var(--line));color:var(--blue-ink)}
.cf-pill.v-registration,.cf-pill.v-depends,.cf-pill.v-local{background:var(--warn2);border-color:color-mix(in srgb,var(--warn) 40%,var(--line));color:var(--warn)}
.cf-pill.v-none{background:var(--bg2);color:var(--ink3)}
.cf-pill.v-unverified{background:transparent;border-style:dashed;color:var(--ink4)}
.cf-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 4px}

.cred .macc-sum{grid-template-columns:minmax(0,1fr) minmax(0,26ch) 22px}
.cred .macc-head h3{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-0.01em;line-height:1.3;margin:0;color:inherit}
.cred[open]>.macc-sum .macc-head h3{color:var(--blue)}
.cred .macc-common{margin-left:8px}
.cf-body{grid-template-columns:minmax(0,1fr)}
.cf-body .mtext{max-width:76ch}
.cf-links li{font-size:13px}
.step .cf-verified{font-family:var(--mono);font-size:11px;letter-spacing:0.02em;color:var(--ink4);margin:14px 0 0;max-width:none}
@media (max-width:900px){.cred .macc-sum{grid-template-columns:minmax(0,1fr) 22px}}

.cf-ssearch{margin-top:8px}
.cf-stab .mathead,.cf-stab .matsum{grid-template-columns:1.1fr 1.5fr 1.5fr 2.6fr 22px}
.cf-stab .matdiff{font-family:var(--mono);font-size:12px;color:var(--ink3)}
.cf-stab .matsum .matwtk{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cf-srow[hidden]{display:none}
.cf-sbody{grid-template-columns:minmax(0,1fr)}
.cf-sbody .mfacts{margin-top:4px}
@media (max-width:720px){
  .cf-stab .matsum{grid-template-columns:1fr 22px}
  .cf-stab .matsum .matfam,.cf-stab .matsum .matdiff{grid-column:1}
  .cf-stab .matsum .matwtk{grid-column:1;font-size:13px}
}

.cf-calwrap{overflow-x:auto;margin:6px 0 22px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.cf-cal{width:100%;min-width:560px;border-collapse:collapse;font-family:var(--sans)}
.cf-cal th,.cf-cal td{text-align:left;vertical-align:top;padding:12px 16px;border-top:1px solid var(--line2);font-size:14px;line-height:1.5;color:var(--ink2)}
.cf-cal thead th{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;line-height:1.35;color:var(--ink3);background:var(--bg2);border-top:0;border-bottom:1.5px solid var(--line)}
.cf-cal tbody th{font-family:var(--disp);font-size:16px;font-weight:700;letter-spacing:-0.01em;line-height:1.3;color:var(--ink);width:30%}
@media (max-width:640px){
  .cf-form{grid-template-columns:1fr}
  .cf-out{padding:16px 16px 6px}
  .cf-items{grid-template-columns:1fr}
}

@media print{
  html.cf-printing .hd,html.cf-printing .hero,html.cf-printing .prog,html.cf-printing .rail,html.cf-printing .ft,
  html.cf-printing .stepfoot,html.cf-printing .cf-actions,html.cf-printing .cf-form,html.cf-printing .cf-more{display:none!important}
  html.cf-printing .step{display:none}
  html.cf-printing #st-certs{display:block;animation:none}
  html.cf-printing #st-certs>*:not(.cf-wrap):not(h1){display:none}
  html.cf-printing .shell{display:block;padding:0;max-width:none}
  html.cf-printing .cf-out{border:0;padding:0}
  html.cf-printing .cf-items{grid-template-columns:1fr}
  html.cf-printing .cf-item,html.cf-printing .cf-state{break-inside:avoid;border-color:#999}
  html.cf-printing .cf-badge{border:1px solid #999;color:#000;background:none}
}


.hd .wm,.hd .wm:hover{color:var(--ink)}
.rail .h a{color:inherit;text-decoration:none}
.rail .h a:hover{color:var(--blue-ink)}
.crumbs{margin:0 0 14px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:0.04em;line-height:1.4;color:var(--ink4)}
.crumbs li+li::before{content:"\203a";margin-right:6px;color:var(--ink4)}
.crumbs a{color:var(--ink3);text-decoration:none}
.crumbs a:hover{color:var(--blue-ink);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink2)}
.pathhub{max-width:1500px;margin:0 auto;padding:34px 40px 0}
.path-h{font-size:clamp(22px,3vw,26px);letter-spacing:-0.02em;margin:0 0 16px}
.pathlist{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-width:840px}
.pathlist .pathrow{padding:16px;align-items:flex-start;width:100%;white-space:normal}
.pathlist .pl-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.pathlist .pl-title{font-weight:500;font-size:14px;line-height:1.35;color:var(--ink3)}
.pathlist .pl-min{margin-left:auto;flex:0 0 auto;font-family:var(--mono);font-size:11px;color:var(--ink4);padding-top:6px;white-space:nowrap}
.prevbtn{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink3);text-decoration:none;min-height:24px;padding:4px 2px}
.prevbtn:hover{color:var(--blue-ink)}
.nextbtn{text-decoration:none}
@media (max-width:640px){.pathhub{padding-left:20px;padding-right:20px}}


:root{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark}}
button,input,select,textarea{font-family:var(--sans)}
.path-h{font:800 clamp(26px,4vw,30px)/1.1 var(--disp);letter-spacing:-.026em}
.ep-card-top{font:500 12px/1.55 var(--mono)}
.ep-page-nav a,.ep-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
.btn,.markbtn,.cf-printbtn,.nextbtn,.prevbtn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn:hover{background:var(--blue-ink)}
.qfilter,.jf-pill,.cf-form select,.jobform select{min-height:44px}
.dlist,.jt-mlist.jm-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.dcard,.cf-item,.mtext{min-width:0}
.dcard,.stat,.jd-box,.cf-item,.cf-state{border-radius:8px}
.mtrend{border-radius:8px}
.step a{overflow-wrap:anywhere}
.step summary{scroll-margin-top:150px}
.macc[open]>.macc-sum .macc-head :is(h2,h3),.matrow[open]>.matsum :is(.matname,.matchev){color:var(--blue-ink)}
.macc[open]>.macc-sum .matchev{color:var(--blue-ink)}
.cf-badge.job,.cf-pill:is(.v-registration,.v-depends,.v-local){color:color-mix(in srgb,var(--warn) 80%,var(--ink))}
.cf-badge.worth{color:color-mix(in srgb,var(--good) 85%,var(--ink))}
.stagechip .sd{background:var(--blue-ink)!important;color:var(--on-accent)}
.pathlist .pl-t{flex:1}.pathlist .pl-short{font:700 16px/1.3 var(--disp);letter-spacing:-.01em;color:var(--ink)}
@media(max-width:640px){.pathlist .pathrow{flex-wrap:wrap}.pathlist .pl-min{margin:0 0 0 38px;padding:0}.hd .wm{font-size:16px}.hd .btn{padding:10px 12px;font-size:12px}.jobwrap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1180px){.shell.rail-collapsed{grid-template-columns:minmax(0,1fr)}.shell.rail-collapsed .rail .rows{display:flex}.shell.rail-collapsed .rail .h{display:block}}


#kt-anatomy{scroll-margin-top:150px}
