@import "https://fonts.googleapis.com/css2?family=Finlandica:wght@400;500;600;700&family=Great+Vibes&family=Montserrat:wght@400;500;600;700&display=swap";:root{--bg:#f7f4ee;--primary:#26486b;--border:#26486b2e;--white:#fff;--number-font:"Finlandica Headline", "Finlandica", sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;color:var(--primary);font-family:Montserrat,sans-serif;overflow-x:hidden}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--primary);justify-content:center;margin:0;font-family:Montserrat,sans-serif;display:flex;overflow-x:hidden}button,a{font:inherit}button{border:0}#root{width:100%;max-width:430px;min-height:100vh}.invitation-shell{background:radial-gradient(circle at 18% 12%, #26486b14 0 1px, transparent 1.5px), radial-gradient(circle at 74% 22%, #26486b0f 0 1px, transparent 1.5px), radial-gradient(circle at 42% 72%, #26486b0b 0 1px, transparent 1.5px), var(--bg);background-size:116px 116px,144px 144px,172px 172px;width:100%;max-width:430px;min-height:100vh;margin:0 auto;padding:0 18px 28px}.pill-button{background:var(--primary);min-height:48px;color:var(--white);letter-spacing:.04em;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:13px;font-weight:700;line-height:1;text-decoration:none;transition:opacity .18s,transform .18s;display:inline-flex}.pill-button:active{opacity:.86;transform:scale(.98)}.number-font{font-family:var(--number-font);font-variant-numeric:lining-nums tabular-nums}@media (hover:hover){.pill-button:hover{opacity:.9;transform:translateY(-1px)}}.hero{text-align:center;justify-content:center;align-items:center;min-height:100svh;padding:44px 0 28px;display:flex;position:relative;overflow:hidden}.hero__content{z-index:1;width:100%;position:relative}.hero__eyebrow{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:18px;font-weight:500;line-height:1.5}.hero__illustration{width:min(100%,372px);min-height:clamp(224px,70vw,300px);margin:20px auto}.hero__illustration img{object-fit:contain;object-position:center;width:100%;display:block}.hero__names{max-width:330px;color:var(--primary);margin:0 auto;font-family:Great Vibes,cursive;font-size:clamp(50px,15.4vw,66px);font-weight:400;line-height:1.02}.hero__ampersand{margin:-4px 0 -2px;font-family:Montserrat,sans-serif;font-size:22px;font-weight:400;line-height:1.2;display:block}.hero__date{color:var(--primary);letter-spacing:.01em;margin:38px 0 0;font-size:18px;font-weight:400;line-height:1.5}.hero__button{letter-spacing:.02em;width:min(100%,286px);margin-top:24px;font-size:18px;font-weight:400}.photo-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:72svh;padding:44px 0 54px;display:flex}.photo-frame{aspect-ratio:.8;width:min(100%,286px);padding:18px;position:relative}.photo-frame__image{object-fit:cover;object-position:center;filter:saturate(.74)contrast(.94)brightness(1.04);width:100%;height:100%;display:block}.photo-frame:before,.photo-frame:after{content:"";border:2px solid var(--primary);pointer-events:none;position:absolute}.photo-frame:before{inset:10px}.photo-frame:after{inset:18px}.photo-frame__line{z-index:2;background:var(--primary);pointer-events:none;position:absolute}.photo-frame__line--top,.photo-frame__line--bottom{height:2px;left:0;right:0}.photo-frame__line--top{top:10px}.photo-frame__line--bottom{bottom:10px}.photo-frame__line--left,.photo-frame__line--right{width:2px;top:0;bottom:0}.photo-frame__line--left{left:10px}.photo-frame__line--right{right:10px}.photo-frame__image{z-index:1;position:relative}.photo-section__title{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;margin:24px 0 0;font-size:22px;font-weight:500;line-height:1.3}.countdown-section{text-align:center;margin:16px -18px 0;padding:0 18px;position:relative;overflow:hidden}.countdown-section__panel{z-index:3;background:#f7f4eeeb;margin:0 -18px;padding:30px 18px 28px;position:relative}.countdown-section__title{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px;font-size:24px;font-weight:700;line-height:1.35}.countdown-section__timer{color:var(--primary);justify-content:center;align-items:flex-start;gap:0;display:flex}.countdown-section__item{text-align:center;min-width:72px;position:relative}.countdown-section__value{font-family:var(--number-font);letter-spacing:.04em;font-size:48px;font-weight:500;line-height:1;display:block}.countdown-section__label{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;margin-top:7px;font-size:7px;font-weight:700;line-height:1.2;display:block}.countdown-section__colon{color:var(--primary);font-size:42px;font-family:var(--number-font);font-weight:500;line-height:1;position:absolute;top:1px;right:-7px}.calendar-section{margin-left:-18px;margin-right:-18px;padding:72px 9px 82px}.calendar-card{aspect-ratio:1;width:min(100%,420px);margin:0 auto;position:relative;container-type:inline-size}.calendar-card__frame{object-fit:fill;pointer-events:none;width:112%;height:112%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-card__content{color:var(--primary);text-align:center;flex-direction:column;display:flex;position:absolute;inset:11.43cqw 10.48cqw 12.38cqw}.calendar-card__title{color:var(--primary);letter-spacing:.02em;margin:0 0 4.76cqw;font-size:5cqw;font-weight:600;line-height:1.2}.calendar-card__weekdays,.calendar-card__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-card__weekdays{letter-spacing:.08em;margin-bottom:3.81cqw;font-size:2.62cqw;font-weight:600;line-height:1}.calendar-card__grid{row-gap:2.86cqw;font-size:3.1cqw;font-weight:500;line-height:1}.calendar-card__day{min-width:0;min-height:5.71cqw;font-family:var(--number-font);font-variant-numeric:lining-nums tabular-nums;justify-content:center;align-items:center;display:inline-flex;position:relative}.calendar-card__day.is-selected{color:var(--primary);font-weight:700}.calendar-card__day.is-selected:before{content:"";border:.71cqw solid var(--primary);border-radius:50%;width:8.57cqw;height:8.57cqw;position:absolute}.calendar-card__footer{border-top:1px solid var(--primary);color:var(--primary);letter-spacing:.01em;margin:auto 0 0;padding-top:2.86cqw;font-size:2.62cqw;font-weight:600;line-height:1.35}.location-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:58svh;padding:54px 0 64px;display:flex}.location-section__title{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:24px;font-weight:600;line-height:1.2}.location-section__image{width:min(100%,382px);height:284px;margin:18px auto 16px}.location-section__image img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.location-section__address{color:var(--primary);letter-spacing:.01em;margin:0;font-size:18px;font-weight:400;line-height:1.55}.location-section__button{min-height:42px;margin-top:18px;padding-left:28px;padding-right:28px;font-size:13px;font-weight:500}.invitation-text{text-align:center;padding:42px 18px 64px}.invitation-text__eyebrow{color:var(--primary);letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700;line-height:1.4}.invitation-text__title{color:var(--primary);margin:0;font-family:Great Vibes,cursive;font-size:44px;font-weight:400;line-height:1.1}.invitation-text__body{max-width:342px;color:var(--primary);letter-spacing:.01em;margin:22px auto 0;font-size:15px;font-weight:400;line-height:1.9}.invitation-text__signature{color:var(--primary);margin:28px 0 0;font-family:Great Vibes,cursive;font-size:34px;font-weight:400;line-height:1.2}.closing-section{text-align:center;padding:22px 0 76px}.closing-section__image{width:min(100%,360px);height:292px;margin:0 auto 20px}.closing-section__image img{object-fit:contain;object-position:center bottom;width:100%;height:100%;display:block}.closing-section__title{max-width:360px;color:var(--primary);margin:0 auto;font-family:Great Vibes,cursive;font-size:52px;font-weight:400;line-height:1.08}.closing-section__text{max-width:300px;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:18px auto 0;font-size:14px;font-weight:500;line-height:1.6}@media (width<=360px){.invitation-shell{padding-left:14px;padding-right:14px}.hero{padding-top:36px}.hero__eyebrow{font-size:16px}.hero__illustration{min-height:224px;margin-top:18px;margin-bottom:18px}.hero__date{margin-top:30px;font-size:16px}.hero__button{width:min(100%,258px);min-height:46px;font-size:16px}.photo-section{padding-top:36px;padding-bottom:44px}.photo-frame{width:min(100%,270px)}.photo-section__title{font-size:20px}.countdown-section,.countdown-section__panel{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.countdown-section__title{font-size:20px}.countdown-section__item{min-width:58px}.countdown-section__value{font-size:38px}.countdown-section__colon{font-size:34px;right:-5px}.calendar-section{margin-left:-14px;margin-right:-14px;padding-left:6px;padding-right:6px}.location-section__title{font-size:22px}.location-section__image{width:min(100%,328px);height:244px}.location-section__address{font-size:16px}.invitation-text{padding-left:10px;padding-right:10px}.invitation-text__title{font-size:38px}.invitation-text__body{font-size:14px}.closing-section__image{width:min(100%,320px);height:260px}.closing-section__title{font-size:44px}.closing-section__text{font-size:12px}}
