/* Touch layout: content determines height; scrolling never waits for animation.
   Desktop choreography stays in journey.css. */
@media (max-width: 1099px) {
  html.lx-chapter-scroll { scroll-snap-type: none; scroll-padding-top: 0; }
  [data-lx] { --pad-x: clamp(20px,4vw,40px); }
  [data-lx] main { overflow: visible; }
  [data-lx] .journey-chapter {
    min-height: 0 !important; scroll-snap-align: none; scroll-snap-stop: normal;
    scroll-margin-top: var(--chapter-header,64px) !important;
  }
  [data-lx] :is(#simulation,#how,#practice,#audiences,#method,#faq,#enquire) {
    justify-content: flex-start; padding: 56px var(--pad-x) !important;
  }
  [data-lx] :is(#how,#practice,#audiences) > div { gap: 28px !important; }
  [data-lx] .journey-item {
    opacity: 1; transform: none; transition: none;
  }
  [data-lx] .mobile-reveal {
    transition: opacity 320ms ease-out, transform 440ms cubic-bezier(.22,1,.36,1);
  }
  [data-lx] .mobile-reveal:not(.mobile-shown):not(:focus-within) {
    opacity: 0; transform: translate3d(0,14px,0);
  }
  [data-lx] .mobile-reveal.mobile-shown,
  [data-lx] .mobile-reveal:focus-within { opacity: 1; transform: none; }
  [data-lx] #enquire :is(form,form *) { scroll-margin-top: calc(var(--chapter-header,64px) + 24px); }
  [data-lx] #audiences article::before { transform: scaleX(1); transition: none; }
  [data-lx] .lx-friendly-buyer > .ctrl {
    position: static; z-index: auto; top: auto; padding: 0;
  }
  [data-lx] .lx-friendly-buyer :is(.sheet,.list,.sc-wrap,.full) {
    overscroll-behavior-y: auto;
  }
  [data-lx] #mobile-menu { max-height: calc(100dvh - 76px); overflow-y: auto; }
  [data-lx] #method > div { grid-template-columns: minmax(0,1fr) !important; }
  [data-lx] #method figure { width: 100%; box-sizing: border-box; }
}
@media (min-width: 761px) and (max-width: 1099px) {
  [data-lx] #top { min-height: calc(100svh - 77px) !important; padding: 48px var(--pad-x) !important; }
  [data-lx] #audiences > div > div:nth-child(2) { grid-template-columns: minmax(0,1fr) !important; }
  [data-lx] #audiences article { padding: 28px !important; }
  [data-lx] #practice .lx-life-map { flex-wrap: nowrap; }
  [data-lx] #practice .lx-life-map > li { min-width: 0; flex: 1 1 0 !important; padding: 20px 12px !important; }
  [data-lx] #practice .lx-life-map > li > span:first-child { font-size: 10px !important; letter-spacing: .08em !important; }
}
@media (max-width: 760px) {
  [data-lx] { --pad-x: 20px; --h2: clamp(28px,7.4vw,34px); font-size: 16px !important; }
  [data-lx] :is(#top,#simulation,#how,#practice,#audiences,#method,#faq,#enquire) { min-width: 0; }
  [data-lx] header { z-index: 100 !important; }
  [data-lx] header nav { padding-inline: var(--pad-x) !important; }
  [data-lx] #mobile-menu { max-height: calc(100dvh - 65px); padding-inline: var(--pad-x) !important; }
  [data-lx] #mobile-menu a { min-height: 48px; box-sizing: border-box; }
  [data-lx] #top {
    min-height: calc(100svh - var(--chapter-header,65px)) !important;
    padding: clamp(28px,5svh,48px) var(--pad-x) 28px !important;
    align-content: center;
  }
  [data-lx] #top > div:first-child { gap: 28px !important; }
  [data-lx] #top .lx-hero-copy { gap: 20px !important; }
  [data-lx] #top h1 { width: 100%; font-size: clamp(38px,10.7vw,56px) !important; line-height: 1.07 !important; }
  [data-lx] #top .lx-hero-copy > p:first-child { font-size: 10px !important; letter-spacing: .14em !important; }
  [data-lx] #top .lx-hero-lead-mobile { font-size: 16px !important; line-height: 1.6 !important; max-width: 33em !important; }
  [data-lx] #top .lx-hero-actions { width: 100%; gap: 8px !important; }
  [data-lx] #top .lx-hero-actions a { min-height: 48px; box-sizing: border-box; justify-content: center; }
  [data-lx] #top .lx-hero-actions a:first-child { flex-basis: 100%; padding: 14px 20px !important; }
  [data-lx] #top .lx-hero-actions a:last-child { min-height: 44px; padding: 10px 20px !important; }
  [data-lx] #top .lx-hero-credentials > div {
    display: flex !important; flex-direction: column; gap: 8px !important;
    padding: 18px 0 0 !important; border-top: 1px solid var(--border) !important;
  }
  [data-lx] #top .lx-hero-credentials > div > div { flex-basis: auto !important; width: auto !important; padding: 0 !important; }
  [data-lx] #top .lx-hero-credentials p { font-size: 12px !important; line-height: 1.45 !important; }
  [data-lx] :is(#how,#practice,#audiences,#faq,#enquire) h2 { font-size: var(--h2) !important; }
  [data-lx] :is(#how,#practice,#audiences,#faq,#enquire) p { overflow-wrap: break-word; }
  [data-lx] #simulation { padding-block: 28px 40px !important; }
  [data-lx] #simulation .fb-heading { margin-bottom: 10px; font-size: 14px; gap: 8px; }
  [data-lx] .lx-friendly-buyer .fb-heading .ctrl2 { gap: 2px; }
  [data-lx] .lx-friendly-buyer .cbtn { min-height: 44px; }
  [data-lx] .lx-friendly-buyer .phases { gap: 6px; }
  [data-lx] .lx-friendly-buyer .ph { min-height: 44px; padding: 8px 5px; font-size: 12px; }
  [data-lx] .lx-friendly-buyer .app { height: clamp(460px,65svh,540px); }
  [data-lx] .lx-friendly-buyer .narr { min-height: 0; font-size: 14px; line-height: 1.5; margin-block: 12px; }
  [data-lx] .lx-friendly-buyer .tx { margin-top: 0; }
  [data-lx] .lx-friendly-buyer .tx summary { min-height: 44px; display: flex; align-items: center; }
  [data-lx] .lx-friendly-buyer .sc-pane .kick { letter-spacing: 0; line-height: 1.4; }
  [data-lx] #how .lx-case-masthead { margin-top: 0; }
  [data-lx] #how .lx-case-chapters { margin-top: 0 !important; }
  [data-lx] #how .lx-case-chapter { padding: 28px 0 !important; gap: 14px !important; }
  [data-lx] #how .lx-case-chapter:first-child { padding-top: 0 !important; }
  [data-lx] #how .lx-case-chapter:last-child { padding-bottom: 0 !important; }
  [data-lx] #how .lx-case-evidence { box-sizing: border-box; width: 100%; padding: 16px !important; border-radius: 12px !important; }
  [data-lx] #how .lx-case-heading h3 { font-size: 26px !important; }
  [data-lx] #how .lx-case-heading > span { font-size: 28px !important; }
  [data-lx] :is(#how,#practice,#audiences,#faq) summary { min-height: 48px; box-sizing: border-box; }
  [data-lx] #practice .lx-life-map { gap: 12px !important; flex-wrap: nowrap; }
  [data-lx] #practice .lx-life-map > li { flex: 0 0 auto !important; padding: 16px !important; border-radius: 12px !important; gap: 6px !important; }
  [data-lx] #practice .lx-life-map > li > span:first-child { font-size: 11px !important; letter-spacing: .12em !important; }
  [data-lx] #featured { scroll-margin-top: calc(var(--chapter-header,64px) + 24px); margin-top: 12px; gap: 20px !important; }
  [data-lx] #featured > div { gap: 16px !important; grid-template-columns: minmax(0,1fr) !important; }
  [data-lx] #featured article, [data-lx] #audiences article { padding: 22px !important; border-radius: 16px !important; gap: 14px !important; }
  [data-lx] #featured article h4 { font-size: 21px !important; line-height: 1.35 !important; }
  [data-lx] :is(#featured,#audiences) article > a { min-height: 44px; display: inline-flex; align-items: center; }
  [data-lx] #audiences > div > div:nth-child(2) { gap: 16px !important; }
  [data-lx] #audiences article > a { justify-content: center; align-self: stretch !important; }
  [data-lx] #method { padding: 40px var(--pad-x) !important; }
  [data-lx] #method > div { padding: 20px !important; gap: 24px !important; border-radius: 20px !important; }
  [data-lx] #method h2 { font-size: clamp(28px,7.4vw,34px) !important; }
  [data-lx] #method .lx-criteria { padding: 16px !important; border-radius: 12px !important; }
  [data-lx] #method .lx-criterion-row { font-size: 14px; padding-block: 14px !important; }
  [data-lx] #faq > div { gap: 28px !important; }
  [data-lx] #faq > div > div:nth-child(2) { gap: 32px !important; }
  [data-lx] #faq summary { padding-block: 16px !important; font-size: 16px !important; line-height: 1.5; }
  [data-lx] #faq details p { font-size: 15px !important; line-height: 1.65; }
  [data-lx] #enquire > div { gap: 24px !important; }
  [data-lx] #enquire > div > div:first-child { position: static; gap: 16px !important; }
  [data-lx] #enquire > div > div:last-child { padding: 20px !important; border-radius: 16px !important; }
  [data-lx] .lx-enquiry-form { gap: 22px !important; }
  [data-lx] .lx-enquiry-form fieldset label { min-height: 76px; box-sizing: border-box; }
  [data-lx] .lx-enquiry-form input, [data-lx] .lx-enquiry-form select, [data-lx] .lx-enquiry-form textarea { font-size: 16px !important; }
  [data-lx] footer { padding: 28px var(--pad-x) !important; }
  [data-lx] footer > div { gap: 20px !important; }
  [data-lx] footer nav { gap: 8px 20px !important; }
  [data-lx] footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width:360px) {
  [data-lx] { --pad-x: 16px; }
  [data-lx] #featured article, [data-lx] #audiences article { padding: 18px !important; }
  [data-lx] #method > div { padding: 16px !important; }
  [data-lx] #method .lx-criteria { padding: 14px !important; }
  [data-lx] #enquire > div > div:last-child { padding: 16px !important; }
}
@media (max-width:1099px) and (prefers-reduced-motion:reduce) {
  [data-lx] .mobile-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  [data-lx] .lx-life-map::after { transition: none !important; }
}
