@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');

:root{
  --bg:#070a12;
  --bg2:#0b1020;
  --panel:#101727;
  --panel2:#0d1421;
  --text:#f4f0e6;
  --muted:#a7adba;
  --gold:#d3ad62;
  --gold2:#f2d596;
  --line:rgba(215,183,116,.22);
  --red:#9d3441;
  --blue:#637fa4;
  --green:#5ea584;
  --header-h:82px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 10%, rgba(75,94,126,.13), transparent 28%),
    radial-gradient(circle at 85% 25%, rgba(129,81,57,.09), transparent 31%),
    var(--bg);
  font-family:"Noto Serif JP", Georgia, serif;
  line-height:1.75;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{max-width:100%;display:block}
::selection{background:rgba(211,173,98,.35);color:#fff}
:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
section[id]{scroll-margin-top:100px}

#particleCanvas{
  position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.48
}
.page-noise{
  position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")
}
.cursor-glow{
  position:fixed;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(circle,rgba(213,176,104,.075),transparent 65%);
  transform:translate(-50%,-50%);opacity:0;transition:opacity .25s ease
}
body:hover .cursor-glow{opacity:1}

.preloader{
  position:fixed;inset:0;background:#070a12;z-index:200;display:grid;place-items:center;
  transition:opacity .6s var(--ease), visibility .6s var(--ease)
}
.preloader.done{opacity:0;visibility:hidden}
.preloader img{width:92px;filter:drop-shadow(0 0 22px rgba(242,213,150,.28));animation:prePulse 1.2s ease-in-out infinite}
.preloader span{position:absolute;bottom:18%;width:120px;height:1px;background:rgba(255,255,255,.12);overflow:hidden}
.preloader span:after{content:"";display:block;height:100%;width:45%;background:var(--gold);animation:preLine 1s ease-in-out infinite}
@keyframes prePulse{50%{transform:translateY(-4px);filter:drop-shadow(0 0 34px rgba(242,213,150,.44))}}
@keyframes preLine{0%{transform:translateX(-120%)}100%{transform:translateX(290%)}}

