/* Show the desktop index only after its initial font/layout fit. */
.index-layout-pending body.section3-preview #main-content { visibility: hidden; }

/* Fixed layout coordinates from the approved desktop view. Only the enclosing
   stage scales; viewport breakpoints never reflow this desktop composition. */
.section-deck .panel { display:block; }
.section-deck .section-stage {
  --frame-width:1355.2px;
  --page-gutter:77.44px;
  --header-height:118.8px;
  --section-title-size:var(--desktop-title-size);
  --section-title-leading:1.02;
  --title-inset:47.52px;
  --content-gap:23.76px;
  --title-height:299.76px;
  --frame-gap:64px;
  --lesson-gap:12px;
  --card-label-size:16px;
  --copy-size:16px;
  position:absolute;
  top:var(--composition-top,0px);
  left:50%;
  margin-left:-968px;
  width:1936px;
  height:1188px;
  display:grid;
  grid-template-rows:118.8px 299.76px minmax(0,1fr) 59.4px;
  transform:scale(var(--composition-scale,1));
  transform-origin:50% 0;
}
.section-deck .intro .section-stage { grid-template-rows:118.8px minmax(0,1fr) 59.4px; }
.section-deck .contact .section-stage { grid-template-rows:118.8px 299.76px minmax(0,1fr) 118.8px; }
.section-deck .section-stage .section-heading { padding:47.52px 0 0; }
.section-deck .section-stage .section-body { padding-block:21.384px; row-gap:23.76px; }
.section-deck .intro .section-stage .section-body { padding-block:0; }
.section-deck .section-stage .section-meta { align-items:end; flex-direction:row; gap:28px; }
.section-deck .section-stage .section-next { white-space:nowrap; gap:15px; font-size:12px; }
.section-deck .section-stage .section-next > span:first-child { max-width:none; }
.section-deck .section-stage .intro-message { padding-block:35.64px; }
.section-deck .section-stage .intro-heading h1 { font-size:168px; }
.section-deck .section-stage .intro-copy,
.section-deck .section-stage .contact-note { font-size:24px; }
.section-deck .section-stage .intro-copy { margin-top:35.64px; }
.section-deck .section-stage .discovery-button { width:fit-content; padding:20px 22px; margin-top:44px; }
.section-deck .section-stage .discovery-line { gap:40px; }
.section-deck .section-stage .discovery-line strong { font-size:15px; line-height:normal; }
.section-deck .section-stage .discovery-label { font-size:12px; line-height:normal; }
.section-deck .section-stage .stats { gap:64px; }
.section-deck .section-stage .stats dt { font-size:49.6px; }
.section-deck .section-stage .stats dd { font-size:12px; }
.section-deck .section-stage .about-layout { grid-template-columns:50% 50%; gap:0; }
.section-deck .section-stage .photo-placeholder { width:400px; }
.section-deck .section-stage .about-body { padding-block:0; }
.section-deck .section-stage .about-heading { margin-bottom:23.76px; }
.section-deck .section-stage .language-badge { font-size:13px; }
.section-deck .section-stage .about-heading h3,
.section-deck .section-stage .teaching-approach h3 { font-size:36.8px; }
.section-deck .section-stage .teaching-approach p { line-height:1.55; }
/* Keep a separate dotted i: this font's joined fi glyph deliberately omits it. */
#lessons-title em { letter-spacing:.015em; font-variant-ligatures:none; font-feature-settings:"liga" 0,"clig" 0; }
.section-deck .section-stage .lessons-layout {
  grid-template-columns:minmax(0,calc(50% - 64px)) minmax(0,50%);
  grid-template-rows:repeat(5,minmax(min-content,1fr)) auto;
  gap:12px 64px;
  width:auto; left:0; right:0; margin-left:0;
}
.section-deck .section-stage .lessons-editorial { grid-column:2; grid-row:1 / span 4; border:0; padding:0; margin:0; }
.section-deck .section-stage .lesson-option { padding:16px; grid-template-columns:minmax(0,1fr) 88px; gap:12px; }
.section-deck .section-stage .yki-block { --yki-inset:32px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:16px 0; }
.section-deck .section-stage .yki-heading { font-size:42.4px; padding-inline:32px; }
.section-deck .section-stage .yki-details { padding:0 32px 0 0; }
.section-deck .section-stage .yki-overview { grid-template-columns:minmax(0,1fr) 108px; gap:0; }
.section-deck .section-stage .yki-price { justify-content:center; border-left:1px solid #5a5750; margin-left:12px; }
.section-deck .section-stage .yki-skills { gap:14px; }
.section-deck .section-stage .contact-layout { gap:35.64px; }
.section-deck .section-stage .contact-form { gap:32px; }
.section-deck .section-stage .field textarea { height:160px; }
.section-deck .section-stage .form-actions { gap:28px; }
.section-deck .panel > .contact-footer { position:absolute; bottom:0; left:var(--page-gutter); margin:0; }

/* Preserve the approved three vertical cards beside the teaching text. */
.section-deck .section3-preview .section-stage .lessons-layout {
  --card-gap:20px;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  grid-template-rows:auto auto auto;
  gap:12px 20px;
}
.section-deck .section3-preview .section-stage .lesson-list { grid-column:1; grid-row:1; }
.section-deck .section3-preview .section-stage .vertical-card { padding:22px; gap:23.76px; min-height:330px; }
.section-deck .section3-preview .section-stage .subscription-card { grid-template-columns:minmax(0,1fr); gap:23.76px; }
.section-deck .section3-preview .section-stage .lessons-editorial { grid-column:2; grid-row:1; }
.section-deck .section3-preview .section-stage .teaching-approach { display:block; }
.section-deck .section3-preview .section-stage .teaching-approach h3 { margin-bottom:23.76px; }
.section-deck .section3-preview .section-stage .teaching-approach p + p { margin-top:23.76px; }
.section-deck .section3-preview .section-stage .yki-block { grid-row:2; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); column-gap:20px; }
.section-deck .section3-preview .section-stage .pricing-note { grid-row:3; }

/* Desktop index content occupies 80% of the actual viewport, including shorter
   windows where the enclosing stage is scaled to fit its height. */
@media not (any-pointer: coarse) {
  html:not(.phone-index):not(.tablet-preview) .section3-preview .section-stage {
    --frame-width: calc(80vw / var(--composition-scale, 1));
    grid-template-columns: minmax(0, 1fr);
  }
  html:not(.phone-index):not(.tablet-preview) .section3-preview .section-stage .section-body {
    justify-self: center; margin-inline: 0;
  }
}
