.landing-body {
  --landing-bg: oklch(96.8% 0.012 82);
  --landing-paper: oklch(98.8% 0.008 84);
  --landing-paper-strong: oklch(94.4% 0.026 82);
  --landing-ink: oklch(21% 0.034 254);
  --landing-muted: oklch(47% 0.035 82);
  --landing-soft: oklch(91.8% 0.032 86);
  --landing-line: oklch(78% 0.03 83);
  --landing-navy: oklch(27% 0.085 257);
  --landing-navy-soft: oklch(37% 0.082 256);
  --landing-gold: oklch(78% 0.12 78);
  --landing-gold-deep: oklch(59% 0.108 70);
  --landing-sage: oklch(52% 0.08 150);
  --landing-clay: oklch(62% 0.08 42);
  --landing-blue-soft: oklch(91% 0.045 240);
  --landing-shadow: 0 24px 70px oklch(24% 0.055 255 / 0.13);
  --radius: 8px;
  background: var(--landing-bg);
  color: var(--landing-ink);
  font-size: 17px;
  line-height: 1.62;
}

.landing-body .landing-page {
  min-height: 100dvh;
  overflow-x: hidden;
  background: var(--landing-bg);
}

.landing-body a {
  color: inherit;
}

.landing-body .landing-cover {
  display: grid;
  grid-template-rows: auto auto auto;
  min-height: auto;
  background: oklch(97.3% 0.011 82);
}

.landing-body .landing-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(1200px, calc(100% - 48px));
  min-height: 94px;
  margin: 0 auto;
  padding: 12px 0;
}

.landing-body .landing-logo {
  display: inline-flex;
  align-items: center;
  width: 78px;
}

.landing-body .landing-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.landing-body .landing-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 0;
}

.landing-body .landing-phone-link {
  color: var(--landing-navy);
  font-size: 20px;
  font-weight: 750;
  white-space: nowrap;
}

.landing-body .landing-entry-button,
.landing-body .landing-login-link,
.landing-body .landing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-weight: 760;
  line-height: 1.2;
  text-align: center;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.landing-body .landing-entry-button,
.landing-body .landing-btn-primary {
  background: var(--landing-gold);
  border-color: var(--landing-gold);
  color: oklch(20% 0.04 75);
}

.landing-body .landing-login-link,
.landing-body .landing-btn-secondary {
  background: var(--landing-paper);
  border-color: oklch(76% 0.034 82);
  color: var(--landing-navy);
}

.landing-body .landing-entry-button:hover,
.landing-body .landing-entry-button:focus-visible,
.landing-body .landing-login-link:hover,
.landing-body .landing-login-link:focus-visible,
.landing-body .landing-btn:hover,
.landing-body .landing-btn:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

.landing-body .landing-entry-button:hover,
.landing-body .landing-entry-button:focus-visible,
.landing-body .landing-btn-primary:hover,
.landing-body .landing-btn-primary:focus-visible {
  background: oklch(74% 0.13 76);
  border-color: oklch(74% 0.13 76);
}

.landing-body .landing-login-link:hover,
.landing-body .landing-login-link:focus-visible,
.landing-body .landing-btn-secondary:hover,
.landing-body .landing-btn-secondary:focus-visible {
  border-color: var(--landing-navy-soft);
}

.landing-body .landing-menu {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
  width: min(1200px, calc(100% - 48px));
  min-height: 54px;
  margin: 0 auto;
  background: var(--landing-gold);
  box-shadow: 0 8px 20px oklch(55% 0.08 70 / 0.12);
}

.landing-body .landing-menu a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 12px 16px;
  color: oklch(21% 0.04 75);
  font-size: 16px;
  font-weight: 680;
  white-space: nowrap;
}

.landing-body .landing-menu a:hover,
.landing-body .landing-menu a:focus-visible {
  background: oklch(74% 0.125 76);
  outline: 0;
}

.landing-body .landing-hero {
  display: block;
  min-height: 0;
  height: auto;
  margin-top: 14px;
  overflow: hidden;
  background: oklch(91% 0.018 82);
  color: var(--landing-ink);
  isolation: auto;
}

