/* Batch 8: crawlable shell and contextual links; approved page layouts stay intact. */
body .site-footer { display:block; width:100%; max-width:none; margin:0; padding:48px 0 24px; background:#f5f3ed; color:#28332d; border-top:1px solid #c9c9bd; font-family:SaddlBody,Manrope,Arial,sans-serif; }
.site-footer .site-footer-inner { width:calc(100% - 48px); max-width:1280px; margin-inline:auto; }
.site-footer .site-footer-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:32px; }
.site-footer a { color:#28332d; text-decoration:none; overflow-wrap:anywhere; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer .site-footer-brand { font-size:36px; font-weight:800; letter-spacing:-2px; min-height:44px; display:inline-flex; align-items:center; }
.site-footer-brand span { color:#bc452f; }
.site-footer .site-footer-review { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.site-footer .site-footer-groups { display:grid; grid-template-columns:1.3fr 1.3fr .8fr 1fr; align-items:start; gap:32px; width:100%; height:auto; }
.site-footer .site-footer-group { display:block; min-width:0; }
.site-footer .site-footer-group h2 { font:600 14px/1.5 SaddlBody,Manrope,Arial,sans-serif; letter-spacing:0; text-transform:none; margin:0 0 12px; color:#536457; }
.site-footer .site-footer-group ul { list-style:none; padding:0; margin:0; }
.site-footer .site-footer-group li { margin:0; padding:0; }
.site-footer .site-footer-group a { display:flex; align-items:center; min-height:44px; padding:7px 0; font-size:14px; line-height:1.5; }
.site-footer .site-footer-bottom { border-top:1px solid #c9c9bd; margin-top:28px; padding-top:16px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.site-footer-bottom > div { display:flex; flex-wrap:wrap; gap:24px; }
.site-footer .site-footer-bottom a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; }
.site-footer small { font-size:13px; }
body a.integration-link, body .integration-context a { color:inherit; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
body .integration-context { margin-top:18px; }
.site-footer a:focus-visible, a.integration-link:focus-visible, .integration-context a:focus-visible, .integration-utility a:focus-visible { outline:3px solid #bc452f; outline-offset:4px; border-radius:2px; }
.integration-utility { margin:0; background:#f5f3ed; color:#28332d; font-family:SaddlBody,Manrope,Arial,sans-serif; line-height:1.65; }
.integration-utility main { max-width:1000px; margin:auto; padding:80px 24px; }
.integration-utility h1 { font-family:SaddlDisplay,Arial,sans-serif; font-size:clamp(44px,7vw,80px); line-height:1.05; margin:20px 0; }
.integration-utility main p { max-width:60ch; }
.integration-utility main a { color:#28332d; text-decoration:underline; text-underline-offset:4px; }
.integration-utility main nav { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:28px; }
.integration-utility main nav a { display:inline-flex; min-height:44px; align-items:center; }
.integration-skip { position:absolute; top:8px; left:16px; transform:translateY(-200%); padding:10px 16px; background:#f5f3ed; color:#28332d; z-index:1000; }
.integration-skip:focus { transform:none; }
@media(max-width:900px) { .site-footer .site-footer-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 28px; } }
@media(max-width:480px) { .site-footer .site-footer-inner { width:calc(100% - 36px); } }
@media(prefers-reduced-motion:reduce) { .site-footer *, .integration-utility * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
/* The shared shell must wrap when visitors enlarge text. */
.site-footer *, .integration-utility * { box-sizing:border-box; }
.integration-utility .cinema-header a { color:#28332d; }
.integration-utility .cinema-logo { font-family:SaddlBody,Arial,sans-serif!important; }
.integration-utility .cinema-links a { display:inline-flex; min-height:44px; align-items:center; }
@media(max-width:680px) {
 body .cinema-header { height:auto; }
 body .cinema-header nav { height:auto; min-height:72px; flex-wrap:wrap; gap:4px 16px; padding-block:8px; }
 body .cinema-links { flex-wrap:wrap; min-width:0; }
}

/* Batch 9: retain core layouts while allowing enlarged text to reflow. */
body .refinement-skip { position:fixed; top:8px; left:16px; z-index:10000; transform:translateY(-200%); padding:10px 16px; background:#f5f3ed; color:#28332d; }
body .refinement-skip:focus { transform:none; outline:3px solid #bc452f; }
body main[tabindex="-1"]:focus-visible { outline:3px solid #bc452f; outline-offset:-3px; }
@media(max-width:680px) {
 .home .business-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr)); }
 .home .business-metrics > div { min-width:0; overflow-wrap:anywhere; }
 .home .os-bottom { flex-wrap:wrap; }
 .home .os-bottom button, .home .textlink { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 .os .integration-tabs { flex-wrap:wrap; }
 .os .integration-tabs button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 .services .case-gateway > * { min-width:0; }
 .services .case-metrics span { min-width:0; overflow-wrap:anywhere; }
 .services .case-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
}
@media(max-width:680px) {
 .cinema.home main :is(h1,h2,h3), .cinema.services main :is(h1,h2,h3) { overflow-wrap:anywhere; }
 .cinema.home .product-story-copy { min-width:0; overflow-wrap:anywhere; }
 .cinema.home .outcome-metrics strong { white-space:normal; overflow-wrap:anywhere; }
 .cinema.services .case-link { white-space:normal; flex-wrap:wrap; }
}

@media(min-width:360px) and (max-width:680px) {
 .cinema.services .case-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,6em),1fr)); }
}

/* Compact footer: native details groups. Open + static on desktop, collapsed accordion rows on phones (footer.js). */
body .site-footer .site-footer-group { border:0; }
body .site-footer .site-footer-group summary { list-style:none; cursor:default; padding:0; min-height:0; font-weight:inherit; }
.site-footer .site-footer-group summary::-webkit-details-marker { display:none; }
.site-footer .site-footer-group summary h2 { margin:0 0 12px; }
@media(max-width:720px) {
  body .site-footer { padding:28px 0 12px; }
  .site-footer .site-footer-heading { margin-bottom:12px; gap:4px 20px; }
  .site-footer .site-footer-brand { font-size:32px; }
  .site-footer .site-footer-groups { grid-template-columns:1fr; gap:0; border-top:1px solid #c9c9bd; }
  body .site-footer .site-footer-group { border-bottom:1px solid #c9c9bd; }
  body .site-footer .site-footer-group summary { padding:0 4px; display:flex; align-items:center; justify-content:space-between; min-height:52px; cursor:pointer; }
  .site-footer .site-footer-group summary h2 { margin:0; font-size:15px; color:#28332d; }
  .site-footer .site-footer-group summary::after { content:'+'; font-size:22px; line-height:1; color:#536457; padding-inline:6px; }
  .site-footer .site-footer-group[open] summary::after { content:'\2212'; }
  .site-footer .site-footer-group summary:focus-visible { outline:3px solid #bc452f; outline-offset:-3px; }
  .site-footer .site-footer-group ul { padding-bottom:10px; }
  .site-footer .site-footer-bottom { margin-top:8px; border-top:0; padding-top:4px; }
  .site-footer .site-footer-bottom > div { gap:18px; }
}

/* Legibility floor and tap targets (phones). Approved layouts stay; only sub-12px labels are lifted. */
body .cinema-logo, body .site-footer-brand { min-height:44px; }
body .cinema-logo { display:inline-flex; align-items:center; }
.conversion .form-note a { display:inline-block; padding-block:12px; margin-block:-12px; }
@media(max-width:720px) {
  .small-label, .section-chip, .proof-context, .result-period, .outcome-metrics small, .product-story-copy small,
  .tag, .text-button, .text-button span, .contact-actions small, .case-copy small, .connection small,
  .mock-head, .sheet-header i, .sheet-foot, .sheet-foot span, .scroll th, .os-visual-top, .os-visual-top span, .os-visual-top b { font-size:12px!important; }
  .os-signal-stack span, .os-product-core small, .os-product-core strong, .os-action-card small, .os-action-card span,
  .os-visual-flow span { font-size:11px!important; }
}

/* ONE header for every page. Spec = Home (design authority): 88px / 72px on phones, Home · Saddl OS · Services + account-review CTA.
   Doubled class raises specificity over the per-page batch/conversion header rules without !important. */
.cinema-header.cinema-header { position:sticky; top:0; z-index:100; height:88px; min-height:0; padding:0; box-sizing:border-box; background:rgba(245,243,237,.97); border-bottom:1px solid #c9c9bd; }
.cinema-header.cinema-header nav { display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:24px; height:88px; min-height:0; padding:0; box-sizing:border-box; width:calc(100% - 112px); max-width:1600px; margin-inline:auto; }
.cinema-header.cinema-header .cinema-logo { display:inline-flex; align-items:center; min-height:44px; font-family:SaddlBody,Manrope,Arial,sans-serif!important; font-size:43px; font-weight:800; letter-spacing:-2px; text-decoration:none; color:#28332d; }
.cinema-header.cinema-header .cinema-links { display:flex; align-items:center; flex-wrap:nowrap; gap:38px; }
.cinema-header.cinema-header .cinema-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:400; text-decoration:none; color:#28332d; }
.cinema-header.cinema-header .cinema-contact { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; font-size:14px; font-weight:400; text-decoration:none; color:#28332d; border-bottom:1px solid #bc452f; white-space:nowrap; }
.cinema-header.cinema-header .cinema-contact span { margin-left:25px; }
@media(max-width:1000px) { .cinema-header.cinema-header nav { width:calc(100% - 48px); } }
@media(max-width:680px) {
  .cinema-header.cinema-header, .cinema-header.cinema-header nav { height:72px; }
  .cinema-header.cinema-header nav { width:calc(100% - 36px); gap:12px; }
  .cinema-header.cinema-header .cinema-logo { font-size:33px; }
  .cinema-header.cinema-header .cinema-links { gap:12px; }
  .cinema-header.cinema-header .cinema-links a { font-size:13px; }
  .cinema-header.cinema-header .cinema-contact { display:none; }
}
@media(max-height:500px) { .cinema-header.cinema-header { position:relative; } }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
