.fd-anniv{--fd-ink: #292929;--fd-primary: #3d3d3d;--fd-primary-dark: #292929;--fd-muted: #464646;--fd-line: #d0d0d0;--fd-paper: #f1f1f1;--fd-paper-edge: #d0d0d0;--fd-night: #0c0c0d;--fd-font-display: "Playfair Display", "Georgia", "Times New Roman", serif;--fd-font-script: "Great Vibes", "Brush Script MT", "Segoe Script", cursive;--fd-font-body: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;position:fixed;inset:0;z-index:2147483000;display:grid;font-family:var(--fd-font-body);color:#fff;opacity:0;animation:fd-lights-off .7s ease-in forwards;-webkit-font-smoothing:antialiased}.fd-anniv__backdrop{position:absolute;inset:0;background:var(--fd-night)}.fd-anniv__spotlight{position:absolute;inset:-20%;pointer-events:none;opacity:0;transform:scale(.35);background:radial-gradient(ellipse 50% 42% at 50% 40%,rgba(255,255,255,.18),transparent 70%),radial-gradient(ellipse 85% 75% at 50% 45%,rgba(85,85,85,.9),rgba(41,41,41,.75) 45%,transparent 82%);transition:transform 1.4s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity}.fd-anniv--lit .fd-anniv__spotlight,.fd-anniv--envelope .fd-anniv__spotlight,.fd-anniv--letter .fd-anniv__spotlight{transform:scale(1);animation:fd-flicker-on 1.1s steps(1,end) forwards}.fd-anniv--exit{opacity:1;animation:fd-lights-on .9s ease-in forwards}.fd-anniv--exit .fd-anniv__stage,.fd-anniv--exit .fd-anniv__canvas{opacity:0;transform:scale(.98);transition:opacity .28s ease-out,transform .28s ease-out}.fd-anniv--exit .fd-anniv__spotlight{opacity:1;transform:scale(2.6);transition-duration:.9s}.fd-anniv__canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.fd-anniv__stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.75rem,2.5vh,1.5rem);min-height:100%;max-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:max(4.25rem,env(safe-area-inset-top)) 16px max(1.5rem,env(safe-area-inset-bottom));box-sizing:border-box;perspective:1200px}.fd-anniv__slot{display:flex;justify-content:center;width:100%}.fd-anniv__title{margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;font-weight:400;line-height:1}.fd-anniv__eyebrow{font-family:var(--fd-font-body);font-size:clamp(.7rem,1.5vw,.9rem);font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#ffffffd9;animation:fd-fade-up .7s .1s ease-out both}.fd-anniv__title-art{display:block;margin:.2rem 0 .1rem;padding:0 .25em;line-height:1;white-space:nowrap;font-size:clamp(.62rem,1.05vw + .35rem,1rem);transition:font-size .9s cubic-bezier(.3,.8,.25,1);filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}.fd-anniv__number{font-family:var(--fd-font-display);font-style:italic;font-weight:800;font-size:13em;padding-right:.06em;background:linear-gradient(170deg,#fff 20%,#e2e2e2 55%,#9e9e9e);-webkit-background-clip:text;background-clip:text;color:transparent}.fd-anniv__word{font-family:var(--fd-font-script);font-size:7.5em;color:#fff}.fd-anniv--envelope .fd-anniv__title-art{font-size:clamp(.5rem,.7vw + .25rem,.7rem)}.fd-anniv--letter .fd-anniv__title-art,.fd-anniv--exit .fd-anniv__title-art{font-size:clamp(.36rem,.4vw + .2rem,.46rem)}.fd-anniv__subtitle{font-family:var(--fd-font-display);font-style:italic;font-weight:600;font-size:clamp(1rem,2.4vw,1.4rem);color:#ffffffeb;animation:fd-fade-up .8s 2.1s ease-out both;transition:font-size .9s}.fd-anniv--letter .fd-anniv__subtitle,.fd-anniv--exit .fd-anniv__subtitle{font-size:clamp(.9rem,2vw,1.05rem)}.fd-pen{position:relative;display:block}.fd-pen__text{display:block;margin:0}.fd-pen__nib{position:absolute;left:0;top:0;width:30px;height:30px;margin:-28px 0 0 -2px;opacity:0;pointer-events:none;transition:opacity .25s;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.3));will-change:transform}.fd-anniv__title .fd-pen__nib{filter:invert(1) drop-shadow(1px 2px 2px rgba(0,0,0,.4));width:38px;height:38px;margin:-36px 0 0 -2px}.fd-anniv__title .fd-pen__nib svg{width:38px;height:38px}.fd-env-scene{position:relative;width:min(80vw,380px);aspect-ratio:1.6;margin-top:clamp(5rem,16vh,8.5rem);perspective:1100px}.fd-env-shadow{position:absolute;left:8%;right:8%;bottom:-14%;height:16%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(6px)}.fd-env{position:absolute;inset:0;transform-style:preserve-3d}.fd-env__back{position:absolute;inset:0;border-radius:8px;background:linear-gradient(180deg,#a9a9a9,#9a9a9a);box-shadow:0 20px 40px -12px #0009;transform:translateZ(0)}.fd-env__letter{position:absolute;left:6%;right:6%;top:6%;height:92%;display:flex;flex-direction:column;align-items:center;gap:6%;padding:6% 8%;box-sizing:border-box;border-radius:6px;background:linear-gradient(180deg,#fafafa,var(--fd-paper));box-shadow:0 -2px 10px #00000026;transform:translateZ(1px) translateY(0);transition:transform 1s cubic-bezier(.25,.9,.3,1)}.fd-env__letter img{width:80%;height:auto}.fd-env__letter-greeting{font-family:var(--fd-font-script);font-size:clamp(1.6rem,6vw,2.3rem);color:var(--fd-primary);line-height:1}.fd-env__letter-line{width:80%;height:4px;border-radius:4px;background:var(--fd-line)}.fd-env__letter-line--short{width:55%}.fd-env-scene--peek .fd-env__letter{transform:translateZ(1px) translateY(-62%)}.fd-env__pocket{position:absolute;inset:0;width:100%;height:100%;border-radius:8px;overflow:hidden;transform:translateZ(2px)}.fd-env__flap{position:absolute;top:0;left:0;right:0;height:60%;transform-origin:50% 0;transform:translateZ(3px) rotateX(0);transform-style:preserve-3d;transition:transform .85s cubic-bezier(.5,0,.3,1)}.fd-env__flap-face{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,#bdbdbd,#b0b0b0);border-radius:8px 8px 0 0}.fd-env__seal{position:absolute;left:50%;bottom:-14%;width:22%;height:auto;aspect-ratio:1;padding:4%;box-sizing:border-box;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4f4f4,#cfcfcf);box-shadow:0 3px 8px #00000059,inset 0 0 0 2px #00000014;transform:translate(-50%) translateZ(1px);backface-visibility:hidden}.fd-env-scene--open .fd-env__flap,.fd-env-scene--peek .fd-env__flap{transform:translateZ(.5px) rotateX(180deg)}.fd-anniv__card{position:relative;width:min(100%,34rem);box-sizing:border-box;padding:clamp(1.25rem,3.5vw,2rem) clamp(1.25rem,4vw,2.25rem);border-radius:14px;border:1px solid var(--fd-paper-edge);background:linear-gradient(180deg,#f7f7f7,var(--fd-paper));box-shadow:0 30px 60px -20px #000000a6,0 0 0 6px #ffffff0d;color:var(--fd-ink);text-align:center}.fd-anniv__card-logo{display:block;width:min(62%,13rem);height:auto;margin:0 auto}.fd-anniv__card-heading{margin:.2rem 0 .4rem;font-weight:400}.fd-anniv__greeting{font-family:var(--fd-font-script);font-size:clamp(2.6rem,7vw,3.4rem);line-height:1.15;color:var(--fd-primary);text-align:center}.fd-anniv__letter-text{text-align:left}.fd-anniv__card-body,.fd-anniv__card-invite{margin:0 0 .5rem;font-family:"Dancing Script",var(--fd-font-script);font-weight:500;font-size:clamp(1.2rem,2.8vw,1.38rem);line-height:1.45;color:var(--fd-ink)}.fd-anniv__card-invite{font-weight:600}.fd-anniv__signature{margin-top:.4rem;font-family:var(--fd-font-script);font-size:clamp(1.8rem,4.5vw,2.2rem);line-height:1.2;color:var(--fd-primary);text-align:right}.fd-anniv__signature-wrap{text-align:right}.fd-anniv__card:not(.is-written){cursor:pointer}.fd-anniv__hint{margin:.25rem 0 0;font-size:.85rem;color:#fffc;text-align:center;opacity:0;transition:opacity .6s .4s}.fd-anniv__hint.is-visible{opacity:1}.fd-anniv__skip{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:3;min-height:44px;padding:.55rem 1.1rem;border:1.5px solid rgba(255,255,255,.85);border-radius:999px;background:#0009;color:#fff;font-family:var(--fd-font-body);font-size:.9rem;font-weight:600;cursor:pointer;backdrop-filter:blur(4px);transition:background-color .2s}.fd-anniv__skip:hover{background:#ffffff29}.fd-anniv__skip--close{background:#f1f1f1;color:var(--fd-ink);border-color:#f1f1f1}.fd-anniv__skip--close:hover{background:#fff}.fd-anniv__skip--countdown{display:inline-flex;align-items:center;gap:.55rem;padding-right:.45rem}.fd-anniv__countdown{position:relative;display:inline-grid;place-items:center;width:30px;height:30px;flex:none}.fd-anniv__countdown svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.fd-anniv__countdown circle{fill:none;stroke-width:3}.fd-anniv__countdown-track{stroke:#29292924}.fd-anniv__countdown-ring{stroke:var(--fd-ink, #292929);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;animation:fd-anniv-countdown var(--fd-hold, 5s) linear forwards}.fd-anniv__countdown-num{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;animation:fd-anniv-countdown-tick .35s ease-out}@keyframes fd-anniv-countdown{to{stroke-dashoffset:100}}@keyframes fd-anniv-countdown-tick{0%{opacity:0;transform:scale(1.5)}}.fd-anniv--reduced .fd-anniv__countdown-ring,.fd-anniv--reduced .fd-anniv__countdown-num{animation:none}.fd-anniv__skip:focus-visible{outline:3px solid #fff;outline-offset:3px}.fd-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){.fd-anniv--letter .fd-anniv__stage{justify-content:flex-start}}@media (max-height: 860px) and (min-width: 641px){.fd-anniv__stage{gap:.6rem;padding-top:3.25rem;padding-bottom:1rem}.fd-anniv__title-art{font-size:clamp(.55rem,1.25vh,.85rem)}.fd-anniv--envelope .fd-anniv__title-art{font-size:.5rem}.fd-anniv--letter .fd-anniv__title-art,.fd-anniv--exit .fd-anniv__title-art{font-size:.34rem}.fd-anniv--letter .fd-anniv__subtitle{display:none}.fd-anniv__card{padding-block:1rem}.fd-anniv__greeting{font-size:2.5rem}.fd-anniv__card-body,.fd-anniv__card-invite{font-size:1.18rem;line-height:1.38}}@keyframes fd-lights-off{0%{opacity:0}to{opacity:1}}@keyframes fd-lights-on{0%{opacity:1;filter:brightness(1)}45%{opacity:.85;filter:brightness(1.6)}to{opacity:0;filter:brightness(2.2)}}@keyframes fd-flicker-on{0%{opacity:0}12%{opacity:.55}18%{opacity:.1}30%{opacity:.8}36%{opacity:.35}50%{opacity:1}to{opacity:1}}@keyframes fd-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.fd-anniv--reduced,.fd-anniv--reduced *{animation:none!important;transition:none!important}.fd-anniv--reduced{opacity:1}.fd-anniv--reduced .fd-anniv__backdrop{background:#0c0c0df0}.fd-anniv--reduced .fd-anniv__spotlight{opacity:1;transform:none}.fd-anniv--reduced.fd-anniv--exit{opacity:0}.fd-env__reverse{position:absolute;inset:0;border-radius:8px;background:repeating-linear-gradient(35deg,#bdbdbd 0 1px,#c6c6c6 1px 3px);transform:translateZ(-7px) rotateY(180deg);backface-visibility:hidden}.fd-env__edge{position:absolute;background:linear-gradient(90deg,#777,#ddd,#999)}.fd-env__edge--left,.fd-env__edge--right{width:8px;height:100%;top:0;transform-origin:left;transform:rotateY(90deg)}.fd-env__edge--left{left:0}.fd-env__edge--right{left:100%}.fd-env__edge--bottom{width:100%;height:8px;top:100%;transform-origin:top;transform:rotateX(-90deg)}.fd-env__back{background:linear-gradient(145deg,#dedede,#888);box-shadow:inset 0 0 30px #5558,18px 35px 55px #0008}.fd-env__flap-face{background:linear-gradient(165deg,#f4f4f4,#c9c9c9 46%,#909090)}.fd-env__seal{border:3px double #999;background:radial-gradient(circle at 30% 20%,#fff,#aaa 65%,#eee);box-shadow:2px 5px #777,4px 10px 15px #0005,inset 0 0 0 3px #eee}.fd-anniv__card{border-radius:3px;border:1px solid #fff;background:repeating-linear-gradient(8deg,#ffffff08 0 1px,#66666605 1px 2px),linear-gradient(120deg,#fff,#e5e5e5 52%,#f8f8f8);box-shadow:1px 1px #aaa,2px 2px #eee,3px 3px #aaa,4px 4px #ddd,5px 5px #999,18px 30px 65px #0009}.fd-anniv__card:before{content:"";position:absolute;inset:9px;border:1px solid #9997;pointer-events:none}.fd-anniv__greeting{font-size:clamp(1.8rem,5.5vw,2.6rem);padding-block:.4rem}.fd-anniv__card-body,.fd-anniv__card-invite{font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.6}.fd-anniv__card-invite{font-style:italic}.fd-anniv__number{background-image:linear-gradient(155deg,#fff 15%,#aaa 32%,#fff 42%,#888 60%,#eee 75%);filter:drop-shadow(1px 2px 0 #777) drop-shadow(2px 4px 0 #555) drop-shadow(3px 7px 0 #333)}.fd-anniv__subtitle{max-width:90vw;line-height:1.35}@media (max-height: 740px){.fd-anniv--letter .fd-anniv__stage{justify-content:flex-start}}.fd-anniv__title-art{display:flex;align-items:center;justify-content:center;gap:1.2em;padding:.8em 1em 1.2em;font-size:clamp(.8rem,1.3vw,1.2rem);filter:none;animation:fd-fade-up .8s ease-out both}.fd-anniv__number{font-family:Georgia,serif;font-style:normal;font-size:15em;line-height:.88;padding:0;letter-spacing:-.07em;background-image:linear-gradient(135deg,#fff 10%,#e8e8e8 35%,#949494 49%,#fff 52%,#c5c5c5 80%);filter:none;text-shadow:none}.fd-anniv__title-label{display:flex;flex-direction:column;align-items:flex-start;gap:1em}.fd-anniv__word{font-family:var(--fd-font-body);font-size:5em;font-weight:800;text-transform:uppercase;letter-spacing:-.055em;line-height:1}.fd-anniv__edition{font-family:var(--fd-font-body);font-size:.85em;letter-spacing:.25em;border-top:1px solid #ffffff60;padding-top:1em;color:#dedede}.fd-anniv__subtitle{font-family:var(--fd-font-body);font-style:normal;font-weight:400}.fd-anniv__spotlight{background:radial-gradient(ellipse at 50% 45%,#404044,#18181b 58%,#09090b 85%)}.fd-anniv--envelope .fd-anniv__title-art{font-size:clamp(.45rem,.75vw,.65rem)}.fd-anniv--letter .fd-anniv__title-art,.fd-anniv--exit .fd-anniv__title-art{font-size:.32rem}@media (max-width: 640px){.fd-anniv__title-art{font-size:clamp(.6rem,2.4vw,.85rem)}.fd-anniv__eyebrow{letter-spacing:.2em}}.fd-anniv__card{width:min(100%,38rem);padding:clamp(1.5rem,4vw,2.5rem) clamp(1.5rem,5vw,3rem);border-radius:5px 5px 12px;background:radial-gradient(ellipse at 0 0,#fff9,transparent 65%),repeating-linear-gradient(0deg,#55555505 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#55555504 0 1px,transparent 1px 4px),linear-gradient(110deg,#f7f6f3,#e8e7e4 48%,#f9f8f5 52%,#eeedea);border:1px solid #e5e4e1;box-shadow:inset 0 1px #fff,inset -2px -2px 4px #7772,0 2px #c3c2bf,0 4px #efeeeb,0 5px #aaa9a6,0 15px 25px #0004,0 40px 70px -20px #000b}.fd-anniv__card:before{inset:12px;border:1px solid #96959280;border-radius:2px;box-shadow:inset 0 0 0 3px #fff5,inset 0 0 0 4px #96959226}.fd-anniv__card-masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.fd-anniv__card-kicker{color:#5d5c59;font-family:var(--fd-font-body);font-size:.62rem;letter-spacing:.22em;text-align:left}.fd-anniv__card-medal{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;border:3px double #8b8b8b;background:linear-gradient(135deg,#fff,#bbb 45%,#eee 55%,#999);box-shadow:inset 0 0 0 3px #eee8,0 2px #777,2px 4px 6px #0003;color:#373737;text-shadow:0 1px #fff}.fd-anniv__card-medal strong{font:700 2rem/.95 Georgia,serif}.fd-anniv__card-medal span{font-size:.5rem;letter-spacing:.18em;margin-top:4px}.fd-anniv__card-logo{width:min(68%,15rem)}.fd-anniv__card-rule{display:flex;align-items:center;gap:12px;color:#82817e;margin:1rem 0 .25rem;font-size:.7rem}.fd-anniv__card-rule:before,.fd-anniv__card-rule:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#92918e,transparent)}.fd-anniv__greeting{font-family:var(--fd-font-display);font-size:clamp(1.5rem,4vw,2rem);font-style:italic;line-height:1.2;color:#333;text-shadow:0 1px #fff}.fd-anniv__letter-text{margin-top:.8rem}.fd-anniv__card-body{line-height:1.65}.fd-anniv__card-invite,.fd-anniv__signature{margin-top:1rem}.fd-anniv__card-footer{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-top:1.2rem;padding:0 .5rem .2rem;background:transparent;color:#454440;text-align:center}.fd-anniv__footer-ornament{display:flex;align-items:center;gap:.8rem;width:100%;color:#777570;font-size:.75rem}.fd-anniv__footer-ornament:before,.fd-anniv__footer-ornament:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#aaa7a0,transparent)}.fd-anniv__footer-message{font-family:var(--fd-font-display);font-style:italic;font-size:clamp(1rem,3vw,1.15rem);line-height:1.4;text-shadow:0 1px #fff}.fd-anniv__footer-place{font-family:var(--fd-font-body);font-size:.65rem;font-weight:600;letter-spacing:.24em;line-height:1.6}@media (max-height: 860px){.fd-anniv--letter .fd-anniv__stage{justify-content:flex-start}.fd-anniv__card{padding-block:1.3rem}.fd-anniv__card-masthead{margin-bottom:.3rem}.fd-anniv__card-medal{width:46px;height:46px}.fd-anniv__card-medal strong{font-size:1.5rem}}.fd-anniv__canvas--3d{z-index:1}.fd-anniv__logo3d{display:block;width:min(88vw,860px,87.72vh);aspect-ratio:1.9 / 1.47;margin:.4rem 0 .6rem;transition:width .9s cubic-bezier(.3,.8,.25,1),height .9s cubic-bezier(.3,.8,.25,1),margin .9s}.fd-anniv--envelope .fd-anniv__logo3d{width:clamp(130px,16vw,200px);margin:.2rem 0}.fd-anniv--letter .fd-anniv__logo3d,.fd-anniv--exit .fd-anniv__logo3d{width:clamp(70px,7vw,92px);margin:.1rem 0}.fd-anniv--3d .fd-anniv__eyebrow,.fd-anniv--3d .fd-anniv__subtitle{display:none}.fd-env3d-slot{--env-w: min(84vw, 430px, calc((100dvh - 270px) / 1.36));width:var(--env-w);aspect-ratio:3.03 / 2.09;margin-top:calc(var(--env-w) * .6)}@media (max-width: 640px){.fd-anniv--envelope .fd-anniv__logo3d{width:120px}}@media (max-height: 740px){.fd-anniv--envelope .fd-anniv__logo3d{width:auto;height:12vh}.fd-anniv--letter .fd-anniv__logo3d,.fd-anniv--exit .fd-anniv__logo3d{width:auto;height:9vh}}.fd-anniv__card-masthead{justify-content:center;margin-bottom:.2rem}.fd-anniv__card-masthead .fd-anniv__card-logo{display:block;width:min(82%,20rem);height:auto;margin:.2rem auto 0}.fd-anniv__letter-text{text-align:center}.fd-anniv__card-body{text-align:center;margin-bottom:0}.fd-anniv__card-footer{opacity:0;transform:translateY(8px);transition:opacity .7s .2s ease-out,transform .7s .2s ease-out}.fd-anniv__card-footer.is-visible{opacity:1;transform:none}.fd-anniv__card-tagline{display:block;width:min(52%,11rem);height:auto;margin:.2rem auto 0}.fd-env__seal{border:0;border-radius:46% 54% 49% 51%/52% 47% 53% 48%;background:radial-gradient(circle at 50% 50%,transparent 52%,#0000002e 55%,transparent 60%),radial-gradient(circle at 35% 30%,#f2f2f4,#a9a9ae 45%,#5f5f64);box-shadow:inset -3px -4px 6px #0006,inset 3px 3px 5px #ffffff30,2px 5px 10px #0005;filter:grayscale(0)!important}.fd-anniv-badge{position:absolute;top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2.5vw,2rem);z-index:900;width:clamp(76px,9vw,128px);aspect-ratio:1;pointer-events:none;opacity:0;transform:scale(.6) rotate(-12deg);transition:opacity .7s ease,transform .9s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}.fd-anniv-badge.is-ready{opacity:1;transform:none}.fd-anniv-badge__canvas{display:block;width:100%;height:100%}@media (prefers-reduced-motion: reduce){.fd-anniv-badge{transition:opacity .3s ease;transform:none}}