.landing-body .landing-hero::before {
  display: none;
}

.landing-body .landing-hero img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.landing-body .landing-status-strip {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  width: min(1120px, calc(100% - 48px));
  margin: -42px auto 0;
  padding: 22px;
  border: 1px solid oklch(33% 0.075 257);
  border-radius: var(--radius);
  background: var(--landing-navy);
  box-shadow: var(--landing-shadow);
  color: oklch(95% 0.014 86);
}

.landing-body .landing-status-strip strong,
.landing-body .landing-status-strip span {
  color: inherit;
  font-size: 19px;
}

.landing-body .landing-status-strip strong {
  font-weight: 820;
}

.landing-body .landing-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.landing-body .landing-mobile-jump {
  display: none;
}

.landing-body svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.landing-body .landing-messages {
  display: grid;
  gap: 8px;
  width: min(1120px, calc(100% - 48px));
  margin: 20px auto 0;
}

.landing-body main {
  padding-top: 32px;
}

.landing-body .landing-snapshot {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto 18px;
}

.landing-body .landing-snapshot article {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-height: 156px;
  padding: 18px;
  border: 1px solid oklch(79% 0.036 82);
  border-radius: var(--radius);
  background: oklch(98.3% 0.012 84);
  box-shadow: 0 12px 32px oklch(33% 0.04 80 / 0.055);
}

.landing-body .landing-snapshot article:nth-child(2) {
  background: oklch(93.2% 0.034 238);
  border-color: oklch(75% 0.046 238);
}

.landing-body .landing-snapshot article:nth-child(4) {
  background: oklch(93.6% 0.032 146);
  border-color: oklch(76% 0.046 146);
}

.landing-body .landing-icon,
.landing-body .info-icon {
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: var(--radius);
  background: var(--landing-navy);
  color: oklch(96% 0.012 86);
}

.landing-body .landing-snapshot h2 {
  margin: 0;
  color: var(--landing-navy);
  font-size: 20px;
  line-height: 1.18;
}

.landing-body .landing-snapshot p {
  margin: 7px 0 0;
  color: var(--landing-muted);
  font-size: 15px;
  line-height: 1.45;
}

.landing-body .landing-band {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 68px 0;
  border-top: 1px solid oklch(83% 0.024 82);
}

.landing-body .landing-band:first-of-type {
  border-top: 0;
}

.landing-body .landing-section-head {
  display: grid;
  gap: 10px;
  max-width: 790px;
  margin-bottom: 30px;
}

.landing-body .landing-section-head h2 {
  margin: 0;
  color: var(--landing-ink);
  font-size: 38px;
  font-weight: 820;
  line-height: 1.12;
  letter-spacing: 0;
}

.landing-body .landing-section-head p:not(.landing-label) {
  max-width: 68ch;
  margin: 0;
  color: var(--landing-muted);
  font-size: 18px;
  line-height: 1.58;
}

.landing-body .landing-label,
.landing-body .teacher-role,
.landing-body .price-kicker {
  margin: 0 0 6px;
  color: var(--landing-sage);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.landing-body .landing-prose {
  max-width: 72ch;
}

.landing-body .landing-prose p,
.landing-body .landing-prose blockquote,
.landing-body .landing-points p,
.landing-body .landing-info-grid p,
.landing-body .guide-list p,
.landing-body .teacher-card p,
.landing-body .landing-small {
  margin: 0;
  color: var(--landing-muted);
}

.landing-body .landing-prose p + p,
.landing-body .landing-prose p + blockquote,
.landing-body .landing-prose blockquote + p {
  margin-top: 18px;
}

.landing-body .landing-prose strong {
  color: var(--landing-ink);
}

.landing-body .landing-prose blockquote {
  padding: 22px 24px;
  border: 1px solid oklch(78% 0.05 82);
  border-radius: var(--radius);
  background: oklch(93.2% 0.03 82);
  color: var(--landing-navy);
  font-size: 21px;
  font-weight: 760;
  line-height: 1.42;
}

.landing-body .landing-copy-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.72fr);
  gap: 54px;
  align-items: start;
}

