@font-face{font-family:Instrument;src:url('assets/instrument-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:light;--wine:#65192c;--ink:#4a1d29;--paper:#fff9f3;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#581225}
*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100svh;background:radial-gradient(ellipse at 12% 20%,#973b484a,transparent 60%),radial-gradient(ellipse at 95% 90%,#24081199,transparent 70%),#581225;isolation:isolate}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.background-rose{position:fixed;z-index:-1;pointer-events:none;width:380px;height:510px;color:#e6a4ad;opacity:.14}.rose-left{left:-130px;bottom:-35px;transform:rotate(-22deg)}.rose-right{right:-120px;top:-100px;transform:rotate(158deg)}
main{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 30px 20px;overflow:hidden}.masthead{width:min(1040px,100%);display:flex;align-items:center;justify-content:space-between;padding:0 6px 17px;color:#f3d8d8}.masthead>span:nth-child(2){font-size:10px;letter-spacing:.26em;text-transform:uppercase}.monogram{font-family:Instrument,Georgia,serif;font-style:italic;font-size:33px;line-height:1}.mini-flower{font-size:24px}
.profile{width:min(1040px,100%);padding:12px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;background:var(--paper);border:1px solid #f7dcda;border-radius:5px;box-shadow:0 28px 70px #24060f55;position:relative}
.photo-frame{position:relative;overflow:hidden;background:#eed9d1;border-radius:2px;isolation:isolate}.photo-frame img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:contrast(1.025) saturate(.97)}.photo-tone{position:absolute;inset:0;background:linear-gradient(135deg,#8c26380b,transparent 45%,#50142412);pointer-events:none}.glint{position:absolute;inset:-100%;pointer-events:none;opacity:0;background:linear-gradient(125deg,transparent 46%,#fff8eb30 49%,#fff8eb80 50%,#fff8eb10 51%,transparent 54%)}
.intro{padding:20px 34px 18px;position:relative}.intro-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0;color:#88515c}.little-rose{color:#954455;width:51px;height:60px;flex-shrink:0}
h1{font-family:Instrument,Georgia,serif;font-weight:400;font-size:clamp(70px,8.6vw,108px);line-height:.84;letter-spacing:-.035em;margin:0;color:var(--wine)}h1 span,h1 em{display:block}h1 em{font-weight:400;margin-top:2px;padding-left:.26em}.invitation{margin:25px 0 27px;font-size:14px;line-height:1.65;color:#77515b}
.access-link{min-height:80px;display:flex;align-items:center;gap:12px;padding:16px 16px;color:var(--paper);text-decoration:none;background:linear-gradient(110deg,#7b2338,#5d1426);border:1px solid #8b3447;border-radius:4px;box-shadow:0 8px 22px #57132319;transition:transform .2s,box-shadow .2s}.platform-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #f7d1ce85;border-radius:7px}.platform-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.button-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.button-copy strong{font-size:17px;line-height:1.2;letter-spacing:-.02em}.button-copy small{font-size:10px;line-height:1.5;color:#f4d5d8}.arrow{width:19px;height:19px;flex:0 0 19px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.5}.access-link:hover{transform:translateY(-2px);box-shadow:0 12px 26px #57132335}.access-link:active{transform:translateY(0)}.access-link:focus-visible{outline:2px solid var(--wine);outline-offset:5px}.afterword{font-size:10px;text-align:center;color:#79525d;margin:12px 0 0;line-height:1.5}
.sign-off{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;color:#8e5360}.sign-off span{height:1px;background:#7b314c26;flex:1}.sign-off i{font-family:Instrument,Georgia,serif;font-size:23px}footer{font-size:10px;letter-spacing:.07em;color:#d5adb4;margin-top:21px}
@media(max-width:820px){main{padding:18px 16px 22px;justify-content:flex-start}.masthead{max-width:440px;padding-bottom:12px}.profile{display:block;max-width:440px;padding:9px}.intro{padding:16px 17px 12px}.intro-top{margin-bottom:8px}.little-rose{width:40px;height:44px}.eyebrow{font-size:9px;letter-spacing:.14em}h1{font-size:clamp(57px,15.4vw,76px);line-height:1.02;white-space:nowrap;letter-spacing:-.03em}h1 span,h1 em{display:inline}h1 em{padding:0;margin:0}.invitation{font-size:12px;line-height:1.6;margin:13px 0 20px}.invitation br{display:none}.invitation br::after{content:' '}.access-link{min-height:76px}.sign-off{margin-top:21px}.rose-left{width:260px;height:360px;left:-150px}.rose-right{right:-180px}}
@media(max-width:360px){main{padding:14px 10px 20px}.intro{padding:14px 11px 10px}h1{font-size:57px}.access-link{padding:14px 11px;gap:9px}.button-copy strong{font-size:16px}.button-copy small{font-size:9px}.arrow{width:16px;flex-basis:16px}}
@media(prefers-reduced-motion:no-preference){.profile{animation:enter .7s ease-out both}.glint{animation:glint 3s .5s ease-in-out both}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes glint{0%{opacity:0;transform:translateX(-65%)}30%,60%{opacity:.22}100%{opacity:0;transform:translateX(65%)}}}
@media(prefers-reduced-motion:reduce){.access-link{transition:none}}
.button-copy small{font-size:11px}
@media(max-width:820px){h1 em{margin-left:.07em}}
@media(max-width:360px){.button-copy small{font-size:10px}}
