/* ============================================================
   ResourceHub Help Guide — Odegi brand styling
   Outfit · orange #E54F10 as the single accent · greyscale
   ============================================================ */
:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --surface-alt:#FAFAFA;
  --text:#1a1a1a; --text-muted:#6b7280; --text-faint:#9aa0a8;
  --border:#e5e7eb; --border-strong:#d9dde3;

  --orange:#E54F10; --orange-hover:#F4733B; --orange-tint:#FCEAE0;
  --cream:#F6F1E9;

  /* semantic callouts — muted, so orange stays the loudest thing on the page */
  --conf:#1F7A55; --conf-bg:#EDF6F1;
  --val:#9A6410;  --val-bg:#FBF3E5;
  --issue:#A32D2D; --issue-bg:#FBEBEB;
  --sol:#E54F10;  --sol-bg:#FCEAE0;   /* links + interactive: brand orange */
  --accent:#E54F10;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--bg); color:var(--text); font-size:15px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--orange); text-decoration:none}
a:hover{color:var(--orange-hover)}
button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:2px solid var(--orange); outline-offset:3px; border-radius:4px;
}

/* layout */
.shell{display:grid; grid-template-columns:300px 1fr; min-height:100vh; max-width:1320px; margin:0 auto}
.side{
  border-right:1px solid var(--border); background:var(--surface);
  padding:24px 0 40px; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.main{padding:48px 64px 120px; min-width:0}

/* sidebar head */
.brand{padding:0 22px 20px; border-bottom:1px solid var(--border); margin-bottom:16px}
.brand-id{display:flex; align-items:center; gap:10px; margin-bottom:18px}
.brand-logo{width:30px; height:30px; border-radius:7px; object-fit:cover; display:block}
.brand-name{font-size:19px; font-weight:600; letter-spacing:-.02em; color:var(--text)}
.brand-id:hover .brand-name{color:var(--orange)}
.eyebrow{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--orange)}
.brand-title{
  font-family:inherit; font-weight:400; font-size:21px; letter-spacing:-.02em;
  line-height:1.22; margin-top:7px; color:var(--text);
}
.brand .v{font-size:12px; color:var(--text-faint); margin-top:6px}

/* nav */
.grp{margin-bottom:1px}
.grp-btn{
  width:100%; display:flex; align-items:center; gap:10px; text-align:left;
  background:none; border:none; cursor:pointer; font-family:inherit;
  padding:10px 22px; font-size:14.5px; font-weight:500; color:var(--text); line-height:1.4;
  border-left:2px solid transparent; transition:background .14s, color .14s;
}
.grp-btn:hover{background:var(--surface-alt)}
.grp-btn.on{background:var(--surface-alt); color:var(--text); font-weight:600; border-left-color:var(--orange)}
.chev{font-size:9px; color:var(--text-faint); transition:transform .15s; display:inline-block; width:9px}
.grp.open .chev{transform:rotate(90deg)}
.grp-num{font-size:11px; color:var(--text-faint); font-weight:600; min-width:12px}
.grp-btn.on .grp-num{color:var(--orange)}
.kids{display:none; padding:2px 0 10px}
.grp.open .kids{display:block}
.kid{
  width:100%; text-align:left; background:none; border:none; cursor:pointer; font-family:inherit;
  padding:7px 22px 7px 52px; font-size:13.5px; color:var(--text-muted); line-height:1.5;
  display:block; position:relative; transition:background .14s, color .14s;
}
.kid:hover{background:var(--surface-alt); color:var(--text)}
.kid.on{color:var(--text); font-weight:600; background:var(--surface-alt)}
.kid.on::before{content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--orange)}
.kid .n{color:var(--text-faint); font-weight:400; margin-right:7px; font-size:12px}
.kid.on .n{color:var(--orange)}
.solo .grp-btn{font-weight:500}

/* content */
.crumb{
  font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--text-faint); margin-bottom:18px;
}
/* ☰ in the breadcrumb bar opens the guide pages sheet; phones only (desktop has the sidebar) */
.crumb-menu{display:none; background:none; border:0; padding:0; margin:0 18px 0 0; width:24px; height:24px;
  color:var(--text); cursor:pointer; vertical-align:middle; align-items:center; justify-content:center}
