/* Compatibility stylesheet for Chub's eight BEM locale pages only.
   Loaded after the unchanged shared CSS; no effect on the other 52 pages. */
:root { --legacy-bg:#0f0d19; --legacy-panel:#211b34; --legacy-text:#f9f5ff; --legacy-muted:#c5b9da; --legacy-border:rgba(204,178,248,.22); --legacy-purple:#9569ed; }
html { scroll-behavior:smooth; overflow-x:clip; }
body { background:var(--legacy-bg); color:var(--legacy-text); }
body * { box-sizing:border-box; }
.container { width:min(100%,1200px); margin-inline:auto; padding-inline:clamp(16px,3vw,30px); }
.nav { position:sticky; top:0; z-index:100; background:rgba(16,13,26,.97); border-bottom:1px solid var(--legacy-border); backdrop-filter:blur(12px); }
.nav__inner { display:flex; align-items:center; gap:24px; min-height:76px; }
.nav__logo { display:inline-flex; align-items:center; gap:5px; color:#fff; font-size:1.25rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.nav__logo-accent,.gradient-text { color:#b99aff; }
.nav__links { display:flex; flex:1; align-items:center; justify-content:center; gap:clamp(12px,2vw,28px); list-style:none; margin:0; padding:0; }
.nav__links a,.nav__mobile a { color:var(--legacy-text); text-decoration:none; font-weight:650; }
.nav__links a:hover,.nav__mobile a:hover { color:#c6aeff; }
.nav__burger { display:none; width:44px; height:42px; padding:9px; flex:none; border:1px solid var(--legacy-border); border-radius:9px; background:var(--legacy-panel); cursor:pointer; }
.nav__burger span { display:block; height:2px; margin:5px 0; background:#fff; }
.nav__mobile { display:none; }
.btn { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.btn--primary,.btn--nav,.btn--card { background:linear-gradient(100deg,#7658d7,#ad85ed); color:#fff; border:1px solid rgba(229,203,255,.24); box-shadow:0 8px 24px rgba(86,42,150,.26); }
.btn--ghost { background:transparent; color:#fff; border:1px solid var(--legacy-border); box-shadow:none; }
.btn--lg { padding:15px 27px; }
.btn--xl { padding:17px 32px; font-size:1.08rem; }
.btn--full { display:flex; width:100%; }
.nav .btn--nav { margin-left:auto; padding:11px 19px; flex:none; }
.hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 55% 0%,#352352 0%,#150f25 50%,var(--legacy-bg) 80%); padding:112px 0 84px; text-align:center; }
.hero__inner { position:relative; z-index:1; }
.hero__bg-orb { position:absolute; pointer-events:none; border-radius:50%; filter:blur(80px); opacity:.3; }
.hero__bg-orb--1 { width:350px; height:350px; left:-90px; top:0; background:#8569dd; }
.hero__bg-orb--2 { width:310px; height:310px; right:-90px; bottom:0; background:#a35edb; }
.hero__badge { display:inline-block; padding:8px 16px; border:1px solid var(--legacy-border); border-radius:24px; background:#271d3c; color:#ddc8ff; font-size:.87rem; }
.hero__headline { max-width:900px; margin:25px auto 15px; font-size:clamp(2.5rem,7vw,5.3rem); line-height:1.08; font-weight:900; letter-spacing:-.035em; }
.hero__sub { max-width:760px; margin:0 auto 14px; color:#f1e7ff; font-size:clamp(1.08rem,2vw,1.4rem); }
.hero__desc { max-width:740px; margin:0 auto; color:var(--legacy-muted); font-size:1.05rem; line-height:1.65; }
.hero__actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:14px; margin:32px auto 0; }
.hero__stats { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; margin:44px auto 0; }
.hero__stat { display:flex; flex-direction:column; align-items:center; min-width:110px; }
.hero__stat-num { font-size:1.35rem; font-weight:800; }
.hero__stat-label { color:var(--legacy-muted); font-size:.86rem; }
.proof-bar { background:#1b142c; border-block:1px solid var(--legacy-border); padding:18px 0; }
.proof-bar__inner { display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:13px; text-align:center; color:#dccaf3; }
.proof-bar__sep { width:4px; height:4px; border-radius:50%; background:#a781e6; }
.section { padding:clamp(56px,7vw,96px) 0; background:var(--legacy-bg); }
.section--alt { background:#171125; }
.section__header { max-width:760px; margin:0 auto 35px; text-align:center; }
.section__label { display:block; margin-bottom:9px; color:#bd9bfa; font-weight:750; font-size:.86rem; text-transform:uppercase; letter-spacing:.08em; }
.section__title { margin:0 0 15px; font-size:clamp(2rem,4vw,3.1rem); color:var(--legacy-text); line-height:1.16; }
.section__desc { margin:0; color:var(--legacy-muted); line-height:1.7; }
.section__cta { display:flex; justify-content:center; margin-top:28px; }
.char-grid,.feat-grid,.gallery-grid,.pricing-grid { display:grid; gap:18px; min-width:0; }
.char-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.feat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.char-card,.feat-card,.gallery-card,.pricing-card { min-width:0; overflow:hidden; border:1px solid var(--legacy-border); border-radius:16px; background:var(--legacy-panel); }
.char-card { display:block; text-decoration:none; color:inherit; }
.char-card__body,.feat-card,.pricing-card { padding:20px; }
.char-card__name,.feat-card__title { margin:0 0 9px; color:#fff; font-size:1.17rem; }
.char-card__desc,.feat-card__desc { margin:0; color:var(--legacy-muted); line-height:1.55; }
.char-card__tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.tag { display:inline-block; border-radius:20px; padding:4px 8px; color:#eadcff; background:#403155; font-size:.8rem; }
.character-card__img,.gallery__img { display:block; width:100%; object-fit:cover; aspect-ratio:4/3; }
.feat-card__icon { width:38px; height:38px; margin-bottom:12px; color:#b78fe8; }
.feat-card__icon svg { width:100%; height:100%; }
.characters__subsection { margin-top:40px; }
.characters__subsection-title { margin:0 0 20px; font-size:1.5rem; }
.gallery-card { text-decoration:none; color:inherit; }
.gallery-card--wide { grid-column:span 2; }
.pricing-card { display:flex; flex-direction:column; gap:15px; overflow-wrap:anywhere; }
.pricing-card--featured { border:2px solid #a67ef0; box-shadow:0 12px 28px rgba(132,80,204,.2); }
.pricing-card__header { min-width:0; }
.pricing-card__name { margin:0 0 8px; font-size:1.3rem; }
.pricing-card__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; }
.pricing-card__amount { font-size:2.1rem; font-weight:850; }
.pricing-card__period { color:var(--legacy-muted); }
.pricing-card__features { flex:1; list-style:none; margin:0; padding:0; color:var(--legacy-muted); }
.pricing-card__features li { padding:6px 0; }
.pricing-card__badge { display:inline-block; margin-bottom:9px; background:#7856cf; color:#fff; border-radius:14px; padding:5px 11px; font-size:.82rem; }
.faq-list { max-width:850px; margin:0 auto; display:grid; gap:12px; }
.faq-item { border:1px solid var(--legacy-border); border-radius:12px; background:var(--legacy-panel); overflow:hidden; }
.faq-item__q { display:flex; justify-content:space-between; align-items:center; width:100%; gap:16px; padding:18px 20px; border:0; background:transparent; text-align:left; color:#fff; font:inherit; font-weight:750; cursor:pointer; }
.faq-item__icon { flex:none; font-size:1.4rem; line-height:1; }
.faq-item__a { display:none; padding:0 20px 20px; color:var(--legacy-muted); line-height:1.6; }
.faq-item.is-open .faq-item__a { display:block; }
.cta-section { padding:78px 0; background:linear-gradient(120deg,#32204e,#211238); }
.cta-section__inner { max-width:850px; margin:0 auto; text-align:center; }
.cta-section__title { margin:0 0 12px; color:#fff; font-size:clamp(2rem,4vw,3.2rem); }
.cta-section__desc { margin:0 auto 24px; color:#dfcdf3; }
.cta-section__note { margin:15px 0 0; color:#c8b7da; font-size:.85rem; }
.footer { padding:56px 0 22px; background:#100c1a; border-top:1px solid var(--legacy-border); }
.footer__inner { display:grid; grid-template-columns:1.4fr repeat(3,minmax(0,1fr)); gap:28px; }
.footer__brand,.footer__col { min-width:0; }
.footer__links { list-style:none; margin:10px 0 0; padding:0; }
.footer__links li { margin:9px 0; }
.footer__links a,.footer__bottom a { color:var(--legacy-muted); text-decoration:none; }
.footer__bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:32px; border-top:1px solid var(--legacy-border); padding-top:20px; color:var(--legacy-muted); font-size:.86rem; }
.footer__langs { display:flex; flex-wrap:wrap; gap:8px 14px; }
@media (max-width:960px) {
 .nav__links,.nav .btn--nav { display:none; }
 .nav__burger { display:block; margin-left:auto; }
 .nav__mobile { flex-direction:column; gap:0; border-top:1px solid var(--legacy-border); background:#171022; }
 .nav__mobile a { display:block; padding:12px 24px; }
 /* No-JS: menu remains accessible; JS progressively collapses it. */
 .nav__mobile { display:flex; }
 .nav[data-enhanced="1"] .nav__mobile { display:none; }
 .nav[data-enhanced="1"] .nav__mobile.is-open { display:flex; }
 .char-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .feat-grid,.pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .footer__inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
 .nav__inner { min-height:64px; }
 .hero { padding:72px 0 54px; }
 .hero__actions { flex-direction:column; }
 .hero__actions .btn { width:100%; }
 .hero__stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .char-grid,.feat-grid,.gallery-grid,.pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pricing-grid,.feat-grid { grid-template-columns:1fr; }
 .gallery-card--wide { grid-column:span 2; }
 .footer__inner { grid-template-columns:1fr 1fr; }
 .proof-bar__sep { display:none; }
}
@media (max-width:380px) {
 .hero__bg-orb { display:none; }
 .char-grid,.gallery-grid { grid-template-columns:1fr; }
 .gallery-card--wide { grid-column:auto; }
 .footer__inner { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } }
