*{box-sizing:border-box;margin:0;padding:0}:root{--rose: #b45f79;--rose-deep: #9a4964;--rose-soft: #d7a5b6;--blush: #f4dde4;--peach: #f5e7df;--mist: #f8f1eb;--paper: #fffaf6;--ink: #44281e;--ink-soft: #72574c;--gold: rgba(183, 143, 84, .55);--line: rgba(180, 95, 121, .18);--shadow: 0 26px 70px rgba(91, 55, 53, .14);--framer-ease: cubic-bezier(.16, 1, .3, 1);--framer-ease-out: cubic-bezier(.22, 1, .36, 1)}html{scroll-behavior:smooth}body{min-height:100vh;font-family:Cormorant Garamond,Georgia,serif;font-weight:500;color:var(--ink);background:url(/3.jpg) center / cover no-repeat fixed;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,#fffaf66b,#44281e40)}.page{width:min(100%,460px);margin:0 auto;min-height:100vh;background:transparent;position:relative;z-index:1;overflow:hidden;animation:framer-page-in 1s var(--framer-ease) both}@keyframes framer-page-in{0%{opacity:0;transform:scale(.985) translateY(12px);filter:blur(8px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}.hero{position:relative;min-height:320px;padding:40px 28px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:transparent}.hero-name{font-family:Great Vibes,cursive;font-size:clamp(96px,26vw,140px);line-height:1;font-weight:400;color:var(--rose-deep);text-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 24px rgba(255,255,255,.6),0 8px 40px rgba(154,73,100,.22);position:relative;z-index:2;animation:framer-hero-line .95s var(--framer-ease) .12s both}.hero-subtitle{margin-top:6px;font-family:Great Vibes,cursive;font-size:clamp(54px,15vw,76px);font-weight:400;letter-spacing:.06em;color:#6b3d45;text-shadow:0 1px 0 rgba(255,255,255,.9),0 4px 20px rgba(255,255,255,.5);position:relative;z-index:2;animation:framer-hero-line .88s var(--framer-ease) .28s both}@keyframes framer-hero-line{0%{opacity:0;transform:translateY(36px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.content{position:relative;padding:14px 24px 48px}.section-card{position:relative;padding:26px 18px;margin-top:18px;border-radius:28px;background:linear-gradient(180deg,#ffffffd6,#fffcf9ad);border:1px solid rgba(180,95,121,.1);box-shadow:0 14px 40px #a37a7414;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-card.soft{background:radial-gradient(circle at top left,rgba(247,225,231,.55),transparent 34%),linear-gradient(180deg,#ffffffdb,#fffaf6b3)}.section-card:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:22px;border:1px solid rgba(183,143,84,.12);pointer-events:none}.greeting{text-align:center;padding-top:6px}.greeting-script{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(32px,8vw,42px);font-weight:700;color:var(--rose-deep);line-height:1.3}.font-numeric{font-family:Fraunces,Georgia,serif;font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;font-optical-sizing:auto}.main-text{margin-top:16px;text-align:center}.main-text p{font-style:italic;font-size:clamp(28px,7vw,38px);line-height:1.2;color:var(--ink);text-shadow:0 1px 6px rgba(255,255,255,.85),0 2px 16px rgba(255,255,255,.6)}.main-text strong{color:var(--rose-deep);font-weight:700}.info-heading{text-align:center;margin-bottom:14px}.info-kicker{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(32px,8vw,42px);font-weight:700;letter-spacing:.02em;color:var(--rose-deep);margin-bottom:10px}.info-title{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(24px,6vw,32px);font-weight:700;line-height:1.4;color:var(--ink);max-width:22em;margin-left:auto;margin-right:auto;text-shadow:0 1px 6px rgba(255,255,255,.85)}.cal-month{text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-style:normal;font-size:clamp(30px,7.5vw,38px);font-weight:700;color:var(--ink);margin-bottom:14px}.cal-month .font-numeric{font-family:Cormorant Garamond,Georgia,serif;font-style:normal;font-size:.92em;font-weight:700;vertical-align:baseline}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.dn{font-family:Cormorant Garamond,serif;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.12em;color:#72574cbf;padding-bottom:8px}.d{width:34px;height:34px;margin:auto;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:Cormorant Garamond,Georgia,serif;font-size:17px;font-style:normal;font-weight:600;color:var(--ink-soft);position:relative}.d.hi{color:#fff;font-weight:700;background:radial-gradient(circle at 30% 30%,#d088a0,#a9516c 70%);box-shadow:0 10px 18px #b45f7947}.time-block{text-align:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.time-val{font-family:Cormorant Garamond,Georgia,serif;font-style:normal;font-size:clamp(44px,11vw,54px);font-weight:700;font-variant-numeric:lining-nums;letter-spacing:-.02em;color:var(--rose-deep);line-height:1}.time-lbl{margin-top:8px;font-family:Cormorant Garamond,Georgia,serif;font-style:normal;font-size:17px;font-variant-numeric:lining-nums;letter-spacing:.04em;color:#72574ccc}.countdown{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.cu{text-align:center;min-width:62px}.cn{display:block;font-family:Cormorant Garamond,Georgia,serif;font-style:normal;font-size:36px;font-weight:700;font-variant-numeric:lining-nums;letter-spacing:-.02em;color:var(--rose-deep);line-height:1}.cl{display:block;margin-top:6px;font-family:Cormorant Garamond,serif;font-style:normal;font-size:11px;font-weight:600;letter-spacing:.1em;color:#72574cbf}.cdot{font-size:26px;color:#b45f797a;align-self:flex-start}.venue-block{text-align:center}.venue-place{font-family:Allura,cursive;font-style:normal;font-size:clamp(36px,9vw,48px);font-weight:400;color:var(--ink);margin-top:4px}.venue-address{margin-top:10px;font-style:italic;font-size:clamp(24px,6vw,32px);line-height:1.75;color:var(--ink-soft)}.btn-map{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;text-decoration:none;cursor:pointer;padding:14px 30px;border-radius:999px;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:20px;font-variant-numeric:lining-nums;letter-spacing:.08em;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;margin-top:20px;color:#fff;background:linear-gradient(135deg,#cc7b94,#a8506a);box-shadow:0 12px 28px #b45f793d}.btn-map:hover{transform:translateY(-2px);box-shadow:0 18px 36px #b45f7947}.footer{padding:10px 24px 44px;text-align:center}.footer-note{margin-top:14px;font-family:Allura,cursive;font-style:normal;font-size:13px;letter-spacing:.14em;color:#72574cb8}.footer-note .font-numeric{font-size:1.05em;letter-spacing:.02em}.hosts-block{text-align:center;padding-top:4px}.hosts-names{margin-top:8px;font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(28px,7vw,38px);font-weight:700;color:var(--ink);letter-spacing:.02em;text-shadow:0 1px 6px rgba(255,255,255,.85)}.music-widget{position:fixed;z-index:20;right:max(14px,env(safe-area-inset-right,14px));bottom:max(22px,env(safe-area-inset-bottom,22px));pointer-events:none}.music-btn{pointer-events:auto;width:52px;height:52px;border-radius:50%;border:1px solid rgba(180,95,121,.35);background:#fffcf9eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 28px #5b37352e;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--rose-deep);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.music-btn:hover{transform:scale(1.05);box-shadow:0 14px 34px #b45f7938}.music-btn:active{transform:scale(.98)}.music-btn .music-icon-pause,.music-btn.playing .music-icon-play{display:none}.music-btn.playing .music-icon-pause{display:block}.music-widget .music-btn{animation:framer-music-pop .65s var(--framer-ease-out) .75s both}@keyframes framer-music-pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.fade{opacity:0;transform:translateY(32px) scale(.98);transition:opacity .8s var(--framer-ease),transform .8s var(--framer-ease);transition-delay:var(--framer-stagger, 0s)}.fade.in{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion: reduce){.page,.hero-name,.hero-subtitle,.music-widget .music-btn{animation:none!important}.fade{opacity:1;transform:none;transition:none}}@media (max-width: 390px){.hero{min-height:300px;padding-inline:22px}.main-text p{font-size:20px}.venue-address{font-size:19px}.time-val{font-size:46px}.section-card{padding:24px 16px}}
