/* iPad landscape only. Mouse-driven desktop layouts keep their existing rules. */
@media (orientation:landscape) and (min-width:1024px) and (max-width:1366px) and (min-height:600px) and (max-height:1024px) and (pointer:coarse) {
  #home.stage {
    height:100dvh;
    min-height:0;
    padding:0;
    overflow:hidden;
  }

  #home .hero {
    position:absolute;
    inset:clamp(170px,27dvh,245px) auto auto var(--content-edge);
    width:min(40vw,440px);
    padding:0;
    text-align:left;
  }

  #home .hero :is(.headline,.sub,.pill-cta) {
    position:static;
    inset:auto;
  }

  #home .hero .headline {
    margin:0;
    max-width:none;
    font-size:clamp(44px,6.5dvh,58px);
    line-height:1.1;
    letter-spacing:-.02em;
    white-space:normal;
  }

  #home .hero .headline span,
  #home .hero .sub span { display:block; }
  #home .hero .headline span+span::before,
  #home .hero .sub span+span::before { content:none; }

  #home .hero .sub {
    max-width:29em;
    margin:24px 0 0;
    font-size:17px;
    line-height:1.6;
    white-space:normal;
    word-spacing:0;
  }

  #home .hero .actions {
    display:flex;
    align-items:center;
    margin-top:26px;
  }

  #home .hero .pill-cta {
    width:156px;
    height:46px;
    min-height:44px;
    font-size:16px;
  }

  #home .logos {
    position:absolute;
    top:auto;
    bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 16px));
    left:50%;
    width:min(600px,64vw);
    max-width:calc(100% - 2 * var(--content-edge));
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px;
    padding:0;
    transform:translateX(-50%);
  }

  #home .logos .lg {
    height:34px;
    padding:0;
    align-items:center;
    justify-content:center;
  }

  #home .logos :is(.lg1,.lg2) { --brand-width:90px; }
  #home .logos .lg3 { --brand-width:75px; }
  #home .logos .lg4 { --brand-width:108px; }

  #about .about-editorial {
    width:100%;
    max-width:1040px;
    margin-inline:auto;
    grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);
    gap:clamp(36px,4.7vw,64px);
    align-items:center;
    justify-content:center;
  }

  #about .about-intro { min-width:0; align-self:center; }
  #about .about-statement {
    margin:0 0 22px;
    font-size:clamp(40px,5.7dvh,52px);
    line-height:1.2;
  }

  #about .about-description {
    max-width:100%;
    margin-bottom:0;
    font-size:17px;
    line-height:1.7;
  }

  #about .about-logo-loop {
    --logo-loop-height:34px!important;
    --logo-loop-gap:32px!important;
    height:90px;
    margin-top:18px;
  }
  #about .about-logo-loop__track { height:66px; }

  #about .about-contact {
    --tablet-card-pad:clamp(24px,4dvh,32px);
    --tablet-card-gap:clamp(12px,2.4dvh,20px);
    width:100%;
    min-width:0;
    min-height:clamp(300px,48dvh,400px);
    padding:var(--tablet-card-pad);
    border-radius:32px;
  }

  #about .about-contact .about-kicker {
    margin:0 112px var(--tablet-card-gap) 0;
    font-size:11px;
    line-height:1.4;
  }
  #about .contact-title {
    margin:0 0 var(--tablet-card-gap);
    font-size:clamp(34px,5.5dvh,48px);
    line-height:1.03;
  }
  #about .contact-sub {
    margin:0;
    font-size:16px;
    line-height:1.6;
  }
  #about .about-contact .contact-sling {
    --sl-size:48px;
    top:var(--tablet-card-pad);
    right:var(--tablet-card-pad);
  }
  #about .sling-button__hint {
    right:calc(100% + 12px);
    gap:6px;
    font-size:11px;
  }

  /* A measured gap replaces the auto margin that pushed the rail to the bottom. */
  #about .contact-effort { --effort-rail-size:40px; margin-top:clamp(20px,3.2dvh,28px); padding-top:0; }
  #about .effort-heading { margin-bottom:12px; }
  /* Preserve the existing 22px rail origin used by the particle renderer. */
  #about .effort-stage { height:84px; min-height:44px; }
  #about .contact-qr { width:min(288px,calc(100% - 48px)); }

  @media (max-height:680px) {
    #home .hero { top:148px; }
    #home .hero .sub { margin-top:18px; font-size:16px; }
    #home .hero .actions { margin-top:20px; }
    #about .about-statement { margin-bottom:14px; font-size:36px; }
    #about .about-description { font-size:15px; line-height:1.6; }
    #about .about-logo-loop { --logo-loop-height:30px!important; height:70px; margin-top:14px; }
    #about .about-logo-loop__track { height:50px; }
    #about .about-contact { --tablet-card-pad:20px; --tablet-card-gap:10px; }
    #about .contact-title { font-size:32px; }
    #about .contact-sub { font-size:14px; line-height:1.5; }
    #about .contact-effort { --effort-rail-size:32px; }
    #about .effort-heading { margin-bottom:4px; }
    #about .effort-heading label { font-size:13px; }
    #about .effort-level { font-size:18px; }
    #about .effort-stage { height:64px; }
  }
}
