/* Editorial grid, using RuGYM's existing purple and local Inter, not a new theme. */
.landing-main .landing-hero-v2 { min-height:0; background:var(--rugym-surface, #fff); border:0; }
.landing-main .landing-hero-v2::after { display: none; }
.landing-main .landing-hero-v2>.container-xl { padding-block: clamp(40px,5vw,76px)!important; }
.landing-main .landing-hero-v2 .display-title { margin-bottom: 0; max-width: 660px; font-size: clamp(2.25rem,4.4vw,4rem); line-height: 1.1; letter-spacing: -.055em; font-weight: 800; text-wrap: balance; }
.landing-main .display-title>span { display: block; }
.landing-main .display-title .hero-title-first { color: var(--rugym-ink); }
.landing-main .hero-lead { max-width:440px; margin:22px 0 0; color:var(--rugym-muted); font-size:1.125rem; line-height:1.65; text-wrap:pretty; }
.landing-main .container-xl { padding-inline:24px; }
.landing-main .hero-actions .btn-primary { box-shadow:none; }
.landing-main .hero-actions { flex-wrap:wrap; align-items:center; }
.landing-main .hero-actions .btn { font-size: 1rem; }
.landing-main .hero-actions .btn-soft { border-color:transparent; background:none; box-shadow:none; }
.landing-main .hero-actions .btn-soft:hover { background:var(--rugym-primary-soft); }
.landing-main .hero-stage { max-width:550px; padding:0; }
.landing-main .interactive-demo,.landing-main .interactive-demo:hover { transform: none; }
.landing-main .interactive-demo { padding:clamp(20px,2.4vw,32px); border:0; border-radius:24px; background:var(--rugym-primary-soft); box-shadow:none; }
.landing-demo-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.landing-main .hero-demo-card h2 { margin: 24px 0 0; max-width: 360px; font-size: 1.2rem; line-height: 1.45; letter-spacing: -.025em; font-weight: 750; }
.landing-main .demo-word { display: flex; align-items: baseline; justify-content: center; margin: 28px 0; min-width: 0; font-size: clamp(2rem,4vw,3rem); line-height: 1.35; font-weight: 750; letter-spacing: -.045em; }
.landing-main .demo-gap { display: inline-block; min-width: 2.25em; padding: 0 4px; color: var(--rugym-primary); border-color: var(--rugym-primary); border-radius: 8px 8px 0 0; background: var(--rugym-primary-soft); text-align: center; transition: color .2s ease,background .2s ease,border-color .2s ease; }
.landing-demo-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.landing-main .choice-demo { min-height: 54px; background: #fff; font-size: 1rem; }
.landing-main .choice-demo:hover { transform: none; }
.landing-main .choice-demo.selected { border-color: #218057; color: #176443; background: var(--rugym-green-soft); }
.landing-main .choice-demo.wrong { border-color: #cf5068; color: #9a3145; background: var(--rugym-red-soft); }
/* Reserve the same space for the prompt and both results; nothing below jumps. */
.landing-demo-result { display: grid; margin-top: 16px; }
.landing-demo-feedback { grid-area: 1/1; display: grid; grid-template-columns: 22px minmax(0,1fr); align-content: center; align-items: start; gap: 12px; min-block-size: 7.75rem; padding: 14px; border: 1px solid #ece8f5; border-radius: 16px; background: #f8f7fc; color: #625b71; font-size: .875rem; line-height: 1.5; }
.landing-demo-reserve { visibility: hidden; pointer-events: none; }
.landing-demo-feedback>i { font-size: 1.2rem; line-height: 1.4; color: var(--rugym-primary); }
.landing-demo-feedback strong { display: block; margin-bottom: 4px; font-size: .9375rem; color: var(--rugym-ink); }
.landing-demo-feedback span { display: block; }
[data-demo-state="correct"] .landing-demo-feedback { background: var(--rugym-green-soft); border-color: #c8e8d8; color: #1b6949; }
[data-demo-state="correct"] .landing-demo-feedback>i,[data-demo-state="correct"] .landing-demo-feedback strong { color: #176443; }
[data-demo-state="correct"] .demo-gap { color: #176443; border-color: #218057; background: var(--rugym-green-soft); }
[data-demo-state="wrong"] .landing-demo-feedback { background: var(--rugym-red-soft); border-color: #f1ced6; color: #853346; }
[data-demo-state="wrong"] .landing-demo-feedback>i,[data-demo-state="wrong"] .landing-demo-feedback strong { color: #9a3145; }
[data-demo-state="wrong"] .demo-gap { color: #9a3145; border-color: #cf5068; background: var(--rugym-red-soft); }
.landing-main .section-intro .learning-cycle-title { letter-spacing: -.02em; word-spacing: .15em; }
.landing-main .section-intro { max-width:850px; margin-inline:0; }
.landing-main .section-intro h2 { font-size:clamp(1.8rem,3.3vw,2.75rem); font-weight:780; line-height:1.2; }
.landing-main .bento-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.landing-main .bento-card { display:flex; flex-direction:column; align-items:flex-start; gap:0; min-height:0; border:0; border-radius:22px; box-shadow:none; background:none; padding:26px; }
.landing-main .bento-card::after { content:none; }
.landing-main .bento-card h3 { font-weight:750; }
.landing-main .bento-card p { font-size:1rem; line-height:1.65; }
.landing-main .bento-purple { background:#3d2d62; border:0; }
.landing-main .bento-purple p { color:#f4eefb; }
.landing-main .bento-large { display:grid; align-items:center; padding:clamp(24px,4vw,48px); background:var(--rugym-primary-soft); grid-column: 1/-1; grid-row: auto; min-height: 0; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); grid-template-rows: auto; gap: 24px clamp(24px,4vw,60px); }
.landing-main .bento-large>div { grid-column: 1; grid-row: 1; }
.landing-main .bento-large>.landing-route { grid-column: 2; grid-row: 1; align-self: center; }
.landing-main .bento-large h3 { margin-top:0; font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.25; }
.landing-feature-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; width:100%; margin-top:auto; color:#fff; font-weight:650; font-size:.9375rem; }
.landing-feature-link:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.landing-route { display: grid; align-self: end; gap: 10px; margin: 0; padding: 0; list-style: none; }
.landing-route li { display: flex; align-items: center; gap: 16px; min-width: 0; padding:12px 0; border:0; border-radius:0; background:none; }
.landing-route li:first-child { background:none; }
.landing-route i { display: grid; place-items: center; flex-shrink: 0; width:32px; height:36px; color:var(--rugym-primary); background:none; font-size:1.4rem; }
.landing-route strong { display: block; font-size: .9375rem; font-weight: 750; }
.landing-route span { display:block; margin-top:4px; color:var(--rugym-muted); font-size:.9375rem; line-height:1.5; }
.landing-main .path-steps { gap:24px; border:0; }
.landing-main .path-steps article { display:block; padding:24px; border:0; border-radius:0; background:none; }
.landing-main .path-steps article + article { border:0; }
.landing-main .path-steps h3 { margin:0 0 9px; color:var(--rugym-primary); }
.landing-main .path-steps p { color:var(--rugym-muted); font-size:1rem; line-height:1.6; }
.landing-main .landing-cta { box-shadow:none; background:#3d2d62; }
.landing-main .landing-cta p { color:#f4eefb; }
.landing-main .landing-cta h2 { font-size: clamp(1.5rem,2.8vw,2.2rem); line-height: 1.2; }
.landing-main .landing-cta .btn { flex-shrink: 0; min-height: 54px; }
.landing-main .landing-community h2 { line-height: 1.35; }
.landing-main .landing-community p { line-height: 1.6; }
@media (max-width:1199.98px) and (min-width:992px) {
  .landing-main .hero-actions { flex-direction: column!important; align-items: flex-start; }
  .landing-main .hero-stage { padding-inline: 8px; }
}
@media (max-width:991.98px) {
  .landing-main .hero-copy { text-align: left; }
  .landing-main .landing-hero-v2 .display-title { max-width: 650px; font-size: clamp(2.25rem,6.4vw,3.8rem); line-height: 1.1; }
  .landing-main .hero-stage { margin-top: 12px; }
  .landing-main .landing-cta { flex-wrap: wrap; }
}
@media (max-width:767.98px) {
  .landing-main .bento-grid { grid-template-columns: 1fr; }
  .landing-main .bento-large { grid-template-columns: 1fr; grid-template-rows: auto; }
  .landing-main .bento-large>div,.landing-main .bento-large>.landing-route { grid-column: 1; grid-row: auto; }
  .landing-main .path-steps { grid-template-columns:1fr; }
  .landing-main .path-steps article { padding:22px 0; }
  .landing-main .path-steps article + article { border-left:0; border-top:1px solid #dcd4ed; }
}
@media (max-width:575.98px) {
  .landing-main .landing-hero-v2>.container-xl { padding: 32px 20px 36px!important; }
  .landing-main .landing-hero-v2 .display-title { font-size: clamp(2rem,8.6vw,2.7rem); }
  .landing-main .hero-lead { margin-top:18px; font-size:1rem; }
  .landing-main .hero-stage { padding:0; margin-top:0; }
  .landing-main .interactive-demo { border-radius: 24px; padding: 18px; }
  .landing-main .hero-demo-card h2 { margin-top: 18px; font-size: 1.125rem; }
  .landing-main .landing-demo-meta { font-size: .8125rem; }
  .landing-main .demo-word { margin-block: 24px; font-size: clamp(1.75rem,8vw,2.25rem); }
  .landing-demo-choices { gap: 8px; }
  .landing-demo-feedback { padding: 12px; gap: 9px; min-block-size: 8.5rem; }
  .landing-main .landing-section { padding: 48px 20px!important; }
  .landing-main .section-intro h2 { font-size: 1.8rem; line-height: 1.2; }
  .landing-main .section-intro>p { font-size: .9375rem; line-height: 1.6; }
  .landing-main .bento-large { min-height: 0; }
  .landing-main .bento-card { padding: 22px; }
  .landing-route li { padding: 12px; }
  .landing-route strong { font-size: .875rem; }
  .landing-main .learning-path-section>.container-xl { padding-inline: 20px; }
  .landing-main .landing-cta { margin-top: 32px; padding: 24px; gap: 20px; border-radius: 24px; }
  .landing-main .landing-cta p { font-size: .9375rem; line-height: 1.6; }
  .landing-main>.container-xl:last-child { padding: 36px 20px!important; }
  .landing-main .landing-community { padding: 20px; }
  .landing-main .landing-community>span { width: 44px; height: 44px; border-radius: 14px; }
  .landing-main .landing-community h2 { font-size: 1.125rem; }
  .landing-main .landing-community>div { flex-basis: calc(100% - 60px); }
}
@media (prefers-reduced-motion:reduce) {
  .landing-main .demo-gap,.landing-main .choice-demo,.landing-main .interactive-demo,.landing-demo-feedback,.landing-demo-feedback * { transition: none!important; }
}
