body.welcome-open{overflow:hidden;overscroll-behavior:none}
.mobile-welcome{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;color:#f4f7f1;background:#02110d;overscroll-behavior:none}
.mobile-welcome::backdrop{background:#02110d}
.welcome-canvas{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 45% 25%,#08624761,transparent 55%),linear-gradient(180deg,#011b14aa,#010a08df),url('assets/welcome-bamboo.svg') center/cover}
.welcome-canvas::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,#010705 0%,#010705bf 7%,transparent 23%)}
.welcome-brand{position:absolute;top:calc(22px + env(safe-area-inset-top,0px));left:26px;display:flex;align-items:center;gap:12px;z-index:5;color:#fff}
.welcome-brand>svg{width:31px;height:31px}.welcome-brand strong{font-size:21px;letter-spacing:-.5px}
.welcome-search{position:absolute;right:24px;top:calc(17px + env(safe-area-inset-top,0px));display:grid;place-items:center;width:44px;height:44px;padding:11px;border-radius:50%;border:1px solid #ffffff30;color:#e1eee7;background:#19342cc7;backdrop-filter:blur(10px);z-index:5}
.welcome-search svg{width:100%;height:100%}
.welcome-title{position:absolute;top:13%;left:25px;z-index:2;width:64%}
.welcome-title h1{font-size:clamp(30px,9.2vw,43px);line-height:1.22;letter-spacing:-1px;font-weight:750;color:#f5f5ee;margin:0 0 13px;text-shadow:0 3px 14px #00100bbb}
.welcome-title p{font-size:clamp(17px,5vw,22px);line-height:1.4;color:#b5c5b7;margin:0}
.welcome-art{position:absolute;inset:0;z-index:1;pointer-events:none}
.welcome-story{position:absolute;overflow:hidden;border:1px solid #ffffff38;border-radius:22px;background:#10221c;box-shadow:0 10px 26px #0006;isolation:isolate}
.welcome-story img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.welcome-story::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#09100fe8,transparent 85%);z-index:1}
.welcome-story-1{width:50%;height:41%;right:-10%;top:12%;transform:rotate(13deg)}
.welcome-story-2{width:56%;height:40%;left:12%;top:34%;transform:rotate(-12deg);z-index:2}
.welcome-story-3{width:55%;height:39%;right:-10%;top:52%;transform:rotate(13deg);z-index:3}
.welcome-story-copy{position:absolute;inset:auto 12px 15px;z-index:2;color:#f5f2ee}
.welcome-story-copy strong{font-size:clamp(13px,4.1vw,19px);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-shadow:0 2px 5px #000b}
.welcome-story-copy>span{display:inline-block;margin-top:7px;border:1px solid #ffffff1a;border-radius:10px;padding:3px 8px;font-size:12px;color:#e0dfd6;background:#e6f1df1a;backdrop-filter:blur(7px)}
.welcome-spine{position:absolute;left:14px;top:48%;z-index:4;display:grid;justify-items:center;gap:6px}
.welcome-spine i{width:4px;height:4px;background:#d8ead458;border-radius:4px}.welcome-spine i:first-child{height:28px;background:#e6eee1;box-shadow:0 0 7px #93dfb95e}
.welcome-note{position:absolute;left:23px;bottom:13%;z-index:4;color:#a7b7a5;font-size:clamp(12px,3.4vw,16px);font-style:italic;line-height:1.6;margin:0;text-shadow:0 2px 6px #000}
.welcome-enter{position:absolute;z-index:5;left:21px;right:21px;bottom:calc(19px + env(safe-area-inset-bottom,0px));height:61px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 6px 5px 5px;border:1px solid #b8c2af66;border-radius:40px;background:linear-gradient(110deg,#101a16e6,#0b0f0de6);box-shadow:inset 0 1px 0 #ffffff0b,0 8px 25px #0007;color:#f7f4f9;font-size:17px;font-weight:600;backdrop-filter:blur(14px)}
.welcome-book-icon,.welcome-enter-arrow{display:grid;place-items:center;width:49px;height:49px;flex-shrink:0;border:1px solid #ffffff35;border-radius:50%;background:#ffffff06}.welcome-book-icon svg{width:25px;height:25px}
.welcome-enter-arrow{background:linear-gradient(135deg,#ad57ff,#7628ff);border-color:#c48cff99;box-shadow:0 0 18px #8438ff4a}.welcome-enter-arrow svg{width:29px;height:29px}
.welcome-enter:focus-visible{outline:2px solid #d3c1ed;outline-offset:3px}
@keyframes welcome-exit{to{transform:translateX(-100%);opacity:.7}}
@keyframes welcome-reveal{from{transform:translateX(45px);opacity:.5}to{transform:translateX(0);opacity:1}}
.mobile-welcome.is-leaving{animation:welcome-exit .45s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
body.welcome-revealing #main{animation:welcome-reveal .45s cubic-bezier(.4,0,.2,1) both}
@media(max-height:650px){.welcome-title{top:14%}.welcome-title h1{font-size:31px;margin-bottom:6px}.welcome-title p{font-size:18px}.welcome-brand{top:15px}.welcome-search{top:10px}.welcome-note{font-size:13px;bottom:15%}.welcome-enter{height:51px;bottom:12px}.welcome-book-icon,.welcome-enter-arrow{width:41px;height:41px}.welcome-story-copy{bottom:9px}.welcome-story-copy strong{font-size:15px}}
@media(max-width:760px){
 .catalog-site .catalog-hero{min-height:0;margin-top:0;background:#080f0e}
 .catalog-site .catalog-hero .hero-inner{position:relative;min-height:max(630px,calc(100svh - 70px));display:flex;flex-direction:column;justify-content:flex-end;gap:0;padding:320px 19px 50px}
 .catalog-site .catalog-hero .hero-cover{position:absolute;inset:0;width:100%;max-width:none;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;z-index:0}
 .catalog-site .catalog-hero .hero-cover>img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;border-radius:0;filter:none}
 .catalog-site .catalog-hero .hero-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000000a 18%,#080f0e08 35%,#080f0e9c 62%,#080f0ef2 83%,#080f0e 100%);pointer-events:none}
 .catalog-site .catalog-hero:after{display:none}
 .catalog-site .catalog-hero .hero-copy{position:relative;z-index:1;width:100%;text-shadow:0 2px 6px #0008}
 .catalog-site .catalog-hero .hero-copy h1{font-size:26px;line-height:1.38;margin-top:10px}
 .catalog-site .catalog-hero .hero-copy>p{font-size:15px;color:#dce1dd;margin-top:10px}
 .catalog-site .catalog-hero .slider-arrow{z-index:3;top:32%;width:35px;height:35px;background:#111c19b3;border-color:#ffffff50;backdrop-filter:blur(8px)}
 .catalog-site .catalog-hero .slider-arrow.prev{left:12px}.catalog-site .catalog-hero .slider-arrow.next{right:12px}
 .catalog-site .catalog-hero>.slider-dots{z-index:3;bottom:15px}
}
@media(prefers-reduced-motion:reduce){.mobile-welcome.is-leaving,body.welcome-revealing #main{animation:none!important}}
