@import "https://fonts.googleapis.com/css2?family=Allura&family=Caveat:wght@400;500;600;700&family=Courgette&family=Dancing+Script:wght@400;500;600;700&family=Great+Vibes&family=Kalam:wght@300;400;700&family=Marck+Script&family=Outfit:wght@300;400;500;600;700;800&family=Pacifico&family=Sacramento&family=Satisfy&display=swap";
:root{--lover-bg:#f9e9eb;--lover-bg-deep:#f1d5da;--lover-red:#a91f3d;--lover-red-dark:#80162e;--lover-red-light:#d44a68;--lover-pink:#e8aab8;--lover-pink-light:#f8dce2;--lover-pink-soft:#fceff1;--lover-cream:#fff8f5;--lover-muted:#79565f;--lover-text:#48232e;--lover-border:#a91f3d33;--lover-glass:#fff8f58c;--font-display:"Outfit", sans-serif;--font-body:"Outfit", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font-body);color:var(--lover-text);margin:0}body{background:var(--lover-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--lover-red);outline-offset:4px}::selection{background:var(--lover-red);color:#fff}.lover-intro{isolation:isolate;background:radial-gradient(at 8% 12%,#dc7f9752 0%,#0000 38%),radial-gradient(at 94% 25%,#f8c6d1d9 0%,#0000 38%),radial-gradient(at 50% 85%,#a91f3d1a 0%,#0000 46%),linear-gradient(135deg,#f5dce1 0%,#fbecef 36%,#f8e3e7 68%,#f0d0d7 100%);justify-content:center;align-items:center;width:100%;height:100dvh;min-height:500px;padding:70px 24px 80px;display:flex;position:relative;overflow:hidden}.lover-intro:before,.lover-intro:after{z-index:-1;content:"";pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.lover-intro:before{border:1px solid #a91f3d1f;width:280px;height:280px;top:12%;left:-110px;box-shadow:0 0 0 28px #a91f3d06,0 0 0 58px #a91f3d05}.lover-intro:after{border:1px solid #a91f3d1a;width:240px;height:240px;bottom:5%;right:-100px;box-shadow:0 0 0 30px #a91f3d06,0 0 0 60px #a91f3d05}.intro-progress{z-index:5;gap:8px;width:min(420px,100% - 40px);display:flex;position:absolute;top:28px;left:50%;transform:translate(-50%)}.progress-segment{cursor:pointer;background:#a91f3d29;border:0;border-radius:999px;flex:1;height:4px;padding:0;display:block;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--lover-red);width:0;display:block;position:absolute;inset:0}.progress-fill.completed{width:100%}.progress-fill.current{animation:4s linear forwards fill-progress}@keyframes fill-progress{0%{width:0}to{width:100%}}.slide-zone{z-index:2;cursor:pointer;background:0 0;border:0;width:20%;padding:0;position:absolute;top:80px;bottom:80px}.slide-zone-left{left:0}.slide-zone-right{right:0}.slide-zone:disabled{cursor:default}.slide-zone:focus-visible{outline:none}.cinematic-content{z-index:3;text-align:center;pointer-events:none;flex-direction:column;align-items:center;width:100%;max-width:850px;animation:.65s both content-appear;display:flex;position:relative}.cinematic-content button{pointer-events:auto}@keyframes content-appear{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.gold-heart{background:#fff8f594;border:1px solid #a91f3d2e;border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;margin-bottom:27px;display:flex;position:relative;box-shadow:0 12px 35px #a91f3d14,inset 0 0 20px #fff6}.gold-heart svg{width:38px;height:38px;color:var(--lover-red);fill:var(--lover-red);stroke:var(--lover-red)}.heart-sparkle{color:var(--lover-red-light);font-size:15px;animation:2s ease-in-out infinite sparkle;position:absolute;top:5px;right:7px}@keyframes sparkle{0%,to{opacity:.45;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(18deg)}}.cinematic-eyebrow{color:var(--lover-red);font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;margin:0 0 22px;font-size:11px;font-weight:600;line-height:1.7}.cinematic-title{color:var(--lover-red-dark);font-family:var(--font-display);letter-spacing:-.055em;text-align:center;text-wrap:balance;text-transform:uppercase;flex-direction:column;align-items:center;margin:0;font-size:clamp(48px,8vw,94px);font-weight:700;line-height:.99;display:flex}.cinematic-title span{color:var(--lover-red);font-family:var(--font-display);letter-spacing:-.045em;margin-top:8px;font-size:.77em;font-weight:500;line-height:1.08;display:block}.gold-divider{width:120px;color:var(--lover-red);justify-content:center;align-items:center;gap:12px;margin:27px 0 22px;display:flex}.gold-divider:before,.gold-divider:after{content:"";background:linear-gradient(90deg,#0000,#a91f3d8c);flex:1;height:1px}.gold-divider:after{background:linear-gradient(90deg,#a91f3d8c,#0000)}.gold-divider span{font-size:12px}.cinematic-message{max-width:460px;color:var(--lover-muted);font-family:var(--font-body);letter-spacing:.005em;text-wrap:balance;margin:28px 0 0;font-size:clamp(15px,1.7vw,18px);font-weight:400;line-height:1.8}.gold-cta{cursor:pointer;border:1px solid var(--lover-red);background:var(--lover-red);color:#fff;min-height:54px;font-family:var(--font-body);letter-spacing:.1em;border-radius:999px;justify-content:center;align-items:center;gap:20px;margin-top:32px;padding:0 27px;font-size:11px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 10px 25px #a91f3d2b}.gold-cta span{font-size:19px;line-height:1;transition:transform .2s}.gold-cta:hover{background:var(--lover-red-dark);transform:translateY(-2px);box-shadow:0 14px 30px #a91f3d3b}.gold-cta:hover span{transform:translate(4px)}.gold-cta:active{transform:translateY(0)}.side-hint{z-index:4;color:#80162eb3;width:max-content;max-width:calc(100% - 32px);font-family:var(--font-body);letter-spacing:.16em;text-align:center;font-size:10px;font-weight:500;position:absolute;bottom:29px;left:50%;transform:translate(-50%)}.lover-button{cursor:pointer;border:1px solid var(--lover-border);background:var(--lover-red);color:#fff;font-family:var(--font-body);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.lover-button:hover{background:var(--lover-red-dark);transform:translateY(-1px)}.lover-button:disabled{cursor:not-allowed;opacity:.55;transform:none}@media (min-width:1200px){.cinematic-title{font-size:clamp(78px,7vw,104px)}}@media (max-width:768px){.lover-intro{min-height:480px;padding:65px 20px 75px}.intro-progress{gap:6px;top:22px}.cinematic-content{max-width:560px}.gold-heart{width:70px;height:70px;margin-bottom:23px}.gold-heart svg{width:32px;height:32px}.cinematic-eyebrow{letter-spacing:.17em;margin-bottom:19px;font-size:9px}.cinematic-title{letter-spacing:-.05em;font-size:clamp(43px,10vw,72px)}.cinematic-title span{margin-top:7px;font-size:.75em}.gold-divider{margin:23px 0 18px}.cinematic-message{max-width:360px;margin-top:28px;font-size:15px;line-height:1.7}.gold-cta{letter-spacing:.08em;gap:13px;min-height:50px;margin-top:26px;padding:0 20px;font-size:10px}.side-hint{letter-spacing:.12em;font-size:9px;bottom:23px}.slide-zone{width:13%}}@media (max-width:380px){.lover-intro{padding-left:16px;padding-right:16px}.gold-heart{width:60px;height:60px;margin-bottom:20px}.cinematic-title{font-size:clamp(37px,10vw,48px)}.cinematic-eyebrow{letter-spacing:.13em;max-width:290px;font-size:8px}.cinematic-message{max-width:300px;margin-top:28px;font-size:14px}.gold-cta{gap:10px;padding:0 15px;font-size:9px}}@media (max-height:650px) and (min-width:769px){.lover-intro{padding-top:50px;padding-bottom:55px}.gold-heart{width:58px;height:58px;margin-bottom:15px}.gold-heart svg{width:29px;height:29px}.cinematic-eyebrow{margin-bottom:13px}.cinematic-title{font-size:clamp(43px,7vh,62px)}.gold-divider{margin:15px 0 12px}.cinematic-message{margin-top:28px;font-size:14px}.gold-cta{min-height:46px;margin-top:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.gallery-screen{isolation:isolate;min-height:100dvh;color:var(--lover-text);background:radial-gradient(at 8% 8%,#ffffffe6,#0000 42%),radial-gradient(at 100% 100%,#e8aab84d,#0000 45%),linear-gradient(120deg,#fffaf5 0%,#fdf2f0 52%,#f8e5e7 100%);padding:64px 24px 34px;position:relative;overflow:hidden}.gallery-screen:before,.gallery-screen:after{content:"";z-index:-1;pointer-events:none;border:1px solid #a91f3d14;border-radius:50%;width:250px;height:250px;position:absolute}.gallery-screen:before{top:-120px;left:-100px;box-shadow:0 0 0 25px #a91f3d06,0 0 0 50px #a91f3d05}.gallery-screen:after{bottom:50px;right:-140px;box-shadow:0 0 0 25px #a91f3d06,0 0 0 50px #a91f3d05}.gallery-screen .main-wrap{z-index:1;width:100%;max-width:1100px;margin:0 auto;position:relative}.gallery-screen .section-head{text-align:center;flex-direction:column;align-items:center;max-width:780px;margin:0 auto 38px;display:flex}.gallery-eyebrow{color:var(--lover-red);font-family:var(--font-body);letter-spacing:.13em;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;margin-bottom:19px;font-size:10px;font-weight:500;line-height:1.8;display:inline-flex}.gallery-eyebrow-heart{font-size:17px}.gallery-screen .section-head h1,.gallery-screen .section-head h2{color:var(--lover-text);font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(38px,5vw,62px);font-weight:400;line-height:1.08}.gallery-screen .section-head h1 em,.gallery-screen .section-head h2 em{color:var(--lover-red);font-family:var(--font-display);font-style:italic;font-weight:400}.gallery-heading-heart{vertical-align:.08em;font-size:.68em;display:inline-block}.gallery-screen .section-head p:not(.eyebrow){max-width:490px;color:var(--lover-muted);font-family:var(--font-body);margin:18px auto 0;font-size:14px;font-weight:400;line-height:1.8}.gallery-divider{width:150px;color:var(--lover-red);justify-content:center;align-items:center;gap:13px;margin:23px auto 0;font-size:12px;display:flex}.gallery-divider:before,.gallery-divider:after{content:"";background:#a91f3d45;flex:1;height:1px}.gallery-screen .gift-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.gallery-screen .gift-card{width:100%;min-width:0;min-height:160px;color:var(--lover-text);text-align:left;cursor:pointer;background:#fffaf6e6;border:1px solid #a91f3d33;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:15px;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 8px #48232e06,0 12px 28px #48232e0b}.gallery-screen .gift-card:before{content:"";pointer-events:none;background:linear-gradient(125deg,#ffffff8c,#0000 55%);position:absolute;inset:0}.gallery-screen .gift-card:hover{background:#fffdf9;border-color:#a91f3d7a;transform:translateY(-4px);box-shadow:0 9px 18px #48232e0f,0 20px 38px #a91f3d17}.gallery-screen .gift-card:focus-visible{outline:3px solid var(--lover-red-light);outline-offset:4px}.gallery-screen .gift-card-copy{z-index:1;flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex;position:relative}.gallery-screen .gift-card-topline{align-items:center;gap:8px;margin-bottom:9px;display:flex}.gallery-screen .gift-number{color:var(--lover-red);font-family:var(--font-display);font-size:27px;font-weight:400;line-height:1}.gallery-screen .gift-icon{width:27px;height:27px;color:var(--lover-red);background:#fcebef;border:1px solid #a91f3d2b;border-radius:50%;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.gallery-screen .gift-card-title{max-width:260px;color:var(--lover-text);font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(15px,1.45vw,19px);font-weight:600;line-height:1.3;display:block}.gallery-screen .gift-card-subtitle{color:var(--lover-muted);font-family:var(--font-body);margin-top:6px;font-size:11px;font-weight:400;line-height:1.5;display:block}.gallery-screen .gift-card-action{color:var(--lover-red);font-family:var(--font-body);letter-spacing:.015em;align-items:center;gap:6px;margin-top:10px;font-size:10px;font-weight:600;transition:gap .18s;display:inline-flex}.gallery-screen .gift-card:hover .gift-card-action{gap:10px}.gallery-screen .gift-card-image-wrap{background:linear-gradient(145deg,#f8dce2,#fff8f5);border:1px solid #a91f3d1f;border-radius:13px;flex:0 0 86px;width:86px;height:112px;display:block;position:relative;overflow:hidden}.gallery-screen .gift-card-image{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.gallery-screen .gift-card:hover .gift-card-image{transform:scale(1.06)}.gallery-screen .gift-card-image-fallback{width:100%;height:100%;color:var(--lover-red);justify-content:center;align-items:center;font-size:38px;display:flex}.gallery-screen .gift-card-image-heart{width:22px;height:22px;color:var(--lover-red);background:#fff8f5e6;border:1px solid #fff9;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;bottom:7px;right:7px}.gallery-screen .gallery-footer{text-align:center;justify-content:center;align-items:center;gap:14px;margin-top:34px;display:flex}.gallery-screen .gallery-footer p,.gallery-screen .footer-note{color:var(--lover-muted);font-family:var(--font-display);margin:0;font-size:13px;font-style:italic}.gallery-screen .gallery-footer-line{background:#a91f3d40;width:35px;height:1px;display:block}.gallery-screen .footer-note{text-align:center;margin-top:30px}.gallery-screen .footer-note:after{color:var(--lover-red);content:"♥";margin-left:6px}@media (max-width:850px){.gallery-screen{padding:48px 20px 30px}.gallery-screen .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery-screen .section-head{margin-bottom:30px}.gallery-screen .gift-card{min-height:150px;padding:13px}.gallery-screen .gift-card-image-wrap{flex-basis:82px;width:82px;height:105px}.gallery-screen .gift-card-title{font-size:16px}}@media (max-width:560px){.gallery-screen{padding:38px 14px 25px}.gallery-screen:before{border-radius:20px;inset:8px}.gallery-screen .section-head{margin-bottom:25px}.gallery-eyebrow{letter-spacing:.1em;margin-bottom:14px;font-size:9px}.gallery-screen .section-head h1,.gallery-screen .section-head h2{font-size:clamp(32px,8.5vw,43px)}.gallery-screen .section-head p:not(.eyebrow){max-width:330px;margin-top:13px;font-size:13px}.gallery-divider{margin-top:18px}.gallery-screen .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-screen .gift-card{border-radius:16px;flex-direction:column-reverse;justify-content:flex-end;align-items:stretch;gap:9px;min-height:0;padding:10px}.gallery-screen .gift-card-image-wrap{border-radius:11px;flex:none;width:100%;height:100px}.gallery-screen .gift-card-topline{gap:6px;margin-bottom:7px}.gallery-screen .gift-number{font-size:24px}.gallery-screen .gift-icon{width:24px;height:24px;font-size:13px}.gallery-screen .gift-card-title{font-size:15px;line-height:1.3}.gallery-screen .gift-card-subtitle{margin-top:5px;font-size:10px;line-height:1.45}.gallery-screen .gift-card-action{margin-top:8px;font-size:9px}.gallery-screen .gallery-footer{gap:8px;margin-top:26px}.gallery-screen .gallery-footer p,.gallery-screen .footer-note{font-size:12px}.gallery-screen .gallery-footer-line{width:18px}}@media (max-width:350px){.gallery-screen{padding-left:10px;padding-right:10px}.gallery-screen .gift-grid{gap:8px}.gallery-screen .gift-card{padding:8px}.gallery-screen .gift-card-image-wrap{height:84px}.gallery-screen .gift-card-title{font-size:14px}}@media (prefers-reduced-motion:reduce){.gallery-screen .gift-card,.gallery-screen .gift-card-image,.gallery-screen .gift-card-action{transition:none}.gallery-screen .gift-card:hover{transform:none}}.gallery-screen .gift-card-topline .gift-icon,.gallery-screen .gift-card-image-heart{display:none!important}@keyframes loverGalleryFadeUp{0%{opacity:0;transform:translateY(24px)scale(.985)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes loverGalleryHeaderIn{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translate(0,0)}}@keyframes loverGalleryGlow{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:.85;transform:scale(1.04)}}@keyframes loverGalleryDividerIn{0%{opacity:0;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}.gallery-screen .section-head{animation:.7s cubic-bezier(.2,.75,.25,1) both loverGalleryHeaderIn}.gallery-screen .gallery-eyebrow{animation:.6s cubic-bezier(.2,.75,.25,1) .1s both loverGalleryFadeUp}.gallery-screen .section-head h1,.gallery-screen .section-head h2{animation:.7s cubic-bezier(.2,.75,.25,1) .16s both loverGalleryFadeUp}.gallery-screen .section-head p:not(.eyebrow){animation:.65s cubic-bezier(.2,.75,.25,1) .25s both loverGalleryFadeUp}.gallery-screen .gallery-divider{transform-origin:50%;animation:.7s ease-out .3s both loverGalleryDividerIn}.gallery-screen .gift-grid{perspective:1000px}.gallery-screen .gift-card{opacity:0;will-change:transform, opacity;transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s,border-color .25s,background-color .25s;animation:.65s cubic-bezier(.18,.72,.25,1) forwards loverGalleryFadeUp;position:relative;overflow:hidden}.gallery-screen .gift-card:first-child{animation-delay:.1s}.gallery-screen .gift-card:nth-child(2){animation-delay:.17s}.gallery-screen .gift-card:nth-child(3){animation-delay:.24s}.gallery-screen .gift-card:nth-child(4){animation-delay:.31s}.gallery-screen .gift-card:nth-child(5){animation-delay:.38s}.gallery-screen .gift-card:nth-child(6){animation-delay:.45s}.gallery-screen .gift-card:nth-child(7){animation-delay:.52s}.gallery-screen .gift-card:nth-child(8){animation-delay:.59s}.gallery-screen .gift-card:nth-child(9){animation-delay:.66s}.gallery-screen .gift-card:nth-child(10){animation-delay:.73s}.gallery-screen .gift-card:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at 100% 0,#f8dce2a6,#0000 48%);transition:opacity .35s;position:absolute;inset:-1px}.gallery-screen .gift-card:hover{border-color:#a91f3d6b;transform:translateY(-7px)scale(1.015);box-shadow:0 12px 24px #48232e14,0 24px 45px #a91f3d21}.gallery-screen .gift-card:hover:after{opacity:1}.gallery-screen .gift-card:active{transition-duration:.1s;transform:translateY(-2px)scale(.99)}.gallery-screen .gift-card-copy,.gallery-screen .gift-card-image-wrap{z-index:1;position:relative}.gallery-screen .gift-number{transition:color .25s,transform .3s cubic-bezier(.2,.8,.2,1)}.gallery-screen .gift-card:hover .gift-number{color:var(--lover-red-light);transform:translate(3px)}.gallery-screen .gift-card-image-wrap{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;overflow:hidden}.gallery-screen .gift-card:hover .gift-card-image-wrap{transform:rotate(1.5deg)scale(1.035);box-shadow:0 8px 20px #48232e24}.gallery-screen .gift-card-image{transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .35s}.gallery-screen .gift-card:hover .gift-card-image{filter:saturate(1.08);transform:scale(1.1)}.gallery-screen .gift-card-title{transition:color .25s,transform .3s}.gallery-screen .gift-card:hover .gift-card-title{color:var(--lover-red-dark);transform:translate(2px)}.gallery-screen .gift-card-action{transition:gap .22s,letter-spacing .22s}.gallery-screen .gift-card:hover .gift-card-action{letter-spacing:.035em;gap:11px}.gallery-screen .gallery-footer{animation:.7s .8s both loverGalleryFadeUp}.gallery-screen .gallery-footer-line{transform-origin:50%;animation:.9s ease-out .95s both loverGalleryDividerIn}@media (hover:none){.gallery-screen .gift-card:hover{transform:none;box-shadow:0 9px 18px #48232e0f,0 20px 38px #a91f3d17}.gallery-screen .gift-card:hover .gift-card-image-wrap{transform:none}}@media (prefers-reduced-motion:reduce){.gallery-screen .section-head,.gallery-screen .gallery-eyebrow,.gallery-screen .section-head h1,.gallery-screen .section-head h2,.gallery-screen .section-head p:not(.eyebrow),.gallery-screen .gallery-divider,.gallery-screen .gift-card,.gallery-screen .gallery-footer,.gallery-screen .gallery-footer-line{opacity:1!important;animation:none!important;transform:none!important}.gallery-screen .gift-card,.gallery-screen .gift-card:after,.gallery-screen .gift-card-image,.gallery-screen .gift-card-image-wrap,.gallery-screen .gift-card-title,.gallery-screen .gift-number,.gallery-screen .gift-card-action{transition:none!important}}.letter-studio{--studio-red:#a91f3d;--studio-dark-red:#80162e;--studio-text:#48232e;--studio-muted:#79565f;--studio-border:#ead4d8;min-height:100vh;color:var(--studio-text);font-family:var(--font-body,"Outfit", sans-serif);background:radial-gradient(at 4% 0,#fff 0%,#0000 42%),linear-gradient(135deg,#fffaf5,#f9e9eb);padding:30px 24px 28px;animation:.42s both studio-enter}.letter-studio *{box-sizing:border-box}.studio-header{text-align:center;width:100%;max-width:1180px;margin:0 auto 26px}.studio-back{color:var(--studio-red);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 18px;padding:8px 0;font-size:13px;display:block}.studio-back:hover{color:var(--studio-dark-red)}.studio-eyebrow{color:var(--studio-red);letter-spacing:.16em;margin:0 0 8px;font-size:10px;font-weight:600}.studio-title{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.045em;margin:0;font-size:clamp(36px,4.6vw,54px);font-weight:400}.studio-title em{color:var(--studio-red)}.studio-intro{color:var(--studio-muted);margin:10px 0 0;font-size:13px;line-height:1.7}.studio-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:22px;width:100%;max-width:1180px;margin:0 auto;display:grid}.studio-panel{background:#fffdfae6;border:1px solid #a91f3d21;border-radius:22px;min-width:0;padding:25px;animation:.56s both studio-rise;box-shadow:0 12px 38px #48232e0e}.studio-panel-preview{animation-delay:90ms}.studio-panel-heading{align-items:center;gap:12px;margin-bottom:23px;display:flex}.studio-step{width:38px;height:38px;color:var(--studio-red);background:#f8dce2;border-radius:50%;flex:0 0 38px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.studio-panel-heading h2{font-family:var(--font-display,"Outfit", sans-serif);margin:0;font-size:19px;font-weight:600}.studio-panel-heading p{color:var(--studio-muted);margin:4px 0 0;font-size:12px;line-height:1.5}.studio-label{margin:19px 0 8px;font-size:12px;font-weight:600;display:block}.studio-input{border:1px solid var(--studio-border);width:100%;min-height:46px;color:var(--studio-text);font:inherit;background:#fffaf8;border-radius:11px;outline:none;padding:12px 14px;font-size:13px;transition:border-color .18s,box-shadow .18s;display:block}.studio-input::placeholder{color:#b09aa0}.studio-input:focus{border-color:var(--studio-red);box-shadow:0 0 0 3px #a91f3d17}.studio-textarea{resize:vertical;min-height:180px;line-height:1.8}.studio-count{color:var(--studio-muted);text-align:right;margin-top:7px;font-size:10px}.studio-tip{color:var(--studio-muted);background:#fceff1;border-radius:12px;gap:10px;margin-top:20px;padding:13px;display:flex}.studio-tip span{color:var(--studio-red)}.studio-tip p{margin:0;font-size:11px;line-height:1.7}.studio-theme-cta{width:100%;color:var(--studio-text);text-align:left;cursor:pointer;background:linear-gradient(120deg,#fff7f4,#fce9ee);border:1px solid #ead4d8;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:23px;padding:15px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.studio-theme-cta:hover{border-color:#d89aa7;transform:translateY(-2px);box-shadow:0 8px 20px #48232e12}.studio-theme-cta-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.studio-theme-cta-copy strong{font-size:13px}.studio-theme-cta-copy small{color:var(--studio-muted);font-size:11px;line-height:1.5}.studio-theme-count{background:var(--studio-red);color:#fff;white-space:nowrap;border-radius:10px;flex:none;padding:10px 13px;font-size:12px;font-weight:600}.studio-current-theme{justify-content:space-between;align-items:center;gap:10px;margin:0 0 17px;display:flex}.studio-current-theme strong{font-size:12px;display:block}.studio-current-theme span{color:var(--studio-muted);margin-top:4px;font-size:11px;display:block}.studio-change-theme{color:var(--studio-red);font:inherit;cursor:pointer;background:#fff;border:1px solid #e8c9d0;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:600}.studio-change-theme:hover{background:#fceff1}.studio-preview-frame{background:#f8e8e8;border:1px solid #ead4d8;border-radius:17px;padding:13px;transition:background .22s}.studio-letter-paper{overflow-wrap:anywhere;color:#48232e;background:#fffaf4;border:1px solid #a91f3d33;min-height:410px;padding:clamp(24px,3vw,38px);transition:background .22s,color .22s,border-radius .22s;position:relative;box-shadow:0 5px 17px #48232e0f}.studio-paper-kicker{color:var(--studio-red);letter-spacing:.15em;text-align:center;font-size:8px;font-weight:600;display:block}.studio-paper-heart{color:var(--studio-red);text-align:center;margin:22px 0;font-size:26px;animation:2.4s ease-in-out infinite studio-heartbeat;display:block}.studio-paper-greeting{font-family:var(--font-display,"Outfit", sans-serif);margin:0 0 14px;font-size:16px;font-weight:600}.studio-paper-message{min-height:95px;color:inherit;white-space:pre-wrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.95}.studio-paper-signoff{flex-direction:column;gap:7px;margin-top:28px;font-family:Georgia,Times New Roman,serif;font-size:12px;display:flex}.studio-paper-signoff strong{color:var(--studio-red);font-size:17px;font-style:italic;font-weight:500}.studio-paper-bottom{color:var(--studio-red);text-align:center;margin-top:25px;font-size:13px;display:block}.studio-preview-note{color:var(--studio-muted);text-align:center;margin:12px 0 0;font-size:11px;line-height:1.6}.studio-copy-button{border:1px solid var(--studio-red);background:var(--studio-red);color:#fff;width:100%;min-height:46px;font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:9px;margin-top:18px;padding:12px 18px;font-size:12px;font-weight:600;transition:transform .18s,background .18s,box-shadow .18s;display:flex}.studio-copy-button:hover{background:var(--studio-dark-red);transform:translateY(-2px);box-shadow:0 8px 20px #a91f3d33}.studio-footer{color:var(--studio-muted);text-align:center;margin-top:30px;font-size:12px}.studio-theme-classic .studio-preview-frame,.studio-theme-classic .studio-theme-card-art{background:#f4e3e1}.studio-theme-soft .studio-preview-frame,.studio-theme-soft .studio-theme-card-art{background:#f6dfe8}.studio-theme-passionate .studio-preview-frame,.studio-theme-passionate .studio-theme-card-art{background:#ead0d6}.studio-theme-vintage .studio-preview-frame,.studio-theme-vintage .studio-theme-card-art{background:#e9dfc9}.studio-theme-midnight .studio-preview-frame,.studio-theme-midnight .studio-theme-card-art{background:#d9d6e8}.studio-theme-floral .studio-preview-frame,.studio-theme-floral .studio-theme-card-art{background:#e1ebdc}.studio-theme-minimal .studio-preview-frame,.studio-theme-minimal .studio-theme-card-art{background:#ece8e2}.studio-theme-cupid .studio-preview-frame,.studio-theme-cupid .studio-theme-card-art{background:#f8d8df}.studio-theme-sunset .studio-preview-frame,.studio-theme-sunset .studio-theme-card-art{background:#f6d9c8}.studio-theme-lavender .studio-preview-frame,.studio-theme-lavender .studio-theme-card-art{background:#e6ddf2}.studio-theme-gold .studio-preview-frame,.studio-theme-gold .studio-theme-card-art{background:#efe2bd}.studio-theme-ocean .studio-preview-frame,.studio-theme-ocean .studio-theme-card-art{background:#d8e8e9}.studio-theme-candy .studio-preview-frame,.studio-theme-candy .studio-theme-card-art{background:#f6d9f0}.studio-theme-forest .studio-preview-frame,.studio-theme-forest .studio-theme-card-art{background:#dce7d8}.studio-theme-cinema .studio-preview-frame,.studio-theme-cinema .studio-theme-card-art{background:#d8c6c7}.studio-theme-sparkle .studio-preview-frame,.studio-theme-sparkle .studio-theme-card-art{background:#e8e1f6}.studio-theme-soft .studio-letter-paper{background:#fff7fa;border-radius:18px}.studio-theme-passionate .studio-letter-paper{background:#fff3f3;border:2px solid #a91f3d}.studio-theme-vintage .studio-letter-paper{color:#59432f;background:#fbf2df;border:2px double #b5a17c}.studio-theme-midnight .studio-letter-paper{color:#fff1f5;background:#29243d;border-color:#aaa0c9}.studio-theme-midnight .studio-paper-message{color:#f1e7ee}.studio-theme-floral .studio-letter-paper{color:#354c36;background:#f7fbf3;border-color:#9bb394}.studio-theme-minimal .studio-letter-paper{color:#37302f;background:#fff;border-color:#d5cec6}.studio-theme-cupid .studio-letter-paper{background:#fff2f4;border-radius:26px 26px 8px 8px}.studio-theme-sunset .studio-letter-paper{color:#713b34;background:#fff4e9}.studio-theme-lavender .studio-letter-paper{color:#4e3b67;background:#faf6ff}.studio-theme-gold .studio-letter-paper{color:#5e4924;background:#fff9e8;border:2px solid #c5a45d}.studio-theme-ocean .studio-letter-paper{color:#244f57;background:#f2fbfb;border-color:#8fb6ba}.studio-theme-candy .studio-letter-paper{color:#713d68;background:#fff4fd;border-radius:18px}.studio-theme-forest .studio-letter-paper{color:#345039;background:#f6fbf2;border-color:#91ac8c}.studio-theme-cinema .studio-letter-paper{color:#fff0e5;background:#30242a;border:2px solid #9d747a}.studio-theme-cinema .studio-paper-message{color:#f7e8df}.studio-theme-sparkle .studio-letter-paper{color:#49385f;background:#fbf8ff;border-color:#b6a3d8}.studio-theme-overlay{z-index:10000;color:var(--studio-text,#48232e);background:#fffaf7;flex-direction:column;padding:25px clamp(16px,4vw,56px) 28px;animation:.22s both studio-overlay-in;display:flex;position:fixed;inset:0;overflow:hidden}.studio-theme-overlay-head{border-bottom:1px solid #ecdde0;flex:none;justify-content:space-between;align-items:center;gap:18px;padding-bottom:20px;display:flex}.studio-theme-overlay-head h2{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.035em;margin:0;font-size:clamp(25px,4vw,38px);font-weight:500}.studio-theme-overlay-head p{color:#79565f;margin:7px 0 0;font-size:12px}.studio-theme-close{color:#a91f3d;cursor:pointer;background:#fff;border:1px solid #ead4d8;border-radius:50%;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;font-size:23px;transition:transform .18s,background .18s;display:flex}.studio-theme-close:hover{background:#fceff1;transform:rotate(90deg)}.studio-theme-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:16px;padding:22px 3px 12px;display:grid;overflow-y:auto}.studio-theme-card{color:#48232e;text-align:left;cursor:pointer;background:#fff;border:1px solid #ead4d8;border-radius:15px;min-width:0;padding:10px;transition:transform .18s,border-color .18s,box-shadow .18s;animation:.42s both studio-rise}.studio-theme-card:hover{border-color:#c9788a;transform:translateY(-4px);box-shadow:0 12px 25px #48232e17}.studio-theme-card.is-selected{border:2px solid #a91f3d;padding:9px;box-shadow:0 0 0 3px #a91f3d14}.studio-theme-card-art{border-radius:9px;justify-content:center;align-items:center;min-height:145px;padding:13px;display:flex}.studio-theme-card-paper{background:#fffaf4;border:1px solid #a91f3d33;flex-direction:column;align-items:center;width:78%;min-height:126px;padding:13px 10px;display:flex;box-shadow:0 3px 8px #48232e0f}.studio-theme-card-paper .mini-heart{color:#a91f3d;margin:6px 0 12px;font-size:16px}.studio-theme-card-paper .mini-lines{flex-direction:column;gap:6px;width:100%;display:flex}.studio-theme-card-paper .mini-lines i{background:#dfc3c7;border-radius:3px;width:100%;height:3px;display:block}.studio-theme-card-paper .mini-lines i:nth-child(2){width:82%}.studio-theme-card-paper .mini-lines i:nth-child(3){width:65%}.studio-theme-card-paper .mini-sign{color:#a91f3d;margin-top:auto;padding-top:10px;font-family:Georgia,serif;font-size:9px;font-style:italic}.studio-theme-card-name{margin-top:11px;font-size:12px;font-weight:600;display:block}.studio-theme-card-desc{color:#79565f;margin-top:4px;font-size:10px;line-height:1.5;display:block}.studio-theme-overlay-footer{color:#79565f;text-align:center;border-top:1px solid #ecdde0;flex:none;padding-top:14px;font-size:11px}@keyframes studio-enter{0%{opacity:0}to{opacity:1}}@keyframes studio-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes studio-overlay-in{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes studio-heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.12)}24%{transform:scale(1)}36%{transform:scale(1.08)}48%{transform:scale(1)}}@media (max-width:900px){.studio-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-theme-card-art{min-height:125px}}@media (max-width:760px){.letter-studio{padding:22px 14px}.studio-layout{grid-template-columns:minmax(0,1fr);gap:15px}.studio-panel{border-radius:18px;padding:19px}.studio-title{font-size:40px}.studio-letter-paper{min-height:340px;padding:25px 20px}.studio-theme-overlay{padding:17px 13px 16px}.studio-theme-overlay-head{padding-bottom:14px}.studio-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px}.studio-theme-card{padding:8px}.studio-theme-card.is-selected{padding:7px}.studio-theme-card-art{min-height:112px;padding:8px}.studio-theme-card-paper{width:83%;min-height:98px;padding:9px 7px}.studio-theme-card-paper .mini-heart{margin:3px 0 8px}.studio-theme-card-paper .mini-lines{gap:4px}.studio-theme-card-paper .mini-lines i{height:2px}.studio-theme-card-name{font-size:11px}.studio-theme-card-desc{font-size:9px}}@media (prefers-reduced-motion:reduce){.letter-studio,.studio-panel,.studio-theme-overlay,.studio-theme-card,.studio-paper-heart{animation:none!important}.studio-theme-cta,.studio-theme-card,.studio-theme-close,.studio-input,.studio-copy-button{transition:none!important}}.studio-customize-row{align-items:stretch;gap:10px;margin-top:23px;display:flex}.studio-customize-row .studio-theme-cta{flex:1;min-width:0;margin-top:0}.studio-font-trigger{cursor:pointer;color:#a91f3d;background:linear-gradient(145deg,#fffaf7,#fce8ed);border:1px solid #e8bdc7;border-radius:14px;flex-direction:column;flex:0 0 68px;justify-content:center;align-items:center;gap:5px;min-width:68px;padding:10px 7px;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s;display:flex;box-shadow:0 3px 10px #48232e09}.studio-font-trigger:hover,.studio-font-trigger.is-active{background:#fbe5eb;border-color:#a91f3d;transform:translateY(-2px);box-shadow:0 7px 18px #a91f3d1f}.studio-font-trigger-letter{font-family:Dancing Script,cursive;font-size:33px;font-weight:700;line-height:1}.studio-font-trigger-label{font-size:10px;font-weight:600}.studio-font-current{color:#79565f;margin:9px 0 0;font-size:11px}.studio-font-current span{color:#a91f3d;font-size:14px}.studio-font-overlay{z-index:10001;-webkit-backdrop-filter:blur(8px);background:#3717227a;justify-content:center;align-items:center;padding:24px;animation:.2s both studio-font-backdrop-in;display:flex;position:fixed;inset:0;overflow-y:auto}.studio-font-modal{color:#48232e;background:radial-gradient(at 100% 0,#f8dce28c,#0000 42%),#fffaf7;border:1px solid #a91f3d26;border-radius:24px;width:100%;max-width:850px;max-height:min(850px,100dvh - 48px);padding:clamp(18px,3vw,30px);animation:.28s cubic-bezier(.2,.75,.25,1) both studio-font-modal-in;overflow-y:auto;box-shadow:0 25px 90px #2d0d193b}.studio-font-header{border-bottom:1px solid #ecdde0;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:21px;display:flex}.studio-font-header h2{color:#48232e;font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.04em;margin:0;font-size:clamp(24px,4vw,35px);font-weight:500}.studio-font-header h2 em{color:#a91f3d;font-family:Dancing Script,cursive;font-weight:600}.studio-font-header p:last-child{color:#79565f;margin:8px 0 0;font-size:12px;line-height:1.7}.studio-font-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 0;display:grid}.studio-font-card{color:#48232e;text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #ead4d8;border-radius:15px;flex-direction:column;gap:12px;min-width:0;padding:15px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;animation:.35s both studio-rise;display:flex;overflow:hidden}.studio-font-card:hover{background:#fff;border-color:#d18a9b;transform:translateY(-3px);box-shadow:0 9px 22px #48232e12}.studio-font-card.is-selected{background:#fff0f3;border:2px solid #a91f3d;padding:14px;box-shadow:0 0 0 3px #a91f3d0f}.studio-font-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.studio-font-card-name{color:#79565f;font-family:var(--font-body,"Outfit", sans-serif);font-size:11px;font-weight:600}.studio-font-check{color:#a91f3d;background:#fff8f6;border:1px solid #ecd0d7;border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:flex}.studio-font-card.is-selected .studio-font-check{color:#fff;background:#a91f3d;border-color:#a91f3d}.studio-font-sample{overflow-wrap:anywhere;color:#792c45;min-width:0;font-size:clamp(22px,3vw,30px);line-height:1.5;display:block}.studio-font-card-bottom{color:#9a7780;font-family:var(--font-body,"Outfit", sans-serif);font-size:10px}.studio-font-card.is-selected .studio-font-card-bottom{color:#a91f3d;font-weight:600}.studio-font-footer{color:#79565f;text-align:center;border-top:1px solid #ecdde0;justify-content:center;align-items:center;gap:8px;padding-top:15px;font-size:11px;display:flex}.studio-font-footer span{color:#a91f3d}@keyframes studio-font-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes studio-font-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:560px){.studio-customize-row{gap:8px}.studio-font-trigger{flex-basis:60px;min-width:60px;padding:9px 5px}.studio-font-overlay{align-items:flex-start;padding:12px}.studio-font-modal{border-radius:19px;max-height:calc(100dvh - 24px);padding:16px}.studio-font-header{gap:10px;padding-bottom:15px}.studio-font-header .studio-theme-close{flex-basis:36px;width:36px;height:36px}.studio-font-grid{gap:9px;padding:15px 0}.studio-font-card{border-radius:12px;gap:9px;padding:11px}.studio-font-card.is-selected{padding:10px}.studio-font-sample{font-size:clamp(19px,5vw,25px)}.studio-font-card-name{font-size:10px}}@media (max-width:350px){.studio-customize-row .studio-theme-count{padding:9px 7px;font-size:10px}.studio-font-trigger{flex-basis:53px;min-width:53px}.studio-font-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.studio-font-overlay,.studio-font-modal,.studio-font-card{animation:none!important}.studio-font-trigger,.studio-font-card{transition:none!important}}
