
    @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Manrope:wght@400;500&family=Oswald:wght@400;500&display=swap');
    html,body{margin:0;min-height:100%;background:#0b0c11}
    #nocturne-invite{--coal:#17191d;--iron:#272a30;--silver:#ecebe7;--mist:#b9bdc1;--edge:#5f6369;--wine:#642c3e;color:var(--silver);font-family:Manrope,Arial,sans-serif;max-width:1024px;margin:auto;padding:10px 0 26px;background:transparent}
    #nocturne-invite *{box-sizing:border-box}
    #nocturne-invite button,#nocturne-invite input,#nocturne-invite textarea,#nocturne-invite a{font:inherit}
    #nocturne-invite .preview-tabs{display:flex;justify-content:center;gap:4px;margin:0 0 13px}
    #nocturne-invite .preview-tabs button{min-height:44px;padding:10px 17px;color:#c6c8ca;background:#26282d;border:1px solid #61646a;font:500 11px Manrope,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
    #nocturne-invite .preview-tabs button.active{background:#ecebe7;color:#17191d;border-color:#ecebe7}
    #nocturne-invite .page[hidden]{display:none}
    #nocturne-invite .guest-page{width:min(100%,450px);margin:auto;background:var(--coal);box-shadow:0 20px 60px #0007;overflow:hidden}
    #nocturne-invite .guest-head{min-height:525px;position:relative;padding:24px 27px 36px;overflow:hidden;background:linear-gradient(145deg,#393940 0%,#24262a 42%,#131519 100%)}
    #nocturne-invite .guest-head:before{content:"";position:absolute;inset:-50px -70px -30px 35%;opacity:.38;background:repeating-linear-gradient(90deg,transparent 0 35px,#bfc1c61a 36px 37px,transparent 38px 91px),linear-gradient(152deg,transparent 0 32%,#a0a4ab21 33% 34%,transparent 35% 100%);clip-path:polygon(48% 0,100% 26%,100% 100%,0 100%,0 26%)}
    #nocturne-invite .guest-head:after{content:"";position:absolute;width:330px;height:520px;right:-170px;top:42px;border:1px solid #dadee256;transform:rotate(19deg);clip-path:polygon(50% 0,100% 23%,100% 100%,0 100%,0 23%);pointer-events:none}
    #nocturne-invite .hero-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;color:#d1d3d4;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
    #nocturne-invite .small-sigil{width:27px;height:27px;position:relative;display:inline-block;border:1px solid #dcdfdf;transform:rotate(45deg)}
    #nocturne-invite .small-sigil:after{content:"";position:absolute;inset:6px;border:1px solid #dcdfdf}
    #nocturne-invite .hero-main{position:relative;z-index:1;margin-top:70px;max-width:395px}
    #nocturne-invite .salute{margin:0;font:500 clamp(40px,10vw,52px)/.98 Oswald,Impact,sans-serif;letter-spacing:-.045em;text-transform:uppercase;overflow-wrap:anywhere}
    #nocturne-invite .salute span{display:block;color:#fff;margin-top:5px}
    #nocturne-invite .salute b{font-weight:500}
    #nocturne-invite .hero-rule{width:70px;height:2px;background:#e1e1df;margin:24px 0 19px;transform:skew(-35deg)}
    #nocturne-invite .invitation-copy{max-width:335px;color:#e0e0de;font-size:14px;line-height:1.62}
    #nocturne-invite .invitation-copy p{margin:0 0 6px}
    #nocturne-invite .invitation-copy p:last-child{margin-top:17px}
    #nocturne-invite .guest-section{padding:35px 27px 38px;border-top:1px solid #4a4d52}
    #nocturne-invite .section-meta{color:#aeb1b4;font:500 10px Manrope,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin:0 0 11px}
    #nocturne-invite .guest-section h2{font:500 37px/.99 Oswald,Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 20px}
    #nocturne-invite .time-band{display:flex;align-items:baseline;gap:13px;padding:18px 0 0;border-top:1px solid #777a7d;font:500 45px/.98 Oswald,Impact,sans-serif;letter-spacing:-.035em;white-space:nowrap}
    #nocturne-invite .time-band i{font-style:normal;color:#aaaeb0}
    #nocturne-invite .dress-section{position:relative;background:linear-gradient(156deg,#34343b 0%,#24252a 50%,#191b1f 100%);overflow:hidden}
    #nocturne-invite .dress-section:before{content:"";position:absolute;right:-105px;top:30px;width:240px;height:370px;border:1px solid #bec0c12a;clip-path:polygon(50% 0,100% 24%,100% 100%,0 100%,0 24%);transform:rotate(-22deg)}
    #nocturne-invite .dress-section>*{position:relative}
    #nocturne-invite .dress-section h2{font-size:38px;max-width:335px}
    #nocturne-invite .dress-copy{font:500 19px/1.31 'Cormorant Garamond',Georgia,serif;letter-spacing:.008em;max-width:372px;color:#e6e5e2;margin:0}
    #nocturne-invite .dress-copy p{margin:0 0 15px}
    #nocturne-invite .idea-button{display:inline-flex;align-items:center;gap:17px;min-height:48px;margin-top:12px;padding:0 15px;color:#ecebe7;background:transparent;border:1px solid #c0c1c0;font:500 11px Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:transform 1.5s cubic-bezier(.2,1.6,.4,1),background 1.5s}
    #nocturne-invite .idea-button:active,#nocturne-invite .idea-button.impact{transform:translateY(4px) rotate(-2deg) skew(-8deg);background:#5b4a56}
    #nocturne-invite .idea-button .spark{font:500 21px Oswald,Impact,sans-serif;line-height:1;transition:transform 1.5s}
    #nocturne-invite .idea-button.impact .spark{transform:rotate(180deg) scale(1.5)}
    #nocturne-invite .idea-result{min-height:50px;margin:17px 0 0;font:500 19px/1.22 'Cormorant Garamond',Georgia,serif;color:#e5e5e3}
    #nocturne-invite .idea-result.out{animation:idea-out 1.5s ease-in forwards}
    #nocturne-invite .idea-result.in{animation:idea-in 1.5s cubic-bezier(.2,1.5,.2,1) both}
    @keyframes idea-out{to{opacity:0;transform:translateX(-18px) skew(-10deg);filter:blur(5px)}}
    @keyframes idea-in{from{opacity:0;transform:translateX(22px) skew(12deg);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
    #nocturne-invite .map-surface{height:210px;position:relative;overflow:hidden;background:linear-gradient(135deg,#30343a,#21242a);border:1px solid #676b70}
    #nocturne-invite .map-surface:before{content:"";position:absolute;inset:-25%;transform:rotate(-19deg);background:repeating-linear-gradient(90deg,transparent 0 37px,#c6c9cc24 38px 39px,transparent 40px 89px),repeating-linear-gradient(0deg,transparent 0 45px,#d4d7d922 46px 47px,transparent 48px 98px)}
    #nocturne-invite .map-surface:after{content:"";position:absolute;left:14%;top:-60%;width:140px;height:420px;background:#90969a18;transform:rotate(28deg);box-shadow:180px 30px 0 #b0b7ba0e}
    #nocturne-invite .drink-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
    #nocturne-invite .drink{position:relative;min-height:208px;color:#ecebe7;text-align:left;background:#26292e;border:1px solid #5f6368;padding:0 12px 13px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
    #nocturne-invite .drink:before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,#ffffff10,transparent 36%,#00000024);pointer-events:none}
    #nocturne-invite .drink.is-picked{background:#343239;border-color:#e8e7e3;box-shadow:inset 0 0 0 1px #e8e7e3}
    #nocturne-invite .drink .tick{position:absolute;z-index:2;right:10px;top:8px;font-size:18px;line-height:1}
    #nocturne-invite .drink .picture{height:158px;display:flex;align-items:center;justify-content:center;position:relative}
    #nocturne-invite .drink .picture:before{content:"";position:absolute;inset:14px 24px;border:1px solid #a7a9ac32;clip-path:polygon(50% 0,100% 22%,100% 100%,0 100%,0 22%)}
    #nocturne-invite .drink img{position:relative;max-width:100%;max-height:150px;object-fit:contain;filter:drop-shadow(0 8px 10px #0009)}
    #nocturne-invite .drink.wine img{width:132px;height:132px;object-fit:cover;clip-path:polygon(50% 0,100% 22%,100% 100%,0 100%,0 22%)}
    #nocturne-invite .drink .drink-name{position:relative;font:500 20px/.95 Oswald,Impact,sans-serif;text-transform:uppercase}
    #nocturne-invite .drink .drink-name{display:block}
    #nocturne-invite .drink .drink-sub{position:relative;display:block;color:#babdc0;font-size:10px;margin-top:4px;line-height:1.2}
    #nocturne-invite .music-copy{font-size:14px;line-height:1.6;color:#d7d8d8;margin:0 0 18px}
    #nocturne-invite .action{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:11px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.095em;font:500 11px Manrope,Arial,sans-serif;border:1px solid #ecebe7;background:#ecebe7;color:#17191d}
    #nocturne-invite .action.secondary{background:transparent;color:#ecebe7;border-color:#aaaeb0}
    #nocturne-invite .action.full{width:100%}
    #nocturne-invite .field-label{display:block;color:#ecebe7;font-size:12px;margin:22px 0 8px}
    #nocturne-invite .text-field{display:block;width:100%;min-height:47px;padding:12px 13px;background:#282b30;color:#f4f4f1;border:1px solid #72767a;border-radius:0;font-size:14px;outline:none}
    #nocturne-invite textarea.text-field{min-height:104px;resize:vertical;line-height:1.5}
    #nocturne-invite .text-field::placeholder{color:#aeb2b6}
    #nocturne-invite .text-field:focus{border-color:#ecebe7}
    #nocturne-invite .upload-zone{padding:22px;border:1px solid #72767a;background:linear-gradient(135deg,#32363a,#24262b);position:relative}
    #nocturne-invite .upload-zone:after{content:"";width:30px;height:30px;position:absolute;right:21px;top:21px;border-top:1px solid #bbbfc0;border-right:1px solid #bbbfc0;transform:rotate(45deg)}
    #nocturne-invite .upload-zone .upload-mark{font:500 48px/.85 Oswald,Impact,sans-serif;color:#c9c9c9;margin-bottom:21px}
    #nocturne-invite .upload-zone .action{position:relative;z-index:1}
    #nocturne-invite .message-action{margin-top:11px}
    #nocturne-invite .guest-footer{padding:21px 27px 28px;color:#9fa4a6;font-size:10px;letter-spacing:.19em;text-transform:uppercase;border-top:1px solid #4b4e52}
    #nocturne-invite .admin-page{width:min(100%,960px);margin:auto;background:#1c1f23;box-shadow:0 20px 60px #0007;min-height:540px}
    #nocturne-invite .admin-header{background:#292b30;padding:25px 29px;display:flex;align-items:end;justify-content:space-between;gap:14px;border-bottom:1px solid #5c6065}
    #nocturne-invite .admin-header h2{margin:0;font:500 39px Oswald,Impact,sans-serif;text-transform:uppercase}
    #nocturne-invite .admin-header span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#b4b8ba}
    #nocturne-invite .admin-inner{padding:25px 29px 34px;display:grid;grid-template-columns:minmax(240px,310px) 1fr;gap:26px}
    #nocturne-invite .admin-inner h3{font:500 23px Oswald,Impact,sans-serif;text-transform:uppercase;margin:0 0 15px}
    #nocturne-invite .admin-side .text-field{margin-bottom:10px}
    #nocturne-invite .admin-note{font-size:12px;color:#b5b9bb;line-height:1.5;margin:12px 0 0}
    #nocturne-invite .guest-list{margin-top:24px;border-top:1px solid #5e6266}
    #nocturne-invite .guest-row{padding:12px 0;border-bottom:1px solid #5e6266;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px}
    #nocturne-invite .guest-row button{background:transparent;border:0;color:#ecebe7;text-decoration:underline;font-size:11px}
    #nocturne-invite .admin-detail{min-height:310px;background:#282b30;border:1px solid #5f6468;padding:22px}
    #nocturne-invite .admin-detail .empty{color:#b6babc;font-size:13px;line-height:1.6;margin:0}
    #nocturne-invite .detail-name{font:500 32px Oswald,Impact,sans-serif;margin:0 0 10px;text-transform:uppercase}
    #nocturne-invite .detail-url{padding:12px;background:#1d2024;border:1px solid #696c70;color:#d9dcda;overflow-wrap:anywhere;font-size:12px;margin:13px 0}
    #nocturne-invite .detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:19px}
    #nocturne-invite .detail-actions button{min-height:42px;padding:9px 12px;border:1px solid #92969a;background:transparent;color:#eee;font-size:11px}
    #nocturne-invite .answer-row{border-top:1px solid #5e6266;padding:12px 0;color:#cdd0d1;font-size:12px;line-height:1.5}
    #nocturne-invite .answer-row strong{display:block;text-transform:uppercase;letter-spacing:.13em;color:#aeb3b5;font-size:10px;margin-bottom:5px}
    #nocturne-invite .toast{min-height:20px;color:#ddd;font-size:11px;margin:10px 0 0}
    @media(max-width:640px){#nocturne-invite .admin-inner{grid-template-columns:1fr}#nocturne-invite .admin-header h2{font-size:30px}}
    @media(max-width:390px){#nocturne-invite .guest-head{padding-left:20px;padding-right:20px}#nocturne-invite .guest-section{padding-left:20px;padding-right:20px}#nocturne-invite .time-band{font-size:38px}#nocturne-invite .guest-section h2{font-size:33px}#nocturne-invite .salute{font-size:39px}}
    @media(prefers-reduced-motion:reduce){#nocturne-invite .idea-result.out,#nocturne-invite .idea-result.in{animation:none}#nocturne-invite .idea-button{transition:none}}
    /* A deliberately broken editorial structure, rather than stacked landing-page panels. */
    #nocturne-invite,#nocturne-invite *{font-family:'Cormorant Garamond',Georgia,serif!important}
    #nocturne-invite .guest-page{width:min(100%,620px);position:relative;background:#18191e;overflow:hidden}
    #nocturne-invite .guest-head{min-height:0;padding:30px 42px 112px;background:linear-gradient(139deg,#393941 0%,#24252b 42%,#131419 84%);clip-path:polygon(0 0,100% 0,100% 92%,68% 100%,0 96%)}
    #nocturne-invite .guest-head:before{inset:-15% -30% -10% 34%;opacity:.5;transform:rotate(13deg);background:repeating-linear-gradient(90deg,transparent 0 32px,#e8e8e618 33px 34px,transparent 35px 76px)}
    #nocturne-invite .guest-head:after{content:"30";right:-32px;top:70px;width:auto;height:auto;border:0;clip-path:none;transform:rotate(87deg);font-size:330px;line-height:.8;color:#d8d8d818}
    #nocturne-invite .hero-top{font-size:16px;letter-spacing:.13em}
    #nocturne-invite .hero-main{margin-top:70px;max-width:none}
    #nocturne-invite .salute{font-size:clamp(48px,10vw,72px);line-height:.78;letter-spacing:-.05em;text-transform:none;max-width:520px;transform:rotate(-2deg)}
    #nocturne-invite .salute span{margin-top:17px;margin-left:42px;color:#f1efe9}
    #nocturne-invite .hero-rule{margin:38px 0 32px 38%;width:130px;height:3px;transform:rotate(-16deg);background:#d3b8c2}
    #nocturne-invite .invitation-copy{max-width:none;font-size:26px;line-height:1.05;letter-spacing:.005em}
    #nocturne-invite .verse-group{margin:0 0 25px}
    #nocturne-invite .verse-group span{display:block}
    #nocturne-invite .invitation-copy .verse-group:nth-child(2){margin-left:9%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(3){margin-left:42%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(4){margin-left:17%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(5){margin-left:59%}
    #nocturne-invite .guest-section{border:0;position:relative;padding:68px 46px 76px}
    #nocturne-invite .guest-section h2{font-size:49px;line-height:.86;letter-spacing:-.045em;text-transform:none}
    #nocturne-invite .section-meta{font-size:17px;letter-spacing:.08em}
    #nocturne-invite .guest-page > section:nth-of-type(1){z-index:2;margin:-60px 48px -35px -18px;padding:52px 48px 58px;background:#e6e3dc;color:#17191d;transform:rotate(-3deg);clip-path:polygon(0 0,93% 0,100% 21%,100% 100%,6% 96%,0 82%)}
    #nocturne-invite .guest-page > section:nth-of-type(1) h2{font-size:44px;max-width:280px}
    #nocturne-invite .time-band{border-color:#3c3b3c;font-size:61px;gap:15px;white-space:nowrap}
    #nocturne-invite .time-band i{color:#5a4750}
    #nocturne-invite .dress-section{z-index:3;margin:0 -15px 0 34px;padding:95px 65px 100px 39px;background:linear-gradient(160deg,#453b49,#292833 60%,#1c1d23);transform:rotate(1.8deg);clip-path:polygon(4% 0,100% 4%,98% 100%,0 95%,0 16%)}
    #nocturne-invite .dress-section:before{right:-40px;top:0;width:260px;height:660px;transform:rotate(19deg)}
    #nocturne-invite .dress-section h2{font-size:55px;line-height:.88;max-width:440px;transform:rotate(-2deg);margin-bottom:48px}
    #nocturne-invite .dress-copy{max-width:none;font-size:25px;line-height:1.06;letter-spacing:.004em}
    #nocturne-invite .dress-copy .verse-group{margin-bottom:24px}
    #nocturne-invite .dress-copy .verse-group:nth-child(2){margin-left:5%}
    #nocturne-invite .dress-copy .verse-group:nth-child(3){margin-left:13%}
    #nocturne-invite .dress-copy .verse-group:nth-child(4){margin-left:0}
    #nocturne-invite .dress-copy .verse-group:nth-child(5){margin-left:9%}
    #nocturne-invite .idea-button{font-size:19px;letter-spacing:.015em;min-height:58px;margin-top:20px;padding:8px 16px;background:#eeeae4;color:#1c1c21;border:0;transform:rotate(-3deg);clip-path:polygon(0 0,96% 0,100% 31%,100% 100%,4% 92%,0 70%)}
    #nocturne-invite .idea-button .spark{font-size:27px}
    #nocturne-invite .idea-result{font-size:25px;line-height:1.08;max-width:420px;min-height:58px;transform:rotate(-2deg)}
    #nocturne-invite .point-section{z-index:4;background:#e4e3df;color:#1b1c22;margin:-22px 52px -29px -20px;padding:100px 36px 70px 50px;transform:rotate(-3.5deg);clip-path:polygon(0 6%,96% 0,100% 100%,5% 96%)}
    #nocturne-invite .point-section .point-title{font-size:clamp(55px,12vw,93px);line-height:.8;white-space:nowrap;letter-spacing:-.05em;margin:0 0 48px;transform:rotate(2deg)}
    #nocturne-invite .map-surface{height:290px;background:linear-gradient(135deg,#55565e,#2f3338);border:0;transform:translateX(30px) rotate(7deg);clip-path:polygon(0 3%,96% 0,100% 100%,4% 95%)}
    #nocturne-invite .guest-page > section:nth-of-type(4){z-index:5;background:#232127;margin:0 -13px 0 18px;padding:100px 58px 100px 34px;transform:rotate(2deg);clip-path:polygon(3% 0,100% 4%,96% 100%,0 97%)}
    #nocturne-invite .guest-page > section:nth-of-type(4) h2{font-size:68px;max-width:390px}
    #nocturne-invite .drink-grid{gap:21px 12px;padding:12px 10px 25px}
    #nocturne-invite .drink{min-height:246px;padding:0 14px 15px;background:#323239;border:1px solid #757078;clip-path:polygon(0 0,92% 0,100% 9%,100% 100%,6% 95%,0 84%);transition:background 1.5s}
    #nocturne-invite .drink:nth-child(1){transform:rotate(-7deg) translateY(15px)}
    #nocturne-invite .drink:nth-child(2){transform:rotate(5deg) translateY(-7px)}
    #nocturne-invite .drink:nth-child(3){transform:rotate(6deg) translateX(9px)}
    #nocturne-invite .drink:nth-child(4){transform:rotate(-5deg) translate(-7px,16px)}
    #nocturne-invite .drink .picture{height:177px}
    #nocturne-invite .drink img{max-height:170px}
    #nocturne-invite .drink .drink-name{font-size:27px;line-height:.9}
    #nocturne-invite .drink .drink-sub{font-size:14px;color:#d0ccd0}
    #nocturne-invite .drink .tick{font-size:31px;right:9px;top:7px}
    #nocturne-invite .drink.is-picked{background:#584254;border-color:#e9e7e4;box-shadow:inset 0 0 0 2px #e9e7e4}
    #nocturne-invite .guest-page > section:nth-of-type(5){z-index:6;background:#dfddd8;color:#1c1d22;margin:-20px 28px -36px -12px;padding:100px 48px 91px 52px;transform:rotate(-2deg);clip-path:polygon(0 3%,100% 0,96% 100%,3% 96%)}
    #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:80px;transform:rotate(4deg);margin:0 0 35px -19px}
    #nocturne-invite .music-copy{font-size:26px;line-height:1.05;color:#22242a;max-width:470px;margin-bottom:28px}
    #nocturne-invite .action{font-size:21px;line-height:1;letter-spacing:.015em;min-height:54px;padding:13px 20px;background:#f1eee9;color:#1a1b1e;border:1px solid #1b1c21;clip-path:polygon(0 0,95% 0,100% 23%,100% 100%,4% 93%,0 80%)}
    #nocturne-invite .guest-page > section:nth-of-type(5) .action{background:#29272d;color:#eeeae7;transform:rotate(-3deg)}
    #nocturne-invite .field-label{font-size:21px;line-height:1.04;letter-spacing:0}
    #nocturne-invite .text-field{font-size:21px;line-height:1.1;border:1px solid #73737a}
    #nocturne-invite .guest-page > section:nth-of-type(5) .text-field{background:#f0eee9;color:#1c1d22;border-color:#343238;transform:rotate(1deg)}
    #nocturne-invite .guest-page > section:nth-of-type(5) .field-label{margin-top:35px}
    #nocturne-invite .guest-page > section:nth-of-type(5) .field-label,#nocturne-invite .guest-page > section:nth-of-type(5) .section-meta{color:#35343a}
    #nocturne-invite .guest-page > section:nth-of-type(6){z-index:7;background:#45424b;margin:0 -10px 0 36px;padding:95px 68px 75px 31px;transform:rotate(2.2deg);clip-path:polygon(2% 0,100% 4%,94% 100%,0 97%)}
    #nocturne-invite .guest-page > section:nth-of-type(6) h2{font-size:77px;transform:rotate(-4deg)}
    #nocturne-invite .upload-zone{background:transparent;border:0;padding:10px 0 20px}
    #nocturne-invite .upload-zone:after{display:none}
    #nocturne-invite .upload-zone .upload-mark{font-size:100px;line-height:.5;transform:rotate(-15deg);margin:0 0 35px 30px}
    #nocturne-invite .upload-zone .action{transform:rotate(-5deg);min-height:66px}
    #nocturne-invite .guest-page > section:nth-of-type(7){z-index:8;background:#202126;margin:-18px 17px -35px -10px;padding:90px 50px 110px;transform:rotate(-1.5deg);clip-path:polygon(0 3%,99% 0,100% 96%,9% 100%,0 88%)}
    #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:81px;transform:rotate(3deg)}
    #nocturne-invite .message-action{transform:rotate(3deg);margin-top:16px}
    #nocturne-invite .guest-footer{border:0;padding:65px 45px 38px;text-align:right;font-size:17px}
    #nocturne-invite .preview-tabs button{font-size:17px;letter-spacing:.02em;clip-path:polygon(0 0,94% 0,100% 25%,100% 100%,5% 93%,0 72%)}
    #nocturne-invite .admin-header h2{font-size:53px}
    #nocturne-invite .admin-inner h3{font-size:31px}
    #nocturne-invite .admin-note,#nocturne-invite .admin-detail .empty,#nocturne-invite .guest-row{font-size:18px}
    #nocturne-invite .admin-detail .answer-row,#nocturne-invite .detail-url{font-size:17px}
    #nocturne-invite .admin-detail .answer-row strong{font-size:16px}
    #nocturne-invite .deconstruct-hit{animation:button-break 1.5s cubic-bezier(.16,1.2,.3,1)}
    @keyframes button-break{0%{filter:none}14%{transform:translate(-7px,4px) skew(12deg,-7deg);clip-path:polygon(0 0,85% 0,94% 23%,100% 27%,91% 100%,0 89%);filter:invert(1)}28%{transform:translate(11px,-7px) skew(-17deg,9deg);filter:contrast(2)}43%{transform:translate(-4px,6px) rotate(-6deg);filter:blur(2px)}62%{transform:translate(3px,-3px) skew(5deg);filter:none}100%{transform:none;filter:none}}
    #nocturne-invite .drink.rift{animation:drink-rift 1.5s cubic-bezier(.16,1.4,.28,1) both;z-index:15}
    #nocturne-invite .drink.rift img{animation:bottle-jump 1.5s cubic-bezier(.16,1.4,.28,1)}
    @keyframes drink-rift{0%{filter:none}13%{transform:rotate(-19deg) translate(-18px,7px) scale(.84);clip-path:polygon(0 0,75% 0,100% 27%,85% 100%,3% 93%);filter:brightness(3)}28%{transform:rotate(12deg) translate(18px,-19px) scale(1.21);filter:invert(1)}46%{transform:rotate(-11deg) translate(-4px,20px) scale(.93);filter:blur(3px)}68%{transform:rotate(8deg) translateY(-11px) scale(1.08);filter:none}100%{transform:var(--rest-transform);filter:none}}
    @keyframes bottle-jump{0%,100%{transform:none}28%{transform:translateY(-32px) rotate(22deg) scale(1.25)}55%{transform:translateY(14px) rotate(-15deg) scale(.88)}}
    #nocturne-invite .drink:nth-child(1){--rest-transform:rotate(-7deg) translateY(15px)}
    #nocturne-invite .drink:nth-child(2){--rest-transform:rotate(5deg) translateY(-7px)}
    #nocturne-invite .drink:nth-child(3){--rest-transform:rotate(6deg) translateX(9px)}
    #nocturne-invite .drink:nth-child(4){--rest-transform:rotate(-5deg) translate(-7px,16px)}
    #nocturne-invite .guest-page.shattering{overflow:visible}
    #nocturne-invite .guest-page.upload-blur{filter:blur(18px)}
    #nocturne-invite .guest-page.shattering > :not(.explosion-overlay){visibility:hidden}
    #nocturne-invite .explosion-overlay{position:absolute;inset:0;pointer-events:none;z-index:200}
    #nocturne-invite .explosion-slice{position:absolute!important;left:0!important;top:0!important;width:100%!important;margin:0!important;box-shadow:none!important;pointer-events:none!important;animation:shard-fly 1.5s cubic-bezier(.11,.64,.31,1) forwards}
    @keyframes shard-fly{0%{opacity:1;transform:none;filter:none}26%{opacity:1;transform:translate(calc(var(--tx)*.12),calc(var(--ty)*.12)) rotate(calc(var(--rot)*.15));filter:contrast(1.4)}68%{opacity:.9;transform:translate(calc(var(--tx)*.65),calc(var(--ty)*.65)) rotate(calc(var(--rot)*.65));filter:contrast(2)}100%{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(.6);filter:blur(8px)}}
    #nocturne-invite .upload-expander{position:fixed!important;z-index:1000!important;pointer-events:none!important;overflow:hidden!important;white-space:nowrap!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f1eee9!important;color:#17191d!important;border:0!important;clip-path:none!important;transform-origin:center center!important;animation:upload-fill 1.5s cubic-bezier(.67,0,.94,.49) forwards!important}
    @keyframes upload-fill{0%{transform:scale(1);filter:none}11%{transform:scale(1.26)}20%{transform:scale(.84)}31%{transform:scale(1.6)}42%{transform:scale(1.02)}53%{transform:scale(2.2)}66%{transform:scale(6)}83%{transform:scale(18);filter:none}100%{transform:scale(50);filter:blur(20px)}}
    @media(max-width:640px){
      #nocturne-invite .guest-head{padding:25px 26px 91px}
      #nocturne-invite .hero-main{margin-top:52px}
      #nocturne-invite .salute{font-size:clamp(44px,11.5vw,60px)}
      #nocturne-invite .invitation-copy{font-size:clamp(19px,5.3vw,24px)}
      #nocturne-invite .guest-page > section:nth-of-type(1){margin-left:-10px;margin-right:25px;padding:49px 30px 55px}
      #nocturne-invite .time-band{font-size:clamp(37px,10vw,54px);gap:8px}
      #nocturne-invite .dress-section{margin-left:19px;padding:85px 28px 85px 25px}
      #nocturne-invite .dress-section h2{font-size:clamp(38px,10vw,53px)}
      #nocturne-invite .dress-copy{font-size:clamp(16px,4.8vw,24px)}
      #nocturne-invite .point-section{margin-right:30px;padding:82px 25px 68px}
      #nocturne-invite .point-section .point-title{font-size:clamp(51px,13vw,80px)}
      #nocturne-invite .map-surface{height:230px}
      #nocturne-invite .guest-page > section:nth-of-type(4){padding:80px 33px 80px 23px}
      #nocturne-invite .guest-page > section:nth-of-type(4) h2{font-size:clamp(52px,13vw,66px)}
      #nocturne-invite .drink{min-height:214px}
      #nocturne-invite .drink .picture{height:152px}
      #nocturne-invite .drink img{max-height:146px}
      #nocturne-invite .guest-page > section:nth-of-type(5){padding:86px 31px 78px}
      #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:58px;margin-left:0;transform:rotate(2deg)}
      #nocturne-invite .music-copy{font-size:23px}
      #nocturne-invite .guest-page > section:nth-of-type(6){padding:85px 37px 70px 25px}
      #nocturne-invite .guest-page > section:nth-of-type(7){padding:80px 31px 94px}
      #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:64px}
    }
    @media(max-width:370px){
      #nocturne-invite .salute{font-size:38px;line-height:.89}
      #nocturne-invite .salute span{margin-left:13px}
      #nocturne-invite .invitation-copy{font-size:18px}
      #nocturne-invite .dress-copy{font-size:16px}
      #nocturne-invite .dress-copy .verse-group:nth-child(2),#nocturne-invite .dress-copy .verse-group:nth-child(3),#nocturne-invite .dress-copy .verse-group:nth-child(5){margin-left:0}
      #nocturne-invite .drink-grid{gap:15px 7px;padding:10px 0}
      #nocturne-invite .drink{min-height:194px;padding:0 9px 12px}
      #nocturne-invite .drink .picture{height:135px}
      #nocturne-invite .drink img{max-height:129px}
      #nocturne-invite .drink .drink-name{font-size:22px}
      #nocturne-invite .drink .drink-sub{font-size:12px}
      #nocturne-invite .point-section .point-title{font-size:39px}
      #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:46px}
      #nocturne-invite .guest-page > section:nth-of-type(6) h2{font-size:57px}
      #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:48px}
    }
    @media(prefers-reduced-motion:reduce){#nocturne-invite .deconstruct-hit,#nocturne-invite .drink.rift,#nocturne-invite .drink.rift img,#nocturne-invite .explosion-slice,#nocturne-invite .upload-expander{animation-duration:.01ms!important}}
    /* 03 — underground editorial: collisions of scale and alignment, no faux torn-paper cards. */
    #nocturne-invite{max-width:1024px;padding:0 0 20px;--paper:#e5e4de;--ash:#b8b8b3;--black:#17181b;--oxide:#6d4e59}
    #nocturne-invite .preview-tabs{justify-content:flex-start;margin:0;background:#e5e4de;padding:13px 20px 10px;gap:18px}
    #nocturne-invite .preview-tabs button{background:transparent!important;color:#545459!important;border:0!important;border-bottom:1px solid transparent!important;clip-path:none!important;min-height:33px;padding:0 0 3px;font-size:16px;letter-spacing:0;text-transform:none}
    #nocturne-invite .preview-tabs button.active{color:#17181b!important;border-bottom-color:#17181b!important}
    #nocturne-invite .guest-page{width:100%;max-width:none;margin:0;background:var(--paper);color:var(--black);box-shadow:none;overflow:hidden}
    #nocturne-invite .guest-head{display:block;min-height:940px;margin:0;padding:34px 5.5% 80px;background:#1a1b1e;color:#e7e6e0;clip-path:none;transform:none}
    #nocturne-invite .guest-head:before{content:"";position:absolute;inset:0 auto 0 48%;width:1px;height:auto;background:#dddcd321;opacity:1;transform:none;clip-path:none}
    #nocturne-invite .guest-head:after{content:"30";font-size:clamp(340px,54vw,590px);font-weight:400;line-height:1;top:31px;right:-7%;color:transparent;-webkit-text-stroke:1px #deddd21f;transform:none;letter-spacing:-.14em;pointer-events:none}
    #nocturne-invite .hero-top{display:flex;justify-content:space-between;position:relative;z-index:2;font-size:17px;letter-spacing:.02em;text-transform:none}
    #nocturne-invite .small-sigil{display:none}
    #nocturne-invite .hero-top:before{content:"30 / 2026";font-size:17px}
    #nocturne-invite .hero-main{display:grid;grid-template-columns:repeat(12,1fr);align-items:start;margin:94px 0 0;max-width:none;position:relative;z-index:2}
    #nocturne-invite .salute{grid-column:1/12;max-width:none;margin:0;font-size:clamp(78px,11vw,139px);line-height:.71;letter-spacing:-.075em;text-transform:none;transform:none;overflow-wrap:normal}
    #nocturne-invite .salute span{margin:22px 0 0 14%;color:#e8e6e0}
    #nocturne-invite .hero-rule{grid-column:8/13;width:100%;height:1px;background:#d7d6cd6e;transform:none;margin:56px 0 0}
    #nocturne-invite .invitation-copy{grid-column:6/13;max-width:none;margin:70px 0 0;font-size:clamp(27px,3vw,36px);line-height:.93;letter-spacing:-.022em;color:#f0eee8}
    #nocturne-invite .invitation-copy .verse-group{margin:0 0 38px}
    #nocturne-invite .invitation-copy .verse-group:nth-child(2){margin-left:-11%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(3){margin-left:31%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(4){margin-left:-28%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(5){margin-left:41%}
    #nocturne-invite .guest-section{border:0;border-radius:0;margin:0;padding:0;transform:none;clip-path:none}
    #nocturne-invite .section-meta{font-size:18px;line-height:1;color:inherit;opacity:.65;letter-spacing:.02em;text-transform:none}
    #nocturne-invite .guest-section h2{font-size:clamp(56px,8vw,104px);line-height:.75;letter-spacing:-.075em;text-transform:none;transform:none;margin:0}
    #nocturne-invite .guest-page > section:nth-of-type(1){min-height:480px;background:var(--paper);color:var(--black);padding:85px 5.5% 94px;margin:0;transform:none;clip-path:none}
    #nocturne-invite .guest-page > section:nth-of-type(1) h2{font-size:clamp(36px,4vw,53px);line-height:.87;letter-spacing:-.05em;max-width:310px;margin-left:2%}
    #nocturne-invite .time-band{border:0;display:flex;justify-content:space-between;align-items:baseline;gap:0;margin:74px -1% 0;padding:0;font-size:clamp(73px,12.5vw,135px);line-height:.75;letter-spacing:-.078em;white-space:nowrap;color:var(--black)}
    #nocturne-invite .time-band i{font-size:.66em;color:var(--oxide)}
    #nocturne-invite .dress-section{display:grid;grid-template-columns:repeat(12,1fr);align-content:start;min-height:1010px;background:#25262b;color:#ebeae4;padding:102px 5.5% 125px;margin:0;transform:none;clip-path:none;overflow:hidden}
    #nocturne-invite .dress-section:before{content:"02";position:absolute;left:-3%;top:220px;right:auto;width:auto;height:auto;border:0;clip-path:none;transform:none;font-size:450px;line-height:1;color:transparent;-webkit-text-stroke:1px #f5f2eb16;opacity:1}
    #nocturne-invite .dress-section .section-meta{grid-column:1/4;grid-row:1;font-size:19px}
    #nocturne-invite .dress-section h2{grid-column:1/10;grid-row:2;font-size:clamp(70px,9vw,110px);line-height:.77;max-width:none;margin:60px 0 0;transform:none}
    #nocturne-invite .dress-copy{grid-column:6/13;grid-row:3;font-size:clamp(25px,3vw,34px);line-height:.97;max-width:none;margin:85px 0 0;letter-spacing:-.015em}
    #nocturne-invite .dress-copy .verse-group{margin-bottom:31px}
    #nocturne-invite .dress-copy .verse-group:nth-child(2){margin-left:-8%}
    #nocturne-invite .dress-copy .verse-group:nth-child(3){margin-left:6%}
    #nocturne-invite .dress-copy .verse-group:nth-child(4){margin-left:-20%}
    #nocturne-invite .dress-copy .verse-group:nth-child(5){margin-left:2%}
    #nocturne-invite .idea-button{grid-column:6/12;grid-row:4;justify-self:start;min-height:52px;margin:28px 0 0;padding:0 5px 6px 0;font-size:26px;letter-spacing:-.015em;text-transform:none;color:#eae8e3;background:transparent;border:0;border-bottom:1px solid #eae8e3;clip-path:none;transform:none}
    #nocturne-invite .idea-button .spark{font-size:24px}
    #nocturne-invite .idea-result{grid-column:6/12;grid-row:5;max-width:none;margin:22px 0 0;min-height:68px;font-size:29px;line-height:.95;transform:none}
    #nocturne-invite .point-section{min-height:770px;background:var(--paper);color:var(--black);margin:0;padding:75px 5.5% 65px;transform:none;clip-path:none;overflow:hidden}
    #nocturne-invite .point-section .point-title{position:relative;z-index:2;font-size:clamp(104px,16vw,186px);line-height:.75;letter-spacing:-.09em;white-space:nowrap;margin:0 0 0 -2%;transform:none}
    #nocturne-invite .map-surface{position:relative;z-index:1;width:68%;height:475px;margin:18px 0 0 auto;background:#51545a;border:0;transform:none;clip-path:none;overflow:hidden}
    #nocturne-invite .map-surface:before{inset:-25%;background:repeating-linear-gradient(108deg,transparent 0 42px,#dee0df21 43px 44px,transparent 45px 107px),repeating-linear-gradient(21deg,transparent 0 63px,#dde1e01b 64px 65px,transparent 66px 121px);transform:none}
    #nocturne-invite .map-surface:after{left:-10%;top:0;width:38%;height:100%;transform:skew(-16deg);background:#e0e4e013;box-shadow:315px 0 0 #20232724}
    #nocturne-invite .guest-page > section:nth-of-type(4){min-height:1170px;background:#1c1d20;color:#ebe9e3;margin:0;padding:101px 5.5% 110px;transform:none;clip-path:none}
    #nocturne-invite .guest-page > section:nth-of-type(4) h2{font-size:clamp(100px,15vw,175px);line-height:.72;max-width:700px;letter-spacing:-.085em;margin:21px 0 95px -1%}
    #nocturne-invite .drink-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px 11%;width:86%;margin-left:auto;padding:0;align-items:start}
    #nocturne-invite .drink{position:relative;min-height:305px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0 0 10px;background:transparent;border:0;border-bottom:1px solid #a2a2a0;box-shadow:none;color:#ebe9e3;clip-path:none;transform:none;overflow:visible;text-align:left}
    #nocturne-invite .drink:before{display:none}
    #nocturne-invite .drink:nth-child(1){--rest-transform:none;margin-top:165px}
    #nocturne-invite .drink:nth-child(2){--rest-transform:none;margin-top:-30px}
    #nocturne-invite .drink:nth-child(3){--rest-transform:none;margin-top:80px}
    #nocturne-invite .drink:nth-child(4){--rest-transform:none;margin-top:-80px}
    #nocturne-invite .drink .picture{width:100%;height:225px;display:flex;justify-content:flex-start;align-items:flex-end;margin-bottom:25px}
    #nocturne-invite .drink .picture:before{display:none}
    #nocturne-invite .drink img{max-height:225px;max-width:82%;object-fit:contain;filter:grayscale(.23) drop-shadow(0 10px 18px #0008)}
    #nocturne-invite .drink.wine img{width:195px;height:195px;max-width:100%;object-fit:cover;clip-path:none;filter:grayscale(.25)}
    #nocturne-invite .drink .drink-name{font-size:clamp(30px,4vw,48px);line-height:.79;text-transform:none;letter-spacing:-.05em}
    #nocturne-invite .drink .drink-sub{font-size:17px;line-height:1;margin-top:10px;color:#bcbab7}
    #nocturne-invite .drink .tick{right:0;top:0;font-size:27px}
    #nocturne-invite .drink.is-picked{background:transparent;border-color:#eee7e8;box-shadow:none;color:#fff}
    #nocturne-invite .drink.is-picked:after{content:"";position:absolute;left:-11px;bottom:0;width:3px;height:84%;background:#b38595}
    #nocturne-invite .guest-page > section:nth-of-type(5){min-height:770px;background:var(--paper);color:var(--black);margin:0;padding:103px 5.5% 90px;transform:none;clip-path:none}
    #nocturne-invite .guest-page > section:nth-of-type(5) .section-meta{color:#4d4d51}
    #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:clamp(116px,16vw,193px);line-height:.66;letter-spacing:-.09em;margin:18px 0 80px -4%;transform:none}
    #nocturne-invite .music-copy{width:44%;max-width:none;margin:0 0 35px auto;font-size:clamp(30px,3.5vw,43px);line-height:.91;letter-spacing:-.025em;color:#222329}
    #nocturne-invite .action,#nocturne-invite .guest-page > section:nth-of-type(5) .action{display:inline-flex;min-height:48px;align-items:center;justify-content:flex-start;padding:0 6px 5px 0;font-size:24px;line-height:1;letter-spacing:-.015em;text-transform:none;text-decoration:none;background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;clip-path:none;transform:none}
    #nocturne-invite .guest-page > section:nth-of-type(5) .playlist-action{margin-left:1%}
    #nocturne-invite .guest-page > section:nth-of-type(5) .field-label{display:block;width:45%;margin:105px 0 12px auto;color:#303038;font-size:25px;line-height:1}
    #nocturne-invite .guest-page > section:nth-of-type(5) .text-field{display:block;width:45%;margin-left:auto;background:transparent;color:#17181b;border:0;border-top:1px solid #36363b;border-bottom:1px solid #36363b;transform:none}
    #nocturne-invite .field-label{font-size:25px;line-height:1}
    #nocturne-invite .text-field{font-size:24px;line-height:1.05;background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;min-height:53px;border-radius:0;padding:8px 0}
    #nocturne-invite .text-field::placeholder{color:#77777c}
    #nocturne-invite .guest-page > section:nth-of-type(6){min-height:690px;background:#3a3b41;color:#e8e6e0;margin:0;padding:101px 5.5% 84px;transform:none;clip-path:none}
    #nocturne-invite .guest-page > section:nth-of-type(6) h2{font-size:clamp(105px,16vw,175px);line-height:.66;letter-spacing:-.085em;margin:50px 0 0 20%;transform:none;max-width:660px}
    #nocturne-invite .upload-zone{margin:75px 0 0 5%;padding:0;background:transparent;border:0}
    #nocturne-invite .upload-zone .upload-mark{font-size:210px;line-height:.55;margin:0 0 55px 0;transform:none;opacity:.23}
    #nocturne-invite .upload-zone .action{margin-left:43%;font-size:30px;min-height:60px;white-space:nowrap}
    #nocturne-invite .guest-page > section:nth-of-type(7){min-height:780px;background:var(--paper);color:var(--black);margin:0;padding:90px 5.5% 110px;transform:none;clip-path:none}
    #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:clamp(110px,18vw,210px);line-height:.7;letter-spacing:-.088em;margin:20px 0 90px -3%;transform:none}
    #nocturne-invite .guest-page > section:nth-of-type(7) .field-label{width:43%;margin:0 0 0 auto;color:#26272b;font-size:clamp(26px,3vw,36px);line-height:.94}
    #nocturne-invite .guest-page > section:nth-of-type(7) .text-field{width:54%;min-height:150px;margin:50px 0 0 0;color:#17181b;border-top:1px solid #414145;border-bottom:1px solid #414145}
    #nocturne-invite .guest-page > section:nth-of-type(7) .message-action{margin:36px 0 0 50%;font-size:26px}
    #nocturne-invite .guest-page > section:nth-of-type(7) .toast{color:#414146;font-size:18px}
    #nocturne-invite .guest-footer{padding:34px 5.5% 45px;background:#1b1c20;color:#e9e7e0;border:0;text-align:right;font-size:18px;letter-spacing:0}
    #nocturne-invite .admin-page{width:100%;max-width:none;box-shadow:none}
    #nocturne-invite .admin-header{background:#242529}
    #nocturne-invite .admin-inner{background:#e5e4de;color:#1b1c20}
    #nocturne-invite .admin-detail{background:#d6d6d0;color:#1b1c20;border:0}
    #nocturne-invite .admin-side .text-field{color:#1b1c20;border-bottom:1px solid #3b3b40}
    #nocturne-invite .admin-side .action{color:#1b1c20}
    #nocturne-invite .guest-row button,#nocturne-invite .admin-detail .detail-actions button{color:#1b1c20}
    #nocturne-invite .detail-url{background:#e5e4de;color:#1b1c20}
    @media(max-width:680px){
      #nocturne-invite .guest-head{min-height:0;padding:26px 24px 80px}
      #nocturne-invite .guest-head:before{left:51%}
      #nocturne-invite .guest-head:after{font-size:360px;right:-90px;top:80px}
      #nocturne-invite .hero-main{display:block;margin:90px 0 0}
      #nocturne-invite .salute{font-size:clamp(54px,10.8vw,72px);line-height:.75;letter-spacing:-.065em}
      #nocturne-invite .salute span{margin:16px 0 0 9%}
      #nocturne-invite .hero-rule{width:32%;margin:54px 0 45px 57%}
      #nocturne-invite .invitation-copy{font-size:clamp(24px,4.4vw,29px);line-height:.95;margin:0 0 0 13%}
      #nocturne-invite .invitation-copy .verse-group{margin-bottom:31px}
      #nocturne-invite .invitation-copy .verse-group:nth-child(2){margin-left:-7%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(3){margin-left:28%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(4){margin-left:-8%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(5){margin-left:33%}
      #nocturne-invite .guest-page > section:nth-of-type(1){min-height:320px;padding:65px 24px 65px}
      #nocturne-invite .guest-page > section:nth-of-type(1) h2{font-size:40px}
      #nocturne-invite .time-band{font-size:clamp(40px,10.7vw,68px);margin:65px 0 0}
      #nocturne-invite .dress-section{display:block;min-height:0;padding:80px 24px 95px}
      #nocturne-invite .dress-section:before{font-size:280px;top:280px}
      #nocturne-invite .dress-section h2{font-size:clamp(52px,10vw,70px);line-height:.82;margin:48px 0 0;max-width:520px}
      #nocturne-invite .dress-copy{font-size:clamp(20px,4vw,27px);line-height:.98;margin:75px 0 0 12%;max-width:none}
      #nocturne-invite .dress-copy .verse-group{margin-bottom:26px}
      #nocturne-invite .idea-button{margin:40px 0 0 14%;font-size:24px}
      #nocturne-invite .idea-result{margin-left:14%;font-size:25px}
      #nocturne-invite .point-section{min-height:0;padding:75px 24px 86px}
      #nocturne-invite .point-section .point-title{font-size:clamp(55px,12vw,81px);letter-spacing:-.075em;margin:0}
      #nocturne-invite .map-surface{width:84%;height:350px;margin:55px 0 0 auto}
      #nocturne-invite .guest-page > section:nth-of-type(4){min-height:0;padding:90px 24px 125px}
      #nocturne-invite .guest-page > section:nth-of-type(4) h2{font-size:clamp(69px,14vw,99px);margin:31px 0 90px}
      #nocturne-invite .drink-grid{width:100%;gap:55px 9%}
      #nocturne-invite .drink{min-height:232px}
      #nocturne-invite .drink:nth-child(1){margin-top:105px}
      #nocturne-invite .drink:nth-child(2){margin-top:0}
      #nocturne-invite .drink:nth-child(3){margin-top:43px}
      #nocturne-invite .drink:nth-child(4){margin-top:-40px}
      #nocturne-invite .drink .picture{height:160px;margin-bottom:18px}
      #nocturne-invite .drink img{max-height:160px}
      #nocturne-invite .drink.wine img{width:145px;height:145px}
      #nocturne-invite .drink .drink-name{font-size:30px}
      #nocturne-invite .guest-page > section:nth-of-type(5){min-height:0;padding:100px 24px 110px}
      #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:clamp(69px,14vw,99px);margin:18px 0 75px}
      #nocturne-invite .music-copy{width:73%;font-size:clamp(27px,5vw,33px)}
      #nocturne-invite .guest-page > section:nth-of-type(5) .field-label,#nocturne-invite .guest-page > section:nth-of-type(5) .text-field{width:74%}
      #nocturne-invite .guest-page > section:nth-of-type(5) .field-label{margin-top:100px}
      #nocturne-invite .guest-page > section:nth-of-type(6){min-height:0;padding:95px 24px 105px}
      #nocturne-invite .guest-page > section:nth-of-type(6) h2{font-size:clamp(69px,14vw,99px);margin:35px 0 0 12%}
      #nocturne-invite .upload-zone{margin-top:80px}
      #nocturne-invite .upload-zone .upload-mark{font-size:150px}
      #nocturne-invite .upload-zone .action{margin-left:20%;font-size:26px}
      #nocturne-invite .guest-page > section:nth-of-type(7){min-height:0;padding:95px 24px 100px}
      #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:clamp(69px,14vw,99px);margin:24px 0 75px}
      #nocturne-invite .guest-page > section:nth-of-type(7) .field-label{width:69%;font-size:27px}
      #nocturne-invite .guest-page > section:nth-of-type(7) .text-field{width:74%;margin-top:65px}
      #nocturne-invite .guest-page > section:nth-of-type(7) .message-action{margin-left:35%}
    }
    @media(max-width:390px){
      #nocturne-invite .guest-head{padding-left:19px;padding-right:19px}
      #nocturne-invite .hero-main{margin-top:72px}
      #nocturne-invite .salute{font-size:clamp(45px,12vw,51px)}
      #nocturne-invite .invitation-copy{font-size:20px;margin-left:9%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(3){margin-left:19%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(5){margin-left:26%}
      #nocturne-invite .guest-page > section:nth-of-type(1),#nocturne-invite .dress-section,#nocturne-invite .point-section,#nocturne-invite .guest-page > section:nth-of-type(4),#nocturne-invite .guest-page > section:nth-of-type(5),#nocturne-invite .guest-page > section:nth-of-type(6),#nocturne-invite .guest-page > section:nth-of-type(7){padding-left:19px;padding-right:19px}
      #nocturne-invite .guest-page > section:nth-of-type(1) h2{font-size:35px}
      #nocturne-invite .time-band{font-size:clamp(37px,10vw,42px);margin-top:52px}
      #nocturne-invite .dress-section h2{font-size:48px}
      #nocturne-invite .dress-copy{font-size:18px;margin-left:4%}
      #nocturne-invite .dress-copy .verse-group:nth-child(2),#nocturne-invite .dress-copy .verse-group:nth-child(3),#nocturne-invite .dress-copy .verse-group:nth-child(4),#nocturne-invite .dress-copy .verse-group:nth-child(5){margin-left:0}
      #nocturne-invite .point-section .point-title{font-size:clamp(47px,12.5vw,54px)}
      #nocturne-invite .map-surface{height:270px}
      #nocturne-invite .guest-page > section:nth-of-type(4) h2{font-size:68px}
      #nocturne-invite .drink-grid{gap:36px 7%}
      #nocturne-invite .drink{min-height:195px}
      #nocturne-invite .drink .picture{height:130px}
      #nocturne-invite .drink img{max-height:130px}
      #nocturne-invite .drink.wine img{width:125px;height:125px}
      #nocturne-invite .drink .drink-name{font-size:24px}
      #nocturne-invite .drink .drink-sub{font-size:14px}
      #nocturne-invite .guest-page > section:nth-of-type(5) h2,#nocturne-invite .guest-page > section:nth-of-type(6) h2,#nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:66px}
      #nocturne-invite .music-copy{font-size:27px;width:81%}
      #nocturne-invite .guest-page > section:nth-of-type(5) .field-label,#nocturne-invite .guest-page > section:nth-of-type(5) .text-field{width:83%}
      #nocturne-invite .upload-zone .action{margin-left:0;font-size:24px}
      #nocturne-invite .guest-page > section:nth-of-type(7) .field-label{width:79%;font-size:25px}
      #nocturne-invite .guest-page > section:nth-of-type(7) .text-field{width:86%}
      #nocturne-invite .guest-page > section:nth-of-type(7) .message-action{margin-left:19%}
    }
    @media(max-width:340px){
      #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:54px}
      #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:54px}
    }
    /* 04 — spectral angelcore, cold digital exposure and bodily absence. */
    #nocturne-invite{--void:#0b0c11;--frost:#e8e9ed;--lilac:#b5aec8}
    #nocturne-invite .preview-tabs{background:#0b0c11;border-bottom:1px solid #9d9dab38}
    #nocturne-invite .preview-tabs button{color:#a8a9b3!important}
    #nocturne-invite .preview-tabs button.active{color:#eeedf1!important;border-bottom-color:#dddce7!important}
    #nocturne-invite .guest-page{background:#0b0c11;color:#ebeaf0}
    #nocturne-invite .guest-head{min-height:1120px;padding-top:37px;background:#08090e;color:#f1f0f4;isolation:isolate}
    #nocturne-invite .hero-ghost{display:block;position:absolute;z-index:0;right:-3%;top:0;width:67%;height:100%;object-fit:cover;object-position:50% 28%;filter:grayscale(.2) contrast(1.13) brightness(.85);opacity:.94;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 85%,transparent 100%);pointer-events:none}
    #nocturne-invite .guest-head:before{content:"";left:0;top:0;right:0;bottom:0;width:auto;height:auto;background:radial-gradient(circle at 69% 36%,#b0a7c62c,transparent 31%),linear-gradient(90deg,#08090e 0%,#08090eaa 44%,transparent 74%);z-index:1;opacity:1}
    #nocturne-invite .guest-head:after{content:"";right:0;top:0;left:0;bottom:0;width:auto;height:auto;background:repeating-linear-gradient(0deg,transparent 0 3px,#c5bdcf0a 4px 5px);z-index:1;pointer-events:none;-webkit-text-stroke:0;opacity:.42}
    #nocturne-invite .hero-top{position:relative;z-index:3;color:#d9d9e0;text-shadow:0 0 13px #ddcce87a}
    #nocturne-invite .hero-main{position:relative;z-index:3;margin-top:103px}
    #nocturne-invite .salute{grid-column:1/12;font-size:clamp(86px,12vw,147px);line-height:.7;color:#f1f0f3;text-shadow:-3px 0 #a8a2be42,3px 0 #d7dce83b,0 8px 30px #000b}
    #nocturne-invite .salute span{color:#f7f7fa;margin-left:23%}
    #nocturne-invite .hero-rule{grid-column:1/5;width:100%;margin:115px 0 0;background:#dedde365;box-shadow:0 0 14px #d8d3ee7a}
    #nocturne-invite .invitation-copy{grid-column:1/10;margin:88px 0 0 1%;font-size:clamp(29px,3.2vw,36px);line-height:.91;color:#eeedf2;text-shadow:0 2px 12px #000}
    #nocturne-invite .invitation-copy .verse-group:nth-child(2){margin-left:13%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(3){margin-left:46%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(4){margin-left:7%}
    #nocturne-invite .invitation-copy .verse-group:nth-child(5){margin-left:54%}
    #nocturne-invite .guest-page > section:nth-of-type(1){min-height:430px;background:#e3e4ea;color:#101117;padding:80px 5.5% 95px}
    #nocturne-invite .guest-page > section:nth-of-type(1):before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#ffffff8c,transparent 32%,#aba2c61c 70%,transparent);pointer-events:none}
    #nocturne-invite .guest-page > section:nth-of-type(1) h2{position:relative}
    #nocturne-invite .time-band{position:relative;color:#14141b;margin-top:100px;text-shadow:2px 0 #b4a8c857,-2px 0 #cad9e94d}
    #nocturne-invite .time-band i{color:#837693}
    #nocturne-invite .veil-interlude{position:relative;height:400px;background:#08090e;overflow:hidden}
    #nocturne-invite .veil-interlude img{width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:.85;filter:grayscale(.25) contrast(1.2)}
    #nocturne-invite .veil-interlude:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b0c11 0,transparent 45%,#0b0c11a8 100%);pointer-events:none}
    #nocturne-invite .dress-section{background:radial-gradient(circle at 20% 17%,#71658233,transparent 34%),#0b0c11;color:#e9e9ef;min-height:1100px;padding-top:145px}
    #nocturne-invite .dress-section:before{color:transparent;-webkit-text-stroke:1px #d9d0e927;top:100px}
    #nocturne-invite .dress-section h2{color:#f2f0f5;text-shadow:1px 0 #9f8cb962,-1px 0 #c7daec45}
    #nocturne-invite .dress-copy{color:#e4e2eb}
    #nocturne-invite .idea-button{color:#e9e8f1;border-bottom-color:#aaa4b7;text-shadow:0 0 13px #aaa4cc53}
    #nocturne-invite .idea-result{color:#d9d4e5}
    #nocturne-invite .point-section{background:#0b0c11;color:#e8e8ef;min-height:790px}
    #nocturne-invite .point-section .point-title{color:#e5e5eb;text-shadow:3px 0 #bbb4ce3d,-2px 0 #c3d9e53d}
    #nocturne-invite .map-surface{background:radial-gradient(circle at 69% 41%,#bdc0d046,transparent 17%),linear-gradient(140deg,#343747,#171a27 58%,#414252);box-shadow:0 0 50px #c2b4ee19}
    #nocturne-invite .map-surface:before{background:repeating-linear-gradient(108deg,transparent 0 42px,#dee0e029 43px 44px,transparent 45px 107px),repeating-linear-gradient(21deg,transparent 0 63px,#dde1e023 64px 65px,transparent 66px 121px)}
    #nocturne-invite .guest-page > section:nth-of-type(4){background:linear-gradient(180deg,#0b0c11,#15151d 43%,#0b0c11);color:#e8e9ed;min-height:1260px}
    #nocturne-invite .guest-page > section:nth-of-type(4) h2{color:#ececf2}
    #nocturne-invite .drink{color:#edeaf0;border-bottom-color:#aaa4b481}
    #nocturne-invite .drink img{filter:grayscale(.35) drop-shadow(0 10px 25px #d6c7ee28)}
    #nocturne-invite .drink.is-picked{color:#fff;border-bottom-color:#e8dff8}
    #nocturne-invite .drink.is-picked:after{background:#d8cced;box-shadow:0 0 17px #b7a9d8}
    #nocturne-invite .guest-page > section:nth-of-type(5){background:linear-gradient(135deg,#e1e2e9,#d2d1dc 68%,#ebebf1);color:#15141c}
    #nocturne-invite .guest-page > section:nth-of-type(5) .section-meta{color:#555361}
    #nocturne-invite .music-copy{color:#24232e}
    #nocturne-invite .guest-page > section:nth-of-type(5) .field-label{color:#383642}
    #nocturne-invite .guest-page > section:nth-of-type(6){background:radial-gradient(circle at 23% 59%,#9585b94d,transparent 28%),#171720;color:#e9e8ef}
    #nocturne-invite .upload-zone .upload-mark{color:#d3d0de;text-shadow:0 0 40px #ded6f2}
    #nocturne-invite .guest-page > section:nth-of-type(7){background:#0c0d13;color:#e8e8ee}
    #nocturne-invite .guest-page > section:nth-of-type(7) .field-label,#nocturne-invite .guest-page > section:nth-of-type(7) .text-field{color:#e8e8ee}
    #nocturne-invite .guest-page > section:nth-of-type(7) .text-field{border-color:#a8a5b7}
    #nocturne-invite .guest-page > section:nth-of-type(7) .toast{color:#c9c5d1}
    #nocturne-invite .guest-footer{background:#08090e;color:#d8d8df}
    @media(max-width:680px){
      #nocturne-invite .guest-head{min-height:0;padding-bottom:90px}
      #nocturne-invite .hero-ghost{width:100%;right:-26%;opacity:.68;object-position:60% 0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28%,#000 80%,transparent 100%)}
      #nocturne-invite .guest-head:before{background:linear-gradient(90deg,#08090eed 0,#08090ecc 34%,#08090e50 83%),linear-gradient(0deg,#08090e 0,transparent 50%)}
      #nocturne-invite .hero-main{margin-top:88px}
      #nocturne-invite .salute{font-size:clamp(56px,11vw,75px)}
      #nocturne-invite .salute span{margin-left:12%}
      #nocturne-invite .hero-rule{margin:68px 0 44px;width:29%}
      #nocturne-invite .invitation-copy{margin:0 0 0 4%;font-size:clamp(23px,4.5vw,31px)}
      #nocturne-invite .invitation-copy .verse-group:nth-child(2){margin-left:8%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(3){margin-left:38%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(4){margin-left:1%}
      #nocturne-invite .invitation-copy .verse-group:nth-child(5){margin-left:42%}
      #nocturne-invite .veil-interlude{height:270px}
      #nocturne-invite .dress-section{min-height:0;padding-top:115px}
      #nocturne-invite .point-section{min-height:0}
      #nocturne-invite .guest-page > section:nth-of-type(4){min-height:0}
    }
    @media(max-width:390px){
      #nocturne-invite .hero-ghost{right:-29%;width:115%;opacity:.6}
      #nocturne-invite .salute{font-size:clamp(45px,12vw,52px)}
      #nocturne-invite .invitation-copy{font-size:20px}
      #nocturne-invite .veil-interlude{height:210px}
    }
    /* 05 / fracture: the images become an unstable architectural layer. */
    #nocturne-invite .hero-ghost{opacity:.1}
    #nocturne-invite .hero-prism{position:absolute;right:-3%;top:0;width:67%;height:100%;z-index:2;pointer-events:none;filter:grayscale(.2) contrast(1.2) brightness(.83);-webkit-mask-image:linear-gradient(90deg,transparent,#000 19%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 19%,#000 88%,transparent)}
    #nocturne-invite .hero-prism:after{content:"";position:absolute;inset:10% 22% 6% 24%;border-left:1px solid #eeebf44d;border-right:1px solid #eef0f22d;transform:skew(-20deg);filter:drop-shadow(0 0 18px #e6d9ff)}
    #nocturne-invite .hero-prism .image-shard,#nocturne-invite .veil-prism .image-shard{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transform:translate(var(--sx),var(--sy)) rotate(var(--sr));animation:shard-breath 1.5s ease-in-out var(--delay) infinite alternate}
    #nocturne-invite .hero-prism .image-shard{object-position:50% 28%;opacity:.84;filter:drop-shadow(0 0 22px #c7bbdf6b)}
    #nocturne-invite .hero-prism .image-shard:nth-child(2),#nocturne-invite .hero-prism .image-shard:nth-child(5){opacity:.54;filter:brightness(1.45) blur(.7px)}
    #nocturne-invite .veil-interlude{width:69%;height:490px;margin:-112px 0 -95px auto;z-index:1;overflow:visible;background:transparent}
    #nocturne-invite .veil-interlude > img{opacity:.09;clip-path:polygon(10% 0,100% 0,100% 86%,0 100%)}
    #nocturne-invite .veil-prism{position:absolute;inset:0;pointer-events:none;filter:contrast(1.3) brightness(.92)}
    #nocturne-invite .veil-prism .image-shard{object-position:center 45%;opacity:.8}
    #nocturne-invite .veil-prism .image-shard:nth-child(even){opacity:.46;filter:brightness(1.7)}
    #nocturne-invite .veil-interlude:before{content:"";position:absolute;left:-16%;top:12%;width:31%;height:114%;border-left:1px solid #dcd8e879;transform:skew(-23deg);z-index:1;pointer-events:none}
    #nocturne-invite .veil-interlude:after{background:linear-gradient(0deg,#0b0c11 0,transparent 29%,#0b0c1166 100%)}
    @keyframes shard-breath{from{transform:translate(var(--sx),var(--sy)) rotate(var(--sr))}to{transform:translate(calc(var(--sx) + 7px),calc(var(--sy) - 9px)) rotate(calc(var(--sr) + .35deg))}}
    /* Sections collide on different axes; content stays on stable reading planes. */
    #nocturne-invite .guest-page > section:nth-of-type(1){width:73%;min-height:410px;margin:-55px 0 0;z-index:4;clip-path:polygon(0 0,100% 0,100% 77%,96% 100%,0 100%);box-shadow:18px 24px 80px #e5e0f31c}
    #nocturne-invite .guest-page > section:nth-of-type(1):after{content:"";position:absolute;right:4%;top:0;height:100%;width:1px;background:#6f708358;transform:rotate(20deg);pointer-events:none}
    #nocturne-invite .dress-section{padding-top:235px;min-height:1210px;background:radial-gradient(circle at 79% 7%,#80749530,transparent 24%),linear-gradient(102deg,#08090e 0%,#12121a 72%,#090a10 100%)}
    #nocturne-invite .dress-section:after{content:"";position:absolute;right:5%;top:6%;width:43%;height:87%;border:1px solid #dad5ed2a;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:skew(-18deg);pointer-events:none}
    #nocturne-invite .dress-section h2{margin-left:5%;position:relative;z-index:2}
    #nocturne-invite .dress-copy{position:relative;z-index:2;margin-right:11%}
    #nocturne-invite .point-section{margin-top:-160px;z-index:5;padding-top:215px;background:linear-gradient(162deg,transparent 0 6%,#0b0c11 6% 100%)}
    #nocturne-invite .point-section .point-title{position:relative;z-index:3;transform:translateX(7%);letter-spacing:-.085em}
    #nocturne-invite .map-surface{width:68%;margin:110px 5% 0 auto;transform:translateX(-5%) skew(-7deg);clip-path:polygon(0 0,100% 0,96% 100%,7% 100%)}
    #nocturne-invite .guest-page > section:nth-of-type(4){z-index:2;padding-top:125px;min-height:1130px}
    #nocturne-invite .guest-page > section:nth-of-type(4) h2{position:relative;z-index:2;transform:translateX(8%)}
    #nocturne-invite .drink-grid{width:88%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;margin:15px 1% 0 auto}
    #nocturne-invite .drink{min-height:325px;grid-row:auto;max-width:100%;z-index:1}
    #nocturne-invite .drink:nth-child(1){grid-column:1/5;margin-top:180px}
    #nocturne-invite .drink:nth-child(2){grid-column:8/12;margin-top:0}
    #nocturne-invite .drink:nth-child(3){grid-column:3/7;margin-top:55px}
    #nocturne-invite .drink:nth-child(4){grid-column:9/13;margin-top:-85px}
    #nocturne-invite .drink .picture{position:relative}
    #nocturne-invite .drink .picture:before{content:"";position:absolute;left:19%;top:19%;width:63%;height:56%;border:1px solid #dfd9f35c;transform:skew(-22deg) rotate(14deg);filter:drop-shadow(0 0 18px #b7a5d15e);pointer-events:none}
    #nocturne-invite .guest-page > section:nth-of-type(5){width:84%;margin:-82px 0 0 auto;z-index:5;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%,0 16%);padding-left:11%;padding-top:145px}
    #nocturne-invite .guest-page > section:nth-of-type(5):before{content:"";position:absolute;right:9%;top:-18%;width:1px;height:62%;background:#858299a0;transform:rotate(37deg);pointer-events:none}
    #nocturne-invite .guest-page > section:nth-of-type(6){margin-top:-100px;padding-top:200px;z-index:4;clip-path:polygon(0 0,100% 10%,100% 100%,0 100%)}
    #nocturne-invite .guest-page > section:nth-of-type(7){width:79%;margin:-80px auto 0 0;z-index:5;padding-left:8%;padding-top:165px;clip-path:polygon(0 0,100% 6%,95% 100%,0 100%)}
    #nocturne-invite .guest-footer{position:relative;z-index:5}
    /* Angular afterimages from every interaction. */
    #nocturne-invite .light-burst{position:fixed;z-index:10001;pointer-events:none;width:1px;height:1px;filter:drop-shadow(0 0 11px #f0e9ff)}
    #nocturne-invite .light-burst:before{content:"";position:absolute;left:-3px;top:-3px;width:6px;height:6px;background:#fff;box-shadow:0 0 35px 14px #ded9ee85;animation:burst-core 1.5s ease-out both}
    #nocturne-invite .light-ray{position:absolute;left:0;top:0;height:1px;width:var(--length);background:linear-gradient(90deg,#fff,#d8caee,transparent);transform-origin:0 50%;transform:rotate(var(--angle));animation:ray-fracture calc(1.5s - var(--delay)) cubic-bezier(.12,.75,.21,1) var(--delay) both}
    #nocturne-invite .light-ray:nth-child(3n){height:3px;clip-path:polygon(0 0,100% 0,71% 100%,0 100%)}
    @keyframes ray-fracture{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) scaleX(.08)}12%{opacity:1}45%{opacity:1;transform:rotate(var(--angle)) translateX(var(--distance)) scaleX(1.8)}100%{opacity:0;transform:rotate(var(--angle)) translateX(calc(var(--distance) * 1.8)) scaleX(.03)}}
    @keyframes burst-core{0%{transform:scale(.5);opacity:1}43%{transform:scale(18);opacity:.7}100%{transform:scale(0);opacity:0}}
    #nocturne-invite .deconstruct-hit{animation:angel-rupture 1.5s steps(1,end) both!important;position:relative;z-index:20}
    @keyframes angel-rupture{0%{transform:translate(0);filter:none;clip-path:none}11%{transform:translate(-11px,4px) skew(-19deg);filter:brightness(3) drop-shadow(12px -5px 0 #a69bbb);clip-path:polygon(0 0,88% 0,100% 34%,70% 100%,0 100%)}23%{transform:translate(15px,-12px) skew(13deg);filter:invert(1) drop-shadow(-15px 10px 0 #eee8ff);clip-path:polygon(7% 0,100% 0,100% 100%,0 83%)}37%{transform:translate(-19px,8px) skew(-9deg);filter:brightness(2) blur(1.5px)}49%{transform:translate(6px,-17px) scale(1.13,.65);filter:invert(1)}68%{transform:translate(-2px,3px) scale(.97,1.12);filter:drop-shadow(7px -8px 0 #d8cff188)}100%{transform:none;filter:none;clip-path:none}}
    #nocturne-invite .drink.rift{animation:bottle-exorcism 1.5s steps(1,end) both!important;z-index:30}
    @keyframes bottle-exorcism{0%{transform:var(--rest-transform);filter:none}10%{transform:translate(-25px,15px) rotate(-21deg) scale(.83);filter:brightness(3) drop-shadow(20px -13px 0 #a8a2c8)}22%{transform:translate(28px,-25px) rotate(18deg) scale(1.22);filter:invert(1) drop-shadow(-23px 18px 0 #eef1ff)}34%{transform:translate(-15px,-33px) skew(-27deg) scale(.76,1.43);filter:blur(2px)}47%{transform:translate(34px,11px) rotate(-13deg) scale(1.16);filter:brightness(4)}61%{transform:translate(-7px,-9px) skew(12deg) scale(.91);filter:invert(1)}76%{transform:translate(5px,3px) scale(1.04);filter:drop-shadow(0 0 19px #fff)}100%{transform:var(--rest-transform);filter:none}}
    #nocturne-invite .drink.rift img{animation:bottle-afterimage 1.5s steps(1,end) both}
    @keyframes bottle-afterimage{0%,100%{transform:none}12%{transform:translate(13px,-22px) scaleX(1.25)}27%{transform:translate(-22px,15px) rotate(21deg)}48%{transform:translate(6px,-35px) scaleY(1.3)}70%{transform:translate(-3px,9px)}}
    @media(max-width:680px){
      #nocturne-invite .hero-ghost{opacity:.06}
      #nocturne-invite .hero-prism{width:112%;right:-31%;opacity:.65}
      #nocturne-invite .hero-prism .image-shard{object-position:60% 0}
      #nocturne-invite .guest-page > section:nth-of-type(1){width:89%;min-height:310px;margin:-28px 0 0;padding:65px 24px 70px}
      #nocturne-invite .veil-interlude{width:83%;height:300px;margin:-35px 0 -65px auto}
      #nocturne-invite .dress-section{padding-top:130px;min-height:0}
      #nocturne-invite .dress-section h2{margin-left:0}
      #nocturne-invite .dress-copy{margin-right:0}
      #nocturne-invite .point-section{margin-top:-55px;padding-top:115px;min-height:0}
      #nocturne-invite .point-section .point-title{transform:translateX(2%)}
      #nocturne-invite .map-surface{width:84%;margin:60px 0 0 auto;transform:skew(-5deg)}
      #nocturne-invite .guest-page > section:nth-of-type(4){padding-top:100px;min-height:0}
      #nocturne-invite .guest-page > section:nth-of-type(4) h2{transform:none}
      #nocturne-invite .drink-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 8%;margin:0}
      #nocturne-invite .drink:nth-child(1),#nocturne-invite .drink:nth-child(2),#nocturne-invite .drink:nth-child(3),#nocturne-invite .drink:nth-child(4){grid-column:auto;min-height:232px}
      #nocturne-invite .drink:nth-child(1){margin-top:93px}
      #nocturne-invite .drink:nth-child(2){margin-top:0}
      #nocturne-invite .drink:nth-child(3){margin-top:50px}
      #nocturne-invite .drink:nth-child(4){margin-top:-40px}
      #nocturne-invite .guest-page > section:nth-of-type(5){width:91%;margin:-62px 0 0 auto;padding:120px 24px 110px 12%}
      #nocturne-invite .guest-page > section:nth-of-type(6){margin-top:-62px;padding-top:145px}
      #nocturne-invite .guest-page > section:nth-of-type(7){width:92%;margin:-50px auto 0 0;padding:135px 24px 100px}
    }
    @media(max-width:390px){
      #nocturne-invite .hero-prism{width:122%;right:-38%;opacity:.57}
      #nocturne-invite .veil-interlude{height:230px}
      #nocturne-invite .guest-page > section:nth-of-type(1){padding-left:19px;padding-right:19px}
      #nocturne-invite .drink-grid{gap:34px 7%}
      #nocturne-invite .drink:nth-child(1),#nocturne-invite .drink:nth-child(2),#nocturne-invite .drink:nth-child(3),#nocturne-invite .drink:nth-child(4){min-height:195px}
      #nocturne-invite .guest-page > section:nth-of-type(5){padding-left:12%;padding-right:19px}
      #nocturne-invite .guest-page > section:nth-of-type(7){padding-left:19px;padding-right:19px}
    }
    @media(prefers-reduced-motion:reduce){#nocturne-invite .image-shard{animation:none!important}#nocturne-invite .light-burst{display:none}}
    /* 06 / decisions and their own visual grammar. */
    #nocturne-invite [hidden]{display:none!important}
    #nocturne-invite .drink-decision{position:relative;width:88%;margin:92px 1% 0 auto;min-height:84px;text-align:right}
    #nocturne-invite .drink-decision .action{font-size:clamp(23px,3.2vw,41px);white-space:normal;text-align:right;line-height:.96}
    #nocturne-invite .drink.is-picked{background:#e6e5ed;color:#0b0c11;border-color:#f5f0ff;box-shadow:0 0 0 1px #dedbe8,0 0 38px #dcd6ee4c;clip-path:polygon(0 0,100% 0,100% 87%,95% 100%,0 100%)}
    #nocturne-invite .drink.is-picked img{filter:invert(1) grayscale(1) contrast(1.7) drop-shadow(0 0 16px #42415e)!important}
    #nocturne-invite .drink.is-picked .picture:before{border-color:#4b445e}
    #nocturne-invite .drink.rift{animation:negative-baptism 1.5s cubic-bezier(.11,.75,.3,1) both!important;overflow:visible}
    #nocturne-invite .drink.rift:before{content:"";position:absolute;inset:-14%;z-index:5;pointer-events:none;border:2px solid #fff;clip-path:polygon(50% 0,57% 37%,100% 22%,65% 53%,87% 100%,50% 67%,13% 100%,35% 53%,0 22%,43% 37%);animation:negative-halo 1.5s ease-out both}
    #nocturne-invite .drink.rift img{animation:negative-bottle 1.5s cubic-bezier(.2,.83,.25,1) both}
    @keyframes negative-baptism{0%{filter:none}22%{filter:brightness(4) contrast(2);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}45%{filter:invert(1) brightness(2);clip-path:polygon(11% 0,100% 0,89% 100%,0 100%)}72%{filter:contrast(1.8) drop-shadow(0 0 29px #e2ddf3);clip-path:polygon(0 0,100% 0,100% 87%,95% 100%,0 100%)}100%{filter:none}}
    @keyframes negative-bottle{0%{transform:scale(.82);opacity:.6}33%{transform:scale(1.27) rotate(6deg);opacity:1}60%{transform:scale(.92) rotate(-3deg)}100%{transform:none}}
    @keyframes negative-halo{0%{opacity:0;transform:scale(.18) rotate(-32deg)}35%{opacity:1;transform:scale(.86) rotate(5deg)}100%{opacity:0;transform:scale(1.55) rotate(20deg)}}
    #nocturne-invite .drinks-reconsider{position:relative;z-index:2;color:#e8e4f1;text-shadow:0 0 18px #ede9fa}
    #nocturne-invite .drinks-reconsider:before,#nocturne-invite .drinks-reconsider:after{content:"";position:absolute;inset:-16px -24px;pointer-events:none;opacity:0;border:1px solid #ece7fc;clip-path:polygon(50% 0,59% 32%,100% 4%,70% 50%,100% 95%,58% 68%,50% 100%,42% 68%,0 95%,30% 50%,0 4%,41% 32%)}
    #nocturne-invite .drinks-reconsider:after{transform:rotate(30deg) scale(.7);filter:blur(3px)}
    #nocturne-invite .reconsidering .drinks-reconsider{animation:reconsider-pulse 1.5s cubic-bezier(.15,.8,.2,1) both}
    #nocturne-invite .reconsidering .drinks-reconsider:before{animation:reconsider-wings 1.5s ease-out both}
    #nocturne-invite .reconsidering .drinks-reconsider:after{animation:reconsider-wings calc(1.5s - .09s) ease-out .09s both}
    #nocturne-invite .reconsider-corona{position:fixed;z-index:10000;pointer-events:none;width:1px;height:1px;filter:drop-shadow(0 0 18px #fff)}
    #nocturne-invite .reconsider-corona:before{content:"";position:absolute;left:-36px;top:-36px;width:72px;height:72px;border:2px solid #fff;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);animation:reconsider-center 1.5s ease-out both}
    #nocturne-invite .reconsider-corona i{position:absolute;left:0;top:0;width:6px;height:43vh;background:linear-gradient(#fff 0%,#c7b7e3 38%,transparent 100%);clip-path:polygon(0 0,100% 0,30% 100%);transform-origin:0 0;animation:reconsider-ray calc(1.5s - var(--d)) cubic-bezier(.14,.77,.22,1) both;animation-delay:var(--d)}
    @keyframes reconsider-center{0%{opacity:0;transform:scale(.05) rotate(-35deg)}34%{opacity:1;transform:scale(1.8) rotate(11deg)}100%{opacity:0;transform:scale(8) rotate(55deg)}}
    @keyframes reconsider-ray{0%{opacity:0;transform:rotate(var(--a)) scaleY(.05)}30%{opacity:1}72%{opacity:.86;transform:rotate(var(--a)) scaleY(1.2)}100%{opacity:0;transform:rotate(var(--a)) scaleY(1.9)}}
    #nocturne-invite .drinks-returning .drink{animation:drink-assemble 1.5s cubic-bezier(.13,.79,.22,1) both}
    #nocturne-invite .drinks-returning .drink:nth-child(2){animation-delay:.09s;animation-duration:calc(1.5s - .09s)}
    #nocturne-invite .drinks-returning .drink:nth-child(3){animation-delay:.17s;animation-duration:calc(1.5s - .17s)}
    #nocturne-invite .drinks-returning .drink:nth-child(4){animation-delay:.25s;animation-duration:calc(1.5s - .25s)}
    @keyframes reconsider-pulse{0%{transform:scale(1);filter:none}22%{transform:scale(.9);filter:blur(2px)}44%{transform:scale(1.16);filter:brightness(3) drop-shadow(0 0 30px #e7e0f5)}68%{transform:scale(1.03);filter:brightness(1.7)}100%{transform:scale(1);filter:none}}
    @keyframes reconsider-wings{0%{opacity:0;transform:scale(.15) rotate(-18deg)}38%{opacity:1}100%{opacity:0;transform:scale(2.5) rotate(17deg)}}
    @keyframes drink-assemble{0%{opacity:0;transform:translateY(80px) scale(.72);filter:brightness(4) blur(12px)}50%{opacity:1;transform:translateY(-8px) scale(1.04);filter:brightness(1.7)}100%{opacity:1;transform:none;filter:none}}
    #nocturne-invite .tracks-submit,#nocturne-invite .tracks-reconsider{display:flex;margin:28px 0 0 auto;max-width:53%;white-space:normal;text-align:right}
    #nocturne-invite .tracks-sent{width:44%;margin:18px 0 0 auto;padding:20px 0;border-top:1px solid #6f6a7e;border-bottom:1px solid #6f6a7e;white-space:pre-wrap;overflow-wrap:anywhere;color:#222329;font-size:clamp(24px,2.5vw,35px);line-height:1.05}
    #nocturne-invite .upload-expander{background:#ded8eb!important;color:#090a12!important;box-shadow:0 0 0 3px #fff,0 0 100px 45px #f1eaffaa!important;animation:angel-upload-fill 1.5s cubic-bezier(.46,.02,.82,.36) forwards!important}
    #nocturne-invite .upload-expander:before{content:"";position:absolute;inset:-35%;border:2px solid #a89cbe;clip-path:polygon(50% 0,61% 34%,100% 12%,68% 50%,100% 88%,61% 66%,50% 100%,39% 66%,0 88%,32% 50%,0 12%,39% 34%);animation:upload-wings 1.5s ease-in-out both}
    #nocturne-invite .upload-corona{position:fixed;z-index:9999;width:1px;height:1px;pointer-events:none;filter:drop-shadow(0 0 20px #fff)}
    #nocturne-invite .upload-corona i{position:absolute;left:0;top:0;width:7px;height:180px;background:linear-gradient(#4b365f,#79618f,transparent);transform-origin:0 0;transform:rotate(var(--a));clip-path:polygon(0 0,100% 0,38% 100%);animation:corona-ray 1.5s cubic-bezier(.17,.7,.23,1) both}
    #nocturne-invite .upload-corona:before,#nocturne-invite .upload-corona:after{content:"";position:absolute;left:-50px;top:-50px;width:100px;height:100px;border:2px solid #756487;transform:rotate(45deg);animation:corona-ring 1.5s ease-out both}
    #nocturne-invite .upload-corona:after{animation-delay:.1s;transform:rotate(15deg);animation-duration:calc(1.5s - .1s)}
    @keyframes angel-upload-fill{0%{transform:scale(1);filter:none}11%{transform:scale(1.23)}22%{transform:scale(.87);filter:brightness(2)}34%{transform:scale(1.9)}45%{transform:scale(1.18);filter:invert(1)}60%{transform:scale(4.2);filter:invert(0) brightness(1.25)}77%{transform:scale(13);filter:brightness(1)}100%{transform:scale(60);filter:blur(26px)}}
    @keyframes upload-wings{0%{transform:scale(.2) rotate(-30deg);opacity:0}30%{opacity:1}100%{transform:scale(2.2) rotate(35deg);opacity:0}}
    @keyframes corona-ray{0%{opacity:0;transform:rotate(var(--a)) scaleY(.15)}25%{opacity:1}82%{opacity:.9}100%{opacity:0;transform:rotate(var(--a)) scaleY(5)}}
    @keyframes corona-ring{0%{opacity:0;transform:rotate(45deg) scale(.3)}35%{opacity:1}82%{opacity:.8}100%{opacity:0;transform:rotate(65deg) scale(12)}}
    /* 07 / a mobile invitation is a sequence of complete scenes. */
    #nocturne-invite .swipe-sheet,#nocturne-invite .reel-rail{display:none}
    @media(max-width:680px){
      #nocturne-invite{padding-bottom:0}
      #nocturne-invite .guest-page{height:var(--reel-height,760px);min-height:0;overflow:hidden;touch-action:none}
      #nocturne-invite .guest-page .reel-slide{position:absolute!important;inset:0!important;display:none!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:58px 24px 56px!important;overflow-x:hidden;overflow-y:auto;clip-path:none;transform:none;overscroll-behavior:contain}
      #nocturne-invite .guest-page .reel-slide.is-active{display:block!important;z-index:3}
      #nocturne-invite .guest-page .reel-slide.assembling{animation:reel-assemble 1.5s cubic-bezier(.08,.66,.19,1) both!important}
      #nocturne-invite .guest-page .reel-slide.assembling > :not(.hero-ghost):not(.hero-prism){animation:reel-copy-assemble 1.5s cubic-bezier(.12,.75,.18,1) both}
      #nocturne-invite .guest-page .guest-head.reel-slide{padding:28px 24px 35px!important}
      #nocturne-invite .guest-head .hero-main{margin-top:40px}
      #nocturne-invite .guest-head .salute{font-size:clamp(42px,10vw,65px);line-height:.78}
      #nocturne-invite .guest-head .hero-rule{margin:36px 0 29px;width:28%}
      #nocturne-invite .guest-head .invitation-copy{font-size:clamp(19px,4.1vw,27px);line-height:.9;margin-left:3%}
      #nocturne-invite .guest-head .invitation-copy .verse-group{margin-bottom:20px}
      #nocturne-invite .guest-page > section:nth-of-type(1){background:#e3e4ea!important;color:#101117!important}
      #nocturne-invite .guest-page > section:nth-of-type(1) h2{font-size:clamp(52px,13vw,90px);line-height:.8;margin-top:10vh;max-width:90%}
      #nocturne-invite .guest-page > section:nth-of-type(1) .time-band{font-size:clamp(48px,12vw,84px);margin-top:10vh}
      #nocturne-invite .veil-interlude{display:none;position:absolute!important;left:auto;right:0;top:auto;bottom:0;width:86%;height:33%;margin:0;z-index:4;opacity:.83;pointer-events:none;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)}
      #nocturne-invite .guest-page[data-slide="1"] .veil-interlude{display:block}
      #nocturne-invite .dress-section h2{font-size:clamp(39px,10vw,58px);line-height:.83;margin:25px 0 0}
      #nocturne-invite .dress-section .dress-copy{font-size:clamp(17px,4.1vw,22px);line-height:.98;margin:36px 0 0 5%}
      #nocturne-invite .dress-section .dress-copy .verse-group{margin-bottom:15px}
      #nocturne-invite .dress-section .idea-button{margin:21px 0 0 5%;font-size:clamp(20px,5vw,25px)}
      #nocturne-invite .dress-section .idea-result{margin-left:5%;font-size:20px}
      #nocturne-invite .point-section .point-title{font-size:clamp(40px,12vw,64px);margin-top:6vh}
      #nocturne-invite .point-section .map-surface{height:50vh;max-height:500px;width:84%;margin:12vh 0 0 auto}
      #nocturne-invite .guest-page > section:nth-of-type(4){padding-top:46px!important;padding-bottom:34px!important}
      #nocturne-invite .guest-page > section:nth-of-type(4) h2{font-size:clamp(49px,12vw,71px);line-height:.8;margin:23px 0 18px}
      #nocturne-invite .drink-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8%;width:100%;margin:0}
      #nocturne-invite .drink:nth-child(1),#nocturne-invite .drink:nth-child(2),#nocturne-invite .drink:nth-child(3),#nocturne-invite .drink:nth-child(4){grid-column:auto;min-height:165px;margin:0}
      #nocturne-invite .drink:nth-child(1),#nocturne-invite .drink:nth-child(3){transform:translateY(28px)}
      #nocturne-invite .drink .picture{height:105px;margin:0 0 5px}
      #nocturne-invite .drink img{max-height:103px}
      #nocturne-invite .drink.wine img{width:102px;height:102px}
      #nocturne-invite .drink .drink-name{font-size:clamp(21px,5vw,28px)}
      #nocturne-invite .drink .drink-sub{font-size:13px}
      #nocturne-invite .drink-decision{width:100%;margin:45px 0 0;min-height:52px}
      #nocturne-invite .drink-decision .action{font-size:clamp(23px,5.8vw,31px)}
      #nocturne-invite .guest-page > section:nth-of-type(5){background:#dfe0e8!important;padding-top:50px!important}
      #nocturne-invite .guest-page > section:nth-of-type(5) h2{font-size:clamp(56px,14vw,82px);margin:15px 0 42px}
      #nocturne-invite .guest-page > section:nth-of-type(5) .music-copy{width:78%;font-size:clamp(23px,5.4vw,31px);margin:0 0 24px auto}
      #nocturne-invite .guest-page > section:nth-of-type(5) .playlist-action{margin-left:3%;font-size:clamp(21px,5vw,26px)}
      #nocturne-invite .guest-page > section:nth-of-type(5) .field-label{margin-top:42px;width:85%;font-size:clamp(22px,5vw,28px)}
      #nocturne-invite .guest-page > section:nth-of-type(5) .text-field{width:85%;min-height:85px;font-size:22px}
      #nocturne-invite .tracks-sent{width:85%;font-size:25px}
      #nocturne-invite .tracks-submit,#nocturne-invite .tracks-reconsider{font-size:clamp(21px,5vw,27px);max-width:85%;margin-top:18px}
      #nocturne-invite .guest-page > section:nth-of-type(6) h2{font-size:clamp(66px,15vw,100px);margin:7vh 0 0 6%}
      #nocturne-invite .guest-page > section:nth-of-type(6) .upload-zone{margin-top:12vh}
      #nocturne-invite .guest-page > section:nth-of-type(7) h2{font-size:clamp(45px,12vw,76px);margin:30px 0 7vh}
      #nocturne-invite .guest-page > section:nth-of-type(7) .field-label{width:82%;font-size:clamp(24px,5.5vw,30px)}
      #nocturne-invite .guest-page > section:nth-of-type(7) .text-field{width:86%;margin-top:8vh}
      #nocturne-invite .guest-page > section:nth-of-type(7) .message-action{margin:6vh 0 0 25%}
      #nocturne-invite .guest-footer{display:none}
      #nocturne-invite .swipe-sheet{display:block;position:absolute;inset:0;z-index:80;pointer-events:none;opacity:0;background:linear-gradient(155deg,#fff 0%,#dedde9 47%,#f9f8ff 100%);box-shadow:0 -30px 90px #e6e1ffaa;transform:translateY(100%);overflow:hidden}
      #nocturne-invite .swipe-sheet:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 45px,#9489ac26 46px 47px,transparent 48px 102px);opacity:var(--swipe-progress,0)}
      #nocturne-invite .swipe-sheet .bolt{position:absolute;display:block;width:17%;height:75%;top:9%;background:#e1d9f2;filter:drop-shadow(0 0 18px #ac9ac5);clip-path:polygon(50% 0,16% 40%,46% 42%,0 100%,85% 51%,54% 49%,100% 11%);animation:bolt-live 1.5s steps(4,end) infinite alternate;opacity:calc(var(--swipe-progress,0) * .9)}
      #nocturne-invite .swipe-sheet .bolt-one{left:10%;transform:rotate(-15deg)}
      #nocturne-invite .swipe-sheet .bolt-two{left:36%;top:-6%;height:90%;transform:rotate(19deg);animation-delay:-.16s;animation-duration:calc(1.5s - -.16s)}
      #nocturne-invite .swipe-sheet .bolt-three{left:62%;top:16%;height:66%;transform:rotate(-25deg);animation-delay:-.29s;animation-duration:calc(1.5s - -.29s)}
      #nocturne-invite .swipe-sheet .bolt-four{left:80%;height:88%;transform:rotate(12deg);animation-delay:-.38s;animation-duration:calc(1.5s - -.38s)}
      #nocturne-invite .reel-rail{display:flex;position:absolute;right:9px;top:50%;transform:translateY(-50%);z-index:70;flex-direction:column;gap:7px;pointer-events:none}
      #nocturne-invite .reel-rail i{width:2px;height:16px;background:#a6a0b06e;box-shadow:0 0 3px #fff}
      #nocturne-invite .reel-rail i.is-active{height:27px;background:#fff;box-shadow:0 0 15px 4px #e5dfff}
      #nocturne-invite .guest-page.reel-flashing:after{content:"";position:absolute;inset:0;z-index:60;pointer-events:none;background:linear-gradient(110deg,transparent 18%,#fff8 30%,transparent 42%,#dacdf65e 65%,transparent 71%);animation:reel-flash 1.5s ease-out both}
    }
    @media(max-width:390px){
      #nocturne-invite .guest-page .reel-slide{padding-left:19px!important;padding-right:19px!important}
      #nocturne-invite .guest-page .guest-head.reel-slide{padding-left:19px!important;padding-right:19px!important}
      #nocturne-invite .guest-head .salute{font-size:clamp(40px,11vw,49px)}
      #nocturne-invite .guest-head .invitation-copy{font-size:19px}
      #nocturne-invite .dress-section h2{font-size:39px}
      #nocturne-invite .dress-section .dress-copy{font-size:17px;margin-top:28px}
      #nocturne-invite .drink:nth-child(1),#nocturne-invite .drink:nth-child(2),#nocturne-invite .drink:nth-child(3),#nocturne-invite .drink:nth-child(4){min-height:145px}
      #nocturne-invite .drink .picture{height:89px}
      #nocturne-invite .drink img{max-height:88px}
      #nocturne-invite .drink.wine img{width:88px;height:88px}
      #nocturne-invite .guest-page > section:nth-of-type(5) .music-copy{font-size:23px}
    }
    @keyframes bolt-live{0%{filter:blur(0) drop-shadow(0 0 7px #9e8bbe);opacity:.6}100%{filter:blur(2px) drop-shadow(0 0 29px #fff);opacity:1}}
    @keyframes reel-assemble{0%{opacity:0;transform:translateY(85px) scale(.9);clip-path:polygon(0 0,100% 0,100% 9%,0 23%);filter:brightness(3) blur(18px)}28%{opacity:1;clip-path:polygon(0 0,100% 0,100% 47%,0 35%);filter:brightness(2) blur(8px)}67%{clip-path:polygon(0 0,100% 0,100% 89%,0 75%);filter:brightness(1.2) blur(2px)}100%{opacity:1;transform:none;clip-path:inset(0);filter:none}}
    @keyframes reel-copy-assemble{0%{opacity:0;transform:translate(18px,35px) skew(-9deg);filter:blur(8px)}47%{opacity:.35;transform:translate(-7px,-11px) skew(4deg);filter:blur(3px)}100%{opacity:1;transform:none;filter:none}}
    @keyframes reel-flash{0%{opacity:1;transform:translateX(-100%)}60%{opacity:.8}100%{opacity:0;transform:translateX(100%)}}
    @media(prefers-reduced-motion:reduce){#nocturne-invite .reel-slide.assembling,#nocturne-invite .reel-slide.assembling > *,#nocturne-invite .swipe-sheet .bolt,#nocturne-invite .upload-expander,#nocturne-invite .upload-corona *{animation-duration:.01ms!important}}
    /* 08 / three bespoke rituals: seal, ascent, rupture. */
    #nocturne-invite .confirming .drinks-confirm{animation:confirm-seal 1.5s cubic-bezier(.16,.75,.22,1) both!important;position:relative;z-index:33}
    #nocturne-invite .confirming .drink{animation:drink-fold 1.5s cubic-bezier(.49,.03,.85,.47) both!important}
    #nocturne-invite .confirm-corona{position:fixed;z-index:10002;pointer-events:none;width:1px;height:1px;filter:drop-shadow(0 0 17px #eee8ff)}
    #nocturne-invite .confirm-corona:before{content:"";position:absolute;left:-70px;top:-70px;width:140px;height:140px;border:2px solid #f6f3ff;clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);animation:confirm-diamond 1.5s ease-in-out both}
    #nocturne-invite .confirm-corona i{position:absolute;left:0;top:0;width:5px;height:38vh;background:linear-gradient(#fff 0%,#d3c9ed 33%,transparent 100%);clip-path:polygon(0 0,100% 0,28% 100%);transform-origin:0 0;animation:confirm-converge calc(1.5s - var(--d)) cubic-bezier(.55,.05,.85,.35) both;animation-delay:var(--d)}
    @keyframes confirm-seal{0%{transform:none;filter:none}18%{transform:scale(1.09) skew(-4deg);filter:drop-shadow(0 0 19px #fff)}42%{transform:scale(.78,1.36);filter:invert(1) brightness(3)}64%{transform:scale(1.18,.24);filter:blur(2px) brightness(4)}82%{transform:scale(.02);opacity:1;filter:brightness(8)}100%{transform:scale(0);opacity:0}}
    @keyframes drink-fold{0%,17%{opacity:1;filter:none}40%{opacity:1;filter:invert(1) brightness(2);transform:scale(1.08)}74%{opacity:.55;filter:brightness(3) blur(4px);transform:translateY(-24px) scale(.8,.24)}100%{opacity:0;transform:translateY(-42px) scale(.04);filter:blur(12px)}}
    @keyframes confirm-diamond{0%{opacity:0;transform:scale(2.5) rotate(-44deg)}42%{opacity:1;transform:scale(.95) rotate(7deg)}76%{opacity:1;transform:scale(.16) rotate(45deg)}100%{opacity:0;transform:scale(5) rotate(55deg)}}
    @keyframes confirm-converge{0%{opacity:0;transform:rotate(var(--a)) translateY(-290px) scaleY(.3)}33%{opacity:.85}70%{opacity:1;transform:rotate(var(--a)) translateY(-25px) scaleY(.9)}100%{opacity:0;transform:rotate(var(--a)) translateY(0) scaleY(.01)}}
    #nocturne-invite .tracks-sending .tracks-submit{animation:track-submit-flight 1.5s steps(1,end) both!important;position:relative;z-index:12}
    #nocturne-invite .tracks-sending .text-field{animation:track-ink-rise 1.5s cubic-bezier(.17,.78,.2,1) both}
    #nocturne-invite .track-corona{position:fixed;z-index:10004;pointer-events:none;width:1px;height:1px;filter:drop-shadow(0 0 17px #c4b2e0)}
    #nocturne-invite .track-corona:before{content:"";position:absolute;left:-3px;top:-85vh;width:6px;height:100vh;background:linear-gradient(transparent,#473b5b 36%,#a38aba 63%,transparent);animation:track-column 1.5s ease-in-out both}
    #nocturne-invite .track-corona:after{content:"";position:absolute;left:-105px;top:-37px;width:210px;height:74px;border:2px solid #715c8a;border-radius:50%;transform:rotate(-16deg);animation:track-halo 1.5s ease-out both}
    #nocturne-invite .track-corona i{position:absolute;left:0;top:0;width:32px;height:165px;background:linear-gradient(175deg,#4c3a67,#a181ba 48%,transparent);clip-path:polygon(49% 0,100% 19%,36% 100%,0 42%);transform-origin:50% 0;animation:track-feather calc(1.5s - var(--d)) cubic-bezier(.12,.8,.25,1) var(--d) both}
    #nocturne-invite .track-echo{position:fixed;z-index:10003;pointer-events:none;max-width:80vw;color:#272030;font-size:clamp(38px,8vw,100px);line-height:.76;letter-spacing:-.06em;text-shadow:0 0 25px #b9a4d1;overflow:hidden;text-overflow:clip;white-space:nowrap;animation:track-echo 1.5s ease-out both}
    #nocturne-invite .track-echo.echo-two{color:#9474a8;animation-delay:.07s;filter:blur(2px);animation-duration:calc(1.5s - .07s)}
    @keyframes track-submit-flight{0%{transform:none;filter:none}14%{transform:translate(-12px,5px) skew(-20deg);filter:brightness(3)}26%{transform:translate(17px,-17px) skew(16deg);filter:invert(1)}39%{transform:scale(.84,1.3);filter:blur(2px)}54%{transform:translateY(-35px) scale(1.17);filter:brightness(5)}73%{transform:translateY(-90px) scale(.35,2.3);opacity:.9}100%{transform:translateY(-170px) scale(.05);opacity:0}}
    @keyframes track-ink-rise{0%{filter:none}43%{filter:contrast(2)}72%{filter:brightness(3) blur(2px)}100%{filter:none}}
    @keyframes track-column{0%{opacity:0;transform:scaleY(.02)}30%{opacity:1;transform:scaleY(.58)}72%{opacity:.9;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1.8)}}
    @keyframes track-halo{0%{opacity:0;transform:rotate(-16deg) scale(.1)}36%{opacity:1;transform:rotate(7deg) scale(1.2)}100%{opacity:0;transform:rotate(38deg) scale(4)}}
    @keyframes track-feather{0%{opacity:0;transform:translateX(var(--x)) translateY(5px) rotate(var(--rot)) scale(.1)}32%{opacity:.9;transform:translateX(var(--x)) translateY(-40px) rotate(var(--rot)) scale(1)}100%{opacity:0;transform:translateX(calc(var(--x)*2.3)) translateY(-230px) rotate(calc(var(--rot)*2)) scale(1.5)}}
    @keyframes track-echo{0%{opacity:0;transform:translate(0,0) scale(.5)}30%{opacity:.85;transform:translate(-15px,-40px) scale(1.1)}100%{opacity:0;transform:translate(40px,-300px) skew(-22deg) scale(1.8)}}
    #nocturne-invite .playlist-portal{position:fixed;z-index:10005;pointer-events:none;width:1px;height:1px;filter:drop-shadow(0 0 18px #fff)}
    #nocturne-invite .guest-page.shattering{animation:playlist-quake 1.5s steps(1,end) both}
    #nocturne-invite .playlist-portal:before{content:"";position:absolute;left:-45px;top:-45px;width:90px;height:90px;background:radial-gradient(circle,#fff 0 9%,#c7b8e9b8 24%,transparent 63%);animation:portal-eclipse 1.5s cubic-bezier(.11,.68,.21,1) both}
    #nocturne-invite .playlist-portal:after{content:"";position:absolute;left:-70px;top:-70px;width:140px;height:140px;border:2px solid #fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:portal-ring 1.5s ease-out both}
    #nocturne-invite .playlist-portal i{position:absolute;left:0;top:0;width:var(--w);height:var(--h);background:linear-gradient(#fff,#b8a7db 45%,transparent);clip-path:polygon(0 0,100% 0,30% 100%);transform-origin:0 0;animation:portal-shrapnel calc(1.5s - var(--d)) cubic-bezier(.12,.62,.2,1) var(--d) both}
    #nocturne-invite .playlist-button-ghost{position:fixed!important;z-index:10006!important;pointer-events:none!important;color:#fff!important;text-shadow:0 0 28px #fff!important;white-space:nowrap!important;animation:playlist-glyph-rupture 1.5s steps(1,end) both!important}
    @keyframes portal-eclipse{0%{opacity:0;transform:scale(.2)}14%{opacity:1;transform:scale(1.6)}45%{opacity:1;transform:scale(5)}100%{opacity:0;transform:scale(16)}}
    @keyframes playlist-quake{0%{transform:none}15%{transform:translate(-8px,5px) skew(-1deg)}28%{transform:translate(10px,-6px) skew(1.3deg)}42%{transform:translate(-5px,9px)}58%{transform:translate(7px,-4px)}76%{transform:translate(-2px,3px)}100%{transform:none}}
    @keyframes portal-ring{0%{opacity:0;transform:scale(.12) rotate(-50deg)}30%{opacity:1;transform:scale(1.3) rotate(11deg)}100%{opacity:0;transform:scale(12) rotate(68deg)}}
    @keyframes portal-shrapnel{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scaleY(.1)}20%{opacity:1}63%{opacity:1;transform:rotate(var(--a)) translateY(-19vh) scaleY(1.2)}100%{opacity:0;transform:rotate(var(--a)) translateY(-70vh) scaleY(1.9)}}
    @keyframes playlist-glyph-rupture{0%{opacity:1;transform:none;filter:none}15%{transform:translate(-15px,9px) skew(-25deg);filter:brightness(4)}29%{transform:translate(18px,-13px) skew(22deg);filter:invert(1)}46%{transform:scale(1.4,.5);filter:blur(2px)}62%{transform:scale(.2,2.5);filter:brightness(5)}100%{opacity:0;transform:scale(0);filter:blur(12px)}}
    @media(prefers-reduced-motion:reduce){#nocturne-invite .confirming .drinks-confirm,#nocturne-invite .confirming .drink,#nocturne-invite .tracks-sending .tracks-submit,#nocturne-invite .tracks-sending .text-field,#nocturne-invite .confirm-corona *,#nocturne-invite .track-corona *,#nocturne-invite .playlist-portal *,#nocturne-invite .playlist-button-ghost{animation-duration:.01ms!important}}
    /* 09 / small, persistent light without changing the composition. */
    #nocturne-invite .guest-head .salute,#nocturne-invite .guest-page .guest-section h2{--heading-glow:#c8b9df;animation:heading-aura 1.5s ease-in-out infinite}
    #nocturne-invite .guest-page > section:nth-of-type(1) h2,#nocturne-invite .guest-page > section:nth-of-type(5) h2{--heading-glow:#88749c}
    #nocturne-invite .guest-page > section:nth-of-type(2) h2,#nocturne-invite .guest-page > section:nth-of-type(4) h2,#nocturne-invite .guest-page > section:nth-of-type(6) h2{animation-delay:-1.8s;animation-duration:calc(1.5s - -1.8s)}
    #nocturne-invite .guest-page > section:nth-of-type(3) h2,#nocturne-invite .guest-page > section:nth-of-type(5) h2,#nocturne-invite .guest-page > section:nth-of-type(7) h2{animation-delay:-3.3s;animation-duration:calc(1.5s - -3.3s)}
    @keyframes heading-aura{0%,100%{filter:drop-shadow(0 0 0 transparent)}28%{filter:drop-shadow(0 0 7px var(--heading-glow))}52%{filter:drop-shadow(0 0 18px var(--heading-glow))}75%{filter:drop-shadow(0 0 5px var(--heading-glow))}}
    #nocturne-invite .site-glitter{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;isolation:isolate}
    #nocturne-invite .site-glitter .glint{position:absolute;left:var(--gx);top:var(--gy);width:var(--gs);height:var(--gs);opacity:0;background:#f7f5ff;clip-path:polygon(50% 0,58% 40%,100% 50%,58% 60%,50% 100%,42% 60%,0 50%,42% 40%);filter:drop-shadow(0 0 6px #f7efff);animation:glint-blink 1.5s steps(8,end) var(--gdelay) infinite}
    #nocturne-invite .site-glitter .glint:nth-child(4n){background:#9b82b9;filter:drop-shadow(0 0 8px #8d72b0)}
    #nocturne-invite .site-glitter .glint:nth-child(7n){background:#d1c6e5;clip-path:polygon(50% 0,54% 44%,100% 50%,54% 56%,50% 100%,46% 56%,0 50%,46% 44%)}
    @keyframes glint-blink{0%,14%,70%,100%{opacity:0;transform:scale(.15) rotate(-22deg)}20%{opacity:.2;transform:scale(.6) rotate(-8deg)}28%,38%{opacity:.8;transform:scale(1.15) rotate(12deg)}47%{opacity:.3;transform:scale(.6) rotate(17deg)}56%{opacity:.65;transform:scale(.9) rotate(28deg)}}
    #nocturne-invite .tracks-sent{position:relative}
    #nocturne-invite .tracks-unfolding .tracks-sent{animation:track-memory-blur 1.5s cubic-bezier(.2,.7,.31,1) both;z-index:4}
    #nocturne-invite .tracks-unfolding .tracks-sent:before,#nocturne-invite .tracks-unfolding .tracks-sent:after{content:"";position:absolute;inset:-15px;border:2px solid #c5afd9;pointer-events:none;clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%);animation:track-memory-wings 1.5s ease-out both}
    #nocturne-invite .tracks-unfolding .tracks-sent:after{animation-delay:.07s;filter:blur(3px);animation-duration:calc(1.5s - .07s)}
    #nocturne-invite .tracks-unfolding .tracks-reconsider{animation:track-memory-button 1.5s steps(1,end) both!important}
    #nocturne-invite .tracks-edit-appearing #wanted-tracks{animation:track-editor-materialize 1.5s cubic-bezier(.12,.8,.23,1) both}
    #nocturne-invite .tracks-edit-appearing .tracks-submit{animation:track-editor-materialize calc(1.5s - .08s) cubic-bezier(.12,.8,.23,1) .08s both}
    @keyframes track-memory-blur{0%{opacity:1;filter:none;transform:none}25%{opacity:1;filter:blur(2px) brightness(1.5);transform:skew(-3deg)}52%{opacity:.7;filter:blur(9px) brightness(2.3);transform:translateX(11px) scale(1.08)}100%{opacity:0;filter:blur(26px) brightness(3);transform:translateY(-35px) scale(1.3)}}
    @keyframes track-memory-wings{0%{opacity:0;transform:scale(.3) rotate(-20deg)}38%{opacity:.85;transform:scale(1.05) rotate(7deg)}100%{opacity:0;transform:scale(2.4) rotate(32deg)}}
    @keyframes track-memory-button{0%{filter:none;transform:none}20%{filter:drop-shadow(0 0 13px #8d75a3);transform:translate(-4px,2px)}38%{filter:invert(1) brightness(2);transform:translate(7px,-5px) skew(9deg)}60%{filter:blur(2px) brightness(3);transform:scale(1.12)}100%{opacity:0;filter:blur(10px);transform:scale(.6)}}
    @keyframes track-editor-materialize{0%{opacity:0;filter:blur(18px) brightness(2);transform:translateY(22px) skew(9deg);clip-path:polygon(0 0,100% 0,100% 16%,0 25%)}46%{opacity:.8;filter:blur(5px);clip-path:polygon(0 0,100% 0,100% 72%,0 84%)}100%{opacity:1;filter:none;transform:none;clip-path:inset(0)}}
    @media(max-width:680px){#nocturne-invite .site-glitter .glint:nth-child(n+35){display:none}}
    @media(prefers-reduced-motion:reduce){#nocturne-invite .guest-head .salute,#nocturne-invite .guest-page .guest-section h2,#nocturne-invite .site-glitter .glint,#nocturne-invite .tracks-unfolding .tracks-sent,#nocturne-invite .tracks-unfolding .tracks-reconsider,#nocturne-invite .tracks-edit-appearing #wanted-tracks,#nocturne-invite .tracks-edit-appearing .tracks-submit{animation:none!important}#nocturne-invite .site-glitter{display:none}}
    /* 10 / RSVP note and a message carried off by light. */
    #nocturne-invite .attendance-copy{position:relative;width:49%;margin:-35px 7% 68px auto;color:#e9e6f0;font-size:clamp(25px,2.9vw,36px);line-height:.95;letter-spacing:-.025em}
    #nocturne-invite .message-launching #guest-message{color:transparent!important;caret-color:transparent!important}
    #nocturne-invite .message-flight{position:fixed;z-index:10008;pointer-events:none;white-space:pre-wrap;overflow-wrap:anywhere;color:#f3f0fa;text-shadow:0 0 18px #e3d7ff,0 0 43px #b6a3d1;animation:message-escape 1.5s cubic-bezier(.57,.02,.94,.38) both}
    #nocturne-invite .message-flight:before,#nocturne-invite .message-flight:after{content:"";position:absolute;left:-88px;top:-53px;width:195px;height:107px;background:linear-gradient(115deg,transparent 4%,#eee8ff 39%,#aa98ca 66%,transparent 100%);clip-path:polygon(100% 52%,26% 0,42% 33%,0 14%,29% 52%,3% 91%,47% 69%,31% 100%);filter:drop-shadow(0 0 19px #f1eaff);animation:message-wing 1.5s ease-out both}
    #nocturne-invite .message-flight:after{top:auto;bottom:-56px;transform:scaleY(-1);animation-name:message-wing-lower}
    #nocturne-invite .message-flight i{position:absolute;left:-24px;top:var(--fy);width:var(--fw);height:2px;background:linear-gradient(90deg,#fff,#bca8dd,transparent);transform-origin:100% 50%;animation:message-feather calc(1.5s - var(--fd)) cubic-bezier(.14,.7,.22,1) var(--fd) both}
    @keyframes message-escape{0%{opacity:1;transform:translateX(0) skew(0);filter:none}17%{opacity:1;transform:translateX(-23px) skew(-15deg);filter:brightness(2)}32%{opacity:1;transform:translateX(32px) skew(19deg);filter:brightness(3)}59%{opacity:1;transform:translateX(48vw) skew(-8deg);filter:drop-shadow(-30px 0 16px #e9dbff)}100%{opacity:0;transform:translateX(125vw) skew(-26deg) scale(.85);filter:blur(13px)}}
    @keyframes message-wing{0%{opacity:0;transform:scale(.2) rotate(-35deg)}19%{opacity:1;transform:scale(1.13) rotate(9deg)}65%{opacity:.9;transform:scale(1.65) rotate(-13deg)}100%{opacity:0;transform:scale(2.2) rotate(-24deg)}}
    @keyframes message-wing-lower{0%{opacity:0;transform:scale(.2,-.2) rotate(-35deg)}19%{opacity:1;transform:scale(1.13,-1.13) rotate(9deg)}65%{opacity:.9;transform:scale(1.65,-1.65) rotate(-13deg)}100%{opacity:0;transform:scale(2.2,-2.2) rotate(-24deg)}}
    @keyframes message-feather{0%{opacity:0;transform:translateX(0) rotate(var(--fr)) scaleX(.2)}31%{opacity:1;transform:translateX(-65px) rotate(var(--fr)) scaleX(1.3)}100%{opacity:0;transform:translateX(-210px) rotate(var(--fr)) scaleX(.2)}}
    @media(max-width:680px){
      #nocturne-invite .guest-page > section:nth-of-type(7) h2{margin-bottom:25px}
      #nocturne-invite .attendance-copy{width:84%;margin:0 0 29px auto;font-size:clamp(18px,4.5vw,23px);line-height:1.02}
      #nocturne-invite .guest-page > section:nth-of-type(7) .field-label{font-size:clamp(22px,5vw,27px)}
      #nocturne-invite .guest-page > section:nth-of-type(7) .text-field{margin-top:35px;min-height:113px}
      #nocturne-invite .guest-page > section:nth-of-type(7) .message-action{margin-top:35px}
    }
    @media(max-width:390px){#nocturne-invite .attendance-copy{font-size:18px;margin-bottom:25px}#nocturne-invite .guest-page > section:nth-of-type(7) .field-label{font-size:22px}}
    @media(prefers-reduced-motion:reduce){#nocturne-invite .message-flight,#nocturne-invite .message-flight:before,#nocturne-invite .message-flight:after,#nocturne-invite .message-flight i{animation-duration:.01ms!important}}
    /* 11 / wardrobe hint: reserve its space, then assemble the letters from glass facets. */
    #nocturne-invite .dress-section.idea-visible{padding-bottom:295px}
    #nocturne-invite .idea-result{position:relative;isolation:isolate;overflow:visible}
    #nocturne-invite .idea-result .idea-base{display:block;position:relative;z-index:2}
    #nocturne-invite .idea-result.assembling .idea-base{animation:idea-base-form 1.5s cubic-bezier(.17,.76,.2,1) both}
    #nocturne-invite .idea-result .idea-shard{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:3;pointer-events:none;color:#eee9f7;text-shadow:0 0 10px #fff,0 0 27px #c4b3e4;animation:idea-glass-align calc(1.5s - var(--sd)) cubic-bezier(.12,.69,.22,1) var(--sd) both}
    #nocturne-invite .idea-result.assembling:before{content:"";position:absolute;left:-14%;top:48%;width:128%;height:2px;z-index:5;background:linear-gradient(90deg,transparent,#fff 29%,#ae9acb 73%,transparent);clip-path:polygon(0 0,100% 0,84% 100%,4% 100%);filter:drop-shadow(0 0 12px #f4efff);pointer-events:none;animation:idea-light-cut 1.5s ease-out both}
    #nocturne-invite .idea-result.assembling:after{content:"";position:absolute;left:39%;top:-22px;width:82px;height:82px;z-index:4;border:1px solid #e8def9;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);pointer-events:none;animation:idea-facet-halo 1.5s ease-out both}
    @keyframes idea-base-form{0%,43%{opacity:0;filter:blur(10px);transform:translateY(7px)}76%{opacity:.75;filter:blur(2px);transform:none}100%{opacity:1;filter:none;transform:none}}
    @keyframes idea-glass-align{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--dr)) scale(1.12);filter:blur(8px) brightness(2)}19%{opacity:.92;filter:blur(1px) brightness(1.6)}68%{opacity:1;transform:translate(0,0) rotate(0) scale(1);filter:none}100%{opacity:0;transform:translate(0,0) rotate(0) scale(1);filter:blur(1px)}}
    @keyframes idea-light-cut{0%{opacity:0;transform:translateX(-45%) scaleX(.12)}36%{opacity:1;transform:translateX(0) scaleX(1)}75%{opacity:.8;transform:translateX(13%) scaleX(.7)}100%{opacity:0;transform:translateX(55%) scaleX(.02)}}
    @keyframes idea-facet-halo{0%{opacity:0;transform:scale(.1) rotate(-30deg)}42%{opacity:1;transform:scale(1.3) rotate(9deg)}100%{opacity:0;transform:scale(3.8) rotate(38deg)}}
    @media(max-width:680px){#nocturne-invite .guest-page .dress-section.reel-slide.idea-visible{padding-bottom:85px!important}}
    @media(prefers-reduced-motion:reduce){#nocturne-invite .dress-section.idea-visible{transition:none}#nocturne-invite .idea-result.assembling .idea-base,#nocturne-invite .idea-result .idea-shard,#nocturne-invite .idea-result.assembling:before,#nocturne-invite .idea-result.assembling:after{animation:none!important}}
  
/* Рабочая версия: отдельная гостевая карточка и закрытая панель. */
#nocturne-invite .page[hidden],#nocturne-invite [hidden]{display:none!important}
#nocturne-invite .admin-page{width:min(100%,1120px);min-height:100vh}
#nocturne-invite .admin-inner{grid-template-columns:minmax(230px,310px) minmax(300px,1fr);align-items:start}
#nocturne-invite .admin-inner .field-label{color:#26272d}
#nocturne-invite .admin-inner .admin-note,#nocturne-invite .admin-inner .admin-detail .empty{color:#52535b}
#nocturne-invite .admin-inner .answer-row{color:#272831;border-color:#92939a}
#nocturne-invite .admin-inner .answer-row strong{color:#555660}
#nocturne-invite .admin-inner .detail-actions button{font-size:14px;border-color:#85868d}
#nocturne-invite .admin-inner .guest-row button{color:#30313b}
#nocturne-invite .admin-inner .admin-settings .text-field{color:#24252b;border-bottom-color:#575862}
#nocturne-invite .admin-settings{grid-column:1/-1;border-top:1px solid #777781;padding-top:28px}
#nocturne-invite .admin-login{max-width:460px;margin:8vh auto;padding:40px;background:#292b30;border:1px solid #777781}
#nocturne-invite .admin-login h2{font-size:clamp(46px,7vw,80px);margin:0 0 32px}
#nocturne-invite .admin-login .action{margin-top:18px}
#nocturne-invite .admin-login .toast{font-size:20px;line-height:1.3;min-height:26px;color:#eee7f4;margin-top:22px;overflow-wrap:anywhere}
#nocturne-invite .admin-sign-in{cursor:pointer}
#nocturne-invite .admin-sign-in:active{transform:translateY(2px);filter:brightness(1.5)}
#nocturne-invite .admin-sign-in:disabled{opacity:.65;cursor:wait}
#nocturne-invite .admin-sign-out{background:transparent;color:#eee;border:1px solid #8a8a91;padding:10px 18px;font:inherit;cursor:pointer}
#nocturne-invite .settings-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:480px}
#nocturne-invite .admin-settings .text-field{display:block;margin:9px 0 20px;max-width:600px}
#nocturne-invite .admin-settings .action{margin-top:6px}
#nocturne-invite .map-surface iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.15)}
#nocturne-invite .map-surface.has-map:before,#nocturne-invite .map-surface.has-map:after{display:none}
#nocturne-invite .admin-detail .answer-row{white-space:pre-wrap;overflow-wrap:anywhere}
#nocturne-invite .admin-detail .message-history{max-height:360px;overflow:auto}
#nocturne-invite .admin-detail time{font-size:.75em;color:#aab;display:block;margin-bottom:3px}
#nocturne-invite .admin-status{margin:18px 0;color:#e9d0da;font-size:19px}
@media(max-width:700px){#nocturne-invite .admin-inner{grid-template-columns:1fr}#nocturne-invite .admin-settings{grid-column:1}#nocturne-invite .settings-coordinates{grid-template-columns:1fr}}

/* Mobile facets keep their content inside the scene, including long replies. */
@media(max-width:680px){
  #nocturne-invite .dress-section .dress-copy{width:95%;max-width:95%;min-width:0}
  #nocturne-invite .dress-section .dress-copy .verse-group:nth-child(n){margin-left:0;margin-right:0;max-width:100%;overflow-wrap:anywhere}
  #nocturne-invite .dress-section .idea-button{width:90%;max-width:90%;min-width:0;white-space:normal;text-align:left;line-height:1.1}
  #nocturne-invite .dress-section .idea-button>span:first-child{min-width:0;overflow-wrap:anywhere}
  #nocturne-invite .dress-section .idea-button .spark{flex-shrink:0}
  #nocturne-invite .dress-section .idea-result{width:90%;max-width:90%;overflow-wrap:anywhere}
  #nocturne-invite .guest-page .reel-slide .action{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.1}
  #nocturne-invite .guest-page > section:nth-of-type(5) .tracks-submit,
  #nocturne-invite .guest-page > section:nth-of-type(5) .tracks-reconsider{display:flex;width:85%;max-width:85%;margin:18px 0 0 auto;padding:0 8px 8px;justify-content:flex-end;text-align:right;transform-origin:right center}
  #nocturne-invite .guest-page > section:nth-of-type(5) .playlist-action{max-width:94%}
  #nocturne-invite .guest-page .upload-zone .upload-action{margin-left:0;max-width:100%;white-space:normal}
  #nocturne-invite .guest-page > section:nth-of-type(7) .message-action{width:75%;max-width:75%;margin-left:auto}
  #nocturne-invite .guest-page .reel-slide{padding-bottom:120px!important}
  #nocturne-invite .guest-page .dress-section.reel-slide.idea-visible{padding-bottom:120px!important}
}
