/* Site-book v1.4: shared rules for every Astro page. */
@font-face {
  font-family: "Liberation Sans";
  src: url("/fonts/Web17Sans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Liberation Sans";
  src: url("/fonts/Web17Sans-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Liberation Sans";
  src: url("/fonts/Web17Sans-Italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

:root {
  color-scheme: light;
  --sds-navy: #071d42;
  --sds-warm: #f8f7f4;
  --sds-paper: #fbfcfd;
  --sds-white: #ffffff;
  --sds-muted: #5a749b;
  --sds-muted-on-warm: #536d92;
  --sds-muted-warm: var(--sds-muted-on-warm);
  --sds-teal: #0eb4a5;
  --sds-teal-functional: #08796f;
  --sds-orange: #f35623;
  --sds-orange-small: #d14312;
  --sds-border: #e3e8ee;
  --sds-neutral: #909399;
  --sds-mint-wash: #e5f5f2;
  --sds-orange-wash: #fff1ed;
  --sds-font: "Liberation Sans", Arial, sans-serif;
  --sds-content-max: 1280px;
  --sds-header-h: 65px;
  --sds-radius-button: 8px;
  --sds-cta-h: 56px;
  --sds-contact-icon-w: 20px;
  --sds-contact-icon-h: 24px;
  --sds-contact-gap: 12px;
  --sds-contact-font: 14px;
  --sds-section-label-desktop: 13px;
  --sds-section-label-mobile: 12px;
  --sds-section-label-tracking: .12em;
  --sds-section-label-gap: 16px;
  --sds-h1-size: 58px;
  --sds-case-h1-size: clamp(44px, 3.45vw, 52px);
  --sds-h2-size: 48px;
  --sds-h3-size: 30px;
  --sds-lead-size: 21px;
  --sds-body-size: 18px;
  --sds-caption-size: 14px;
  --sds-space-1: 4px;
  --sds-space-2: 8px;
  --sds-space-3: 12px;
  --sds-space-4: 16px;
  --sds-space-6: 24px;
  --sds-space-8: 32px;
  --sds-space-10: 40px;
  --sds-space-12: 48px;
  --sds-space-16: 64px;
  --sds-space-20: 80px;
  --sds-space-24: 96px;
  --sds-shadow-card: 0 16px 48px rgba(7, 29, 66, .08);
  --sds-label-top: 24px;
}

@media (min-width: 1200px) {
  :root { --sds-gutter: clamp(48px, 4.8vw, 72px); --sds-col-gap: 24px; --sds-section-pad: 64px; }
}
@media (min-width: 900px) and (max-width: 1199px) {
  :root { --sds-gutter: 40px; --sds-col-gap: 20px; --sds-section-pad: 48px; }
}
@media (min-width: 600px) and (max-width: 899px) {
  :root { --sds-gutter: 32px; --sds-col-gap: 20px; --sds-section-pad: 48px; --sds-case-h1-size: 44px; }
}
@media (min-width: 360px) and (max-width: 599px) {
  :root {
    --sds-gutter: 20px; --sds-col-gap: 16px; --sds-section-pad: 40px;
    --sds-cta-h: 52px; --sds-section-label-gap: 12px;
    --sds-h1-size: 36px; --sds-case-h1-size: 36px; --sds-h2-size: 32px; --sds-h3-size: 24px;
    --sds-lead-size: 18px; --sds-body-size: 16px;
    --sds-label-top: 40px;
  }
}
@media (max-width: 359px) {
  :root {
    --sds-gutter: 16px; --sds-col-gap: 16px; --sds-section-pad: 40px;
    --sds-cta-h: 52px; --sds-section-label-gap: 12px;
    --sds-h1-size: 32px; --sds-case-h1-size: 32px; --sds-h2-size: 30px; --sds-h3-size: 24px;
    --sds-lead-size: 18px; --sds-body-size: 16px;
    --sds-label-top: 40px;
  }
}

.sds-container,
.sewes-shell,
.sewes-small__inner,
.case-wrap,
.sw-approach__shell,
.sewes-audit__wrap,
.sw-plan__wrap,
.sw-realization__wrap,
.sewes-peaks__inner,
.sewes-about__inner,
.sewes-final-cta__content {
  width: min(var(--sds-content-max), calc(100% - 2 * var(--sds-gutter)));
  margin-inline: auto;
}

.sds-section-label {
  margin: 0 0 var(--sds-section-label-gap);
  color: var(--sds-muted);
  font-family: var(--sds-font);
  font-size: var(--sds-section-label-desktop);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: var(--sds-section-label-tracking);
  text-transform: uppercase;
}

.sds-section-label--sticky {
  background: var(--sds-paper);
}

.sds-step-number--01 { color: var(--sds-neutral); }
.sds-step-number--02 { color: var(--sds-teal-functional); }
.sds-step-number--03 { color: var(--sds-orange-small); }

.sds-cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--sds-cta-h);
  gap: var(--sds-space-3);
  padding: 14px 28px;
  border: 0;
  border-radius: var(--sds-radius-button);
  background: var(--sds-orange);
  color: var(--sds-white);
  font-family: var(--sds-font);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
  transition: background-color 160ms ease, box-shadow 160ms ease;
}
.sds-cta-primary:hover {
  background: var(--sds-orange-small);
  box-shadow: 0 10px 28px rgba(209, 67, 18, .2);
}
.sds-cta-primary:focus-visible {
  outline: 3px solid var(--sds-teal-functional);
  outline-offset: 4px;
}
.sds-cta-primary svg {
  width: 20px;
  height: 20px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sds-cta-primary--header {
  min-height: 44px;
  padding: 10px 18px;
  background: var(--sds-orange-small);
  font-size: 16px;
}
.sds-cta-primary--header:hover { background: #b83a0f; }

.sds-contact-hint {
  display: flex;
  align-items: center;
  gap: var(--sds-contact-gap);
  margin: 0;
  color: var(--sds-muted);
  font-family: var(--sds-font);
  font-size: var(--sds-contact-font);
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
}
.sds-contact-hint svg {
  width: var(--sds-contact-icon-w);
  height: var(--sds-contact-icon-h);
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 899px) {
  .sds-cta-primary--header { display: none; }
}

@media (max-width: 599px) {
  .sds-section-label { font-size: var(--sds-section-label-mobile); }
  .sds-cta-primary { min-height: var(--sds-cta-h); padding-inline: 24px; font-size: 20px; }
  .sds-cta-primary--header { font-size: 16px; }
  .sds-contact-hint { gap: var(--sds-contact-gap); font-size: var(--sds-contact-font); letter-spacing: normal; }
  .sds-contact-hint svg { width: var(--sds-contact-icon-w); height: var(--sds-contact-icon-h); }
}

/* P-CASE-H1-COMPACT and the shared prepared-case shell, approved 18.10.2026. */
.prepared-case-page .prepared-case .hero { padding: 16px 0 40px; }
.prepared-case-page .prepared-case .section { padding-block: 32px 48px; }
@media (min-width: 900px) {
  .prepared-case-page .prepared-case .hero-grid { align-items: start; }
  /* Back link (44+12) + section label (13*1.3+16) = H1 top. */
  .prepared-case-page .prepared-case .hero .hero-visual { align-self: start; margin-top: 88.9px; }
}
.prepared-case-page .prepared-case .sds-case-back-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 12px;
  color: var(--sds-muted-on-warm);
  font-family: var(--sds-font);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.prepared-case-page .prepared-case .sds-case-back-link:hover { color: var(--sds-orange-small); }
.prepared-case-page .prepared-case .hero-copy h1 {
  max-width: 100%;
  margin-bottom: 16px;
  font-family: var(--sds-font);
  font-size: var(--sds-case-h1-size);
  font-weight: 700;
  line-height: 1.09;
  letter-spacing: -.04em;
}
.prepared-case-page .prepared-case .section-label {
  font-family: var(--sds-font);
  font-size: var(--sds-section-label-desktop);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: var(--sds-section-label-tracking);
  text-transform: uppercase;
}
.prepared-case-page .prepared-case .sds-cta-primary {
  min-height: var(--sds-cta-h);
  border: 0;
  padding: 14px 28px;
  background: var(--sds-orange);
  color: var(--sds-white);
  font-size: 20px;
}
.prepared-case-page .prepared-case .sds-cta-primary:hover { background: var(--sds-orange-small); }
.prepared-case-page .prepared-case .sds-contact-hint {
  gap: var(--sds-contact-gap);
  font-size: var(--sds-contact-font);
}
.prepared-case-page .prepared-case .metric-row--offset { margin-top: var(--sds-space-6); }
@media (max-width: 899px) {
  .prepared-case-page .prepared-case .hero { padding: 16px 0 32px; }
  .prepared-case-page .prepared-case .section { padding-block: 24px 40px; }
}
@media (max-width: 599px) {
  .prepared-case-page .prepared-case .hero { padding: 12px 0 32px; }
  .prepared-case-page .prepared-case .sds-case-back-link { font-size: 14px; margin-bottom: 10px; }
  .prepared-case-page .prepared-case .hero-copy h1 { line-height: 1.12; }
  .prepared-case-page .prepared-case .section-label { font-size: var(--sds-section-label-mobile); }
  .prepared-case-page .prepared-case .sds-cta-primary { padding-inline: 24px; }
}
