/* Shared semantics; each brand defines its own editorial composition below. */
.provider-line{background:#fff;color:#27332f;border-bottom:1px solid #d6dbd6;font-size:.75rem;line-height:1.5}.provider-line .container{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem}.provider-line a{white-space:nowrap}
.sat-kicker{text-transform:uppercase;letter-spacing:.14em;font:600 .72rem/1.5 ui-monospace,monospace;margin-bottom:1.3rem;color:var(--sat-accent,#245f54)}
.sat-home{--sat-space:clamp(3.5rem,7vw,7rem)}.sat-home h1{font-size:clamp(2.6rem,5.4vw,5.6rem);line-height:1.04;letter-spacing:-.045em;max-width:17ch;margin:0 0 1.8rem}.sat-home h2,.sat-trust h2,.sat-detail h2,.sat-practice h2{font-size:clamp(1.9rem,3vw,3.1rem);max-width:24ch;line-height:1.12;margin:0 0 1.7rem}.sat-home h3,.sat-detail h3,.sat-practice h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.02em;margin-bottom:.8rem}.sat-home p{max-width:64ch}.sat-intro{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.65;margin-bottom:1.8rem}.sat-hero{padding-block:var(--sat-space)}.sat-split{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.sat-button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.3rem;background:var(--sat-accent,#245f54);color:#fff;padding:1rem 1.3rem;text-decoration:none;font-weight:650;line-height:1.4;border:1px solid transparent;min-height:48px;max-width:100%}.sat-button:hover{background:#182b28;color:#fff}.sat-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}.sat-actions>a:not(.sat-button){padding:.7rem 0}.sat-signature{font-size:.85rem;margin-top:1.4rem;max-width:70ch}.sat-section{padding-block:var(--sat-space);border-top:1px solid #c6cec8}.sat-section .sat-split{align-items:start}.sat-directory{list-style:none;padding:0;margin:0}.sat-directory li{border-top:1px solid #bac7c0;padding:1.5rem 0}.sat-directory li:last-child{border-bottom:1px solid #bac7c0}.sat-directory a{display:flex;justify-content:space-between;gap:1rem;font-weight:700;text-decoration:none;font-size:1.35rem;line-height:1.3}.sat-directory p{margin-top:.6rem;font-size:.98rem}.sat-note{padding:1.5rem;border-left:3px solid var(--sat-accent);margin-top:2rem;background:#ffffff80}.sat-proof{margin:0}.sat-proof img{display:block;width:100%;height:auto;border:1px solid #b7beb9}.sat-proof figcaption{font-size:.82rem;margin-top:1rem}.sat-steps{padding:0;list-style:none;counter-reset:steps;display:grid;gap:0}.sat-steps li{counter-increment:steps;display:grid;grid-template-columns:3rem 1fr;padding:1.3rem 0;border-top:1px solid #bec7c2}.sat-steps li:before{content:'0' counter(steps);font:500 .9rem ui-monospace,monospace;color:var(--sat-accent)}.sat-steps strong{font-size:1.15rem}.sat-steps p{margin-top:.4rem}.sat-trust,.sat-detail,.sat-practice{padding-block:clamp(3.5rem,6vw,6rem);background:var(--sat-paper,#f5f7f0);color:#192d29;border-top:1px solid #c6cec8}.sat-trust-grid,.sat-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}.sat-trust p,.sat-detail p,.sat-practice p{line-height:1.7;margin-bottom:1.25rem}.sat-cost{border-top:3px solid var(--sat-accent);padding-top:1.5rem}.sat-rate{font-size:3.4rem!important;line-height:1.1!important}.sat-rate span{font:500 .9rem/1.5 system-ui,sans-serif}.sat-cost .sat-button{margin-bottom:1.5rem}.sat-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:2rem}.sat-articles article{border-top:1px solid #94a49b;padding-top:1.4rem}.sat-meta{font-size:.8rem}.sat-articles h3{max-width:40ch}.sat-case{background:#fff;border:1px solid #bdc8c1;padding:1.5rem;margin:2rem 0}.sat-case ol{display:grid;grid-template-columns:repeat(4,1fr);padding-left:1.2rem;gap:1.7rem}.sat-related{border-top:1px solid #bdc8c1;padding-top:1.5rem}.sat-related a{display:inline-block;margin:.4rem 1rem .4rem 0}.sat-detail h3:not(:first-child){margin-top:1.8rem}.sat-footer-note{padding:1.2rem 0;background:#192d29;color:#fff;font-size:.85rem}.sat-footer-note .container{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
/* Prozessruhe: light operational editorial, explicit decision gate. */
body[data-brand=prozessruhe]{--sat-accent:#245f54;--sat-paper:#f5f7f0}body[data-brand=prozessruhe]::before{display:none}.process-hero{background:#f5f7f0}.process-hero h1 em{font-style:normal;color:#245f54}.workflow-sheet{background:#fff;padding:clamp(1.3rem,3vw,2.5rem);border:1px solid #bacac0;box-shadow:12px 12px 0 #e1e9df}.workflow-sheet>p{font:500 .75rem ui-monospace,monospace;border-bottom:1px solid #b9c8bf;padding-bottom:1.1rem;margin-bottom:1.3rem}.workflow-sheet ol{list-style:none;padding:0;display:grid;gap:.8rem}.workflow-sheet li{display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;align-items:start;padding:.9rem 0;border-bottom:1px solid #d8e0da}.workflow-sheet li b{font:500 .85rem ui-monospace,monospace;padding-top:.15rem}.workflow-sheet li span{display:block;font-size:.9rem;margin-top:.3rem}.workflow-sheet .decision{border:1px solid #245f54;padding:1rem;background:#eef4e9}.process-ledger{background:#e5eddf}.process-ledger .sat-directory li{border-color:#9eafa0}
.shop-hero{background:#142638;color:#f9faf7}.shop-hero .sat-kicker{color:#ffc699}.shop-hero h1{font-family:system-ui,sans-serif;font-weight:750}.shop-hero h1 span{color:#ffc699}.shop-hero .sat-button{background:#f5ba8e;color:#142638}.service-desk{border:1px solid #758a98;padding:clamp(1.3rem,3vw,2.5rem);align-self:stretch;display:flex;flex-direction:column;justify-content:center}.service-desk>p{font:500 .75rem ui-monospace,monospace;letter-spacing:.08em;margin-bottom:1.5rem}.service-desk a{border-top:1px solid #758a98;padding:1.4rem 0;display:flex;justify-content:space-between;gap:1rem;text-decoration:none;font-size:1.3rem}.service-desk small{color:#d0dbe3;line-height:1.6;margin-top:1rem}.shop-contract{background:#e3e9ed}.shop-contract .sat-steps{grid-template-columns:repeat(3,1fr);gap:2rem}.shop-contract .sat-steps li{display:block}.shop-contract .sat-steps li:before{display:block;margin-bottom:1rem}
.web-hero{background:#faf6ef}.web-hero h1{font-family:Georgia,serif;font-weight:400;max-width:17ch}.web-hero .sat-split{grid-template-columns:1.05fr 1fr;align-items:start}.web-hero .sat-proof{margin-top:3rem;transform:rotate(1deg);padding:1rem;background:#e4ddd1}.web-hero .sat-proof img{aspect-ratio:auto;object-fit:contain}.web-portfolio{background:#e9e3d8}.web-portfolio .sat-split{grid-template-columns:.8fr 1.2fr}.web-portfolio .sat-proof img{aspect-ratio:1.6;object-fit:cover;object-position:top}.web-rule{font:400 clamp(1.8rem,4vw,3.6rem)/1.2 Georgia,serif;max-width:25ch!important}.web-ownership{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}.web-ownership div{padding-top:1.3rem;border-top:1px solid #aaa89d}
.switch-hero{background:#f4f3ee}.switch-hero h1{font-family:system-ui,sans-serif;font-weight:650}.migration-sheet{border-top:6px solid #354e9a;background:#fff;padding:clamp(1.25rem,3vw,2.5rem)}.migration-sheet h2{font-size:1.6rem}.migration-sheet dl{margin:0}.migration-sheet dl>div{padding:1.2rem 0;border-top:1px solid #bbc2d4}.migration-sheet dt{font-weight:700}.migration-sheet dd{margin: .5rem 0 0;font-size:.92rem}.migration-sheet code{font-size:.85rem;overflow-wrap:anywhere}.switch-route{background:#dfe4f2}.switch-route .sat-directory li{border-color:#99a7c8}.switch-proof .sat-proof img{aspect-ratio:auto;object-fit:contain}
@media(max-width:54rem){.sat-split,.sat-trust-grid,.sat-detail-grid,.web-hero .sat-split,.web-portfolio .sat-split{grid-template-columns:1fr}.sat-home h1{font-size:clamp(2.5rem,8vw,4.2rem);max-width:20ch}.sat-case ol{grid-template-columns:1fr 1fr}.web-hero .sat-proof{margin-top:0;transform:none}.shop-contract .sat-steps{grid-template-columns:1fr}.provider-line .container{display:block}.provider-line a{display:none}.sat-home .sat-split{gap:2.5rem}.sat-signature{font-size:.8rem}}
@media(max-width:30rem){.sat-case ol,.web-ownership{grid-template-columns:1fr}.sat-button{width:100%}.sat-actions{align-items:stretch}.sat-directory a{font-size:1.2rem}.workflow-sheet{box-shadow:6px 6px 0 #e1e9df}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.service-desk a,.sat-footer-note a{color:inherit}.service-desk a:hover{color:#ffc699}.sat-footer-note a:hover{color:#fff}

/* Rechtstexte: eine lesbare Spalte statt einer leeren zweiten Rasterspalte. */
.container.legal-layout{display:block;width:calc(100% - 3rem);max-width:72rem;margin-inline:auto}
.legal-layout .prose{width:100%;max-width:72ch;min-width:0}
.legal-layout .prose h2{max-width:none;font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.3;margin:0 0 1rem;overflow-wrap:break-word}
.legal-layout .prose p,.legal-layout .prose li{line-height:1.75;max-width:none}
.legal-layout .prose p+p{margin-block-start:1rem}
.legal-layout .prose a{overflow-wrap:anywhere}
.legal-layout .prose section+section{margin-block-start:2.5rem;padding-block-start:2rem;border-top:1px solid var(--color-line,#ccd3d0)}

/* Kompakte Unterseiten-Einstiege; Markenfarben und Schriften bleiben erhalten. */
body:not([data-brand=prozessruhe]) .page-hero{padding-block:clamp(2.5rem,5vw,4.5rem)}
body:not([data-brand=prozessruhe]) .page-hero::after{content:none}
body:not([data-brand=prozessruhe]) .page-hero-grid{display:block}
body:not([data-brand=prozessruhe]) .page-hero-grid>.flow{max-width:64rem}
body:not([data-brand=prozessruhe]) .page-hero h1{max-width:26ch;margin:0;font-size:clamp(2rem,4.5vw,3.75rem);line-height:1.12;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}
body:not([data-brand=prozessruhe]) .page-hero .eyebrow{margin-bottom:1.25rem;font-size:.75rem;line-height:1.6}
body:not([data-brand=prozessruhe]) .page-hero p:not(.eyebrow){max-width:65ch;margin-top:1.5rem;font-size:clamp(1rem,1.7vw,1.125rem);line-height:1.7}
/* Abschnittstitel bleiben in der Hierarchie unter dem Seitentitel. */
.section-header h2{max-width:28ch;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.2;text-wrap:balance;overflow-wrap:break-word}

/* Conversion and reading system — shared rhythm, brand-specific visual language. */
body[data-brand] {
  --sat-space: clamp(3rem, 5.5vw, 5.5rem);
  --space-section: var(--sat-space);
  --space-7: var(--sat-space);
  --space-8: var(--sat-space);
}
body[data-brand=prozessruhe] {
  --color-accent: #397566;
  --color-accent-dark: #245f54;
  --color-accent-soft: #e5eddf;
  --color-paper: #f5f7f3;
  --color-surface-dark: #19342c;
}

body[data-brand] .container { max-width: 75rem; }
body[data-brand] .sat-home { --sat-space: clamp(3rem, 5.5vw, 5.5rem); }
body[data-brand] .sat-hero { padding-block: clamp(2.5rem, 5vw, 5rem); }
body[data-brand] .sat-home h1 {
  font-size: clamp(2.125rem, 4.7vw, 4.4rem);
  line-height: 1.09;
  letter-spacing: -.038em;
  max-width: 21ch;
  margin-bottom: 1.4rem;
  text-wrap: balance;
  overflow-wrap: break-word;
}
body[data-brand] .sat-home h2,
body[data-brand] .sat-trust h2,
body[data-brand] .sat-detail h2,
body[data-brand] .sat-practice h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.65rem);
  line-height: 1.2;
  max-width: 28ch;
  margin-bottom: 1.3rem;
}
.sat-intro { max-width: 58ch; line-height: 1.65; }
.sat-split, .sat-trust-grid, .sat-detail-grid { gap: clamp(2rem, 4.5vw, 4.5rem); }
.sat-split > *, .sat-trust-grid > *, .sat-detail-grid > * { min-width: 0; }
.sat-hero .sat-split { align-items: start; }
.sat-kicker { margin-bottom: 1rem; letter-spacing: .11em; font-size: .75rem; }
.sat-signature { line-height: 1.6; font-size: .875rem; margin-top: 1.15rem; }
.sat-home p + p:not(.sat-signature), .sat-home p + .sat-actions { margin-top: 1rem; }
.sat-note { padding: 1.15rem 1.3rem; margin-top: 1.5rem; }
.sat-note + a { display: inline-block; padding-block: .6rem; }
.sat-directory a { min-height: 44px; align-items: center; }
.sat-directory a span { flex: 0 0 auto; }
.sat-directory li { padding-block: 1.2rem; }
.sat-directory li p { margin-bottom: 0; }
.sat-trust, .sat-detail, .sat-practice { padding-block: var(--sat-space); }
.sat-detail ul, .sat-detail ol { padding-inline-start: 1.3rem; }
.sat-detail li + li { margin-top: .5rem; }
.sat-cost { border-top-width: 2px; padding-top: 1.3rem; }
.sat-rate { font-size: 2.65rem !important; }
.sat-case { padding: clamp(1.25rem, 2.5vw, 2rem); }
/* Columns respond to enlarged text as well as viewport width. */
body[data-brand] .sat-case ol { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.sat-case li { min-width: 0; overflow-wrap: anywhere; }
.sat-related a { min-height: 44px; padding-block: .5rem; }
.workflow-sheet { box-shadow: 6px 6px 0 #e1e9df; }
.workflow-sheet > p { line-height: 1.5; }
.workflow-sheet > .sat-signature { font: .8rem/1.5 system-ui, sans-serif; margin-bottom: 0; border: 0; padding-bottom: 0; }
.service-desk { align-self: start; }
.service-desk a { font-size: 1.2rem; line-height: 1.5; padding-block: 1.15rem; }

/* One action and a visible person directly after each service explanation. */
.sat-hero-contact { margin-top: 1.6rem; }
.sat-hero-contact .sat-actions { gap: .65rem 1.3rem; }
.page-hero .sat-hero-contact .sat-hero-assurance {
  margin-top: .9rem;
  font-size: .875rem;
  line-height: 1.6;
  max-width: 65ch;
}

/* Long German words and enlarged text may wrap instead of widening the page. */
body[data-brand],
body[data-brand] :is(p, li, dd, dt, a, h1, h2, h3) { overflow-wrap: anywhere; }
body[data-brand] .breadcrumb ol { flex-wrap: wrap; }
body[data-brand] .breadcrumb li { min-width: 0; max-width: 100%; }
@media (max-width: 39.999rem) {
  body[data-brand] :is(.header-main, .header-inner) { flex-wrap: wrap; padding-block: .75rem; }
  body[data-brand] :is(.mobile-nav, .site-navigation) { max-width: 100%; margin-left: auto; }
  body[data-brand] .wordmark { max-width: 100%; white-space: normal; }
}

/* Text should remain readable before side-by-side content has enough room. */
body[data-brand] .section { padding-block: var(--sat-space); }
body[data-brand] .section-layout { gap: clamp(1.75rem, 3.5vw, 3.5rem); }
body[data-brand] .section-header { position: static; }
body[data-brand] .section-header h2 { line-height: 1.2; }
.item-grid > :only-child, .node-grid > :only-child, .record-grid > :only-child { grid-column: 1 / -1; }
.item-grid > .item:only-child { border-right: 0; padding-inline: 0; }
body[data-brand] .node-card { min-height: 0; }
.section-content, .prose, .contact-layout > *, .form-layout > * { min-width: 0; }
.section-content p, .prose p { max-width: 70ch; }
body[data-brand] .prose h2 { font-size: clamp(1.5rem, 2.6vw, 2.15rem); line-height: 1.3; max-width: 32ch; }
body[data-brand] .prose h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.35; }

/* Predictable controls: no bouncing, disappearing content or scroll animation. */
body[data-brand] :is(.sat-button, .button, .text-link, .sat-directory a, .service-desk a) {
  transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
body[data-brand] :is(.sat-button, .button) { min-height: 48px; }
body[data-brand] :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #2367d1;
  outline-offset: 4px;
}
body[data-brand] :is(.section--dark, .section--ink, .shop-hero, .site-footer) :focus-visible{ outline-color: #ffcb74; }
body[data-brand] input:not([type=checkbox]):not([type=radio]),
body[data-brand] select,
body[data-brand] textarea { font-size: 1rem; min-height: 48px; }
body[data-brand] textarea { min-height: 9rem; resize: vertical; }
body[data-brand] .contact-layout,
body[data-brand] .form-layout { display: grid; gap: clamp(2rem, 4vw, 4rem); align-items: start; }
body[data-brand] :is(.contact-block, .contact-form-wrap, .contact-context, .form-aside) h2 {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.25;
  max-width: 28ch;
}
body[data-brand] .form-aside { position: static; }
body[data-brand] .form-field small,
body[data-brand] .form-note { font-size: .85rem; line-height: 1.6; }
body[data-brand] .contact-details a,
body[data-brand] .sat-cost a:not(.sat-button),
body[data-brand] .footer-brand a:not(.wordmark) { overflow-wrap: anywhere; }
body[data-brand] .checkbox-field { align-items: start; }
body[data-brand] .checkbox-field input { min-width: 20px; min-height: 20px; }
body[data-brand] .checkbox-field label { line-height: 1.6; }
body[data-brand] .site-footer { padding-block: 3rem 1.3rem; }
body[data-brand] .footer-grid { gap: 2rem; }
body[data-brand] .footer-brand .wordmark { font-size: clamp(1.7rem, 3vw, 2.3rem); }
body[data-brand] .footer-brand p { margin-top: 1rem; max-width: 46ch; }
body[data-brand] .footer-links { gap: .2rem; }
body[data-brand] .footer-links a { display: inline-flex; align-items: center; min-height: 36px; line-height: 1.5; }
body[data-brand] .footer-bottom { margin-top: 2.5rem; }
body[data-brand] .sat-footer-note { line-height: 1.6; }
body[data-brand] .sat-footer-note a { display: inline-block; padding-block: .5rem; }
body[data-brand] .sat-footer-note .container { align-items: center; }

@media (max-width: 61.999rem) {
  body[data-brand] .sat-split,
  body[data-brand] .web-hero .sat-split,
  body[data-brand] .web-portfolio .sat-split { grid-template-columns: minmax(0, 1fr); }
  body[data-brand] .sat-hero .sat-split { gap: 2.5rem; }
  body[data-brand] .sat-home h1 { max-width: 25ch; font-size: clamp(2.125rem, 5.7vw, 3.5rem); }
  body[data-brand] .sat-hero .sat-intro { max-width: 64ch; }
  body[data-brand] .workflow-sheet,
  body[data-brand] .service-desk,
  body[data-brand] .migration-sheet { max-width: 100%; }
  .workflow-sheet ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; }
  .workflow-sheet li { padding: 1rem; border: 1px solid #d8e0da; }
  .workflow-sheet li.decision { border-color: #245f54; }
  .service-desk { padding: 1.3rem 1.5rem; }
  .service-desk > p { margin-bottom: .75rem; }
  .service-desk a { padding-block: .8rem; }
  .migration-sheet dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  
  body[data-brand] .contact-layout,
  body[data-brand] .form-layout { grid-template-columns: minmax(0, 1fr); }
  body[data-brand] .contact-block { padding-block: 1.25rem; }
}
@media (min-width: 40rem) and (max-width: 74.999rem) {
  body[data-brand] .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-brand] .footer-brand { grid-column: 1 / -1; }
}
@media (min-width: 48rem) and (max-width: 63.999rem) {
  body[data-brand] .section-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  body[data-brand] .section-layout .section-header h2 { font-size: clamp(1.6rem, 3vw, 2rem); }
  body[data-brand] .section-layout :is(.node-grid, .item-grid, .record-grid) { grid-template-columns: minmax(0, 1fr); }
  body[data-brand] .section-layout :is(.node-card, .item, .record) { border-right: 0; }
  body[data-brand] .section-layout .item { padding-inline: 0; }
}
@media (min-width: 62rem) {
  body[data-brand] .contact-layout,
  body[data-brand] .form-layout { grid-template-columns: minmax(0, 1.4fr) minmax(0, .85fr); }
}
@media (min-width: 75rem) {
  body[data-brand] .footer-grid { grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr)); }
  body[data-brand] .footer-brand { grid-column: auto; }
  
}
@media (max-width: 39.999rem) {
  body[data-brand] .container { width: calc(100% - 2.5rem); }
  body[data-brand] .sat-home h1 { max-width: 24ch; }
  body[data-brand] .sat-hero { padding-block: 2.25rem 3rem; }
  body[data-brand] .sat-intro { font-size: 1.0625rem; }
  .sat-trust-grid, .sat-detail-grid, .web-ownership { grid-template-columns: minmax(0, 1fr); }
  .workflow-sheet ol, .migration-sheet dl, .sat-case ol { grid-template-columns: minmax(0, 1fr); }
  .workflow-sheet { padding: 1.25rem; }
  .sat-kicker { font-size: .7rem; letter-spacing: .07em; }
  .sat-actions { gap: .65rem; }
  .sat-actions > a:not(.sat-button) { min-height: 44px; }
  .sat-hero-contact .sat-actions { align-items: stretch; }
  .sat-hero-contact .sat-button { width: 100%; }
  .provider-line .container { padding-block: .65rem; font-size: .72rem; }
  body[data-brand] .page-hero h1 { font-size: clamp(1.9rem, 7.7vw, 2.75rem); }
  body[data-brand] .page-hero { padding-block: 2rem 2.5rem; }
  body[data-brand] .footer-links a { min-height: 44px; }
  body[data-brand] .footer-bottom { gap: 1rem; }
  body[data-brand] .footer-bottom nav { gap: 1rem; flex-wrap: wrap; }
  body[data-brand] .footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Keep hover targets in place and reserve motion for colour feedback. */
body[data-brand] .button:hover,
body[data-brand] .text-link:hover span { translate: none; }

/* Multi-card directories need the full content width, not a narrow half-page. */
body[data-brand] .section-layout:has(.record-grid > :nth-child(2)),
body[data-brand] .section-layout:has(.node-grid > :nth-child(2)) {
  grid-template-columns: minmax(0, 1fr);
}
body[data-brand] .section-layout:has(.record-grid > :nth-child(2)) .section-header,
body[data-brand] .section-layout:has(.node-grid > :nth-child(2)) .section-header { max-width: 70ch; }
body[data-brand] .record-number { margin-bottom: 1.2rem; }
body[data-brand] .legal-layout .prose h2 { max-width: none; }
@media (min-width: 40rem) {
  body[data-brand] .section-layout .record-grid:has(> :nth-child(2)),
  body[data-brand] .section-layout .node-grid:has(> :nth-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 75rem) {
  body[data-brand] .section-layout .record-grid--3:has(> :nth-child(3)),
  body[data-brand] .section-layout .node-grid--3:has(> :nth-child(3)) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-brand] .section-layout .record-grid--4:has(> :nth-child(4)) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* Native FAQs remain useful and readable on the light home sections. */
.sat-home .faq-list { border-top: 2px solid var(--sat-accent); }
.sat-home .faq-item { border-bottom: 1px solid #aebcb5; }
.sat-home .faq-item summary { color: #192d29; min-height: 56px; font-size: 1.05rem; line-height: 1.5; }
.sat-home .faq-item summary code,
.sat-home .faq-item summary::after { color: var(--sat-accent); }
.sat-home .faq-answer { color: #364740; line-height: 1.7; }
.sat-home .faq-answer p { margin: 0; }
@media (max-width: 39.999rem) {
  .sat-home .faq-answer { padding-inline: 0 1rem; }
  .sat-home .faq-item summary { gap: .4rem; }
}
/* Labels support the content; they must not become miniature decorative text. */
body[data-brand] .required-note,
body[data-brand] .field-help { font-size: .85rem; line-height: 1.6; text-transform: none; letter-spacing: 0; }
body[data-brand] .footer-group h2,
body[data-brand] .footer-heading { font-size: .75rem; line-height: 1.6; }
@media (min-width: 76rem) {
  body[data-brand] .desktop-nav a:not(.button) { font-size: .8125rem; letter-spacing: .025em; }
}
/* Notes and optional depth use the same contrast and spacing as their section. */
.shop-hero .sat-note { background: #213a4d; border-color: #f5ba8e; color: #f9faf7; }
body[data-brand] .form-surface > h2 {
  max-width: 28ch;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.25;
  margin-bottom: 1rem;
}
.sat-scope-details { margin-top: 2rem; border-block: 1px solid #aebcb5; }
.sat-scope-details > summary {
  cursor: pointer;
  min-height: 56px;
  padding: 1rem 1.25rem 1rem 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #192d29;
  line-height: 1.5;
}
.sat-scope-details > summary::marker { color: var(--sat-accent); }
.sat-scope-details[open] > summary { margin-bottom: 1rem; }
.sat-scope-details > .sat-detail-grid { padding-bottom: 1rem; }
.sat-scope-details .sat-case { margin-bottom: 1.5rem; }
/* Direct form and keyboard navigation should not wait for animated scrolling. */
html { scroll-behavior: auto; }

/* Open navigation remains within the viewport, including short zoomed screens. */
@media (max-width: 77.999rem) {
  body[data-brand] :is(.mobile-nav, .site-navigation) > nav {
    max-width: calc(100vw - 5rem);
    max-height: var(--nav-available-height, calc(100dvh - 11rem));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}
/* Form failures remain next to the entered data, with a visible recovery action. */
body[data-brand] .sat-form-feedback {
  grid-column: 1 / -1;
  padding: 1rem 1.15rem;
  border: 1px solid #9aafa6;
  border-left-width: 4px;
  background: #eef5f1;
  color: #19342c;
  font-size: 1rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
body[data-brand] .sat-form-feedback[data-state=error] {
  background: #fff4ef;
  border-color: #9a3d25;
  color: #742b1a;
}
body[data-brand] .sat-form-feedback p { margin: 0; color: inherit; }
body[data-brand] .sat-form-feedback p + p { margin-top: .65rem; }
body[data-brand] .sat-form-feedback a { color: inherit; text-decoration: underline; font-weight: 650; }
body[data-brand] .sat-form-feedback:focus { outline: 3px solid #2367d1; outline-offset: 4px; }
body[data-brand] button[type=submit]:disabled { cursor: wait; opacity: .8; }
body[data-brand] .sat-form-feedback:not([hidden]) { margin-bottom: 1.25rem; }
body[data-brand] .sat-form-feedback > a { display: inline-block; margin-top: .65rem; }

/* The name explains the benefit, before the detailed service selection. */
.sat-brand-promise {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  border-top: 1px solid #c6cec8;
  background: var(--sat-paper, #f5f7f0);
  color: #192d29;
}
.sat-brand-promise-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: start;
}
.sat-home .sat-brand-promise h2 {
  max-width: 23ch;
  margin: 0;
  font-size: clamp(1.65rem, 2.6vw, 2.5rem);
  line-height: 1.2;
}
.sat-brand-promise-copy p { margin: 0; max-width: 62ch; line-height: 1.75; }
.sat-brand-promise-copy p + p { margin-top: 1rem; }
.sat-brand-promise-copy .sat-brand-promise-signature {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 2px solid var(--sat-accent);
  font-size: .85rem;
}
@media (max-width: 61.999rem) {
  .sat-brand-promise-grid { grid-template-columns: minmax(0, 1fr); }
  .sat-home .sat-brand-promise h2 { max-width: 30ch; }
}

/* Readable main navigation across all four sites, including brand overrides. */
body[data-brand] .site-header :is(.desktop-nav, .site-navigation, .mobile-nav) a[href] {
  display: inline-flex;
  align-items: center;
  min-height: 3.25rem;
  padding: .75rem .5rem;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}
body[data-brand] .site-header :is(.desktop-nav, .site-navigation, .mobile-nav) :is(a.button, a.nav-cta) {
  padding-inline: 1rem;
  font-size: 1.125rem;
  min-height: 3.25rem;
}
body[data-brand] .site-header :is(.mobile-nav, .site-navigation) > summary {
  min-height: 3.25rem;
  padding: .65rem .85rem;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}
body[data-brand] .site-header .mobile-nav nav a[href] {
  display: flex;
  min-height: 3.5rem;
  padding: .85rem .75rem;
  font-size: 1.25rem;
}
@media (max-width: 77.999rem) {
  body[data-brand] .site-header .site-navigation nav a[href] {
    display: flex;
    min-height: 3.5rem;
    padding: .85rem .75rem;
    font-size: 1.25rem;
  }
}
/* Native menus remain scrollable on short screens and at enlarged text sizes. */
body[data-brand] .site-header .mobile-nav > nav {
  max-width: calc(100vw - 2.5rem);
  max-height: var(--nav-available-height, calc(100dvh - 8rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 77.999rem) {
  body[data-brand] .site-header .site-navigation > nav {
    max-width: calc(100vw - 2.5rem);
    max-height: var(--nav-available-height, calc(100dvh - 8rem));
    overflow-y: auto;
  }
}
