    @import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Russo+One&display=swap');
    :root{font-family:Manrope,Arial,sans-serif;color:#f2e6d4;background:#100b0a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button{font:inherit}main{min-height:100svh;background:radial-gradient(circle at 70% 18%,#3b1413 0,transparent 33%),#100b0a;overflow:hidden}.shell{max-width:1420px;margin:auto;padding:26px 5vw 44px}.mast{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #684943;padding-bottom:22px}.mast span{color:#c8a59a;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase}.mark{font-size:1.4rem;color:#bc3328!important}.hero{display:grid;grid-template-columns:1fr minmax(340px,47%);min-height:680px;gap:5vw;align-items:center;padding:45px 0}.pretitle{display:flex;align-items:center;gap:13px;color:#c63d30;font-size:.79rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.pretitle:before{content:'';height:1px;width:42px;background:#c63d30}h1{font-family:'Russo One',Impact,sans-serif;font-size:clamp(4rem,7.9vw,8.3rem);font-weight:400;line-height:.98;letter-spacing:-.055em;text-transform:uppercase;margin:31px 0 23px;max-width:690px}h1 .title-red{color:#c6372c;display:block}.lead{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.8;max-width:510px;color:#d0bfb7}.date-block{border-top:1px solid #684943;border-bottom:1px solid #684943;display:flex;align-items:center;gap:26px;margin:39px 0 31px;padding:18px 0;max-width:560px}.date-num{font-family:'Russo One',Impact,sans-serif;font-size:4.2rem;line-height:1;color:#db4637}.date-text{font-size:1.05rem;line-height:1.5}.date-text small{display:block;color:#b9998f;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;margin-top:5px}.note{font-size:.91rem;line-height:1.7;color:#baa59d;max-width:500px}.rsvp{margin-top:34px}.rsvp-title{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#e7c7ba;margin-bottom:14px}.choices{display:flex;gap:10px;flex-wrap:wrap}.choice{border:1px solid #a5362b;min-width:155px;padding:14px 20px;color:#f6ebe2;background:transparent;cursor:pointer;text-transform:uppercase;font-weight:700;font-size:.83rem;letter-spacing:.08em;transition:background .2s,transform .2s}.choice:hover,.choice:focus-visible{background:#84251f;transform:translateY(-2px)}.choice.selected{background:#ac3026;border-color:#dc5a4b}.guest-info{max-width:560px;margin-top:25px}.guest-name{min-height:0;height:52px}.companion{border:0;margin:20px 0 0;padding:0}.companion legend{color:#e7c7ba;font-size:.78rem;letter-spacing:.1em;margin-bottom:10px}.radio-options{display:flex;gap:18px;flex-wrap:wrap}.radio-options label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#f2e6d4;font-size:.95rem}.radio-options input{accent-color:#c63d30;width:18px;height:18px}.preferences{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px;max-width:560px}.field-label{display:block;color:#e7c7ba;font-size:.78rem;letter-spacing:.1em;margin-bottom:9px}.preference-input{display:block;width:100%;min-height:100px;resize:vertical;border:1px solid #684943;border-radius:0;background:#1b1110;color:#f2e6d4;padding:13px 14px;font:inherit;font-size:1rem;line-height:1.5}.preference-input::placeholder{color:#a98d83}.preference-input:focus-visible{outline:2px solid #c63d30;outline-offset:2px}.reply{min-height:48px;margin-top:15px;color:#e9c6b5;font-size:.92rem;line-height:1.6}.copy-button{display:none;border:0;background:none;color:#f1d3c3;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:.9rem}.copy-button.visible{display:inline-block}.art{position:relative;align-self:stretch;min-height:620px;border:1px solid #63312b;background:radial-gradient(circle at 52% 31%,#8d2d24,transparent 27%),linear-gradient(150deg,#281412,#0b090a 75%);overflow:hidden;box-shadow:18px 20px 0 #250f0e}.art img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.12) saturate(.78)}.art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#0d0808cb);pointer-events:none}.art-caption{position:absolute;z-index:2;bottom:24px;left:25px;right:25px;display:flex;justify-content:space-between;gap:12px;color:#f4e3d5;font-size:.72rem;letter-spacing:.23em;text-transform:uppercase}.placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:'Russo One',Impact,sans-serif;font-size:clamp(3rem,6vw,6rem);color:#b8352c;text-transform:uppercase;line-height:1.1}.art:has(img) .placeholder{display:none}.foot{border-top:1px solid #684943;padding-top:22px;display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:#a98d83;letter-spacing:.09em;text-transform:uppercase}@media(max-width:860px){.hero{grid-template-columns:1fr;min-height:0;padding-top:42px}.art{min-height:420px;max-height:650px;grid-row:2}.shell{padding:20px 5vw 35px}h1{font-size:clamp(3.8rem,12vw,7rem)}.foot{flex-wrap:wrap}}@media(max-width:480px){.preferences{grid-template-columns:1fr}.mast span{font-size:.66rem}.hero{gap:36px}.art{min-height:380px;box-shadow:9px 11px 0 #250f0e}.date-num{font-size:3.4rem}.date-block{gap:18px}.choice{min-width:calc(50% - 5px);padding:13px 10px}h1{font-size:clamp(3.35rem,16vw,5rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.choice{transition:none}}
    .secret-trigger{border:0;background:none;padding:4px 12px;cursor:pointer;line-height:1}.secret-trigger:hover,.secret-trigger:focus-visible{color:#f16c59!important;text-shadow:0 0 18px #e9473a}.secret-trigger:focus-visible{outline:2px solid #e9473a;outline-offset:3px}
    .countdown{max-width:560px;padding:0 0 30px}.countdown-heading{font-size:.73rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#bd9b91;margin-bottom:13px}.countdown-grid[hidden]{display:none}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown-grid>div{min-width:0;border:1px solid #604039;padding:12px 7px;text-align:center;background:#24151266}.countdown-grid strong{display:block;font-family:'Russo One',Impact,sans-serif;font-weight:400;font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.15;color:#f1e3d2;font-variant-numeric:tabular-nums}.countdown-grid span{display:block;margin-top:7px;color:#ad8d84;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.countdown-message{font-family:'Russo One',Impact,sans-serif;color:#e75b49;line-height:1.4;font-size:1.2rem;margin:0}.countdown-message:empty{display:none}
    .fate-panel{display:flex;align-items:center;gap:17px;max-width:560px;margin:18px 0 0;border:1px solid #9d4034;background:linear-gradient(110deg,#441916,#21100f);padding:18px 20px;transform-origin:left center}.fate-panel[hidden]{display:none}.fate-panel.shown{animation:fate-reveal .65s cubic-bezier(.16,1,.3,1) both}.fate-symbol{font-size:2.4rem;line-height:1;color:#e65b49}.fate-panel strong{display:block;font-family:'Russo One',Impact,sans-serif;text-transform:uppercase;font-weight:400;font-size:1.05rem;color:#f3ded0}.fate-panel p{margin:6px 0 0;color:#cbb0a5;font-size:.9rem;line-height:1.5}.fate-panel.fate-no{border-color:#6a5955;background:linear-gradient(110deg,#302423,#1c1412)}.fate-panel.fate-no .fate-symbol{color:#b4a29c}
    .art-media{position:absolute;inset:-28px 0;transform:translate3d(0,var(--parallax,0px),0);will-change:transform}.art-media img{width:100%;height:100%;object-fit:cover}
    .secret-dialog{width:min(500px,calc(100% - 30px));max-height:calc(100vh - 30px);padding:0;border:1px solid #a34237;color:#f2e6d4;background:#170d0c;box-shadow:0 30px 100px #000d}.secret-dialog::backdrop{background:#090505d9;backdrop-filter:blur(5px)}.secret-dialog[open]{animation:dialog-enter .45s cubic-bezier(.16,1,.3,1) both}.secret-inner{padding:38px clamp(25px,5vw,48px);background:radial-gradient(circle at 80% 0,#5a211c,transparent 42%)}.secret-moon{display:block;color:#c73e30;font-size:3rem;text-align:center;margin:0 0 20px;animation:mark-turn 12s linear infinite}.secret-dialog h2{font-family:'Russo One',Impact,sans-serif;font-size:clamp(2rem,6vw,3.4rem);line-height:1.1;text-transform:uppercase;margin:20px 0}.secret-dialog p{font-size:1.05rem;line-height:1.8;color:#dec7bc}.secret-dialog .secret-signature{color:#dc6654}.secret-close{border:1px solid #c63d30;background:#a63027;color:#fff;padding:12px 19px;margin-top:15px;text-transform:uppercase;font-size:.8rem;font-weight:700;letter-spacing:.1em;cursor:pointer}.secret-close:hover,.secret-close:focus-visible{background:#c63d30}
    @keyframes fate-reveal{from{opacity:0;transform:scale(.94) translateY(12px);filter:blur(5px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes dialog-enter{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
    @media(max-width:480px){.countdown-grid{gap:5px}.countdown-grid>div{padding:10px 3px}.countdown-grid strong{font-size:1.3rem}.countdown-grid span{font-size:.62rem;letter-spacing:0}.fate-panel{padding:15px}.secret-inner{padding:28px 24px}}
    .scroll-progress{position:fixed;z-index:20;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#8f241d,#ef6450,#f4d0b0);box-shadow:0 0 18px #e44736;pointer-events:none}
    h1 .title-line{display:block;overflow:hidden;white-space:nowrap;clip-path:inset(0 100% 0 0);animation:title-unveil 1.25s cubic-bezier(.16,1,.3,1) both}h1 .title-line:nth-child(2){animation-delay:.27s}h1 .title-red{color:#c6372c;text-shadow:0 0 0 #e9473a;animation-name:title-unveil,title-glow;animation-duration:1.25s,4s;animation-delay:.27s,1.6s;animation-iteration-count:1,infinite;animation-direction:normal,alternate}
    .art{isolation:isolate}.art:before{content:'';position:absolute;z-index:2;inset:0;background:radial-gradient(circle at var(--mx,70%) var(--my,15%),#f05d362e,transparent 32%);mix-blend-mode:screen;pointer-events:none;transition:opacity .3s}.art-sheen{position:absolute;z-index:2;inset:-40% auto -40% -90%;width:45%;transform:rotate(17deg);background:linear-gradient(90deg,transparent,#f3b29713,transparent);pointer-events:none;animation:sheen-pass 8s 1.4s infinite}.art:hover img{filter:contrast(1.18) saturate(.9)}.date-num{animation:date-flicker 5s 2s infinite}.wish-icon{animation:wish-glow 3s infinite alternate}.choice{position:relative;overflow:hidden}.choice:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff27 50%,transparent 70%);transform:translateX(-130%);transition:transform .55s}.choice:hover:after{transform:translateX(130%)}
    @keyframes title-unveil{from{clip-path:inset(0 100% 0 0);transform:translateX(-20px)}to{clip-path:inset(0 0 0 0);transform:translateX(0)}}@keyframes title-glow{from{text-shadow:0 0 0 #e9473a}to{text-shadow:0 0 22px #e9473a77}}@keyframes sheen-pass{0%,25%{left:-90%}50%,100%{left:140%}}@keyframes date-flicker{0%,89%,94%,100%{opacity:1}91%{opacity:.65}93%{opacity:.9}}@keyframes wish-glow{from{text-shadow:0 0 0 #e9473a}to{text-shadow:0 0 22px #e9473a}}
    .wish-link{color:#e7c7ba;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid #a5362b;padding-bottom:5px;transition:color .2s,border-color .2s}.wish-link:hover,.wish-link:focus-visible{color:#fff;border-color:#e45143}.wish-link span{display:inline-block;transition:transform .25s}.wish-link:hover span{transform:translate(3px,3px)}
    .wishlist{display:grid;grid-template-columns:1fr 1.08fr;gap:5vw;align-items:center;border-top:1px solid #684943;padding:92px 0 105px;scroll-margin-top:25px}.wishlist-copy{max-width:520px}.wishlist h2{font-family:'Russo One',Impact,sans-serif;font-size:clamp(3.6rem,7vw,7rem);line-height:1;letter-spacing:-.05em;text-transform:uppercase;margin:28px 0}.period{color:#c6372c}.wishlist p{font-size:1.1rem;line-height:1.8;color:#d0bfb7;max-width:480px}.wish-state{margin-top:35px;border-top:1px solid #684943;border-bottom:1px solid #684943;padding:20px 0;display:flex;align-items:center;gap:17px;color:#e9c6b5;font-size:.94rem}.wish-icon{font-size:1.6rem;color:#c6372c}.wish-art{position:relative;min-height:350px;aspect-ratio:1.45;overflow:hidden;border:1px solid #63312b}.wish-art img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.3) contrast(1.05);transition:transform 1s,filter .5s}.wish-art:hover img{transform:scale(1.055);filter:grayscale(0) contrast(1.08)}.wish-art:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0d0808c9);pointer-events:none}.wish-art-label{position:absolute;z-index:1;bottom:20px;left:22px;color:#f4e3d5;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
    .copy>*{animation:rise-in .8s both}.copy>*:nth-child(2){animation-delay:.12s}.copy>*:nth-child(3){animation-delay:.24s}.copy>*:nth-child(4){animation-delay:.36s}.copy>*:nth-child(5){animation-delay:.48s}.copy>*:nth-child(6){animation-delay:.6s}.art{animation:portrait-arrive 1s .18s both,red-pulse 5s 1.2s infinite alternate}.art img{animation:slow-zoom 13s ease-in-out infinite alternate}.art-caption{animation:rise-in 1s .8s both}.mark{animation:mark-turn 9s linear infinite}.js-motion .wishlist{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.js-motion .wishlist.visible{opacity:1;transform:translateY(0)}
    @keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-arrive{from{opacity:0;transform:translateX(35px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes red-pulse{from{box-shadow:18px 20px 0 #250f0e,0 0 0 #a52a2200}to{box-shadow:18px 20px 0 #250f0e,0 0 55px #a52a2266}}@keyframes slow-zoom{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes mark-turn{to{transform:rotate(360deg)}}
    @media(max-width:860px){.wishlist{grid-template-columns:1fr;padding:70px 0 80px;gap:30px}.wish-art{min-height:300px}.wishlist h2{font-size:clamp(3.4rem,11vw,6rem)}}
    @media(max-width:480px){.wish-link{font-size:.67rem}.wishlist{padding:60px 0 70px}.wishlist p{font-size:1rem}.wish-art{min-height:240px}.wish-state{font-size:.87rem}}
    @media(prefers-reduced-motion:reduce){.fate-panel.shown,.secret-dialog[open],.secret-moon{animation:none!important}.art-media{transform:none!important;will-change:auto}.copy>*,.art,.art img,.art-caption,.mark,.title-line,.title-red,.art-sheen,.date-num,.wish-icon{animation:none!important}.title-line{clip-path:none!important}.js-motion .wishlist{opacity:1;transform:none;transition:none}.wish-art img,.wish-link,.wish-link span{transition:none}}

.site-nav{display:flex;align-items:center;gap:24px}.site-nav a{color:#e7c7ba;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid #a5362b;padding-bottom:5px;transition:color .2s,border-color .2s}.site-nav a:hover,.site-nav a:focus-visible{color:#fff;border-color:#e45143}.site-nav a span{display:inline-block;transition:transform .25s}.site-nav a:hover span{transform:translate(3px,3px)}
.venue{display:grid;grid-template-columns:1fr 1.25fr;gap:4vw;align-items:end;border-top:1px solid #684943;border-bottom:1px solid #684943;padding:35px 0 42px;margin:0 0 15px}.venue-kicker{color:#c63d30;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.venue h2{font-family:'Russo One',Impact,sans-serif;font-weight:400;font-size:clamp(1.8rem,3.1vw,3.3rem);line-height:1.18;text-transform:uppercase;margin:14px 0 0}.venue-address{font-size:clamp(1.1rem,1.65vw,1.45rem);line-height:1.55;color:#f2e6d4}.venue-address small{display:block;color:#af978d;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.map-link{display:inline-flex;align-items:center;gap:9px;color:#ed9b8c;text-decoration:none;font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:16px;border-bottom:1px solid #bb5a4d;padding-bottom:5px}.map-link:hover,.map-link:focus-visible{color:#fff;border-color:#fff}
.gallery{display:grid;grid-template-columns:1fr 1.08fr;gap:5vw;align-items:center;border-top:1px solid #684943;padding:88px 0 105px}.gallery h2,.guests-page h1{font-family:'Russo One',Impact,sans-serif;font-size:clamp(3.6rem,7vw,7rem);font-weight:400;line-height:1;letter-spacing:-.05em;text-transform:uppercase;margin:25px 0}.gallery p,.guests-page p{font-size:1.08rem;line-height:1.8;color:#d0bfb7;max-width:490px}.gallery-frame{display:grid;place-items:center;min-height:340px;aspect-ratio:1.45;border:1px solid #63312b;background:radial-gradient(circle at 50% 15%,#602018,transparent 38%),#1a100f;position:relative;overflow:hidden}.gallery-frame:before,.gallery-frame:after{content:'';position:absolute;inset:18px;border:1px solid #6c3b31;pointer-events:none}.gallery-frame:after{inset:31px;border-color:#46251f}.gallery-frame span{font-family:'Russo One',Impact,sans-serif;font-size:clamp(2rem,3.6vw,3.5rem);color:#b83b2e;text-align:center;line-height:1.25;position:relative;z-index:1}.gallery-frame small{display:block;color:#c9a99e;font-family:Manrope,Arial,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-top:20px}.js-motion .gallery{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.js-motion .gallery.visible{opacity:1;transform:translateY(0)}
.guests-page{min-height:100svh}.guests-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:5vw;align-items:center;min-height:calc(100svh - 170px);padding:65px 0 95px}.guests-page h1{max-width:650px}.guests-page h1 span{display:block;color:#c6372c}.guests-empty{border-top:1px solid #684943;border-bottom:1px solid #684943;padding:20px 0;margin-top:35px;color:#e9c6b5;max-width:530px}.guests-art{position:relative;min-height:480px;aspect-ratio:1/1.08;overflow:hidden;border:1px solid #63312b;box-shadow:18px 20px 0 #250f0e}.guests-art img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.1) saturate(.8)}.guests-art:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0d0808b8);pointer-events:none}.guests-art-label{position:absolute;z-index:1;bottom:25px;left:25px;color:#f4e3d5;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.back-link{color:#e7c7ba;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid #a5362b;padding-bottom:5px}.back-link:hover,.back-link:focus-visible{color:#fff;border-color:#e45143}
@media(max-width:860px){.venue,.gallery,.guests-hero{grid-template-columns:1fr}.venue{gap:25px}.gallery{padding:70px 0 80px}.guests-hero{min-height:0;padding:60px 0 85px}.guests-art{min-height:370px;max-height:580px}.site-nav{gap:14px}}
@media(max-width:480px){.site-nav a{font-size:.65rem;letter-spacing:.08em}.site-nav{gap:9px}.gallery{padding:60px 0 70px}.gallery-frame{min-height:240px}.gallery-frame span{font-size:2rem}.guests-art{min-height:300px;box-shadow:9px 11px 0 #250f0e}.guests-page h1{font-size:clamp(3.2rem,15vw,5rem)}}
@media(prefers-reduced-motion:reduce){.js-motion .gallery{opacity:1;transform:none;transition:none}.site-nav a,.site-nav a span{transition:none}}

.js-motion .venue{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.js-motion .venue.visible{opacity:1;transform:translateY(0)}.guests-art{animation:portrait-arrive 1s .18s both}@media(prefers-reduced-motion:reduce){.js-motion .venue{opacity:1;transform:none;transition:none}.guests-art{animation:none}}

@media(max-width:560px){.mast:has(.site-nav){flex-wrap:wrap}.mast:has(.site-nav)>span:first-child{flex:1}.mast .site-nav{width:100%;justify-content:flex-end}.venue-address{font-size:1.08rem}}

.guests-roster{padding:70px 0 100px;min-height:calc(100svh - 170px)}.guests-roster .guests-copy{max-width:900px}.guests-roster h1{font-size:clamp(3.2rem,6.6vw,6.7rem);max-width:none}.guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),340px));gap:28px;margin-top:45px}.guest-card{position:relative;overflow:hidden;border:1px solid #754139;background:#1a100f;box-shadow:12px 14px 0 #250f0e;animation:portrait-arrive .85s .25s both}.guest-photo{aspect-ratio:4/5;overflow:hidden}.guest-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:contrast(1.08) saturate(.73);transition:transform .7s,filter .7s}.guest-card:hover .guest-photo img{transform:scale(1.05);filter:contrast(1.1) saturate(.95)}.guest-card-caption{border-top:1px solid #754139;padding:17px 20px 19px}.guest-number{display:block;color:#c35b4c;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.guest-card h2{font-family:'Russo One',Impact,sans-serif;font-size:2rem;font-weight:400;text-transform:uppercase;line-height:1.1;margin:10px 0;color:#f2e6d4}.guest-status{color:#bda49a;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}@media(max-width:480px){.guests-roster{padding:45px 0 75px}.guest-grid{margin-top:32px}.guest-card{box-shadow:8px 10px 0 #250f0e}}@media(prefers-reduced-motion:reduce){.guest-card{animation:none}.guest-photo img{transition:none}}

.soundtrack{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:3vw;padding:52px clamp(22px,4vw,58px);margin:44px 0 96px;border:1px solid #754139;background:radial-gradient(circle at 80% 50%,#5b1b19 0,transparent 35%),linear-gradient(125deg,#22100f,#100b0a);box-shadow:12px 14px 0 #250f0e;overflow:hidden}.soundtrack h2{font-family:'Russo One',Impact,sans-serif;text-transform:uppercase;font-weight:400;font-size:clamp(2rem,4vw,4.2rem);line-height:1.05;margin:22px 0 14px}.soundtrack p{color:#d0bfb7;line-height:1.7;margin:0 0 26px;max-width:450px}.soundtrack-link{display:inline-flex;align-items:center;gap:20px;border:1px solid #c64b3f;background:#9d2f27;color:#fff;text-decoration:none;text-transform:uppercase;font-weight:700;letter-spacing:.11em;font-size:.79rem;padding:15px 20px;transition:background .25s,transform .25s}.soundtrack-link:hover,.soundtrack-link:focus-visible{background:#c63d30;transform:translateY(-3px)}.soundtrack-link:focus-visible{outline:2px solid #fff;outline-offset:3px}.soundtrack-disc{position:relative;min-height:240px;display:grid;place-items:center}.soundtrack-orbit{width:205px;height:205px;display:grid;place-items:center;border:1px solid #a34439;border-radius:50%;box-shadow:0 0 0 22px #a3443916,0 0 0 47px #a344390b,inset 0 0 70px #ac28264d;animation:disc-breathe 4s ease-in-out infinite alternate}.soundtrack-orbit span{font-size:6.7rem;line-height:1;color:#c8483b;text-shadow:0 0 38px #df42359c;animation:mark-turn 18s linear infinite}.soundtrack-bars{position:absolute;bottom:3px;display:flex;align-items:end;justify-content:center;gap:5px;height:26px}.soundtrack-bars i{display:block;width:4px;height:40%;background:#b85347;animation:bar-dance 1.2s ease-in-out infinite alternate}.soundtrack-bars i:nth-child(3n){height:100%;animation-delay:-.8s}.soundtrack-bars i:nth-child(2n){height:70%;animation-delay:-.4s}@keyframes disc-breathe{to{box-shadow:0 0 0 26px #a3443926,0 0 0 51px #a3443911,inset 0 0 80px #d52c284d}}@keyframes bar-dance{to{height:18%}}@media(max-width:700px){.soundtrack{grid-template-columns:1fr;margin:25px 0 75px;padding:32px 24px}.soundtrack-disc{min-height:180px}.soundtrack-orbit{width:150px;height:150px}.soundtrack-orbit span{font-size:4.6rem}}@media(prefers-reduced-motion:reduce){.soundtrack-orbit,.soundtrack-orbit span,.soundtrack-bars i{animation:none}.soundtrack-link{transition:none}}

.soundtrack-link{cursor:pointer}.music-status{font-size:.75rem!important;color:#bda49a!important;margin:12px 0 0!important;letter-spacing:.06em}.soundtrack:not(.is-playing) .soundtrack-bars i{animation-play-state:paused;opacity:.45}.soundtrack:not(.is-playing) .soundtrack-orbit span{animation-play-state:paused}.music-floating{position:fixed;z-index:30;right:20px;bottom:20px;display:flex;align-items:center;gap:9px;border:1px solid #b64a3d;background:#2c1311ed;color:#f7e6d9;padding:11px 14px;box-shadow:0 8px 30px #0008;cursor:pointer;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.08em;backdrop-filter:blur(8px)}.music-floating:hover,.music-floating:focus-visible{background:#8e2a24}.music-floating[aria-pressed="true"]{border-color:#e66c5c;background:#812820ed}.music-floating:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:480px){.music-floating{right:10px;bottom:10px;padding:9px 11px;font-size:.64rem}}

.music-floating{width:44px;height:44px;display:grid;place-items:center;gap:0;padding:0;border-radius:50%;font-size:1.15rem;line-height:1;box-shadow:0 0 0 3px #100b0a,0 8px 30px #000a}.music-floating .music-glyph{display:block;filter:drop-shadow(0 0 6px #d9544566)}.music-floating[aria-pressed="true"]{box-shadow:0 0 0 3px #100b0a,0 0 20px #d9483c8c}@media(max-width:480px){.music-floating{width:39px;height:39px;font-size:1rem}}

.guest-card{isolation:isolate;animation-fill-mode:backwards;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s}.guest-photo{position:relative}.guest-photo::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,transparent 25%,#5a0d1b9c 100%),linear-gradient(transparent 50%,#100607c9);opacity:0;pointer-events:none;transition:opacity .5s}.guest-card::before{content:'';position:absolute;z-index:2;top:0;bottom:0;left:-140%;width:68%;background:linear-gradient(100deg,transparent 0%,#c79b3a16 24%,#eacb734d 39%,#f5f4e2a6 49%,#c7d4e9a8 54%,#cad7e94d 65%,transparent 86%);transform:skewX(-18deg);mix-blend-mode:screen;pointer-events:none;opacity:.65;animation:metal-sweep 7s ease-in-out infinite}.guest-card:nth-child(4n+2)::before{animation-delay:-1.8s}.guest-card:nth-child(4n+3)::before{animation-delay:-3.6s}.guest-card:nth-child(4n)::before{animation-delay:-5.4s}.guest-card:hover,.guest-card:focus-visible{transform:translateY(-10px) scale(1.015);border-color:#dfc77f;box-shadow:0 0 0 1px #f1ddb0,0 0 40px #952e3880,16px 20px 0 #250f0e;outline:none}.guest-card:hover::before,.guest-card:focus-visible::before{animation-duration:2.1s;opacity:1}.guest-card:hover .guest-photo img,.guest-card:focus-visible .guest-photo img{transform:scale(1.09);filter:contrast(1.25) saturate(.58) brightness(.8)}.guest-card:hover .guest-photo::after,.guest-card:focus-visible .guest-photo::after{opacity:.85;animation:omen-glow 2s ease-in-out infinite alternate}.guest-card-caption{position:relative;z-index:3;transition:background .4s}.guest-card:hover .guest-card-caption,.guest-card:focus-visible .guest-card-caption{background:linear-gradient(120deg,#351311,#1a100f 65%)}.guest-card:hover .guest-status,.guest-card:focus-visible .guest-status{color:#e7c78e}@keyframes metal-sweep{0%,12%{left:-140%}45%,100%{left:180%}}@keyframes omen-glow{to{opacity:.5}}@media(prefers-reduced-motion:reduce){.guest-card,.guest-photo img,.guest-photo::after,.guest-card-caption{transition:none!important}.guest-card::before{display:none}.guest-card:hover,.guest-card:focus-visible{transform:none}.guest-card:hover .guest-photo::after,.guest-card:focus-visible .guest-photo::after{animation:none}}

.guest-grid{perspective:1100px}.guest-card{--tilt-x:0deg;--tilt-y:0deg;--face-x:0px;--face-y:0px;--spot-x:50%;--spot-y:50%;transform-style:preserve-3d}.guest-card:hover{transform:perspective(900px) translateY(-10px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.02)}.guest-card::after{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(circle at var(--spot-x) var(--spot-y),#fae8b13b,transparent 38%);opacity:0;transition:opacity .4s}.guest-card:hover::after{opacity:1}.guest-card:hover .guest-photo img{animation:portrait-alive 3.2s ease-in-out infinite alternate}@keyframes portrait-alive{0%{transform:translate3d(var(--face-x),var(--face-y),0) scale(1.075)}50%{transform:translate3d(var(--face-x),calc(var(--face-y) - 4px),0) scale(1.105)}100%{transform:translate3d(var(--face-x),var(--face-y),0) scale(1.085)}}@media(prefers-reduced-motion:reduce){.guest-card:hover{transform:none}.guest-card:hover::after{opacity:0}.guest-card:hover .guest-photo img{animation:none}}

.wish-item{display:grid;grid-template-columns:66px 1fr;gap:18px;align-items:start;margin-top:30px;padding:22px;border:1px solid #965044;background:linear-gradient(130deg,#351713,#1a100f 75%);box-shadow:8px 9px 0 #250f0e}.wish-item-symbol{width:62px;height:62px;display:grid;place-items:center;border:1px solid #a35a48;color:#e6c483;font-size:2rem;background:radial-gradient(circle,#81362a,#2a1613 70%)}.wish-item-number{display:block;color:#d65c4b;font-size:.67rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.wish-item h3{font-family:'Russo One',Impact,sans-serif;font-weight:400;font-size:1.25rem;line-height:1.25;text-transform:uppercase;margin:8px 0;color:#f2e6d4}.wish-item p{font-size:.86rem;line-height:1.5;margin:0 0 17px;color:#baa59d}.wish-item a{display:inline-flex;gap:8px;align-items:center;color:#f0aa97;font-size:.77rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #b85c4a;padding-bottom:4px}.wish-item a:hover,.wish-item a:focus-visible{color:#fff;border-color:#fff}@media(max-width:480px){.wish-item{grid-template-columns:48px 1fr;gap:14px;padding:16px}.wish-item-symbol{width:46px;height:46px;font-size:1.5rem}.wish-item h3{font-size:1.08rem}}

.guest-photo>img{position:absolute;inset:0}.guest-photo .guest-frame--motion{opacity:0;pointer-events:none;transition:opacity .5s}.guest-card:hover .guest-photo .guest-frame--motion,.guest-card:focus-visible .guest-photo .guest-frame--motion{animation:frame-crossfade 4.8s ease-in-out infinite,portrait-alive 3.2s ease-in-out infinite alternate}.guest-card:hover .guest-photo .guest-frame--still,.guest-card:focus-visible .guest-photo .guest-frame--still{animation:portrait-alive 3.2s ease-in-out infinite alternate}@keyframes frame-crossfade{0%,14%,90%,100%{opacity:0}42%,64%{opacity:1}}@media(prefers-reduced-motion:reduce){.guest-card:hover .guest-photo .guest-frame--motion,.guest-card:focus-visible .guest-photo .guest-frame--motion,.guest-card:hover .guest-photo .guest-frame--still,.guest-card:focus-visible .guest-photo .guest-frame--still{animation:none!important}.guest-photo .guest-frame--motion{opacity:0!important;transition:none}}