.crumb-menu svg{display:block}
@media (max-width:900px){ .crumb-menu{display:inline-flex} }
h1.t{
  font-family:inherit; font-weight:400; font-size:clamp(30px,3.4vw,40px);
  letter-spacing:-.02em; line-height:1.1; margin-bottom:18px; color:var(--text);
}
h1.t.has-icon{display:flex; align-items:center; gap:16px}
h1.t .t-icon{width:38px; height:38px; flex:0 0 auto; color:var(--text-faint)}
@media (max-width:900px){ h1.t .t-icon{width:30px; height:30px} }
.lede{color:var(--text-muted); font-size:17px; line-height:1.6; max-width:62ch; margin-bottom:40px}
.body{max-width:74ch}
h1.t + .body, h1.t + .lede + .body, .body > *:first-child{margin-top:0}
h1.t:not(:has(+ .lede)) + .body{padding-top:14px}
.body p{margin-bottom:16px}
.body h2,.body h3{font-size:21px; font-weight:400; letter-spacing:-.015em; line-height:1.25; margin:44px 0 16px}
.body h2:first-child,.body h3:first-child{margin-top:0}
.body h3.has-icon{display:flex; align-items:center; gap:14px; margin-bottom:16px}
.update-section > h3 + p{margin-bottom:26px}
.body h3 .h3-icon{width:30px; height:30px; flex:0 0 auto; color:var(--text-faint)}
.body ul,.body ol{margin:0 0 24px 20px}
.body li{margin-bottom:10px}
.body ol > li{margin-bottom:12px}
.body strong,.body b{font-weight:600}
.body code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px;
  background:var(--surface-alt); padding:2px 6px; border-radius:5px; border:1px solid var(--border);
}
.body a{color:var(--orange); text-decoration:underline; text-underline-offset:2px; text-decoration-color:#f0b79c}
.body a:hover{color:var(--orange-hover); text-decoration-color:currentColor}
.body a.update-method,.body a.hub-card,.body a.start-cta-btn,.body a.scope-path,.body a.resource-choice,.body a.scope-option,.body a.ts-tab{text-decoration:none}
.body a.ts-tab{color:var(--text-muted)}

/* tables */
table{width:100%; border-collapse:collapse; font-size:14px; margin:4px 0 18px; background:var(--surface)}
th{
  text-align:left; font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  color:var(--text-faint); padding:0 14px 10px 0; border-bottom:1px solid var(--border-strong);
}
td{padding:11px 14px 11px 0; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55}
tr:last-child td{border-bottom:none}
td:first-child,th:first-child{padding-left:14px}
.tbl-wrap{border:1px solid var(--border); border-radius:12px; overflow:hidden; margin:8px 0 32px}
.field-reference{margin:24px 0 32px; border:1px solid var(--border); border-radius:12px; background:var(--surface); overflow:hidden}
.field-reference summary{cursor:pointer; padding:15px 18px; font-weight:600; color:var(--orange); background:var(--surface-alt)}
.field-reference[open] summary{border-bottom:1px solid var(--border)}
.field-reference-intro{padding:16px 18px 0; margin:0; color:var(--text-muted)}
.field-reference .tbl-wrap{margin:16px 18px 18px}

/* shared reference modal */
body.modal-open{overflow:hidden}
.ref-modal{display:none; position:fixed; inset:0; z-index:1000}
.ref-modal.open{display:block}
.ref-modal-backdrop{position:absolute; inset:0; background:rgba(17,24,39,.46)}
.ref-modal-panel{
  position:absolute; left:50%; top:5vh; transform:translateX(-50%);
  width:min(1180px,calc(100vw - 40px)); height:90vh;
  background:var(--bg); border:1px solid var(--border); border-radius:16px;
  box-shadow:0 40px 80px -30px rgba(17,24,39,.35); overflow:hidden; display:flex; flex-direction:column;
}
.ref-modal-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:24px 28px 20px; border-bottom:1px solid var(--border); background:var(--surface);
}
.ref-modal-head h2{
  font-family:inherit; font-size:30px; line-height:1.12; font-weight:400;
  letter-spacing:-.02em; margin:4px 0 6px;
}
.ref-modal-head p{margin:0; color:var(--text-muted); font-size:15px}
#csv-reference-modal .ref-modal-head{align-items:center; padding:16px 28px}
#csv-reference-modal .ref-modal-head h2{margin:0; font-size:22px; letter-spacing:-.01em}
.ref-modal-close{
  flex:0 0 auto; border:1.5px solid var(--border); background:var(--surface); color:var(--text);
  border-radius:9px; padding:10px 15px; font:600 14px/1 'Outfit',system-ui,sans-serif; cursor:pointer;
  transition:border-color .15s, color .15s;
}
.ref-modal-close:hover{border-color:var(--text); color:var(--text)}
.ref-modal-body{overflow:auto; padding:26px 28px 38px}
.ref-modal-body.body{max-width:none}
.ref-modal-body .edu{max-width:78ch}
.ref-modal-body #csv-field-reference{overflow:visible; margin:20px 0 0}
#csv-field-reference th:first-child{border-top-left-radius:12px}
#csv-field-reference th:last-child{border-top-right-radius:12px}
#csv-mode[data-mode="add"] #csv-field-reference th:nth-child(3){border-top-right-radius:12px}
#csv-field-reference tr:last-child td:first-child{border-bottom-left-radius:12px}
#csv-field-reference tr:last-child td:last-child{border-bottom-right-radius:12px}
.ref-modal-body #csv-field-reference table{min-width:0; table-layout:fixed}
#csv-field-reference th{
  position:sticky; top:0; z-index:2;
  box-shadow:inset 0 -1px 0 var(--border), 0 8px 14px -10px rgba(17,24,39,.28);
}
#csv-field-reference col.c-name{width:26%}
#csv-field-reference col.c-desc{width:30%}
#csv-field-reference col.c-ex{width:22%}
#csv-field-reference col.c-blank{width:22%}
#csv-mode[data-mode="add"] #csv-field-reference col.c-desc{width:42%}
#csv-mode[data-mode="add"] #csv-field-reference col.c-ex{width:32%}
#csv-mode[data-mode="add"] #csv-field-reference col.c-blank{width:0}
#csv-field-reference td.gr{padding:12px 14px}
.gr-note{display:block; margin-top:5px; font-size:13px; font-weight:400; letter-spacing:0; text-transform:none; color:var(--text-muted); line-height:1.55}
.gr-note code{text-transform:none; letter-spacing:0}
#csv-field-reference td,#csv-field-reference th{overflow-wrap:anywhere}
#csv-field-reference td:first-child{overflow-wrap:normal}
#csv-field-reference td:first-child code{white-space:nowrap}
@media(max-width:700px){
  .ref-modal-panel{top:0; width:100vw; height:100vh; border-radius:0; border-left:0; border-right:0}
  .ref-modal-head{padding:18px 20px 14px}
  .ref-modal-head h2{font-size:25px}
  .ref-modal-body{padding:20px 18px 32px}
}
.tbl-wrap table{margin:0}
.tbl-wrap th{padding-top:13px; background:var(--surface-alt)}
td.gr{
  background:var(--surface-alt); font-size:11px; font-weight:600; letter-spacing:.13em;
  text-transform:uppercase; color:var(--text-muted); padding:10px 14px;
}