.site-header{
  position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4vw,70px);
  border-bottom:1px solid transparent;
  transition:background .35s ease,border .35s ease,backdrop-filter .35s ease,height .35s ease;
}
.site-header.scrolled{
  height:68px;background:rgba(6,9,16,.82);border-color:var(--line);
  backdrop-filter:blur(16px)
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(211,173,98,.2))}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand strong{font:600 14px/1 "Cinzel",serif;letter-spacing:.2em}
.brand small{font:500 8px/1.6 "Cinzel",serif;letter-spacing:.36em;color:var(--gold)}
.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,42px);margin-left:auto;margin-right:38px}
.desktop-nav a{font:600 11px/1 "Cinzel",serif;letter-spacing:.16em;color:#c9ced9;position:relative;padding:14px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--gold);transition:right .3s ease}
.desktop-nav a:hover{color:#fff}.desktop-nav a:hover:after{right:0}
.header-actions{display:flex;align-items:center;gap:14px}
.lang-toggle{
  border:0;background:none;display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;
  font:600 10px/1 "Cinzel",serif;letter-spacing:.1em
}
.lang-toggle i{width:24px;height:1px;background:rgba(255,255,255,.26);position:relative}
.lang-toggle i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);top:50%;left:0;transform:translateY(-50%);transition:left .3s ease}
html[data-lang="en"] .lang-toggle i:after{left:19px}
.lang-toggle .lang-ja,.lang-toggle .lang-en{opacity:.45}
html[data-lang="ja"] .lang-ja,html[data-lang="en"] .lang-en{opacity:1;color:var(--gold2)}
.play-button{
  padding:11px 18px;border:1px solid rgba(211,173,98,.6);font:600 10px/1 "Cinzel",serif;letter-spacing:.18em;
  background:linear-gradient(120deg,rgba(211,173,98,.13),rgba(211,173,98,.02));transition:.3s ease
}
.play-button:hover{background:var(--gold);color:#11151d}
.menu-button{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;position:relative}
.menu-button span{position:absolute;left:8px;right:8px;height:1px;background:#fff;transition:.3s ease}
.menu-button span:first-child{top:15px}.menu-button span:last-child{top:25px}
.menu-button.active span:first-child{transform:rotate(45deg);top:20px}
.menu-button.active span:last-child{transform:rotate(-45deg);top:20px}
.mobile-nav{display:none}

.hero{
  min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;
  isolation:isolate;padding:120px 20px 90px
}
.hero:before{
  content:"";position:absolute;inset:0;z-index:-5;
  background:
    linear-gradient(to bottom,rgba(4,7,13,.35),rgba(4,7,13,.08) 45%,#070a12 100%),
    radial-gradient(circle at 50% 35%,rgba(91,114,158,.17),transparent 35%),
    linear-gradient(120deg,#101725 0%,#090e18 45%,#140e13 100%)
}
.hero-map{
  position:absolute;inset:12% -10% auto;bottom:5%;z-index:-3;opacity:.19;
  background:
    radial-gradient(ellipse at 50% 48%,transparent 0 18%,rgba(211,173,98,.12) 18.2% 18.5%,transparent 18.7%),
    repeating-radial-gradient(ellipse at 52% 55%,transparent 0 38px,rgba(225,205,162,.055) 39px 40px);
  transform:rotate(-6deg) scale(1.2)
}
.hero-map-a:after{
  content:"";position:absolute;left:17%;top:24%;width:66%;height:58%;
  border:1px solid rgba(223,201,154,.18);border-radius:42% 58% 57% 43% / 46% 41% 59% 54%;
  transform:rotate(9deg);
  box-shadow:inset 0 0 80px rgba(211,173,98,.03),0 0 100px rgba(47,80,116,.08)
}
.hero-map-b{transform:rotate(9deg) scale(.94);opacity:.10}
.hero-vignette{position:absolute;inset:0;z-index:-1;box-shadow:inset 0 0 180px 55px #05070c;pointer-events:none}
.hero-content{text-align:center;position:relative;z-index:2;max-width:980px}
.eyebrow{
  margin:0 0 18px;font:600 10px/1.4 "Cinzel",serif;letter-spacing:.35em;color:var(--gold);text-transform:uppercase
}
.hero-crown-wrap{width:130px;height:112px;margin:0 auto 16px;position:relative;display:grid;place-items:center}
.hero-crown{width:104px;position:relative;z-index:2;filter:drop-shadow(0 12px 25px rgba(0,0,0,.4));animation:crownFloat 5s ease-in-out infinite}
.crown-halo{
  position:absolute;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(242,213,150,.18),rgba(211,173,98,.04) 42%,transparent 68%);
  animation:haloPulse 4s ease-in-out infinite
}
@keyframes crownFloat{50%{transform:translateY(-8px)}}
@keyframes haloPulse{50%{transform:scale(1.08);opacity:.7}}
.hero h1{
  font:600 clamp(46px,8.1vw,116px)/.82 "Cinzel",serif;letter-spacing:.08em;margin:0;
  text-shadow:0 8px 40px rgba(0,0,0,.48)
}
.hero h1 span{font-size:.54em;letter-spacing:.42em;color:#dcd6c7;margin-left:.38em}
.hero-sub{font:500 clamp(13px,1.6vw,20px)/1.4 "Cinzel",serif;letter-spacing:.2em;color:#bec4cf;margin:30px 0 8px}
.hero-copy{font-size:clamp(13px,1.5vw,17px);letter-spacing:.08em;color:#aaa99f;margin:0 auto 34px}
.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn{
  min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:22px;
  font:600 10px/1 "Cinzel",serif;letter-spacing:.18em;transition:.3s var(--ease)
}
.btn-primary{
  min-width:250px;color:#12161d;background:linear-gradient(100deg,#b88e45,#f0d392 50%,#b98c42);
  box-shadow:0 10px 35px rgba(211,173,98,.16)
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 45px rgba(211,173,98,.26)}
.btn-primary b{font-size:16px;font-weight:400}
.btn-ghost{border:1px solid rgba(255,255,255,.15);color:#d5d8de;background:rgba(255,255,255,.02)}
.btn-ghost:hover{border-color:rgba(211,173,98,.65);color:var(--gold2);background:rgba(211,173,98,.05)}
.scroll-hint{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;
  font:500 8px/1 "Cinzel",serif;letter-spacing:.25em;color:#747d8c
}
.scroll-hint i{display:block;width:38px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}

.section{position:relative;z-index:3;padding:clamp(90px,11vw,160px) clamp(20px,5vw,84px)}
.section-heading{max-width:780px;margin:0 auto 58px;text-align:center}
.section-heading h2,.world-copy h2,.development-header h2,.about-copy h2{
  margin:0;font:600 clamp(32px,5vw,66px)/1.05 "Cinzel",serif;letter-spacing:.06em
}
.section-heading>p:last-child{max-width:620px;margin:18px auto 0;color:var(--muted);font-size:14px}

.launcher-section{background:linear-gradient(to bottom,#070a12,#090e18 50%,#070a12)}
.game-grid{
  max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;perspective:1400px
}
.game-card{
  position:relative;min-height:650px;display:flex;flex-direction:column;overflow:hidden;
  background:linear-gradient(160deg,rgba(21,29,45,.94),rgba(8,12,20,.98));
  border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 70px rgba(0,0,0,.25);
  transition:transform .25s ease,border .3s ease,box-shadow .3s ease;transform-style:preserve-3d
}
.game-card:hover{border-color:rgba(211,173,98,.34);box-shadow:0 35px 90px rgba(0,0,0,.42)}
.game-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.025) 49%,transparent 72%);transform:translateX(-80%);transition:transform .7s ease}
.game-card:hover:after{transform:translateX(80%)}
.game-art{height:335px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.07)}
.game-art:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.08),transparent 35%),linear-gradient(160deg,transparent,rgba(0,0,0,.55))
}
.game-card-scc1 .game-art{background:radial-gradient(circle at 50% 38%,rgba(107,145,190,.25),transparent 35%),linear-gradient(135deg,#152134,#0b111d 70%)}
.game-card-scc2 .game-art{background:radial-gradient(circle at 50% 35%,rgba(173,59,72,.28),transparent 36%),linear-gradient(135deg,#29141b,#0e0b11 72%)}
.game-card-lw .game-art{background:radial-gradient(circle at 50% 42%,rgba(71,157,116,.25),transparent 38%),linear-gradient(135deg,#11231e,#0a1212 72%)}
.game-index{
  position:absolute;right:16px;bottom:-18px;font:600 96px/1 "Cinzel",serif;color:rgba(255,255,255,.035);letter-spacing:-.05em
}
.sigil{position:absolute;inset:0;display:grid;place-items:center}
.mini-crown{font-size:84px;line-height:1;color:rgba(232,219,188,.9);text-shadow:0 0 30px rgba(211,173,98,.18)}
.sigil-scc1 i{position:absolute;width:1px;height:180px;background:linear-gradient(transparent,rgba(163,190,224,.22),transparent);transform-origin:center}
.sigil-scc1 i:nth-of-type(1){transform:rotate(0deg)}.sigil-scc1 i:nth-of-type(2){transform:rotate(60deg)}.sigil-scc1 i:nth-of-type(3){transform:rotate(120deg)}
.sigil-scc2 .blade{position:absolute;width:3px;height:190px;background:linear-gradient(#d6d3cc,#5d5650);transform:rotate(28deg);box-shadow:0 0 18px rgba(255,255,255,.1)}
.sigil-scc2 .banner{position:absolute;width:120px;height:160px;background:linear-gradient(165deg,rgba(145,37,50,.76),rgba(70,15,22,.25));clip-path:polygon(0 0,100% 10%,100% 80%,48% 100%,0 82%);transform:rotate(-5deg)}
.sigil-scc2 .mini-crown{position:relative;font-size:66px;color:#e1c57c}
.living-map{position:absolute;inset:20px 18px}
.living-map svg{width:100%;height:100%;position:absolute;inset:0}
.living-map path{fill:none;stroke:rgba(107,210,157,.28);stroke-width:.55;stroke-dasharray:2 2}
.living-map span{position:absolute;left:var(--x);top:var(--y);width:11px;height:11px;border:1px solid #82d0ab;border-radius:50%;box-shadow:0 0 16px rgba(98,200,145,.42);transform:translate(-50%,-50%)}
.living-map span:after{content:"";position:absolute;inset:3px;border-radius:50%;background:#9bdbb7}
.featured-ribbon,.status-chip{
  position:absolute;z-index:5;top:18px;left:18px;padding:8px 10px;font:600 8px/1 "Cinzel",serif;letter-spacing:.16em
}
.featured-ribbon{background:#7e2632;color:#f4e9e8;border:1px solid rgba(255,255,255,.13)}
.status-chip{display:flex;align-items:center;gap:7px;background:rgba(21,61,45,.75);border:1px solid rgba(116,210,160,.28);color:#a6e3c4}
.status-chip i{width:6px;height:6px;border-radius:50%;background:#71d7a2;box-shadow:0 0 10px #71d7a2}
.game-card-body{padding:28px 28px 26px;display:flex;flex:1;flex-direction:column;position:relative;z-index:2}
.game-kicker{margin:0 0 10px;font:600 9px/1 "Cinzel",serif;letter-spacing:.24em;color:var(--gold)}
.game-card h3{font:600 clamp(21px,2.1vw,30px)/1.2 "Cinzel",serif;letter-spacing:.03em;margin:0 0 16px}
.game-card h3 em{font-style:normal;font-size:.7em;color:#a5cdb7}
.game-description{font-size:13px;color:#a9afba;margin:0 0 22px}
.game-meta{display:flex;gap:7px;flex-wrap:wrap;margin:auto 0 26px}
.game-meta span{padding:6px 8px;border:1px solid rgba(255,255,255,.08);font:500 7px/1 "Cinzel",serif;letter-spacing:.12em;color:#868f9d}
.game-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
.btn-card{padding:13px 16px;border:1px solid rgba(211,173,98,.45);font:600 9px/1 "Cinzel",serif;letter-spacing:.13em;transition:.25s ease}
.btn-card:hover{background:var(--gold);color:#13171e}
.link-arrow{font:600 8px/1 "Cinzel",serif;letter-spacing:.12em;color:#858d99}
.link-arrow:hover{color:var(--gold2)}

.world-section{padding-top:120px;padding-bottom:130px;overflow:hidden}
.world-section:before{content:"";position:absolute;inset:12% 0;background:linear-gradient(90deg,transparent,rgba(211,173,98,.035),transparent);border-top:1px solid rgba(211,173,98,.07);border-bottom:1px solid rgba(211,173,98,.07)}
.world-shell{max-width:1400px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;position:relative}
.world-intro{color:var(--muted);font-size:15px;max-width:520px;margin:24px 0 34px}
.world-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.world-stat-grid div{padding:20px 12px 20px 0;border-right:1px solid var(--line)}
.world-stat-grid div:last-child{border-right:0;padding-left:16px}
.world-stat-grid strong{display:block;font:600 28px/1 "Cinzel",serif;color:var(--gold2);margin-bottom:8px}
.world-stat-grid span{display:block;font:500 7px/1.45 "Cinzel",serif;letter-spacing:.14em;color:#87909d}
.continent-panel{position:relative;min-height:520px;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(84,103,132,.1),transparent 60%)}
.continent-svg{width:100%;filter:drop-shadow(0 25px 40px rgba(0,0,0,.35))}
.landmass{fill:rgba(30,40,52,.82);stroke:rgba(220,196,146,.34);stroke-width:2}
.ridge{fill:none;stroke:rgba(214,185,130,.21);stroke-width:5;stroke-linecap:round;stroke-dasharray:2 11}
.river{fill:none;stroke:rgba(106,151,195,.3);stroke-width:3}
.map-city circle{fill:#d8ba78;filter:url(#glow)}
.map-city text{fill:#9ea6b3;font:600 9px "Cinzel",serif;letter-spacing:1px}
.map-caption{position:absolute;bottom:20px;right:0;font:500 8px/1 "Cinzel",serif;letter-spacing:.18em;color:#646e7d}

.chronicle-section{background:linear-gradient(180deg,#070a12,#0a0d15 45%,#070a12)}
.timeline{max-width:1060px;margin:0 auto;position:relative}
.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--gold) 10%,rgba(211,173,98,.2) 90%,transparent)}
.timeline-entry{width:50%;padding:30px 58px 70px 0;position:relative}
.timeline-entry:nth-of-type(odd){margin-left:50%;padding:30px 0 70px 58px}
.timeline-marker{
  position:absolute;right:-24px;top:34px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:#0b101a;border:1px solid rgba(211,173,98,.48);color:var(--gold2);
  font:600 12px/1 "Cinzel",serif;box-shadow:0 0 25px rgba(211,173,98,.09)
}
.timeline-entry:nth-of-type(odd) .timeline-marker{left:-24px;right:auto}
.timeline-card{padding:28px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(145deg,rgba(18,26,40,.72),rgba(8,12,20,.55));position:relative}
.timeline-card>span{font:600 8px/1 "Cinzel",serif;letter-spacing:.2em;color:var(--gold)}
.timeline-card h3{margin:10px 0 10px;font:600 25px/1.2 "Cinzel",serif}
.timeline-card p{color:#9da5b1;font-size:13px;margin:0 0 20px}
.timeline-card a{font:600 8px/1 "Cinzel",serif;letter-spacing:.13em;color:#c8b47d}
.timeline-entry-future .timeline-marker{border-color:rgba(102,196,147,.5);color:#86d7ae}
.timeline-entry-future .timeline-card{border-color:rgba(96,167,129,.16)}

.development-section{max-width:1560px;margin:auto}
.development-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}
.text-link{font:600 9px/1.2 "Cinzel",serif;letter-spacing:.16em;color:#9b8560;padding-bottom:8px;border-bottom:1px solid rgba(211,173,98,.25)}
.text-link:hover{color:var(--gold2)}
.dev-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:16px}
.dev-feature,.dev-card{
  border:1px solid rgba(255,255,255,.07);background:rgba(14,20,31,.62);min-height:250px;position:relative;overflow:hidden
}
.dev-feature{padding:34px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.dev-feature:before{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border:1px solid rgba(211,173,98,.08);border-radius:50%}
.dev-version{font:600 38px/1 "Cinzel",serif;color:var(--gold2);writing-mode:vertical-rl;transform:rotate(180deg);opacity:.75}
.dev-date{font:600 8px/1 "Cinzel",serif;letter-spacing:.18em;color:#737d8b}
.dev-feature h3,.dev-card h3{font:600 clamp(18px,2vw,27px)/1.2 "Cinzel",serif;margin:10px 0}
.dev-feature p:last-child,.dev-card p{font-size:12px;color:#959daa;margin:0}
.dev-feature>a{font-size:24px;color:var(--gold);align-self:start}
.dev-card{padding:30px;display:flex;flex-direction:column;justify-content:flex-end}
.dev-card>span{font:600 8px/1 "Cinzel",serif;letter-spacing:.18em;color:var(--gold)}
.dev-card:before{content:"";position:absolute;left:30px;top:30px;width:48px;height:48px;border-top:1px solid rgba(211,173,98,.25);border-left:1px solid rgba(211,173,98,.25)}

.about-section{max-width:1180px;margin:auto;display:grid;grid-template-columns:260px 1fr;gap:70px;align-items:center}
.about-mark{aspect-ratio:1;display:grid;place-items:center;position:relative}
.about-mark:before,.about-mark:after{content:"";position:absolute;border:1px solid rgba(211,173,98,.16);border-radius:50%}
.about-mark:before{inset:0}.about-mark:after{inset:24px}
.about-mark img{width:140px;filter:drop-shadow(0 0 30px rgba(211,173,98,.12))}
.about-copy h2{max-width:760px}
.about-copy>p:nth-of-type(2){color:#9ca4b0;font-size:15px;max-width:700px;margin:26px 0}
.about-links{display:flex;gap:28px;flex-wrap:wrap}
.about-links a{font:600 9px/1 "Cinzel",serif;letter-spacing:.14em;color:#c8b47d}

.final-cta{
  position:relative;z-index:3;min-height:520px;display:grid;place-items:center;text-align:center;padding:80px 20px;
  background:
    linear-gradient(rgba(7,10,18,.5),#070a12),
    radial-gradient(circle at 50% 35%,rgba(211,173,98,.12),transparent 30%),
    linear-gradient(120deg,#111727,#0a0e17 55%,#171011)
}
.final-cta:before{content:"";position:absolute;inset:10%;border:1px solid rgba(211,173,98,.08);pointer-events:none}
.final-cta span{font:600 9px/1 "Cinzel",serif;letter-spacing:.28em;color:var(--gold)}
.final-cta h2{font:600 clamp(44px,7vw,94px)/.95 "Cinzel",serif;letter-spacing:.08em;margin:16px 0 34px}

.site-footer{
  position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:28px clamp(20px,5vw,84px);border-top:1px solid rgba(255,255,255,.07);background:#060910
}
.footer-brand{display:flex;align-items:center;gap:10px;font:600 9px/1 "Cinzel",serif;letter-spacing:.16em}
.footer-brand img{width:30px}
.site-footer p,.site-footer>a{font:500 8px/1.4 "Cinzel",serif;letter-spacing:.1em;color:#697281}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1100px){
  .desktop-nav{display:none}
  .menu-button{display:block}
  .mobile-nav{
    position:fixed;inset:68px 0 0;background:rgba(6,9,16,.97);backdrop-filter:blur(14px);
    padding:70px 24px;flex-direction:column;align-items:center;gap:30px
  }
  .mobile-nav.open{display:flex}
  .mobile-nav a{font:600 18px/1 "Cinzel",serif;letter-spacing:.15em}
  .game-grid{grid-template-columns:1fr;max-width:720px}
  .game-card{min-height:0;display:grid;grid-template-columns:45% 55%}
  .game-art{height:100%;min-height:410px;border-bottom:0;border-right:1px solid rgba(255,255,255,.07)}
  .game-card-body{padding:36px}
  .featured-ribbon,.status-chip{left:auto;right:18px}
  .world-shell{grid-template-columns:1fr;gap:40px}
  .world-copy{max-width:760px}
  .continent-panel{min-height:430px}
  .dev-grid{grid-template-columns:1fr 1fr}
  .dev-feature{grid-column:1/-1}
}
@media (max-width:720px){
  :root{--header-h:66px}
  .site-header{height:66px;padding:0 16px}
  .site-header.scrolled{height:60px}
  .brand strong{font-size:11px}.brand small{font-size:7px}.brand img{width:34px;height:34px}
  .play-button{display:none}
  .header-actions{gap:4px}
  .hero{padding-top:100px}
  .hero-crown-wrap{width:100px;height:90px}.hero-crown{width:80px}
  .hero h1{font-size:clamp(39px,14vw,70px);line-height:.88}
  .hero h1 span{letter-spacing:.28em;margin-left:.28em}
  .hero-sub{font-size:11px;letter-spacing:.13em}
  .hero-copy{font-size:12px;max-width:90%}
  .hero-actions{flex-direction:column;align-items:center}.btn{width:min(100%,320px)}
  .scroll-hint{display:none}
  .section{padding:84px 18px}
  .section-heading{margin-bottom:38px}
  .section-heading h2,.world-copy h2,.development-header h2,.about-copy h2{font-size:34px}
  .game-card{display:flex}
  .game-art{height:260px;min-height:260px;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .game-card-body{padding:24px}
  .game-actions{align-items:flex-end}
  .world-stat-grid{grid-template-columns:1fr}
  .world-stat-grid div,.world-stat-grid div:last-child{border-right:0;border-bottom:1px solid var(--line);padding:16px 0}
  .world-stat-grid div:last-child{border-bottom:0}
  .continent-panel{min-height:300px}
  .map-caption{position:static;margin-top:8px;text-align:right}
  .timeline-line{left:23px}
  .timeline-entry,.timeline-entry:nth-of-type(odd){width:100%;margin:0;padding:12px 0 42px 58px}
  .timeline-marker,.timeline-entry:nth-of-type(odd) .timeline-marker{left:0;right:auto;top:16px}
  .timeline-card{padding:22px}
  .development-header{align-items:flex-start;flex-direction:column}
  .dev-grid{grid-template-columns:1fr}
  .dev-feature{grid-template-columns:1fr;gap:16px}
  .dev-version{writing-mode:initial;transform:none;font-size:26px}
  .dev-feature>a{position:absolute;right:24px;top:24px}
  .about-section{grid-template-columns:1fr;gap:30px}
  .about-mark{width:180px;margin:auto}
  .about-mark img{width:100px}
  .final-cta{min-height:430px}
  .site-footer{flex-direction:column;text-align:center}
  .cursor-glow{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  #particleCanvas{display:none}
  .reveal{opacity:1;transform:none}
}


/* v1.1 — Real gameplay screenshot launcher cards */
.game-art-shot{
  height:285px;
  background:#080c13!important;
}
.game-art-shot:before{
  z-index:2;
  background:
    linear-gradient(to bottom,rgba(3,7,12,.03) 38%,rgba(4,8,14,.35) 70%,rgba(5,9,16,.94) 100%),
    linear-gradient(90deg,rgba(4,8,14,.18),transparent 20%,transparent 80%,rgba(4,8,14,.18));
}
.game-shot{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .75s var(--ease),filter .55s ease;
  filter:saturate(.9) contrast(1.03) brightness(.88);
}
.game-shot-scc1{object-position:50% 48%}
.game-shot-scc2{object-position:48% 46%}
.game-shot-lw{object-position:50% 49%}
.game-card:hover .game-shot{
  transform:scale(1.035);
  filter:saturate(1) contrast(1.04) brightness(.96);
}
.game-art-overlay{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 45px rgba(0,0,0,.34);
  background:
    linear-gradient(to top,rgba(7,10,18,.82),transparent 42%),
    linear-gradient(115deg,rgba(211,173,98,.035),transparent 34%);
}
.shot-badge{
  position:absolute;
  z-index:4;
  top:16px;
  right:16px;
  padding:7px 9px;
  border:1px solid rgba(243,223,176,.26);
  background:rgba(5,9,16,.68);
  backdrop-filter:blur(5px);
  color:#e8dcc1;
  font:600 7px/1 "Cinzel",serif;
  letter-spacing:.18em;
}
.game-art-shot .game-index{
  z-index:4;
  color:rgba(255,255,255,.12);
  text-shadow:0 4px 24px rgba(0,0,0,.8);
}
.game-card-scc1 .game-art-shot{border-bottom-color:rgba(111,151,207,.18)}
.game-card-scc2 .game-art-shot{border-bottom-color:rgba(184,68,79,.2)}
.game-card-lw .game-art-shot{border-bottom-color:rgba(94,165,132,.18)}

@media (max-width:1100px){
  .game-art-shot{
    height:auto;
    min-height:380px;
  }
  .game-shot{
    object-position:center center;
  }
}
@media (max-width:720px){
  .game-art-shot{
    height:230px;
    min-height:230px;
  }
  .shot-badge{top:12px;right:12px}
}


/* v1.2 — Character visual integration */
.hero-characters{
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
}
.hero-character{
  position:absolute;
  bottom:-8%;
  filter:drop-shadow(0 30px 45px rgba(0,0,0,.45));
  opacity:.76;
  transition:transform .8s var(--ease),opacity .8s ease;
}
.hero-character img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero-character-scc1{
  left:-2%;
  width:min(30vw,430px);
  height:72%;
  transform:translateX(-4%) rotate(-1.5deg);
}
.hero-character-scc2{
  left:15%;
  width:min(24vw,340px);
  height:60%;
  bottom:-7%;
  opacity:.44;
  transform:translateX(-4%);
}
.hero-character-lw{
  right:-1%;
  width:min(39vw,610px);
  height:80%;
  opacity:.79;
  transform:translateX(5%);
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,10,18,.18) 0%,rgba(7,10,18,.72) 31%,rgba(7,10,18,.78) 69%,rgba(7,10,18,.14) 100%),
    linear-gradient(to top,#070a12 0%,transparent 33%);
}
.hero-content{z-index:4}
.hero-vignette{z-index:2}

.game-character{
  position:absolute;
  z-index:4;
  bottom:-10px;
  right:-8px;
  height:94%;
  width:auto;
  max-width:58%;
  object-fit:contain;
  object-position:right bottom;
  pointer-events:none;
  filter:drop-shadow(-10px 10px 20px rgba(0,0,0,.46));
  transition:transform .55s var(--ease),filter .55s ease;
}
.game-card:hover .game-character{
  transform:translateY(-3px) scale(1.025);
  filter:drop-shadow(-12px 14px 24px rgba(0,0,0,.55));
}
.game-character-scc1{height:96%;right:-2%;max-width:54%}
.game-character-scc2{height:99%;right:-1%;max-width:56%}
.game-character-lw{height:106%;right:-8%;bottom:-17px;max-width:63%}
.game-art-shot .game-shot{transform-origin:42% 50%}
.game-card:hover .game-shot{transform:scale(1.045)}
.game-card-scc1 .game-art-overlay{
  background:linear-gradient(90deg,rgba(6,10,18,.02) 0%,rgba(8,13,22,.05) 46%,rgba(9,13,22,.58) 100%),linear-gradient(to top,rgba(7,10,18,.86),transparent 42%)
}
.game-card-scc2 .game-art-overlay{
  background:linear-gradient(90deg,rgba(6,10,18,.02) 0%,rgba(15,8,12,.06) 45%,rgba(28,8,13,.57) 100%),linear-gradient(to top,rgba(7,10,18,.86),transparent 42%)
}
.game-card-lw .game-art-overlay{
  background:linear-gradient(90deg,rgba(6,10,18,.02) 0%,rgba(6,14,12,.04) 46%,rgba(9,26,18,.58) 100%),linear-gradient(to top,rgba(7,10,18,.88),transparent 44%)
}

.character-showcase{
  max-width:1480px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:clamp(36px,6vw,88px);
  align-items:center;
  padding-top:90px;
  padding-bottom:110px;
}
.character-showcase:before{
  content:"";
  position:absolute;
  left:5%;
  right:5%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}
.character-showcase-visual{
  position:relative;
  min-height:620px;
  overflow:hidden;
  border:1px solid rgba(211,173,98,.15);
  background:#e9e4df;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
}
.character-showcase-visual img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:cover;
  object-position:50% 40%;
  filter:saturate(.93) contrast(1.02);
}
.character-showcase-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,10,18,.02),rgba(7,10,18,.05) 58%,rgba(7,10,18,.3)),
    linear-gradient(to top,rgba(7,10,18,.42),transparent 35%);
  box-shadow:inset 0 0 65px rgba(7,10,18,.13);
}
.character-showcase-copy{max-width:560px}
.character-showcase-copy h2{
  margin:0 0 26px;
  font:600 clamp(34px,4.7vw,64px)/1.02 "Cinzel",serif;
  letter-spacing:.05em;
}
.character-showcase-copy>p:nth-of-type(2){
  color:#a8afba;
  font-size:15px;
  margin:0 0 30px;
}
.character-showcase-copy .text-link{display:inline-block}

@media (max-width:1100px){
  .hero-character-scc1{left:-9%;width:36vw;height:64%}
  .hero-character-scc2{display:none}
  .hero-character-lw{right:-8%;width:49vw;height:73%}
  .game-character{max-width:50%}
  .character-showcase{grid-template-columns:1fr;max-width:780px}
  .character-showcase-visual{min-height:520px}
  .character-showcase-visual img{min-height:520px}
  .character-showcase-copy{max-width:700px}
}
@media (max-width:720px){
  .hero-character-scc1{
    left:-32%;
    width:76vw;
    height:52%;
    opacity:.34;
  }
  .hero-character-lw{
    right:-36%;
    width:92vw;
    height:58%;
    opacity:.42;
  }
  .hero:after{
    background:
      linear-gradient(90deg,rgba(7,10,18,.55),rgba(7,10,18,.7)),
      linear-gradient(to top,#070a12 0%,transparent 34%);
  }
  .game-character{
    height:92%;
    max-width:49%;
    opacity:.88;
  }
  .game-character-lw{height:103%;max-width:56%}
  .character-showcase{padding-top:72px;padding-bottom:78px}
  .character-showcase-visual{min-height:430px}
  .character-showcase-visual img{min-height:430px;object-position:50% 36%}
  .character-showcase-copy h2{font-size:35px}
}


/* v1.5 — Living World ONLINE */
.game-card-online{
  border-color:rgba(100,170,220,.18);
  background:linear-gradient(160deg,rgba(13,28,43,.96),rgba(7,12,20,.99));
}
.game-card-online .game-art{
  background:radial-gradient(circle at 50% 42%,rgba(65,151,214,.26),transparent 38%),linear-gradient(135deg,#0b1c2b,#071016 72%);
}
.game-shot-online{filter:saturate(.82) hue-rotate(12deg) brightness(.72)}
.game-card-online .game-art-overlay{
  background:linear-gradient(to top,rgba(4,10,18,.86),rgba(3,12,22,.16) 55%,rgba(29,85,125,.13));
}
.online-status{
  border-color:rgba(100,180,235,.35);
  color:#a9d7f4;
}
.online-status i{background:#74bff0;box-shadow:0 0 12px rgba(116,191,240,.72)}
.online-network{position:absolute;inset:0;z-index:3;pointer-events:none}
.online-network svg{position:absolute;inset:0;width:100%;height:100%}
.online-network path{
  fill:none;stroke:rgba(137,207,248,.42);stroke-width:.55;stroke-dasharray:2 2;
  filter:drop-shadow(0 0 4px rgba(88,181,236,.35));
}
.online-network i{
  position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;border-radius:50%;
  transform:translate(-50%,-50%);border:1px solid rgba(168,222,253,.82);
  background:rgba(91,183,236,.45);box-shadow:0 0 17px rgba(83,185,244,.65)
}
.game-card-online .shot-badge{
  border-color:rgba(120,194,238,.28);color:#bfe5fb;background:rgba(4,18,31,.72)
}
.game-card-online .game-kicker{color:#8ec9ec}
.game-card-online .btn-card{border-color:rgba(111,189,235,.42)}
.game-card-online .btn-card:hover{background:#8ec9ec;color:#07111a}
.online-alpha-note{cursor:default;color:#7ba8c2}
.timeline-entry-online .timeline-marker{border-color:rgba(103,183,230,.55);color:#9fd8f5}
.timeline-entry-online .timeline-card{border-color:rgba(83,159,205,.2);background:linear-gradient(145deg,rgba(11,31,46,.74),rgba(7,13,22,.58))}
.timeline-entry-online .timeline-card>span{color:#8ccbeb}
.dev-card-online{border-color:rgba(87,165,212,.18);background:linear-gradient(150deg,rgba(11,31,46,.74),rgba(10,16,27,.68))}
.dev-card-online>span{color:#8ccbeb}
.dev-card-online:before{border-color:rgba(110,191,238,.28)}
@media (min-width:1101px) and (max-width:1260px){
  .game-grid{max-width:1080px}
}

.dev-feature-online{border-color:rgba(90,175,225,.22);background:linear-gradient(145deg,rgba(10,31,47,.78),rgba(9,16,26,.76));}
.dev-feature-online .dev-version{color:#9fd8f5}
.online-footer-link{color:#8fc9ea!important}


/* v1.7 — Living World orchestral theme */
.music-section{max-width:1380px;margin:auto}
.music-heading{
  display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px
}
.music-heading>div>p:last-child{max-width:760px;color:#99a3b1;font-size:14px;margin-top:12px}
.music-badge{
  flex:0 0 auto;padding:9px 12px;border:1px solid rgba(211,173,98,.25);
  color:#d4bd82;font:600 8px/1 "Cinzel",serif;letter-spacing:.16em;background:rgba(211,173,98,.035)
}
.music-feature{
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(145deg,rgba(18,26,40,.78),rgba(8,12,20,.9));
  overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.24)
}
.music-video-wrap{
  min-height:420px;background:#05070b;position:relative;border-right:1px solid rgba(255,255,255,.07)
}
.music-video-wrap:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  box-shadow:inset 0 0 70px rgba(0,0,0,.28)
}
.music-video-wrap video{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;background:#05070b}
.music-copy{padding:42px 38px;display:flex;flex-direction:column;justify-content:center}
.music-kicker{
  font:600 8px/1 "Cinzel",serif;letter-spacing:.18em;color:var(--gold);margin:0 0 15px
}
.music-copy h3{font:600 clamp(24px,3vw,38px)/1.15 "Cinzel",serif;margin:0 0 18px}
.music-copy>p:not(.music-kicker):not(.music-note){font-size:13px;color:#a3acb8;margin:0}
.music-tags{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0}
.music-tags span{
  padding:7px 9px;border:1px solid rgba(211,173,98,.16);
  color:#bca978;font:600 7px/1 "Cinzel",serif;letter-spacing:.11em
}
.music-note{font-size:10px;color:#717c8c;margin:0;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}
@media (max-width:900px){
  .music-heading{display:block}
  .music-badge{display:inline-block;margin-top:18px}
  .music-feature{grid-template-columns:1fr}
  .music-video-wrap{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .music-video-wrap video{height:auto;min-height:0;aspect-ratio:16/9}
}
@media (max-width:720px){
  .music-copy{padding:28px 22px}
}


/* v1.8 — SCC Music Library */
.music-library-head{
  margin-top:64px;padding-top:42px;border-top:1px solid rgba(211,173,98,.15);
  display:flex;align-items:end;justify-content:space-between;gap:30px
}
.music-library-head h3{font:600 clamp(25px,3vw,40px)/1.1 "Cinzel",serif;margin:8px 0 0}
.music-library-head>p{max-width:520px;color:#939dac;font-size:13px;margin:0;text-align:right}
.music-library{
  margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px
}
.music-track{
  position:relative;padding:27px 28px 24px;border:1px solid rgba(255,255,255,.075);
  background:linear-gradient(145deg,rgba(15,23,36,.82),rgba(8,12,20,.88));overflow:hidden
}
.music-track:before{
  content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:rgba(211,173,98,.45)
}
.music-track-featured{
  border-color:rgba(139,190,225,.20);
  background:
    radial-gradient(circle at 92% 8%,rgba(115,178,218,.12),transparent 28%),
    linear-gradient(145deg,rgba(13,27,42,.88),rgba(8,13,21,.9))
}
.music-track-featured:before{background:#8bc1e4}
.music-track-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px}
.music-series,.music-time{
  font:600 7px/1 "Cinzel",serif;letter-spacing:.15em;color:#a98f5d
}
.music-track-featured .music-series{color:#9bcce8}
.music-time{color:#707b89}
.music-track h4{font:600 22px/1.25 "Noto Serif JP",serif;margin:0 0 4px;color:#eee6d4}
.music-en-title{font:600 9px/1.35 "Cinzel",serif;letter-spacing:.08em;color:#8f98a5;margin:0 0 15px}
.music-track>p[data-i18n]{min-height:42px;color:#99a2af;font-size:12px;margin:0 0 18px}
.music-track audio{width:100%;height:34px;filter:invert(.88) hue-rotate(175deg) saturate(.65);opacity:.9}
@media(max-width:900px){
  .music-library{grid-template-columns:1fr}
  .music-library-head{display:block}
  .music-library-head>p{margin-top:12px;text-align:left}
}
@media(max-width:720px){
  .music-library-head{margin-top:46px;padding-top:30px}
  .music-track{padding:22px 20px 20px}
}


/* v1.9 — Beyond Memory and Prayer */
.music-feature-audio{
  min-height:420px;
}
.music-feature-art{
  position:relative;min-height:420px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;
  border-right:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 50% 36%,rgba(211,173,98,.16),transparent 24%),
    radial-gradient(circle at 50% 56%,rgba(92,119,157,.12),transparent 43%),
    linear-gradient(155deg,#131a27 0%,#090e17 58%,#06090f 100%);
}
.music-feature-art:before{
  content:"";position:absolute;inset:8%;
  border:1px solid rgba(211,173,98,.08);
  transform:rotate(45deg) scale(.55);
  box-shadow:0 0 80px rgba(211,173,98,.05);
}
.music-feature-art:after{
  content:"";position:absolute;left:12%;right:12%;bottom:18%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(211,173,98,.35),transparent);
}
.music-feature-emblem{position:relative;z-index:1;width:132px;margin-bottom:24px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.38))}
.music-feature-emblem img{display:block;width:100%;height:auto}
.music-feature-title{position:relative;z-index:1}
.music-feature-title span{
  display:block;margin-bottom:12px;color:#a98f5d;
  font:600 8px/1 "Cinzel",serif;letter-spacing:.28em
}
.music-feature-title strong{
  display:block;color:#eee4ce;
  font:600 clamp(24px,3.1vw,43px)/1.12 "Cinzel",serif;letter-spacing:.05em;
  text-shadow:0 3px 28px rgba(0,0,0,.42)
}
.music-feature-en{
  margin:-9px 0 19px!important;color:#b8a67c!important;
  font:600 9px/1.5 "Cinzel",serif!important;letter-spacing:.055em
}
.music-feature-player{
  width:100%;height:38px;margin-top:4px;
  filter:invert(.88) hue-rotate(175deg) saturate(.65);opacity:.94
}
@media(max-width:900px){
  .music-feature-audio{min-height:0}
  .music-feature-art{min-height:360px;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
}
@media(max-width:600px){
  .music-feature-art{min-height:310px}
  .music-feature-emblem{width:104px}
}


/* v1.10 — Beyond the Flames, I Remember You */
.music-feature-art-flames{
  background:
    radial-gradient(circle at 50% 33%,rgba(214,171,88,.20),transparent 23%),
    radial-gradient(circle at 48% 70%,rgba(118,47,32,.14),transparent 36%),
    linear-gradient(155deg,#171a24 0%,#100f16 52%,#090b10 100%);
}
.music-feature-art-flames:after{
  background:linear-gradient(90deg,transparent,rgba(226,174,93,.50),transparent);
}


/* v1.13 — Official Lyrics detail link */
.music-lyrics-link{
  display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:10px 12px;
  border:1px solid rgba(211,173,98,.34);color:#dcc590;
  font:600 8px/1 "Cinzel",serif;letter-spacing:.11em;transition:.2s ease
}
.music-lyrics-link:hover{background:rgba(211,173,98,.08);border-color:rgba(211,173,98,.6);color:#f1d394}
.music-lyrics-link-card{margin-top:14px;width:100%}


/* v1.14 — Living World Grand Concept */
.game-action-links{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.grand-concept-teaser{
  max-width:1380px;margin:0 auto;padding-top:115px;padding-bottom:120px;
  display:grid;grid-template-columns:minmax(220px,.48fr) minmax(0,1.3fr);gap:70px;align-items:center;
  position:relative;overflow:hidden;border-top:1px solid rgba(211,173,98,.06);border-bottom:1px solid rgba(211,173,98,.06)
}
.grand-concept-glow{position:absolute;inset:5% 0;background:radial-gradient(circle at 23% 45%,rgba(211,173,98,.08),transparent 22%),radial-gradient(circle at 75% 48%,rgba(77,151,196,.055),transparent 27%);pointer-events:none}
.grand-concept-mark{position:relative;display:grid;place-items:center;min-height:330px}
.grand-concept-mark:before,.grand-concept-mark:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;border:1px solid rgba(211,173,98,.08)}
.grand-concept-mark:after{width:210px;height:210px;border-color:rgba(211,173,98,.06)}
.grand-concept-mark img{width:128px;position:relative;z-index:2;filter:drop-shadow(0 18px 34px rgba(0,0,0,.42))}
.grand-concept-copy{position:relative;z-index:2;max-width:900px}
.grand-concept-copy h2{font-size:clamp(38px,5.6vw,72px);line-height:1.18;margin:0 0 22px;letter-spacing:.015em}
.grand-concept-lead{max-width:780px;color:#adb5c0;font-size:14px;line-height:1.95;margin:0 0 27px}
.grand-concept-copy blockquote{margin:0 0 30px;padding:21px 24px;border-left:2px solid var(--gold);background:rgba(211,173,98,.035);color:#d2c8b2;font-size:13px;line-height:1.9}
.grand-concept-link{display:inline-block;padding:12px 0;border-bottom:1px solid rgba(211,173,98,.38);color:#dbc58f;font:600 9px/1 "Cinzel",serif;letter-spacing:.12em}
@media(max-width:900px){.grand-concept-teaser{grid-template-columns:1fr;gap:18px}.grand-concept-mark{min-height:230px}.grand-concept-mark:before{width:210px;height:210px}.grand-concept-mark:after{width:150px;height:150px}.grand-concept-mark img{width:92px}}
@media(max-width:640px){.grand-concept-teaser{padding-top:78px;padding-bottom:82px}.grand-concept-copy h2{font-size:39px}.game-action-links{align-items:flex-end}.grand-concept-mark{min-height:190px}}
