/* Public product story. Scoped so legal and equipment pages retain their layout. */
body.elevadion-home {
  --bg: #080e10;
  --surface: #11191b;
  --surface-raised: #172023;
  --text: #f7f9f5;
  --muted: #c3ccca;
  --quiet: #aebbb7;
  --action: #d0f777;
  --body: #d0f777;
  --line: #ffffff20;
  background: var(--bg);
}
body.elevadion-home::before { display: none; }
body.elevadion-home main { width: 100%; }
body.elevadion-home .topbar {
  position: relative; top: 0; width: min(1380px, calc(100% - 64px));
  margin: 0 auto; padding: 18px 0; border: 0; border-radius: 0;
  grid-template-columns: auto 1fr auto; gap: 24px;
  background: var(--bg); box-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
body.elevadion-home .topbar > nav { justify-content: center; flex-wrap: wrap; }
body.elevadion-home .topbar nav a { font-size: .85rem; font-weight: 400; }
body.elevadion-home .brand-mark { border: 0; box-shadow: none; border-radius: 0; background: transparent; }
body.elevadion-home .brand-wordmark { width: 142px; }
body.elevadion-home .brand-lockup small { color: var(--text); letter-spacing: .3em; }
body.elevadion-home .nav-status { border-radius: 999px; background: transparent; font-weight: 400; }
body.elevadion-home .hero {
  width: 100%; margin: 0; min-height: 690px;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 36px; padding: 48px max(5vw, calc((100vw - 1320px) / 2)) 60px;
  border: 0; border-radius: 0;
  background: linear-gradient(90deg, #080e10ed 0%, #080e108c 44%, #080e1010 75%),
    linear-gradient(0deg, #080e10 0%, transparent 22%, #080e1030 100%),
    url('/assets/backgrounds/mountain_dawn_v1.jpg') center 54% / cover no-repeat;
}
body.elevadion-home .eyebrow { color: #e3e9e4; font-size: .72rem; letter-spacing: .25em; margin-bottom: 22px; }
body.elevadion-home .hero h1 {
  max-width: 800px; margin: 0 0 24px;
  font-size: clamp(3.4rem, 5.8vw, 5.6rem); font-weight: 700;
  line-height: .99; letter-spacing: -.045em; text-transform: uppercase;
}
body.elevadion-home .hero h1 > span {
  font-family: inherit; font-weight: 700; font-variation-settings: normal;
  color: var(--action); line-height: 1.02; letter-spacing: -.045em;
}
body.elevadion-home .hero .lead { max-width: 540px; color: #edf1ed; font-size: 1.22rem; line-height: 1.5; }
body.elevadion-home .hero .actions { gap: 14px; margin-top: 32px; flex-wrap: wrap; }
body.elevadion-home .button { border-radius: 999px; box-shadow: none; font-size: .94rem; }
body.elevadion-home .button.primary { background: var(--action); color: #0a1109; border-color: var(--action); }
body.elevadion-home .button.secondary { border-color: #ffffff70; background: #080e1050; color: var(--text); }
body.elevadion-home .hero-availability { display: flex; align-items: baseline; gap: 10px; margin: 24px 0 0; color: #e2e8e2; font-size: .78rem; line-height: 1.6; }
body.elevadion-home .hero-availability span { color: var(--action); font-size: .5rem; }
body.elevadion-home .hero .product-stage { align-self: center; gap: 18px; }
body.elevadion-home .hero .product-stage .mockup-caption { max-width: 300px; color: #e3ebe4; font-size: .68rem; text-align: center; line-height: 1.5; }
body.elevadion-home .phone-shell { width: min(300px, 100%); transform: rotate(5deg); border-color: #929b9560; box-shadow: 12px 30px 40px #0009; }
body.elevadion-home .phone-screen { padding: 18px 12px 12px; background: #0a1211; }
body.elevadion-home .app-heading { margin: 25px 2px 14px; }
body.elevadion-home .app-heading h2 { font-size: 1.2rem; }
body.elevadion-home .decision-card h3 { font-size: 1.1rem; }
body.elevadion-home .decision-card p,
body.elevadion-home .mini-card small,
body.elevadion-home .route-card small,
body.elevadion-home .decision-bottom { font-size: .7rem; }
body.elevadion-home .phone-screen .mini-label,
body.elevadion-home .phone-screen .decision-kicker { font-size: .63rem; }
body.elevadion-home .mini-card { padding: 10px; }
body.elevadion-home .mini-card strong,
body.elevadion-home .route-card strong { font-size: .76rem; }
body.elevadion-home .hero .product-stage .app-dock { gap: 8px; font-size: .61rem; margin-top: 15px; }
body.elevadion-home .decision-photo { aspect-ratio: 1.95; }
body.elevadion-home .signal-grid { gap: 8px; margin-block: 9px; }
body.elevadion-home .route-card { padding: 10px; }
body.elevadion-home .start-control { background: var(--action); }
.benefit-strip {
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(1320px, calc(100% - 64px)); margin: 0 auto; padding: 28px 0 36px;
}
.benefit-strip > div { display: flex; align-items: center; gap: 13px; padding: 0 22px; border-left: 1px solid var(--line); }
.benefit-strip > div:first-child { padding-left: 0; border-left: 0; }
.benefit-strip img { width: 36px; height: 36px; flex: 0 0 36px; }
.benefit-strip strong, .benefit-strip small { display: block; line-height: 1.45; }
.benefit-strip strong { font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; }
.benefit-strip small { color: var(--muted); font-size: .75rem; }
body.elevadion-home main > section:not(.hero) { width: min(1320px, calc(100% - 64px)); margin-inline: auto; }
body.elevadion-home .areas-section { border: 0; padding: 0 0 72px; }
body.elevadion-home .areas-section > .section-heading { margin: 16px 0 26px; }
body.elevadion-home .areas-section > .section-heading h2 { font-size: 1.6rem; }
body.elevadion-home .section-label { color: var(--action); font-size: .7rem; letter-spacing: .17em; }
body.elevadion-home .section-heading h2,
body.elevadion-home .decision-copy h2,
body.elevadion-home .promise-card h2 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.08; }
body.elevadion-home .section-heading > p { font-size: 1rem; line-height: 1.6; max-width: 440px; }
body.elevadion-home .area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.elevadion-home .area-card { position: relative; min-height: 340px; padding: 0; overflow: hidden; border-radius: 14px; border: 1px solid #ffffff24; }
body.elevadion-home .area-card .area-visual { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border-radius: 0; }
body.elevadion-home .area-card .area-visual img { width: 100%; height: 100%; object-fit: cover; }
body.elevadion-home .area-card .area-visual::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, #030806e6, #03080660 80%), linear-gradient(0deg, #03080680, transparent); }
.area-copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; min-height: 340px; padding: 28px; }
body.elevadion-home .area-card .area-name { color: var(--text); font-size: .68rem; letter-spacing: .16em; }
body.elevadion-home .area-card h3 { max-width: 260px; margin: 10px 0 14px; font-size: 1.75rem; line-height: 1.1; }
body.elevadion-home .area-card p { max-width: 285px; margin: 0 0 22px; color: #e0e6de; font-size: .88rem; line-height: 1.5; }
.round-link { display: grid; place-items: center; width: 48px; height: 48px; margin-top: auto; border: 1px solid #fff9; border-radius: 50%; font-size: 1.3rem; transition: background .15s; }
.round-link:hover { background: #ffffff25; }
.app-tour { padding: 72px 0; border-top: 1px solid var(--line); }
.tour-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 20px; }
.tour-tabs button { display: flex; align-items: center; gap: 12px; min-height: 52px; max-width: 100%; padding: 12px 22px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--text); font: inherit; cursor: pointer; text-align: left; }
.tour-tabs button span { color: var(--quiet); font-size: .75rem; }
.tour-tabs button[aria-selected='true'] { background: var(--action); border-color: var(--action); color: #0a1109; }
.tour-tabs button[aria-selected='true'] span { color: #35451d; }
.tour-tabs button:focus-visible, .round-link:focus-visible { outline: 3px solid var(--action); outline-offset: 4px; }
.tour-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 64px); padding: 40px; margin-top: 16px; border: 1px solid var(--line); border-radius: 20px; background: #10181a; align-items: center; }
.tour-panel > * { min-width: 0; }
.tour-explanation { max-width: 450px; }
.tour-number { color: var(--action); font-size: .8rem; letter-spacing: .1em; }
.tour-explanation h3 { font-size: clamp(1.7rem, 3vw, 2.5rem); margin: 16px 0; line-height: 1.1; }
.tour-explanation p { color: var(--muted); font-size: 1.06rem; line-height: 1.65; }
.tour-explanation small { display: block; color: var(--quiet); font-size: .76rem; margin-top: 24px; line-height: 1.5; }
.tour-screen { align-self: stretch; min-height: 340px; border: 1px solid #ffffff25; border-radius: 18px; padding: 26px; background: #080f10; }
.tour-screen-label { color: var(--action); font-size: .65rem; letter-spacing: .17em; }
.tour-screen h3 { margin: 20px 0; font-size: 1.3rem; }
.tour-screen > p { color: var(--muted); font-size: .88rem; }
.tour-workout { position: relative; min-height: 150px; overflow: hidden; border-radius: 12px; }
.tour-workout img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.tour-workout > div { position: relative; display: flex; flex-direction: column; justify-content: end; min-height: 150px; gap: 8px; padding: 18px; background: linear-gradient(0deg, #000e, #0002); }
.tour-workout span { font-size: .75rem; }
.tour-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.tour-mini-grid > div { padding: 16px; background: #17211e; border-radius: 10px; }
.tour-mini-grid span { display: block; color: var(--quiet); font-size: .65rem; margin-bottom: 9px; }
.tour-mini-grid strong { font-size: .85rem; line-height: 1.5; }
.tour-plan-list { list-style: none; padding: 0; margin: 20px 0 0; }
.tour-plan-list li { display: flex; gap: 18px; padding: 16px 0; border-top: 1px solid var(--line); }
.tour-plan-list li > span { color: var(--action); font-size: .8rem; }
.tour-plan-list strong, .tour-plan-list small { display: block; }
.tour-plan-list small { margin-top: 5px; color: var(--muted); line-height: 1.5; }
.tour-screen .week-bars { height: 170px; margin: 24px 0; }
.tour-chart-note { line-height: 1.5; }
.recovery-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; padding: 36px 0 80px; }
body.elevadion-home .recovery-section .area-visual { height: 420px; margin: 0; border-radius: 16px; overflow: hidden; }
.recovery-section img { width: 100%; height: 100%; object-fit: cover; }
.recovery-section h2 { font-size: clamp(2rem, 3.4vw, 3.2rem); margin: 16px 0; line-height: 1.08; }
.recovery-section p:not(.section-label) { color: var(--muted); line-height: 1.7; }
body.elevadion-home .recovery-section .pip-guide { max-width: 400px; margin-top: 24px; border: 0; padding: 0; background: none; }
body.elevadion-home .recovery-section .pip-guide img { object-fit: contain; }
body.elevadion-home .manifesto { padding: 76px 0; grid-template-columns: 1fr 1fr; gap: 64px; }
body.elevadion-home .manifesto h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
body.elevadion-home .manifesto > p { font-size: 1.08rem; }
body.elevadion-home .decision-section,
body.elevadion-home .pricing-section,
body.elevadion-home .commerce-section,
body.elevadion-home .promise-section { padding-block: 72px; }
body.elevadion-home .price-card { border-radius: 18px; background: #121a1c; }
body.elevadion-home .price-card-premium { background: #142019; border-color: #c5f47480; }
body.elevadion-home .price-recommended { background: var(--action); color: #0a1109; }
body.elevadion-home .price-line > span { max-width: 160px; }
.professional-section { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 30px; padding: 40px 0 60px; border-bottom: 1px solid var(--line); }
.professional-section > div { max-width: 720px; }
.professional-section h2 { font-size: 2rem; margin: 12px 0; }
.professional-section p { color: var(--muted); line-height: 1.6; }
body.elevadion-home .commerce-section { border-top: 0; }
body.elevadion-home .guide-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body.elevadion-home .guide-card, body.elevadion-home .guide-card-wide { grid-column: auto; min-height: 0; padding: 20px; border-radius: 14px; }
body.elevadion-home .guide-card h3 { font-size: 1.15rem; }
body.elevadion-home .guide-card p { font-size: .82rem; }
body.elevadion-home .guide-visual { height: 100px; margin: 0 0 16px; }
body.elevadion-home .guide-card-wide .guide-visual { position: relative; inset: auto; width: 100%; }
body.elevadion-home .guide-card-wide h3, body.elevadion-home .guide-card-wide p { max-width: none; }
body.elevadion-home .app-access-card { border-radius: 18px; margin-bottom: 32px; background: #15211b; }
body.elevadion-home footer { padding-top: 36px; padding-bottom: 36px; }
@media (max-width: 1100px) {
  body.elevadion-home .topbar { width: calc(100% - 40px); gap: 12px; }
  body.elevadion-home .topbar nav a { padding-inline: 10px; }
  body.elevadion-home .topbar .nav-status { display: none; }
  body.elevadion-home .hero { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; padding-inline: 32px; }
  .benefit-strip > div { padding-inline: 12px; gap: 8px; }
  .benefit-strip img { width: 28px; flex-basis: 28px; }
  body.elevadion-home .guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.elevadion-home .area-card h3 { font-size: 1.5rem; }
  .area-copy { padding: 22px; }
}
@media (max-width: 760px) {
  body.elevadion-home .topbar { grid-template-columns: 1fr auto; padding: 12px 0; }
  body.elevadion-home .topbar > nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; display: flex; gap: 0; overflow: visible; }
  body.elevadion-home .topbar > .header-actions { grid-column: 2; grid-row: 1; width: auto; }
  body.elevadion-home .hero { grid-template-columns: 1fr; min-height: 0; padding: 40px 24px 44px; gap: 32px; background: linear-gradient(90deg, #080e10c0, #080e1070), linear-gradient(0deg, #080e10, transparent 50%), url('/assets/backgrounds/mountain_dawn_v1.jpg') 68% top / auto 960px no-repeat; }
  body.elevadion-home .hero h1 { font-size: clamp(3rem, 9vw, 4.2rem); }
  body.elevadion-home .eyebrow { font-size: .63rem; letter-spacing: .2em; }
  body.elevadion-home .hero .lead { font-size: 1.1rem; }
  body.elevadion-home .hero .actions { margin-top: 24px; }
  body.elevadion-home .hero .product-stage { margin-top: 10px; }
  body.elevadion-home .phone-shell { transform: rotate(3deg); width: min(310px, 90%); }
  body.elevadion-home .signal-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .benefit-strip { width: calc(100% - 48px); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
  .benefit-strip > div { border: 0; padding: 0; }
  body.elevadion-home main > section:not(.hero) { width: calc(100% - 48px); }
  body.elevadion-home .area-grid { grid-template-columns: 1fr; gap: 16px; }
  body.elevadion-home .area-card, .area-copy { min-height: 300px; }
  body.elevadion-home .area-card h3 { font-size: 1.85rem; }
  body.elevadion-home .area-card p { max-width: 320px; }
  .area-copy { padding: 26px; }
  .tour-panel { grid-template-columns: 1fr; padding: 24px; gap: 28px; }
  .tour-tabs { gap: 8px; }
  .tour-tabs button { flex: 1 1 auto; padding-inline: 16px; }
  .tour-screen { padding: 20px; }
  .recovery-section { grid-template-columns: 1fr; gap: 28px; }
  body.elevadion-home .recovery-section .area-visual { height: 300px; }
  body.elevadion-home .manifesto { grid-template-columns: 1fr; gap: 28px; padding: 56px 0; }
  body.elevadion-home .section-heading { grid-template-columns: 1fr; gap: 20px; }
  body.elevadion-home .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.elevadion-home .guide-card-wide { grid-column: 1 / -1; }
  body.elevadion-home .areas-section, .app-tour, .recovery-section { padding-block: 32px 48px; }
  body.elevadion-home .decision-section, body.elevadion-home .pricing-section, body.elevadion-home .commerce-section, body.elevadion-home .promise-section { padding-block: 48px; }
}
@media (max-width: 400px) {
  body.elevadion-home .hero { padding-inline: 20px; }
  body.elevadion-home .hero h1 { font-size: 2.75rem; }
  html:lang(de) body.elevadion-home .hero h1 { font-size: 2rem; }
  body.elevadion-home .hero .actions { align-items: stretch; flex-direction: column; }
  body.elevadion-home .hero .actions .button { width: 100%; }
  body.elevadion-home .topbar > nav a { padding-inline: 9px; font-size: .78rem; }
  body.elevadion-home main > section:not(.hero), .benefit-strip { width: calc(100% - 40px); }
  .tour-panel { padding: 18px; }
  .tour-screen { padding: 16px; }
  .tour-mini-grid { grid-template-columns: 1fr; }
}
@media (max-width: 300px) {
  body.elevadion-home .topbar { grid-template-columns: 1fr; }
  body.elevadion-home .topbar > .header-actions { grid-column: 1; grid-row: 2; justify-self: start; }
  body.elevadion-home .topbar > nav { grid-row: 3; }
  body.elevadion-home .guide-grid, .benefit-strip { grid-template-columns: 1fr; }
  body.elevadion-home .hero h1 { font-size: 2.1rem; overflow-wrap: anywhere; }
  body.elevadion-home .phone-shell { transform: none; width: 100%; }
}
@media (prefers-contrast: more), (forced-colors: active) {
  body.elevadion-home .hero, body.elevadion-home .phone-screen, .tour-panel, .tour-screen { background: var(--bg); }
  body.elevadion-home .area-card .area-visual, .tour-workout img { display: none; }
  body.elevadion-home .area-card, .tour-workout > div { background: var(--surface); }
  body.elevadion-home .phone-shell { transform: none; }
}
