:root{--ink:#221712;--gold:#ffd027;--red:#df1717;--blue:#064aa9;--cream:#fff2b9;--paper:#fff7d2;--shadow:0 22px 55px rgba(0,0,0,.35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#100d0b;color:var(--ink);font-family:"Yu Gothic",Meiryo,"Hiragino Kaku Gothic ProN",system-ui,sans-serif;line-height:1.75;letter-spacing:.02em}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 20% 0%,rgba(255,209,39,.20),transparent 28%),radial-gradient(circle at 90% 10%,rgba(223,23,23,.18),transparent 30%),linear-gradient(135deg,#0b0908,#241914 45%,#100d0b)}body:after{content:"";position:fixed;inset:0;z-index:-1;opacity:.14;background-image:linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:34px 34px}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 34px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(17,13,11,.84);backdrop-filter:blur(12px);border-bottom:4px solid rgba(255,208,39,.65)}.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand-logo{height:42px;filter:drop-shadow(0 4px 0 #000)}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav a{color:#fff4c6;font-weight:900;font-size:14px;border:2px solid rgba(255,244,198,.25);border-radius:999px;padding:7px 13px}.nav a:hover{background:var(--gold);color:#241914}.hero{padding:48px 0 28px}.hero-panel,.lead-card,.works-card,.status,.emblem-card,.seal-card{border:4px solid #20130f;box-shadow:var(--shadow)}.hero-panel{border-radius:34px;background:linear-gradient(180deg,#fff4b2,#ffe46f);padding:22px}.hero-panel img,.concept-img{border:4px solid #20130f;border-radius:24px;box-shadow:0 16px 38px rgba(0,0,0,.30);width:100%;object-fit:contain;background:#111}.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.chip,.tag{display:inline-flex;align-items:center;border-radius:999px;font-weight:1000}.chip{background:#15100d;color:#fff6cc;border:3px solid #fff;padding:8px 14px}.chip.gold{background:var(--gold);color:#21130e;border-color:#21130e}.section{padding:44px 0}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-title h2{font-size:clamp(30px,4.4vw,54px);line-height:1.05;margin:0;color:#fff;font-weight:1000;text-shadow:4px 4px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}.section-title .sub{color:#ffe484;font-weight:900}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.lead-card{background:linear-gradient(135deg,#fffdf0,#fff0a7);border-radius:28px;padding:28px}.lead-card h1,.lead-card h2{font-weight:1000;line-height:1.1;margin:0 0 12px}.lead-card h1{font-size:clamp(34px,5vw,62px)}.lead-card h2{font-size:32px}.lead-card p{font-weight:850;font-size:18px}.works-card{display:grid;grid-template-columns:1.24fr .92fr;gap:24px;align-items:center;background:linear-gradient(135deg,#fff8d2,#ffe674);border-radius:30px;padding:22px}.works-card img{border:4px solid #20130f;border-radius:22px;box-shadow:0 14px 32px rgba(0,0,0,.28)}.works-card h3{font-size:clamp(28px,4vw,52px);line-height:1.1;margin:0 0 12px;color:#e41919;font-weight:1000;text-shadow:3px 3px 0 #fff,5px 5px 0 #000}.works-card p{font-weight:900}.btns,.split-nav,.wave-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.split-nav{justify-content:center}.btn,.tab{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:3px solid #20130f;background:linear-gradient(#ffe84f,#ffc400);box-shadow:0 6px 0 #000;padding:12px 22px;font-weight:1000;min-height:48px;cursor:pointer}.btn.red{background:linear-gradient(#ff5454,#df1717);color:#fff}.btn.blue{background:linear-gradient(#2386ff,#064aa9);color:#fff}.btn:hover,.tab:hover{transform:translateY(2px);box-shadow:0 4px 0 #000}.world-logo{max-width:820px;margin:0 auto 24px;filter:drop-shadow(0 8px 0 rgba(0,0,0,.55))}.emblems{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.emblem-card{background:#fff4c2;border-radius:24px;padding:20px;text-align:center}.emblem-card img{width:145px;margin:0 auto 10px}.emblem-card h3{font-size:28px;font-weight:1000;margin:0}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.status{background:#fff4c2;border-radius:24px;padding:22px}.status h3{font-size:30px;margin:0 0 6px;font-weight:1000}.tab.active{background:var(--gold)}.faction-block{margin:34px 0}.faction-heading{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:16px}.faction-heading img{width:58px;height:58px;object-fit:contain}.faction-heading h3{font-size:clamp(26px,3.2vw,40px);font-weight:1000;margin:0;text-shadow:3px 3px 0 #000}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.seal-card{background:linear-gradient(#fff8d1,#ffe99a);border-radius:22px;padding:14px;overflow:visible}.seal-media{position:relative;aspect-ratio:1/1;background:#15100d;border:3px solid #20130f;border-radius:16px;padding:8px;display:grid;place-items:center;overflow:visible}.seal-media img{width:100%;height:100%;object-fit:contain;border-radius:10px}.seal-media .back{position:absolute;inset:8px;opacity:0;transition:.2s}.seal-card:hover .back,.seal-card.flipped .back{opacity:1}.seal-card:hover .front,.seal-card.flipped .front{opacity:0}.seal-info{padding:12px 4px 3px}.meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:7px}.tag{font-size:13px;line-height:1.45;border:2px solid #20130f;background:#fff;padding:2px 8px}.tag.ren{background:#074fb5;color:#fff}.tag.ha{background:#d91818;color:#fff}.tag.asahi{background:var(--gold)}.seal-name{font-size:clamp(20px,2vw,26px);line-height:1.18;font-weight:1000;margin:0;word-break:keep-all;overflow-wrap:anywhere}.hint{font-size:12px;font-weight:900;color:#6b5635;margin-top:7px}.note{font-size:13px;color:#7b663e;font-weight:850}.footer{padding:40px 0;background:#090706;color:#fff4c2;border-top:4px solid var(--gold);margin-top:42px}.footer-logo{height:44px;margin-bottom:10px}.small{font-size:12px;color:#d6c78d}@media(max-width:900px){.header-inner{height:auto;padding:12px 0;align-items:flex-start}.nav a{font-size:12px;padding:5px 9px}.grid-2,.works-card{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.emblems{grid-template-columns:1fr}.section{padding:34px 0}}@media(max-width:560px){.container{width:min(100% - 20px,1180px)}.cards,.status-grid{grid-template-columns:1fr}.hero{padding-top:24px}.hero-panel{padding:10px;border-radius:22px}.hero-panel img,.concept-img{border-radius:14px}.brand-logo{height:34px}.section-title{display:block}.section-title h2{font-size:32px}.lead-card{padding:22px}.seal-name{font-size:22px}}

/* --- corrected hariken TOP hero: no world-tactics main banner here --- */
.top-hero{padding:64px 0 42px;position:relative;overflow:hidden}
.top-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 20%,rgba(255,224,73,.28),transparent 34%),linear-gradient(135deg,rgba(10,74,169,.25),transparent 34%),linear-gradient(225deg,rgba(223,23,23,.22),transparent 36%)}
.top-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}
.top-hero-copy{background:linear-gradient(135deg,#fff9d7,#ffe976);border:5px solid #20130f;border-radius:36px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.top-hero-copy:before{content:"";position:absolute;inset:-40px;opacity:.13;background:repeating-linear-gradient(135deg,#20130f 0 5px,transparent 5px 18px);pointer-events:none}
.top-hero-copy>*{position:relative}.kicker{display:inline-block;background:#20130f;color:#ffe978;border:3px solid #fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:1000;letter-spacing:.08em;margin-bottom:16px}.top-hero-logo{height:78px;max-width:360px;object-fit:contain;filter:drop-shadow(0 7px 0 #000);margin-bottom:14px}.top-hero-copy h1{font-size:clamp(42px,6vw,78px);line-height:1.04;margin:0 0 16px;color:#fff;font-weight:1000;text-shadow:5px 5px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}.top-hero-copy p{font-size:19px;font-weight:900;margin:0}.top-hero-panel{min-height:430px;border:5px solid #20130f;border-radius:36px;box-shadow:var(--shadow);position:relative;overflow:hidden;background:radial-gradient(circle at center,#fff4b7 0 18%,transparent 19%),repeating-conic-gradient(from 0deg,#ffe56a 0 7deg,#ffcf28 7deg 14deg,#e43a26 14deg 21deg,#0752b5 21deg 28deg);display:grid;place-items:center}.top-hero-panel:before{content:"";position:absolute;inset:18px;border:4px solid #20130f;border-radius:28px;background:rgba(255,248,210,.82)}.top-pattern-title{position:relative;z-index:1;font-size:clamp(64px,9vw,118px);font-weight:1000;color:#20130f;letter-spacing:.02em;text-shadow:4px 4px 0 #fff,7px 7px 0 #ffd027;transform:rotate(-5deg)}.top-pattern-sub{position:absolute;z-index:1;bottom:86px;font-weight:1000;color:#20130f;background:#ffd027;border:3px solid #20130f;border-radius:999px;padding:8px 18px;letter-spacing:.08em}.sticker-spark{position:absolute;z-index:2;width:84px;height:84px;border:4px solid #20130f;border-radius:20px;background:#fff;display:grid;place-items:center;font-size:44px;font-weight:1000;box-shadow:8px 8px 0 rgba(0,0,0,.35)}.spark-a{left:42px;top:42px;color:#df1717;transform:rotate(-12deg)}.spark-b{right:54px;top:62px;color:#064aa9;transform:rotate(10deg)}.spark-c{right:94px;bottom:50px;color:#10843a;transform:rotate(-8deg)}.series-label{display:inline-block;background:#20130f;color:#ffe978;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:1000;margin-bottom:10px}.future-card{margin-top:20px;border:4px dashed rgba(255,244,198,.5);border-radius:26px;padding:22px 24px;color:#fff4c6;display:flex;justify-content:space-between;gap:18px;align-items:center;background:rgba(255,255,255,.06)}.future-card h3{margin:0 0 4px;font-size:24px}.future-card p{margin:0;font-weight:800}.future-card span{font-weight:1000;color:#20130f;background:#ffd027;border:3px solid #20130f;border-radius:999px;padding:8px 14px;white-space:nowrap}@media(max-width:900px){.top-hero-inner{grid-template-columns:1fr}.top-hero-panel{min-height:320px}.top-hero-logo{height:58px}}@media(max-width:560px){.top-hero{padding:26px 0 24px}.top-hero-copy{padding:24px;border-radius:24px}.top-hero-panel{min-height:250px;border-radius:24px}.top-pattern-title{font-size:60px}.sticker-spark{width:58px;height:58px;font-size:30px}.top-pattern-sub{bottom:42px;font-size:12px}.future-card{display:block}.future-card span{display:inline-block;margin-top:12px}}


/* --- user requested fixes: series banner direct link, no extra text/buttons, equal front/back image display --- */
.works-card-banner-only{display:block;padding:16px;background:linear-gradient(135deg,#fff8d2,#ffe674)}
.series-banner-link{display:block;border-radius:22px;line-height:0;transition:transform .18s ease, filter .18s ease}
.series-banner-link:hover{transform:translateY(-3px);filter:brightness(1.06)}
.works-card-banner-only img{width:100%;height:auto;margin:0;border:4px solid #20130f;border-radius:22px;box-shadow:0 14px 32px rgba(0,0,0,.28)}
.seal-media{position:relative;overflow:visible}
.seal-media .front,.seal-media .back{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);object-fit:contain;border-radius:10px;background:#15100d;transition:.2s}
.seal-media .front{opacity:1}
.seal-media .back{opacity:0}
.seal-card:hover .back,.seal-card.flipped .back{opacity:1}
.seal-card:hover .front,.seal-card.flipped .front{opacity:0}
@media(max-width:900px){.works-card-banner-only{padding:10px}}

/* --- requested cleanup: remove top duplicate hero, simple coming soon, centered god cards --- */
.coming-soon-only{
  justify-content:center;
  text-align:center;
  font-size:28px;
  font-weight:1000;
  letter-spacing:.08em;
  color:#20130f;
  background:#ffd027;
  border:4px solid #20130f;
}
.emblem-card{display:grid;place-items:center;min-height:190px}
.emblem-card img{margin:0 auto;width:min(180px,70%)}
.god-cards{display:flex;justify-content:center;margin:0 auto 26px}
.god-cards .seal-card{width:min(360px,100%)}
.god-cards + .cards{margin-top:4px}
@media(max-width:560px){.coming-soon-only{font-size:22px}.god-cards .seal-card{width:100%}}

/* --- limited correction: restore emblem descriptions, hide repeated faction text beside list marks --- */
.emblem-card{gap:10px}
.emblem-card p{margin:0;font-weight:900;font-size:16px;line-height:1.6;text-align:center}
.faction-heading{justify-content:flex-start}
.faction-heading img{margin-bottom:0}

/* --- final requested alignment and god-card emphasis --- */
#cardsMount .faction-heading{
  justify-content:center;
  text-align:center;
  margin:42px auto 22px;
}
#cardsMount .faction-heading img{
  width:86px;
  height:86px;
  margin:0 auto;
  filter:drop-shadow(0 8px 0 rgba(0,0,0,.55));
}
.wave-tabs{
  justify-content:center;
  text-align:center;
}
.seal-info{
  text-align:center;
}
.meta{
  justify-content:center;
  text-align:center;
}
.seal-name{
  text-align:center;
}
.god-cards{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 32px;
  position:relative;
}
.god-cards .seal-card{
  width:min(390px,100%);
  padding:18px;
  border-width:5px;
  border-radius:28px;
  background:linear-gradient(180deg,#fffbe8 0%,#ffe78a 52%,#ffd027 100%);
  box-shadow:0 0 0 6px rgba(255,255,255,.95),0 0 0 11px rgba(255,208,39,.95),0 24px 60px rgba(0,0,0,.45);
  position:relative;
  overflow:visible;
}
.god-cards .seal-card:before,
.god-cards .seal-card:after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:999px;
}
.god-cards .seal-card:before{
  inset:-20px;
  z-index:-1;
  background:radial-gradient(circle,rgba(255,208,39,.55),rgba(255,208,39,.16) 48%,transparent 72%);
}
.god-cards .seal-card:after{
  width:84px;
  height:84px;
  right:-26px;
  top:-26px;
  background:radial-gradient(circle,#fff 0 12%,#ffd027 13% 28%,transparent 30%);
  filter:drop-shadow(0 4px 0 rgba(0,0,0,.35));
}
.god-cards .seal-media{
  border-width:4px;
  box-shadow:inset 0 0 0 4px rgba(255,208,39,.35);
}
.god-cards .seal-name{
  font-size:clamp(24px,2.4vw,31px);
}
@media(max-width:560px){
  #cardsMount .faction-heading img{width:74px;height:74px}
  .god-cards .seal-card{width:100%;padding:14px}
}


/* =========================================================
   PREMIUM EFFECT LAYER - はり研LP 完成版を壊さず演出だけ追加
   ========================================================= */
:root{
  --fx-gold:#ffd83d;
  --fx-gold2:#fff3a1;
  --fx-red:#e11919;
  --fx-blue:#075ed2;
  --fx-black:#120b09;
}
body{overflow-x:hidden;}
.progress-bar{position:fixed;left:0;top:0;height:4px;width:0;z-index:9999;background:linear-gradient(90deg,#fff,var(--fx-gold),#ff4b2e,#237dff,#fff);box-shadow:0 0 18px rgba(255,216,61,.9);transform-origin:left center}
.ambient-bg{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;}
.ambient-bg span{position:absolute;display:block;border-radius:50%;filter:blur(18px);opacity:.22;animation:floatOrb 18s ease-in-out infinite alternate;}
.ambient-bg span:nth-child(1){width:340px;height:340px;left:-110px;top:120px;background:#ffcc29;}
.ambient-bg span:nth-child(2){width:420px;height:420px;right:-150px;top:260px;background:#e11919;animation-duration:22s;}
.ambient-bg span:nth-child(3){width:380px;height:380px;left:42%;bottom:-170px;background:#075ed2;animation-duration:24s;}
@keyframes floatOrb{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(36px,-42px,0) scale(1.08)}}
.cursor-glow{position:fixed;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;pointer-events:none;z-index:5;background:radial-gradient(circle,rgba(255,216,61,.16),rgba(255,216,61,.06) 35%,transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity .25s ease;}
body.fx-ready .cursor-glow{opacity:1;}
.site-header{box-shadow:0 12px 28px rgba(0,0,0,.28)}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(90deg,#fff,var(--fx-gold),#ff3b2f,#267bff,#fff);background-size:220% 100%;animation:shineLine 5s linear infinite;}
@keyframes shineLine{to{background-position:220% 0}}
.brand-logo,.footer-logo{transition:transform .25s ease, filter .25s ease}.brand-logo:hover{transform:translateY(-2px) rotate(-1deg);filter:drop-shadow(0 5px 0 #000) drop-shadow(0 0 14px rgba(255,216,61,.65))}
.nav a{transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.nav a:hover{transform:translateY(-2px);box-shadow:0 0 0 3px rgba(255,255,255,.2),0 0 22px rgba(255,216,61,.45)}
.section{position:relative}.section:before{content:"";position:absolute;left:50%;top:10px;width:min(920px,80vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(255,216,61,.45),transparent);opacity:.7}.section:first-of-type:before{display:none}
.lead-card,.works-card,.emblem-card,.seal-card,.hero-panel,.concept-img,.works-card-banner-only{position:relative;isolation:isolate;}
.lead-card:after,.works-card:after,.emblem-card:after,.hero-panel:after,.works-card-banner-only:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,transparent 0 34%,rgba(255,255,255,.42) 42%,transparent 52%);transform:translateX(-120%);opacity:.55;}
body.fx-ready .lead-card:after,body.fx-ready .works-card:after,body.fx-ready .emblem-card:after,body.fx-ready .hero-panel:after,body.fx-ready .works-card-banner-only:after{animation:sweep 6s ease-in-out infinite;}
@keyframes sweep{0%,38%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
.section-title h2{position:relative;display:inline-block}.section-title h2:after{content:"";position:absolute;left:4px;right:-4px;bottom:-10px;height:8px;border:3px solid #20130f;border-radius:999px;background:linear-gradient(90deg,#ffd027,#fff,#ffd027);box-shadow:0 5px 0 #000;}
.world-logo{animation:logoBreath 4.5s ease-in-out infinite;}@keyframes logoBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.012)}}
.concept-img{transition:transform .35s ease,box-shadow .35s ease,filter .35s ease}.concept-img:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(0,0,0,.45),0 0 0 6px rgba(255,216,61,.28);filter:saturate(1.06) contrast(1.03)}
.series-banner-link{position:relative;overflow:hidden;border-radius:22px}.series-banner-link:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.38),transparent 26%);opacity:0;transition:opacity .2s ease;pointer-events:none}.series-banner-link:hover:after{opacity:1}.series-banner-link img{transition:transform .35s ease,filter .35s ease}.series-banner-link:hover img{transform:scale(1.018);filter:saturate(1.08) contrast(1.03)}
.btn,.tab{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn:hover,.tab:hover{filter:saturate(1.08) brightness(1.04)}.tab.active{box-shadow:0 6px 0 #000,0 0 0 5px rgba(255,255,255,.28),0 0 34px rgba(255,216,61,.55)}
.emblem-card{transition:transform .22s ease,box-shadow .22s ease}.emblem-card:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(0,0,0,.42),0 0 0 6px rgba(255,255,255,.2)}.emblem-card img{transition:transform .28s ease,filter .28s ease}.emblem-card:hover img{transform:scale(1.06) rotate(-2deg);filter:drop-shadow(0 9px 0 rgba(0,0,0,.35)) drop-shadow(0 0 22px rgba(255,216,61,.65))}
.cards{perspective:1400px}.seal-card{transform-style:preserve-3d;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}.seal-card:hover{transform:translateY(-7px) rotateX(1.5deg) rotateY(-1.5deg);box-shadow:0 28px 70px rgba(0,0,0,.48),0 0 0 5px rgba(255,255,255,.22);filter:saturate(1.03)}.seal-card:after{content:"";position:absolute;inset:10px;border-radius:18px;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,20%),rgba(255,255,255,.30),transparent 28%);opacity:0;transition:opacity .18s ease}.seal-card:hover:after{opacity:1}.seal-media{background:linear-gradient(145deg,#0b0807,#241814)}.seal-media:before{content:"";position:absolute;inset:-2px;border-radius:18px;pointer-events:none;background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 2px,transparent 2px 8px);mix-blend-mode:screen;opacity:.18}.seal-media .front,.seal-media .back{backface-visibility:hidden}.seal-media .back{transform:scale(.985)}
.god-cards .seal-card{animation:godAura 3.8s ease-in-out infinite;}@keyframes godAura{0%,100%{filter:saturate(1)}50%{filter:saturate(1.08) brightness(1.03)}}
.god-cards .seal-card:before{animation:pulseAura 2.8s ease-in-out infinite}@keyframes pulseAura{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}
.faction-heading img{transition:transform .28s ease,filter .28s ease}.faction-heading img:hover{transform:scale(1.08);filter:drop-shadow(0 8px 0 rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(255,216,61,.7))}
.reveal-item{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}.reveal-item.is-visible{opacity:1;transform:translateY(0) scale(1)}
.back-to-top{position:fixed;right:18px;bottom:18px;z-index:50;width:52px;height:52px;border-radius:50%;border:3px solid #20130f;background:#ffd027;color:#20130f;font-weight:1000;font-size:24px;box-shadow:0 6px 0 #000;cursor:pointer;opacity:0;transform:translateY(14px);transition:.2s ease}.back-to-top.show{opacity:1;transform:translateY(0)}.back-to-top:hover{transform:translateY(-2px);box-shadow:0 8px 0 #000,0 0 22px rgba(255,216,61,.5)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:20px}.lightbox.open{display:flex}.lightbox-inner{width:min(860px,96vw);background:linear-gradient(135deg,#fff9d7,#ffe778);border:5px solid #20130f;border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.7);padding:18px;position:relative}.lightbox-close{position:absolute;right:-14px;top:-14px;width:46px;height:46px;border-radius:50%;border:3px solid #20130f;background:#df1717;color:#fff;font-weight:1000;font-size:22px;box-shadow:0 5px 0 #000;cursor:pointer}.lightbox img{width:100%;max-height:72vh;object-fit:contain;background:#130d0b;border:3px solid #20130f;border-radius:16px}.lightbox-caption{text-align:center;font-weight:1000;margin-top:10px;color:#20130f}.seal-card .seal-media{cursor:zoom-in}.seal-card.flipped .seal-media{cursor:zoom-out}
@media(max-width:900px){.cursor-glow{display:none}.section-title h2:after{height:6px}.seal-card:hover{transform:none}.emblem-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cursor-glow,.ambient-bg{display:none!important}.reveal-item{opacity:1!important;transform:none!important}}


/* =========================================================
   DELUXE EFFECT LAYER - final presentation upgrade
   Structure/text is untouched. Visual and interaction only.
   ========================================================= */
.fx-loader{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,208,39,.28),transparent 34%),
    radial-gradient(circle at 12% 18%,rgba(6,74,169,.26),transparent 34%),
    radial-gradient(circle at 88% 20%,rgba(223,23,23,.24),transparent 36%),
    linear-gradient(135deg,#090706,#17110e 55%,#090706);
  transition:opacity .75s ease,visibility .75s ease;
}
.fx-loader.hide{opacity:0;visibility:hidden;pointer-events:none}.loader-card{width:min(360px,82vw);border:4px solid #20130f;border-radius:28px;background:linear-gradient(135deg,#fff9d5,#ffdf50);box-shadow:0 28px 80px rgba(0,0,0,.55);padding:26px;text-align:center;position:relative;overflow:hidden}.loader-card:before{content:"";position:absolute;inset:-80px;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.65),transparent 20%);animation:loaderSpin 2.8s linear infinite}.loader-card>*{position:relative}.loader-title{font-size:42px;line-height:1;font-weight:1000;color:#20130f;text-shadow:3px 3px 0 #fff,5px 5px 0 rgba(0,0,0,.22);letter-spacing:.08em}.loader-sub{font-weight:1000;margin-top:10px;letter-spacing:.18em}.loader-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.loader-dots span{width:11px;height:11px;border-radius:50%;background:#20130f;animation:bounceDots 1.1s ease-in-out infinite}.loader-dots span:nth-child(2){animation-delay:.13s}.loader-dots span:nth-child(3){animation-delay:.26s}@keyframes loaderSpin{to{transform:rotate(1turn)}}@keyframes bounceDots{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-8px);opacity:1}}

.fx-particles{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.fx-particles i{position:absolute;display:block;width:6px;height:6px;border-radius:50%;background:#ffd027;opacity:.0;filter:drop-shadow(0 0 8px rgba(255,208,39,.65));animation:floatSparkle var(--dur,7s) linear infinite;animation-delay:var(--delay,0s);left:var(--x);top:var(--y)}.fx-particles i:nth-child(3n){background:#fff4c6;width:4px;height:4px}.fx-particles i:nth-child(4n){background:#4aa1ff}.fx-particles i:nth-child(5n){background:#ff5555}@keyframes floatSparkle{0%{transform:translate3d(0,18px,0) scale(.35);opacity:0}18%{opacity:.88}70%{opacity:.55}100%{transform:translate3d(var(--dx,20px),-80px,0) scale(1);opacity:0}}
.site-header, main, .footer, .back-to-top{position:relative;z-index:2}.site-header{box-shadow:0 10px 34px rgba(0,0,0,.34)}
.brand-logo,.footer-logo{transition:transform .35s ease,filter .35s ease}.brand-logo:hover{transform:translateY(-2px) rotate(-1deg);filter:drop-shadow(0 4px 0 #000) drop-shadow(0 0 16px rgba(255,208,39,.58))}.nav a{position:relative;overflow:hidden;transition:transform .25s ease,background .25s ease}.nav a:after,.btn:after,.tab:after,.series-banner-link:after,.works-card:after,.seal-card:after{content:"";position:absolute;inset:-45%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.62) 48%,transparent 61%);transform:translateX(-120%) rotate(8deg);transition:transform .72s ease;pointer-events:none}.nav a:hover:after,.btn:hover:after,.tab:hover:after,.series-banner-link:hover:after,.works-card:hover:after,.seal-card:hover:after{transform:translateX(120%) rotate(8deg)}.btn,.tab,.series-banner-link,.seal-card,.works-card,.emblem-card{position:relative;will-change:transform}.btn,.tab{overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.btn:hover,.tab:hover{filter:saturate(1.14) brightness(1.04)}
.lead-card,.works-card,.emblem-card,.seal-card,.future-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,filter .35s ease}.lead-card:hover,.emblem-card:hover{transform:translateY(-5px);box-shadow:0 30px 74px rgba(0,0,0,.42)}.works-card:hover,.series-banner-link:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 32px 82px rgba(0,0,0,.48)}.series-banner-link{display:block;border-radius:26px;overflow:hidden;transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease}.series-banner-link img{width:100%;transition:transform .45s ease,filter .45s ease}.series-banner-link:hover img{transform:scale(1.025);filter:saturate(1.08) contrast(1.04)}.works-card-banner-only{overflow:hidden}.coming-soon-only{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,208,39,.08));animation:softBreath 3.8s ease-in-out infinite}@keyframes softBreath{50%{box-shadow:0 0 36px rgba(255,208,39,.25)}}
.world-logo{animation:titleFloat 4.6s ease-in-out infinite}.concept-img{transition:transform .5s ease,box-shadow .5s ease,filter .5s ease}.concept-img:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 34px 85px rgba(0,0,0,.52);filter:saturate(1.07)}@keyframes titleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.emblems{perspective:1200px}.emblem-card img{transition:transform .45s ease,filter .45s ease}.emblem-card:hover img{transform:scale(1.08) rotate(-3deg);filter:drop-shadow(0 0 18px rgba(255,208,39,.38))}.faction-heading{justify-content:center}.faction-heading img{filter:drop-shadow(0 8px 0 rgba(0,0,0,.45)) drop-shadow(0 0 15px rgba(255,208,39,.22));transition:transform .42s ease,filter .42s ease}.faction-heading:hover img{transform:scale(1.08);filter:drop-shadow(0 8px 0 rgba(0,0,0,.45)) drop-shadow(0 0 24px rgba(255,208,39,.55))}
.wave-tabs{justify-content:center}.tab.active{box-shadow:0 7px 0 #000,0 0 22px rgba(255,208,39,.55)}#cardsMount{transition:opacity .22s ease,transform .22s ease}#cardsMount.switching{opacity:0;transform:translateY(12px)}.cards,.god-cards{perspective:1600px}.seal-card{transform-style:preserve-3d}.seal-card:hover{transform:translateY(-8px) rotateX(2deg) rotateY(var(--tilt,0deg));box-shadow:0 32px 76px rgba(0,0,0,.46)}.seal-media{transition:transform .45s ease,box-shadow .45s ease}.seal-card:hover .seal-media{transform:translateY(-2px);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 18px 35px rgba(0,0,0,.28)}.seal-media .front,.seal-media .back{transition:opacity .22s ease,transform .42s ease}.seal-card:hover .front,.seal-card.flipped .front{transform:rotateY(90deg);opacity:0}.seal-card:hover .back,.seal-card.flipped .back{transform:rotateY(0);opacity:1}.seal-media .back{transform:rotateY(-90deg)}.seal-info{text-align:center}.meta{justify-content:center}.god-card{position:relative;overflow:visible;background:linear-gradient(135deg,#fffce6,#ffd84c 55%,#fff0a9);box-shadow:0 0 0 4px #20130f,0 0 0 9px rgba(255,208,39,.50),0 24px 68px rgba(0,0,0,.45)}.god-card:before{content:"";position:absolute;inset:-15px;border-radius:30px;background:conic-gradient(from 0deg,rgba(255,208,39,.0),rgba(255,208,39,.8),rgba(255,255,255,.4),rgba(255,208,39,.0) 35%);z-index:-1;filter:blur(9px);animation:godAura 4.2s linear infinite}.god-card .seal-media:before{content:"";position:absolute;inset:-11px;border-radius:22px;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 52%);opacity:.42;pointer-events:none}.god-cards{justify-content:center}.god-cards .seal-card{max-width:360px;margin-inline:auto}@keyframes godAura{to{transform:rotate(1turn)}}
.back-to-top{transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease}.back-to-top:hover{transform:translateY(-4px);box-shadow:0 0 0 4px #20130f,0 0 26px rgba(255,208,39,.5)}
.lightbox.open .lightbox-inner{animation:popIn .25s ease both}@keyframes popIn{from{transform:translateY(10px) scale(.96);opacity:.4}to{transform:translateY(0) scale(1);opacity:1}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fx-particles,.cursor-glow{display:none!important}}
@media(max-width:900px){.top-hero-inner{grid-template-columns:1fr}.top-hero-panel{min-height:300px}.fx-particles i:nth-child(n+18){display:none}.works-card:hover,.series-banner-link:hover,.seal-card:hover,.lead-card:hover,.emblem-card:hover{transform:none}.world-logo{animation:none}}

/* --- mobile-only correction: title logo scaling and world-concept text spacing --- */
body{overflow-x:hidden;}
.world-logo{
  width:min(820px, 100%);
  max-width:100%;
  height:auto;
  display:block;
  box-sizing:border-box;
}
.section-title{min-width:0;}
.section-title .sub{line-height:1.35;}
@media(max-width:560px){
  .hero .container{overflow:hidden;}
  .world-logo{
    width:100%;
    max-width:100%;
    height:auto;
    margin:0 auto 18px;
    padding:0 2px;
    object-fit:contain;
  }
  .section-title{display:block;margin-bottom:26px;}
  .section-title h2{display:block;margin-bottom:18px;line-height:1.08;}
  .section-title h2:after{bottom:-12px;}
  .section-title .sub{display:block;margin-top:8px;line-height:1.35;word-break:keep-all;overflow-wrap:break-word;}
  #concept .lead-card p{line-height:1.75;}
}

/* =========================================================
   STABLE REVERSE IMAGE MODE
   Browser-safe: no 3D flip / rotateY / backface-visibility.
   PC: hover fade. Smartphone: tap toggles .flipped by JS.
   ========================================================= */
.cards{perspective:none !important;}
.seal-card,
.seal-card:hover{
  transform:none !important;
  transform-style:flat !important;
}
.seal-media,
.seal-card:hover .seal-media{
  transform:none !important;
}
.seal-media .front,
.seal-media .back,
.seal-card:hover .front,
.seal-card:hover .back,
.seal-card.flipped .front,
.seal-card.flipped .back{
  transform:none !important;
  backface-visibility:visible !important;
  -webkit-backface-visibility:visible !important;
}
.seal-media .front,
.seal-media .back{
  transition:opacity .18s ease !important;
}
.seal-media .front{opacity:1 !important;}
.seal-media .back{opacity:0 !important;}
.seal-card.flipped .front{opacity:0 !important;}
.seal-card.flipped .back{opacity:1 !important;}
@media (hover:hover) and (pointer:fine){
  .seal-card:hover .front{opacity:0 !important;}
  .seal-card:hover .back{opacity:1 !important;}
}
@media (hover:none), (pointer:coarse){
  .seal-card:hover .front{opacity:1 !important;}
  .seal-card:hover .back{opacity:0 !important;}
  .seal-card.flipped .front{opacity:0 !important;}
  .seal-card.flipped .back{opacity:1 !important;}
}


/* SEO / accessibility helper: visually hidden, no layout change */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

.footer-links{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}.footer-links a{display:inline-flex;align-items:center;border:2px solid rgba(255,240,160,.5);border-radius:999px;padding:5px 12px;color:#fff4c2;font-weight:900;font-size:13px}.footer-links a:hover{background:var(--gold);color:#20130f}
