/* =====================================================================
   LYD NDIS — compact homepage. Same copy, less scroll: tighter band rhythm,
   ecosystem unpinned into a 2×2 grid, ledes set smaller, tighter cards.
   ===================================================================== */
:root { --band-y: clamp(3.25rem, 5.5vw, 5rem); --band-y-tight: clamp(2.25rem, 4vw, 3.25rem); }
main section.band-loose { padding-top: clamp(3.5rem, 6vw, 5.5rem); padding-bottom: clamp(3.5rem, 6vw, 5.5rem); }
main > section:first-of-type { min-height: 0 !important; padding-top: clamp(7rem, 11vw, 9.5rem) !important; padding-bottom: clamp(3rem, 5vw, 4.5rem) !important; }
main > section:first-of-type h1.font-display { font-size: clamp(2.75rem, 5.6vw, 4.5rem) !important; }
.luxe main > section:first-of-type h1.font-display { font-size: clamp(2.75rem, 5.8vw, 4.6rem) !important; }

/* section headers: heading a step smaller, ledes compact */
main h2.font-display, main section[class] h2.font-display:not([class*="text-xs"]), .luxe main h2.font-display { font-size: clamp(1.9rem, 3.2vw, 2.75rem) !important; }
main h2.font-display + p, main .band-inner > .mx-auto > p, main .band-inner > p { font-size: 1.0625rem !important; line-height: 1.6 !important; max-width: 42rem; margin-top: 0.9rem !important; }
main .text-lede, main > section.hero-interior p.text-2xl { font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important; }
main section .mt-14, main section .mt-16, main section [class*="mt-1"][class*="grid"] { margin-top: 2rem !important; }