/* group box with clickable bullet fields */
.gbox-t{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin:18px 0 7px}
.glist{list-style:none; margin:0 0 6px; padding:0}
.glist > li{margin-bottom:1px}
.fbul summary{
  list-style:none; cursor:pointer; padding:4px 0 4px 18px; position:relative;
  font-size:14.5px; color:var(--text);
}
.fbul summary::-webkit-details-marker{display:none}
.fbul summary::before{
  content:"\203A"; position:absolute; left:2px; top:3px; color:var(--text-faint);
  font-size:13px; transition:transform .15s;
}
.fbul[open] summary::before{transform:rotate(90deg); color:var(--orange)}
.fbul summary .hint{font-size:12.5px; font-weight:400; color:var(--text-faint); margin-left:8px}
.fbul[open] summary .hint{display:none}
.fbul summary:hover{color:var(--orange)}
.fbul.inl{display:inline}
.fbul.inl summary{display:inline; padding:0}
.fbul.inl summary::before{position:static; margin-right:4px}
.fbul.inl .fbulb{padding-left:0}
.mdl{font-size:14.5px; color:var(--orange); text-decoration:underline; text-underline-offset:2px}
.sumline{display:block; font-size:13.5px; font-weight:400; color:var(--text-muted); text-decoration:none; margin-top:3px; line-height:1.55}
.fbul summary:hover .sumline{text-decoration:none; color:var(--text-muted)}
.fbul[open] summary{font-weight:600}
.fbulb{padding:2px 0 8px 18px; font-size:13.5px; color:var(--text-muted); line-height:1.6}
.subul{list-style:none; margin:0 0 8px; padding:0}
.subul li{padding:6px 0 6px 16px; position:relative; margin:0}
.subul li::before{content:"\2022"; position:absolute; left:0; top:6px; color:var(--orange)}
.subul .sn{font-size:14.5px; font-weight:600; color:var(--text); display:block}
.subul .sd{font-size:13.5px; color:var(--text-muted); display:block; line-height:1.55; margin-top:2px}
.obox{border:1px solid var(--border); border-radius:12px; background:var(--surface); margin-bottom:12px; overflow:hidden; transition:border-color .18s}
.obox:hover{border-color:var(--border-strong)}
.obox-h{
  width:100%; text-align:left; background:none; border:none; cursor:pointer; font-family:inherit;
  padding:15px 17px; display:flex; align-items:center; gap:12px;
}
.obox-h:hover{background:var(--surface-alt)}
.obox-h .ot{font-size:15px; font-weight:600; color:var(--text); white-space:nowrap}
.obox-h .op{font-size:13px; color:var(--text-muted); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.obox-h .oc{font-size:12px; color:var(--text-faint); transition:transform .15s}
.obox.open .oc{transform:rotate(90deg); color:var(--orange)}
.obox-b{display:none; padding:2px 17px 15px; border-top:1px solid var(--border)}
.obox.open .obox-b{display:block}
.obox-b .orow{display:grid; grid-template-columns:180px 1fr; gap:14px; padding:11px 0; border-bottom:1px solid var(--border)}
.obox-b .orow:last-child{border-bottom:none}
.obox-b .ok{font-size:14.5px; font-weight:600}
.obox-b .ov{font-size:14.5px; color:var(--text-muted); line-height:1.55}
@media (max-width:700px){ .obox-b .orow{grid-template-columns:1fr; gap:4px} }

/* chips + callouts */
.chip{
  display:inline-block; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:4px 8px; border-radius:6px; vertical-align:middle;
}
.c-vid{background:var(--orange-tint); color:var(--orange)}
.c-check{background:var(--val-bg); color:var(--val)}
.c-biz{background:var(--conf-bg); color:var(--conf)}
.c-fix{background:var(--issue-bg); color:var(--issue)}

.call{
  border-left:3px solid var(--border-strong); background:var(--surface-alt); padding:16px 20px;
  margin:8px 0 28px; border-radius:0 10px 10px 0; font-size:14.5px; line-height:1.6;
}
.call.tip{border-left-color:var(--orange); background:var(--orange-tint)}
.call.warn{border-left-color:var(--val); background:var(--val-bg)}
.call.stop{border-left-color:var(--issue); background:var(--issue-bg)}
.call .lbl{
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  display:block; margin-bottom:6px; opacity:.9;
}

.vidslot{
  border:1px dashed var(--border-strong); border-radius:12px; padding:15px 17px; margin:6px 0 20px;
  background:var(--surface); display:flex; align-items:center; gap:13px;
}
.vidslot .txt{font-size:13.5px; color:var(--text-muted)}
.vidslot .txt b{color:var(--text); font-weight:600; display:block; font-size:14.5px}

/* real embedded walkthrough */
.vidblock{margin:40px 0 40px; max-width:74ch}
.vidblock-label{font-size:14px; font-weight:600; color:var(--text); margin-bottom:11px}
.vidframe{
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  border:1px solid var(--border); border-radius:12px; background:var(--surface-alt);
}
.vidframe iframe{position:absolute; top:0; left:0; width:100%; height:100%; border:0}

.result{
  border-left:3px solid var(--conf); background:var(--conf-bg); border-radius:0 10px 10px 0;
  padding:16px 20px; margin:28px 0 28px; font-size:14.5px; line-height:1.6;
}
.result .lbl{
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  display:block; margin-bottom:6px; color:var(--conf);
}

/* educational blocks — warm cream, the approved Odegi surface tone */
.edu{
  border:0; border-left:3px solid var(--border-strong); background:var(--surface-alt); border-radius:0 10px 10px 0;
  padding:20px 22px; margin:8px 0 36px; font-size:14.5px; line-height:1.6; max-width:74ch;
}
.edu .edu-title{font-size:15px; font-weight:600; color:var(--text); margin-bottom:10px}
.edu p{margin-bottom:10px}
.edu p:last-child{margin-bottom:0}

.shot{
  border:1px dashed var(--border-strong); border-radius:12px; padding:28px 20px; margin:8px 0 28px;
  background:repeating-linear-gradient(135deg,#fafafa,#fafafa 14px,#f4f4f5 14px,#f4f4f5 28px);
  text-align:center; font-size:13px; color:var(--text-faint); letter-spacing:.02em;
}
.shotcap{font-size:12.5px; color:var(--text-faint); margin-top:10px; margin-bottom:28px; text-align:center}

.where{
  font-size:13px; color:var(--text-muted); background:var(--surface-alt);
  border:1px solid var(--border); border-radius:8px; padding:9px 13px; margin-bottom:24px; display:inline-block;
}
.where b{color:var(--text); font-weight:600}

.followup{
  margin:24px 0 32px; padding:16px 20px; border-left:3px solid var(--orange);
  border-radius:0 10px 10px 0; background:var(--orange-tint);
  color:var(--text-muted); font-size:14px; line-height:1.6;
}
.followup .q{font-weight:600; color:var(--text); margin-bottom:5px}
.followup p{margin:0}

/* bulk-add scope */
.scope-paths{display:grid; grid-template-columns:1fr; gap:14px; margin:16px 0 40px}
.scope-path{border:1px solid var(--border); border-radius:14px; padding:22px 24px; background:var(--surface)}
.scope-title{display:block; font-size:16px; font-weight:600; margin-bottom:4px; letter-spacing:-.01em}
.scope-desc{display:block; font-size:14px; line-height:1.6; color:var(--text-muted)}
.scope-group{border:1px solid var(--border); border-radius:14px; padding:18px 20px; background:var(--surface)}
.scope-options{display:grid; grid-template-columns:1fr; gap:10px; margin-top:14px}
.scope-option{
  width:100%; text-align:left; cursor:pointer; font:inherit; color:var(--text);
  border:1px solid var(--border); border-radius:11px; padding:14px 15px; background:var(--surface-alt);
  transition:border-color .18s, background .18s;
}
.scope-option:hover{background:var(--surface); border-color:var(--orange)}
.scope-option .scope-title{font-size:15px; margin-bottom:3px}
.scope-option .scope-desc{font-size:13.5px}
.scope-path:has(> .sp-icon){display:grid; grid-template-columns:34px 1fr; column-gap:14px; align-items:start}
.scope-path .sp-icon{
  grid-column:1; grid-row:1 / span 2; width:34px; height:34px; display:block;
  color:var(--text-faint); margin-top:1px; transition:color .18s;
}
.scope-path:hover .sp-icon{color:var(--orange)}
.scope-path > .sp-icon ~ .scope-title,.scope-path > .sp-icon ~ .scope-desc{grid-column:2}
.scope-path.bulk-choice{
  width:100%; text-align:left; cursor:pointer; font:inherit; color:var(--text);
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.scope-path.bulk-choice:hover{
  border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange); transform:none;
}
.bulk-source-paths{gap:14px}
.primary-source{padding:24px 26px}
.primary-source .scope-title{font-size:18px; font-weight:500; margin-bottom:6px}
h3.scope-title{font-family:inherit; line-height:1.65; margin-top:0; color:var(--text)}
.primary-source .scope-desc{font-size:14.5px}
.bulk-computer-paths{margin-top:16px}
.bulk-computer-paths .scope-path{padding:18px}
.bulk-computer-paths .scope-title{font-size:16px}
.bulk-flow-view{display:none}
.bulk-flow-view.on{display:block}
.bulk-specific{display:none}
.bulk-specific.on{display:block}

/* first-resource chooser */
.resource-picker{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:16px 0 40px}
.resource-choice{
  width:100%; text-align:left; border:1px solid var(--border); background:var(--surface);
  border-radius:14px; padding:18px 20px; cursor:pointer; font-family:inherit; color:var(--text);
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.resource-choice:hover{
  border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange); transform:none;
}
.resource-choice{display:grid; grid-template-columns:34px 1fr; column-gap:14px; align-items:start}
.resource-choice .rc-icon{
  grid-column:1; grid-row:1 / span 2; width:34px; height:34px; display:block;
  color:var(--text-faint); margin-top:1px; transition:color .18s;
}
.resource-choice:hover .rc-icon{color:var(--orange)}
.resource-choice .rc-title{grid-column:2}
.resource-choice .rc-desc{grid-column:2}
.resource-choice .rc-title{display:block; font-family:inherit; font-size:16px; font-weight:600; line-height:1.65; margin:0 0 4px; letter-spacing:-.01em; color:var(--text)}
.body a.resource-choice{color:var(--text)}
.resource-choice .rc-desc{display:block; font-size:14px; line-height:1.6; color:var(--text-muted); font-weight:400}
.type-switch{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 36px}
.ts-tab{
  display:inline-flex; align-items:center; gap:8px; font-family:inherit; font-size:14px; font-weight:500;
  color:var(--text-muted); background:var(--surface); border:1px solid var(--border); border-radius:999px;
  padding:9px 16px 9px 13px; cursor:pointer; transition:color .15s, border-color .15s, background .15s;
}
.ts-tab svg{width:17px; height:17px; flex:0 0 auto}
.ts-tab:hover{color:var(--text); border-color:var(--text-faint)}
#resource-flow-view[data-resource="file"] .ts-tab[data-kind="file"],
#resource-flow-view[data-resource="video"] .ts-tab[data-kind="video"],
#resource-flow-view[data-resource="article"] .ts-tab[data-kind="article"],
#resource-flow-view[data-resource="link"] .ts-tab[data-kind="link"],
#bulk-flow-view[data-bulk="computer"] .ts-tab[data-bulk="computer"],
#bulk-flow-view[data-bulk="online"] .ts-tab[data-bulk="online"]{
  color:var(--orange); border-color:var(--orange); background:var(--orange-tint); font-weight:600;
}
.resource-flow-view{display:none}
.resource-flow-view.on{display:block}
.resource-specific{display:none}
.resource-specific.on{display:block}
.article-anchor-nav{display:flex;flex-wrap:wrap;gap:10px 20px;margin:6px 0 30px}
.article-anchor-nav a{font-weight:600}
.update-methods,.article-options{margin-top:14px;margin-bottom:56px}
.update-method{display:block;color:var(--text);text-decoration:none;scroll-margin-top:24px;font:inherit;text-align:left;cursor:pointer;width:100%}
.update-method:hover{border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange)}
.update-method .scope-title{color:var(--text)}
.update-section{scroll-margin-top:24px}
.update-flow-view{display:none}
.update-flow-view.on{display:block}
.update-flow-view .update-section{display:none}
.update-flow-view[data-update="csv"] .update-section[data-update="csv"],
.update-flow-view[data-update="list"] .update-section[data-update="list"]{display:block}
.update-section > h3.has-icon{display:none}
#update-flow-view[data-update="csv"] .ts-tab[data-update="csv"],
#update-flow-view[data-update="list"] .ts-tab[data-update="list"]{
  color:var(--orange); border-color:var(--orange); background:var(--orange-tint); font-weight:600;
}

