/* Approved mobile changes, 28 September 2026. Full page content stays in place. */
.footer-mobile,
.mobile-founder-name { display:none; }

@media screen and (max-width:1200px) {
  /* Both existing header implementations retain their original links and toggle. */
  html body .site-header :is(.header-inner, .header-row) { position:relative; }
  html body .site-header :is(.header-inner, .header-row) > .nav {
    display:none;
    position:absolute;
    z-index:100;
    inset:auto 0 auto 0;
    top:calc(100% + 1px);
    width:auto;
    margin:0;
    padding:10px 14px;
    grid-template-columns:minmax(0,1fr);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    max-height:calc(100dvh - 126px);
    overflow-y:auto;
    background:#17394f;
    border:1px solid #496777;
    border-radius:0;
    box-shadow:0 10px 24px rgb(7 27 46 / 18%);
  }
  html body .site-header :is(.header-inner, .header-row) > .nav.open { display:flex; }
  html body .site-header :is(.header-inner, .header-row) > .nav a {
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 12px;
    color:#f3f7fa;
    font-size:15px;
    line-height:1.4;
    border:0;
    border-radius:0;
    background:transparent;
    text-decoration:none;
  }
  html body .site-header :is(.header-inner, .header-row) > .nav a:is(:hover,:focus-visible,[aria-current="page"]) {
    background:#24495f;
    color:#fff;
  }
  html body .site-header :is(.header-inner, .header-row) > .nav a:focus-visible {
    outline:2px solid #9fd2d4;
    outline-offset:-2px;
  }
}

