@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Serif+SC:wght@400;500;600;700&family=Outfit:wght@300;400;500;600&display=swap";@media (width<=699px){.registration-form input,.registration-form select{font-size:16px}}.ambient-stars{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden;display:block!important}.ambient-stars i{width:var(--size);height:var(--size);opacity:var(--dim);box-shadow:0 0 calc(var(--size) * 2.8) #efb883;animation:star-twinkle 4.8s ease-in-out infinite var(--delay),star-float 8s ease-in-out infinite var(--delay);background:#f8dfbc;border-radius:50%;position:absolute}.ambient-stars i.spark{width:calc(var(--size) * 1.65);height:calc(var(--size) * 1.65);box-shadow:none;background:0 0;border-radius:0}.ambient-stars i.spark:before,.ambient-stars i.spark:after{content:"";background:#ffd8a7;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #efb883}.ambient-stars i.spark:before{width:1px;height:100%}.ambient-stars i.spark:after{width:100%;height:1px}@keyframes star-twinkle{0%,to{opacity:var(--dim);filter:brightness(.8)}45%{opacity:var(--glow);filter:brightness(1.35)}}@keyframes star-float{0%,to{translate:0}50%{translate:0 -7px}}.deck-controls button{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border-color:#d5a37d99!important}.deck-controls button:hover{background:#ffffff1a!important;border-color:#f0c9a8!important}.deck-controls .share-button{color:#51c887!important;background:0 0!important}.deck-controls .share-button:hover{color:#74dca2!important;background:#ffffff1a!important}.wechat-mark{stroke:currentColor;stroke-width:1.45px;fill:none!important}.wechat-mark path:last-child{stroke:currentColor!important}@media (width<=699px){.hero:before{background-image:linear-gradient(90deg,#090807f2 0%,#090807bd 51%,#0908071a),url(/images/red-judy-hero-full-portrait.png)!important;background-position:0 0,72%!important;background-repeat:no-repeat!important;background-size:auto,cover!important}}.hero-brand strong{text-shadow:0 2px 18px #000;letter-spacing:.07em!important;font:500 clamp(22px,3.3vw,34px)/1.05 Noto Serif SC,serif!important}.hero-brand em{color:#cfa17b!important;letter-spacing:.15em!important}.countdown{color:#eadaca;align-items:center;gap:20px;margin-top:22px;display:flex}.countdown-label{letter-spacing:.13em;writing-mode:vertical-rl;font:500 10px/1.4 Noto Serif SC,serif}.countdown-units{gap:12px;display:flex}.countdown-units span{text-align:center;border-bottom:1px solid #c796714f;gap:3px;min-width:37px;padding-bottom:5px;display:grid}.countdown-units b{color:#e1ae85;letter-spacing:-.06em;font:400 22px/1 DM Mono,monospace}.countdown-units small{color:#d8c0ab;font:400 9px/1 Noto Serif SC,serif}@media (width<=699px){.hero-brand strong{font-size:27px!important}.countdown{gap:15px;margin-top:19px}.countdown-units{gap:8px}.countdown-units span{min-width:33px}.countdown-units b{font-size:20px}}:root{--black:#100e0d;--ink:#29221e;--ivory:#f8f4ed;--paper:#ede3d6;--copper:#bd8d65;--wine:#321a1d;color:var(--ink);background:#100e0d;font-family:Outfit,Noto Serif SC,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0}button,input,select{font:inherit}main{scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100svh;overflow:hidden auto}main::-webkit-scrollbar{width:0}.hero::-webkit-scrollbar{width:0}.section::-webkit-scrollbar{width:0}.footer::-webkit-scrollbar{width:0}.hero,.section,.footer{scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior:contain;height:100svh;min-height:100svh;overflow-y:auto}.ambient-stars,.grain,.orb,.particles{display:none}.reveal{opacity:0;transition:all .7s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.hero{isolation:isolate;color:#f4e8da;background:#0c0b0a;align-items:end;padding:clamp(36px,6vw,76px);display:grid;position:relative}.hero:before{content:"";z-index:-1;background-image:linear-gradient(90deg,#090807 0%,#090807e6 31%,#09080745 67%,#09080722),url(/images/red-judy-hero-full-portrait.png);background-position:0 0,100%;background-repeat:no-repeat;background-size:auto,cover;position:absolute;inset:0}.hero:after{content:"09.12.2026\a WUHAN";white-space:pre;color:#d2a47c;letter-spacing:.13em;text-align:right;font:500 10px/1.7 DM Mono,monospace;position:absolute;top:29px;right:clamp(24px,5vw,72px)}.hero-content{max-width:670px}.hero-brand{color:#dec2a5;letter-spacing:.18em;margin:0;font-size:11px}.hero-brand strong{letter-spacing:.16em;font:500 clamp(20px,3vw,30px)/1 Outfit,sans-serif;display:block}.hero-brand em{color:#c49771;letter-spacing:.16em;margin-top:10px;font:400 10px/1 DM Mono,monospace;display:block}.hero-brand span{display:none}.hero-rule{background:var(--copper);width:60px;height:1px;margin:31px 0}.hero-kicker{color:#d2b396;letter-spacing:.13em;margin:0;font:400 10px/1.6 DM Mono,monospace}.hero h1{color:#f5ede1;margin:21px 0 30px;font:400 clamp(53px,9vw,108px)/.98 Noto Serif SC,serif}.hero h1 strong{color:#d7a77c;font-weight:400}.hero-meta{color:#e8d7c4;letter-spacing:.1em;align-items:center;gap:12px;font:400 10px/1.5 DM Mono,monospace;display:flex}.hero-meta b{background:var(--copper);border-radius:50%;width:4px;height:4px}.gold-button{border:1px solid var(--copper);background:var(--copper);color:#130f0d;letter-spacing:.12em;cursor:pointer;padding:14px 19px;font:500 11px/1 Outfit,sans-serif;transition:all .25s}.gold-button span{margin-left:15px;font-size:17px}.gold-button:hover{color:var(--copper);background:0 0;transform:translateY(-2px)}.hero-button{margin-top:35px}.scroll-cue{color:#eedecd;letter-spacing:.13em;font:400 9px/1 DM Mono,monospace;text-decoration:none;position:absolute;bottom:25px;right:26px}.scroll-cue span{background:linear-gradient(var(--copper),transparent);width:1px;height:35px;margin:9px auto 0;display:block}.section,.footer{padding:clamp(62px,9vw,116px) clamp(22px,7vw,100px);position:relative}.section-inner,.footer-inner{width:min(100%,1120px);margin:auto}.eyebrow{color:#a6744f;letter-spacing:.16em;margin:0 0 18px;font:500 10px/1 DM Mono,monospace}.section h2,.footer h2{margin:0 0 32px;font:400 clamp(38px,6vw,76px)/1.12 Noto Serif SC,serif}.section h2 em,.footer h2 em{color:#a26a4d;font-style:normal}.invitation{background:linear-gradient(135deg,#130d0d,#241411)}.invitation .section-inner{max-width:930px;margin-left:0}.invitation h2{color:#f0e5d9}.invitation h3{color:#eadccd;max-width:590px;margin:0 0 34px;font:500 clamp(18px,2vw,25px)/1.55 Noto Serif SC,serif}.ornament{color:#c58a64;margin:16px 0 31px}.letter{color:#d4c3b5;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(30px,7vw,100px);font:400 14px/2 Noto Serif SC,serif;display:grid}.letter p{margin:0 0 16px}.letter p:first-child,.letter p:nth-child(2),.letter .highlight{grid-column:1/-1}.letter .highlight{color:#e0ad85;border-top:1px solid #916b57;max-width:650px;margin-top:4px;padding:16px 0;font-weight:600}.invitation-gallery{grid-template-columns:1.3fr .8fr;gap:13px;max-width:840px;margin-top:45px;display:grid}.invitation-gallery figure,.brand-photo{background:#211817;margin:0;position:relative;overflow:hidden}.invitation-gallery figure:first-child{margin-top:48px}.invitation-gallery img,.brand-photo img{object-fit:cover;filter:saturate(.56)contrast(1.1);width:100%;height:100%;display:block}.invitation-gallery figure:first-child img{aspect-ratio:1.14}.invitation-gallery figure:last-child img{aspect-ratio:.75}.invitation-gallery figcaption,.brand-photo figcaption{color:#dec3a7;letter-spacing:.1em;background:#100e0dd9;padding:8px 10px;font:500 9px/1 DM Mono,monospace;position:absolute;bottom:0;left:0}.dark{color:#f0e6da;background:#100e0d}.dark .eyebrow{color:#c39672}.dark h2 em{color:#ca9470}.brand{background:linear-gradient(112deg,#0b0908,#231312)}.brand-mark{color:#ffffff0b;letter-spacing:-.18em;margin:0;font:400 clamp(160px,29vw,350px)/.7 Georgia,serif;position:absolute;top:clamp(75px,13vw,145px);right:clamp(20px,8vw,120px)}.brand-mark span{font-size:.7em}.brand-layout{grid-template-columns:minmax(250px,.82fr) minmax(300px,1.08fr);align-items:end;gap:clamp(30px,7vw,105px);display:grid;position:relative}.copy{color:#ded0c2;font:400 15px/2 Noto Serif SC,serif}.copy p{margin:0 0 17px}.brand-photo{z-index:1}.brand-photo img{aspect-ratio:1.16;filter:saturate(.72)brightness(.8)}.concepts{background:#18100f}.concepts h2{color:#f0e5d9}.concept-grid{background:#705043;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.concept-card{background:#211411;flex-direction:column;min-height:380px;padding:15px 15px 18px;display:flex}.concept-card:nth-child(2n){background:#291815}.concept-image{height:172px;margin:-15px -15px 18px;overflow:hidden}.concept-image img{object-fit:cover;filter:saturate(.45)contrast(1.12)brightness(.76);width:100%;height:100%;display:block}.concept-2 .concept-image img{object-position:center 72%}.concept-card>span{color:#c28a65;font:500 10px/1 DM Mono,monospace}.concept-card h3{color:#efe3d5;margin:22px 0 10px;font:500 20px/1.22 Noto Serif SC,serif}.concept-card p{color:#c8b4a4;margin:0;font-size:12px;line-height:1.82}.showcase{color:#f1e8dc;background:#100e0d}.showcase .lead{color:#cfbfb0;max-width:630px;margin:0 0 33px;font:400 15px/1.9 Noto Serif SC,serif}.showroom-photo{background:#110d0c;height:clamp(300px,48vw,550px);margin:0 0 39px;position:relative;overflow:hidden}.showroom-photo img{object-fit:cover;filter:saturate(.68)brightness(.78);width:100%;height:100%}.showroom-photo:after{content:"";border:1px solid #d4a17773;position:absolute;inset:12px}.showroom-photo figcaption{z-index:1;color:#f1e2d0;letter-spacing:.1em;font:500 10px/1 DM Mono,monospace;position:absolute;bottom:20px;left:21px}.showroom-photo figcaption span{color:#daa178;margin-right:10px}.space-note{border-top:1px solid #72574c;grid-template-columns:145px minmax(180px,1fr) minmax(210px,1fr);align-items:start;gap:23px;margin:0 0 43px;padding-top:18px;display:grid}.space-note span{color:#d4a077;letter-spacing:.1em;font:500 10px/1.4 DM Mono,monospace}.space-note p{color:#f1e8de;margin:0;font:400 18px/1.55 Noto Serif SC,serif}.space-note img{object-fit:cover;filter:saturate(.6)brightness(.76);width:100%;height:160px}.upgrade-grid{grid-template-columns:repeat(2,1fr);gap:26px 18px;display:grid}.scene{background:#211816;height:210px;position:relative;overflow:hidden}.scene>img{object-fit:cover;filter:saturate(.58)brightness(.63);width:100%;height:100%}.scene:after{content:"";background:linear-gradient(#0000 35%,#100b0ae0);position:absolute;inset:0}.scene span{color:#e1ab82;z-index:2;font:400 32px/1 Georgia,serif;position:absolute;bottom:10px;right:12px}.upgrade h3{color:#f2e6d7;margin:14px 0 7px;font:500 19px/1.2 Noto Serif SC,serif}.upgrade p{color:#bdab9d;margin:0;font-size:12px;line-height:1.85}.schedule{background:linear-gradient(135deg,#180f0e,#2a1714)}.schedule h2{color:#f0e5d9}.schedule-layout{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);align-items:start;gap:clamp(28px,5vw,76px);display:grid}.schedule-image{background:#19100f;margin:0;position:sticky;top:28px;overflow:hidden}.schedule-image img{object-fit:cover;filter:saturate(.5)brightness(.7);width:100%;height:470px;display:block}.schedule-image figcaption{color:#e8c39e;letter-spacing:.1em;writing-mode:vertical-rl;font:500 10px/1 DM Mono,monospace;position:absolute;bottom:13px;left:13px}.timeline{border-top:1px solid #805d4e}.timeline-item{border-bottom:1px solid #805d4e;grid-template-columns:130px 20px 1fr;gap:16px;padding:21px 0;display:grid}.time{color:#c58d68;padding-top:2px;font:500 11px/1.5 DM Mono,monospace}.dot{background:#c38b67;border-radius:50%;width:8px;height:8px;margin-top:5px}.event h3{color:#f1e4d7;margin:0 0 9px;font:500 19px/1.2 Noto Serif SC,serif}.event ul{margin:0;padding:0;list-style:none}.event li{color:#cdbbad;margin:0 0 6px;font:400 12px/1.75 Noto Serif SC,serif}.event li:before{content:"—";color:#c29373;margin-right:6px}.footer{isolation:isolate;color:#f5eade;background:#130d0d}.footer-photo{z-index:-1;filter:saturate(.55)brightness(.72);background:linear-gradient(90deg,#130d0d 0%,#130d0d16 55%,#130d0d14),url(/images/red-judy-nocturne-rsvp.webp) 50% 30%/cover;position:absolute;inset:0 0 0 45%}.footer-inner{max-width:760px;margin-left:0}.footer .eyebrow{color:#d2a17c}.footer h2 em{color:#e1ad85}.event-info{border-top:1px solid #c99b7f78;border-bottom:1px solid #c99b7f78;max-width:560px;margin:31px 0;padding:22px 0}.event-info p{color:#f0e4d7;margin:0 0 13px;font:400 13px/1.75 Noto Serif SC,serif}.event-info b{color:#d6a27c;letter-spacing:.1em;margin-bottom:2px;font:500 10px/1.3 DM Mono,monospace;display:block}.map-link{color:#fff;border-bottom:1px solid #d9a47b;align-items:center;gap:7px;padding-bottom:4px;font-size:12px;text-decoration:none;display:inline-flex}.map-link span{color:#e3af86;font-size:17px}.notice{text-align:left;background:#ffffff08;border:1px solid #d4a3804a;max-width:470px;margin:31px 0 24px;padding:15px}.notice b{color:#e2ad84;font-size:13px}.notice p{color:#eee2d6;margin:7px 0 0;font-size:11px;line-height:1.8}.notice span{color:#e7bf9f}.footer-brand{color:#d8b59b;letter-spacing:.13em;font:400 10px/1 DM Mono,monospace}.footer-brand strong{font-weight:400}.deck-controls{z-index:30;flex-direction:column;gap:7px;display:flex;position:fixed;bottom:18px;right:15px}.deck-controls button{color:#f3ddca;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#160e0dcc;border:1px solid #d5a37d99;border-radius:50%;width:36px;height:36px;font:400 17px/1 Outfit,sans-serif}.deck-controls button:hover{background:#9d694e}.deck-controls .music-button{font-size:19px}.deck-controls .music-button.is-playing{color:#f3c6a4;border-color:#f3c6a4}.deck-controls .music-button.is-playing span{animation:1s ease-in-out infinite alternate pulse;display:block}.deck-controls .share-button{color:#fff;background:#07a75a;place-items:center;display:grid}.deck-controls .share-button:hover{background:#07864a}.wechat-mark{fill:currentColor;width:20px;height:20px}.wechat-mark path:last-child{fill:none;stroke:#07a75a;stroke-linecap:round;stroke-width:2.4px}.share-notice{z-index:31;color:#fff;background:#211311;padding:9px 12px;font-size:11px;position:fixed;bottom:25px;right:60px;box-shadow:0 8px 22px #0007}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d0808ce;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.contact-modal{width:min(100%,480px);max-height:calc(100svh - 36px);color:var(--ink);background:#f5eee5;padding:35px 25px 25px;position:relative;overflow:auto;box-shadow:0 20px 80px #0007}.contact-modal h2{margin:0 0 8px;font:500 29px/1.2 Noto Serif SC,serif}.modal-copy{color:#766b63;margin:0 0 19px;font-size:12px;line-height:1.75}.close{color:#725c4f;cursor:pointer;background:0 0;border:0;font-size:30px;position:absolute;top:8px;right:13px}.registration-form{gap:13px;display:grid}.registration-form label{color:#725d50;letter-spacing:.05em;gap:6px;font-size:11px;display:grid}.registration-form input,.registration-form select{width:100%;color:var(--ink);background:#fffdf9;border:1px solid #d6c9bb;outline:0;padding:10px 11px}.registration-form input:focus,.registration-form select:focus{border-color:#a77b61}.form-row{grid-template-columns:1fr 100px;gap:10px;display:grid}.attendee-field select{height:41px}.registration-form .gold-button{color:#fff;background:#4b2522;justify-self:start;margin-top:4px}.registration-form .gold-button:disabled{cursor:wait;opacity:.65}.registration-notice{color:#754c49;background:#eaded2;border-left:2px solid #9a7055;margin:12px 0 0;padding:9px 10px;font-size:11px;line-height:1.6}.records-private{color:#8e7464;margin:15px 0 0;font-size:10px;line-height:1.6}.contact-divider{color:#9a8474;letter-spacing:.08em;align-items:center;gap:10px;margin:20px 0 0;font-size:10px;display:flex}.contact-divider:before,.contact-divider:after{content:"";background:#dfd2c3;flex:1;height:1px}.contacts{border-top:1px solid #dfd2c3}.contacts a{color:inherit;border-bottom:1px solid #dfd2c3;grid-template-columns:1fr auto auto;align-items:center;gap:11px;padding:14px 0;text-decoration:none;display:grid}.contacts a span{font-size:14px}.contacts a b{letter-spacing:.04em;font:400 14px Outfit,sans-serif}.contacts a i{color:#8b6048;font-size:10px;font-style:normal}@keyframes pulse{to{transform:scale(1.18)}}@media (width<=699px){.hero{padding:30px 24px 66px}.hero:before{background:linear-gradient(90deg,#090807f2 0%,#090807bd 51%,#0908071a),url(/images/red-judy-nocturne-model.webp) 61%/cover}.hero:after{right:24px}.hero h1{font-size:56px}.section,.footer{padding:61px 24px}.letter{display:block}.invitation-gallery{gap:9px;margin-top:31px}.invitation-gallery figure:first-child{margin-top:27px}.brand-layout{display:block}.brand-photo{margin-top:28px}.concept-grid{grid-template-columns:repeat(2,1fr)}.concept-card{min-height:298px}.concept-image{height:125px}.concept-card h3{margin-top:16px;font-size:18px}.space-note{grid-template-columns:1fr;gap:12px;margin-bottom:33px}.upgrade-grid{grid-template-columns:1fr;gap:27px}.scene{height:220px}.schedule-layout{grid-template-columns:1fr;gap:30px}.schedule-image{position:relative;top:auto}.schedule-image img{object-position:center 64%;height:220px}.timeline-item{grid-template-columns:73px 16px 1fr;gap:9px}.event h3{font-size:18px}.footer-photo{background:linear-gradient(90deg,#130d0def 0%,#130d0dbd 55%,#130d0d26),url(/images/red-judy-nocturne-rsvp.webp) 67%/cover;inset:0}.deck-controls{bottom:10px;right:10px}.deck-controls button{width:32px;height:32px;font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.hero-brand strong{font-size:clamp(24px,3.5vw,37px)!important}.hero-brand em{font-size:11px!important}@media (width<=699px){.hero-brand strong{font-size:29px!important}.hero-brand em{font-size:12px!important}}.contacts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;display:grid}.contacts a{grid-template-columns:1fr;gap:4px;padding:12px 0}.contacts a i{display:none}