/* CSV reference mode switch */
.ref-modal-body .type-switch{margin:0}
.csv-sticky{margin:0 -28px; padding:22px 28px 0}
#csv-reference-modal .ref-modal-body{padding-top:0}
@media(max-width:700px){.csv-sticky{margin:0 -18px; padding:18px 18px 0}}
.csv-modehead{display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:0 0 12px}
.csv-modelabel{font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--text-muted)}
.csv-modehead h2{margin:0; white-space:nowrap}
.rq{color:var(--orange); font-weight:700; margin-left:3px}
.csv-legend{margin:0 0 2px; font-size:14px; color:var(--text-muted)}
.csv-legend .rq{margin:0 2px 0 0}
#csv-mode[data-mode="add"] td:has(.rq[data-csv-mode="add"]) code,
#csv-mode[data-mode="update"] td:has(.rq[data-csv-mode="update"]) code{font-weight:700}
.ref-modal-body > p[data-csv-mode]{margin:0}
#csv-mode[data-mode="add"] .ts-tab[data-mode="add"],
#csv-mode[data-mode="update"] .ts-tab[data-mode="update"]{
  color:var(--orange); border-color:var(--orange); background:var(--orange-tint); font-weight:600;
}
#csv-mode[data-mode="add"] [data-csv-mode="update"],
#csv-mode[data-mode="update"] [data-csv-mode="add"]{display:none}
#csv-mode[data-mode="add"] .blank-col{display:none}
.article-flow{display:block;scroll-margin-top:24px}
.article-flow{margin-top:8px;padding-top:44px;border-top:1px solid var(--border)}
.article-flow + .article-flow{margin-top:56px}
.article-flow > h3 + ol,.article-flow > h3 + p{margin-top:0}
#resource-flow-view[data-resource="article"] #resource-status-step,
#resource-flow-view[data-resource="article"] #resource-common-steps{display:none}
#resource-flow-view[data-resource="article"] .page-content-step{display:none}
.preview-copy{display:none}
#resource-flow-view[data-resource="file"] .preview-file{display:inline}
#resource-flow-view[data-resource="video"] .preview-video{display:inline}
#resource-flow-view[data-resource="article"] .preview-article{display:inline}
#resource-flow-view[data-resource="link"] .preview-link{display:inline}
.result-article{display:none}
#resource-flow-view[data-resource="article"] .result-generic{display:none}
#resource-flow-view[data-resource="article"] .result-article{display:block}
.rtype-copy{display:none}
#resource-flow-view[data-resource="file"] .rtype-file{display:inline}
#resource-flow-view[data-resource="video"] .rtype-video{display:inline}
#resource-flow-view[data-resource="article"] .rtype-article{display:inline}
#resource-flow-view[data-resource="link"] .rtype-link{display:inline}
@media (max-width:600px){
  .resource-picker{grid-template-columns:1fr}
  .resource-choice{padding:16px}
}

