:root{
  --bg1:#170b2e; --bg2:#3a1c66; --bg3:#5b2a86;
  --card:rgba(255,255,255,.07); --cardline:rgba(255,255,255,.14);
  --txt:#f4eefc; --sub:#cdbcf0; --mut:#a68fd6;
  --acc1:#ffb35c; --acc2:#ff5c8a; --acc3:#8a6bff;
  --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans SC","Noto Sans JP",sans-serif;
  color:var(--txt); line-height:1.75; min-height:100vh;
  background:
    radial-gradient(900px 500px at 85% -5%, rgba(255,92,138,.28), transparent 60%),
    radial-gradient(800px 600px at -10% 20%, rgba(255,179,92,.18), transparent 55%),
    radial-gradient(1000px 700px at 50% 110%, rgba(138,107,255,.25), transparent 60%),
    linear-gradient(160deg, var(--bg1), var(--bg2) 55%, var(--bg3));
  background-attachment:fixed;
}
a{color:#ffd9a8;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
header.site{position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);background:rgba(23,11,46,.55);border-bottom:1px solid var(--cardline)}
header.site .wrap{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:var(--txt)}
.brand img{width:34px;height:34px;border-radius:9px}
nav.main{margin-left:auto;display:flex;gap:18px;font-size:15px}
nav.main a{color:var(--sub)}
.langs{display:flex;gap:6px;margin-left:10px}
.langs a{padding:2px 10px;border:1px solid var(--cardline);border-radius:999px;color:var(--sub);font-size:13px}
.langs a.on{background:rgba(255,255,255,.16);color:#fff}
.hero{padding:72px 0 30px;text-align:center}
.hero img.icon{width:118px;height:118px;border-radius:28px;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.hero h1{font-size:52px;letter-spacing:.06em;margin-top:20px}
.hero .slogan{font-size:26px;font-weight:600;margin-top:6px;background:linear-gradient(90deg,var(--acc1),var(--acc2),var(--acc3));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{color:var(--sub);max-width:640px;margin:16px auto 0;font-size:17px}
.cta{margin-top:26px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:11px 22px;border-radius:999px;font-weight:600;border:1px solid var(--cardline);color:var(--txt);background:rgba(255,255,255,.08)}
.btn.primary{background:linear-gradient(90deg,var(--acc1),var(--acc2));border:none;color:#2a1030}
.btn:hover{text-decoration:none;filter:brightness(1.07)}
.shots{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:38px 0 6px}
.shots figure{width:250px}
.shots img{width:100%;border-radius:26px;border:1px solid var(--cardline);box-shadow:0 22px 50px rgba(0,0,0,.5)}
.shots figcaption{text-align:center;color:var(--mut);font-size:14px;margin-top:8px}
section{padding:44px 0 6px}
h2.sec{font-size:27px;margin-bottom:8px}
p.lead{color:var(--sub);max-width:760px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:20px}
.card{background:var(--card);border:1px solid var(--cardline);border-radius:var(--radius);padding:20px 22px;backdrop-filter:blur(8px)}
.card h3{font-size:18px;margin-bottom:6px}
.card p{color:var(--sub);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.chip{padding:7px 15px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid var(--cardline);font-size:15px}
.flora{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;align-items:flex-end}
.flora img{height:110px;width:auto;max-width:45%;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4))}
.stages{color:var(--sub);margin-top:10px;font-size:15px}
.price{background:var(--card);border:1px solid var(--cardline);border-radius:var(--radius);padding:22px 24px;margin-top:20px;color:var(--sub)}
.doc h1{font-size:32px;margin:38px 0 6px}
.doc h2{font-size:20px;margin:26px 0 6px}
.doc p{color:var(--sub);margin:6px 0;max-width:820px}
.doc .meta{color:var(--mut);font-size:14px}
details{background:var(--card);border:1px solid var(--cardline);border-radius:14px;padding:12px 18px;margin-top:10px}
details summary{cursor:pointer;font-weight:600}
details p{color:var(--sub);margin-top:6px;font-size:15px}
footer{margin-top:64px;border-top:1px solid var(--cardline);padding:26px 0 40px;color:var(--mut);font-size:14px}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
footer nav{display:flex;gap:16px;margin-left:auto}
footer a{color:var(--sub)}
.note{color:var(--mut);font-size:14px;margin-top:10px}
@media(max-width:640px){.hero h1{font-size:38px}.hero .slogan{font-size:21px}nav.main{display:none}}