.landing-body .landing-concept .landing-section-head {
  max-width: 620px;
  margin-bottom: 26px;
}

.landing-body .landing-concept .landing-section-head h2 {
  max-width: 17ch;
  font-size: 36px;
}

.landing-body .landing-concept .landing-copy-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.78fr);
  gap: 44px;
  align-items: start;
}

.landing-body .landing-concept-points {
  position: relative;
  display: grid;
  gap: 0;
  padding: 4px 0 2px;
}

.landing-body .landing-concept-points::before {
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: 19px;
  width: 1px;
  background: oklch(73% 0.046 150);
  content: "";
}

.landing-body .landing-concept-points article {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  padding: 0 0 22px;
}

.landing-body .landing-concept-points article:last-child {
  padding-bottom: 0;
}

.landing-body .concept-icon {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid oklch(70% 0.052 150);
  border-radius: var(--radius);
  background: oklch(94.8% 0.032 146);
  color: var(--landing-sage);
}

.landing-body .landing-concept-points article:nth-child(2) .concept-icon,
.landing-body .landing-concept-points article:nth-child(5) .concept-icon {
  border-color: oklch(73% 0.054 238);
  background: oklch(94.5% 0.03 238);
  color: var(--landing-navy);
}

.landing-body .landing-concept-points h3 {
  margin: 0;
  color: var(--landing-navy);
  font-size: 19px;
  line-height: 1.18;
}

.landing-body .landing-concept-points p {
  max-width: 48ch;
  margin: 6px 0 0;
  color: var(--landing-muted);
  font-size: 16px;
  line-height: 1.5;
}

.landing-body .module-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
  padding: 18px;
  border: 1px solid oklch(78% 0.038 82);
  border-radius: var(--radius);
  background:
    linear-gradient(90deg, oklch(98.2% 0.01 84), oklch(94.8% 0.026 238));
}

.landing-body .module-flow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 1px;
  background: var(--landing-gold-deep);
  content: "";
  transform: translate(-50%, -50%);
}

.landing-body .module-flow-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  min-height: 0;
  padding: 6px 14px 6px 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.landing-body .module-flow-open {
  padding-right: 4px;
  padding-left: 22px;
  border-left: 1px solid oklch(75% 0.046 238);
  color: var(--landing-navy);
}

.landing-body .flow-index {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--landing-navy);
  color: oklch(96% 0.012 86);
  font-size: 21px;
  font-weight: 860;
  line-height: 1;
}

.landing-body .module-flow-open .flow-index {
  background: var(--landing-gold);
  color: oklch(20% 0.04 75);
}

.landing-body .module-flow-card h3,
.landing-body .rishikesh-hero-copy h3 {
  margin: 0;
  color: var(--landing-navy);
  font-size: 24px;
  line-height: 1.12;
}

.landing-body .module-flow-card h3 {
  font-size: 21px;
}

.landing-body .module-flow-card p:not(.landing-label),
.landing-body .rishikesh-hero-copy p:not(.landing-label) {
  margin: 10px 0 0;
  color: var(--landing-muted);
}

.landing-body .module-flow-card p:not(.landing-label) {
  font-size: 15px;
  line-height: 1.48;
}

.landing-body .landing-points {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--landing-line);
}

.landing-body .landing-points p {
  padding: 17px 0;
  border-bottom: 1px solid var(--landing-line);
  background: transparent;
}

.landing-body .landing-points b {
  color: var(--landing-navy);
}

.landing-body .landing-concept,
.landing-body .landing-rishikesh-price,
.landing-body .landing-forms {
  box-shadow: 0 0 0 100vmax oklch(93.6% 0.02 83);
  clip-path: inset(0 -100vmax);
}

.landing-body .landing-module#module-two,
.landing-body .landing-ashram {
  box-shadow: 0 0 0 100vmax oklch(95.5% 0.032 236);
  clip-path: inset(0 -100vmax);
}

