:root{
  --bg:#071017;
  --panel:#101b24;
  --panel-soft:#13212c;
  --text:#f5f7f8;
  --muted:#9aabb5;
  --line:rgba(255,255,255,.11);
  --accent:#cfff4f;
  --accent-soft:rgba(207,255,79,.16);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 12% 4%,rgba(113,218,255,.09),transparent 25%),
    radial-gradient(circle at 86% 9%,rgba(207,255,79,.08),transparent 23%),
    var(--bg);
  color:var(--text);
  font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;
}
button,a{font:inherit}
button{color:inherit}
.shell{width:min(1180px,calc(100% - 32px));margin:auto}
.is-hidden{opacity:0!important;pointer-events:none!important;position:absolute!important}
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(7,16,23,.76);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.12em}
.brand-mark{
  width:36px;height:36px;display:grid;place-items:center;
  color:var(--bg);background:var(--accent);font-size:12px;font-weight:900;
  clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);
}
.global-switch{display:flex;padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035)}
.global-lang{border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:999px;cursor:pointer}
.global-lang.active{background:var(--accent);color:var(--bg);font-weight:900}
.hero{min-height:720px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:54px;padding-top:60px;padding-bottom:60px}
.eyebrow,.section-index{color:var(--accent);font-size:12px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
h1{font-size:clamp(56px,7.6vw,106px);line-height:.92;letter-spacing:-.06em;margin:18px 0 28px}
.hero-lead{max-width:620px;color:#b6c2c9;font-size:17px;line-height:1.95}
.primary-cta,.secondary-cta{
  display:inline-flex;align-items:center;justify-content:space-between;gap:28px;
  margin-top:24px;border-radius:999px;padding:16px 20px;border:1px solid var(--line);
  background:var(--accent);color:var(--bg);font-weight:850;text-decoration:none;cursor:pointer;
}
.hero-visual{height:480px;position:relative}
.hex{
  position:absolute;display:grid;place-items:center;
  clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.015));
  animation:float 6s ease-in-out infinite;
}
.hex-a{width:230px;height:200px;right:5%;top:6%;opacity:.45}
.hex-b{width:180px;height:156px;left:8%;bottom:8%;animation-delay:-1.8s;opacity:.35}
.hex-c{width:135px;height:117px;right:2%;bottom:2%;animation-delay:-3s;opacity:.28}
.hex.core{width:290px;height:251px;left:18%;top:22%;background:var(--accent-soft);box-shadow:0 0 80px rgba(207,255,79,.12)}
.hex.core span{font-size:70px;font-weight:900;letter-spacing:-.08em}
@keyframes float{50%{transform:translateY(-12px) rotate(2deg)}}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;padding:70px 0 36px;border-top:1px solid var(--line)}
.intro h2,.store-content h2{font-size:clamp(38px,5vw,72px);line-height:1.04;letter-spacing:-.05em;margin:14px 0}
.intro p,.store-content p{color:var(--muted);line-height:1.9}
.story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:28px 0 100px}
.story-card{
  grid-column:span 4;min-height:390px;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,255,255,.048),rgba(255,255,255,.016)),var(--panel);
  padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.story-card:hover{transform:translateY(-4px);border-color:rgba(207,255,79,.45)}
.story-card[data-current-lang="en"]{background:linear-gradient(145deg,rgba(95,190,255,.09),rgba(255,255,255,.015)),var(--panel-soft)}
.story-card.featured{grid-column:span 8;min-height:460px}
.story-card.wide{grid-column:span 8}
.story-top,.story-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.story-top>span{color:var(--muted);font-size:12px;letter-spacing:.18em}
.card-lang{
  min-width:62px;border:0;border-radius:999px;background:var(--accent);color:var(--bg);
  font-weight:900;padding:12px 14px;cursor:pointer;touch-action:manipulation;
}
.card-lang:active{transform:scale(.94)}
.story-body{position:relative;min-height:210px;margin-top:30px}
.card-copy{transition:opacity .28s ease,transform .28s ease,filter .28s ease}
.card-copy.is-hidden{transform:translateY(9px);filter:blur(3px)}
.card-copy h3{font-size:clamp(29px,4vw,52px);line-height:1.05;letter-spacing:-.045em;margin:0 0 20px}
.card-copy p{color:#b4c0c8;line-height:1.85;margin:0;max-width:730px}
.story-foot{border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:12px}
.story-foot span:last-child{color:var(--accent);font-size:18px}
.store-preview{display:grid;grid-template-columns:1fr 1fr;min-height:560px;border:1px solid var(--line);border-radius:32px;overflow:hidden;margin-bottom:100px;background:var(--panel)}
.store-image{
  min-height:460px;position:relative;
  background:
    linear-gradient(180deg,transparent,rgba(7,16,23,.86)),
    radial-gradient(circle at 30% 25%,rgba(207,255,79,.3),transparent 18%),
    linear-gradient(135deg,#1e3a48,#0b151c 60%);
}
.store-image::before,.store-image::after{
  content:"";position:absolute;clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);
  border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025)
}
.store-image::before{width:260px;height:225px;left:15%;top:18%}
.store-image::after{width:170px;height:147px;right:10%;bottom:12%}
.image-label{position:absolute;left:26px;bottom:24px;color:var(--accent);font-size:12px;letter-spacing:.18em;font-weight:850}
.store-content{padding:48px;display:flex;flex-direction:column;justify-content:center}
.secondary-cta{width:max-content;background:transparent;color:var(--text)}
footer{border-top:1px solid var(--line)}
.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:80px}
  .hero-visual{height:330px}
  .hex.core{left:28%;top:10%}
  .intro,.store-preview{grid-template-columns:1fr}
  .story-card,.story-card.featured,.story-card.wide{grid-column:span 6}
}
@media(max-width:620px){
  .shell{width:min(100% - 22px,1180px)}
  .header-inner{height:64px}
  .brand{font-size:13px}
  .brand-mark{width:31px;height:31px}
  .global-lang{padding:8px 11px}
  .hero{padding-top:48px;gap:24px}
  h1{font-size:51px}
  .hero-lead{font-size:15px}
  .hero-visual{height:270px}
  .hex.core{width:230px;height:199px;left:18%}
  .hex.core span{font-size:56px}
  .hex-a{width:150px;height:130px}
  .hex-b{width:125px;height:108px}
  .intro{gap:18px;padding-top:56px}
  .story-grid{gap:14px}
  .story-card,.story-card.featured,.story-card.wide{grid-column:1/-1;min-height:360px;padding:22px}
  .story-body{min-height:200px}
  .store-content{padding:28px}
  .footer-inner{flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