.help-cta{
  display:flex; align-items:center; gap:24px;
  margin:56px 0 0; padding:26px 28px; background:var(--cream); border-radius:14px; max-width:74ch;
}
.help-cta-photo{width:64px; height:64px; border-radius:50%; object-fit:cover; flex:0 0 auto; display:block}
.help-cta-body{flex:1; min-width:0}
.help-cta-meta{margin-top:10px; font-size:13px; color:var(--text-muted)}
.help-cta-actions{flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-start; gap:10px}
.help-cta-phone{font-size:14px; font-weight:500; color:var(--text); text-decoration:none}
.help-cta-phone:hover{color:var(--orange)}
.help-cta-kicker{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); margin-bottom:8px}
.help-cta p{margin:0; font-size:15px; line-height:1.6; color:var(--text); max-width:56ch}
.help-cta-btn{
  flex:0 0 auto; display:inline-block; font-size:14px; font-weight:600; color:#fff; background:var(--text);
  border-radius:10px; padding:12px 20px; text-decoration:none; transition:background .15s;
}
.help-cta-btn:hover{background:#000; color:#fff}
@media (max-width:700px){ .help-cta{flex-direction:column; align-items:flex-start; padding:22px} .help-cta-actions{flex-direction:row; align-items:center; gap:18px} }
.pager{display:flex; justify-content:space-between; gap:14px; margin-top:64px; padding-top:28px; border-top:1px solid var(--border)}

/* format bullets under step 2 */
.flist{margin:10px 0 2px; font-weight:400}
.fitem{
  display:block; width:100%; text-align:left; background:none; border:none; cursor:pointer;
  font-family:inherit; padding:7px 10px 7px 20px; position:relative; border-radius:8px;
}
.fitem::before{content:"\2022"; position:absolute; left:5px; top:7px; color:var(--text-faint)}
.fitem:hover .fn{color:var(--orange)}
.fitem .fn{font-size:15px; font-weight:600; color:var(--text); transition:color .15s}
.fitem .fdd{font-size:13.5px; color:var(--text-muted); display:block; line-height:1.55}
.fitem.on{background:var(--surface-alt)}
.fitem.on::before{color:var(--orange)}
.fpane{display:none}
.fpane.on{display:block}
.xref{
  background:none; border:none; padding:0; cursor:pointer;
  font:inherit; color:var(--orange); text-decoration:underline; text-underline-offset:2px;
}
.xref:hover{color:var(--orange-hover)}
.req{
  font-size:14px; background:var(--surface-alt); border:1px solid var(--border);
  border-radius:10px; padding:13px 17px; margin:16px 0 12px; line-height:1.6;
}
.req b{font-weight:600}
.fdl{margin:12px 0 0}
.fdl .row{display:grid; grid-template-columns:104px 1fr; gap:14px; padding:9px 0; border-bottom:1px solid var(--border)}
.fdl .row:last-child{border-bottom:none}
.fdl .k{font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--text-faint); padding-top:3px}
.fdl .v{font-size:14.5px; line-height:1.55}
.ui{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px;
  background:var(--surface-alt); border:1px solid var(--border); border-radius:5px; padding:2px 7px;
}
.pager button{
  font-family:inherit; font-size:14px; font-weight:500; background:var(--surface);
  border:1.5px solid var(--border); border-radius:10px; padding:11px 16px; cursor:pointer;
  color:var(--text); max-width:47%; text-align:left; line-height:1.4;
  transition:border-color .15s, color .15s;
}
.pager button:hover{border-color:var(--orange); color:var(--orange)}
.pager button:disabled{opacity:.34; cursor:default}
.pager button:disabled:hover{border-color:var(--border); color:var(--text)}