.landing-body .landing-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.landing-body .landing-info-grid > div {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 210px;
  padding: 20px;
  border: 1px solid oklch(80% 0.03 82);
  border-radius: var(--radius);
  background: var(--landing-paper);
  box-shadow: 0 12px 32px oklch(34% 0.04 80 / 0.07);
}

.landing-body .info-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 4px;
  background: oklch(91.5% 0.04 238);
  color: var(--landing-navy);
}

.landing-body .landing-info-grid h3,
.landing-body .teacher-card h3,
.landing-body .guide-list h3,
.landing-body .price-card h3 {
  margin: 0;
  color: var(--landing-ink);
  font-size: 23px;
  line-height: 1.18;
  letter-spacing: 0;
}

.landing-body .landing-info-grid a {
  color: var(--landing-navy);
  font-weight: 780;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.landing-body .schedule-grid {
  display: grid;
  border-top: 1px solid var(--landing-line);
}

.landing-body .schedule-grid > div {
  display: grid;
  grid-template-columns: minmax(132px, 0.28fr) minmax(122px, 0.24fr) minmax(0, 1fr);
  gap: 18px;
  align-items: baseline;
  min-height: 64px;
  padding: 16px 0;
  border-bottom: 1px solid var(--landing-line);
  background: transparent;
}

.landing-body .schedule-grid b {
  color: var(--landing-navy);
  font-size: 18px;
}

.landing-body .schedule-grid small {
  color: var(--landing-gold-deep);
  font-size: 15px;
  font-weight: 760;
}

.landing-body .schedule-grid span {
  color: var(--landing-muted);
}

.landing-body .teacher-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.landing-body .teacher-card {
  display: grid;
  grid-template-columns: minmax(160px, 210px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  min-height: 0;
  padding: 22px;
  border: 1px solid oklch(80% 0.03 82);
  border-radius: var(--radius);
  background: var(--landing-paper);
  box-shadow: 0 14px 36px oklch(34% 0.04 80 / 0.08);
}

.landing-body .teacher-card img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  border-radius: var(--radius);
  object-fit: contain;
  object-position: center;
  background: oklch(93.8% 0.016 82);
}

.landing-body .teacher-card > div {
  display: grid;
  gap: 12px;
  align-content: start;
}

.landing-body .teacher-role {
  color: var(--landing-gold-deep);
}

.landing-body .rishikesh-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.68fr);
  gap: 0;
  margin-bottom: 34px;
  overflow: hidden;
  border: 1px solid oklch(74% 0.046 238);
  border-radius: var(--radius);
  background: oklch(25% 0.08 257);
  box-shadow: 0 22px 62px oklch(24% 0.06 250 / 0.16);
}

.landing-body .rishikesh-hero img {
  display: block;
  width: 100%;
  height: auto;
}

.landing-body .rishikesh-hero-copy {
  display: grid;
  align-content: center;
  padding: clamp(24px, 4vw, 44px);
  color: oklch(94% 0.014 86);
}

.landing-body .rishikesh-hero-copy .landing-label {
  color: var(--landing-gold);
}

.landing-body .rishikesh-hero-copy h3,
.landing-body .rishikesh-hero-copy p:not(.landing-label) {
  color: inherit;
}

.landing-body .landing-gallery {
  width: min(1240px, calc(100% - 48px));
}

.landing-body .photo-story {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
  gap: 16px;
  align-items: start;
}

.landing-body .photo-story figure {
  margin: 0;
  border: 1px solid oklch(78% 0.032 82);
  border-radius: var(--radius);
  background: var(--landing-paper);
  overflow: hidden;
  box-shadow: 0 16px 44px oklch(34% 0.04 80 / 0.08);
}

.landing-body .photo-story-main {
  grid-row: span 3;
}

.landing-body .photo-story img {
  display: block;
  width: 100%;
  height: auto;
}

.landing-body .photo-story figcaption {
  padding: 11px 14px 13px;
  color: var(--landing-navy);
  font-size: 14px;
  font-weight: 760;
}

