@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Montserrat:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{color:#1f2b38;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf4f7;font-family:Montserrat,sans-serif}*{box-sizing:border-box}html{background:linear-gradient(145deg,#edf4f7 0%,#f9fbfc 50%,#eaf1f5 100%);min-width:320px;min-height:100%;overflow:hidden auto}body{-webkit-overflow-scrolling:touch;min-width:320px;min-height:100%;margin:0;overflow:hidden auto}button,a{font:inherit}p,h1,h2{margin:0}#root{min-height:100%}.page-shell{z-index:1;place-items:center;min-height:100dvh;display:grid;position:relative}.invitation{width:100%;max-width:880px}.decorative-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.color-cloud{opacity:.3;filter:blur(4px);width:440px;height:440px;position:absolute}.color-cloud--top{top:-160px;left:-160px}.color-cloud--bottom{bottom:-176px;right:-176px}.color-cloud__spot{filter:blur(24px);border-radius:50%;width:112px;height:112px;display:block;position:absolute}.color-cloud__spot--rose{background:#dba0aab3;top:45%;left:45%}.color-cloud__spot--blue{background:#6f8fb4b3;width:128px;height:128px;top:58%;left:58%}.color-cloud__spot--white{background:#ffffffe6;width:96px;height:96px;top:62%;left:30%}.color-cloud--bottom .color-cloud__spot--blue{top:28%;left:30%}.color-cloud--bottom .color-cloud__spot--rose{top:48%;left:52%}.color-cloud--bottom .color-cloud__spot--white{top:58%;left:25%}.ornament{color:#365a93;justify-content:center;align-items:center;gap:14px;margin-bottom:24px;display:flex}.ornament>span:not(.ornament__heart){background:linear-gradient(90deg,#0000,#6f8fb4);width:86px;height:1px}.ornament>span:last-child{background:linear-gradient(90deg,#6f8fb4,#0000)}.ornament__heart{color:#d98f98;font-size:18px;line-height:1;transform:translateY(-1px)}.invitation-card{text-align:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffd9;border:1px solid #ffffffbf;border-radius:30px;padding:clamp(28px,5vw,58px);position:relative;overflow:hidden;box-shadow:0 20px 55px #2e4a6f26}.invitation-card__ring{border:1px solid #365a9340;border-radius:50%;width:150px;height:150px;position:absolute}.invitation-card__ring--top{top:-96px;left:-88px}.invitation-card__ring--bottom{bottom:-102px;right:-92px}.bible-verse{color:#294876;max-width:600px;margin:0 auto 24px;font-size:clamp(13px,2vw,16px);font-style:italic;line-height:1.8}.couple-names{color:#365a93;letter-spacing:-.02em;font-family:Great Vibes,cursive;font-size:clamp(64px,10vw,96px);font-weight:400;line-height:.92}.couple-names__line{flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:30px;display:flex}.couple-names__line--groom{column-gap:30px}.couple-names__ampersand{color:#7184a1;width:fit-content;margin:-8px auto;font-size:58px;line-height:.72;display:block}.confirmation-state{padding-top:28px}.section-eyebrow{color:#294876;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600;line-height:1.5}.confirmation-intro{color:#435160;max-width:590px;margin:0 auto;font-size:clamp(14px,2vw,17px);line-height:1.75}.deadline-pill{color:#294876;background:#365a9312;border:1px solid #365a931a;border-radius:999px;align-items:center;margin-top:20px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.confirmation-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:34px;display:grid}.confirmation-option{min-height:108px;color:inherit;text-align:left;background:#fffc;border:1px solid #365a9326;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:22px 18px;text-decoration:none;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;display:flex}.confirmation-option:hover,.confirmation-option:focus-visible{background:#fffffff2;border-color:#365a9359;transform:translateY(-3px);box-shadow:0 14px 34px #3552761f}.confirmation-option:focus-visible{outline-offset:3px;outline:3px solid #365a9347}.confirmation-option__icon{color:#fff;background:#365a93;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.confirmation-option__icon svg{width:23px;height:23px}.confirmation-option__content{flex:1}.confirmation-option__label{color:#687581;letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.confirmation-option__title{color:#294876;font-size:clamp(16px,2vw,19px);font-weight:600;line-height:1.3;display:block}.confirmation-option__arrow{color:#6f8fb4;font-size:24px;line-height:1;transition:transform .2s}.confirmation-option:hover .confirmation-option__arrow,.confirmation-option:focus-visible .confirmation-option__arrow{transform:translate(3px)}.expired-card{background:#ffffffbf;border:1px solid #365a9326;border-radius:22px;max-width:590px;margin:20px auto 0;padding:32px;box-shadow:0 12px 30px #35527614}.expired-card__icon{color:#365a93;background:#365a931a;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 16px;display:grid}.expired-card__icon svg{width:28px;height:28px}.expired-card h2{color:#294876;font-size:22px;font-weight:600;line-height:1.3}.expired-card p{color:#435160;max-width:500px;margin:12px auto 0;font-size:16px;line-height:1.75}.expired-card strong{color:#294876;font-weight:600}.ceremony-details{color:#71808e;margin-top:28px;font-size:12px;line-height:1.6}.ceremony-details strong{color:#294876;font-weight:600}@media (width<=639px){.page-shell{align-items:start;padding:clamp(12px,3vh,24px) 12px}.ornament>span:not(.ornament__heart){width:48px}.invitation-card{border-radius:24px;padding:28px 18px}.bible-verse{margin-bottom:18px}.couple-names{font-size:56px}.couple-names__line{column-gap:16px}.couple-names__line--groom{column-gap:12px}.couple-names__ampersand{margin:-4px auto;font-size:44px}.confirmation-options{grid-template-columns:1fr}.confirmation-option{min-height:94px}.expired-card{padding:28px 20px}.expired-card h2{font-size:19px}.expired-card p{font-size:14px}}@media (width>=640px) and (height<=850px){.page-shell{padding-block:16px}.invitation-card{padding-block:32px}.bible-verse{margin-bottom:16px}.confirmation-state{padding-top:20px}.confirmation-options{margin-top:24px}.ceremony-details{margin-top:20px}}@media (prefers-reduced-motion:reduce){.confirmation-option,.confirmation-option__arrow{transition:none}}
