@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@400;500;600&display=swap');
:root{color-scheme:dark;--gold:#e3c38b;--cream:#fff4e3;--muted:#c8baaa}*{box-sizing:border-box}html{background:#100f0d}body{margin:0;color:var(--cream);font-family:'Montserrat',sans-serif;display:flex;justify-content:center;min-height:100svh;padding:30px 18px;background:radial-gradient(ellipse at 50% 30%,#3a3024 0,#171510 48%,#100f0d 80%)}.invitation{position:relative;isolation:isolate;width:100%;max-width:470px;overflow:hidden;background:#161411;box-shadow:0 20px 100px #0009;border:1px solid #b89d6038}.portrait{position:absolute;inset:0 0 auto;height:640px;z-index:-2;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 26%;animation:reveal 2s ease-out both}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#16141155 0%,transparent 25%,#16141108 45%,#161411d4 79%,#161411 100%)}header{display:flex;gap:16px;align-items:center;justify-content:center;padding:25px 28px}header p{font-size:12px;letter-spacing:.32em;margin:0;text-shadow:0 1px 8px #0008;font-weight:500}.fine-line{height:1px;width:36px;background:#f8e5c67a}.intro{padding:270px 12px 0;text-align:center;animation:rise 1.1s .15s both}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:500;margin:0 0 12px;color:#f2dbb7}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:55px;line-height:.92;margin:0;text-shadow:0 2px 25px #0004}h1 em{display:block;font-size:65px;font-weight:400}.surname{font-size:12px;letter-spacing:.3em;margin:17px 0 0;color:#e8d8c0}.details{text-align:center;padding:25px 36px 18px;animation:rise 1.2s .3s both}.save{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:var(--gold);font-size:32px;margin:0 0 20px}.date-heading{display:flex;justify-content:center;align-items:center;gap:13px;font-size:15px;letter-spacing:.22em;font-weight:500}.year{font-size:12px;color:var(--muted);padding-left:14px;border-left:1px solid #e3c38b70;letter-spacing:.1em}.calendar{max-width:320px;margin:19px auto 0}.weekdays,.week{display:grid;grid-template-columns:repeat(7,1fr);align-items:center}.weekdays{font-size:12px;color:var(--muted)}.week{margin-top:4px;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px}.week>span{height:46px;display:grid;place-items:center;position:relative}.selected{color:#ff615e;font-weight:600}.selected svg{position:absolute;width:52px;height:49px;inset:auto;fill:none;stroke:#ff615e;stroke-width:2;stroke-linecap:round;transform:rotate(-7deg)}.location{display:flex;justify-content:center;gap:7px;align-items:center;color:var(--muted);font-size:14px;margin:17px 0 23px}.location svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3}.countdown-wrap{margin-top:23px;border-top:1px solid #e3c38b30;border-bottom:1px solid #e3c38b30;padding:20px 0}.count-label{font-size:14px;letter-spacing:.025em;margin:0 0 14px;color:#ebd8b8}.countdown{display:flex;align-items:flex-start;justify-content:center;gap:14px}.countdown div{display:flex;flex-direction:column;min-width:45px}.countdown strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:37px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums}.countdown div span{font-size:12px;letter-spacing:.13em;margin-top:9px;color:var(--muted)}.countdown b{font-size:23px;line-height:1.2;font-weight:400;color:#aa9169}.closing{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-style:italic;margin:20px 0 5px}.soon{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.end-mark{color:var(--gold);font-size:17px;margin-top:14px;animation:glow 4s ease-in-out infinite}@keyframes reveal{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{50%{opacity:.4}}@media(max-width:520px){body{padding:0;background:#161411}.invitation{border:0;box-shadow:none}.intro{padding-top:255px}.details{padding-left:32px;padding-right:32px}}@media(min-width:800px){body{padding:35px 0}}@media(max-width:360px){.details{padding-left:22px;padding-right:22px}.countdown{gap:10px}.intro{padding-top:235px}h1{font-size:49px}h1 em{font-size:58px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important}}



.music-toggle{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:10;display:flex;gap:8px;align-items:center;min-height:46px;padding:10px 16px;border:1px solid #e3c38b80;border-radius:30px;background:#201b16ee;color:var(--gold);font:500 12px Montserrat,sans-serif;box-shadow:0 4px 20px #0005;cursor:pointer}.music-toggle>span:first-child{font-size:23px}.music-toggle:focus-visible{outline:2px solid var(--cream);outline-offset:4px}.music-toggle:disabled{cursor:wait;opacity:.7}.music-toggle[aria-pressed="true"]{background:#e3c38b;color:#201b16}.music-credit{font-size:10px;line-height:1.7;color:var(--muted);margin:18px 0 52px}.music-credit a{color:inherit;text-underline-offset:3px}.music-status:not(:empty){position:fixed;bottom:78px;right:16px;z-index:10;max-width:260px;padding:12px;background:#201b16;color:var(--cream);font-size:12px;border-radius:12px}

