/*
 * Landing-page design-system primitives.
 *
 * `ds-*` classes own typographic roles and repeated editorial composition.
 * Feature sheets may arrange their proof or interaction, but must not redefine
 * these roles. The only compatibility exceptions are the eyebrow family and
 * story-section padding while older route sheets are retired.
 */

html[data-design-system="halde"] .landing-page{
  --ds-title-measure:15ch;
  --ds-body-measure:51ch;
  --ds-grid-gap:clamp(36px,4vw,64px);
  --ds-section-space:clamp(64px,7vw,96px);
  --ds-proof-space:clamp(30px,3.5vw,48px);
}

/* Roles ------------------------------------------------------------------- */

html[data-design-system="halde"] .landing-page .ds-eyebrow{
  color:var(--accent);
  font-family:var(--font-technical)!important;
  font-weight:var(--type-meta-weight);
  letter-spacing:.075em;
  line-height:1.25;
  text-transform:uppercase;
}

html[data-design-system="halde"] .landing-page .ds-title{
  margin:0;
  color:var(--text-primary);
  font-family:var(--font-editorial);
  font-style:normal;
  font-stretch:100%;
  font-synthesis:none;
  text-transform:none;
  text-wrap:balance;
}

html[data-design-system="halde"] .landing-page .ds-title.ds-title--hero{
  max-width:9.25ch;
  font-size:var(--type-landing-hero-size);
  font-variation-settings:"wght" var(--type-landing-hero-weight);
  font-weight:var(--type-landing-hero-weight);
  letter-spacing:-.066em;
  line-height:.87;
}

html[data-design-system="halde"] .landing-page .ds-title.ds-title--section{
  max-width:var(--ds-title-measure);
  font-size:var(--type-landing-section-size);
  font-variation-settings:"wght" var(--type-landing-section-weight);
  font-weight:var(--type-landing-section-weight);
  letter-spacing:var(--type-landing-display-tracking);
  line-height:var(--type-landing-display-leading);
}

html[data-design-system="halde"] .landing-page .ds-title.ds-title--subsection{
  max-width:15ch;
  font-size:var(--type-landing-subsection-size);
  font-variation-settings:"wght" var(--type-landing-section-weight);
  font-weight:var(--type-landing-section-weight);
  letter-spacing:-.05em;
  line-height:.94;
}

html[data-design-system="halde"] .landing-page .ds-body{
  margin:0;
  color:var(--text-secondary);
  font-family:var(--font-editorial);
  font-style:normal;
  font-stretch:100%;
  font-synthesis:none;
  font-variation-settings:"wght" var(--type-landing-body-weight);
  font-weight:var(--type-landing-body-weight);
  letter-spacing:var(--type-landing-body-tracking);
  line-height:var(--type-landing-body-leading);
  text-wrap:pretty;
}

html[data-design-system="halde"] .landing-page .ds-body.ds-body--lead{
  max-width:32ch;
  font-size:var(--type-landing-lead-size);
}

html[data-design-system="halde"] .landing-page .ds-body.ds-body--section{
  max-width:var(--ds-body-measure);
  font-size:var(--type-landing-body-size);
}

html[data-design-system="halde"] .landing-page .ds-body.ds-body--support{
  max-width:55ch;
  font-size:var(--type-landing-lead-size);
}

/* Repeated editorial introduction ---------------------------------------- */

html[data-design-system="halde"] .stack > .pnl.ds-section--story:is(.rote-bridge,.dividend-stage,.breadth-stage){
  padding-block:var(--ds-section-space)!important;
  padding-inline:var(--page-gutter)!important;
}

html[data-design-system="halde"] .landing-page .ds-intro{
  order:0;
  grid-column:1 / -1;
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--ds-grid-gap);
  row-gap:0;
  align-items:end;
  margin:0;
  padding:0 0 var(--ds-proof-space);
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--text-primary) 16%,transparent);
}

html[data-design-system="halde"] .landing-page .ds-intro--bridge{
  --ds-title-measure:16ch;
  margin-bottom:48px;
}

html[data-design-system="halde"] .landing-page .ds-intro--compact{
  --ds-title-measure:12ch;
}

html[data-design-system="halde"] .landing-page .ds-intro-heading{
  grid-column:1 / span 6;
  min-width:0;
}

html[data-design-system="halde"] .landing-page .ds-body.ds-intro-body{
  grid-column:7 / -1;
  align-self:end;
  margin-bottom:.12em;
}

html[data-design-system="halde"] .landing-page .ds-intro-heading .ds-eyebrow + .ds-title{
  margin-top:14px;
}

@media (min-width:961px) and (max-height:900px){
  html[data-design-system="halde"] .landing-page{
    --ds-section-space:clamp(28px,4vh,36px);
    --ds-proof-space:clamp(22px,3vh,28px);
  }

  html[data-design-system="halde"] .landing-page .ds-intro--bridge{
    margin-bottom:44px;
  }
}

@media (max-width:960px){
  html[data-design-system="halde"] .landing-page{
    --ds-section-space:clamp(48px,8vw,68px);
    --ds-proof-space:clamp(28px,6vw,38px);
  }

  html[data-design-system="halde"] .landing-page .ds-intro{
    display:block;
  }

  html[data-design-system="halde"] .landing-page .ds-title.ds-title--section{
    max-width:14ch;
  }

  html[data-design-system="halde"] .landing-page .ds-intro .ds-title.ds-title--section{
    margin-bottom:22px;
  }

  html[data-design-system="halde"] .landing-page .ds-intro-heading .ds-eyebrow + .ds-title{
    margin-top:12px;
  }

  html[data-design-system="halde"] .landing-page .ds-body.ds-intro-body{
    max-width:58ch;
    margin-bottom:0;
  }

  html[data-design-system="halde"] .landing-page .ds-intro--bridge{
    margin-bottom:0;
  }
}
