/* Spreadsheet → workflow. Page-scoped styles; core information never depends on interaction. */
.spreadsheet-page { --sp-slate:#526a7d; --sp-green:#31594e; --sp-amber:#755310; --shell:1200px; }
.spreadsheet-page [hidden] { display:none!important; }
.sp-sr-only { position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.spreadsheet-page .section { padding:2rem 0; }
.spreadsheet-page .service-hero { padding:2.2rem 0 1.5rem; }
.spreadsheet-page h2 { font-size:clamp(2rem,3vw,2.75rem);line-height:1.12;max-width:25ch; }
.spreadsheet-page main > section p { color:var(--ink-soft); }
.spreadsheet-page p { font-size:.94rem;line-height:1.75; }
.spreadsheet-page .eyebrow { font-size:.7rem;color:#526a7d; }
.sp-hero-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.7rem 3rem;align-items:start; }
.spreadsheet-page .hero h1 { font-size:clamp(2.6rem,3.7vw,3.35rem);line-height:1.08;max-width:19ch; }
.spreadsheet-page .hero-lede { font-size:1.03rem;line-height:1.75;margin-bottom:1.4rem; }
.spreadsheet-page .hero-actions { flex-wrap:wrap;gap:1rem; }
.spreadsheet-page .hero-actions .button { padding-inline:1rem;font-size:.85rem; }
.spreadsheet-page .hero-actions .text-link { font-size:.85rem; }
.sp-before { position:relative;grid-column:1;margin:0;min-width:0; }
.sp-transform-arrow { position:absolute;width:48px;height:45px;right:-3rem;top:35%;fill:none;stroke:var(--sp-slate);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.sp-file-bar { display:flex;align-items:center;gap:.6rem;padding:.7rem;border:1px solid var(--line);border-bottom:0;background:#fafcfd;font:600 .72rem/1.5 var(--font-prose); }
.sp-icon { width:24px;height:24px;fill:none;stroke:var(--sp-green);stroke-width:1.5;flex-shrink:0; }
.sp-sheet-wrap { border-inline:1px solid var(--line); }
.sp-sheet { width:100%;table-layout:fixed;border-collapse:collapse;font:.72rem/1.5 var(--font-prose); }
.sp-sheet th,.sp-sheet td { padding:.55rem .4rem;border:1px solid #e2e7eb;text-align:left;overflow-wrap:anywhere; }
.sp-sheet th:first-child,.sp-sheet td:first-child { border-left:0;width:20%; }
.sp-sheet th:last-child,.sp-sheet td:last-child { border-right:0; }
.sp-sheet th:nth-child(2) { width:26%; }
.sp-sheet th:nth-child(3) { width:20%; }
.sp-sheet th { background:#f1f4f6;color:#485b6c;font-weight:500; }
.sp-sheet-focus { background:#edf3f7; }
.sp-sheet-focus td:first-child { box-shadow:inset 3px 0 #567487; }
.sp-cell-amber { background:#fbefce;color:#65480b; }
.sp-cell-error { background:#f7e7e4;color:#893d31; }
.sp-sheet-tabs { display:flex;flex-wrap:wrap;gap:1rem;padding:.55rem .8rem;border:1px solid var(--line);border-top:0;font:.68rem/1.5 var(--font-prose);background:#fafcfd; }
.sp-sheet-tabs span:first-child { color:var(--sp-green);box-shadow:0 2px var(--sp-green); }
.spreadsheet-page .sp-figure-note { font-size:.76rem;color:var(--sp-slate);line-height:1.6;margin:.75rem 0 0; }
.sp-transformation-label { font:700 .78rem/1.6 var(--font-display);color:var(--sp-slate);margin:0 0 .75rem;text-wrap:pretty; }
.sp-transformation-label strong { color:var(--ink);text-transform:uppercase; }
.spreadsheet-page .hero-lede strong { font-weight:650; }
.sp-after { grid-column:2;grid-row:1/3;align-self:center;margin:0;min-width:0; }
.sp-handnote { position:relative;width:fit-content;max-width:85%;margin:0 auto 1.8rem;padding-right:2rem;font:italic 1.05rem/1.5 var(--font-prose);color:var(--sp-slate); }
.sp-handnote svg { position:absolute;width:76px;height:64px;right:-2rem;top:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.sp-after .sp-figure-note { text-align:center; }
.sp-after .sp-figure-note a { display:inline-block;margin-top:.4rem; }
.sp-hero-app { display:grid;grid-template-columns:100px minmax(0,1fr);border:1px solid #cad5de;border-radius:3px;box-shadow:0 12px 35px #20344512;overflow:hidden;background:#fff; }
.sp-workspace-nav { background:#213340;color:#e5edf3;display:flex;flex-direction:column;gap:1.2rem;padding:1.2rem .75rem;font:.7rem/1.5 var(--font-prose); }
.sp-workspace-nav span:first-child { color:#bccbd7;font-size:.58rem;letter-spacing:.06em;margin-bottom:.4rem; }
.sp-workspace-nav strong { background:#374e5e;padding:.5rem;margin-inline:-.35rem;font-weight:500; }
.sp-hero-record { padding:1.4rem; }
.spreadsheet-page .sp-hero-record h2 { font:600 1.7rem/1.2 var(--font-prose);letter-spacing:-.04em;margin:0 0 .75rem; }
.spreadsheet-page .sp-ui-kicker { font:500 .72rem/1.5 var(--font-prose);color:var(--sp-slate);margin:0 0 .75rem; }
.sp-badge { display:inline-block;border-radius:2px;padding:.24rem .45rem;background:#ebeff3;color:#465c6c;font:500 .76rem/1.5 var(--font-prose); }
.sp-pending { background:#fcf0d1;color:var(--sp-amber); }
.sp-approved { background:#e2f0e9;color:var(--sp-green); }
.spreadsheet-page .sp-translation { font-size:.69rem;margin:.65rem 0;color:#526a7d; }
.sp-hero-fields { display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0;font-family:var(--font-prose); }
.sp-hero-fields > div:first-child { grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:.75rem; }
.sp-hero-fields dt { font-size:.7rem;color:#516775; }
.sp-hero-fields dd { margin:0;font-size:.85rem; }
.sp-hero-fields > div:first-child dd { font-size:1.8rem;line-height:1.5; }
.sp-calc { width:100%;border-collapse:collapse;font:.75rem/1.5 var(--font-prose); }
.sp-calc th,.sp-calc td { padding:.6rem .15rem;border-bottom:1px solid #d8e1e7;text-align:right; }
.sp-calc th { text-align:left;font-weight:500; }
.sp-calc tr:last-child { font-weight:600; }
.sp-hero-history { display:flex;flex-direction:column;gap:.25rem;margin-top:1rem;padding:.7rem;background:#f1f5f8;font:.68rem/1.6 var(--font-prose);color:#485f70; }
.spreadsheet-page .sp-hero-foot { font-size:.78rem;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);color:#435a6b; }
.sp-split { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4rem;align-items:start; }
.sp-paper-trail { border-left:1px solid #bbc8d2;padding-left:1.5rem; }
.sp-paper-trail > div { position:relative;padding-bottom:1.65rem; }
.sp-paper-trail > div:last-child { padding-bottom:0; }
.sp-paper-trail > div::before { content:'';position:absolute;left:-1.8rem;top:.45rem;width:9px;height:9px;background:#fff;border:2px solid #667d8e;border-radius:50%; }
.sp-paper-trail span { font:.67rem/1.5 var(--font-prose);color:var(--sp-slate); }
.sp-paper-trail h3 { font-size:1.18rem;margin:.2rem 0; }
.sp-paper-trail p { font-size:.83rem;margin:0; }
.sp-preservation,.sp-method { background:var(--soft); }
.sp-centered { max-width:780px;margin:0 auto 1.5rem;text-align:center; }
.sp-centered h2 { margin-inline:auto;max-width:29ch;margin-bottom:.85rem; }
.sp-centered > p:last-child { margin-bottom:0; }
.sp-mappings { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 2rem; }
 .sp-mappings > div { min-width:0;border-top:1px solid #ccd7df;padding-top:1rem; }
.spreadsheet-page .sp-mappings .sp-mapping-line { display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .8rem;font:400 .94rem/1.6 var(--font-display);margin:0 0 .45rem;color:var(--sp-slate); }
.sp-mapping-result { display:inline-flex;align-items:baseline;gap:.8rem;min-width:0;max-width:100%; }
.sp-mapping-arrow { flex:none;color:var(--dark-line);font-family:var(--font-prose); }
.sp-mapping-result strong { font-weight:700;color:var(--ink);min-width:0; }
.spreadsheet-page main > section .sp-mapping-proof { margin:0;font:400 .79rem/1.65 var(--font-prose);color:var(--sp-slate); }
.spreadsheet-page main > section .sp-preservation-thesis { margin:.65rem 0 0;font-size:.85rem;color:var(--sp-slate); }
.sp-example-heading { display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:end;margin-bottom:1.6rem; }
.sp-example-heading h2 { margin-bottom:0;max-width:25ch; }
.sp-example-heading > p { margin:0; }
.sp-workflow-lead { display:block;margin-bottom:.5rem;color:var(--ink);font-weight:650; }
.sp-journey { list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem; }
.sp-journey > li { min-width:0;position:relative;display:flex;flex-direction:column; }
.spreadsheet-page .sp-step-label { font:500 .8rem/1.5 var(--font-prose);color:#435f72;margin:0 0 .85rem; }
.sp-mini-app { background:#fff;border:1px solid #cad5de;border-radius:3px;flex:1;font-family:var(--font-prose); }
.sp-app-bar { display:flex;justify-content:space-between;gap:.25rem;flex-wrap:wrap;padding:.75rem .85rem;background:#243745;color:#e3edf4;font:.67rem/1.5 var(--font-prose); }
.sp-app-bar > span { color:#cbd9e3; }
.sp-mini-body { padding:1rem .85rem; }
.sp-mini-body h3 { font:600 1.05rem/1.4 var(--font-prose);letter-spacing:-.025em;margin:0 0 .75rem; }
.sp-mini-lines { margin:1rem 0;font-size:.83rem; }
.sp-mini-lines div { border-bottom:1px solid var(--line);padding:.5rem 0; }
.sp-mini-lines dt { font-size:.78rem;color:#465d6e; }
.sp-mini-lines dd { margin:0;text-align:right; }
.sp-mini-lines div:last-child { display:flex;justify-content:space-between;font-weight:600; }
.spreadsheet-page .sp-mini-note { border-top:1px solid var(--line);padding-top:.7rem;margin:1rem 0 0;font-size:.77rem;color:#516775;line-height:1.6; }
.sp-mini-history { list-style:none;padding:0 0 0 .7rem;margin:1rem 0;font-size:.83rem; }
.sp-mini-history li { position:relative;border-left:1px solid #c9d9d1;padding:.25rem 0 .8rem 1rem; }
.sp-mini-history li::before { content:'✓';position:absolute;left:-.5rem;top:.25rem;background:#e2f0e9;color:var(--sp-green);border-radius:50%;font-size:.7rem;width:1rem;height:1rem;line-height:1rem;text-align:center; }
.sp-mini-history li:last-child { border-left-color:transparent; }
.sp-next-task { margin:1.2rem 0;display:flex;flex-direction:column;gap:.65rem;padding:1rem .7rem;background:#f0f5f8; }
.sp-next-task span { font-size:.8rem;color:#485f70; }
.sp-next-task strong { font-size:1rem;line-height:1.4;font-weight:500; }
.sp-report-lines { margin:1rem 0; }
.sp-report-lines div { margin-bottom:.8rem; }
.sp-report-lines dt { font-size:.78rem;color:#465d6e; }
.sp-report-lines dd { font-size:1.25rem;margin:0; }
.sp-report-chart { width:100%;height:auto;display:block; }
.spreadsheet-page .sp-report-total { display:flex;justify-content:space-between;font-size:.88rem;margin:.9rem 0; }
.spreadsheet-page .sp-scene-caption { font-size:.81rem;line-height:1.65;margin:.85rem 0 0;min-height:3.3em; }
.spreadsheet-page .sp-caption { font-size:.73rem;line-height:1.6;color:#526775;margin:.9rem 0 0; }
.sp-method .sp-centered { max-width:750px; }
.sp-method-steps > article { display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.35fr);gap:3rem;border-top:1px solid #cdd8e1;padding:1rem 0; }
.sp-method-steps > article p { font-size:.87rem;margin-bottom:.8rem; }
.sp-method-title { display:flex;gap:1rem;align-items:baseline; }
.sp-method-title > span { font-size:.74rem;color:#526a7d; }
.sp-method-title h3 { font-size:1.4rem;line-height:1.25;max-width:20ch; }
.sp-workbook-map { display:flex;gap:.7rem;flex-wrap:wrap;font:.8rem/1.5 var(--font-prose); }
.sp-workbook-map > span { padding:.45rem .7rem;border:1px solid #c6d3de;background:#fff; }
.sp-workbook-map b { font-weight:500;color:#465d6e; }
.sp-validation { display:flex;gap:1.4rem;align-items:center;font:.77rem/1.5 var(--font-prose);color:#435f72; }
.sp-validation > span { padding:.55rem 1rem;background:#fff;border:1px solid #c6d3de; }
.sp-validation strong { display:block;font-size:1.15rem;color:var(--ink);font-weight:500; }
.sp-validation svg { width:45px;fill:none;stroke:#526a7d;stroke-width:1.4;flex-shrink:0; }
.spreadsheet-page .sp-transition { font-size:.79rem;color:#435f72;margin-bottom:0; }
.sp-transition span { padding-inline:.45rem; }
.sp-scope-note { display:grid;grid-template-columns:1fr 1fr;gap:3rem;border-top:1px solid #cdd8e1;padding-top:1.2rem; }
.spreadsheet-page .sp-scope-note p { font-size:.88rem;margin:0; }
.sp-scope-note h3 { font:700 1.15rem/1.4 var(--font-display);margin:0 0 .6rem; }
.spreadsheet-page .sp-scope-note .sp-ownership { font-size:1rem;margin-bottom:.6rem; }
.spreadsheet-page .sp-scope-detail { font-size:.8rem; }
.spreadsheet-page .editorial-process .sp-method-detail { font-size:.85rem; }
.spreadsheet-page .sp-stay { font-size:.85rem;max-width:850px;margin:1.3rem 0; }
.sp-breadth { border-top:1px solid #cdd8e1;padding-top:1rem; }
.spreadsheet-page .sp-breadth p { font-size:.78rem;margin:0 0 .5rem;color:#435f72; }
.sp-breadth ul { display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;list-style:none;padding:0;margin:0;font:.78rem/1.6 var(--font-prose); }
.sp-proof .sp-split { grid-template-columns:.8fr 1.2fr; }
.sp-proof h2 { font-size:2.2rem; }
.sp-proof p { margin-bottom:.8rem; }
.spreadsheet-page .sp-proof-note { font-size:.77rem;color:#526775; }
.spreadsheet-page .contact-section { padding-block:2.75rem; }
.spreadsheet-page .contact-copy p { color:var(--muted-on-dark);font-size:.87rem; }
.spreadsheet-page .contact-copy h2 { max-width:20ch; }
.spreadsheet-page .contact-copy .eyebrow { color:var(--blue); }
.sp-contact-paths { border-block:1px solid var(--dark-line);padding-top:.9rem;margin-block:1.1rem; }
.sp-contact-paths strong { color:#f6f8f9;font-weight:500; }
.spreadsheet-page .contact-form { gap:1rem; }
.spreadsheet-page .field select { appearance:auto;background:#192129;color:#f6f8f9;border:1px solid #465663;border-radius:2px;width:100%;padding:.8rem;font:inherit;font-size:.9rem;min-height:48px; }
.spreadsheet-page .field select:focus-visible { outline:2px solid #a9b9c8;outline-offset:2px; }
.spreadsheet-page .field select:disabled { opacity:.8; }
.spreadsheet-page .field-help { font-size:.76rem; }
.spreadsheet-page .site-footer .related-services { padding:1rem 0;justify-content:flex-end;font-size:.72rem; }
.spreadsheet-page .site-footer .related-services,.spreadsheet-page .site-footer .related-services p { color:#b7c1c9; }
@media(max-width:1100px) {
 .sp-hero-grid { column-gap:2rem; }
 .sp-transform-arrow { width:32px;right:-2rem; }
 .sp-hero-app { grid-template-columns:80px minmax(0,1fr); }
 .sp-workspace-nav { padding-inline:.5rem; }
 .sp-hero-record { padding:1rem; }
 .sp-journey { grid-template-columns:1fr 1fr;gap:1.5rem; }
 .sp-mini-lines div { display:flex;justify-content:space-between;gap:1rem; }
 .sp-mappings { grid-template-columns:1fr 1fr; }
}
@media(max-width:800px) {
 .sp-hero-grid { grid-template-columns:1fr 1fr; }
 .sp-hero-grid .hero-copy { grid-column:1/-1;max-width:700px; }
 .spreadsheet-page .hero h1 { max-width:24ch; }
 .sp-before { grid-row:2;align-self:center; }
 .sp-after { grid-row:2; }
 .sp-hero-app { grid-template-columns:1fr; }
 .sp-workspace-nav { display:none; }
 .sp-handnote { font-size:.88rem;padding-right:1rem; }
 .sp-handnote svg { width:50px;right:-1.2rem; }
 .sp-file-bar { font-size:.64rem; }
 .sp-sheet { font-size:.64rem; }
 .sp-sheet-tabs { gap:.5rem;font-size:.62rem; }
 .sp-split,.sp-proof .sp-split,.sp-example-heading { grid-template-columns:1fr;gap:1.5rem; }
 .sp-method-steps > article { grid-template-columns:1fr;gap:.2rem; }
 .sp-method-title h3 { max-width:none; }
 .sp-scope-note { gap:1.5rem; }
 .spreadsheet-page .site-footer .related-services { justify-content:flex-start; }
}
@media(max-width:540px) {
 .spreadsheet-page .hero h1 { font-size:clamp(2.2rem,9vw,3rem); }
 .sp-hero-grid { display:flex;flex-direction:column;gap:1.6rem; }
 .sp-before,.sp-after { width:100%; }
 .sp-transform-arrow { display:none; }
 .sp-handnote { margin-top:.6rem;font-size:1rem; }
 .sp-hero-record { padding:1.2rem; }
 .spreadsheet-page .hero-actions { align-items:flex-start; }
 .sp-centered { text-align:left; }
 .sp-centered h2 { margin-left:0; }
 .sp-mappings { grid-template-columns:1fr;gap:.8rem; }
 .sp-mappings > div { padding-top:.8rem; }
 .sp-journey { grid-template-columns:1fr;gap:1.7rem; }
 .sp-mini-body { padding:1.1rem; }
 .sp-mini-body h3 { font-size:1.2rem; }
 .sp-mini-lines dt,.sp-mini-history,.sp-report-lines dt,.sp-mini-note { font-size:.87rem!important; }
 .sp-mini-lines dd,.sp-mini-lines div:last-child dt { font-size:.95rem; }
 .sp-validation { gap:.6rem; }
 .sp-validation > span { padding:.5rem .6rem; }
 .sp-validation svg { width:25px; }
 .sp-scope-note { grid-template-columns:1fr;gap:.8rem; }
 .spreadsheet-page .section { padding-block:2.5rem; }
 .sp-step-label { font-size:.87rem!important; }
 .sp-badge { font-size:.8rem; }
 .sp-hero-foot { font-size:.75rem!important; }
}

.spreadsheet-page .contact-section .form-note, .spreadsheet-page .contact-section .form-status { color:var(--muted-on-dark);font-size:.75rem; }
.spreadsheet-page .contact-section .form-status.is-error { color:#ffc0b5; }
.spreadsheet-page .contact-section .form-status.is-success { color:#b8e4cc; }
.sp-mini-lines dt,.sp-mini-lines dd,.sp-report-lines dt { font-size:.875rem; }
.sp-badge { font-size:.875rem; }

/* Two working starting points: email sharing and a workflow enquiry. */
.spreadsheet-page .sp-hero-outcome { font-size:.8rem;line-height:1.65;margin:1rem 0 .35rem;max-width:62ch; }
.sp-mid-action { display:flex;align-items:center;justify-content:space-between;gap:.75rem 2rem;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:1.3rem;padding-top:1rem;font-size:.88rem; }
.sp-mid-action strong { font-weight:500; }
.sp-intake { min-width:0; }
.sp-path-choices { display:flex;gap:.5rem;margin-bottom:1.2rem; }
.sp-path-choices button { flex:1;min-height:48px;border:1px solid #607283;border-radius:2px;background:transparent;color:#dbe4eb;padding:.75rem .6rem;font:500 .85rem/1.4 var(--font-prose);cursor:pointer; }
.sp-path-choices button[aria-pressed="true"] { color:#14232f;background:#e3ebf1;border-color:#e3ebf1; }
.sp-path-choices button:disabled { cursor:default;opacity:.65; }
.sp-path-choices button:focus-visible,.sp-intake .direct-email button:focus-visible { outline:2px solid #c4dbeb;outline-offset:3px; }
.spreadsheet-page .sp-form-heading { font-size:1.45rem;margin:0 0 .6rem;color:#f6f8f9; }
.spreadsheet-page .sp-form-intro { color:var(--muted-on-dark);font-size:.8rem;line-height:1.65;margin:0 0 1rem; }
@media(max-width:540px) { .sp-mid-action { align-items:flex-start;flex-direction:column; } .sp-path-choices button { font-size:.8rem; } }

/* Preservation mappings retain their existing small directional cue. */
.service-flow-cue { display:inline-block;width:.55rem;height:.7rem;margin-inline:.4rem;background:var(--blue-deep);clip-path:polygon(0 0,40% 0,100% 50%,40% 100%,0 100%,60% 50%);vertical-align:baseline; }
@media (forced-colors:active) { .service-flow-cue { background:CanvasText; } }

.sp-intake .direct-email { margin:1rem 0; }
.sp-intake .direct-email button { min-height:48px;padding:.7rem 1rem;border:1px solid var(--blue);border-radius:3px;font:700 .85rem/1.5 var(--font-display);text-decoration:none; }
.sp-intake .direct-email button:hover { background:var(--blue);color:var(--ink); }
.sp-intake .email-reveal-status a { overflow-wrap:anywhere; }
.spreadsheet-page .sp-intake-privacy { margin:1rem 0 1.5rem;color:var(--muted-on-dark);font-size:.8rem;line-height:1.65; }
.sp-intake #project-panel { padding-top:1.25rem;border-top:1px solid var(--dark-line); }

/* Let enlarged text reflow inside existing layouts, including the contact controls. */
.spreadsheet-page main { overflow-wrap:anywhere; }
.spreadsheet-page .hero-copy,
.spreadsheet-page .sp-hero-record,
.spreadsheet-page .sp-split > div,
.spreadsheet-page .contact-grid > div,
.spreadsheet-page .field-row,
.spreadsheet-page .field,
.spreadsheet-page .workflow-ribbon__stage > * { min-width:0; }
.spreadsheet-page .button,
.spreadsheet-page .sp-path-choices button { min-width:0;white-space:normal; }
.sp-intake .direct-email button { max-width:100%; }
.spreadsheet-page .footer-inner > p { min-width:0;overflow-wrap:anywhere; }

/* Workbook intake stays a compact form, separate from project discussion. */
.sp-workbook-form fieldset { display:grid;gap:1rem;min-width:0;border:0;padding:0;margin:0; }
.sp-workbook-form input[type="file"] { max-width:100%;min-width:0;font-size:.85rem;padding:.7rem; }
.sp-workbook-form input[type="file"]::file-selector-button { cursor:pointer;display:block;max-width:100%;white-space:normal;font:inherit;padding:.45rem .6rem;border:1px solid var(--blue);border-radius:2px;background:var(--blue);color:var(--ink);margin:0 0 .5rem; }
.sp-file-remove { border:0;background:transparent;color:var(--text-on-dark);font:inherit;font-size:.82rem;text-decoration:underline;text-align:left;padding:.5rem 0;cursor:pointer; }
.sp-file-remove:focus-visible { outline:2px solid var(--blue);outline-offset:3px; }
.sp-file-remove:disabled { color:var(--muted-on-dark);cursor:default; }
.sp-upload-progress { width:100%;height:.6rem;accent-color:var(--blue); }
.sp-workbook-form .form-status { overflow-wrap:anywhere; }
.sp-workbook-form.is-complete .form-status { margin:0;padding:1.25rem;font-size:1rem;line-height:1.65; }
/* The flexible challenge is short, but requires 300px when it is visible. */
.sp-intake .turnstile-wrap { width:max(100%,300px);max-width:100vw;justify-self:center; }
.sp-workbook-form button:disabled { opacity:.7; }
.sp-workbook-form + .direct-email { border-top:1px solid var(--dark-line);padding-top:1rem; }

/* Paired hero: copy first, then two visibly connected states of the same quote. */
.spreadsheet-page .sp-hero-grid { width:min(1440px,calc(100% - 4rem));display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:2rem;align-items:start; }
.spreadsheet-page .hero h1 { max-width:21ch;font-size:clamp(2.5rem,3.5vw,3.5rem); }
.spreadsheet-page .hero-lede { margin-bottom:1.25rem; }
.sp-hero-benefits { list-style:none;margin:0 0 1.8rem;padding:0;display:grid;gap:.4rem;color:var(--ink-soft);font:400 1rem/1.55 var(--font-prose); }
.sp-hero-benefits li { position:relative;padding-left:2.2rem; }
.sp-hero-benefits li::before { content:'';position:absolute;left:0;top:.75em;width:1.4rem;border-top:1px solid var(--sp-slate); }
.spreadsheet-page .hero-copy .sp-hero-foot { margin-top:2rem; }
.sp-hero-comparison { min-width:0;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:1.5rem 2rem;align-items:start;padding-top:4.5rem; }
.sp-hero-comparison .sp-handnote { grid-column:1/-1;padding-right:2rem;margin:0 auto 1rem;max-width:80%; }
.sp-hero-comparison .sp-before,.sp-hero-comparison .sp-after { grid-column:auto;grid-row:auto;align-self:start; }
.sp-hero-comparison .sp-transformation-label { min-height:3.2em;font-size:.74rem;margin-bottom:.65rem; }
.sp-hero-comparison .sp-transform-arrow { width:30px;right:-2rem;top:53%; }
.sp-hero-comparison .sp-hero-app { grid-template-columns:70px minmax(0,1fr);box-shadow:none; }
.sp-hero-comparison .sp-workspace-nav { padding:1rem .5rem;font-size:.65rem; }
.sp-hero-comparison .sp-workspace-nav span:first-child { font-size:.5rem; }
.sp-hero-comparison .sp-hero-record { padding:1rem; }
.sp-hero-comparison .sp-file-bar { min-height:4rem; }
.sp-hero-comparison .sp-sheet th,.sp-hero-comparison .sp-sheet td { padding:.8rem .4rem; }
.sp-hero-comparison .sp-sheet { font-size:.75rem; }
.sp-quote-progress { list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:1rem 0;padding:0;font:.65rem/1.4 var(--font-prose);color:var(--sp-slate); }
.sp-quote-progress li { position:relative;padding:1.35rem .15rem 0;text-align:center; }
.sp-quote-progress li::before { content:'';position:absolute;top:.3rem;left:0;right:0;border-top:1px solid #b5c5d0; }
.sp-quote-progress li:first-child::before { left:50%; }
.sp-quote-progress li:last-child::before { right:50%; }
.sp-quote-progress li::after { content:'';position:absolute;top:0;left:calc(50% - .3rem);width:.6rem;height:.6rem;background:#f1f5f8;border:1px solid #9bacb9; }
.sp-quote-progress li.is-complete::after { background:var(--sp-slate); }
.sp-quote-progress li[aria-current] { color:var(--ink);font-weight:700; }
.sp-quote-progress li[aria-current]::after { background:var(--ink);border-color:var(--ink);outline:2px solid #fff; }
.sp-hero-comparison .sp-comparison-note { grid-column:1/-1;text-align:center;margin:.3rem 0 0; }
.sp-comparison-note span { display:inline-block;margin-top:.5rem;font-size:.7rem; }
@media(max-width:1250px) {
 .spreadsheet-page .sp-hero-grid { grid-template-columns:1fr;max-width:1000px; }
 .sp-hero-grid .hero-copy { max-width:740px; }
 .spreadsheet-page .hero h1 { max-width:25ch; }
 .sp-hero-comparison { padding-top:0; }
 .sp-hero-comparison .sp-hero-app { grid-template-columns:85px minmax(0,1fr); }
}
@media(max-width:650px) {
 .spreadsheet-page .sp-hero-grid { width:calc(100% - 2rem);gap:1.8rem; }
 .sp-hero-comparison { grid-template-columns:1fr;gap:2rem; }
 .sp-hero-comparison .sp-handnote { display:none; }
 .sp-hero-comparison .sp-transformation-label { min-height:0; }
 .sp-hero-comparison .sp-before,.sp-hero-comparison .sp-after { width:100%; }
 .sp-hero-comparison .sp-transform-arrow { display:none; }
 .sp-hero-comparison .sp-after { padding-top:1.5rem;border-top:1px solid var(--line); }
 .sp-hero-comparison .sp-after .sp-transformation-label::before { content:'↓';margin-right:.6rem; }
 .sp-hero-comparison .sp-hero-app { grid-template-columns:1fr; }
 .sp-hero-comparison .sp-workspace-nav { display:none; }
 .sp-hero-comparison .sp-comparison-note { margin:0; }
}
.spreadsheet-page .breadcrumb { width:min(1440px,calc(100% - 4rem)); }
.sp-hero-comparison .sp-hero-app { grid-template-columns:80px minmax(0,1fr); }
.sp-hero-comparison .sp-workspace-nav span:first-child { letter-spacing:0; }
@media(max-width:800px) {
 .sp-hero-comparison .sp-hero-app { grid-template-columns:1fr; }
}
@media(max-width:650px) {
 .spreadsheet-page .breadcrumb { width:calc(100% - 2rem); }
 .sp-hero-comparison .sp-after .sp-transformation-label::before { content:none; }
}

/* Reference two: compact software, a recognisable workbook, and a handwritten bridge. */
@font-face { font-family:'Caveat';src:url('/assets/fonts/Caveat-Variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap; }
.spreadsheet-page .sp-hero-grid,.spreadsheet-page .breadcrumb { width:min(1440px,calc(100% - 6.5rem)); }
.spreadsheet-page .sp-hero-grid { grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:2.5rem; }
.spreadsheet-page .hero h1 { font-size:clamp(2.5rem,3.7vw,3.55rem);max-width:22ch; }
.spreadsheet-page .hero-lede { font-size:1.15rem;line-height:1.65;margin-top:2rem; }
.sp-hero-benefits { font-size:1.08rem;margin-block:1.7rem 2.5rem; }
.sp-hero-comparison { padding-top:0;gap:1.7rem 1.3rem;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
.sp-hero-comparison .sp-handnote { font:500 clamp(1.8rem,2.8vw,2.5rem)/1.05 'Caveat',cursive;max-width:100%;padding:0 .5rem 1rem;margin:0 auto 1rem;transform:rotate(-3deg);text-align:center; }
.sp-hero-comparison .sp-handnote svg { width:90%;height:28px;right:0;top:auto;bottom:-.5rem;stroke-width:1.5; }
.sp-hero-comparison .sp-transform-arrow { width:58%;height:auto;right:-.5rem;top:calc(100% + .7rem);stroke-width:1.8; }
.sp-hero-comparison .sp-file-bar { min-height:3rem;font-size:.68rem;padding:.5rem; }
.sp-sheet-menu { display:flex;flex-wrap:wrap;gap:.4rem;padding:.3rem .5rem;border-inline:1px solid var(--line);font:.52rem/1.5 var(--font-prose);background:#fafcfd;color:var(--ink-soft); }
.sp-hero-comparison .sp-sheet { font-size:.65rem; }
.sp-hero-comparison .sp-sheet th,.sp-hero-comparison .sp-sheet td { padding:.28rem .28rem; }
.sp-hero-comparison .sp-sheet th:first-child,.sp-hero-comparison .sp-sheet td:first-child { width:7%;font-weight:400;background:#f5f7fa; }
.sp-hero-comparison .sp-sheet th:nth-child(2) { width:20%; }
.sp-hero-comparison .sp-sheet th:nth-child(3) { width:27%; }
.sp-hero-comparison .sp-sheet th:nth-child(4) { width:18%; }
.sp-hero-comparison .sp-sheet th:nth-child(5) { width:28%; }
.sp-sheet-letters td { text-align:center;background:#f1f4f6; }
.sp-hero-comparison .sp-sheet-focus { background:#e0edf6; }
.sp-hero-comparison .sp-sheet-tabs { gap:.7rem;font-size:.68rem;padding:.65rem .6rem; }
.sp-hero-comparison .sp-hero-app { grid-template-columns:86px minmax(0,1fr); }
.sp-hero-comparison .sp-hero-record { padding:.85rem .75rem; }
.sp-hero-comparison .sp-workspace-nav { gap:1.35rem;font-size:.6rem; }
.sp-hero-comparison .sp-app-brand { display:flex;gap:.25rem;align-items:center;color:#fff!important;font-size:.68rem!important; }
.sp-app-brand img { object-fit:contain; }
.sp-hero-comparison .sp-app-settings { margin-top:auto;padding-top:2rem; }
.sp-record-title { display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem; }
.spreadsheet-page .sp-record-title h2 { margin:0;font-size:1.15rem;letter-spacing:-.025em; }
.sp-hero-comparison .sp-badge { font-size:.56rem; }
.sp-quote-progress { font-size:.57rem;margin:.9rem 0; }
.sp-quote-progress li::after { border-radius:50%; }
.sp-quote-progress li[aria-current]::after { background:#fff;border:2px solid #315d87;outline:0; }
.sp-quote-progress li.is-complete::after { background:#315d87; }
.sp-hero-comparison .sp-translation { font-size:.58rem;margin:.5rem 0; }
.sp-hero-comparison .sp-hero-fields { grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0; }
.sp-hero-comparison .sp-hero-fields > div:first-child { grid-column:auto;border:0;padding:0; }
.sp-hero-comparison .sp-hero-fields > div+div { border-left:1px solid var(--line);padding-left:.5rem; }
.sp-hero-comparison .sp-hero-fields dt { font-size:.56rem; }
.sp-hero-comparison .sp-hero-fields dd { font-size:.65rem;font-weight:600; }
.sp-hero-comparison .sp-hero-fields > div:first-child dd { font-size:1.2rem; }
.sp-line-items { border:1px solid #e2e8ee;border-radius:3px;padding:.6rem; }
.spreadsheet-page .sp-line-items h3 { font:600 .72rem/1.4 var(--font-prose);margin:0 0 .35rem; }
.sp-hero-comparison .sp-calc { font-size:.61rem; }
.sp-hero-comparison .sp-calc th,.sp-hero-comparison .sp-calc td { padding:.45rem .1rem; }
.sp-hero-comparison .sp-hero-history { border:1px solid #e2e8ee;border-radius:3px;background:#fafcfd;padding:.6rem;font-size:.64rem; }
.sp-history-events { list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.7rem; }
.sp-history-events li { display:flex;align-items:start;gap:.4rem; }
.sp-history-events li > span { flex-shrink:0;background:#e0e8ef;color:#38546b;padding:.25rem;font-size:.58rem;border-radius:50%; }
.sp-history-events div { display:flex;flex-direction:column;min-width:0; }
.sp-history-events div > span { font-size:.59rem; }
.sp-hero-comparison .sp-comparison-note { margin-top:.25rem; }
@media(min-width:1251px) { .sp-hero-grid .hero-copy { padding-top:2rem; } }
@media(max-width:1250px) {
 .spreadsheet-page .sp-hero-grid { grid-template-columns:1fr; }
 .sp-hero-comparison { padding-top:1rem; }
 .sp-hero-comparison .sp-handnote { font-size:2.4rem; }
}
@media(max-width:800px) {
 .sp-hero-comparison .sp-hero-app { grid-template-columns:1fr; }
 .sp-hero-comparison .sp-transform-arrow { width:45%; }
}
@media(max-width:650px) {
 .spreadsheet-page .sp-hero-grid,.spreadsheet-page .breadcrumb { width:calc(100% - 2rem); }
 .sp-hero-comparison { grid-template-columns:1fr; }
 .sp-hero-comparison .sp-handnote { display:block;font-size:1.85rem;margin:0 auto .6rem; }
 .sp-hero-comparison .sp-sheet { font-size:.72rem; }
 .sp-hero-comparison .sp-sheet th,.sp-hero-comparison .sp-sheet td { padding:.4rem .25rem; }
 .sp-hero-comparison .sp-hero-record { padding:1rem; }
 .sp-hero-comparison .sp-hero-fields dd { font-size:.75rem; }
 .sp-hero-comparison .sp-hero-fields dt,.sp-hero-comparison .sp-quote-progress,.sp-hero-comparison .sp-translation { font-size:.67rem; }
 .sp-hero-comparison .sp-calc { font-size:.75rem; }
 .sp-hero-comparison .sp-hero-history { font-size:.8rem; }
 .sp-history-events div > span { font-size:.72rem; }
}
.spreadsheet-page .hero h1 { font-size:clamp(2.5rem,3.3vw,3.3rem); }
.spreadsheet-page .hero-lede,.sp-hero-benefits { color:#435d7d; }
.sp-hero-comparison { container-type:inline-size; }
.sp-hero-comparison .sp-sheet th:first-child,.sp-hero-comparison .sp-sheet td:first-child { padding-inline:.08rem; }
.sp-sheet-letters td:nth-child(2) { width:20%; }
.sp-sheet-letters td:nth-child(3) { width:27%; }
.sp-sheet-letters td:nth-child(4) { width:18%; }
.sp-sheet-letters td:nth-child(5) { width:28%; }
.sp-hero-comparison .sp-hero-app { grid-template-columns:100px minmax(0,1fr); }
.sp-hero-comparison .sp-app-brand { font-size:.6rem!important; }
.sp-hero-comparison .sp-comparison-note { margin-top:1.5rem; }
@container (max-width:40rem) {
 .sp-hero-comparison .sp-before,.sp-hero-comparison .sp-after { grid-column:1/-1; }
 .sp-hero-comparison .sp-hero-app { grid-template-columns:1fr; }
 .sp-hero-comparison .sp-workspace-nav,.sp-hero-comparison .sp-transform-arrow { display:none; }
}
.sp-nav-icon { display:inline-block;width:.8rem;height:.8rem;vertical-align:-.1rem;margin-right:.2rem;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round; }
@media(min-width:1251px) {
 .spreadsheet-page .hero h1 { font-size:clamp(2.5rem,3.45vw,3.45rem); }
 .spreadsheet-page .hero h1 > span { display:block; }
}

/* Familiar friction: category, context, question, consequence. */
.sp-paper-trail .sp-paper-trail__category { margin:0 0 .45rem;font:400 .72rem/1.5 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--sp-slate); }
.spreadsheet-page .sp-pain-takeaway { margin:1.5rem 0 0;padding-top:1.1rem;border-top:1px solid var(--line);font-size:.88rem;line-height:1.7;color:var(--sp-slate); }

/* Native disclosure keeps enquiry privacy available across both form paths. */
.sp-privacy-drawer { margin-top:1.25rem;border-top:1px solid #435563;padding-top:.85rem; }
.sp-privacy-drawer summary { cursor:pointer;font:400 .85rem/1.6 var(--font-display);color:var(--text-on-dark); }
.sp-privacy-drawer summary::marker { color:var(--blue); }
.sp-privacy-drawer summary:focus-visible { outline:2px solid var(--blue);outline-offset:5px; }
.spreadsheet-page main > section .sp-privacy-drawer p { color:var(--muted-on-dark);font-size:.8rem;line-height:1.75;margin:.9rem 0 0; }

/* Separate the preservation introduction from its first row, without enlarging type. */
.sp-preservation .sp-centered { margin-bottom:2rem; }
@media(min-width:1101px) { .sp-mappings > div:nth-child(-n+3) { padding-top:1.25rem; } }
@media(min-width:541px) and (max-width:1100px) { .sp-mappings > div:nth-child(-n+2) { padding-top:1.25rem; } }
@media(max-width:540px) { .sp-mappings > div:first-child { padding-top:1rem; } }

/* Reuse the contracting reveal and shard system for main service sections. */
.sp-preservation .sp-centered .section-heading-marker,.sp-method .sp-centered .section-heading-marker { justify-content:center; }
@media(max-width:540px) {
 .sp-preservation .sp-centered .section-heading-marker,.sp-method .sp-centered .section-heading-marker { justify-content:flex-start; }
}
/* Keyboard focus must never land in visually concealed content. */
.reveal-enabled .spreadsheet-page .reveal-section:focus-within { opacity:1;transform:none;transition:none; }
.reveal-enabled .spreadsheet-page .reveal-section:focus-within .section-shards__face { opacity:1;transform:none;transition:none; }

/* Optional campaign location context; shared service terms remain unchanged. */
.sp-location-note { margin:.65rem 0 .8rem;border-block:1px solid var(--line);padding:.55rem 0; }
.spreadsheet-page .sp-location-note p { display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.15rem;margin:0;color:var(--sp-slate);font-size:.85rem;line-height:1.6; }
.sp-location-note strong { flex-shrink:0;color:var(--sp-slate);font-family:var(--font-display); }
.sp-location-note:not([hidden]) + .sp-fit-review { margin-top:.8rem; }

/* Compact offer details preserve the existing engagement chevrons. */
.sp-fit-review {margin:1.5rem 0 .9rem;padding:1rem 1.25rem;background:var(--paper,#f7f8fa);border-left:1px solid var(--line)}
.spreadsheet-page .sp-fit-review + .sp-engagement { margin-top:.9rem; }
.sp-fit-review h4 {margin:0 0 .6rem;font-size:1rem}
.sp-fit-review p {margin:0}
.sp-faq .shell {max-width:880px}
.sp-faq details {border-bottom:1px solid #c9d1da;padding:1rem 0}
.sp-faq summary {font-weight:600;cursor:pointer;line-height:1.6}
.sp-faq details p {margin:.8rem 0 0}
.sp-faq summary:focus-visible {outline:2px solid var(--blue);outline-offset:5px}
.sp-intake-assurances {margin:1rem 0 1.5rem;border-left:2px solid #a6c5ee;padding-left:1rem}
.spreadsheet-page .sp-intake-assurances p {font-size:.85rem;line-height:1.65;color:#e2e8f0;margin:.4rem 0}

/* Discovery offer: four equal groups, separated by editorial rules. */
.spreadsheet-page .sp-engagement { border-bottom:0;padding-bottom:0;margin-bottom:0; }
.sp-discovery-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.75rem;border-top:1px solid var(--line); }
.sp-discovery-group { position:relative;min-width:0;padding:2.2rem 2rem 2.2rem 0; }
.sp-discovery-group:nth-child(even) { padding-right:0;padding-left:2rem; }
.sp-discovery-group:nth-child(even)::before { content:"";position:absolute;left:0;top:2.2rem;bottom:2.2rem;border-left:1px solid var(--line);opacity:.65; }
.sp-discovery-group:nth-child(n+3) { border-top:1px solid var(--line); }
.spreadsheet-page .sp-discovery-group h4 { margin:0 0 1.25rem;font:700 clamp(1.35rem,2vw,1.7rem)/1.3 var(--font-prose);color:var(--ink);letter-spacing:-.035em; }
.sp-discovery-group ul { margin:0;padding-left:1.7rem;font:400 1.05rem/1.75 var(--font-prose);color:var(--ink-soft); }
.sp-discovery-group li { padding-left:.3rem;margin:.2rem 0; }
.sp-discovery-group li strong { font-weight:750; }
.sp-discovery-link { display:inline-block;max-width:100%;margin-top:1.9rem;font:400 1rem/1.6 var(--font-prose);color:var(--ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px; }
.sp-discovery-link:focus-visible { outline:2px solid var(--ink);outline-offset:5px; }
.spreadsheet-page .sp-discovery-scope { margin:1.5rem 0 0;color:var(--sp-slate);font-size:.98rem;line-height:1.55; }
.sp-discovery-scope strong { display:block;font-weight:650; }
.spreadsheet-page .sp-discovery-grid + .sp-stay { max-width:none;margin:0;border-top:1px solid var(--line);padding:1.6rem 0;font-size:.94rem;line-height:1.7; }
.sp-discovery-grid ~ .sp-breadth { padding-top:1.25rem; }
@media(max-width:760px) {
 .sp-discovery-grid { grid-template-columns:minmax(0,1fr); }
 .sp-discovery-group,.sp-discovery-group:nth-child(even) { padding:1.6rem 0; }
 .sp-discovery-group:nth-child(even)::before { display:none; }
 .sp-discovery-group + .sp-discovery-group { border-top:1px solid var(--line); }
 .spreadsheet-page .sp-discovery-group h4 { margin-bottom:.9rem; }
 .sp-discovery-group ul { font-size:1rem; }
 .sp-discovery-link { margin-top:1.5rem; }
}