.landing-body .guide-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 42px;
}

.landing-body .guide-list article {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--landing-line);
  border-radius: 0;
  background: transparent;
}

.landing-body .guide-list h3 {
  padding-top: 16px;
}

.landing-body .ashram-timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 36px;
  border-top: 1px solid oklch(76% 0.034 240);
}

.landing-body .ashram-timeline > div {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 14px;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid oklch(76% 0.034 240);
  background: transparent;
}

.landing-body .ashram-timeline b {
  color: var(--landing-navy);
  font-size: 18px;
}

.landing-body .ashram-timeline span {
  color: var(--landing-muted);
}

.landing-body .landing-special .landing-prose {
  max-width: 82ch;
  padding: 30px;
  border: 1px solid oklch(76% 0.04 150);
  border-radius: var(--radius);
  background: oklch(93.7% 0.03 145);
}

.landing-body .landing-document .landing-prose {
  max-width: 78ch;
  padding: 24px 0;
  border-top: 1px solid var(--landing-line);
  border-bottom: 1px solid var(--landing-line);
}

.landing-body .price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.landing-body .price-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-height: 254px;
  padding: 28px;
  border: 1px solid oklch(77% 0.05 78);
  border-radius: var(--radius);
  background: var(--landing-paper);
  box-shadow: 0 16px 44px oklch(39% 0.06 72 / 0.12);
}

.landing-body .price-kicker {
  color: var(--landing-gold-deep);
}

.landing-body .price-card p {
  margin: 0;
  color: var(--landing-muted);
}

.landing-body .price-value {
  margin-top: auto;
  color: var(--landing-navy);
  font-size: 40px;
  font-weight: 840;
  line-height: 1;
}

.landing-body .landing-price-action {
  display: flex;
  justify-content: flex-start;
  margin-top: 18px;
}

.landing-body .landing-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.72fr);
  gap: 18px;
  align-items: start;
}

.landing-body .landing-form {
  display: grid;
  gap: 16px;
  padding: 24px;
  border: 1px solid oklch(80% 0.03 82);
  border-radius: var(--radius);
  background: var(--landing-paper);
  box-shadow: 0 16px 44px oklch(34% 0.04 80 / 0.08);
}

.landing-body .landing-login-form {
  background: oklch(93.4% 0.03 236);
  border-color: oklch(75% 0.045 238);
}

.landing-body .form-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-body .field {
  min-width: 0;
}

.landing-body .field label,
.landing-body .field-label {
  color: var(--landing-ink);
  font-weight: 720;
}

.landing-body .input,
.landing-body .textarea {
  min-height: 48px;
  border-color: oklch(78% 0.03 82);
  background: oklch(99% 0.006 84);
  font-size: 16px;
}

.landing-body .textarea {
  min-height: 128px;
}

.landing-body .landing-login-form .panel-title {
  gap: 5px;
}

.landing-body .landing-login-form .panel-title h2 {
  margin: 0;
  color: var(--landing-navy);
  font-size: 28px;
  line-height: 1.15;
}

.landing-body .landing-login-form .panel-title small,
.landing-body .landing-small {
  color: var(--landing-muted);
  font-size: 14px;
}

.landing-body .field-help,
.landing-body .field-help ul,
.landing-body .message ul {
  margin: 0;
  padding: 0;
  color: var(--red);
  list-style: none;
}

@media (max-width: 1120px) {
  .landing-body .landing-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-body .teacher-grid,
  .landing-body .guide-list,
  .landing-body .landing-form-grid,
  .landing-body .landing-copy-grid,
  .landing-body .landing-snapshot,
  .landing-body .rishikesh-hero,
  .landing-body .photo-story {
    grid-template-columns: 1fr;
  }

  .landing-body .teacher-card {
    grid-template-columns: minmax(150px, 230px) minmax(0, 1fr);
  }

  .landing-body .module-flow {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .landing-body .landing-concept .landing-copy-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .landing-body .module-flow::before {
    display: none;
  }

  .landing-body .module-flow-open {
    margin-top: 14px;
    padding-top: 18px;
    padding-left: 4px;
    border-top: 1px solid oklch(75% 0.046 238);
    border-left: 0;
  }

  .landing-body .landing-concept-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 26px;
  }

  .landing-body .landing-concept-points::before {
    display: none;
  }

  .landing-body .landing-concept-points article {
    padding: 16px 0 0;
    border-top: 1px solid var(--landing-line);
  }

  .landing-body .photo-story-main {
    grid-row: auto;
  }
}

