@font-face{font-family:Barlow;src:url('../assets/fonts/Barlow-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url('../assets/fonts/Barlow-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{color-scheme:dark;--paper:#eee6cb;--ink:#123d37;--gold:#e6c479;--muted:#afc9b9;--line:#e8c68247}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0d2926;color:var(--paper);font:16px/1.6 Barlow,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,select,input{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#163b33;padding:12px 18px}button:hover{background:#285447}:focus-visible{outline:3px solid #fcde97;outline-offset:5px}.site-head{min-height:82px;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,5vw,80px);gap:24px;border-bottom:1px solid var(--line);background:#102e29}.brand{font:700 23px/1.1 Georgia,serif;text-decoration:none;color:#f4dfaa;letter-spacing:1px}.brand span{display:block;font:600 9px/1.6 Barlow,sans-serif;letter-spacing:3.3px;margin-top:5px;color:#b5cbb6}.site-head nav{display:flex;gap:26px;align-items:center;font-size:13px}.site-head nav a{text-decoration:none}.site-head nav [aria-current]{color:var(--gold)}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600;color:var(--gold);text-transform:uppercase;margin:0 0 15px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(30px,4vw,48px);line-height:1.15}p{color:#c8d6c8}.title-stage{min-height:calc(100svh - 82px);position:relative;isolation:isolate;display:flex;align-items:center;padding:50px clamp(24px,7vw,112px);overflow:hidden}.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;z-index:-3}.title-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061d18ed,#092b23d9 28%,#0b28236b 55%,#09292300 80%),linear-gradient(0deg,#0d2926,transparent 25%);z-index:-2}.title-copy{max-width:540px}.edition{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:2.8px;margin-bottom:23px;color:#e9dfbb}.edition:before{content:'';display:block;width:39px;height:1px;background:var(--gold)}.title-copy h1{margin:0;font-size:clamp(68px,7.6vw,114px);line-height:.87;letter-spacing:-4px;color:#f6e8b8;text-shadow:0 3px 25px #00160e}.title-copy h1 .secret{display:block;font-size:.5em;line-height:1.35;letter-spacing:2px;font-style:italic}.title-copy h1 .ff7{display:block}.title-copy .subtitle{font:600 13px Barlow,sans-serif;letter-spacing:6px;color:#d8bd80;margin:22px 0 27px}.title-description{font-size:17px;max-width:380px;line-height:1.65;color:#d5e2cf}.title-menu{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:390px;margin-top:26px}.menu-start{grid-column:1/-1;background:linear-gradient(110deg,#e5c479,#f0dfad);color:#18372d;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:1.5px;box-shadow:0 5px 20px #001a1270}.menu-start span{font-size:22px;line-height:1}.menu-start:hover{background:#fff0c4}.menu-item{background:#0d3026ca;border:1px solid #d5c08377;text-align:center;padding:10px 12px;text-decoration:none;font-size:12px;color:#e9e3c9;backdrop-filter:blur(8px)}.menu-item:hover{background:#335443}.title-tools{display:flex;gap:23px;margin:23px 0 0}.title-tools button{border:0;background:transparent;padding:0;color:#cedac6;font-size:12px;text-decoration:underline;text-underline-offset:4px}.title-footnote{position:absolute;right:30px;bottom:24px;font-size:10px;letter-spacing:2px;color:#dbe5c8;text-align:right;text-shadow:0 1px 10px #002416}.section{padding:72px clamp(24px,6vw,96px)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-top h2{margin-bottom:9px}.section-top p{margin:0;max-width:510px;font-size:15px}.text-link{font-size:12px;color:#e9ce92;white-space:nowrap}.cast-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.cast-card{display:block;position:relative;min-width:0;text-align:center;text-decoration:none;background:linear-gradient(150deg,#e5ddbf,#c1d1b8);color:#193e34;overflow:hidden;border:1px solid #e8d49f66;padding:16px 10px 22px;transition:transform .18s,box-shadow .18s}.cast-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00191280}.cast-card:nth-child(-n+3){border-top:3px solid #e7c067}.cast-card:nth-child(n+4){background:linear-gradient(150deg,#c9c4d2,#b1bcc8)}.cast-card canvas{display:block;width:100%;height:250px;object-fit:contain}.cast-card strong{display:block;font:400 26px Georgia,serif;margin:16px 0 5px}.cast-card small{display:block;font-size:9px;font-weight:600;letter-spacing:1.3px}.cast-card .archetype{font-size:11px;letter-spacing:0;margin-top:6px;font-weight:400;color:#456053}.cast-number{position:absolute;top:11px;left:14px;font:12px Georgia,serif;opacity:.55}.stage-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stage-tile{border:1px solid var(--line);text-decoration:none;background:#16372f;overflow:hidden}.stage-picture{background:linear-gradient(#6c9b99,#c1c6aa 65%,#d8c794);aspect-ratio:16/9;overflow:hidden;position:relative}.stage-picture img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.stage-tile:hover img{transform:scale(1.025)}.stage-copy{padding:22px}.stage-tile h3{font-size:24px;margin:0 0 8px}.stage-tile small{color:#c3d0bb;font-size:12px}.night-section{background:linear-gradient(110deg,#122e37,#122b2b);border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.night-section p{max-width:480px}.night-image{border:1px solid var(--line);background:linear-gradient(#101c38,#766a82);position:relative}.night-image img{display:block;width:100%;filter:brightness(.62) saturate(.7)}.night-image span{position:absolute;bottom:12px;left:18px;font-size:9px;letter-spacing:2px;color:#eee6cf}.feature-notes{display:flex;gap:26px;margin-top:26px;font-size:11px;letter-spacing:1px;color:#e0d9b3}.feature-notes b{font:30px Georgia,serif;display:block;color:#e8c57d}.status{font-size:12px;color:#b9cdb9;margin:18px 0 0}.status.error{color:#ffd29f}.site-foot{padding:28px clamp(24px,6vw,96px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px;color:#a9c0ad}.site-foot p{margin:0;font-size:10px;color:#a9c0ad}.site-foot strong{font:17px Georgia,serif;color:#dbc894}.site-foot a{font-size:11px}dialog#controls{background:#15372f;color:#f1e8d0;border:1px solid #cfb37b;max-width:min(800px,92vw);max-height:88svh;overflow:auto;padding:38px}dialog::backdrop{background:#001711d6;backdrop-filter:blur(5px)}dialog h2{font-size:36px;margin-bottom:25px}.close{position:absolute;top:12px;right:14px;border:0;padding:0 8px;font-size:27px;background:transparent}.control-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.control-columns h3{font-size:24px}.control-columns p{font-size:12px}.control-columns kbd{display:inline-block;min-width:100px;font:11px monospace;color:#f1d18c}.control-tip{font-size:13px;margin-top:20px}.controls-links{display:flex;gap:12px}.gallery-main{max-width:1500px;margin:auto;padding:48px clamp(24px,6vw,96px) 72px}.gallery-title{font-size:clamp(43px,6vw,68px);line-height:1.05;margin:0 0 18px}.pose-lab{display:grid;grid-template-columns:1.4fr 1fr;border:1px solid var(--line);margin:35px 0;background:#e5dfc4}.lab-art{position:relative;min-width:0;background:radial-gradient(ellipse,#c3c3a8,transparent 68%)}.lab-art canvas{display:block;width:100%;height:500px;object-fit:contain}.lab-art>span{position:absolute;left:16px;bottom:15px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#3e5c4d}.lab-controls{padding:40px;background:#183f34;display:flex;flex-direction:column;justify-content:center;gap:12px}.lab-controls select,.stage-controls select{background:#f1e5c3;color:#173c31;border:1px solid #ceb67a;padding:11px;max-width:100%}.lab-controls label{font-size:12px}.lab-controls .eyebrow{margin-bottom:5px}.lab-controls .small-note{font-size:12px;line-height:1.65;margin:10px 0 0}.button{display:inline-block;padding:12px 20px;text-decoration:none;border:1px solid #d8bf82;font-size:12px;color:#f1dfb4}.button.primary{background:#e5c785;color:#1b3b2d;font-weight:600}.lab-controls .button{margin-top:10px;text-align:center}.stage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:16px 0 30px;font-size:12px}.stage-controls label{display:flex;align-items:center;gap:10px}.stage-controls input{accent-color:#e5c785}.stage-gallery{display:grid;gap:28px}.stage-card{display:grid;grid-template-columns:1.6fr 1fr;border:1px solid var(--line);background:#163a30;overflow:hidden}.stage-scene{display:flex;align-items:center;background:linear-gradient(#699b9a,#c0c6a5 70%,#d8c998);min-width:0}.stage-scene canvas{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}.stage-card>div{padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.stage-card h2{font-size:30px;margin-bottom:14px}.stage-card p{font-size:14px}.stage-notes{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.stage-notes h2{font-size:34px}.stage-notes h3{font-size:22px}.stage-notes p{font-size:14px}@media(min-width:1700px){.title-stage{min-height:850px}.title-copy{margin-left:4vw}}@media(max-width:1050px){.title-stage{min-height:760px}.cast-card canvas{height:210px}.cast-card strong{font-size:23px}.cast-card small{font-size:8px}.night-section{gap:35px}.site-head nav{gap:18px}.stage-card{grid-template-columns:1.4fr 1fr}.stage-card>div{padding:24px}}@media(max-width:760px){.site-head{padding:18px 22px;min-height:78px}.brand{font-size:19px}.brand span{font-size:8px;letter-spacing:2px}.site-head nav{gap:15px;font-size:11px}.title-stage{min-height:810px;align-items:flex-end;padding:300px 24px 70px}.cover{height:58%;object-position:58% 40%}.title-stage:after{background:linear-gradient(0deg,#0d2926 0%,#0d2926 37%,#0b2a23d9 55%,transparent 83%)}.title-copy{max-width:100%;width:100%}.title-copy h1{font-size:80px;letter-spacing:-3px}.title-copy h1 .secret{font-size:.42em}.title-copy .subtitle{font-size:10px;letter-spacing:4.5px;margin-top:16px}.edition{font-size:8px;margin-bottom:15px;letter-spacing:2px}.title-description{font-size:14px;max-width:350px}.title-menu{max-width:100%;margin-top:22px}.title-footnote{display:none}.section{padding:48px 22px}.section-top{align-items:flex-start;flex-direction:column;gap:13px}.cast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cast-card canvas{height:180px}.cast-card strong{font-size:22px}.cast-card small{font-size:7px}.cast-card .archetype{font-size:9px}.stage-strip{grid-template-columns:1fr;gap:18px}.stage-tile{display:grid;grid-template-columns:1fr 1fr;align-items:center}.stage-copy{padding:20px}.stage-tile h3{font-size:23px}.night-section{grid-template-columns:1fr;gap:25px}.site-foot{align-items:flex-start;flex-direction:column;gap:14px}.pose-lab{grid-template-columns:1fr}.lab-art canvas{height:390px}.lab-controls{padding:26px}.gallery-main{padding:35px 22px 48px}.stage-card{grid-template-columns:1fr}.stage-card>div{padding:26px}.stage-controls{gap:17px}.stage-notes{grid-template-columns:1fr;gap:10px}.control-columns{grid-template-columns:1fr;gap:6px}dialog#controls{padding:30px 24px}.control-columns p{margin-bottom:10px}}@media(max-width:430px){.site-head nav{gap:11px}.site-head nav a:first-child{display:none}.title-stage{padding-top:280px;min-height:800px}.title-copy h1{font-size:73px}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-card:nth-child(3){grid-column:1/-1;max-width:calc(50% - 5px);width:100%;justify-self:center}.cast-card canvas{height:190px}.cast-card small{font-size:8px}.stage-tile{grid-template-columns:1fr}.feature-notes{gap:24px}.controls-links{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Four-arena cards */ @media(min-width:761px){.stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep the three cover heroes together in the phone crop. */
@media(max-width:760px){.cover{height:340px;object-position:95% 35%;mask-image:linear-gradient(#000 0%,#000 72%,transparent 100%)}}
/* The three original heroes lead the expanded FF7 cast. */
.cast-card.party{background:linear-gradient(150deg,#dae2c2,#b4cbb0);border-top:2px solid #a7c995}.cast-card.rival{background:linear-gradient(150deg,#c9c4d2,#b1bcc8);border-top:2px solid #b5accd}.cast-card.main-hero{background:linear-gradient(150deg,#f0e4ba,#c8d6b7);border-top:4px solid #efca71}.cast-card.main-hero strong{color:#174332}
@media(min-width:761px){.cast-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cast-card.main-hero canvas{height:280px}.cast-card.party canvas,.cast-card.rival canvas{height:235px}}

:root{--paper:#eee9dd;--ink:#152935;--gold:#83d6c2;--muted:#afc7cb;--line:#a0d5d633}
body{background:#0a1823;color:#eee9dd}.site-head{background:#0b1b27}.brand{color:#f1ebd9}.brand span{color:#9fd2ce}.site-head nav a:hover{color:#a5e9d8}p{color:#c1cfd0}.title-stage:after{background:linear-gradient(90deg,#06141ef5,#081927e0 28%,#10263369 55%,#10202a00 80%),linear-gradient(0deg,#0a1823,transparent 25%)}
.title-copy{width:570px;max-width:100%}.title-copy h1{letter-spacing:-2px;color:#f3efdf}.title-copy h1 .fantasy{display:block;font-family:Georgia,serif;font-size:clamp(27px,3.2vw,48px);line-height:1.2;letter-spacing:1px;white-space:nowrap}.title-copy h1 .numeral{display:block;font-family:Georgia,serif;font-size:clamp(120px,12vw,176px);line-height:.85;letter-spacing:-10px;margin:8px 0 0 -5px}.title-copy .subtitle{color:#a5e6d4;letter-spacing:5px;margin-top:24px}.title-description{color:#e0e7df}.menu-start{background:linear-gradient(110deg,#91cfbc,#e0e6cd);color:#102a2b}.menu-start:hover{background:#dcf1db}.menu-item{background:#0b2230d9;border-color:#94bfc273}.menu-item:hover{background:#224758}.title-tools button{color:#c1dbd9}.title-footnote{color:#d8e9df}.text-link{color:#a3e0ce}.cast-card,.cast-card.party{background:linear-gradient(145deg,#d6ddd5,#aebdc2);color:#19313b;border-top:2px solid #86a8ad}.cast-card.main-hero{background:linear-gradient(145deg,#f0e8c9,#bcd4cb);border-top:4px solid #a4e6c9;box-shadow:0 0 22px #6fbca51c}.cast-card.main-hero strong{color:#193e3d}.cast-card.rival{background:linear-gradient(145deg,#d2ccdc,#a4b3c1);border-top:2px solid #c3bee2}.cast-card .archetype{color:#3a5660}.stage-tile,.stage-card{background:#132c39}.night-section{background:linear-gradient(110deg,#101d31,#132f36)}.site-foot{background:#08141e}.site-foot strong{color:#bcded3}.lab-controls{background:#17343e}.lab-controls select,.stage-controls select{background:#e4e3d2;color:#18343c}.pose-lab{background:#d5dccc}.button.primary{background:#a6d6c3;color:#15343b}dialog#controls{background:#132e3a;border-color:#84bcb8}.control-columns kbd{color:#b1e5cd}.control-tip{color:#c5d8d7}.feature-notes b{color:#a9dfca}.stage-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.stage-copy{padding:20px}.stage-tile h3{font-size:22px}
@media(max-width:1050px){.stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.title-copy h1 .fantasy{font-size:34px}}@media(max-width:760px){.title-copy h1 .fantasy{font-size:28px}.title-copy h1 .numeral{font-size:118px}.title-copy .subtitle{font-size:11px;letter-spacing:3.6px}.cover{object-position:62% center}.title-stage:after{background:linear-gradient(90deg,#071520f5,#0b1b28bb 58%,#0a182333),linear-gradient(0deg,#0a1823,transparent 50%)}.stage-strip{grid-template-columns:1fr 1fr}.stage-copy{padding:15px}.stage-tile h3{font-size:20px}.title-tools{gap:18px}}

@media(max-width:430px){.cast-grid>.cast-card:nth-child(3){grid-column:auto;max-width:none;justify-self:stretch;width:auto}.cast-grid>.cast-card:first-child{grid-column:1/-1;max-width:none;justify-self:stretch;width:auto}.cast-grid>.cast-card:first-child canvas{height:260px}}
.cast-grid>.cast-card.rival{grid-column:span 2;max-width:none;width:auto;justify-self:stretch}@media(max-width:430px){.cast-grid>.cast-card.rival canvas{height:250px}}
