/* V21 winter world: day/night hero scene and topic row on the homepages. Loaded after style.css. */
.hero-art--illu{max-width:680px}
.hero-illu{position:relative;border-radius:24px;overflow:hidden;background:#f3eee2;border:1px solid #e6e0cf;box-shadow:0 18px 50px #51441e14}
.hero-illu img{display:block;width:100%;height:auto}
.hero-illu:after{content:'';position:absolute;inset:0;border-radius:24px;box-shadow:inset 0 0 0 1px #ffffff66;pointer-events:none;z-index:4}
.hero-art--illu .postmark{right:-8px;top:-10px;z-index:6}
.hero-art--illu .star.two{right:-2%;bottom:30%}
.hero-scene{transform:translateY(var(--parallax,0px));will-change:transform;transition:box-shadow 1.6s ease}
.hero-scene[data-scene=night]{box-shadow:0 24px 70px #0b1b2a66}
.hero-scene .scene-layer{display:block;margin:0}
.hero-scene .scene-day img{animation:arrive 1.1s ease both}
.hero-scene .scene-night{position:absolute;inset:0;opacity:0}
.hero-scene .scene-night img{height:100%;object-fit:cover}
.scene-stars,.scene-glow,.scene-smoke{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2}
.hero-scene.scene-ready .scene-night,.hero-scene.scene-ready .scene-stars,.hero-scene.scene-ready .scene-glow,.hero-scene.scene-ready .scene-smoke{transition:opacity 1.6s ease}
.hero-scene[data-scene=night] .scene-night,.hero-scene[data-scene=night] .scene-stars,.hero-scene[data-scene=night] .scene-glow,.hero-scene[data-scene=night] .scene-smoke{opacity:1}
.scene-stars i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#fff8dc;box-shadow:0 0 6px #fff,0 0 12px #fff8;animation:twinkle 4.5s ease-in-out infinite;animation-delay:var(--d,0s)}
.scene-glow i{position:absolute;left:var(--x);top:var(--y);width:11%;padding-top:11%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#ffd48fa6 0%,#ffb44d40 42%,transparent 70%);mix-blend-mode:screen;animation:glowpulse 5s ease-in-out infinite}
.scene-glow i:nth-child(2){animation-delay:1.3s}.scene-glow i:nth-child(3){animation-delay:2.1s}.scene-glow i:nth-child(4){animation-delay:.6s}
.scene-smoke i{position:absolute;left:var(--x);top:var(--y);width:16px;height:16px;border-radius:50%;background:#fff;opacity:0;filter:blur(5px);animation:smoke 7s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes smoke{0%{transform:translate(0,0) scale(.5);opacity:0}12%{opacity:.5}100%{transform:translate(22px,-80px) scale(2.4);opacity:0}}
@keyframes glowpulse{0%,100%{opacity:.75}50%{opacity:1}}
.scene-toggle{position:absolute;left:14px;bottom:14px;z-index:5;border:1px solid #d9cfb6;background:#fbf7edd9;color:#273f35;font:inherit;font-size:12px;letter-spacing:.02em;padding:7px 13px;border-radius:20px;cursor:pointer;backdrop-filter:blur(4px);transition:background .4s ease,color .4s ease}
.hero-scene[data-scene=night] .scene-toggle{background:#15283bcc;color:#fff6e3;border-color:#ffffff66}
.scene-toggle:focus-visible{outline:2px solid #d3b782;outline-offset:2px}
.theme-row .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding-top:26px;padding-bottom:30px}
.theme-row--4 .wrap{grid-template-columns:repeat(4,1fr);gap:22px}
.theme-item{display:flex;align-items:center;gap:12px;color:var(--snow);text-decoration:none;padding:6px 8px;border-radius:12px;transition:background .25s ease,transform .25s ease}
.theme-item:hover,.theme-item:focus-visible{background:#ffffff14;transform:translateY(-1px)}
.theme-item:focus-visible{outline:2px solid #d3b782;outline-offset:2px}
.theme-icon{flex:0 0 40px;width:40px;height:40px;color:#d3b782}
.theme-text{display:block;min-width:0}
.theme-text strong{display:block;font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.25}
.theme-text small{display:block;font-size:10px;letter-spacing:.04em;color:#d2dfd0;margin-top:3px}
@media(max-width:1050px){.theme-row .wrap{gap:12px}.theme-text strong{font-size:15px}.theme-icon{width:34px;height:34px;flex-basis:34px}}
@media(max-width:780px){
  .hero-art--illu{max-width:460px;width:93%}
  .hero-illu{border-radius:20px}
  .hero-scene{transform:none}
  .scene-stars,.scene-glow,.scene-smoke{display:none}
  .theme-row .wrap,.theme-row--4 .wrap{grid-template-columns:repeat(2,1fr);gap:12px 10px;padding-top:20px;padding-bottom:22px}
  .theme-row--5 .theme-item:last-child{grid-column:1/-1;justify-content:center}
  .theme-item{flex-direction:column;text-align:center;gap:8px;padding:10px 6px}
  .theme-text strong{font-size:15px}
  .theme-text small{font-size:9px;line-height:1.5}
}
@media(max-width:480px){.theme-text strong{font-size:14px}.theme-text small{font-size:8.5px}}
@media(prefers-reduced-motion:reduce){
  .hero-scene{transform:none!important}
  .hero-scene .scene-day img,.scene-stars i,.scene-glow i,.scene-smoke i{animation:none}
  .hero-scene.scene-ready .scene-night,.hero-scene.scene-ready .scene-stars,.hero-scene.scene-ready .scene-glow,.hero-scene.scene-ready .scene-smoke,.hero-scene,.theme-item{transition:none}
}
.no-motion .scene-stars i,.no-motion .scene-glow i,.no-motion .scene-smoke i,.no-motion .hero-scene .scene-day img{animation:none}
@media print{.theme-row,.scene-toggle,.scene-night,.scene-stars,.scene-glow,.scene-smoke{display:none!important}}
