@font-face{font-family:'DM Serif Display';src:url('brand/dm-serif-display-latin.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
body[data-slot-edition=noir]{--sl-hairline:color-mix(in srgb,var(--ink) 19%,transparent);--ribbon:var(--sl-ribbon)}
body[data-slot-edition=noir]:before{display:none}
[data-slot-edition=noir] .sl-frame{background:radial-gradient(ellipse at 72% 45%,var(--surface),transparent 55%),var(--paper)}
[data-slot-edition=noir] .sl-frame:before{inset:20px;border-radius:5px;border:1px solid var(--sl-hairline);outline:1px solid var(--sl-hairline);outline-offset:-7px}
[data-slot-edition=noir] .sl-opening-copy h1{font-size:clamp(44px,5.3vw,76px);line-height:1.01;letter-spacing:-.045em;max-width:620px}
body[data-slot-edition=noir] #sw-guest .sl-couple{font-family:'Great Vibes',cursive;font-style:normal;font-size:clamp(37px,4.1vw,56px);line-height:1.22;letter-spacing:0;margin-bottom:18px}
[data-slot-edition=noir] .sl-kicker{font-size:10px;letter-spacing:3px;font-weight:500}
[data-slot-edition=noir] .sl-machine{filter:drop-shadow(6px 8px 0 #0000000c) drop-shadow(0 22px 15px #0000001a)}
[data-slot-edition=noir] .sl-machine-crown{top:23.2%;left:18%;right:22%;font:400 14px/1.1 'DM Serif Display',Georgia,serif;letter-spacing:1.3px;color:var(--surface);text-shadow:none;max-height:8%}
[data-slot-edition=noir] .sl-bulbs{top:29%;left:30%;right:35%;height:2.3%}
[data-slot-edition=noir] .sl-bulbs i{background:var(--sl-metal);box-shadow:inset 0 1px 1px var(--surface)}
[data-slot-edition=noir] .sl-reels{left:17.7%;right:21.8%;top:33.7%;height:17.3%;border:2px solid var(--sl-metal);border-radius:8px;box-shadow:inset 0 0 14px #00000013}
[data-slot-edition=noir] .sl-reels:after{border:1px solid var(--surface);border-radius:6px}
[data-slot-edition=noir] .sl-reel-track>span{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:22px;letter-spacing:-.5px}
[data-slot-edition=noir] .sl-lever{top:29%;left:86%;height:41%;width:17%}
[data-slot-edition=noir] .sl-lever-knob{background:radial-gradient(circle at 33% 25%,var(--surface),var(--sl-metal) 24%,var(--accent) 65%);border-color:var(--sl-metal);box-shadow:inset 1px 2px 2px #fff8,3px 4px 3px #0003}
[data-slot-edition=noir] .sl-lever-base{background:linear-gradient(90deg,var(--accent),var(--sl-metal),var(--surface),var(--accent));border-color:var(--sl-metal)}
[data-slot-edition=noir] .sn-initials{position:absolute;top:70.5%;left:32%;right:36%;color:var(--surface);font:400 19px/1.3 'DM Serif Display',Georgia,serif;text-align:center;white-space:nowrap}
[data-slot-edition=noir] .sl-machine-label{top:87.5%;left:20%;right:24%;color:var(--surface);font-size:7px;line-height:1.3;letter-spacing:1.3px}
[data-slot-edition=noir] .sl-play-card{border-radius:28px;box-shadow:0 7px 0 var(--soft),0 18px 35px #00000009;background:var(--surface)}
[data-slot-edition=noir] .sl-play-card:before{border-radius:20px}
[data-slot-edition=noir] .sl-choice{background:var(--paper);border-radius:16px;box-shadow:0 3px 0 var(--soft)}
[data-slot-edition=noir] .sl-btn{border-radius:8px;box-shadow:0 4px 0 var(--sl-metal),inset 0 1px 0 #fff3;letter-spacing:.3px}
[data-slot-edition=noir] .sl-btn.sl-light{background:var(--surface);border-color:var(--ink);box-shadow:none}
[data-slot-edition=noir] .sl-progress i{height:3px;border-radius:0}
[data-slot-edition=noir] .sl-question-copy h2{font-size:clamp(34px,3.9vw,56px);letter-spacing:-.035em}
[data-slot-edition=noir] .sl-mission-reel{border-radius:14px;background:var(--paper);border-color:var(--ink)}
[data-slot-edition=noir] .sl-energy-dial{background:conic-gradient(var(--accent) var(--sl-energy,75%),var(--soft) 0);box-shadow:0 0 0 1px var(--ink)}
[data-slot-edition=noir] .sl-invite-hero{position:relative;padding-top:105px;padding-bottom:100px}
[data-slot-edition=noir] .sl-hero-copy h1{font-size:clamp(70px,7vw,110px);line-height:1.04;letter-spacing:-.04em}
[data-slot-edition=noir] .sl-hero-copy h1 em{font-family:'Great Vibes',cursive;font-weight:400;font-size:1.15em;padding:0 .06em}
[data-slot-edition=noir] .sl-portrait{box-shadow:0 14px 28px #00000018;border-color:var(--sl-hairline);border-radius:3px;padding:10px 10px 38px}
[data-slot-edition=noir] .sl-portrait img{border-radius:0}
[data-slot-edition=noir] .sl-portrait-main{rotate:-3deg}[data-slot-edition=noir] .sl-portrait-small{rotate:6deg}
[data-slot-edition=noir] .sl-invite-nav{border-block:3px double var(--sl-hairline)}
[data-slot-edition=noir] .sl-date-ticket{background:var(--ink);color:var(--surface);border:1px solid var(--sl-metal);border-radius:7px;box-shadow:0 7px 0 var(--soft)}
body[data-slot-edition=noir] .sl-date-ticket :is(h2,p,a){color:var(--surface)}
[data-slot-edition=noir] .sl-ticket-stub{border-color:var(--sl-metal)}
[data-slot-edition=noir] .sl-ticket-stub .sl-icon{--ink:var(--surface);--accent:var(--surface);--sl-metal:var(--soft)}
[data-slot-edition=noir] .sl-ticket-code i{background:var(--surface)}
[data-slot-edition=noir] .sl-story-picture>img{border-radius:150px 150px 4px 4px}
[data-slot-edition=noir] .sl-story-ornaments .sl-icon{width:65px;height:65px}
[data-slot-edition=noir] .sl-programme{background:var(--highlight)}
[data-slot-edition=noir] .sl-timeline time{font:500 15px/1.4 var(--body);letter-spacing:2px}
[data-slot-edition=noir] .sl-venue-photo img{border-radius:5px;box-shadow:9px 9px 0 var(--soft)}
[data-slot-edition=noir] .sl-memory-grid figure{border-radius:3px;box-shadow:0 4px 0 var(--soft)}
[data-slot-edition=noir] .sl-memory-grid img{border-radius:0}
body[data-slot-edition=noir] .sl-form-card{border-radius:20px;box-shadow:0 7px 0 var(--soft)}
body[data-slot-edition=noir] .guest-form fieldset{border-radius:12px}
body[data-slot-edition=noir] .wedding-album>a{border-radius:5px}
body[data-slot-edition=noir] .wedding-album img{border-radius:1px}
@media(max-width:760px){
 [data-slot-edition=noir] .sl-frame:before{inset:12px;outline-offset:-5px}
 [data-slot-edition=noir] .sl-opening-copy h1{font-size:36px;line-height:1.04;margin-bottom:8px}
 body[data-slot-edition=noir] #sw-guest .sl-couple{font-size:36px;margin-bottom:9px}
 [data-slot-edition=noir] .sl-machine-crown{font-size:10px;letter-spacing:.9px}
 [data-slot-edition=noir] .sl-reel-track>span{font-size:17px}
 [data-slot-edition=noir] .sl-machine-label{font-size:6px;letter-spacing:.7px}
 [data-slot-edition=noir] .sn-initials{font-size:14px}
 [data-slot-edition=noir] .sl-question-copy h2{font-size:34px;line-height:1.07}
 [data-slot-edition=noir] .sl-play-card{border-radius:24px}
 [data-slot-edition=noir] .sl-play-card:before{border-radius:16px}
 [data-slot-edition=noir] .sl-invite-hero{padding-top:65px;padding-bottom:65px}
 [data-slot-edition=noir] .sl-hero-copy h1{font-size:clamp(56px,16vw,84px);line-height:1.08}
 [data-slot-edition=noir] .sl-date-ticket{border-radius:6px}
}
@media(max-width:760px) and (max-height:700px){
 [data-slot-edition=noir] .sl-opening-copy h1{font-size:29px;line-height:1.03}
 body[data-slot-edition=noir] #sw-guest .sl-couple{font-size:29px;margin-bottom:7px}
 [data-slot-edition=noir] .sl-machine-crown{font-size:8px;letter-spacing:.6px}
 [data-slot-edition=noir] .sl-reel-track>span{font-size:13px}
 [data-slot-edition=noir] .sn-initials{font-size:11px}
 [data-slot-edition=noir] .sl-machine-label{font-size:5px;letter-spacing:.5px}
 [data-slot-edition=noir] .sl-question-copy h2{font-size:27px}
}
@media(max-height:480px) and (min-width:761px){[data-slot-edition=noir] .sl-opening-copy h1{font-size:36px}[data-slot-edition=noir] .sl-question-copy h2{font-size:30px}body[data-slot-edition=noir] #sw-guest .sl-couple{font-size:32px}}
[data-slot-edition=noir] .sl-reels:before{content:'';position:absolute;inset:-50% -70%;z-index:3;background:linear-gradient(110deg,transparent 42%,#ffffffaa 50%,transparent 58%);transform:translateX(-50%);opacity:0;pointer-events:none}
[data-slot-edition=noir] .sl-spinning .sl-reels:before{animation:snSilverPass 1.45s ease-in-out infinite}
[data-slot-edition=noir] .sl-jackpot .sl-reels{box-shadow:0 0 0 1px var(--sl-metal),0 0 20px var(--soft)}
@keyframes snSilverPass{20%{opacity:.6}80%{opacity:.6}to{transform:translateX(50%);opacity:0}}
@media(prefers-reduced-motion:reduce){[data-slot-edition=noir] .sl-spinning .sl-reels:before{animation:none}}
