:root{--onyx:#030403;--gold:#b99562;--pale-gold:#e6c994;--ivory:#eee6d7;--mx:0;--my:0}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;overflow:hidden;background:var(--onyx);color:var(--ivory);font-family:"Helvetica Neue",Arial,sans-serif}.reveal-stage{isolation:isolate;position:relative;width:100%;min-height:100vh;min-height:100svh;overflow:hidden;background:#020302;opacity:0;animation:stage-in 1.2s ease forwards}.atmosphere,.vignette,.grain,.stars{position:absolute;inset:0;pointer-events:none}.atmosphere{z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 42% 47%,#0b110d 0,#040604 48%,#010201 100%)}.halo{position:absolute;left:34%;top:43%;width:min(56vw,54rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(190,147,81,.13),rgba(24,48,34,.08) 38%,transparent 68%);filter:blur(14px);transform:translate(calc(-50% + var(--mx) * 10px),calc(-50% + var(--my) * 8px));opacity:0;animation:breathe 9s 1s ease-in-out infinite,glow-in 3.4s .35s ease forwards}.candle-glow{position:absolute;width:22rem;height:32rem;filter:blur(65px);opacity:0;animation:candle 8s 1.8s ease-in-out infinite}.candle-glow--left{left:-12rem;bottom:-14rem;background:rgba(121,67,32,.18)}.candle-glow--right{right:-15rem;top:-18rem;background:rgba(73,29,34,.13);animation-delay:3s}.vignette{box-shadow:inset 0 0 15vw 5vw #000}.grain{opacity:.17;background-image:repeating-radial-gradient(circle at 20% 30%,rgba(255,255,255,.28) 0 .45px,transparent .55px 3px),repeating-radial-gradient(circle at 70% 60%,rgba(0,0,0,.55) 0 .55px,transparent .65px 4px);background-size:8px 11px,13px 9px;mix-blend-mode:soft-light}.stars{opacity:0;background-image:radial-gradient(circle at 8% 22%,var(--gold) 0 1px,transparent 1.5px),radial-gradient(circle at 76% 14%,var(--pale-gold) 0 1px,transparent 1.5px),radial-gradient(circle at 91% 73%,var(--gold) 0 .8px,transparent 1.4px),radial-gradient(circle at 61% 88%,var(--gold) 0 .7px,transparent 1.2px),radial-gradient(circle at 15% 79%,var(--ivory) 0 .7px,transparent 1.2px);animation:stars-in 2.8s 1.15s ease forwards,starlight 5s 4s ease-in-out infinite}.edition{position:absolute;left:clamp(1.7rem,4vw,4.5rem);top:50%;z-index:3;display:flex;align-items:center;gap:1rem;margin:0;color:rgba(215,190,148,.55);font-family:Georgia,serif;font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);opacity:0;animation:simple-in 1.6s 6.4s ease forwards}.edition span{display:block;width:1px;height:3.5rem;background:linear-gradient(transparent,var(--gold),transparent)}.emblem-scene{position:absolute;z-index:1;left:32%;top:47%;width:min(59vw,47rem);aspect-ratio:1;transform:translate(calc(-50% + var(--mx) * -6px),calc(-50% + var(--my) * -4px))}.emblem-wrap{position:absolute;inset:8%;filter:drop-shadow(0 0 20px rgba(185,149,98,.07))}.emblem{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.92);filter:brightness(.35) contrast(1.2) sepia(.22);animation:emblem-resolve 3.2s 1.2s cubic-bezier(.19,.7,.2,1) forwards}.emblem-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,229,173,.46) 48%,transparent 60%);mix-blend-mode:screen;transform:translateX(-130%);opacity:0;-webkit-mask:url("assets/wicked-emblem.png") center/contain no-repeat;mask:url("assets/wicked-emblem.png") center/contain no-repeat;animation:metal-pass 2.1s 3.2s ease-in-out forwards}.orbit{position:absolute;border:1px solid rgba(184,148,93,.18);border-radius:50%;opacity:0;animation:orbit-in 2s 2.5s ease forwards}.orbit--outer{inset:1%}.orbit--inner{inset:5%;border-color:rgba(184,148,93,.07)}.orbit--outer:before,.orbit--outer:after{content:"";position:absolute;inset:-1px;border-radius:50%;border-top:1px solid rgba(232,201,148,.7);transform:rotate(25deg);animation:orbit-turn 24s linear infinite}.orbit--outer:after{inset:3%;border-top-color:rgba(232,201,148,.2);animation-duration:36s;animation-direction:reverse}.north-star{position:absolute;color:var(--pale-gold);opacity:0;text-shadow:0 0 15px rgba(229,196,137,.8);animation:star-pop 1.4s 3.6s ease forwards,twinkle 3.5s 5s ease-in-out infinite}.north-star--one{right:1%;top:17%;font-size:clamp(1rem,1.5vw,1.5rem)}.north-star--two{left:8%;bottom:16%;font-size:.7rem;animation-delay:4.2s,5.5s}.message{position:absolute;z-index:2;left:59%;top:47%;width:min(37vw,35rem);transform:translateY(-50%)}.prelude{margin:0 0 1.4rem .25rem;color:rgba(220,199,162,.65);font-size:clamp(.48rem,.58vw,.65rem);letter-spacing:.42em;text-transform:uppercase;opacity:0;animation:simple-in 1.5s 4.25s ease forwards}.message h1{margin:0;font-family:"Bodoni MT",Didot,Georgia,serif;font-weight:400;line-height:.78}.line{display:block;overflow:hidden;clip-path:inset(0 100% 0 0);opacity:0}.line--small{font-size:clamp(3rem,5.5vw,5.8rem);letter-spacing:-.04em;animation:text-wipe 1.25s 4.65s cubic-bezier(.25,.8,.2,1) forwards}.line--wicked{margin-left:-.05em;color:var(--pale-gold);font-size:clamp(5rem,9.5vw,10rem);font-style:italic;letter-spacing:-.07em;text-shadow:0 0 38px rgba(185,149,98,.12);animation:text-wipe 1.35s 5.1s cubic-bezier(.25,.8,.2,1) forwards}.line--coming{margin:.24em 0 0 22%;font-size:clamp(2.5rem,4.4vw,4.7rem);letter-spacing:-.04em;white-space:nowrap;animation:text-wipe 1.25s 5.65s cubic-bezier(.25,.8,.2,1) forwards}.ellipsis{color:var(--gold)}.signature{position:relative;margin:2rem 0 0 23%;color:var(--gold);font:italic clamp(1rem,1.55vw,1.6rem)/1.3 "Segoe Script","Bradley Hand",cursive;opacity:0;transform:translateY(8px);animation:signature-in 1.5s 6.4s ease forwards}.signature:before{content:"";position:absolute;left:-4.5rem;top:50%;width:3.5rem;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.finale{position:absolute;z-index:3;right:clamp(1.7rem,4vw,4.5rem);bottom:clamp(1.5rem,3.7vw,3.7rem);display:grid;grid-template-columns:6rem auto auto;align-items:center;gap:2rem;opacity:0;transform:translateY(10px);animation:finale-in 1.6s 7.1s ease forwards}.finale__rule{display:flex;align-items:center;gap:.45rem;color:var(--gold)}.finale__rule i{display:block;height:1px;flex:1;background:rgba(185,149,98,.45)}.finale__rule b{font-size:.5rem;font-weight:400}.wordmark{display:flex;flex-direction:column;align-items:center;color:var(--pale-gold)}.wordmark strong{font:400 clamp(1.2rem,1.8vw,2rem)/1 "Bodoni MT",Didot,Georgia,serif;letter-spacing:.48em;text-transform:uppercase}.wordmark span{margin-top:.55rem;font-family:Georgia,serif;font-size:.48rem;letter-spacing:.42em;text-transform:uppercase}.finale p{margin:0;padding-left:1.7rem;border-left:1px solid rgba(185,149,98,.28);color:rgba(238,230,215,.65);font-size:.55rem;letter-spacing:.4em;text-transform:uppercase}.replay{position:absolute;right:clamp(1.7rem,4vw,4.5rem);top:clamp(1.5rem,3vw,3rem);z-index:5;padding:.5rem 0;border:0;border-bottom:1px solid rgba(185,149,98,.35);background:none;color:rgba(229,205,164,.5);font:500 .5rem/1 Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;opacity:0;animation:simple-in 1.2s 8s ease forwards;transition:color .3s,border-color .3s}.replay:hover,.replay:focus-visible{color:var(--pale-gold);border-color:var(--gold);outline:none}
@keyframes stage-in{to{opacity:1}}@keyframes glow-in{to{opacity:1}}@keyframes breathe{0%,100%{opacity:.72;scale:1}50%{opacity:1;scale:1.07}}@keyframes candle{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.58;transform:scale(1.08)}}@keyframes stars-in{to{opacity:.65}}@keyframes starlight{0%,100%{filter:brightness(.8)}50%{filter:brightness(1.5)}}@keyframes emblem-resolve{0%{opacity:0;transform:scale(.92);filter:brightness(.15) contrast(1.3) sepia(.2) blur(5px)}45%{opacity:.48}100%{opacity:.9;transform:scale(1);filter:brightness(.72) contrast(1.12) sepia(.12) blur(0)}}@keyframes metal-pass{0%{opacity:0;transform:translateX(-130%)}20%{opacity:.8}80%{opacity:.55}100%{opacity:0;transform:translateX(130%)}}@keyframes orbit-in{from{opacity:0;transform:scale(.85) rotate(-18deg)}to{opacity:1;transform:scale(1)}}@keyframes orbit-turn{to{transform:rotate(385deg)}}@keyframes star-pop{0%{opacity:0;transform:scale(.3) rotate(-30deg)}65%{opacity:1;transform:scale(1.25) rotate(5deg)}100%{opacity:.8;transform:scale(1)}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.12)}}@keyframes text-wipe{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-12px)}to{opacity:1;clip-path:inset(0);transform:translateX(0)}}@keyframes simple-in{to{opacity:1}}@keyframes signature-in{to{opacity:1;transform:translateY(0)}}@keyframes finale-in{to{opacity:1;transform:translateY(0)}}.reveal-stage.restarting *{animation:none!important}
@media(max-width:760px){.atmosphere{background:radial-gradient(circle at 50% 34%,#10150f,#030503 58%,#010201)}.vignette{box-shadow:inset 0 0 25vw 7vw #000}.edition{top:42%;left:.65rem;font-size:.42rem}.replay{top:max(1.2rem,env(safe-area-inset-top));right:1.15rem}.emblem-scene{left:50%;top:31%;width:min(102vw,31rem);transform:translate(-50%,-50%)}.emblem-wrap{inset:8%}.orbit--outer{inset:2%}.north-star--one{right:3%;top:12%}.message{left:1.25rem;right:1.25rem;top:67%;width:auto;transform:translateY(-50%);text-align:center}.prelude{margin:0 0 1.1rem;font-size:.45rem}.message h1{line-height:.76}.line--small{font-size:clamp(3.2rem,15vw,4.2rem)}.line--wicked{margin-left:-.06em;font-size:clamp(5.6rem,27vw,7.4rem)}.line--coming{margin:.24em 0 0;font-size:clamp(2.55rem,12vw,3.35rem)}.signature{margin:1.25rem 0 0;font-size:clamp(.95rem,4.5vw,1.2rem)}.signature:before{display:none}.finale{left:1.2rem;right:1.2rem;bottom:max(1.2rem,env(safe-area-inset-bottom));grid-template-columns:1fr auto;gap:1rem}.finale__rule{display:none}.wordmark{align-items:flex-start}.wordmark strong{font-size:1.05rem;letter-spacing:.36em}.wordmark span{font-size:.38rem;letter-spacing:.34em}.finale p{font-size:.42rem;padding-left:.8rem}}
@media(max-height:720px) and (max-width:760px){.emblem-scene{top:27%;width:min(80vw,24rem)}.message{top:65%}.line--small{font-size:2.7rem}.line--wicked{font-size:4.8rem}.line--coming{font-size:2.25rem}.signature{margin-top:.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.reveal-stage,.halo,.stars,.emblem,.orbit,.north-star,.prelude,.line,.signature,.finale,.replay,.edition{opacity:1}.line{clip-path:none;transform:none}}
.emblem{mix-blend-mode:lighten}
@media(max-width:760px) and (min-height:721px){.line--small{font-size:clamp(2.9rem,13vw,3.65rem)}.line--wicked{font-size:clamp(5rem,23vw,6.3rem)}}

/* Directed brand-reveal timeline */
.emblem-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.emblem-art{position:absolute;inset:0;background-image:url("assets/wicked-emblem.png");background-position:center;background-size:contain;background-repeat:no-repeat;-webkit-mask-image:url("assets/wicked-emblem.png");mask-image:url("assets/wicked-emblem.png");-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-mode:luminance;opacity:0;filter:brightness(.25) contrast(1.25) sepia(.15);transform:scale(.93);animation:component-reveal 3.2s 1.75s cubic-bezier(.18,.72,.2,1) forwards,emblem-breathe 7s 7s ease-in-out infinite}
.emblem-wrap:after{-webkit-mask-image:url("assets/wicked-emblem.png");mask-image:url("assets/wicked-emblem.png");mask-mode:luminance;animation:metal-pass 2.2s 5.35s ease-in-out forwards,ambient-shimmer 9s 10s ease-in-out infinite}
.clock-hand{position:absolute;z-index:4;left:50%;top:12.5%;width:1px;height:37.5%;background:linear-gradient(to top,rgba(232,201,148,.95),rgba(232,201,148,.2));box-shadow:0 0 8px rgba(230,201,148,.45);transform-origin:50% 100%;opacity:0;animation:clock-start .6s 3s ease forwards,clock-sweep 3.2s 3.25s cubic-bezier(.18,.72,.18,1) forwards}
.clock-hand:before{content:"";position:absolute;left:-2px;top:-3px;width:5px;height:5px;border-radius:50%;background:var(--pale-gold);box-shadow:0 0 8px var(--gold)}
.centre-pulse{position:absolute;z-index:5;left:50%;top:50%;width:7%;aspect-ratio:1;border:1px solid var(--pale-gold);border-radius:50%;transform:translate(-50%,-50%) scale(.3);opacity:0;animation:centre-light 1.9s 5.9s ease-out forwards}
.supporting{margin:1.15rem 0 0 23%;color:rgba(238,230,215,.55);font-family:Georgia,serif;font-size:clamp(.56rem,.7vw,.72rem);letter-spacing:.17em;line-height:1.6;text-transform:uppercase;opacity:0;transform:translateY(6px);animation:support-in 1.4s 9s ease forwards}
.rings{position:absolute;z-index:3;right:7%;top:22%;width:6.2rem;height:3rem;opacity:0;animation:rings-life 2.4s 8.75s ease-in-out forwards}
.rings i{position:absolute;top:.35rem;width:2.35rem;aspect-ratio:1;border:1px solid rgba(225,195,142,.8);border-radius:50%;box-shadow:0 0 10px rgba(185,149,98,.08)}.rings i:first-child{left:1.1rem;animation:ring-left 2.4s 8.75s ease-in-out forwards}.rings i:nth-child(2){right:1.1rem;animation:ring-right 2.4s 8.75s ease-in-out forwards}.rings span{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,var(--gold) 0 1px,transparent 1.5px),radial-gradient(circle at 74% 32%,var(--pale-gold) 0 .8px,transparent 1.4px),radial-gradient(circle at 58% 75%,var(--gold) 0 .7px,transparent 1.3px);opacity:0;animation:ring-particles 2s 9.6s ease-out forwards}
.reveal-date{position:absolute;z-index:4;right:clamp(1.7rem,4vw,4.5rem);top:14%;text-align:right;color:var(--pale-gold)}.reveal-date p{margin:0 0 .7rem;font-size:.5rem;letter-spacing:.45em;text-transform:uppercase;opacity:0;animation:simple-in 1s 9.85s ease forwards}.reveal-date div{display:flex;align-items:center;gap:.6rem;font:400 clamp(1.25rem,2vw,2.1rem)/1 Georgia,serif;letter-spacing:.12em}.reveal-date span,.reveal-date b{display:block;font-weight:400;opacity:0;transform:translateY(12px);filter:blur(3px)}.reveal-date span:nth-child(1){animation:date-in .8s 10.2s ease forwards}.reveal-date b:nth-child(2){animation:date-in .7s 10.55s ease forwards}.reveal-date span:nth-child(3){animation:date-in .8s 10.8s ease forwards}.reveal-date b:nth-child(4){animation:date-in .7s 11.15s ease forwards}.reveal-date span:nth-child(5){animation:date-in .8s 11.4s ease forwards}.line--small{animation-delay:6.35s}.line--wicked{animation-delay:6.85s}.line--coming{animation-delay:7.35s}.prelude{animation-delay:6s}.signature{animation-delay:8.2s}.finale{animation-delay:11.1s}.replay{animation-delay:12s}
.stars:after{content:"";position:absolute;inset:-10%;background-image:radial-gradient(circle at 28% 18%,var(--gold) 0 .8px,transparent 1.5px),radial-gradient(circle at 67% 43%,var(--pale-gold) 0 .65px,transparent 1.3px),radial-gradient(circle at 45% 82%,var(--gold) 0 .7px,transparent 1.4px),radial-gradient(circle at 83% 69%,var(--gold) 0 .55px,transparent 1.2px);animation:particle-drift 18s 2s linear infinite}
.reveal-stage.restarting{animation:none!important;opacity:0}.reveal-stage.restarting *{animation:none!important}
@keyframes component-reveal{0%{opacity:0;filter:brightness(.12) contrast(1.4) sepia(.2);transform:scale(.93)}35%{opacity:.25}70%{opacity:.62;filter:brightness(.48) contrast(1.25) sepia(.18)}100%{opacity:.96;filter:brightness(.78) contrast(1.12) sepia(.08);transform:scale(1)}}
@keyframes emblem-breathe{0%,100%{filter:brightness(.76) contrast(1.12)}50%{filter:brightness(.88) contrast(1.08);transform:scale(1.006)}}
@keyframes clock-start{to{opacity:.9}}@keyframes clock-sweep{0%{transform:rotate(-285deg)}18%{transform:rotate(-196deg)}43%{transform:rotate(-101deg)}66%{transform:rotate(-35deg)}82%{transform:rotate(-8deg)}92%{transform:rotate(2deg)}100%{transform:rotate(0deg)}}
@keyframes centre-light{0%{opacity:0;transform:translate(-50%,-50%) scale(.25);box-shadow:0 0 0 rgba(229,201,150,0)}35%{opacity:1;box-shadow:0 0 20px 7px rgba(229,201,150,.42)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.8);box-shadow:0 0 45px rgba(229,201,150,0)}}
@keyframes ambient-shimmer{0%,70%,100%{opacity:0;transform:translateX(-130%)}82%{opacity:.25}95%{opacity:0;transform:translateX(130%)}}
@keyframes support-in{to{opacity:1;transform:translateY(0)}}@keyframes rings-life{0%{opacity:0}18%,67%{opacity:1}100%{opacity:0}}@keyframes ring-left{0%{transform:translateX(-1rem) scale(.7)}35%,70%{transform:translateX(.35rem) scale(1)}100%{transform:translateX(.7rem) scale(1.08);opacity:0}}@keyframes ring-right{0%{transform:translateX(1rem) scale(.7)}35%,70%{transform:translateX(-.35rem) scale(1)}100%{transform:translateX(-.7rem) scale(1.08);opacity:0}}@keyframes ring-particles{0%,35%{opacity:0;transform:scale(.8)}55%{opacity:.85}100%{opacity:0;transform:scale(1.8)}}@keyframes date-in{to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes particle-drift{to{transform:translate3d(2.5%,-4%,0) rotate(.2deg)}}
@media(max-width:760px){.emblem-scene{top:28%;width:min(108vw,32rem)}.message{top:63%}.supporting{margin:.85rem 0 0;font-size:.45rem;line-height:1.5;letter-spacing:.12em}.rings{right:calc(50% - 3.1rem);top:73%;transform:scale(.72)}.reveal-date{top:auto;right:auto;left:50%;bottom:8.2%;transform:translateX(-50%);text-align:center;white-space:nowrap}.reveal-date p{font-size:.4rem;margin-bottom:.38rem}.reveal-date div{gap:.42rem;font-size:1.15rem}.finale{bottom:max(.75rem,env(safe-area-inset-bottom))}}
@media(max-height:720px) and (max-width:760px){.supporting{display:none}.rings{display:none}.reveal-date{bottom:7.5%}.message{top:61%}}
@media(prefers-reduced-motion:reduce){.emblem-art,.clock-hand,.supporting,.reveal-date p,.reveal-date span,.reveal-date b{opacity:1;filter:none;transform:none}.clock-hand{transform-origin:50% 100%}.rings{display:none}}

/* Cinematic poster composition */
.corner-brand{position:absolute;z-index:5;left:clamp(1.6rem,4.5vw,4.8rem);top:clamp(1.5rem,4vw,4rem);display:grid;grid-template-columns:2.2rem auto;grid-template-rows:auto auto;column-gap:.8rem;color:var(--pale-gold);opacity:0;animation:simple-in 1.4s 10.8s ease forwards}.corner-brand span{grid-row:1/3;display:grid;place-items:center;width:2.1rem;aspect-ratio:1;border:1px solid rgba(185,149,98,.35);border-radius:50%;font:400 1rem/1 Georgia,serif}.corner-brand strong{align-self:end;font:400 clamp(.85rem,1.4vw,1.35rem)/1 Georgia,serif;letter-spacing:.42em;text-transform:uppercase}.corner-brand small{margin-top:.4rem;font:400 .4rem/1 Georgia,serif;letter-spacing:.35em;text-transform:uppercase}
.emblem-scene{left:50%;top:30%;width:min(46vw,34rem);transform:translate(calc(-50% + var(--mx) * -6px),calc(-50% + var(--my) * -4px))}.orbit--outer{inset:-7%;box-shadow:0 0 45px rgba(185,149,98,.035),inset 0 0 45px rgba(185,149,98,.025)}.orbit--inner{inset:-1%}.orbit--inner:before,.orbit--inner:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(185,149,98,.1);animation:orbit-turn 52s linear infinite}.orbit--inner:before{inset:8%;border-left-color:rgba(230,201,148,.4)}.orbit--inner:after{inset:-13%;border-right-color:rgba(230,201,148,.32);animation-duration:78s;animation-direction:reverse}.emblem-wrap{inset:5%}.clock-hand{top:10%;height:40%}.reveal-stage.living .clock-hand{animation:none;opacity:.95;transform:rotate(var(--tick-angle,0deg));transition:transform .12s cubic-bezier(.2,.8,.25,1)}.centre-pulse{animation:centre-light 1.9s 5.9s ease-out forwards,centre-ambient 11s 13s ease-in-out infinite}
.message{left:50%;top:69%;width:min(78vw,54rem);transform:translate(-50%,-50%);text-align:center}.prelude{display:none}.message h1{line-height:1}.line{overflow:visible}.line--small{font-size:clamp(.72rem,1.1vw,1.05rem);font-family:Georgia,serif;font-style:normal;letter-spacing:.72em;text-transform:uppercase}.line--wicked{margin:.18em 0 .12em;font-size:clamp(4.4rem,8.2vw,8.1rem);line-height:.82;font-style:normal;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(95deg,#8c6940,#f0d49e 40%,#a77d48 75%,#e3c28b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 15px rgba(185,149,98,.08))}.line--coming{margin:0;font-size:clamp(.78rem,1.35vw,1.25rem);font-family:Georgia,serif;letter-spacing:.52em;text-transform:uppercase}.signature{margin:1.35rem 0 0;color:var(--pale-gold);font:400 clamp(.62rem,.95vw,.85rem)/1.2 Georgia,serif;letter-spacing:.32em;text-transform:uppercase}.signature:before,.signature:after{content:"";position:static;display:inline-block;width:5rem;height:1px;margin:0 1.1rem .25em;background:linear-gradient(90deg,transparent,var(--gold))}.signature:after{background:linear-gradient(90deg,var(--gold),transparent)}.supporting{margin:.7rem 0 0;color:rgba(207,167,105,.82);font:italic clamp(.85rem,1.25vw,1.15rem)/1.4 "Segoe Script","Bradley Hand",cursive;letter-spacing:.01em;text-transform:none}
.rings{right:auto;left:50%;top:auto;bottom:8.4rem;transform:translateX(-50%);animation:ring-group-loop 23s 10.5s ease-in-out infinite}.rings i:first-child{animation:ring-left-loop 23s 10.5s ease-in-out infinite}.rings i:nth-child(2){animation:ring-right-loop 23s 10.5s ease-in-out infinite}.rings span{animation:ring-particles-loop 23s 10.5s ease-out infinite}.reveal-date{left:50%;right:auto;top:auto;bottom:2.1rem;transform:translateX(-50%);text-align:center;white-space:nowrap}.reveal-date p{margin-bottom:.55rem}.reveal-date div{font-size:clamp(1.45rem,2.6vw,2.5rem);gap:.9rem;text-shadow:0 0 22px rgba(185,149,98,.12)}.reveal-date:after{content:"";display:block;width:15rem;max-width:75vw;height:1px;margin:.7rem auto 0;background:linear-gradient(90deg,transparent,rgba(185,149,98,.45),#f1cf91,rgba(185,149,98,.45),transparent);box-shadow:0 0 10px rgba(229,188,117,.25);animation:date-glow 9s 14s ease-in-out infinite}.finale{display:none}.edition{left:1.25rem}.coordinates{position:absolute;z-index:3;right:1.2rem;top:50%;margin:0;writing-mode:vertical-rl;color:rgba(214,179,118,.45);font:400 .47rem/1 Georgia,serif;letter-spacing:.4em;text-transform:uppercase;opacity:0;animation:simple-in 1.5s 10.5s ease forwards}.coordinates b{font-weight:400;margin:.6rem 0}.edge-star{position:absolute;z-index:3;color:rgba(231,199,142,.6);text-shadow:0 0 10px rgba(231,199,142,.35);animation:twinkle 5s ease-in-out infinite}.edge-star--left{left:8%;bottom:10%;font-size:.7rem;animation-delay:1.7s}.edge-star--right{right:5%;top:34%;font-size:1.25rem;animation-delay:3.1s}
.castle{position:absolute;left:-2%;bottom:-2%;width:30vw;height:47vh;opacity:0;filter:blur(.3px);animation:castle-emerge 7s 2.5s ease forwards}.castle:before{content:"";position:absolute;left:7%;bottom:0;width:72%;height:46%;background:linear-gradient(100deg,#020302,#07100c 65%,transparent);clip-path:polygon(0 100%,0 32%,7% 32%,7% 17%,11% 17%,14% 0,17% 17%,23% 17%,23% 42%,30% 42%,30% 24%,34% 24%,38% 9%,42% 24%,48% 24%,48% 36%,55% 36%,55% 15%,59% 15%,62% 2%,65% 15%,72% 15%,72% 30%,79% 30%,84% 47%,90% 47%,90% 100%)}.castle i{position:absolute;z-index:2;width:3px;height:6px;background:#9a632c;box-shadow:0 0 8px 2px rgba(177,108,43,.3);opacity:.6;animation:window-flicker 7s ease-in-out infinite}.castle i:nth-child(1){left:16%;bottom:19%}.castle i:nth-child(2){left:39%;bottom:14%;animation-delay:2s}.castle i:nth-child(3){left:59%;bottom:20%;animation-delay:4s}.castle i:nth-child(4){left:28%;bottom:29%;animation-delay:5s}.castle span{position:absolute;inset:45% 0 0;background:linear-gradient(to top,rgba(2,3,2,.95),transparent);filter:blur(8px)}
.mist{position:absolute;width:48vw;height:20vh;border-radius:50%;filter:blur(35px);background:rgba(157,145,126,.035);animation:mist-drift 25s ease-in-out infinite}.mist--one{left:-10%;bottom:17%}.mist--two{right:5%;bottom:25%;animation-delay:-12s;animation-direction:reverse}.candles{position:absolute;right:0;bottom:0;width:12vw;height:48vh;opacity:0;filter:blur(3px);animation:castle-emerge 5s 5s ease forwards}.candles i{position:absolute;bottom:-5%;width:12px;height:55%;border-radius:6px;background:linear-gradient(90deg,#19110b,#4b2e17 50%,#110c08);box-shadow:0 0 35px rgba(190,113,43,.07)}.candles i:before{content:"";position:absolute;left:50%;top:-1.15rem;width:7px;height:18px;border-radius:50% 50% 45% 45%;background:#e7b360;transform:translateX(-50%);filter:blur(1px);box-shadow:0 0 17px 5px rgba(198,121,47,.22);animation:flame 3.2s ease-in-out infinite}.candles i:nth-child(1){right:12%;height:62%}.candles i:nth-child(2){right:43%;height:36%;transform:scale(.75);filter:blur(5px)}.candles i:nth-child(3){right:70%;height:22%;transform:scale(.5);filter:blur(7px)}
@keyframes centre-ambient{0%,82%,100%{opacity:0;transform:translate(-50%,-50%) scale(.4)}88%{opacity:.55;box-shadow:0 0 18px 5px rgba(229,201,150,.28)}94%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@keyframes date-glow{0%,70%,100%{opacity:.5;filter:brightness(.7)}84%{opacity:1;filter:brightness(1.7)}}@keyframes castle-emerge{to{opacity:.7}}@keyframes window-flicker{0%,100%{opacity:.35}42%{opacity:.75}47%{opacity:.42}53%{opacity:.7}}@keyframes mist-drift{0%,100%{transform:translateX(-4%) scale(1);opacity:.4}50%{transform:translateX(9%) scale(1.15);opacity:.7}}@keyframes flame{0%,100%{transform:translateX(-50%) rotate(-2deg) scaleY(.92);opacity:.75}50%{transform:translateX(-50%) rotate(3deg) scaleY(1.08);opacity:1}}@keyframes ring-group-loop{0%,7%,17%,100%{opacity:0}9%,14%{opacity:1}}@keyframes ring-left-loop{0%,7%{transform:translateX(-1rem) scale(.7)}10%,14%{transform:translateX(.35rem) scale(1)}17%,100%{transform:translateX(.7rem) scale(1.08);opacity:0}}@keyframes ring-right-loop{0%,7%{transform:translateX(1rem) scale(.7)}10%,14%{transform:translateX(-.35rem) scale(1)}17%,100%{transform:translateX(-.7rem) scale(1.08);opacity:0}}@keyframes ring-particles-loop{0%,10%{opacity:0;transform:scale(.8)}13%{opacity:.85}18%,100%{opacity:0;transform:scale(1.8)}}
@media(max-width:760px){.corner-brand{left:1rem;top:1rem;grid-template-columns:1.6rem auto;column-gap:.5rem}.corner-brand span{width:1.55rem;font-size:.7rem}.corner-brand strong{font-size:.62rem}.corner-brand small{font-size:.3rem}.castle{width:65vw;height:32vh;opacity:.28}.candles{width:25vw;height:30vh;opacity:.25}.coordinates,.edge-star{display:none}.edition{font-size:.36rem}.emblem-scene{top:27%;width:min(110vw,31rem)}.message{left:1rem;right:1rem;top:61%;width:auto;transform:translateY(-50%)}.line--small{font-size:.58rem;letter-spacing:.56em}.line--wicked{font-size:clamp(4.2rem,20.5vw,5.55rem);letter-spacing:.04em;margin:.22em 0 .15em}.line--coming{font-size:.66rem;letter-spacing:.4em}.signature{margin-top:1rem;font-size:.48rem;letter-spacing:.2em}.signature:before,.signature:after{width:2rem;margin:0 .55rem .2em}.supporting{margin-top:.62rem;font-size:.72rem;letter-spacing:0}.rings{bottom:6.5rem}.reveal-date{bottom:1.2rem}.reveal-date p{font-size:.34rem}.reveal-date div{font-size:1.18rem;gap:.45rem}.reveal-date:after{margin-top:.45rem;width:10rem}.replay{top:1rem}.halo{left:50%;top:30%;width:110vw}.mist{width:90vw}.mist--two{display:none}}
@media(max-height:720px) and (max-width:760px){.emblem-scene{top:24%;width:min(74vw,22rem)}.message{top:56%}.line--wicked{font-size:3.8rem}.supporting{display:block;font-size:.62rem}.rings{display:none}.reveal-date{bottom:.7rem}.corner-brand{display:none}}
@media(prefers-reduced-motion:reduce){.castle,.candles,.corner-brand,.coordinates{opacity:.65}.reveal-stage.living .clock-hand{transition:none}.mist,.candles i:before,.edge-star{animation:none}.corner-brand{opacity:1}}

/* Typography legibility and persistent wedding cue */
.emblem-scene{top:27.5%}
.message{top:64.5%;width:min(82vw,62rem)}
.line--small{font-size:clamp(1rem,1.35vw,1.35rem);letter-spacing:.66em}
.line--wicked{font-family:Didot,"Bodoni 72","Bodoni MT","Times New Roman",serif;font-size:clamp(5.1rem,9.1vw,9.2rem);font-weight:400;line-height:.78;letter-spacing:.15em;transform-origin:center;transform:scaleX(.91);margin:.22em -5% .2em}
.line--coming{font-size:clamp(1rem,1.38vw,1.35rem);letter-spacing:.48em}
.signature{margin-top:1.15rem;font-size:clamp(.88rem,1.08vw,1.05rem);letter-spacing:.25em}
.supporting{margin-top:.72rem;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.45}
.edition,.coordinates{font-size:clamp(.58rem,.62vw,.7rem)}
.corner-brand small{font-size:.52rem}.replay{font-size:.62rem}.reveal-date p{font-size:clamp(.75rem,.85vw,.9rem)}
.rings{bottom:7.3rem;opacity:.42;animation:ring-group-persistent 21s 10.5s ease-in-out infinite}
.rings i{border-color:rgba(232,200,143,.82);box-shadow:0 0 11px rgba(185,149,98,.14)}
.rings i:first-child{transform:translateX(.35rem);animation:ring-left-persistent 21s 10.5s ease-in-out infinite}
.rings i:nth-child(2){transform:translateX(-.35rem);animation:ring-right-persistent 21s 10.5s ease-in-out infinite}
.rings span{opacity:0;animation:ring-glint-persistent 21s 10.5s ease-in-out infinite}
@keyframes ring-group-persistent{0%,100%{opacity:.42;filter:brightness(.8)}8%{opacity:.65}11%,18%{opacity:1;filter:brightness(1.35)}23%,95%{opacity:.46;filter:brightness(.9)}}
@keyframes ring-left-persistent{0%{clip-path:inset(0 100% 0 0);transform:translateX(-.8rem) scale(.84)}7%{clip-path:inset(0);transform:translateX(.35rem) scale(1)}100%{clip-path:inset(0);transform:translateX(.35rem) scale(1)}}
@keyframes ring-right-persistent{0%,5%{clip-path:inset(0 0 0 100%);transform:translateX(.8rem) scale(.84)}12%,100%{clip-path:inset(0);transform:translateX(-.35rem) scale(1)}}
@keyframes ring-glint-persistent{0%,12%,100%{opacity:0;filter:brightness(1)}15%{opacity:1;filter:brightness(2)}20%{opacity:0;transform:scale(1.45)}}
@media(max-width:760px){.emblem-scene{top:25.5%}.message{top:59%;width:auto}.line--small{font-size:clamp(.95rem,4.2vw,1.08rem);letter-spacing:.4em}.line--wicked{font-size:clamp(4.5rem,21.5vw,5.8rem);letter-spacing:.07em;margin:.25em -5% .22em;transform:scaleX(.94)}.line--coming{font-size:clamp(.92rem,4vw,1.05rem);letter-spacing:.28em}.signature{font-size:clamp(.82rem,3.5vw,.92rem);letter-spacing:.09em}.signature:before,.signature:after{width:1.25rem;margin:0 .3rem .2em}.supporting{font-size:clamp(1rem,4.3vw,1.12rem);line-height:1.35;margin-top:.68rem}.rings{bottom:6.1rem;transform:translateX(-50%) scale(.88)}.reveal-date p{font-size:.78rem}.edition{font-size:.56rem}.replay{font-size:.62rem}.corner-brand small{font-size:.48rem}}
@media(max-height:720px) and (max-width:760px){.emblem-scene{top:22%}.message{top:53%}.line--small{font-size:.8rem}.line--wicked{font-size:3.7rem}.line--coming{font-size:.8rem}.signature{font-size:.66rem}.supporting{font-size:.78rem}.rings{display:block;bottom:5.2rem;transform:translateX(-50%) scale(.7)}.reveal-date p{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.rings{display:block;opacity:.7}.rings i:first-child{clip-path:none;transform:translateX(.35rem)}.rings i:nth-child(2){clip-path:none;transform:translateX(-.35rem)}}

.line--wicked{font-weight:400;letter-spacing:.17em;transform:none;margin-left:0;margin-right:0}
.rings{display:block;left:50%;right:auto;width:84px;height:48px;transform:translateX(-50%);opacity:.82}
.rings i{top:5px;width:42px;border-width:2px;border-color:#d7ad69;background:linear-gradient(145deg,rgba(255,235,188,.12),transparent 45%);box-shadow:0 0 7px rgba(221,172,93,.45),inset 0 0 3px rgba(255,231,178,.28)}
.rings i:first-child{left:5px}.rings i:nth-child(2){right:5px}.rings span{inset:0;background-image:radial-gradient(circle at 50% 50%,#fff1bf 0 1.5px,#ecc47d 2px,transparent 4px),radial-gradient(circle at 72% 22%,#e9c47f 0 1px,transparent 2px)}
.reveal-date{display:flex;flex-direction:column;align-items:center;text-align:center;left:50%;right:auto;transform:translateX(-50%);width:max-content}.reveal-date p,.reveal-date div{align-self:center;text-align:center}.reveal-date div{justify-content:center}
@media(max-width:760px){.line--wicked{letter-spacing:.09em;transform:none}.rings{width:56px;height:34px;transform:translateX(-50%)}.rings i{top:4px;width:29px;border-width:1.5px}.rings i:first-child{left:3px}.rings i:nth-child(2){right:3px}}

@font-face{font-family:"Cormorant Reference";font-style:normal;font-weight:300 700;font-display:swap;src:url("assets/fonts/cormorant-garamond-latin.woff2") format("woff2")}
.line--wicked{font-family:"Cormorant Reference",serif;font-weight:400;font-variation-settings:"wght" 400;letter-spacing:.13em;line-height:.74}
.corner-brand{display:block;width:clamp(8.5rem,12vw,11rem);height:clamp(6.8rem,9.7vw,8.6rem);overflow:hidden;opacity:0;animation:simple-in 1.4s 10.8s ease forwards}
.corner-brand img{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.corner-brand:after{content:"";display:block;width:100%;aspect-ratio:1;background:url("assets/wicked-logo-full.png") top center/100% auto no-repeat;-webkit-mask:url("assets/wicked-logo-full.png") top center/100% auto no-repeat;mask:url("assets/wicked-logo-full.png") top center/100% auto no-repeat;mask-mode:luminance;filter:brightness(.82) contrast(1.1)}
@media(max-width:760px){.line--wicked{letter-spacing:.08em}.corner-brand{width:7rem;height:5.5rem}.corner-brand img{width:100%}}

/* Emblem prominence and permanently visible wedding bands */
.emblem-scene{left:50%;transform:translate(-50%,-50%)}
.emblem-art{filter:brightness(1.02) contrast(1.18) sepia(.04);filter:brightness(1.02) contrast(1.18) sepia(.04) drop-shadow(0 0 12px rgba(218,172,99,.22));animation:component-reveal 3.2s 1.75s cubic-bezier(.18,.72,.2,1) forwards,emblem-presence 6.5s 7s ease-in-out infinite}
.emblem-wrap{filter:drop-shadow(0 0 26px rgba(210,164,93,.16))}
.halo{left:50%;top:29%;background:radial-gradient(circle,rgba(211,165,91,.2),rgba(26,58,40,.1) 40%,transparent 70%);transform:translate(-50%,-50%)}
.rings{opacity:.92!important;filter:brightness(1.15);animation:rings-shimmer 5.8s ease-in-out infinite!important}
.rings i{opacity:1!important;clip-path:none!important;border-color:#e5ba73;box-shadow:0 0 9px rgba(232,184,105,.58),inset 0 0 4px rgba(255,240,198,.38);animation:none!important}
.rings i:first-child{transform:translateX(.35rem) scale(1)!important}
.rings i:nth-child(2){transform:translateX(-.35rem) scale(1)!important}
.rings span{opacity:0;animation:rings-glint 5.8s 1.4s ease-in-out infinite!important}
@keyframes emblem-presence{0%,100%{filter:brightness(.96) contrast(1.16) sepia(.04) drop-shadow(0 0 10px rgba(218,172,99,.17));transform:scale(1)}50%{filter:brightness(1.12) contrast(1.12) sepia(.03) drop-shadow(0 0 20px rgba(226,179,103,.28));transform:scale(1.004)}}
@keyframes rings-shimmer{0%,100%{opacity:.88;filter:brightness(1.02) drop-shadow(0 0 2px rgba(228,179,96,.28))}48%{opacity:1;filter:brightness(1.42) drop-shadow(0 0 7px rgba(241,196,117,.55))}62%{opacity:.94;filter:brightness(1.14) drop-shadow(0 0 3px rgba(228,179,96,.32))}}
@keyframes rings-glint{0%,38%,64%,100%{opacity:0;transform:scale(.75)}49%{opacity:1;filter:brightness(2.2);transform:scale(1.05)}56%{opacity:.35;transform:scale(1.45)}}
@media(max-width:760px){.emblem-scene{left:50%;transform:translate(-50%,-50%)}.halo{left:50%;top:27%;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){.rings{opacity:.92!important;filter:brightness(1.16)}.rings span{display:block;opacity:.35}.emblem-art{filter:brightness(1.04) contrast(1.16) drop-shadow(0 0 12px rgba(218,172,99,.2))}}
