:root{--ink:#f7f2f7;--muted:#b9acbc;--void:#08070d;--panel:#100d16;--line:#2e2533;--glow:#ff315f;--rose:#d91553;--violet:#9b5cff;--paper:#eadac7;--dark:#171019;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--void);color:var(--ink);font-family:var(--sans);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip{position:fixed;z-index:100;top:1rem;left:1rem;padding:.7rem 1rem;background:#fff;color:#000;transform:translateY(-150%)}.skip:focus{transform:none}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:linear-gradient(to bottom,rgba(7,6,11,.96),rgba(7,6,11,.62),transparent);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:.75rem;font-weight:750;letter-spacing:.2em;font-size:.86rem}.brand-mark{position:relative;display:grid;place-items:center;width:34px;height:34px;border:1px solid #aa9aab;border-radius:50%;font-family:var(--serif);font-size:1.25rem}.brand-mark:after{content:'';position:absolute;left:50%;top:-5px;bottom:-5px;width:1px;background:var(--glow)}nav{display:flex;gap:2rem;text-transform:uppercase;font-size:.78rem;letter-spacing:.14em}nav a{color:#b8aebb;padding:.5rem 0;border-bottom:1px solid transparent}nav a:hover,nav a.active{color:#fff;border-color:var(--glow)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:white;padding:.5rem .8rem}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:7rem clamp(1.25rem,7vw,7rem) 4rem;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('assets/glowcore-city-hero.png') center/cover no-repeat;transform:scale(1.015);animation:arrival 16s ease-out forwards}.hero-shade{background:linear-gradient(90deg,rgba(5,5,9,.93) 0%,rgba(5,5,9,.7) 30%,rgba(5,5,9,.06) 64%),linear-gradient(0deg,rgba(8,7,13,.9),transparent 35%)}@keyframes arrival{to{transform:scale(1.06)}}.hero-copy{position:relative;z-index:2;max-width:680px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#ff7896;font-size:.76rem;font-weight:750;margin:0 0 1.25rem}.hero h1,.section h2,.way h2,.factory h2,.scrolls h2,.citizen h2,.connect h2{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.045em}.hero h1{font-size:clamp(3.3rem,8vw,7.4rem);margin:0 0 1.5rem}.hero h1 em,.factory h2 em,.scrolls h2 em{color:#ff5378;font-weight:400}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.5vw,1.25rem);color:#d5cbd5;max-width:510px;margin-bottom:2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.9rem 1.15rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;font-size:.77rem;border:1px solid transparent;cursor:pointer}.button.primary{background:var(--glow);color:#16070b}.button.primary:hover{background:#ff6988}.button.outline{border-color:#8f788e}.button.outline:hover{border-color:var(--glow);color:#ff7896}.button.dark{background:#160d14;color:#fff}.hero-note{position:absolute;z-index:2;right:clamp(1.25rem,5vw,5rem);bottom:2.5rem;color:#c8b9c8;font-family:var(--serif);font-style:italic}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem)}.section-heading{margin-bottom:3rem}.section-heading h2{font-size:clamp(2.7rem,5.2vw,5.6rem);margin:.3rem 0}.door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.door{min-height:470px;background:var(--panel);padding:2rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background .25s}.door:before{content:'';position:absolute;inset:auto -30% -50% -30%;height:70%;background:radial-gradient(circle,rgba(255,49,95,.19),transparent 62%);opacity:0;transition:.3s}.door:hover{background:#15101b}.door:hover:before{opacity:1}.door-number{font-family:var(--serif);font-size:1.6rem;color:#6f606f}.kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:#a99cac}.door h3{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,3.4vw,3.6rem);line-height:1;margin:.5rem 0 1.2rem}.door p:not(.kicker){color:var(--muted);max-width:34ch}.door>a,.text-button,.collection button{z-index:1;text-transform:uppercase;letter-spacing:.12em;font-weight:750;font-size:.75rem;background:none;border:0;color:#ff718e;padding:0;text-align:left;cursor:pointer}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.split-heading>p{max-width:360px;color:var(--muted)}.news-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.news-card{min-height:260px;border:1px solid var(--line);padding:1.5rem;background:#0d0b12;display:flex;flex-direction:column;justify-content:space-between;text-align:left;color:white}.news-card.feature{grid-row:span 2;min-height:536px;background:linear-gradient(180deg,rgba(7,6,11,.12),rgba(7,6,11,.96)),url('assets/glowcore-city-hero.png') 72% center/cover}.news-card h3{font-family:var(--serif);font-size:1.75rem;line-height:1.08;font-weight:400}.news-card.feature h3{font-size:clamp(2.6rem,4vw,4rem);margin:.4rem 0}.news-card span:last-child{color:#ff718e;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#c9bdca}.question-card{cursor:pointer}.question-card:hover,.news-card:hover{border-color:#8c4c63}.action-list{border-top:1px solid var(--line)}.action-list a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:1.3rem;min-height:105px;border-bottom:1px solid var(--line);transition:.2s}.action-list a:hover{padding-left:1rem;background:linear-gradient(90deg,rgba(255,49,95,.1),transparent)}.action-list strong{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.6rem);font-weight:400}.action-list small{display:block;color:var(--muted)}.action-list b{color:#514652;font-weight:400}.symbol{font-size:1.5rem;color:#ff6687}.way{padding:clamp(6rem,13vw,12rem) 1.25rem;text-align:center;background:radial-gradient(circle at 50% 50%,#281021 0%,#100b13 37%,#08070d 73%);border-block:1px solid #392231}.way-inner{max-width:1000px;margin:auto}.way h2{font-size:clamp(4rem,10vw,9.5rem);margin:0 0 2.5rem}.way-copy{max-width:720px;margin:auto;color:#cfc3cf;font-size:1.08rem}.way .glow-line{font-family:var(--serif);font-size:2rem;color:#ff6687}.thread-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin:2.5rem 0}.thread-list span{border:1px solid #4a3647;border-radius:99px;padding:.45rem .9rem;color:#c7b9c6;font-size:.86rem}.vv{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:680px;overflow:hidden}.vv-mark{font-family:var(--serif);font-size:clamp(15rem,35vw,34rem);line-height:.6;color:transparent;-webkit-text-stroke:1px #3f2736;letter-spacing:-.18em;transform:translateX(-10%);text-shadow:0 0 70px rgba(255,49,95,.12)}.vv-copy h2{font-size:clamp(4rem,8vw,8rem);margin:0 0 1.5rem}.vv-copy>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(1.3rem,2vw,2rem);color:#cdbfca;margin-bottom:2rem}.factory{padding:clamp(6rem,11vw,10rem) clamp(1.25rem,7vw,7rem);background:var(--paper);color:var(--dark)}.factory-intro{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:3rem;margin-bottom:4rem}.factory h2{font-size:clamp(3.2rem,6.5vw,7rem);margin:0}.factory .eyebrow{color:#8d1e3d}.factory-intro>p:last-child{font-family:var(--serif);font-size:1.35rem}.factory-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #a69383}.factory-grid a{min-height:330px;padding:1.5rem;border-right:1px solid #a69383;display:flex;flex-direction:column}.factory-grid a:last-child{border:0}.factory-grid a>span{color:#806b62}.factory-grid h3{font-family:var(--serif);font-size:2.2rem;margin:3.5rem 0 .5rem}.factory-grid p{color:#5e4f4c}.factory-grid b{margin-top:auto;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.factory-grid a:hover{background:#dfcab6}.small-offer{margin-top:1rem;background:#cc3f59;color:#18090d;padding:2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.small-offer h3{font-family:var(--serif);font-size:2rem;margin:.3rem 0}.scroll-heading{margin-bottom:4rem}.scrolls h2{font-size:clamp(3rem,6vw,6.2rem);margin:0}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.collection{min-height:460px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #4c3c49;background:linear-gradient(145deg,#161019,#0c0a0f);position:relative;overflow:hidden}.collection:after{content:'';position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-100px;top:-100px}.roman{font-family:var(--serif);font-size:4rem;color:#584651}.collection h3{font-family:var(--serif);font-size:2.5rem;line-height:1;margin:.5rem 0 1rem}.collection p:not(.kicker){color:var(--muted)}.collection.beta{background:linear-gradient(145deg,#221426,#0c0a0f)}.collection.reserved{background:linear-gradient(145deg,#29121a,#0c0a0f)}.collection-panel{margin-top:1rem;border:1px solid #573747;background:#120d14;padding:2rem}.scroll-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;list-style:none;padding:0}.scroll-list li{border-bottom:1px solid var(--line);padding:.7rem 0;color:#d7cad5}.reserve-card{display:flex;justify-content:space-between;gap:2rem;align-items:center}.citizen{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7rem);background:linear-gradient(110deg,#3a0a18,#a5143c 75%,#f23d66);display:flex;align-items:end;justify-content:space-between;gap:3rem}.citizen h2{font-size:clamp(3.5rem,7vw,7rem);margin:0}.citizen p:not(.eyebrow){max-width:650px}.connect{text-align:center}.connect h2{font-size:clamp(3rem,6vw,6rem);margin:.4rem 0 3rem}.connect-links{display:flex;flex-wrap:wrap;justify-content:center;border-block:1px solid var(--line)}.connect-links a{padding:1.2rem 1.5rem;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.connect-links a:hover{color:#ff6687}.link-note{color:#7f737f;font-size:.82rem;margin-top:1.5rem}footer{padding:2rem clamp(1.25rem,4vw,4rem);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#8e818e;font-size:.76rem}dialog{width:min(760px,calc(100% - 2rem));max-height:90vh;overflow:auto;background:#100d15;color:white;border:1px solid #5b3a4d;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 0 80px rgba(255,49,95,.25)}dialog::backdrop{background:rgba(4,3,6,.88);backdrop-filter:blur(7px)}dialog h2{font-family:var(--serif);font-size:clamp(2.5rem,6vw,4.5rem);line-height:1;margin:.4rem 0 2rem}.dialog-close{position:absolute;right:1rem;top:.7rem;background:none;border:0;color:#bbb;font-size:2rem;cursor:pointer}.guide-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.guide-options button{min-height:90px;background:#17121c;color:#eee;border:1px solid #3e313e;padding:1rem;cursor:pointer}.guide-options button:hover{border-color:var(--glow);background:#20131b}.guide-result h3{font-family:var(--serif);font-size:2.5rem;margin:.4rem 0}.guide-result p{color:var(--muted)}
@media(max-width:900px){.menu-toggle{display:block}nav{position:absolute;top:70px;right:1rem;display:none;flex-direction:column;gap:0;background:#0d0b11;border:1px solid var(--line);padding:.5rem}nav.open{display:flex}nav a{padding:.8rem 1rem}.hero-shade{background:linear-gradient(90deg,rgba(5,5,9,.9),rgba(5,5,9,.28)),linear-gradient(0deg,rgba(8,7,13,.95),transparent 55%)}.hero-note{display:none}.door-grid,.collection-grid{grid-template-columns:1fr}.door{min-height:380px}.news-grid{grid-template-columns:1fr 1fr}.news-card.feature{grid-column:span 2}.vv{grid-template-columns:1fr}.vv-mark{position:absolute;opacity:.35}.vv-copy{position:relative}.factory-intro{grid-template-columns:1fr}.factory-grid{grid-template-columns:1fr 1fr}.factory-grid a:nth-child(2){border-right:0}.factory-grid a{border-bottom:1px solid #a69383}.factory-grid a:nth-child(3),.factory-grid a:nth-child(4){border-bottom:0}.citizen{align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap;gap:1rem}.guide-options{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar{height:66px}.brand{font-size:.73rem}.hero{align-items:flex-end;padding-bottom:7rem}.hero-image{background-position:62% center}.hero h1{font-size:3.3rem}.hero-copy>p:not(.eyebrow){max-width:310px}.section{padding:5rem 1.1rem}.split-heading{display:block}.news-grid{grid-template-columns:1fr}.news-card.feature{grid-column:auto;min-height:420px}.news-card{min-height:220px}.action-list a{grid-template-columns:42px 1fr auto}.action-list small{font-size:.75rem}.way{padding:6rem 1.1rem}.way h2{font-size:4rem}.vv{min-height:560px}.factory{padding:5rem 1.1rem}.factory-grid{grid-template-columns:1fr}.factory-grid a{min-height:260px;border-right:0;border-bottom:1px solid #a69383!important}.factory-grid a:last-child{border-bottom:0!important}.small-offer{align-items:flex-start;flex-direction:column}.scroll-list{grid-template-columns:1fr 1fr}.citizen{padding:5rem 1.1rem}.connect-links{flex-direction:column}.connect-links a{border-bottom:1px solid var(--line)}footer{display:block;text-align:center}footer .brand{justify-content:center;margin-bottom:1.5rem}.guide-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}}

/* Canon animation imagery */
.hero-image{background-image:url('assets/vv-glowcore-city.jpeg');background-position:55% center}
.hero-shade{background:linear-gradient(90deg,rgba(5,5,9,.96) 0%,rgba(5,5,9,.78) 31%,rgba(5,5,9,.1) 68%),linear-gradient(0deg,rgba(8,7,13,.92),transparent 42%)}
.news-card.feature{background:linear-gradient(180deg,rgba(7,6,11,.06),rgba(7,6,11,.96)),url('assets/vv-cabaret-performance.jpeg') 47% center/cover}
.archive-card{background:linear-gradient(180deg,rgba(8,7,13,.15),rgba(8,7,13,.95)),url('assets/vv-gala-photo.jpeg') center/cover}
.origins-card{background:linear-gradient(180deg,rgba(8,7,13,.14),rgba(8,7,13,.94)),url('assets/vv-joplin-home.jpeg') center/cover}
.archive-card .tag,.origins-card .tag{color:#f1e8ef;text-shadow:0 1px 8px #000}
.vv{grid-template-columns:1.2fr .8fr;align-items:stretch;min-height:720px;padding:0!important;background:#09070d}
.vv-visual{min-height:620px;background:linear-gradient(90deg,transparent 65%,#09070d 100%),url('assets/vv-joplin-rain-city.jpeg') center/cover no-repeat}
.vv-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,7rem)}
.cinematic-thread{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2e2533;border-block:1px solid #2e2533}
.scene{position:relative;margin:0;min-height:420px;overflow:hidden;background:#08070d}
.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,4,8,.96),transparent 58%)}
.scene:hover img{transform:scale(1.035)}
.scene figcaption{position:absolute;z-index:2;left:1.5rem;right:1.5rem;bottom:1.4rem;font-family:var(--serif);font-size:1.35rem}
.scene figcaption span{display:block;margin-bottom:.35rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;color:#ff7896}
.scene-home img{object-position:58% center}.scene-gala img{object-position:48% center}
@media(max-width:900px){.vv{grid-template-columns:1fr}.vv-visual{min-height:600px;background:linear-gradient(0deg,#09070d 0%,transparent 34%),url('assets/vv-joplin-rain-city.jpeg') 42% center/cover no-repeat}.vv-copy{margin-top:-8rem;position:relative}.cinematic-thread{grid-template-columns:1fr}.scene{min-height:520px}}
@media(max-width:600px){.hero-image{background-position:56% center}.vv-visual{min-height:500px}.vv-copy{padding:3rem 1.1rem}.scene{min-height:380px}}

.news-card.playground-card{background:linear-gradient(180deg,rgba(9,4,19,.38),rgba(9,4,19,.93)),url("assets/vv-glowcore-city.jpeg") center/cover;border-color:rgba(229,99,255,.35)}.news-card.playground-card:hover{border-color:#e563ff}.news-card.playground-card h3{max-width:12ch}

/* Destination pages */
.destination-main{padding-top:76px}.destination-hero{position:relative;min-height:470px;display:flex;align-items:end;padding:4rem clamp(1.25rem,7vw,7rem);background:linear-gradient(90deg,rgba(5,4,9,.94),rgba(5,4,9,.37)),linear-gradient(0deg,#08070d,transparent 70%),var(--destination-image) center/cover}.destination-hero-inner{position:relative;max-width:900px}.destination-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,8vw,7rem);line-height:.95;letter-spacing:-.05em;margin:.5rem 0 1.5rem}.destination-hero-inner>p:last-child{font-size:clamp(1rem,1.7vw,1.25rem);color:#e1d7df;max-width:650px}.back-link{display:inline-block;color:#ff90a8;margin-bottom:3rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.back-link:hover,.destination-note a:hover{color:#fff}.destination-content{max-width:1200px;margin:auto;padding:clamp(3rem,7vw,6rem) clamp(1.25rem,5vw,4rem);display:grid;gap:1rem}.destination-card{border:1px solid #463140;background:linear-gradient(115deg,#1b121d,#0e0b12);padding:clamp(1.5rem,4vw,3rem);scroll-margin-top:95px}.destination-card h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.6rem);font-weight:400;line-height:1.05;margin:.25rem 0 1rem}.destination-card p:not(.eyebrow){color:#cfc0cc;max-width:720px;margin-bottom:2rem}.card-actions{display:flex;flex-wrap:wrap;gap:.7rem}.destination-note{padding:1rem 0;color:#cbbeca}.destination-note a{color:#ff7896;text-decoration:underline}.services-intro{padding:clamp(1.5rem,4vw,3rem);background:#eadac7;color:#171019;display:flex;align-items:center;flex-wrap:wrap;gap:.8rem}.services-intro p{flex-basis:100%;max-width:780px;font-family:var(--serif);font-size:1.3rem;margin:0 0 .8rem}.services-intro .button.outline{border-color:#5c4855;color:#171019}.destination-footer{text-align:center;padding:4rem 1.25rem}.destination-footer .connect-links{max-width:1200px;margin:auto}@media(max-width:900px){.destination-main{padding-top:70px}.destination-hero{min-height:450px}.destination-main nav{display:flex}}@media(max-width:600px){.destination-main{padding-top:66px}.destination-hero{min-height:400px;padding:3rem 1.1rem}.back-link{margin-bottom:2rem}.destination-content{padding:3rem 1.1rem}.topbar:has(+ .destination-main) nav{display:none}.destination-card .button{width:100%}}
.archive-status{color:var(--muted);max-width:680px;margin:1.5rem 0}.factory-intro>div p{font-family:var(--serif);font-size:1.35rem}.factory-intro>div .button{margin-top:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.hero-actions .button.outline{background:rgba(8,7,13,.48)}
