
:root{
  --ink:#0d2b2e;--mute:#4d6366;--teal:#0f8b8d;--teal-d:#0a5c5f;--mint:#e7f5f4;--line:#d5e5e5;
  --cream:#fff4e0;--orange:#c55600;--orange-h:#a84800;--night:#1b1f5e;--dusk:#6a4a98;--glow:#f0995a;--bg:#fff;
  --r:18px;--r-lg:28px;
  --sh1:0 1px 2px rgba(10,60,62,.08),0 4px 12px rgba(10,60,62,.07);
  --sh2:0 2px 4px rgba(10,60,62,.08),0 12px 28px rgba(10,60,62,.14),0 32px 64px rgba(10,60,62,.10);
  --font:ui-rounded,"SF Pro Rounded","Avenir Next","Nunito","Segoe UI",system-ui,sans-serif;
  --head:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Avenir Next Rounded","Nunito","Trebuchet MS",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:500 18px/1.6 var(--font);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}[hidden]{display:none!important}a{color:var(--teal-d)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:10px}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
h1,h2,h3,.price,.brand,.big{font-family:var(--head);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin:0 0 .45em;color:var(--ink)}
h1{font-size:clamp(38px,5.6vw,64px)}h2{font-size:clamp(28px,3.6vw,40px)}h3{font-size:21px;letter-spacing:-.01em}
p{margin:0 0 1em;max-width:62ch}.lead{font-size:clamp(18px,2vw,21px);color:var(--mute)}.small{font-size:15px;color:var(--mute)}
/* header */
header.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
header .bar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;color:var(--teal-d);text-decoration:none;letter-spacing:-.02em}.brand img{width:46px;height:auto}
nav.main{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
nav.main>a{padding:10px 12px;border-radius:12px;text-decoration:none;font-weight:700;color:var(--mute);font-size:16.5px}nav.main>a:hover{color:var(--ink);background:var(--mint)}
details.acts{position:relative}
details.acts summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--teal);color:#fff;font-weight:800;font-size:16.5px;margin-right:6px;transition:background .15s}
details.acts summary::-webkit-details-marker{display:none}details.acts summary:hover,details.acts[open] summary{background:var(--teal-d)}
details.acts summary svg{transition:transform .2s}details.acts[open] summary svg{transform:rotate(180deg)}
.panel{position:absolute;right:0;top:calc(100% + 12px);width:min(620px,92vw);background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh2);padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line)}
.panel a{display:block;border-radius:20px;padding:16px;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s}
.panel a:hover{transform:translateY(-3px);box-shadow:var(--sh1)}
.panel .p-stack{background:var(--cream)}.panel .p-core{background:linear-gradient(160deg,var(--night),var(--dusk));color:#fff}
.panel b{display:block;font-size:19px;letter-spacing:-.01em}.panel span{display:block;font-size:14.5px;line-height:1.4;margin-top:4px;opacity:.9}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:999px;font:800 18px/1 var(--font);text-decoration:none;border:3px solid transparent;cursor:pointer;text-align:center;transition:transform .15s,background .15s,box-shadow .15s}
.btn:active{transform:translateY(1px)}
.btn-buy{background:var(--orange);color:#fff;box-shadow:0 6px 16px rgba(197,86,0,.28)}.btn-buy:hover{background:var(--orange-h);transform:translateY(-1px)}
.btn-line{background:#fff;color:var(--teal-d);border-color:var(--teal)}.btn-line:hover{background:var(--mint)}
.btn-sm{min-height:42px;padding:0 18px;font-size:15.5px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 16px}
section{padding:84px 0}
/* hero */
.hero{position:relative;overflow:hidden;padding:60px 0 84px;background:radial-gradient(1200px 520px at 85% -10%,var(--mint),transparent 60%),#fff}
.hero .wrap{position:relative;display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}
.rings{position:absolute;right:-90px;top:-70px;width:560px;opacity:.16;pointer-events:none}
.hero h1{margin-bottom:.35em}
.board{background:linear-gradient(180deg,#eef4f4,#d9e6e7);border-radius:26px;padding:14px 14px 0;box-shadow:var(--sh2)}
.board .screen{border-radius:14px;overflow:hidden;background:var(--cream);border:3px solid #fff}
.board .tray{height:34px;margin:0 -14px;display:flex;align-items:center;justify-content:center;gap:10px}
.board .tray i{width:26px;height:9px;border-radius:5px;display:block}
.hero .intro>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.hero .intro>*:nth-child(2){animation-delay:.08s}.hero .intro>*:nth-child(3){animation-delay:.16s}.hero .intro>*:nth-child(4){animation-delay:.24s}
.hero .board{animation:settle .9s cubic-bezier(.2,.7,.2,1) .15s both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes settle{from{opacity:0;transform:translateY(34px) scale(.96)}to{opacity:1;transform:none}}
/* collection tiles */
.worlds{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}
.world{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:430px;border-radius:var(--r-lg);padding:34px;text-decoration:none;color:var(--ink);overflow:hidden;box-shadow:var(--sh1);transition:transform .25s,box-shadow .25s}
.world:hover{transform:translateY(-6px);box-shadow:var(--sh2)}
.world h3{font-size:clamp(28px,3vw,36px);margin:0 0 8px}.world p{margin:0 0 10px}
.world .go{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:17px;margin-top:6px}
.world .go svg{transition:transform .2s}.world:hover .go svg{transform:translateX(5px)}
.w-stack{background:var(--cream)}.w-stack .go{color:var(--teal-d)}
.w-core{background:linear-gradient(165deg,var(--night) 0%,var(--dusk) 58%,var(--glow) 125%);color:#fff}.w-core h3{color:#fff}.w-core .go{color:#fff}
.w-core .price{color:#fff;font-weight:800}.w-stack .price{font-weight:800}
.fan{position:relative;height:170px;margin-top:26px}
.fan img{position:absolute;bottom:0;width:150px;height:150px;object-fit:contain;background:#fff;border-radius:18px;padding:10px;box-shadow:var(--sh1);transition:transform .3s}
.fan img:nth-child(1){left:2%;transform:rotate(-8deg)}.fan img:nth-child(2){left:26%;z-index:2;transform:translateY(-12px)}.fan img:nth-child(3){left:50%;transform:rotate(8deg)}.fan img:nth-child(4){left:72%;transform:rotate(14deg);z-index:0}
.world:hover .fan img:nth-child(1){transform:rotate(-12deg) translateX(-6px)}.world:hover .fan img:nth-child(3){transform:rotate(11deg) translateX(6px)}.world:hover .fan img:nth-child(4){transform:rotate(18deg) translateX(10px)}
.shotframe{margin-top:26px;border-radius:16px;overflow:hidden;border:4px solid rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(0,0,0,.35);transition:transform .3s}.world:hover .shotframe{transform:translateY(-6px) rotate(-1deg)}
/* steps */
.tint{background:var(--mint)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;counter-reset:s}
.step{background:#fff;border-radius:var(--r);padding:26px 26px 28px;box-shadow:var(--sh1);position:relative}
.step:before{counter-increment:s;content:counter(s);display:flex;width:46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:22px;align-items:center;justify-content:center;margin-bottom:14px}
.step h3{margin-bottom:6px}.step p{margin:0;color:var(--mute)}
/* about band */
.band{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
/* faq */
details.q{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:2px 22px;margin:12px 0;transition:border-color .2s,box-shadow .2s}
details.q[open]{border-color:var(--teal);box-shadow:var(--sh1)}
details.q summary{cursor:pointer;font-weight:800;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}details.q summary::-webkit-details-marker{display:none}
details.q summary:after{content:"+";font-size:26px;line-height:1;color:var(--teal);transition:transform .2s}details.q[open] summary:after{transform:rotate(45deg)}
details.q p{color:var(--mute)}
/* collection banner */
.banner{padding:56px 0 60px;color:var(--ink)}
.banner.b-stack{background:linear-gradient(180deg,var(--cream),#fff)}
.banner.b-core{background:linear-gradient(165deg,var(--night),var(--dusk) 70%,#8a5a98);color:#fff}.banner.b-core h1,.banner.b-core .lead,.banner.b-core a{color:#fff}.banner.b-core .crumbs a{color:#e6defa}
.banner h1{font-size:clamp(34px,5vw,54px)}
.crumbs{font-size:15px;padding:18px 0 0;color:var(--mute)}.crumbs a{color:var(--mute)}
.chip{display:inline-block;font-size:14px;font-weight:700;padding:3px 11px;border-radius:999px;background:var(--mint);color:var(--teal-d)}
/* product grid */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:6px}
.card{background:#fff;border:2px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh1);transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:var(--teal)}
.card .pic{background:#fff;height:128px;display:flex;align-items:center;justify-content:center;padding:10px}.card .pic img{max-height:100%;width:auto}
.card .body{padding:4px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.card h3{margin:0;font-size:18px}
.card .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px;gap:8px}.price{font-size:21px;font-weight:800}
.card.soon{background:transparent;border:2px dashed var(--line);box-shadow:none}.card.soon:hover{transform:none;box-shadow:none;border-color:var(--line)}
.card.soon .pic{color:var(--mute);font-weight:700;font-size:15px}
.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:center;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh2);padding:22px;border:1px solid var(--line)}
.feature img{border-radius:16px}
.core-soon{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.bundle{margin-top:34px;background:linear-gradient(135deg,var(--teal-d),var(--teal));color:#fff;border-radius:var(--r-lg);padding:32px 36px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:var(--sh2)}
.bundle h3,.bundle p{color:#fff;margin:0 0 6px}.bundle .big{font-size:48px;font-weight:800;line-height:1;letter-spacing:-.03em}
/* product page */
.pwrap{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:start;padding:28px 0 20px}
.media .main{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh2);border:5px solid #fff;outline:1px solid var(--line);background:var(--cream)}
.media .thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.media .thumbs button{padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;background:none;opacity:.75;transition:opacity .15s,border-color .15s}
.media .thumbs button[aria-pressed="true"],.media .thumbs button:hover{opacity:1;border-color:var(--teal)}
.buybox{position:sticky;top:96px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh2);padding:30px;border:1px solid var(--line)}
.buybox h1{font-size:clamp(28px,3.2vw,38px)}
.buybox .pr{display:flex;align-items:baseline;gap:10px;margin:6px 0 4px}.buybox .pr b{font-size:44px;letter-spacing:-.03em}
.buybox .btn{width:100%;margin:14px 0 14px}
ul.check{list-style:none;padding:0;margin:0}ul.check li{padding-left:32px;position:relative;margin:.5em 0;color:var(--ink)}
ul.check li:before{content:"";position:absolute;left:0;top:.32em;width:21px;height:21px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat}
ul.check.sm li{font-size:16px;color:var(--mute)}
.inside{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.inside>div{background:#fff;border-radius:var(--r);padding:26px;box-shadow:var(--sh1);border:1px solid var(--line)}.inside h3{color:var(--teal-d);margin-bottom:10px}
.know{background:var(--cream);border-radius:var(--r-lg);padding:30px 34px;display:grid;grid-template-columns:auto 1fr;gap:10px 40px}
.know h2{margin:0;font-size:28px}
.upsell{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--mint);border-radius:var(--r);padding:22px 28px;margin-top:34px}.upsell p{margin:0}
.buybar{display:none}
.peek{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 22px;margin:22px -4px 0;-webkit-overflow-scrolling:touch}
.peek button{flex:0 0 auto;width:210px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 10px 12px;box-shadow:var(--sh1);cursor:pointer;text-align:left;font:inherit;color:var(--ink);transition:transform .2s,box-shadow .2s}
.peek button:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.peek img{width:100%;aspect-ratio:8.5/11;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--line)}
.peek span{display:block;font-weight:700;font-size:15px;margin-top:8px;line-height:1.3}
dialog.lb{border:0;border-radius:var(--r-lg);padding:0;max-width:min(92vw,760px);width:100%;background:#fff;box-shadow:var(--sh2)}
dialog.lb::backdrop{background:rgba(13,43,46,.72)}
dialog.lb .lbbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
dialog.lb .lbbar b{font-size:17px}dialog.lb .lbbtns{display:flex;gap:8px}
dialog.lb .lbbtns button{min-width:44px;min-height:44px;border-radius:999px;border:2px solid var(--teal);background:#fff;color:var(--teal-d);font:800 17px var(--font);cursor:pointer;padding:0 14px}
dialog.lb .lbbtns button:hover{background:var(--mint)}
dialog.lb .lbbody{max-height:78vh;overflow:auto;padding:14px;background:#eef4f4}dialog.lb img{width:100%;height:auto;border-radius:8px;box-shadow:var(--sh1)}
/* simple pages */
.page{padding:56px 0 84px;max-width:760px}.page h2{margin-top:1.6em;font-size:26px}
.notice{background:var(--cream);border:2px solid #f0cf9c;border-radius:var(--r);padding:16px 20px;margin:20px 0}
footer{background:var(--ink);color:#cfe0e0;padding:52px 0 40px;font-size:16px}footer a{color:#fff}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}footer h4{margin:0 0 10px;color:#fff;font-size:16px}footer ul{list-style:none;margin:0;padding:0}footer li{margin:7px 0}
@media(max-width:900px){
  section{padding:56px 0}.hero{padding:34px 0 52px}.hero .wrap,.pwrap,.feature,.band{grid-template-columns:1fr}.hero .wrap{gap:34px}.rings{width:360px;right:-120px}
  .worlds,.steps,.inside,.core-soon{grid-template-columns:1fr}.world{min-height:380px;padding:26px}.fan img{width:118px;height:118px}.grid{grid-template-columns:repeat(2,1fr)}
  .buybox{position:static}.know{grid-template-columns:1fr}footer .cols{grid-template-columns:1fr 1fr}
  .btn{width:100%}.btn-sm{width:auto}.card .btn{width:auto}
  header .bar{padding-top:8px;padding-bottom:8px}.panel{position:fixed;left:12px;right:12px;top:auto;width:auto;grid-template-columns:1fr}
  body.has-buybar{padding-bottom:84px}
  .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(10,60,62,.12);padding:12px 18px;align-items:center;justify-content:space-between;gap:12px}
  .buybar .btn{width:auto;min-height:46px;padding:0 24px;font-size:16.5px}.buybar b{font-size:19px}
}
@media(min-width:901px) and (max-width:1060px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
