/* Book Editing & Proofreading (service-book-editing.html): page-only styles on top of the
   service-page shell (inline styles, page-hero.css, service-deep.css). Classes are prefixed be-.
   - hero visual: a coded manuscript page with tracked edits and labelled margin notes
   - "Every kind of editing we do": stage rail + one card per editing type
   - "Which edit do I need?": a stage table that page JS turns into a picker (book-editing.js)
   - a four-step version of the shared process track */

/* ---------- hero: manuscript page with tracked changes ---------- */
.ph-visual>.be-ms{padding:0}   /* .ha-card gives the white surface, hairline border, radius and shadow */
.be-ms-bar{display:flex;align-items:center;gap:12px;padding:24px 20px 14px;border-bottom:1px solid var(--ha-line)}
.be-ms-dots{display:flex;gap:6px;flex:none}
.be-ms-dots i{width:9px;height:9px;border-radius:50%;background:#DDE3E8}
.be-ms-dots i:first-child{background:var(--ha-green)}
.be-ms-bar b{margin-right:auto;min-width:0;font:600 .875rem/1.25 var(--ha-body);color:var(--ha-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.be-ms-track{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--ha-green-50);color:var(--ha-green-700);font:600 .75rem/1.2 var(--ha-body)}
.be-ms-track i{width:7px;height:7px;border-radius:50%;background:var(--ha-green)}
.be-ms-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;padding:20px 20px 16px}
.be-ms-ch{margin:0 0 10px;font:700 .6875rem/1.2 var(--ha-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ha-muted)}
.be-ms-p{margin:0 0 12px;font:400 .9375rem/1.72 Georgia,"Times New Roman",serif;color:var(--ha-ink-800)}
.be-ms-dev{padding:8px 10px 8px 13px;border-radius:8px;background:#F5F7F9;box-shadow:inset 3px 0 0 var(--ha-ink-800)}
.be-ms del{padding:0 2px;border-radius:3px;background:#FDEEEE;color:#8A96A3;text-decoration:line-through 2px #D64545}
.be-ms ins{padding:0 2px;border-radius:3px;background:var(--ha-green-50);color:var(--ha-green-700);text-decoration:underline 2px var(--ha-green);text-underline-offset:3px}
.be-ms-lines{display:grid;gap:9px;margin-top:2px}
.be-ms-lines i{display:block;height:8px;width:var(--w);border-radius:99px;background:#EDF0F3}
/* numbered markers in the text, matching the notes in the margin */
.be-mk{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:2px;border-radius:50%;font:700 .625rem/1 var(--ha-body);vertical-align:2px}
.be-k-dev{background:var(--ha-ink-800);color:#fff}
.be-k-line{background:var(--ha-green);color:var(--ha-ink-800)}
.be-k-copy{background:var(--ha-green-50);color:var(--ha-green-700);box-shadow:inset 0 0 0 1px #CFE9C0}
.be-k-proof{background:#EDF0F3;color:var(--ha-ink-800);box-shadow:inset 0 0 0 1px #DDE3E8}
.be-notes{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:start}
.be-note{padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--ha-line-2);box-shadow:0 8px 18px -14px rgba(20,26,34,.35)}
.be-note-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;border-radius:7px;font:700 .6875rem/1.2 var(--ha-body);letter-spacing:.02em}
.be-note-tag .be-mk{margin:0;vertical-align:0;width:15px;height:15px}
.be-note p{margin:6px 0 0;font-size:.8125rem;line-height:1.45;color:var(--ha-text)}
.be-note-dev .be-note-tag{background:var(--ha-ink-800);color:#fff}
.be-note-dev .be-mk{background:#fff;color:var(--ha-ink-800)}
.be-note-line .be-note-tag{background:var(--ha-green);color:var(--ha-ink-800)}
.be-note-line .be-mk{background:var(--ha-ink-800);color:#fff}
.be-note-copy .be-note-tag{background:var(--ha-green-50);color:var(--ha-green-700);box-shadow:inset 0 0 0 1px #CFE9C0}
.be-note-proof .be-note-tag{background:#EDF0F3;color:var(--ha-ink-800);box-shadow:inset 0 0 0 1px #DDE3E8}
.be-ms-foot{display:flex;align-items:center;gap:8px;padding:12px 20px 14px;border-top:1px solid var(--ha-line);font-size:.8125rem;color:var(--ha-muted)}
.be-ms-foot>span:first-child{margin-right:auto}
.be-ms-btn{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--ha-line);font:600 .75rem/1 var(--ha-body);color:var(--ha-ink)}
.be-ms-btn.on{background:var(--ha-green);border-color:var(--ha-green);color:var(--ha-ink-800)}
.be-chip-a{left:-40px;bottom:70px}
.be-chip-b{right:-22px;top:-26px}

/* ---------- every kind of editing ---------- */
.be-types{padding:112px 0}
.be-rail{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.be-rail>li{position:relative;padding:18px;border-radius:20px;background:var(--slate-50);border:1px solid var(--slate-200)}
.be-rail>li:not(:last-child)::after{content:"";position:absolute;top:31px;right:-14px;width:14px;height:2px;background:var(--green-500)}
.be-rail-h{display:flex;align-items:center;gap:10px;margin:0 0 12px;font:600 15px/1.3 var(--body);color:var(--ink-800)}
.be-rail-n{flex:none;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--green-500);color:var(--ink-800);font:700 13px/1 var(--display)}
.be-rail ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.be-rail a{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:999px;background:var(--white);border:1px solid var(--slate-200);font:500 14px/1.2 var(--body);color:var(--ink-700);transition:border-color .2s var(--ease),color .2s var(--ease)}
.be-rail a:hover{border-color:var(--green-500);color:var(--green-700)}

.be-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.be-card{display:flex;flex-direction:column;scroll-margin-top:150px}
.be-card-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.be-card .svc-ic{margin:0;flex:none}
.be-card-n{font:700 15px/1 var(--display);letter-spacing:-.01em;color:var(--slate-400);font-variant-numeric:tabular-nums}
.be-tags{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.be-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--slate-100);color:var(--slate-500);font:500 12.5px/1.3 var(--body);white-space:nowrap}
.be-tag-g{background:var(--green-50);color:var(--green-700)}
.be-card h3{font-size:24px;margin-bottom:6px}
.be-card .be-aka{margin-bottom:14px;font-size:13.5px;line-height:1.5;color:var(--slate-500)}
.be-aka b{font-weight:600;color:var(--ink-700)}
.be-card .be-what{margin-bottom:20px;font-size:15.5px;line-height:1.6;color:var(--ink-700)}
.be-dl{margin:auto 0 0;display:grid;gap:14px;padding-top:18px;border-top:1px dashed var(--slate-200)}
.be-dl dt{font:700 11px/1.2 var(--body);letter-spacing:.05em;text-transform:uppercase;color:var(--green-700)}
.be-dl dd{margin:4px 0 0;font-size:15px;line-height:1.55;color:var(--slate-500)}
.be-card:target{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(116,209,66,.22)}

.be-more{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin-top:24px;padding:22px 26px;border-radius:20px;border:1px dashed var(--slate-300);background:var(--slate-50)}
.be-more p{color:var(--slate-500);font-size:15.5px;line-height:1.55;max-width:62ch}
.be-more p b{color:var(--ink-800);font-weight:600}
.be-more-links{display:flex;flex-wrap:wrap;gap:6px 22px}

/* ---------- which edit do I need? ---------- */
.be-which{padding:112px 0;background:linear-gradient(180deg,#F1F9EC 0,var(--white) 460px);border-top:1px solid var(--slate-200)}
.be-which .sec-head{margin-bottom:40px}
/* plain table: what readers get without JS (shared .cmp styles) */
.be-table tbody th b{display:block;font-weight:600;color:var(--ink-800)}
.be-table tbody th small{display:block;margin-top:4px;font-weight:400;font-size:14px;line-height:1.5;color:var(--slate-500)}
.be-table td a{font-weight:600;color:var(--green-700);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.be-table td a:hover{color:var(--ink-800)}
/* picker, built from the table by book-editing.js */
.be-pick[hidden],.be-table-wrap[hidden]{display:none}
.be-pick fieldset{min-width:0;margin:0;padding:0;border:0}
.be-pick legend{padding:0;margin:0 0 8px}
.be-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.be-opt{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;border:1px solid var(--slate-200);background:var(--white);cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease)}
.be-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.be-opt-n{flex:none;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:var(--slate-100);color:var(--slate-500);font:700 14px/1 var(--display);transition:background-color .2s var(--ease),color .2s var(--ease)}
.be-opt b{display:block;font:600 16px/1.3 var(--body);color:var(--ink-800)}
.be-opt small{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--slate-500)}
.be-opt:hover{border-color:var(--slate-300)}
.be-opt.is-on{border-color:var(--green-500);background:linear-gradient(180deg,var(--green-50),var(--white) 85%);box-shadow:0 12px 26px -20px rgba(53,115,24,.7)}
.be-opt.is-on .be-opt-n{background:var(--green-500);color:var(--ink-800)}
.be-opt:focus-within{outline:3px solid var(--focus);outline-offset:2px}
@supports selector(:has(*)){.be-opt:focus-within{outline:0}.be-opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}}
.be-out{gap:20px}
.be-out-stage{display:block;font-size:13px;color:var(--slate-300)}
.be-out-note{display:none}
.be-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.be-meter i{height:6px;border-radius:99px;background:rgba(255,255,255,.14);transition:background-color .3s var(--ease)}
.be-meter i.on{background:var(--green-500)}
.be-out-k{display:block;font:700 11px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--green-500)}
.be-out-pick{margin:8px 0 0;font:700 clamp(30px,3.2vw,42px)/1.08 var(--display);letter-spacing:-.025em;color:var(--white)}
.be-out-pick a{color:inherit;text-decoration:underline;text-decoration-color:rgba(116,209,66,.6);text-decoration-thickness:2px;text-underline-offset:6px}
.be-out-pick a:hover{text-decoration-color:var(--green-500)}
.be-out-why{margin:10px 0 0;font-size:16px;line-height:1.55;color:var(--slate-300)}
.be-out-also{padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.be-out-also p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--slate-100)}
.be-out-also a{color:var(--green-500);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.be-out-also a:hover{color:var(--white)}

/* ---------- how it works: the shared process track with four steps ---------- */
.ptrack.be-ptrack{grid-template-columns:repeat(4,minmax(0,1fr))}
.be-ptrack .pt-line{right:calc(25% - 5px)}

@media (max-width:1100px){
  .be-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .be-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .be-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .be-rail>li::after{display:none}
  .ptrack.be-ptrack{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .be-types,.be-which{padding:72px 0}
  .be-list{grid-template-columns:minmax(0,1fr)}
  .be-card{padding:22px}
  .be-card h3{font-size:22px}
  .be-rail{margin-bottom:28px}
  .be-rail a{min-height:44px}
  .be-more{padding:20px}
  /* phones: four compact options in a 2x2 grid so the answer sits right under them;
     the chosen stage's note moves into the answer panel */
  .be-opts{gap:8px}
  .be-opt{align-items:center;gap:10px;padding:12px}
  .be-opt-n{width:28px;height:28px;font-size:13px}
  .be-opt b{font-size:15px}
  .be-opt small{display:none}
  .be-out-note{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--slate-100)}
  .ptrack.be-ptrack{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .be-ms-body{grid-template-columns:minmax(0,1fr);padding:18px 16px 14px}
  .be-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .be-ms-bar{padding:24px 16px 12px}
  .be-ms-foot{padding:12px 16px}
  .be-ms-p{font-size:.875rem}
  .be-chip-a{left:12px;bottom:-34px}   /* under the card's foot, clear of its text */
  .be-chip-b{display:none}             /* no room beside the tag on a phone; the hero checks say the same */
}
@media (max-width:480px){
  .be-rail{grid-template-columns:minmax(0,1fr)}
  .be-ms-track{display:none}
}
@media (prefers-reduced-motion:reduce){
  .be-opt,.be-opt-n,.be-meter i,.be-rail a{transition:none}
}
