:root{--gold:#f5d491;--deep:#170503;--red:#7a0d0d;--line:rgba(245,212,145,.55);--cream:#fff2cf}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#050302;color:var(--cream);font-family:'Cormorant Garamond',serif;overflow-x:hidden}.stage{position:relative;width:min(100vw,1536px);aspect-ratio:3/2;margin:0 auto;background:#090302;box-shadow:0 0 80px rgba(0,0,0,.9);overflow:hidden}.site-map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}.light-sweep{position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 25%,rgba(255,226,145,.10) 46%,transparent 64%);transform:translateX(-80%);animation:sweep 8s ease-in-out infinite;pointer-events:none}.lantern-glow{position:absolute;border-radius:50%;filter:blur(18px);opacity:.6;animation:pulse 3.2s ease-in-out infinite;pointer-events:none}.glow-one{right:6%;top:8%;width:12%;height:14%;background:rgba(255,42,16,.26)}.glow-two{right:2%;top:18%;width:9%;height:11%;background:rgba(255,165,49,.22);animation-delay:1.2s}.hotspot,.hot-nav button,.cta,.era-buttons button,.bottom-cards button,.side-dots button,.arrow{position:absolute;border:0;background:rgba(255,255,255,.001);cursor:pointer;color:transparent}.hot-nav button,.cta,.era-buttons button,.bottom-cards button{transition:.25s ease}.hot-nav button:hover,.cta:hover,.era-buttons button:hover,.bottom-cards button:hover{background:rgba(245,212,145,.11);box-shadow:0 0 22px rgba(245,212,145,.28),inset 0 0 0 1px rgba(245,212,145,.36)}.logo{left:1.4%;top:1%;width:11.6%;height:5%}.hot-nav button:nth-child(1){left:20.5%;top:1.5%;width:4.8%;height:4.1%}.hot-nav button:nth-child(2){left:26%;top:1.5%;width:5.2%;height:4.1%}.hot-nav button:nth-child(3){left:32.3%;top:1.5%;width:6.2%;height:4.1%}.hot-nav button:nth-child(4){left:40.5%;top:1.5%;width:5.2%;height:4.1%}.hot-nav button:nth-child(5){left:46.9%;top:1.5%;width:6.6%;height:4.1%}.hot-nav button:nth-child(6){left:54.5%;top:1.5%;width:6.5%;height:4.1%}.hot-nav button:nth-child(7){left:61.7%;top:1.5%;width:6%;height:4.1%}.hot-nav button:nth-child(8){left:68.3%;top:1.5%;width:5.6%;height:4.1%}.cta{left:14%;top:43.7%;width:16%;height:4.8%;border-radius:3px}.era-buttons button{top:55.1%;height:4.2%;border-radius:18px}.era-buttons button:nth-child(1){left:6%;width:8.2%}.era-buttons button:nth-child(2){left:18%;width:8%}.era-buttons button:nth-child(3){left:29%;width:11%}.era-buttons button:nth-child(4){left:42%;width:9%}.era-buttons button:nth-child(5){left:53.5%;width:9.5%}.era-buttons button:nth-child(6){left:65%;width:9.5%}.era-buttons button:nth-child(7){left:77%;width:9.8%}.era-buttons button:nth-child(8){left:88%;width:9.5%}.arrow{top:64.8%;width:3.2%;height:6%;border-radius:50%;color:rgba(245,212,145,.01);font-size:1px}.arrow:hover{box-shadow:0 0 30px rgba(245,212,145,.5);background:rgba(120,16,8,.25)}.arrow.left{left:1.8%}.arrow.right{right:1.6%}.bottom-cards button{top:86.6%;height:8.8%;border-radius:4px}.bottom-cards button:nth-child(1){left:2.2%;width:14.4%}.bottom-cards button:nth-child(2){left:18%;width:14.8%}.bottom-cards button:nth-child(3){left:34%;width:14.8%}.bottom-cards button:nth-child(4){left:50.2%;width:14.8%}.bottom-cards button:nth-child(5){left:66.2%;width:14.7%}.bottom-cards button:nth-child(6){left:82.4%;width:15%}.side-dots button{right:.6%;width:1.8%;height:2.5%;border-radius:50%;background:rgba(255,255,255,.001)}.side-dots button:nth-child(1){top:32.2%}.side-dots button:nth-child(2){top:38.5%}.side-dots button:nth-child(3){top:41.7%}.side-dots button:nth-child(4){top:44.7%}.side-dots button:nth-child(5){top:47.8%}.side-dots button:hover{box-shadow:0 0 18px rgba(255,0,0,.8);background:rgba(166,8,8,.45)}.panel{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.58);backdrop-filter:blur(9px);z-index:10;padding:22px}.panel.open{display:grid}.panel-card{position:relative;width:min(860px,94vw);max-height:88vh;overflow:auto;padding:34px 38px 30px;border:1px solid var(--line);background:radial-gradient(circle at top right,rgba(139,12,12,.58),transparent 38%),linear-gradient(135deg,rgba(18,7,3,.96),rgba(3,2,1,.96));box-shadow:0 25px 90px rgba(0,0,0,.75),inset 0 0 0 1px rgba(255,228,162,.15)}.panel-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(245,212,145,.2);pointer-events:none}.close{position:absolute;right:18px;top:12px;background:transparent;border:0;color:var(--gold);font-size:34px;cursor:pointer}.kicker{margin:0;color:var(--gold);font-family:Cinzel,serif;letter-spacing:.25em;text-transform:uppercase;font-size:13px}.panel h1{font-family:Cinzel,serif;font-weight:500;color:#ffe3a0;font-size:clamp(32px,4vw,58px);margin:8px 0 12px}.panel h2{font-family:Cinzel,serif;color:#f4cf82;font-size:23px;margin:22px 0 8px}.panel p,.panel li{font-size:20px;line-height:1.55}.panel ul{padding-left:22px}.panel-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.panel-actions button{font-family:Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;padding:13px 18px;border:1px solid var(--line);background:linear-gradient(180deg,#6f1511,#330806);color:#ffe2a4;cursor:pointer}.panel-actions button:hover{filter:brightness(1.25)}@keyframes sweep{0%,58%{transform:translateX(-80%)}100%{transform:translateX(85%)}}@keyframes pulse{0%,100%{opacity:.35;transform:scale(.96)}50%{opacity:.78;transform:scale(1.08)}}@media (max-width:900px){.stage{width:100vw;height:100vh;aspect-ratio:auto}.site-map{width:1536px;height:1024px;left:50%;transform:translateX(-50%);object-fit:cover}.panel p,.panel li{font-size:18px}.panel-card{padding:28px 24px}.hot-nav,.era-buttons,.bottom-cards,.cta,.side-dots,.logo,.arrow{transform-origin:top left}}

/* Interactive dress timeline hover layer */
.dress-zone{position:absolute;top:60.8%;height:21.6%;border:0;border-radius:999px 999px 18px 18px;background:rgba(255,255,255,.001);cursor:pointer;z-index:3;transition:.22s ease;outline:0}.dress-zone:hover,.dress-zone:focus-visible{background:radial-gradient(ellipse at center,rgba(245,212,145,.16),rgba(245,212,145,.04) 45%,transparent 72%);box-shadow:0 0 34px rgba(245,212,145,.32),inset 0 0 0 1px rgba(245,212,145,.34)}.dress-zone:after{content:"";position:absolute;left:50%;top:4%;width:8px;height:8px;border-radius:50%;background:#f6d89a;box-shadow:0 0 0 6px rgba(245,212,145,.10),0 0 24px rgba(245,212,145,.7);opacity:0;transform:translateX(-50%) scale(.6);transition:.22s ease}.dress-zone:hover:after,.dress-zone:focus-visible:after{opacity:1;transform:translateX(-50%) scale(1)}.dress-zone:nth-child(1){left:5.9%;width:9.6%}.dress-zone:nth-child(2){left:18.8%;width:8.2%}.dress-zone:nth-child(3){left:31.8%;width:9.5%}.dress-zone:nth-child(4){left:44.6%;width:8.7%}.dress-zone:nth-child(5){left:55.1%;width:9.5%}.dress-zone:nth-child(6){left:67.0%;width:8.7%}.dress-zone:nth-child(7){left:78.2%;width:8.8%}.dress-zone:nth-child(8){left:89.0%;width:8.7%}.dress-popover{position:absolute;z-index:5;width:min(320px,24vw);min-height:150px;padding:18px 20px 17px;color:#fff0c6;background:linear-gradient(145deg,rgba(4,3,1,.97),rgba(17,6,3,.97));border:1px solid rgba(245,212,145,.68);box-shadow:0 22px 55px rgba(0,0,0,.72),0 0 28px rgba(245,186,78,.18),inset 0 0 0 1px rgba(245,212,145,.16);opacity:0;transform:translate(-50%,-105%) scale(.96);pointer-events:none;transition:opacity .18s ease,transform .18s ease,left .12s ease,top .12s ease}.dress-popover.show{opacity:1;transform:translate(-50%,-110%) scale(1)}.dress-popover:before{content:"";position:absolute;inset:7px;border:1px solid rgba(245,212,145,.28);pointer-events:none}.dress-popover:after{content:"";position:absolute;left:50%;bottom:-9px;width:16px;height:16px;background:rgba(8,4,2,.97);border-right:1px solid rgba(245,212,145,.68);border-bottom:1px solid rgba(245,212,145,.68);transform:translateX(-50%) rotate(45deg)}.dress-era{margin:0 0 6px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#f5d491}.dress-popover h3{margin:0 0 8px;font-family:Cinzel,serif;font-weight:500;font-size:20px;color:#ffe0a0}.dress-popover p:not(.dress-era){margin:0;font-size:17px;line-height:1.35;color:#f7ecd3}.dress-popover span{display:inline-block;margin-top:12px;font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#f5d491}
@media (max-width:900px){.dress-popover{width:300px;max-width:78vw}.dress-zone{height:20%}}