/* ecosystem: no pin, 2×2 grid of the four cards */
main .hscroll__runway, .luxe main .hscroll__runway { height: auto !important; }
main .hscroll__stage { position: static !important; height: auto !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
main .hscroll__track { transform: none !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; width: auto !important; }
main .hscroll__panel { width: auto !important; min-height: 0 !important; flex: none; }
main .hscroll__panel > .flex { min-height: 0; gap: 1rem !important; padding: 1.75rem !important; }
main .hscroll__panel > .flex p { max-width: none; }
main .hscroll__panel > .hidden.lg\:block { width: 44% !important; }
main .hscroll__bar, main .hscroll [class*="hscroll__hint"], main .hscroll .hscroll__scroll, main .hscroll [aria-label*="Scroll"] { display: none !important; }
@media (max-width: 1023px) { main .hscroll__track { grid-template-columns: 1fr; } main .hscroll__panel > .hidden.lg\:block { width: 100% !important; height: 12rem; } }
@media (min-width: 1024px) { main .hscroll__panel { display: flex; flex-direction: row; } main .hscroll__panel > .flex { width: 56% !important; } }

/* six things: three columns, photo narrower */
@media (min-width: 1024px) { .leaks-layout { grid-template-columns: 0.62fr 1.38fr; } .leaks-layout .leaks__stage.leaks-grid { grid-template-columns: repeat(3, 1fr) !important; column-gap: 2rem; } }
.leaks-grid .leaks__slide { padding: 1.25rem 0 1.4rem !important; }
.leaks-grid .leaks__title { font-size: 1.15rem !important; }
.leaks-grid .leaks__body { font-size: 0.9375rem; line-height: 1.5; }

/* cards + tables: tighter internal padding */
main [data-slot="card"] [data-slot="card-content"], main .card-lyd, main .carousel-card { padding: 1.5rem !important; }
main [data-section="whynow"] [data-slot="card"] p, main [data-section="proof"] .proof-card p { font-size: 0.9375rem; }
main [data-section="faq"] [data-slot="card"] .p-6 { padding: 1.1rem 1.25rem !important; }
main [data-section="faq"] p { font-size: 0.9375rem; }
main .pipe__frame td, main .pipe__frame th { padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
main section.closing-band { padding-top: clamp(3.5rem, 6vw, 5.5rem) !important; padding-bottom: clamp(3.5rem, 6vw, 5.5rem) !important; }
footer.footer-deep > div:first-child { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }

/* ---- second pass: the five tallest sections ---- */
/* ecosystem cards: fixed, shorter rows */
@media (min-width: 1024px) {
  main .hscroll__panel { height: 17.5rem !important; }
  main .hscroll__panel > .flex { padding: 1.5rem 1.6rem !important; justify-content: flex-start !important; }
  main .hscroll__panel > .flex > div > [class*="text-5xl"] { font-size: 1.75rem !important; line-height: 1 !important; }
  main .hscroll__panel > .flex > div > .mt-4 { margin-top: 0.4rem !important; }
  main .hscroll__panel h3 { font-size: 1.25rem !important; margin-top: 0.4rem !important; }
  main .hscroll__panel > .flex p { font-size: 0.9375rem !important; line-height: 1.5 !important; margin-top: 0.75rem; }
}
main section.hscroll .hscroll__stage > .mx-auto, main section.hscroll .band-inner { padding-top: 0 !important; }
main section.hscroll h2 { margin-bottom: 1.25rem; }

/* rostering connector: figure and the three steps side by side */
@media (min-width: 1024px) {
}

/* AI band: smaller phone mock, tighter list */

/* product band: compact cards */

/* six things: three tight columns */
.leaks-layout { margin-top: 1.5rem; gap: 2rem; }
.leaks-grid .leaks__slide { padding: 1rem 0 1.1rem !important; }
.leaks-grid .leaks__numeral { font-size: 0.7rem !important; }
.leaks-grid .leaks__title { margin-top: 0.5rem !important; font-size: 1.05rem !important; }
.leaks-grid .leaks__body { font-size: 0.875rem; margin-top: 0.4rem !important; }

/* faq + pricing + closing */
main [data-section="faq"] h3 { font-size: 1rem !important; }
main [data-section="pricing"] [data-slot="card"] li { font-size: 0.9rem; }
main [data-section="pricing"] .grid { margin-top: 1.5rem !important; }
main section.closing-band .band-inner > .grid { gap: 2rem !important; }
main section.closing-band .contact-card { padding: 1.5rem !important; }
main [data-section="whynow"] .band-inner > div:last-child { margin-top: 1.25rem !important; }

/* faq accordion */
main .faq-acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; }
main .faq-acc summary::-webkit-details-marker { display: none; }
main .faq-acc summary h3 { margin: 0 !important; font-size: 1rem !important; }
main .faq-acc summary::after { content: "+"; font-family: Manrope, sans-serif; font-weight: 700; font-size: 1.25rem; color: #7d5f14; flex: none; width: 1.5rem; text-align: center; transition: transform 0.25s; }
main .faq-acc[open] summary::after { content: "+"; transform: rotate(45deg); }
main .faq-acc summary:hover h3 { color: #7d5f14; transition: color 0.2s; }
main .faq-acc > p { margin-top: 0.6rem !important; }
main .faq-acc summary:focus-visible { outline: 2px solid #dcb13a; outline-offset: 3px; border-radius: 6px; }
/* one connected system: single row on wide screens */

/* old pinned-scroll hint no longer applies */
main .hscroll :has(> .hscroll__bar), main .hscroll [class*="hscroll__progress"], main .hscroll [class*="hscroll__hint"] { display: none !important; }

main .hscroll .mb-8.flex.justify-between > .flex.items-center.gap-3 { display: none !important; }

/* shared fixes requested by page builders */
main > section.hero-interior p.text-lede, main > section.hero-interior .text-lede, main > section.hero-interior h1 + p { margin-left: 0 !important; }
main section h2.font-display:not(.text-center):not([class*="text-center"]):not(:is(.text-center, .mx-auto.text-center) *) { text-align: left; }
main .text-center > h2.font-display, main .band-inner > .text-center h2.font-display, main .mx-auto.text-center h2.font-display { text-align: center; }

/* ===== mobile type scale: selectors strong enough to beat the luxe layer ===== */
@media (max-width: 767px) {
  .luxe main > section:first-of-type h1.font-display, .luxe main section[class] > div > div > div > h1.font-display, main > section:first-of-type h1.font-display { font-size: clamp(2.4rem, 9.8vw, 2.9rem) !important; line-height: 1.04 !important; }
  .luxe main h2.font-display, .luxe main section[class] h2.font-display:not([class*="text-xs"]), main h2.font-display { font-size: clamp(1.9rem, 8vw, 2.1rem) !important; }
}
@media (max-width: 639px) {
  main .replaces-grid .carousel-card > div:last-child { order: -1; margin-top: 0 !important; margin-bottom: 0.9rem; height: 2.75rem; width: 2.75rem; }
  main .replaces-grid .carousel-card { display: flex; flex-direction: column; }
}
main [data-section="faq"] a.mt-6 { padding: 0.6rem 0; margin-top: 0.9rem; }

/* the sections these rules compacted have moved to their own pages, where they have room;
   what remains of the compaction layer is homepage-only by scope */
main [data-section="whynow"] [data-slot="card"] p { font-size: 0.9375rem; }
