*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f9fc;color:#192035;font:16px/1.55 system-ui,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:3px solid #a094ff;outline-offset:4px}header,main,footer{max-width:1120px;margin:auto;padding:0 28px}header,nav,.brand{display:flex;align-items:center;gap:20px}header{justify-content:space-between;height:76px}.brand{font-weight:700;gap:9px;font-size:22px}.action,.secondary{display:inline-block;padding:12px 20px;border-radius:10px;font-weight:600}.action{background:linear-gradient(125deg,#6845dc,#395bd4);color:white}.secondary{background:white;border:1px solid #d9daeb}header .action{padding:8px 15px}.hero{text-align:center;position:relative;isolation:isolate;padding:56px 0 34px}.sky{position:absolute;left:0;top:12%;width:16%;height:74%;color:#9377d6;z-index:-1}.sky circle{animation:twinkle 4s ease-in-out infinite alternate}.sky circle:nth-child(odd){animation-delay:-2s}@keyframes twinkle{to{opacity:.35}}.hero small,.guide small,.features small{color:#685b94}.hero h1{font-size:clamp(32px,5vw,64px);line-height:1.04;letter-spacing:-.055em;margin:20px 0}.hero em{font-style:normal;color:#6451db}.hero p{color:#566277;margin:0 auto 24px}.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:920px;margin:0 auto 68px}.poster{display:block;object-fit:contain;height:auto;border-radius:12px;overflow:hidden}.covers .poster:nth-child(even){transform:translateY(12px)}main>section:not(.hero){margin:52px 0}h2{text-align:center;font-size:clamp(24px,4vw,36px);letter-spacing:-.045em}.features,.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.features a,li,.guide{background:white;border:1px solid #e4e5ed;border-radius:14px}.features a{padding:20px}.features h3{margin:8px 0 4px}.features p,footer p{margin:0;color:#596479}ol{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0}li{padding:16px;counter-increment:steps}li:before{content:counter(steps,decimal-leading-zero);display:block;color:#684dcc;font-size:14px}.gallery{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.gallery .poster{border-radius:8px}aside{text-align:center;padding:32px 16px 40px;border-radius:20px;background:linear-gradient(120deg,#493595,#3550bc);color:white}aside h2{margin:0 0 14px}aside .action{background:white;color:#463b87}footer{margin:52px auto 0;padding-bottom:22px}.columns{border-block:1px solid #dcdfe9;padding:30px 0}.columns h3{font-size:13px;text-transform:uppercase;letter-spacing:.07em}.columns a,.reading a{display:block;padding:4px 0;font-size:14px}.legal{text-align:center;font-size:13px;padding:28px 0}.legal a{display:inline-block;margin:7px}.guide{max-width:800px;margin:36px auto;padding:clamp(22px,5vw,60px)}.guide a:not(.action){color:#5541a1;text-decoration:underline}.guide small{display:block;margin-top:28px}.guide h1{line-height:1.15;font-size:clamp(30px,5vw,48px);letter-spacing:-.04em;margin:12px 0}.guide .lead{font-size:20px}.guide .action{margin-top:16px}.reading{margin:20px 0}@media(max-width:680px){header,main,footer{padding-inline:16px}.hero{padding:28px 0}.sky{opacity:.35}.covers,.features,ol{grid-template-columns:repeat(2,minmax(0,1fr))}.covers{gap:8px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.columns{grid-template-columns:1fr}.features a{padding:14px}nav>a:first-child{display:none}.hero .secondary{margin-top:8px}.guide{margin:18px auto}.hero h1 br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sky circle{animation:none}}

/* The gallery spans the viewport; body container units exclude the scrollbar. */
body{container-type:inline-size}
.ribbons{width:100cqw;margin-left:calc(50% - 50cqw);overflow:hidden;position:relative}
.ribbon{overflow:hidden}
.ribbon+.ribbon{margin-top:14px}
.track,.sequence{display:flex;width:max-content}
.sequence{gap:14px;padding-right:14px}
.sequence .poster{width:max(clamp(172px,15vw,246px),12.5cqw);aspect-ratio:3/4!important;flex:none}
.track{animation:ribbon-drift 75s linear infinite}
.ribbon:first-child .track{animation-direction:reverse}
@keyframes ribbon-drift{to{transform:translateX(-50%)}}
.cover-slot{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden}
.cover-slot:nth-child(even){transform:translateY(12px)}
.covers .cover-slot .poster{position:absolute;inset:0;aspect-ratio:auto!important;transform:none}
#margin-sky{position:fixed;inset:0;pointer-events:none;width:100%;height:100vh;z-index:-1}
body:has(#margin-sky){isolation:isolate}
@media(prefers-reduced-motion:reduce){.track{animation:none}.ribbon{overflow-x:auto}.sequence[aria-hidden]{display:none}}

.covers .poster{width:100%}.covers .cover-slot .poster{height:100%}.sequence .poster{height:auto}
