/* Homepage refinement; loaded after legacy styles. */
:root{--purple:#6842c2;--muted:#655974;--line:#e6dff0;--section-space:72px}
::selection{background:#e3d6ff;color:#2d2350}
html{scrollbar-color:#b6a4ce #f7f4fc}body{background:#fff;text-underline-offset:4px}
input,textarea{caret-color:var(--purple)}
.wrap{max-width:1200px;padding-inline:32px}header{background:#fff;backdrop-filter:none}
.nav{gap:16px}.menu{gap:12px;font-size:14px}
.btn{min-height:48px;border-radius:12px;white-space:normal;line-height:1.5;transition:background .2s,color .2s}
.btn-primary{background:var(--purple);box-shadow:none}.btn-primary:hover{background:#5532a6;transform:none;box-shadow:none}
.btn-ghost{color:var(--purple);border:1px solid var(--line)}.nav-toggle{min-width:44px;min-height:44px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #6842c2;outline-offset:4px}
.hero{padding:36px 0 28px;background:#f6f0fc}.hero-in{grid-template-columns:minmax(0,1fr) 260px;gap:40px;text-align:left}
h1.hero-title{font-size:clamp(32px,3.6vw,48px);line-height:1.2;letter-spacing:-.02em}
h1.hero-title .g{background:none;color:var(--purple);-webkit-text-fill-color:currentColor}.hero-title br{display:none}
.hero-sub{font-size:16px;max-width:660px;margin:16px 0;line-height:1.8}
.hero-highlights{gap:8px 20px;margin:16px 0;justify-content:flex-start}
.hero-highlights span{padding:0;border:0;background:none;box-shadow:none;font-size:13px;border-radius:0;color:#655974}
.hero-highlights span::before{width:4px;height:4px;background:#6842c2;box-shadow:none}
.hero-cta{gap:12px;justify-content:flex-start}.hero-art{min-height:0;margin:0;align-self:center}
.hero-visual{width:100%;max-width:260px;aspect-ratio:1}.hero-mascot{inset:0;width:100%;filter:none}
.ip-banner{padding:36px 0 28px;background:#fff}.ip-banner-heading{margin-bottom:20px;align-items:center}
.ip-banner-heading h2{font-size:28px;line-height:1.35}.ip-banner-heading>a{font-size:14px;color:var(--purple)}
.ip-carousel{border:1px solid var(--line);border-radius:16px;box-shadow:none}
.ip-slide{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);background:#f6f0fc}
.ip-slide-copy{padding:28px}.ip-slide-copy h3{margin:0 0 12px;font-size:30px}.ip-slide-copy p{margin-bottom:20px}
.ip-slide-note{font-size:12px;color:#655974}.ip-slide-art{min-height:0;aspect-ratio:16/9}
.ip-carousel-toolbar{padding:8px 16px;gap:12px}.ip-carousel-pickers{justify-content:flex-start}.ip-carousel-picker{font-size:13px}.ip-carousel-picker span{display:none}
.wrap.qr{margin:20px auto 0}.qr-card{background:#f6f0fc;color:#2d2350;border:0;box-shadow:none;border-radius:16px;padding:28px 32px}
.qr-text p{opacity:1}.qr-search{background:none;border:0;padding:0;font-weight:400;color:#655974}
.btn-copy{background:var(--purple);color:#fff;border:0;min-height:48px;padding:12px 20px}.entry-status{color:#514267}
section.blk,.steps,.trust{padding:var(--section-space) 0}.sec-head{text-align:left;margin-bottom:28px}.sec-head .en{display:none}
.sec-head h2{font-size:30px;line-height:1.4;margin:0}.sec-head p{margin:10px 0 0;max-width:65ch;font-size:15px;line-height:1.8}
.trust{background:#faf8fd}.trust-grid{gap:28px}.trust-card{padding:0;border:0;border-radius:0;background:transparent;min-height:0}
.trust-card .ico{background:none;width:28px;height:28px;margin-bottom:12px}.trust-card h4{font-size:17px}
.step-grid{gap:24px}.step-card{border:0;border-radius:0;box-shadow:none;overflow:visible}.step-card:hover{transform:none;box-shadow:none}
.step-visual{border-radius:12px;aspect-ratio:4/3}.step-num{width:36px;height:36px;left:12px;top:12px;border:0;border-radius:8px;backdrop-filter:none;background:#36234f}
.step-copy{padding:18px 0 0}.step-copy .ico{display:none}.step-copy h4{font-size:19px}
#play{background:#faf8fd}.feat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;overflow:visible;padding:0;scroll-snap-type:none}
.feat{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px 12px;padding:24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;min-width:0}
.feat::before{display:none}.feat:hover{transform:none;box-shadow:none}
.feat .ico{grid-row:1/3;width:28px;height:28px;background:none;border:0;box-shadow:none;border-radius:0;margin:0}
.feat h4{margin:0;font-size:17px;line-height:1.6}.feat p{grid-column:2;font-size:14px;line-height:1.8}
.collect-story{padding:48px 0 64px;background:#faf8fd}.collect-story-card{border:0;border-radius:16px;box-shadow:none}
.collect-story-visual{min-height:300px}.collect-story-copy{padding:32px}.collect-story-copy h2{font-size:30px;margin:0 0 20px}
.collect-story-copy .btn{color:#53339b}.story-points{gap:8px;margin-bottom:24px}
#ip{background:#fff!important}.ip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ip-card{aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;background:#f6f0fc;overflow:visible}
.ip-card img{height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:12px}.ip-card:hover{transform:none;box-shadow:none}.ip-card:hover img{transform:none}
.ip-card-shade,.ip-card.no-image .ip-card-shade{position:static;padding:14px 0;background:#fff;color:#2d2350}
.ip-card h3{font-size:17px}.ip-card h3 a{display:flex;align-items:center;min-height:44px}.ip-card h3 a:hover{color:var(--purple);text-decoration:underline}
.ip-card-art{height:auto;aspect-ratio:16/10;border-radius:12px;font-size:28px;color:#6842c2}.ip-note{text-align:left;line-height:1.8}
.calendar-grid{gap:24px}.calendar-card{border:1px solid var(--line);border-radius:12px;box-shadow:none}
.calendar-price{color:#9a3565}.calendar-badge.future{background:#6842c2}.calendar-badge.today{background:#895013}.calendar-foot{justify-content:space-between;text-align:left}
#about{background:#f6f0fc!important}.about-in{max-width:none;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:20px 40px}
.about-lead{grid-column:1/-1;max-width:32ch;margin:0;font-size:26px;line-height:1.6}.about-text,.about-text:last-of-type{margin:0;font-size:15px}
.about-vals{grid-column:1/-1;margin-top:12px;gap:24px}.aval{border:0;border-top:1px solid #d5c8e6;border-radius:0;padding:24px 0 0;background:none}.aval .ai{justify-content:flex-start}
.biz-grid{gap:32px}.biz-card{border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0}.biz-card h4{font-size:21px}.biz-contact-inline{border-radius:12px;box-shadow:none}
#faq{background:#faf8fd!important}.faq-list{max-width:none}.faq-item{border-radius:0;border:0;border-bottom:1px solid var(--line);background:transparent}.faq-item summary{min-height:56px}
.foot-bottom{opacity:1;color:#c9bfea;line-height:1.9}.foot-links a{opacity:1;min-height:44px;display:flex;align-items:center;margin:0}
@media(max-width:1080px){
 .hero-in{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.menu{max-height:calc(100dvh - 68px);overflow-y:auto}
 .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ip-carousel-toolbar{justify-content:space-between}.ip-carousel-pickers{flex:1 1 100%}.ip-slide-copy h3{font-size:26px}
}
@media(max-width:768px){
 :root{--section-space:48px}.wrap{padding-inline:20px}.nav{gap:8px;height:64px}.logo{font-size:19px;gap:8px}.logo .mark{width:32px;height:32px}
 .nav-cta{margin-left:auto}.nav-cta .btn{padding:8px 12px;min-height:44px}.menu{top:64px;max-height:calc(100dvh - 64px)}
 .hero{padding:28px 0}.hero-in{grid-template-columns:minmax(0,1fr) 112px;gap:16px;text-align:left;align-items:start}.hero-in>div:first-child{display:contents}
 h1.hero-title{grid-column:1;grid-row:1;font-size:30px;align-self:center;line-height:1.3}.hero-title br{display:block}
 .hero-art{grid-column:2;grid-row:1;width:112px;align-self:center}.hero-visual{width:112px;max-width:none}
 .hero-sub{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.8;margin:0;max-width:none}
 .hero-highlights{grid-column:1/-1;grid-row:3;margin:0;gap:8px 14px;justify-content:flex-start}.hero-highlights span{flex:0 1 auto;justify-content:flex-start;font-size:12px}
 .hero-cta{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:1fr 1fr;gap:12px}.hero-cta .btn{padding:12px 8px;font-size:14px;min-height:48px}
 .ip-banner{padding:28px 0 12px}.ip-banner-heading{flex-direction:row;align-items:center;gap:12px;margin-bottom:16px}.ip-banner-heading h2{font-size:22px;max-width:12em}
 .ip-banner-heading>a{font-size:12px;min-height:44px;align-self:center}.ip-slide{grid-template-columns:1fr}.ip-slide-art{grid-row:1;aspect-ratio:16/9}
 .ip-slide-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:8px 12px}.ip-slide-copy h3{font-size:20px;line-height:1.4;min-height:0;margin:0;grid-row:1;grid-column:1}
 .ip-slide-copy p{display:none}.ip-slide-copy .btn{grid-column:2;grid-row:1/3;font-size:12px;padding:10px 12px;min-height:44px}.ip-slide-note{grid-column:1;grid-row:2;margin:0;font-size:11px}
 .ip-carousel-toolbar{padding:8px 12px;gap:4px}.ip-carousel-pickers{justify-content:flex-start}.ip-carousel-actions{margin-left:auto}
 .wrap.qr{margin:24px auto 0}.sec-head{margin-bottom:24px}.sec-head h2{font-size:24px}.sec-head p{font-size:14px;line-height:1.8}
 .trust-grid{gap:24px 20px}.trust-card h4{font-size:16px}.trust-card p{font-size:13px;line-height:1.8}
 .step-grid{grid-template-columns:1fr;gap:24px}.step-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center}.step-visual{aspect-ratio:1}
 .step-copy{padding:0}.step-copy h4{font-size:17px}.step-copy p{font-size:13px;line-height:1.8}.step-num{width:26px;height:26px;left:6px;top:6px;font-size:12px;border-radius:6px}
 .feat-grid{grid-template-columns:1fr;gap:0;display:grid;overflow:visible;padding:0;margin:0}.feat{padding:18px 0;width:auto;min-height:0;flex:none;align-content:start}
 .collect-story{padding:0 0 48px}.collect-story-card{grid-template-columns:1fr}.collect-story-visual{min-height:0;aspect-ratio:16/10}.collect-story-visual::after{display:none}
 .collect-story-copy{padding:24px}.collect-story-copy h2{font-size:26px}.story-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.story-point{flex-direction:column;gap:6px;font-size:12px;align-items:flex-start}
 .ip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ip-card h3{font-size:15px}.ip-card-shade{padding:6px 0}
 .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-info{padding:12px}.calendar-name{font-size:14px;min-height:0}.calendar-meta{flex-wrap:wrap}.calendar-foot{gap:12px;font-size:12px}
 .about-in{grid-template-columns:1fr;gap:20px}.about-lead{font-size:21px;max-width:none}.about-vals{grid-template-columns:1fr;gap:20px}
 .aval{padding:16px 0 0;display:grid;grid-template-columns:32px 1fr;gap:4px 12px}.aval .ai{grid-row:1/3;margin:0}.aval b{margin:0}.aval span{grid-column:2}
 .biz-grid{grid-template-columns:1fr;gap:4px}.biz-card{padding:24px 0}.biz-card h4{font-size:19px}.biz-card p,.biz-card .contact{font-size:14px;line-height:1.8}
 .foot-top{gap:28px}.foot-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}.foot-links a{font-size:13px}.foot-bottom{font-size:12px}.mobile-cta .btn{min-height:44px}
}
@media(max-width:360px){
 .wrap{padding-inline:16px}.logo{font-size:17px}.hero-in{grid-template-columns:minmax(0,1fr) 88px;gap:14px}.hero-art,.hero-visual{width:88px}h1.hero-title{font-size:27px}
 .hero-highlights{gap:6px 10px}.step-card{grid-template-columns:88px minmax(0,1fr);gap:12px}.ip-banner-heading h2{font-size:20px}
 .ip-slide-copy{gap:8px;padding:12px}.ip-slide-copy h3{font-size:18px}.ip-slide-note{font-size:10px}.ip-slide-copy .btn{padding:8px;font-size:11px}.calendar-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.step-visual img,.ip-card img{transition:none}}
