/* Laurin Gutwin — audited deployment corrections, 14 September 2026.
   Loaded after the exported stylesheet. !important is limited to properties
   already forced by the export's accumulated responsive overrides. */
html, body { overflow-x: visible !important; }
body.mobile-fix-locked { position: fixed; top: var(--mobile-fix-scroll-top); left: 0; right: 0; width: 100%; overflow: hidden !important; }
.about-page-section { grid-template-columns: minmax(0, 1fr); }
.approach-grid article { min-height: 0; }
.approach-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.approach-grid h3 { margin-top: 0; margin-bottom: 16px; font-size: clamp(1.4rem,2.1vw,2.8rem); line-height: 1.08; }
.site-footer:not(.site-footer-home) .footer-hero h2 { max-width: min(100%, 16ch); }
.footer-bottom, .footer-contact, .footer-legal, .footer-hero-copy, .contact-details, .contact-details div, .contact-details dd,
.legal-content > *, .contact-main > *, .contact-form, .field, .form-grid > *, .privacy-check > * { min-width: 0; }
.footer-contact a, .contact-details a, .legal-content p, .legal-content a, .imprint-card p { overflow-wrap: anywhere; }
.legal-content { grid-template-columns: minmax(0, 1fr); overflow: visible; }
.legal-content h2, .legal-content h3 { overflow-wrap: anywhere; }
.contact-form :is(input,select,textarea) { min-width: 0; max-width: 100%; }
.contact-faq .faq-answer:not(.is-open) { display: none !important; }
.contact-faq .faq-answer.is-open { max-height: none !important; overflow: visible !important; }
.mobile-menu[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.mobile-menu-panel { outline-offset: -4px; }
.mobile-fix-menu-open .site-nav { z-index: 10001 !important; color: var(--ink); background: var(--paper); }
.mobile-fix-menu-open .site-nav .brand-logo-image { filter: none; }
.mobile-menu { z-index: 10000 !important; width: 100% !important; }
.mobile-menu-panel a:not(.mobile-primary) { border-bottom: 1px solid var(--line); font-family: var(--serif); }
.cookie-consent { max-height: calc(100svh - 32px); overflow-y: auto; overscroll-behavior: contain; }
@media (min-width:901px) and (max-width:1050px) {
  .pricing-intro, .package-guidance { grid-template-columns: minmax(0,1fr); }
  .package-guidance > div { grid-column: auto; }
}

/* The exported desktop header has five links on legal pages. Keep it usable
   at intermediate widths before the mobile navigation takes over. */
@media (min-width: 901px) and (max-width: 1180px) {
  .approach-grid article { padding: 28px 24px; }
  .approach-grid h3 { font-size: clamp(1.4rem,2.3vw,1.7rem); line-height: 1.08; }
  .site-nav { grid-template-columns: minmax(0,1fr) auto; gap: 16px; }
  .site-nav .brand-lockup { width: 210px !important; max-width: 100% !important; }
  .site-nav .nav-cta { display: none; }
  .desktop-nav { gap: 16px; }
  .desktop-nav :is(a,button) { font-size: .74rem; letter-spacing: .08em; }
  .package-row { grid-template-columns: minmax(0,1fr) minmax(0,.65fr) !important; gap: 24px 32px !important; }
  .package-row ul { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  :root { --mobile-fix-header-height: calc(82px + env(safe-area-inset-top)); }
  .cookie-consent { max-height: calc(100svh - var(--mobile-fix-header-height) - 32px); }
  .site-nav {
    grid-template-columns: minmax(0,1fr) auto !important; gap: 12px !important;
    min-height: var(--mobile-fix-header-height) !important;
    padding: calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left)) !important;
    color: var(--ink); background: #f8f4edfa;
  }
  .site-nav .brand-lockup { width: clamp(150px,46vw,232px) !important; max-width: 100% !important; }
  .site-nav .brand-logo-image { width: 100% !important; height: auto !important; max-height: 54px !important; object-fit: contain !important; filter: none; }
  .site-nav .menu-button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 8px 0 8px 8px; font-size: .9rem; letter-spacing: .09em; }
  .desktop-nav, .site-nav .nav-cta { display: none; }
  .mobile-menu {
    inset: 0 !important; height: 100svh !important; min-height: 0 !important; max-height: 100svh !important;
    overflow: hidden !important; overscroll-behavior: contain;
  }
  .mobile-menu-panel {
    position: absolute; inset: 0 0 0 auto; width: min(480px,100%) !important;
    height: 100% !important; min-height: 0 !important; max-height: 100% !important;
    padding: calc(var(--mobile-fix-header-height) + 22px) max(22px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left)) !important;
    overflow: hidden auto !important; overscroll-behavior: contain; gap: 4px;
  }
  .mobile-menu .mobile-menu-panel > :is(button,a):not(.mobile-primary) {
    flex: none; display: block !important; width: 100% !important; min-height: 48px !important;
    margin: 0; padding: 13px 0 !important; font-size: clamp(1.85rem,8.5vw,3rem) !important;
    line-height: 1.12 !important; letter-spacing: 0; text-align: left; white-space: normal;
  }
  .mobile-menu .mobile-menu-panel .mobile-primary {
    flex: none; display: flex !important; align-items: center; justify-content: center;
    width: 100% !important; max-width: 100% !important; min-height: 48px !important;
    margin-top: 22px; padding: 14px 18px !important; border: 1px solid var(--ink);
    border-radius: 999px; font-family: var(--sans); font-size: .8rem !important;
    line-height: 1.4 !important; letter-spacing: .09em; text-align: center; white-space: nowrap !important;
  }
  .reportages-page { padding-inline: 0 !important; }
  .reportages-page-hero { padding-inline: max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right)); }
  .reportages-section { padding-inline: max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right)) !important; overflow: visible !important; }
  .reportages-heading, .reportages-heading > *, .reportages-heading h2, .reportages-heading p { max-width: 100% !important; }
  .reportages-heading .eyebrow { font-size: .76rem !important; }
  .story-list { grid-template-columns: minmax(0,1fr); }
  .story-copy { padding: clamp(20px,5.5vw,32px); min-height: 0; }
  .story-card .story-media, .story-card:nth-child(n) .story-media { aspect-ratio: 4 / 3.35; min-height: 0 !important; }
  .story-media img { object-fit: cover; }
  .story-card .story-copy h3 { max-width: 100%; font-size: clamp(1.85rem,8vw,3.1rem); line-height: 1.04; }
  .story-copy .story-link { display: block; width: 100%; margin-top: 18px; line-height: 1.5; }
  .approach-grid { grid-template-columns: minmax(0,1fr); }
  .approach-grid article { padding: 28px 14px; }
  .approach-grid h3 { font-size: clamp(1.7rem,6.4vw,2.4rem); line-height: 1.08; }
  .footer-combined-copy h2 { max-width: 22ch; font-size: clamp(2rem,7.8vw,3.6rem); line-height: 1.08; }
  .footer-combined { padding: 64px 18px 48px; }
  .footer-combined .footer-cta-button { width: fit-content; max-width: 100%; padding-inline: 24px; }
  .footer-bottom, .site-footer-home .footer-bottom { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .footer-contact, .footer-legal { gap: 8px 20px; }
  .footer-contact a, .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
  .footer-contact a[href^="mailto:"] { display: block; align-content: center; flex-basis: 100%; font-size: clamp(.84rem,3.5vw,.96rem); }
  .site-footer:not(.site-footer-home) .footer-hero { padding-block: 20px 28px; }
  .site-footer:not(.site-footer-home) .footer-hero h2 { max-width: 18ch; font-size: clamp(1.875rem,7.6vw,3.3rem); line-height: 1.08; }
  .designed-by { min-height: 44px; }
  .site-footer { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
  .package-row { grid-template-columns: minmax(0,1fr) !important; gap: 24px !important; }
  .package-row > * { grid-column: auto !important; }
  .package-row h2 { font-size: clamp(2rem,8.5vw,3.3rem) !important; line-height: 1.04 !important; }
  .pricing-hero > .pricing-hero-content { padding-inline: 0 !important; }
  .reportage-hero-content { padding-inline: 0 !important; }
  .reportage-slideshow { overflow: visible !important; }
  .slideshow-copy { min-width: 0; padding-inline: 0 !important; }
  .slideshow-stage {
    width: 100% !important; max-width: 100% !important; margin-inline: 0 !important;
    grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto auto auto auto !important;
    grid-template-areas: "image" "status" "meta" "controls" !important;
    gap: 18px !important; padding: 16px !important; overflow: hidden !important;
  }
  .slideshow-frame { grid-area: image; width: 100%; height: clamp(220px,55svh,540px) !important; min-height: 0 !important; }
  .slideshow-zoom-button { height: 100% !important; }
  .slideshow-stage .slideshow-image { max-height: 100% !important; max-width: 100% !important; object-fit: contain !important; }
  .slideshow-status { grid-area: status; display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
  .slideshow-meta { grid-area: meta; display: block !important; padding: 0 !important; margin: 0 !important; }
  .slideshow-meta strong { font-size: clamp(1.75rem,7vw,2.6rem) !important; line-height: 1.1 !important; }
  .slideshow-controls { grid-area: controls; display: flex !important; flex-wrap: wrap !important; padding: 0 !important; margin: 0 !important; gap: 8px !important; }
  .slideshow-controls button { flex: 1 1 80px; width: auto; min-height: 46px !important; padding: 10px 8px !important; font-size: .7rem; }
  .slideshow-filmstrip { width: 100% !important; max-width: 100% !important; margin: 18px 0 0 !important; padding: 8px 0 16px !important; transform: none !important; }
  .reportage-lightbox {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto;
    gap: 12px; align-items: center; height: 100svh; padding: calc(12px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)) !important;
  }
  .reportage-lightbox .lightbox-close, .reportage-lightbox .lightbox-prev, .reportage-lightbox .lightbox-next {
    position: static !important; inset: auto !important; transform: none !important; width: 100%; min-width: 0; min-height: 44px; height: auto;
  }
  .reportage-lightbox .lightbox-close { grid-area: 1 / 2; width: auto; justify-self: end; }
  .reportage-lightbox .lightbox-prev { grid-area: 3 / 1; }
  .reportage-lightbox .lightbox-next { grid-area: 3 / 2; }
  .reportage-lightbox .lightbox-stage { grid-area: 2 / 1 / 3 / -1; width: 100% !important; height: 100%; min-height: 0 !important; padding: 0 !important; gap: 12px; }
  .reportage-lightbox .lightbox-image { max-width: 100% !important; max-height: calc(100svh - 200px) !important; }
  .reportage-lightbox .lightbox-caption { max-width: 100% !important; margin: 0 !important; }
  .reportage-lightbox .lightbox-caption strong { font-size: 1.3rem !important; }
  .reportage-lightbox .lightbox-caption p { display: none; }
  .legal-page { padding-top: var(--mobile-fix-header-height); }
  .legal-hero h1 { font-size: clamp(2.5rem,10.8vw,4.5rem) !important; line-height: 1.06 !important; }
  .legal-content h2 { font-size: clamp(1.8rem,7vw,2.6rem); line-height: 1.12; }
}
@supports (height:100dvh) {
  @media (max-width:900px) { .mobile-menu, .reportage-lightbox { height: 100dvh !important; max-height: 100dvh !important; } }
}
@media (max-width:700px) {
  .hero h1 { max-width: 100%; font-size: clamp(2.25rem,11vw,4rem); line-height: 1; }
  .hero-content { width: auto; margin-inline: 18px; }
  .personal-statement h2, .editorial-copy h2, .reportages-heading h2, .reportages-page-hero h1,
  .statement-section h2, .about-page-section h2, .about-page-cta h2, .reportage-intro-panel h2,
  .slideshow-copy h2, .reportage-story-panel h2, .reportage-contact-strip h2, .reportage-next-section h2,
  .pricing-intro h2, .package-guidance h2, .pricing-footer-cta h2 {
    max-width: 100% !important; font-size: clamp(2rem,8.3vw,3.6rem) !important; line-height: 1.08 !important;
  }
  .pricing-hero-content h1, .reportage-hero-content h1, .about-page-intro h1, .contact-page-section .contact-copy h1 {
    max-width: 100%; font-size: clamp(2.5rem,10.5vw,4rem); line-height: 1.04;
  }
  .statement-section { padding: 56px 18px; }
  .statement-section h2 { margin-inline: auto; }
  .contact-form-head h2, .contact-faq h2, .contact-direct-cta h2 { font-size: clamp(1.85rem,8vw,2.7rem); line-height: 1.1; }
  .contact-container { width: calc(100% - 36px); }
  .contact-form-shell .form-grid { grid-template-columns: minmax(0,1fr); }
  .contact-form-shell, .contact-form-card { padding: 24px 18px; }
  .footer-hero-copy .footer-cta-button, .footer-combined .footer-cta-button { min-height: 48px; }
}
@media (max-width:900px) and (orientation:landscape) and (max-height:500px) {
  :root { --mobile-fix-header-height: calc(70px + env(safe-area-inset-top)); }
  .mobile-menu-panel { padding-top: calc(var(--mobile-fix-header-height) + 12px) !important; }
  .mobile-menu .mobile-menu-panel > :is(button,a):not(.mobile-primary) { font-size: 1.85rem !important; padding-block: 10px !important; }
  .slideshow-frame { height: 64svh !important; }
  .reportage-lightbox .lightbox-image { max-height: calc(100svh - 130px) !important; }
  .reportage-lightbox .lightbox-caption { display: none !important; }
}
