/* A small living study desk. Motion is enhancement, never a loading gate. */
.ielts-landing { --motion-ease:cubic-bezier(.22,1,.36,1); }
.ielts-landing .header-inner { gap:22px; }
.ielts-landing .header-inner > .brand { margin-right:auto; }
.ielts-landing .primary-nav { order:1; }
.ielts-landing .motion-toggle { order:2; display:inline-flex; align-items:center; justify-content:center; gap:7px; flex-shrink:0; min-height:44px; padding:8px 11px; border:1px solid #D9DFD1; border-radius:9px; background:transparent; color:#52634B; font:inherit; font-size:11px; cursor:pointer; }
.ielts-landing .motion-toggle svg { width:17px; height:17px; }
.ielts-landing .motion-toggle .motion-play { display:none; }
.ielts-landing .motion-toggle[aria-pressed="true"] .motion-play { display:block; }
.ielts-landing .motion-toggle[aria-pressed="true"] .motion-pause { display:none; }
.ielts-landing .motion-toggle:hover { background:#EAF0E1; border-color:#B6C6AA; }
.ielts-landing .menu-toggle { order:3; }
.ielts-landing .hero-orbit-note { position:absolute; z-index:2; display:grid; place-items:center; pointer-events:none; }
.ielts-landing .hero-orbit-note-one { width:37px; height:37px; right:0; top:0; color:#C88856; rotate:12deg; }
.ielts-landing .hero-orbit-note-two { width:38px; height:38px; left:3px; top:110px; border:1px solid #CBD9BE; border-radius:50%; color:#607E4E; background:#F7F8EA; rotate:-12deg; }
.ielts-landing .hero-orbit-note svg { width:70%; height:70%; }
.ielts-landing .hero-copy > :is(.eyebrow,h1,.hero-description,.hero-actions,.hero-footnote) { animation:landing-enter 780ms var(--motion-ease) both; }
.ielts-landing .hero-copy > h1 { animation-delay:70ms; }
.ielts-landing .hero-copy > .hero-description { animation-delay:140ms; }
.ielts-landing .hero-copy > .hero-actions { animation-delay:210ms; }
.ielts-landing .hero-copy > .hero-footnote { animation-delay:270ms; }
.ielts-landing .hero-art { animation:landing-scene-enter 1100ms var(--motion-ease) both; }
.ielts-landing .hero-art .buddy { right:-4px; }
.ielts-landing .hero-art .buddy { animation:landing-buddy-float 5.8s ease-in-out infinite; animation-play-state:paused; transform-origin:50% 80%; }
.ielts-landing .hero-study-sheet { animation:landing-paper-float 7s ease-in-out infinite; animation-play-state:paused; }
.ielts-landing .hero-study-evidence { animation:landing-note-float 6.3s ease-in-out infinite; animation-play-state:paused; }
.ielts-landing .hero-orbit-note-one { animation:landing-pencil-turn 9s ease-in-out infinite; animation-play-state:paused; }
.ielts-landing .hero-orbit-note-two { animation:landing-note-float 6.3s ease-in-out -2s infinite; animation-play-state:paused; }
.ielts-landing .hero-sheet-passage mark { background:linear-gradient(#E7EAA9,#E7EAA9) 0 100% / 100% 100% no-repeat; animation:landing-marker-reveal 1200ms var(--motion-ease) 600ms both; }
.ielts-landing .hero-study-orbit::after { content:""; position:absolute; inset:15px; border:1px dashed #BDCCAF; border-radius:50%; opacity:.7; }
.ielts-landing .hero-sheet-answer > span:first-child { animation:landing-check-in 500ms var(--motion-ease) 1.2s both; }
.ielts-landing[data-motion="running"] [data-motion-scene][data-motion-visible="true"] :is(.buddy,.hero-study-sheet,.hero-study-evidence,.hero-orbit-note) { animation-play-state:running; }
.ielts-landing[data-motion="paused"] *,
.ielts-landing[data-motion="paused"] *::before,
.ielts-landing[data-motion="paused"] *::after,
.ielts-landing [data-motion-visible="false"] :is(.buddy,.hero-study-sheet,.hero-study-evidence,.hero-orbit-note) { animation-play-state:paused!important; }
/* A remembered pause must show final entry states, not freeze opacity at zero. */
.ielts-landing[data-entry-motion="still"] :is(.hero-copy > *, .hero-art, .hero-sheet-passage mark, .hero-sheet-answer > span:first-child, .skill-studio > a, .lesson-path .path-number, .closing-notebook) { animation:none!important; opacity:1; }
.ielts-landing[data-motion="paused"] .scroll-reveal { transition:none; }
/* Scroll entry is once-only; the reading demo itself stays still. */
.ielts-landing .skill-studio.is-revealed > :is(a) { animation:landing-enter 700ms var(--motion-ease) both; }
.ielts-landing .skill-studio.is-revealed > :nth-child(2) { animation-delay:100ms; }
.ielts-landing .skill-studio.is-revealed > :nth-child(3) { animation-delay:180ms; }
.ielts-landing .skill-studio.is-revealed > :nth-child(4) { animation-delay:260ms; }
.ielts-landing .lesson-path { position:relative; }
.ielts-landing .lesson-path .path-number { display:grid; place-items:center; width:38px; height:38px; border:1px solid #D5DCCB; border-radius:50%; background:#F1F3E5; font-size:15px; }
.ielts-landing .lesson-path.is-revealed .path-number { animation:landing-check-in 650ms var(--motion-ease) both; }
.ielts-landing .lesson-path.is-revealed li:nth-child(2) .path-number { animation-delay:180ms; }
.ielts-landing .lesson-path.is-revealed li:nth-child(3) .path-number { animation-delay:360ms; }
.ielts-landing .closing-card.is-revealed .closing-notebook { animation:landing-welcome 1.1s var(--motion-ease) 100ms both; transform-origin:50% 80%; }
.ielts-landing :is(.button,.nav-cta,.reading-feature,.resource-desk,.plan-desk) { transition:translate 220ms var(--motion-ease),border-color 220ms,background-color 220ms,box-shadow 220ms; }
.ielts-landing :is(.button,.nav-cta) > span[aria-hidden] { display:inline-block; transition:translate 220ms var(--motion-ease); }
.ielts-landing .skill-row > span:last-child { transition:translate 220ms var(--motion-ease); }
@media(hover:hover) and (pointer:fine) {
  .ielts-landing :is(.button,.nav-cta):hover { translate:0 -2px; }
  .ielts-landing :is(.button,.nav-cta):hover > span[aria-hidden],.ielts-landing .skill-row:hover > span:last-child { translate:3px -2px; }
  .ielts-landing :is(.reading-feature,.resource-desk,.plan-desk):hover { translate:0 -4px; box-shadow:0 10px 26px #34442C0B; }
  .ielts-landing .skill-row img { transition:rotate 350ms var(--motion-ease); }
  .ielts-landing .skill-row:hover img { rotate:-5deg; }
}
@keyframes landing-enter { from { opacity:0; translate:0 16px; } to { opacity:1; translate:0 0; } }
@keyframes landing-scene-enter { from { opacity:0; translate:0 18px; scale:.97; } to { opacity:1; translate:0 0; scale:1; } }
@keyframes landing-buddy-float { 0%,100% { translate:0 0; rotate:0deg; } 50% { translate:0 -9px; rotate:-2deg; } }
@keyframes landing-paper-float { 0%,100% { translate:0 0; rotate:0deg; } 50% { translate:0 -5px; rotate:1deg; } }
@keyframes landing-note-float { 0%,100% { translate:0 0; } 50% { translate:0 -6px; } }
@keyframes landing-pencil-turn { 0%,100% { rotate:12deg; } 50% { rotate:55deg; } }
@keyframes landing-marker-reveal { from { background-size:0 100%; } to { background-size:100% 100%; } }
@keyframes landing-check-in { from { opacity:0; scale:.75; rotate:-14deg; } to { opacity:1; scale:1; rotate:0deg; } }
@keyframes landing-welcome { 0% { opacity:0; translate:16px 14px; rotate:8deg; } 60% { opacity:1; translate:0 -4px; rotate:-3deg; } 100% { opacity:1; translate:0 0; rotate:0deg; } }
@media(max-width:1100px) {
  .ielts-landing .header-inner { gap:14px; }
  .ielts-landing .motion-toggle > span { display:none; }
  .ielts-landing .motion-toggle { width:44px; padding:8px; }
}
@media(max-width:700px) {
  .ielts-landing .header-inner { gap:10px; }
  .ielts-landing .hero-orbit-note-one { width:28px; height:28px; right:4px; top:6px; }
  .ielts-landing .hero-orbit-note-two { left:0; top:88px; width:30px; height:30px; }
  .ielts-landing .motion-toggle { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) {
  .ielts-landing *, .ielts-landing *::before, .ielts-landing *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .ielts-landing .motion-toggle { display:none; }
  .ielts-landing .scroll-reveal { opacity:1; translate:none; }
}
.ielts-landing[data-motion="reduced"] *, .ielts-landing[data-motion="reduced"] *::before, .ielts-landing[data-motion="reduced"] *::after { animation:none!important; transition:none!important; }
@media print { .ielts-landing .motion-toggle { display:none; } .ielts-landing * { animation:none!important; } }
