/* Native, editable birthday artwork. The age remains text at every size. */
.birthday-invitation{color:var(--birthday-ink)}.birthday-invitation .couple-names>span{overflow-wrap:anywhere}.birthday-invitation .birthday-hero-date{display:flex;align-items:center;justify-content:center;gap:17px;font:500 12px/1.6 var(--sans);letter-spacing:.07em;color:var(--accent)}.birthday-hero-date>span:nth-child(2){opacity:.45}.birthday-floral-age{display:flex;flex-direction:column;align-items:center;margin:3px auto 27px;color:var(--accent)}.birthday-floral-age b{font:500 138px/.95 var(--serif);letter-spacing:-.06em;padding-inline:.1em}.birthday-floral-age>span{font:500 9px var(--sans);letter-spacing:.35em;margin-top:15px}.birthday-floral .invite-intro{padding-bottom:20px}.birthday-floral .invite-eyebrow{margin-bottom:12px}.birthday-floral .couple-names{margin:22px 0 18px;font-size:calc(79px * var(--name-scale))}.birthday-floral .wedding-label{font-size:18px;margin-top:22px}.birthday-floral .hero-scroll{margin-top:16px}.birthday-floral .hero-botanical{height:140px}.birthday-number-hero{position:relative;overflow:hidden;text-align:center;padding:62px 28px 40px;isolation:isolate;background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 65%)}.birthday-number-hero:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.5;background:radial-gradient(1px 1px at 15% 14%,var(--accent) 98%,transparent),radial-gradient(1.5px 1.5px at 77% 25%,var(--accent) 98%,transparent),radial-gradient(1px 1px at 25% 65%,var(--accent) 98%,transparent),radial-gradient(1px 1px at 86% 78%,var(--accent) 98%,transparent);background-size:170px 250px}.birthday-hero-kicker{display:block;font:500 8px/1.7 var(--sans);letter-spacing:.26em;color:var(--accent);position:relative;z-index:1}.birthday-number-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:345px;margin:24px -12px 0;padding-top:10px}.birthday-main-number{position:relative;font:800 clamp(150px,53vw,260px)/1.15 var(--sans);letter-spacing:-.085em;padding-right:.08em;color:var(--accent);max-width:100%;font-variant-numeric:lining-nums;filter:drop-shadow(0 16px 28px #0003)}.birthday-age-caption{font:500 10px/1.4 var(--sans);letter-spacing:.4em;color:var(--accent);margin-top:2px;padding-left:.4em}.birthday-number-glow{position:absolute;width:90%;height:80%;inset:10% 5%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 12%,transparent),transparent 65%);z-index:-1}.birthday-main-number.finish-metal,.birthday-floral-age.finish-metal b{color:transparent;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 50%,#3b2c1b) 3%,color-mix(in srgb,var(--accent) 45%,#fff) 25%,var(--accent) 43%,#fff3cb 50%,color-mix(in srgb,var(--accent) 75%,#302213) 64%,color-mix(in srgb,var(--accent) 60%,#fff) 83%,var(--accent));background-size:180% 100%;-webkit-background-clip:text;background-clip:text}.birthday-style-silvernight .birthday-main-number.finish-metal{background-image:linear-gradient(130deg,#656d7b 4%,#e9f0fa 24%,#788594 40%,#fff 50%,#7a8b9c 61%,#eff6ff 77%,#8b98a9 96%)}.birthday-main-number.finish-outline,.birthday-floral-age.finish-outline b{color:transparent;-webkit-text-stroke:1.8px var(--accent);text-shadow:0 0 36px color-mix(in srgb,var(--accent) 15%,transparent)}.birthday-main-number.finish-balloon,.birthday-floral-age.finish-balloon b{color:transparent;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,white) 2%,color-mix(in srgb,var(--accent) 45%,white) 25%,color-mix(in srgb,var(--accent) 80%,#5b3046) 46%,color-mix(in srgb,var(--accent) 25%,white) 53%,var(--accent) 68%,color-mix(in srgb,var(--accent) 12%,white) 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px color-mix(in srgb,var(--accent) 70%,#fff);filter:drop-shadow(3px 7px 0 color-mix(in srgb,var(--accent) 50%,transparent)) drop-shadow(0 18px 16px #9e496528);font-weight:800}.birthday-main-number.finish-neon,.birthday-floral-age.finish-neon b{color:var(--paper);-webkit-text-stroke:2px color-mix(in srgb,var(--accent) 75%,white);text-shadow:0 0 7px var(--accent),0 0 24px var(--accent),0 0 55px color-mix(in srgb,var(--accent) 50%,transparent)}.birthday-hero-star{position:absolute;color:var(--accent);opacity:.8;font:32px var(--serif)}.star-one{top:16%;left:5%;font-size:42px}.star-two{top:57%;right:5%;font-size:21px}.star-three{top:1%;right:14%;font-size:19px}.birthday-hero-identity{position:relative;margin:24px 0 0}.birthday-hero-script{font:italic 25px var(--serif);color:var(--birthday-muted)}.birthday-number-hero .couple-names{font-size:calc(62px * var(--name-scale));margin:13px auto 18px;color:var(--birthday-ink);font-weight:400;line-height:1.2}.birthday-number-hero .couple-names>span{padding:6px 0}.birthday-hero-line{height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);width:86px;margin:0 auto 20px}.birthday-hero-identity>p{font:400 11px/1.9 var(--sans);color:var(--birthday-muted);max-width:240px;margin:0 auto 25px}.birthday-number-hero .birthday-hero-date{font-size:12px;color:var(--birthday-ink);margin:34px auto 0}.birthday-hero-scroll{display:flex;flex-direction:column;align-items:center;gap:13px;margin:30px auto 0;font:500 8px/1.7 var(--sans);letter-spacing:.22em;text-decoration:none;color:var(--accent)}.birthday-hero-scroll span{font-size:20px;line-height:1}.birthday-hero-orbit{position:absolute;z-index:-1;width:580px;height:580px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;left:50%;top:80px;transform:translateX(-50%);pointer-events:none}.orbit-two{width:630px;height:630px;top:55px;border-color:color-mix(in srgb,var(--accent) 8%,transparent)}.birthday-style-silvernight .birthday-hero-orbit{border-radius:22px;transform:translateX(-50%) rotate(32deg);width:410px;height:410px;top:175px}.birthday-style-silvernight .orbit-two{transform:translateX(-50%) rotate(48deg);width:460px;height:460px;top:150px}.birthday-style-midnightblue .birthday-number-stage{background:radial-gradient(circle,transparent 57%,#9dc0df19 57.3%,transparent 57.8%,transparent 68%,#9dc0df15 68.3%,transparent 68.8%)}.birthday-style-roseparty .birthday-number-hero{background:radial-gradient(ellipse at 0% 25%,#f5c3d7aa,transparent 40%),radial-gradient(ellipse at 100% 40%,#f3b6cc77,transparent 45%)}.birthday-style-roseparty .birthday-hero-orbit{border:1px solid #ffffffaa;background:radial-gradient(circle at 35% 25%,#fff8,#eca8c333 35%,#cf82a022);width:110px;height:140px;top:170px;left:-35px;transform:rotate(-12deg)}.birthday-style-roseparty .orbit-two{width:85px;height:110px;top:260px;left:auto;right:-20px;transform:rotate(15deg)}.birthday-style-neonparty .birthday-number-hero{background:radial-gradient(ellipse at 0% 35%,#b017e52b,transparent 60%),radial-gradient(ellipse at 100% 20%,#1847f433,transparent 55%)}.birthday-style-neonparty .birthday-hero-orbit{border-radius:30px;width:330px;height:330px;top:155px;transform:translateX(-50%) rotate(-12deg);border-color:#ba4be359;box-shadow:0 0 30px #ba4be312,inset 0 0 40px #ba4be312}.birthday-style-neonparty .orbit-two{transform:translateX(-50%) rotate(9deg);border-color:#4688f947}.birthday-style-champagne .birthday-number-hero{background:radial-gradient(circle at 50% 25%,#fffaf0 7%,#e4d2ae44 35%,transparent 55%)}.birthday-style-champagne .birthday-main-number{font-family:var(--serif);font-weight:500;letter-spacing:-.06em;font-size:280px}.birthday-style-champagne .birthday-number-hero .couple-names{font-size:calc(72px * var(--name-scale))}.birthday-numbers .hero-botanical,.birthday-numbers .floral-top,.birthday-numbers .floral-bottom,.birthday-numbers .panel-flowers,.birthday-numbers .schedule:before,.birthday-numbers .schedule:after,.birthday-numbers .intro-message:before,.birthday-numbers .album-section:before{display:none}.birthday-numbers .invitation-paper{color:var(--birthday-ink)}.birthday-numbers .inv-section{background:transparent}.birthday-numbers .inv-section>p,.birthday-numbers .section-subtitle,.birthday-numbers .invitation-closing>p{color:var(--birthday-muted)!important}.birthday-numbers .intro-message{padding-top:35px;padding-bottom:52px;border-top:1px solid color-mix(in srgb,var(--accent) 15%,transparent);margin:0 30px;padding-left:10px;padding-right:10px}.birthday-numbers .intro-message h2{color:var(--accent)}.birthday-numbers .wedding-date-panel{padding:52px 28px;color:var(--birthday-ink);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 9%,var(--paper)),var(--paper));border-block:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}.birthday-numbers .wedding-date-panel .invite-eyebrow,.birthday-numbers .date-month,.birthday-numbers .date-flourish{color:var(--accent)}.birthday-numbers .date-year{top:42px}.birthday-numbers .date-week .is-wedding-day time{background:var(--accent);color:var(--paper);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.birthday-numbers .date-month{font-size:56px}.birthday-numbers .calendar-menu{color:var(--birthday-ink)}.birthday-numbers .calendar-menu summary,.birthday-numbers .calendar-menu a{background:color-mix(in srgb,var(--accent) 8%,var(--paper));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--birthday-ink)}.birthday-numbers .event-card{background:color-mix(in srgb,var(--accent) 5%,var(--paper));border-color:color-mix(in srgb,var(--accent) 25%,transparent);box-shadow:none}.birthday-numbers .event .event-card h3,.birthday-numbers .event .event-card .event-venue,.birthday-numbers .event-time,.birthday-numbers .map-link,.birthday-numbers .countdown-section h2{color:var(--birthday-ink)}.birthday-numbers .event .event-card .event-address{color:var(--birthday-muted)}.birthday-numbers .event-time{background:color-mix(in srgb,var(--accent) 7%,var(--paper))}.birthday-numbers .event-dot{box-shadow:0 0 0 5px var(--paper)}.birthday-numbers .map-arrow{background:transparent}.birthday-numbers .script-heading{font:500 38px var(--body-font)}.birthday-numbers .countdown>div{border-radius:16px;background:color-mix(in srgb,var(--accent) 9%,var(--paper));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--birthday-ink);box-shadow:none}.birthday-numbers .countdown{gap:9px}.birthday-numbers .countdown strong{font:500 28px var(--sans)}.birthday-numbers .rsvp-section{padding:60px 30px!important;background:color-mix(in srgb,var(--accent) 6%,var(--paper));border-block:1px solid color-mix(in srgb,var(--accent) 20%,transparent);color:var(--birthday-ink)}.birthday-numbers .rsvp-section h2,.birthday-numbers .rsvp-section h2 em,.birthday-numbers .rsvp-section>p strong,.birthday-numbers .rsvp-form label,.birthday-numbers .rsvp-form legend{color:var(--birthday-ink)}.birthday-numbers .rsvp-section>.invite-eyebrow{color:var(--accent)}.birthday-numbers .rsvp-section>p,.birthday-numbers .rsvp-status,.birthday-numbers .notification-consent{color:var(--birthday-muted)!important}.birthday-numbers .rsvp-form fieldset label{border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--birthday-ink)}.birthday-numbers .rsvp-form fieldset label:has(input:checked){background:var(--accent);color:var(--paper)}.birthday-numbers .rsvp-form .invite-button{background:var(--accent);border-color:var(--accent);color:var(--paper)}.birthday-numbers .preview-rsvp-note,.birthday-numbers .rsvp-section .preview-rsvp-note{color:var(--birthday-muted);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:transparent}.birthday-numbers .album-section h2{color:var(--birthday-ink)}.birthday-numbers .invite-button.outline{color:var(--birthday-ink);border-color:var(--accent)}.birthday-numbers .invitation-footer{background:transparent;color:var(--birthday-muted);padding:25px}.birthday-numbers .invitation-paper:before{border-color:color-mix(in srgb,var(--accent) 12%,transparent)}.birthday-portrait{margin:36px -5px 0;border-radius:150px 150px 30px 30px;padding:8px}.birthday-portrait img{height:auto;aspect-ratio:4/5;border-radius:inherit;object-fit:cover}.birthday-envelope{background:var(--paper);color:var(--birthday-ink);isolation:isolate}.birthday-envelope:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 65%);z-index:-1}.birthday-opening-art{display:flex;flex-direction:column;align-items:center;gap:20px;transform:translateY(-55px)}.birthday-opening-art>span{font:42px var(--serif);color:var(--accent)}.birthday-opening-art>b{font:800 min(48vw,240px)/1.2 var(--sans);letter-spacing:-.08em;color:var(--accent);text-shadow:0 0 50px color-mix(in srgb,var(--accent) 20%,transparent)}.birthday-opening-art small{font:500 12px var(--sans);letter-spacing:.15em;color:var(--birthday-muted)}.birthday-envelope .open-invitation{bottom:15%;color:var(--birthday-ink);background:transparent;border:0;box-shadow:none;text-shadow:none}.birthday-envelope .open-invitation span{color:var(--accent)}.birthday-envelope .open-invitation strong{color:var(--birthday-ink)}.birthday-envelope.opening .birthday-opening-art{transition:transform 1.2s,opacity .9s;transform:translateY(-70px) scale(1.08);opacity:0}.birthday-invitation:not(.is-closed):not(.birthday-still) .birthday-number-stage{animation:birthday-number-arrive 1.1s ease-out both}.birthday-invitation:not(.is-closed):not(.birthday-still) .birthday-hero-identity{animation:birthday-number-arrive 1s .2s ease-out both}.birthday-invitation:not(.is-closed):not(.birthday-still) .finish-metal{animation:birthday-number-shine 2.4s .3s ease-out both}.birthday-still *, .birthday-still *:before,.birthday-still *:after{animation:none!important;transition:none!important}@keyframes birthday-number-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes birthday-number-shine{from{background-position:100% 0}to{background-position:0 0}}@media(max-width:360px){.birthday-number-hero{padding:48px 22px 35px}.birthday-number-stage{min-height:290px}.birthday-number-hero .couple-names{font-size:calc(53px * var(--name-scale))}.birthday-style-champagne .birthday-main-number{font-size:230px}.birthday-floral .invite-intro{padding-inline:25px}.birthday-floral .couple-names{font-size:calc(71px * var(--name-scale))}.birthday-floral-age b{font-size:118px}.birthday-numbers .inv-section{padding-inline:25px}.birthday-numbers .birthday-hero-date{font-size:11px;gap:12px}}@media(prefers-reduced-motion:reduce){.birthday-invitation *,.birthday-invitation *:before,.birthday-invitation *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.birthday-invitation.birthday-three-digits .birthday-main-number{font-size:clamp(120px,40vw,200px)}.birthday-invitation.birthday-three-digits.birthday-style-champagne .birthday-main-number{font-size:215px}.birthday-invitation.birthday-three-digits .birthday-opening-art>b{font-size:min(38vw,190px)}
