/* A continuous wave through the existing week, without adding UI or copy. */
.hero-media.ambient-ready .week-card{
  animation:week-current 12s cubic-bezier(.4,0,.2,1) infinite;
  animation-delay:calc(var(--card)*4s);
  animation-play-state:var(--ambient-play,paused);
}
@keyframes week-current{
  0%,38%,100%{transform:translateX(0);box-shadow:0 5px 10px #041c2920}
  12%,24%{transform:translateX(7px);box-shadow:0 13px 24px #041c2948}
}
/* A soft reflection travels over the material, never over the text. */
.week-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff24 45%,transparent 70%);background-size:260% 100%;background-position:150% 0;opacity:0}
.hero-media.ambient-ready .week-card:before{animation:week-reflection 12s ease-in-out infinite;animation-delay:calc(var(--card)*4s);animation-play-state:var(--ambient-play,paused)}
@keyframes week-reflection{0%{background-position:150% 0;opacity:0}8%{opacity:.8}30%{background-position:-50% 0;opacity:.8}38%,100%{background-position:-50% 0;opacity:0}}
.hero-media.ambient-ready .week-card>.orbit-border{opacity:1}
.hero-media.ambient-ready .week-card>.orbit-border .orbit-tip{
  animation:week-current-light 12s linear infinite;
  animation-delay:calc(var(--card)*4s);
  animation-play-state:var(--ambient-play,paused);
  stroke-dasharray:.05 99.95;
}
@keyframes week-current-light{0%{stroke-dashoffset:100;opacity:0}2%{opacity:1}31%{stroke-dashoffset:0;opacity:1}33%,100%{stroke-dashoffset:0;opacity:0}}
.hero-media.ambient-ready .week-check{animation:week-symbol 12s ease-in-out infinite;animation-delay:calc(var(--card)*4s);animation-play-state:var(--ambient-play,paused)}
@keyframes week-symbol{0%,38%,100%{transform:scale(1)}24%{transform:scale(1.1)}30%{transform:scale(1)}}
/* A broad, quiet illumination passes through the ruled planning surface. */
.week-cards:after{content:'';position:absolute;inset:-10px -7px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 35%,#9ee8dc12 50%,transparent 65%);background-size:100% 300%;background-position:0 130%;opacity:0}
.hero-media.ambient-ready .week-cards:after{animation:week-surface 12s linear infinite;animation-play-state:var(--ambient-play,paused)}
@keyframes week-surface{0%{background-position:0 130%;opacity:0}8%,88%{opacity:1}100%{background-position:0 -30%;opacity:0}}
/* Anki: deck, connection, load. One repeating sequence, stable data. */
.anki-link{position:relative}
.anki-signal{position:absolute;left:0;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#f2fff9;box-shadow:0 0 7px #66ded0;opacity:0;pointer-events:none}
.anki-story.ambient-ready .deck-art>strong{animation:deck-current 15s ease-in-out infinite;animation-play-state:var(--ambient-play,paused)}
@keyframes deck-current{0%,40%,100%{transform:rotate(2deg) translateY(0)}13%,25%{transform:rotate(0) translateY(-6px)}}
.anki-story.ambient-ready .deck-art>span:first-child{animation:deck-spread 15s ease-in-out infinite;animation-play-state:var(--ambient-play,paused)}
@keyframes deck-spread{0%,40%,100%{transform:rotate(-7deg)}13%,25%{transform:rotate(-11deg) translateX(-4px)}}
.anki-story.ambient-ready .anki-signal{animation:anki-current 15s ease-in-out infinite;animation-play-state:var(--ambient-play,paused)}
@keyframes anki-current{0%,28%{left:0;opacity:0}32%{opacity:1}49%{left:calc(100% - 6px);opacity:1}55%,100%{left:calc(100% - 6px);opacity:0}}
.anki-story.ambient-ready .anki-topic{animation:topic-current 15s ease-in-out infinite;animation-play-state:var(--ambient-play,paused)}
@keyframes topic-current{0%,30%,72%,100%{border-color:#65b9ad99;background:#183f4b}48%,59%{border-color:#86e3d4;background:#1b4651}}
.anki-story.ambient-ready .linked-note{animation:linked-current 15s ease-in-out infinite;animation-play-state:var(--ambient-play,paused)}
@keyframes linked-current{0%,32%,72%,100%{border-color:#68c6b799;background:#20515a}48%,59%{border-color:#9cecdc;background:#285d62}}
.anki-story.ambient-ready .forecast-bars.is-complete i{animation:forecast-current 15s ease-in-out infinite;animation-delay:calc(var(--order)*.22s);animation-play-state:var(--ambient-play,paused)}
@keyframes forecast-current{0%,60%,96%,100%{background:#488e85}72%,82%{background:#89e4d4}}
@media(max-width:600px){@keyframes week-current{0%,38%,100%{transform:translateX(0);box-shadow:0 5px 10px #041c2920}12%,24%{transform:translateX(4px);box-shadow:0 10px 18px #041c2940}}}
@media(prefers-reduced-motion:reduce){.ambient-ready .week-card,.ambient-ready .week-check,.ambient-ready .week-card:before,.ambient-ready .week-cards:after,.ambient-ready .orbit-tip,.ambient-ready .deck-art>*,.ambient-ready .anki-signal,.ambient-ready .anki-topic,.ambient-ready .linked-note,.ambient-ready .forecast-bars i{animation:none!important}.ambient-ready .anki-signal,.ambient-ready .week-card:before,.ambient-ready .week-cards:after{opacity:0!important}}

/* A distinct screening space, between the introduction and the weekly agenda. */
.film-section{background:#173d49;color:#f7faf9;padding:80px 0 88px}
.film-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:60px;margin-bottom:34px}
.film-heading h2{max-width:20ch;font-size:clamp(34px,3.6vw,50px);letter-spacing:-.035em}
.film-heading p{max-width:37ch;font-size:16px;color:#c0d8d5}
.product-film{padding:9px;background:#294f59;border-radius:20px;box-shadow:0 24px 55px #061e2640}
.film-screen{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#e9f3ef}
.film-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;width:100%;border:0;background:radial-gradient(ellipse at 50% 35%,#ffffff 0%,#e9f3ef 60%,#d1e6df 100%);color:#102e3a}
.film-cover>img{width:clamp(170px,24vw,300px);height:auto}
.film-play{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 22px;border-radius:28px;background:#102e3a;color:#f7faf9;font-size:14px;transition:background .2s,transform .2s}
.film-play svg{width:20px;height:20px;fill:currentColor;stroke:none}
.film-cover:hover .film-play{background:#075f59;transform:translateY(-2px)}
.film-cover:focus-visible{outline:3px solid #008a80;outline-offset:-6px}
.film-cover-footer{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#45676c}
.film-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#071c23}
.film-screen video:focus-visible{outline:3px solid #66ded0;outline-offset:-4px}
.film-status{color:#d5e7e2;font-size:13px;padding:0 10px}
.film-status:not(:empty){padding-block:12px 4px}
@media(max-width:760px){.film-section{padding:56px 0 62px}.film-heading{display:block;margin-bottom:26px}.film-heading h2{max-width:18ch}.film-heading p{margin-top:18px;font-size:15px}.product-film{padding:5px;border-radius:13px}.film-screen{border-radius:9px}.film-cover{gap:17px}.film-cover-footer{bottom:12px;left:14px;right:14px;font-size:10px}.film-play{font-size:12px;min-height:44px;padding-inline:17px;gap:9px}.film-cover>img{width:170px}.film-play svg{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.film-play{transition:none}}