@media screen and (max-width:760px) {
  body { --mobile-gutter:24px; }
  html body[data-mobile-polish] main :is(.r4-wrap,.wrap,.container,.studies-wrap,.ev-wrap,.sat-wrap,.assurance-wrap),
  html body[data-mobile-polish] main.container {
    box-sizing:border-box;
    width:calc(100% - 2 * var(--mobile-gutter));
    max-width:100%;
    min-width:0;
    margin-inline:auto;
    padding-inline:0;
  }
  html body[data-mobile-polish] main :is(.r4-wrap,.wrap,.container,.studies-wrap,.ev-wrap,.sat-wrap,.assurance-wrap) > * { min-width:0; }
  html body[data-mobile-polish] main :is(p,li,dd) { overflow-wrap:anywhere; }
  html body.r4-home #main #satellite-analysis-intro { padding-inline:var(--mobile-gutter); }
  html body.r4-home #main .r4-workflow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body.r4-home #main .r4-workflow-step { min-width:0; }
  html body.r4-home #main .r4-record-stage { grid-template-columns:minmax(0,1fr); }
  html body.r4-home #main .r4-record-stage > * { min-width:0; max-width:100%; }
  html body.r4-home #main .r4-evidence-lens .r4-compare-grid { grid-template-columns:minmax(0,1fr); }
  html[lang="de"] body.r4-home #main .r4-state-grid { grid-template-columns:minmax(0,1fr); }
  html[lang="de"] body.r4-home #main .r4-state-grid > div + div { border-left:0; border-top:1px solid var(--r4-line); }

  /* Only this standalone homepage programme block is omitted on mobile. */
  html body.r4-home #relationships { display:none; }

  html body.r4-home #main .r4-founder-grid {
    display:grid;
    grid-template-columns:80px minmax(0,1fr);
    gap:18px 20px;
    align-items:start;
  }
  html body.r4-home #main .r4-founder-grid > * { min-width:0; max-width:100%; }
  html body.r4-home #main .r4-founder-portrait {
    grid-column:1;
    grid-row:1;
    width:80px;
    height:100px;
    object-fit:cover;
    box-shadow:none;
  }
  html body.r4-home #main .r4-founder-copy { display:contents; }
  html body.r4-home #main .r4-founder-copy .r4-kicker {
    grid-column:2;
    grid-row:1;
    align-self:center;
    margin:0;
    font-size:12px;
  }
  html body.r4-home #main .mobile-founder-name {
    display:block;
    margin-top:8px;
    color:#14202c;
    font-size:18px;
    font-weight:600;
    line-height:1.4;
    text-transform:none;
    letter-spacing:-.015em;
  }
  html body.r4-home #main .r4-founder-copy h2 {
    grid-column:1 / -1;
    grid-row:2;
    margin:4px 0 0;
    font-size:30px;
    line-height:1.12;
    letter-spacing:-.03em;
  }
  html body.r4-home #main .r4-founder-copy > p:not(.r4-kicker),
  html body.r4-home #main .r4-founder-copy > a { grid-column:1 / -1; margin-block:0; }

  html body .footer { padding:0; background:#14283d; }
  html body .footer > .footer-shell { display:none; }
  html body .footer .footer-mobile {
    display:block;
    scroll-margin-top:84px;
    box-sizing:border-box;
    padding:26px var(--mobile-gutter) 14px;
    background:#14283d;
    color:#d2dee7;
    font:14px/1.5 Inter,Arial,sans-serif;
  }
  html body .footer-mobile a { color:inherit; text-decoration:none; }
  html body .footer-mobile a:focus-visible,
  html body .footer-mobile summary:focus-visible { outline:2px solid #9fd2d4; outline-offset:3px; }
  .fm-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
  html body .footer-mobile .fm-brand { display:flex; align-items:center; gap:10px; color:#fff; font-size:21px; font-weight:600; line-height:1; }
  .fm-brand img { display:block; width:27px; height:31px; }
  html body .footer-mobile .fm-contact { display:inline-flex; align-items:center; gap:6px; min-height:44px; font-size:13px; font-weight:600; white-space:nowrap; }
  html body .footer-mobile .fm-location { margin:10px 0 19px; color:#b5c9d7; font-size:12px; line-height:1.5; }
  .fm-primary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin-bottom:13px; }
  html body .footer-mobile .fm-primary a { display:flex; align-items:center; min-height:44px; color:#f2f6f8; font-size:14px; font-weight:500; }
  html body .footer-mobile .fm-more { margin:0 0 18px; padding:0; border:0; border-block:1px solid #3d5063; border-radius:0; background:transparent; color:#d2dee7; }
  html body .footer-mobile .fm-more summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:0; color:#d2dee7; font-size:13px; font-weight:500; line-height:1.5; cursor:pointer; list-style:none; }
  .fm-more summary::-webkit-details-marker { display:none; }
  .fm-more summary::after { content:'+'; font-size:20px; font-weight:300; }
  .fm-more[open] summary::after { content:'−'; }
  .fm-extra { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding:0 0 12px; }
  html body .footer-mobile .fm-extra a { display:flex; align-items:center; min-height:44px; min-width:0; font-size:13px; line-height:1.4; }
  .fm-esa { display:grid; grid-template-columns:136px minmax(0,1fr); gap:16px; align-items:center; padding:2px 0 18px; }
  .fm-esa img { display:block; width:136px; height:auto; max-width:100%; }
  html body .footer-mobile .fm-esa p { margin:0; color:#b5c9d7; font-size:12px; line-height:1.5; }
  .fm-legal { display:flex; align-items:center; gap:24px; border-top:1px solid #3d5063; }
  html body .footer-mobile .fm-legal a { display:inline-flex; align-items:center; min-height:44px; color:#b5c9d7; font-size:12px; }
}

@media screen and (max-width:430px) {
  html[lang="de"] body.r4-home #main .r4-workflow-grid { grid-template-columns:minmax(0,1fr); }
  html[lang="de"] body.r4-home #main .r4-workflow-step {
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--r4-line);
  }
  html[lang="de"] body.r4-home #main .r4-workflow-step:last-child { border-bottom:0; }
}

@media screen and (max-width:359px) {
  body { --mobile-gutter:20px; }
  html body.r4-home #main .r4-founder-copy h2 { font-size:28px; }
  .fm-esa { grid-template-columns:128px minmax(0,1fr); gap:14px; }
  .fm-esa img { width:128px; }
  html body .footer-mobile .fm-brand { font-size:19px; }
}
