/* Homepage-only progressive disclosure. Desktop and no-JS content stay open. */
body[data-compact-home] .home-mobile-summary { display:none; }

@media (max-width:600px) {
 body[data-compact-home] main section[id],
 body[data-compact-home] .ecosystem-overview article[id],
 body[data-compact-home] .home-mobile-more { scroll-margin-block-start:100px; }
 /* Native summaries remain keyboard accessible; no height-clamped content. */
 body[data-compact-home] .home-mobile-more {
  margin:12px 0;
  min-width:0;
 }
 body[data-compact-home] .home-mobile-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:calc(100% - 36px);
  min-height:76px;
  margin-inline:auto;
  padding:17px 18px;
  border:1px solid #ddd8ce;
  border-radius:14px;
  background:#f2efe8;
  color:#302b23;
  list-style:none;
  cursor:pointer;
  text-align:start;
  -webkit-tap-highlight-color:transparent;
 }
 body[data-compact-home] .home-mobile-summary::-webkit-details-marker { display:none; }
 body[data-compact-home] .home-mobile-summary-copy { display:grid; gap:5px; min-width:0; }
 body[data-compact-home] .home-mobile-summary-copy strong { font-size:1rem; line-height:1.4; font-weight:550; }
 body[data-compact-home] .home-mobile-summary-copy small { color:#71695d; font-size:.8125rem; line-height:1.5; }
 body[data-compact-home] .home-mobile-summary-icon {
  display:grid;
  place-items:center;
  flex:none;
  width:30px;
  height:30px;
  border:1px solid #d8d1c3;
  border-radius:50%;
  background:#fffdf8;
  color:#5e584a;
  font-size:1.25rem;
  line-height:1;
 }
 body[data-compact-home] .home-mobile-more[open]>.home-mobile-summary { background:#e9ecdf; border-color:#cbd0bb; }
 body[data-compact-home] .home-mobile-more[open]>.home-mobile-summary .home-mobile-summary-icon { transform:rotate(45deg); }
 body[data-compact-home] .home-mobile-summary:focus-visible { outline:3px solid #65734b; outline-offset:4px; }
 body[data-compact-home] .home-mobile-more>.section { padding-block:34px; }
 body[data-compact-home] .home-mobile-more>.section+.section { padding-block-start:24px; }

 /* Keep proof visible without spending another screen on the logo strip. */
 body[data-compact-home] .section.portfolio-proof { padding-block:26px 20px; }
 body[data-compact-home] .portfolio-proof-heading { margin-block-end:14px; }
 body[data-compact-home] .portfolio-proof-heading .eyebrow { margin-block-end:8px; font-size:.6875rem; }
 body[data-compact-home] .portfolio-proof-heading h2 { font-size:1rem; line-height:1.45; }
 body[data-compact-home] .portfolio-marks { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 12px; }
 body[data-compact-home] .portfolio-mark { flex:0 1 28%; min-height:44px; }
 body[data-compact-home] .portfolio-logo img { width:86px; max-width:100%; max-height:36px; }

 /* Three short, complete paths; small art replaces the tall desktop canvases. */
 body[data-compact-home] .ecosystem-overview { padding-block:36px; }
 body[data-compact-home] .ecosystem-overview .product-heading { margin-block-end:24px; text-align:start; }
 body[data-compact-home] .ecosystem-overview .product-heading .eyebrow { margin-block-end:12px; font-size:.75rem; }
 body[data-compact-home] .ecosystem-overview .product-heading h2 { font-size:clamp(1.7rem,7.4vw,2.125rem); line-height:1.17; margin-block-end:16px; }
 body[data-compact-home] .ecosystem-overview .product-heading>p:not(.eyebrow) { font-size:.9375rem; line-height:1.6; }
 body[data-compact-home] .ecosystem-paths { grid-template-columns:minmax(0,1fr); gap:12px; }
 body[data-compact-home] .ecosystem-path { position:relative; min-width:0; border-radius:14px; }
 body[data-compact-home] .ecosystem-overview .product-feature-copy { padding:18px; }
 body[data-compact-home] .ecosystem-overview .ecosystem-path-label { margin-block-end:9px; font-size:.6875rem; line-height:1.4; }
 body[data-compact-home] .ecosystem-overview .ecosystem-path h3 { padding-inline-end:88px; font-size:1.1875rem; line-height:1.3; margin-block-end:14px; }
 body[data-compact-home] .ecosystem-overview .ecosystem-path p { font-size:.9375rem; line-height:1.6; margin-block-end:10px; }
 body[data-compact-home] .ecosystem-overview .ecosystem-path a { align-items:center; min-height:44px; font-size:.875rem; line-height:1.45; }
 body[data-compact-home] .ecosystem-overview .product-feature-art {
  position:absolute;
  inset-block-start:18px;
  inset-inline-end:18px;
  width:72px;
  height:72px;
  min-height:0;
  padding:0;
  border-radius:12px;
  pointer-events:none;
 }
 body[data-compact-home] .ecosystem-overview :is(.product-search,.product-search-result,.product-art-chip) { display:none; }
 body[data-compact-home] .ecosystem-overview .product-chart { inset:12px 9px; gap:4px; }
 body[data-compact-home] .ecosystem-overview .product-orbit { width:46px; height:46px; }
 body[data-compact-home] .ecosystem-overview .product-orbit>span { inset:10px; border-radius:7px; font-size:1.125rem; }
 body[data-compact-home] .ecosystem-overview .product-orbit>i { display:none; }

 /* Browsable app ideas stay in one horizontal rail, with full captions. */
 body[data-compact-home] .app-gallery { padding-block:36px 28px; }
 body[data-compact-home] .app-gallery .ag-heading { gap:16px; margin-block-end:18px; }
 body[data-compact-home] .app-gallery .ag-intro h2 { margin-block:10px 14px; font-size:clamp(1.7rem,7.4vw,2.125rem); line-height:1.17; }
 body[data-compact-home] .app-gallery .ag-intro>p:not(.eyebrow) { font-size:.9375rem; line-height:1.6; }
 body[data-compact-home] .app-gallery .ag-note { margin-block-start:10px; font-size:.75rem; }
 body[data-compact-home] .app-gallery .ag-rail { gap:12px; padding-block:4px 14px; padding-inline:18px; scroll-padding-inline:18px; }
 body[data-compact-home] .app-gallery .ag-card { flex-basis:min(72vw,260px); }
 body[data-compact-home] .app-gallery .ag-link { border-radius:16px; }
 body[data-compact-home] .app-gallery .ag-visual { height:auto; }
 body[data-compact-home] .app-gallery .ag-caption { min-height:0; padding:17px 18px; }
 body[data-compact-home] .app-gallery .ag-caption h3 { margin-block-end:12px; font-size:1rem; line-height:1.35; }
 body[data-compact-home] .app-gallery .ag-card-arrow { inset-inline-end:18px; bottom:18px; }
 body[data-compact-home] .app-gallery .ag-preview { padding:14px; border-radius:13px; }
 body[data-compact-home] .app-gallery .ag-micro-value { font-size:2.5rem; }
 body[data-compact-home] .app-gallery .ag-mini-chart { height:64px; }

 /* Project prose dictates height; do not reserve desktop-sized empty space. */
 body[data-compact-home] .project-stories { padding-block:36px; }
 body[data-compact-home] .project-stories .product-heading { text-align:start; margin-block-end:22px; }
 body[data-compact-home] .project-stories .product-heading h2 { font-size:clamp(1.7rem,7.4vw,2.125rem); line-height:1.17; margin-block-end:14px; }
 body[data-compact-home] .project-stories .product-heading>p:last-child { margin-block-start:14px; font-size:.9375rem; line-height:1.6; }
 body[data-compact-home] .project-story-panel,
 body[data-compact-home] .project-stories.is-enhanced .project-story-panel { min-height:0; padding:20px; border-radius:15px; }
 body[data-compact-home] .project-story-copy { font-size:1.4375rem; line-height:1.35; margin-block:22px 20px; text-align:start; }
 body[data-compact-home] .project-stories.is-enhanced .project-story-copy { display:block; flex:0 1 auto; }
 body[data-compact-home] .project-story-attribution { justify-content:flex-start; gap:11px; margin-block-end:18px; }
 body[data-compact-home] .project-story-avatar { width:44px; height:44px; border-radius:11px; }
 body[data-compact-home] .project-story-attribution h3 { font-size:.9375rem; }
 body[data-compact-home] .project-story-attribution p { font-size:.75rem; }
 body[data-compact-home] .project-story-topline { gap:8px; font-size:.75rem; }
 body[data-compact-home] .project-story-stage { font-size:.6875rem; }
 body[data-compact-home] .project-story-bottom { align-items:flex-start; gap:8px; padding-block-start:14px; }
 body[data-compact-home] .project-story-authorship { font-size:.6875rem; text-align:start; }
 body[data-compact-home] .project-story-bottom>a { min-height:44px; font-size:.875rem; }
 body[data-compact-home] .project-story-navigation { margin-block:14px; }
 body[data-compact-home] .project-story-navigation>button { width:44px; height:44px; }
 body[data-compact-home] .project-story-count { font-size:.75rem; }
 body[data-compact-home] .project-story-tabs { display:flex; gap:8px; padding:5px; margin-block-start:14px; overflow-x:auto; scroll-padding-inline:5px; }
 body[data-compact-home] .project-story-tabs>a { flex:0 0 110px; min-height:80px; gap:5px; padding:10px 8px; }
 body[data-compact-home] .project-story-brand { width:90px; max-width:100%; height:32px; }
 body[data-compact-home] .project-story-brand--faben { width:32px; }
 body[data-compact-home] .project-story-tab-name { font-size:.6875rem; }
 body[data-compact-home] .project-stories-more { margin-block-start:16px; }
 body[data-compact-home] .project-stories-more .text-link { min-height:44px; align-items:center; font-size:.875rem; }

 /* Method and inquiry stay in the main story, with real touch-sized controls. */
 body[data-compact-home] .brand-method { padding-block:36px; }
 body[data-compact-home] .brand-method .brand-section-heading { display:block; margin-block-end:20px; }
 body[data-compact-home] .brand-method .brand-section-heading h2 { font-size:1.8rem; line-height:1.2; }
 body[data-compact-home] .brand-method .brand-section-heading .text-link { display:inline-flex; align-items:center; min-height:44px; margin-block-start:10px; white-space:normal; font-size:.875rem; }
 body[data-compact-home] .brand-principles { grid-template-columns:minmax(0,1fr); gap:18px; }
 body[data-compact-home] .brand-principles article { position:relative; padding-block-start:17px; padding-inline-start:34px; }
 body[data-compact-home] .brand-principles article>span { position:absolute; inset-block-start:20px; inset-inline-start:0; font-size:.75rem; }
 body[data-compact-home] .brand-principles h3 { margin-block:0 8px; font-size:1.0625rem; line-height:1.4; }
 body[data-compact-home] .brand-principles p { font-size:.9375rem; line-height:1.6; }
 body[data-compact-home] .home-inquiry.enterprise-contact { padding-block:36px; }
 body[data-compact-home] .home-inquiry .enterprise-layout { gap:22px; }
 body[data-compact-home] .home-inquiry .enterprise-context h2 { font-size:1.875rem; line-height:1.18; margin-block-end:14px; }
 body[data-compact-home] .home-inquiry .enterprise-context>p { font-size:.9375rem; line-height:1.6; }
 body[data-compact-home] .home-inquiry .ecosystem-contact-note { margin-block:18px; padding-block:16px; }
 body[data-compact-home] .home-inquiry .ecosystem-contact-note strong { font-size:.9375rem; }
 body[data-compact-home] .home-inquiry .ecosystem-contact-note p { font-size:.875rem; line-height:1.6; }
 body[data-compact-home] .home-inquiry .home-reply-note { margin-block:14px; }
 body[data-compact-home] .home-inquiry .enterprise-form { padding:20px 18px; }
 body[data-compact-home] .home-inquiry .enterprise-form .form-heading { margin-block-end:20px; }
 body[data-compact-home] .home-inquiry .enterprise-form .form-heading h3 { font-size:1.25rem; line-height:1.35; }
 body[data-compact-home] .home-inquiry .enterprise-form .brief-field { margin-block-end:15px; }
 body[data-compact-home] .home-inquiry .enterprise-form :is(input,textarea) { font-size:1rem; padding:11px 12px; }
 body[data-compact-home] .home-inquiry .enterprise-form textarea { min-height:100px; }
 body[data-compact-home] .home-inquiry .enterprise-form .contact-submit { min-height:48px; }

 /* Footer hierarchy remains intact, including policy and language controls. */
 body[data-compact-home] .product-footer-invitation { padding-block:32px 26px; gap:16px; }
 body[data-compact-home] .product-footer-invitation h2 { font-size:1.875rem; line-height:1.18; margin-block-end:12px; }
 body[data-compact-home] .product-footer-invitation p { font-size:.9375rem; line-height:1.6; }
 body[data-compact-home] .ship-footer .ship-footer-grid { padding-block:22px; gap:0; }
 body[data-compact-home] .ship-footer .ship-footer-brand { margin-block-end:18px; }
 body[data-compact-home] .ship-footer .ship-footer-brand>p { font-size:.9375rem; line-height:1.55; margin-block-start:12px; }
 body[data-compact-home] .ship-footer .original-brand-logo { width:40px; height:40px; }
 body[data-compact-home] .ship-footer .footer-fold>summary { min-height:48px; padding-block:12px; font-size:.9375rem; }
 body[data-compact-home] .ship-footer .footer-fold-links { padding-block:10px; gap:0; }
 body[data-compact-home] .ship-footer .footer-fold-links a { display:flex; align-items:center; min-height:44px; padding-block:7px; font-size:.875rem; line-height:1.5; }
 body[data-compact-home] .ship-footer .ship-footer-bottom { padding-block:16px; gap:10px; }
 body[data-compact-home] .ship-footer nav.site-policy-links { padding-block-start:14px; }

 html.access-contrast body[data-compact-home] .home-mobile-summary,
 html.access-contrast body[data-compact-home] .home-mobile-summary-icon { border-color:#111; background:#fff; color:#111; }
}