@media (max-width: 900px) {
  .landing-body {
    font-size: 16px;
  }

  .landing-body .landing-cover {
    min-height: auto;
    grid-template-rows: auto auto;
  }

  .landing-body .landing-topline {
    width: min(100% - 28px, 1120px);
    min-height: 78px;
  }

  .landing-body .landing-logo {
    width: 62px;
  }

  .landing-body .landing-phone-link {
    display: none;
  }

  .landing-body .landing-menu {
    display: none;
  }

  .landing-body .landing-hero {
    height: auto;
    margin-top: 0;
  }

  .landing-body .landing-hero img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .landing-body .landing-status-strip {
    grid-template-columns: 1fr;
    width: min(100% - 28px, 1120px);
    margin-top: 14px;
    padding: 18px;
  }

  .landing-body .landing-status-strip strong,
  .landing-body .landing-status-strip span {
    font-size: 17px;
  }

  .landing-body .landing-status-actions {
    justify-content: stretch;
  }

  .landing-body .landing-status-actions .landing-btn {
    flex: 1 1 180px;
  }

  .landing-body .landing-mobile-jump {
    display: flex;
    gap: 8px;
    width: min(100% - 28px, 1120px);
    margin: 14px auto 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .landing-body .landing-mobile-jump::-webkit-scrollbar {
    display: none;
  }

  .landing-body .landing-mobile-jump a {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid oklch(78% 0.038 78);
    border-radius: var(--radius);
    background: oklch(95.5% 0.028 82);
    color: var(--landing-navy);
    font-size: 14px;
    font-weight: 720;
  }

  .landing-body main {
    padding-top: 8px;
  }

  .landing-body .landing-band {
    width: min(100% - 28px, 1120px);
    padding: 54px 0;
  }

  .landing-body .landing-section-head h2 {
    font-size: 32px;
  }

  .landing-body .landing-concept .landing-section-head h2 {
    max-width: none;
    font-size: 32px;
  }

  .landing-body .landing-section-head p:not(.landing-label) {
    font-size: 16px;
  }

  .landing-body .price-grid,
  .landing-body .ashram-timeline,
  .landing-body .schedule-grid {
    grid-template-columns: 1fr;
  }

  .landing-body .schedule-grid > div,
  .landing-body .ashram-timeline > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .landing-body .price-value {
    font-size: 32px;
  }
}

@media (max-width: 640px) {
  .landing-body .landing-topline {
    gap: 12px;
  }

  .landing-body .landing-top-actions {
    gap: 8px;
  }

  .landing-body .landing-entry-button,
  .landing-body .landing-login-link,
  .landing-body .landing-btn {
    min-height: 44px;
    padding: 10px 12px;
  }

  .landing-body .landing-entry-button,
  .landing-body .landing-login-link {
    font-size: 14px;
  }

  .landing-body .landing-info-grid,
  .landing-body .landing-concept-points,
  .landing-body .form-grid-three {
    grid-template-columns: 1fr;
  }

  .landing-body .teacher-card {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .landing-body .teacher-card img {
    width: min(100%, 300px);
    margin: 0 auto;
  }

  .landing-body .landing-prose blockquote,
  .landing-body .landing-special .landing-prose,
  .landing-body .landing-form,
  .landing-body .price-card {
    padding: 18px;
  }

  .landing-body .landing-status-actions {
    display: grid;
  }

  .landing-body .landing-btn {
    width: 100%;
  }
}