.fp-steps{display:grid; grid-template-columns:1fr; gap:14px; margin:16px 0 8px; counter-reset:fp}
.fp-step{border:1px solid var(--border); border-radius:14px; padding:22px 24px; background:var(--surface); display:grid; grid-template-columns:40px 1fr; column-gap:18px}
.fp-step .fp-n{width:40px; height:40px; border-radius:50%; background:var(--orange); color:#fff; font-weight:600; font-size:17px; display:flex; align-items:center; justify-content:center}
.fp-step h3{margin:6px 0 6px; font-size:19px; font-weight:400; letter-spacing:-.015em}
.fp-step p{margin:0 0 8px; font-size:14.5px; line-height:1.6; color:var(--text-muted)}
.fp-step p:last-child{margin-bottom:0}
.fp-step .fp-do{color:var(--text)}
.fp-step ol{margin:10px 0 0}
.fp-step .scope-paths{margin:16px 0 18px}
@media (max-width:640px){.fastpath{grid-template-columns:1fr; row-gap:10px}}

/* section hub pages */
.hub-flow{font-size:13.5px; font-weight:500; color:var(--text-muted); margin:0 0 24px}
.hub-grid{display:grid; grid-template-columns:1fr; gap:14px; margin:16px 0 40px}
.hub-card{
  width:100%; text-align:left; border:1px solid var(--border); background:var(--surface);
  border-radius:14px; padding:24px 26px; cursor:pointer; font-family:inherit; color:var(--text);
  display:block; transition:border-color .18s, box-shadow .18s, transform .18s;
}
.hub-card:hover{
  border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange); transform:none;
}
.hub-card{display:grid; grid-template-columns:44px 1fr; column-gap:18px; align-items:start}
.hub-card .hc-icon{
  grid-column:1; grid-row:1 / span 3; width:44px; height:44px; display:block;
  color:var(--text-faint); margin-top:2px; transition:color .18s;
}
.hub-card:hover .hc-icon{color:var(--orange)}
.hub-card .hc-kicker{
  grid-column:2; display:block; font-size:11px; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-muted); margin-bottom:4px;
}
.hub-card .hc-title{grid-column:2}
.hub-card .hc-desc{grid-column:2}
.hub-card .hc-title{display:block; font-size:19px; font-weight:400; letter-spacing:-.015em; margin-bottom:5px; color:var(--text)}
.hub-card:hover .hc-title{color:var(--orange)}
.hub-card .hc-desc{display:block; font-size:14.5px; line-height:1.6; color:var(--text-muted); font-weight:400}
.crumb-link{
  border:0; background:none; padding:0; font:inherit; color:var(--text); text-transform:inherit;
  letter-spacing:inherit; cursor:pointer;
}
.crumb-link:hover{color:var(--orange); text-decoration:underline}
.crumb-sep{display:inline-block; margin:0 8px; color:var(--text-faint)}
.crumb-current{color:var(--text-faint)}

.mobile-menu-btn{display:none}

@media (max-width:900px){
  .shell{display:block; max-width:none; min-height:100vh}
  .side{position:static; height:auto; min-height:100vh; border-right:none; border-bottom:none; padding-bottom:48px}
  .main{padding:0 22px 80px}

  .side{display:none}

  .brand{padding-top:8px}
  .crumb{
    position:sticky; top:0; z-index:30; margin:0 -22px 16px; padding:14px 22px;
    background:rgba(255,255,255,.94); border-bottom:1px solid var(--border);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  }
  h1.t{font-size:28px}
  .body{max-width:none}
  .pager{margin-top:34px}
}

/* ---- static build additions ---- */
.side-foot{padding:26px 22px 0; margin-top:22px; border-top:1px solid var(--border); font-size:13px; color:var(--text-faint)}
.side-foot a{color:var(--text-muted)}
.side-foot a:hover{color:var(--orange)}
.kid-cur{color:var(--text); font-weight:600; background:var(--surface-alt)}
a.grp-btn,a.kid{text-decoration:none}
.skip{position:absolute; left:-9999px}
.skip:focus{left:12px; top:12px; z-index:60; background:#fff; padding:10px 14px; border:1px solid var(--border); border-radius:8px}
.rel{margin:48px 0 0; padding-top:26px; border-top:1px solid var(--border)}
.rel-t{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-faint); margin-bottom:12px}
.rel ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.rel a{font-size:14.5px; font-weight:500}
.pager{align-items:flex-start}
.pager a,.pager .pg-dis{
  font-family:inherit; font-size:14px; font-weight:500; background:var(--surface);
  border:1.5px solid var(--border); border-radius:10px; padding:11px 16px;
  color:var(--text); max-width:47%; line-height:1.4; text-decoration:none; display:block;
}
.pager a:hover{border-color:var(--orange); color:var(--orange)}
.pager .pg-dis{opacity:.34; cursor:default}
.pager .pg-dis:last-child{text-align:right}
#csv-page .csv-sticky{margin:0; padding:0 0 4px; position:static}
#csv-page{margin-top:8px}
@media (max-width:900px){ .mobile-menu-btn{display:flex} }

/* ---- "New to ResourceHub?" install CTA — sidebar footer (persistent) + article end (mobile only) ---- */
.newto-k{font-size:13px; font-weight:600; color:var(--text); margin-bottom:2px}
.side-foot .newto-cta{display:inline-block; font-size:14px; font-weight:600; color:var(--orange); text-decoration:none; margin-bottom:3px}
.side-foot .newto-cta:hover{color:var(--orange-hover)}
.newto-sub{font-size:12.5px; line-height:1.5; margin-top:3px}
.side-foot .newto-sub a{color:var(--text-faint); font-weight:400}
.side-foot .newto-sub a:hover{color:var(--orange)}
.newto-inline{display:none}
@media (max-width:900px){
  .newto-inline{
    display:block; margin:34px 0 0; padding:20px 0 0; border-top:1px solid var(--border);
    font-size:13px; color:var(--text-faint); line-height:1.7;
  }
  .newto-inline .newto-k{display:inline; margin:0}
  .newto-inline .newto-cta{font-size:14px; font-weight:600; color:var(--orange); text-decoration:none}
  .newto-inline .newto-cta:hover{color:var(--orange-hover)}
  .newto-inline .newto-sub{display:inline; font-size:13px}
}

/* ---- overview / landing page ---- */
.body h2.ov-h{font-size:22px; font-weight:400; letter-spacing:-.02em; line-height:normal; margin:40px 0 16px}
.body > .ov-h:first-child{margin-top:0}
.ideal{list-style:none; display:grid; gap:9px; margin:0 0 34px}
.ideal li{
  display:grid; grid-template-columns:18px 1fr; column-gap:14px; align-items:start;
  font-size:15px; line-height:1.6; color:var(--text-muted);
}
.ideal li svg{width:18px; height:18px; color:var(--conf); margin-top:4px}
.ideal li strong{color:var(--text); font-weight:600}
.start-cta{
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
  background:var(--cream); border-radius:16px; padding:26px 30px; margin:34px 0 8px;
}
.start-cta-title{font-size:19px; font-weight:600; letter-spacing:-.01em; margin-bottom:6px}
.start-cta p{font-size:14.5px; line-height:1.6; color:var(--text-muted); max-width:46ch; margin:0}
.start-cta-btn,.body a.start-cta-btn{
  display:inline-block; background:var(--orange); color:#fff; font-size:15px; font-weight:600;
  padding:13px 26px; border-radius:10px; white-space:nowrap; transition:background .16s;
}
.start-cta-btn:hover,.body a.start-cta-btn:hover{background:var(--orange-hover); color:#fff}
@media (max-width:640px){ .start-cta{padding:22px} .start-cta-btn{width:100%; text-align:center} }

/* ---- section 2 (3.0 structure) ---- */
.call.guide{border-left-color:#6B8FCB; background:#F1F6FD}
.edu.guide{border-left-color:#6B8FCB; background:#F1F6FD}
.org-switch .ts-tab.active{color:var(--orange); border-color:var(--orange); background:var(--orange-tint); font-weight:600}
.example-tree{display:grid; gap:4px; min-width:175px}
.example-tree .tree-item{display:flex; align-items:center; gap:7px; line-height:1.35}
.example-tree .tree-item.child{margin-left:22px; color:var(--text-muted)}
.example-tree .folder-icon{width:15px; height:12px; flex:0 0 auto; color:var(--text-faint)}
.example-fields{line-height:1.35}
.example-fields ul{margin:6px 0 0 16px; padding:0}
.example-fields li{margin:2px 0; color:var(--text-muted)}
.field-label{color:var(--text-muted); font-size:12px; margin-left:4px}
.shotimg img{height:auto}

/* 2.3 access */
.security-footnote{display:flex; gap:12px; align-items:flex-start; margin:18px 0 34px; max-width:74ch; padding:16px 18px; border:1px solid var(--border); border-radius:10px; background:var(--surface-alt)}
.security-footnote svg{width:20px; height:20px; flex:0 0 20px; margin-top:2px; color:var(--text-muted)}
.security-footnote p{margin:0; font-size:14px; line-height:1.6; color:var(--text-muted)}
.security-footnote p b{color:var(--text)}
.small-note{font-size:13px; line-height:1.6; color:var(--text-muted); max-width:74ch; margin:-14px 0 28px}

.stepaside{margin-left:60px}
.stepaside .shotcap{margin-bottom:22px}
@media (max-width:640px){.stepaside{margin-left:0}}


/* ============================================================
   MARKETING-SITE CHROME — header + footer wrapped around the guide
   matches rhomev7.html · added 10 Sept 2026
   ============================================================ */
.wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
.mk-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:inherit; font-size:16px; font-weight:600; line-height:1;
  padding:13px 24px; border-radius:10px; border:1.5px solid transparent;
  cursor:pointer; background:var(--orange); color:#fff; text-decoration:none; white-space:nowrap;
  transition:background .15s;
}
.mk-btn:hover{ background:var(--orange-hover); color:#fff; }

header.mk{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
header.mk .mknav{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:68px; }
header.mk .mkbrand{ display:flex; align-items:center; gap:11px; text-decoration:none; }
header.mk .mkbrand img{ width:34px; height:34px; border-radius:9px; object-fit:cover; display:block; }
header.mk .mkbrand span{ font-size:20px; font-weight:600; letter-spacing:-.02em; color:var(--text); }
header.mk .nav-links{ display:flex; align-items:center; gap:30px; }
header.mk .nav-links a{ font-size:15px; font-weight:500; color:#333; text-decoration:none; }
header.mk .nav-links a:hover{ color:var(--orange); }
header.mk .nav-links a.cur{ color:var(--orange); }
header.mk .nav-cta{ display:flex; align-items:center; gap:16px; }
header.mk .nav-toggle{ display:none; background:none; border:0; padding:0; width:42px; height:42px; cursor:pointer; color:var(--text); align-items:center; justify-content:center; }
header.mk .nav-toggle svg{ display:block; }
@media (max-width:900px){
  header.mk .nav-toggle{ display:inline-flex; }
  header.mk .nav-cta, header.mk .nav-links{ display:none; }
  /* menu button opens the main site menu, same dropdown as the main site pages */
  header.mk.nav-open .nav-links{ display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; background:#fff; border-bottom:1px solid var(--border); padding:6px 0 10px; box-shadow:0 24px 40px -26px rgba(0,0,0,0.28); }
  header.mk.nav-open .nav-links a{ padding:13px 32px; font-size:16px; }
}

/* ---- mobile nav sheet (single menu: guide contents + site links) ---- */
.nav-scrim{
  position:fixed; inset:0; background:rgba(18,20,24,.46); z-index:90;
  opacity:0; pointer-events:none; transition:opacity .22s ease;
}
body.sheet-open .nav-scrim{opacity:1; pointer-events:auto}
.nav-sheet{
  position:fixed; top:0; right:0; bottom:0; width:min(390px,89vw); z-index:91;
  background:#fff; display:flex; flex-direction:column; overscroll-behavior:contain;
  transform:translateX(102%); transition:transform .26s cubic-bezier(.32,.72,0,1);
  box-shadow:-20px 0 50px -12px rgba(18,20,24,.26);
}
body.sheet-open .nav-sheet{transform:none}
@media (max-width:900px){ body.sheet-open{overflow:hidden} }
.ns-head{
  flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 10px 14px 20px; border-bottom:1px solid var(--border);
}
.ns-head-title{font-size:12.5px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--text-faint)}
.ns-close{
  width:44px; height:44px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  background:none; border:0; border-radius:10px; cursor:pointer; color:var(--text);
}
.ns-close:hover{background:var(--surface-alt); color:var(--orange)}
.ns-body{flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:8px 0 18px}
.ns-link{
  display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 20px;
  font-size:15.5px; font-weight:500; color:var(--text); text-decoration:none; line-height:1.35;
  border-left:2px solid transparent;
}
.ns-link .ns-num{flex:0 0 auto; min-width:14px; font-size:11px; font-weight:600; color:var(--text-faint)}
.ns-link.on{background:var(--orange-tint); font-weight:600; border-left-color:var(--orange)}
.ns-link.on .ns-num{color:var(--orange)}
.ns-sub{min-height:44px; padding:8px 20px 8px 44px; font-size:14.5px; font-weight:400; color:var(--text-muted)}
.ns-sub.on{color:var(--text)}
.ns-kicker{
  font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-faint); padding:20px 20px 6px; margin-top:6px; border-top:1px solid var(--border);
}
.ns-foot{flex:0 0 auto; padding:14px 20px calc(18px + env(safe-area-inset-bottom)); border-top:1px solid var(--border)}
.ns-cta{
  display:flex; align-items:center; justify-content:center; min-height:50px; border-radius:11px;
  background:var(--orange); color:#fff; font-size:16px; font-weight:600; text-decoration:none;
}
.ns-cta:hover{background:var(--orange-hover); color:#fff}
@media (min-width:901px){ .nav-sheet,.nav-scrim{display:none} }

footer.mk{ background:#1A1A1A; color:#fff; padding:64px 0 30px; }
footer.mk a{ text-decoration:none; }
.foot{ display:flex; align-items:flex-start; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.foot-brand { max-width: 430px; }
.foot-logo{ display:inline-flex; align-items:center; gap:10px; color:#fff; }
.foot-logo img{ height:28px; width:auto; display:block; }
.foot-logo span{ font-size:20px; font-weight:600; letter-spacing:-.01em; color:#fff; }
.foot-tag{ font-size:15px; color:#9aa1ad; margin:18px 0 0; line-height:1.55; }
.foot-by-line{ display:block; font-size:13.5px; color:#9aa1ad; margin:18px 0 0; line-height:1.6; }
.foot-by-line img{ height:15px; width:auto; display:inline-block; vertical-align:-2px; margin-left:3px; margin-right:0; }
.foot-by-line a{ color:inherit; font-weight:400; }
.foot-by-line a:hover{ color:var(--orange); }
.foot-cols{ display:flex; gap:60px; flex-wrap:wrap; padding-top:4px; }
.foot-col{ display:flex; flex-direction:column; max-width:260px; }
.foot-col-title{ font-size:12.5px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#7c828c; margin:0 0 15px; }
.foot-col a{ font-size:15px; color:#cfd3da; font-weight:500; padding:5px 0; }
.foot-col a:hover{ color:var(--orange); }
.foot-bottom{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:46px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; color:#7c828c; }
.foot-legal{ display:flex; gap:22px; }
.foot-bottom a{ color:#7c828c; }
.foot-bottom a:hover{ color:var(--orange); }

/* guide layout aligned to the same 1240px container as the chrome */
.shell{ min-height:0; max-width:1240px; margin:0 auto; padding:0 32px; grid-template-columns:248px 1fr; column-gap:64px; }
.side{ top:68px; height:calc(100vh - 68px); padding:38px 0 40px; border-right:0; background:transparent; }
.side .brand{ padding:0 14px 16px; border-bottom:0; margin-bottom:6px; }
.side .brand-title{ margin-top:0; font-size:12.5px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--text-faint); }
.side .grp-btn{ padding-left:14px; padding-right:14px; border-radius:8px; border-left:0; }
.side .grp-btn.on{ background:var(--orange-tint); color:var(--text); position:relative; }
.side .grp-btn.on::before{ content:""; position:absolute; left:0; top:4px; bottom:4px; width:2px; border-radius:2px; background:var(--orange); }
.side .grp-btn.on .grp-num{ color:var(--orange); }
.side-foot{ padding-left:14px; padding-right:14px; }
.main{ padding:44px 0 110px; }
@media (max-width:900px){
  .shell{ padding:0 32px; }
  .side{ height:auto; min-height:0; padding:26px 0 30px; }
  .main{ padding:26px 0 80px; }
}
@media (max-width:620px){ .shell, .wrap{ padding:0 20px; } footer.mk{ padding:48px 0 26px; } }

/* hub card titles may be real headings (h2/h3) for structure; keep the original span look */
.hub-card :is(h2,h3,h4).hc-title{margin:0 0 5px; line-height:inherit; font-family:inherit}
/* Bulk Upload: these were headings; same look as plain text */
.picker-q{font-size:21px; font-weight:400; letter-spacing:-.015em; line-height:1.25; margin:0 0 16px; color:var(--text)}
.bulk-source-paths span.scope-title{line-height:1.65; letter-spacing:-.015em; margin-top:0; color:var(--text); text-align:left}
/* Bulk Upload: H2 for each flow. help.js already shows this text as the page title when the
   flow is chosen, so the H2 is kept out of view to avoid showing it twice */
/* Bulk Upload: edu-title became an h3; keep the div look (.body h3 and h3 + p would restyle it) */
.edu h3.edu-title{font-size:15px; font-weight:600; letter-spacing:normal; line-height:24px; margin:0 0 10px; color:var(--text)}
.edu h3.edu-title + p{margin-bottom:10px}
/* Bulk Update: option headings are h2 now; they stay hidden inside their section, as the h3s were */
.update-section > h2.has-icon{display:none}
.update-section > h2 + p{margin-bottom:26px}
/* Bulk Update: "Update only the fields you need" was an h3; keep that look and its paragraph spacing */
.body .fields-q{font-size:21px; font-weight:400; letter-spacing:-.015em; line-height:1.25; margin:44px 0 16px; color:var(--text)}
.body .fields-q + p{margin-top:0; margin-bottom:26px}
/* Organize your library: list links are h2s; keep the plain list-item look */
.body li > h2.li-h{display:inline; font:inherit; letter-spacing:inherit; margin:0}
/* brand-sub: "Document Library" beside the wordmark. header.mk .mkbrand span styles every span as the
   20px wordmark, so this needs a higher-specificity selector */
header.mk .mkbrand span.brand-sub{font-size:15px; font-weight:500; color:#6b7280; letter-spacing:-0.01em; padding-left:11px; margin-left:1px; border-left:1px solid #dfe2e7}
@media (max-width:720px){ header.mk .mkbrand span.brand-sub{display:none} }
.flow-h{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0}

/* ---- Guide Overview install card (Odegi Site 22) ---- */
.install-card{
  display:grid; grid-template-columns:44px 1fr auto; column-gap:18px; align-items:center;
  border:1px solid var(--border); border-radius:14px; padding:22px 24px; background:var(--surface);
  margin:34px 0 40px;
}
.install-card > .hc-icon{width:24px; height:24px; justify-self:center; color:var(--text-faint); margin-top:0}
.install-card .ic-body{min-width:0}
.install-card .hc-kicker{display:block; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin-bottom:4px}
.install-card .hc-title{display:block; font-size:19px; font-weight:400; letter-spacing:-.015em; color:var(--text); margin:0 0 5px; line-height:1.35; font-family:inherit}
.install-card .hc-desc{display:block; font-size:14.5px; line-height:1.6; color:var(--text-muted)}
@media (max-width:640px){
  .install-card{grid-template-columns:1fr; row-gap:14px}
  .install-card > .hc-icon{justify-self:start}
  .install-card .start-cta-btn{width:100%; text-align:center}
}

/* install card CTA: black, secondary to the header's orange Start Free.
   Same specificity as .body a.start-cta-btn, so it MUST stay at the end of this file. */
.install-card .start-cta-btn,
.body .install-card a.start-cta-btn{ background:#1a1a1a; color:#fff }
.install-card .start-cta-btn:hover,
.body .install-card a.start-cta-btn:hover{ background:#000; color:#fff }
