@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_7e158b59-module__W-9B5a__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_7e158b59-module__W-9B5a__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_5db8dfc6-module__nI_9nG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_5db8dfc6-module__nI_9nG__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/da4b870ab52b3094-s.2rv_b6cm3-gtx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.43yn3v1dnm71_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/11cc37d7380d16b4-s.27riv1g955cgo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(../media/a85fe84266768609-s.p.0h6ig86gwutp4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_41d27c7c-module__su4-Jq__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_41d27c7c-module__su4-Jq__variable{--font-hand:"Caveat", "Caveat Fallback"}
:root{--ink:#473842;--berry:#9d5369;--rose:#e99caf;--blush:#f9dce1;--cream:#fffaf0;--butter:#f6e7ab;--mint:#bcdac8;--sage:#6f9d83;--lilac:#d7c8e8;--paper:#fffdf6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);font-family:var(--font-sans), sans-serif;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px}.hand{font-family:var(--font-hand), cursive}.hero{background:radial-gradient(circle at 12% 30%,#fff8 0 2px,#0000 3px),radial-gradient(circle at 88% 18%,#fff8 0 3px,#0000 4px),linear-gradient(135deg,#f9dce1 0%,#f4e0e7 42%,#d9d1eb 100%);min-height:100svh;padding:28px clamp(24px,6vw,92px) 100px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.4;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.nav{z-index:5;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex;position:relative}.brand{font-family:var(--font-hand);font-size:28px;font-weight:700;transform:rotate(-2deg)}.brand span{color:var(--berry)}.nav-links{text-transform:uppercase;letter-spacing:.16em;gap:32px;font-size:13px;font-weight:700;display:flex}.nav-links a{position:relative}.nav-links a:after{content:"";background:var(--berry);height:2px;transition:right .25s;position:absolute;bottom:-7px;left:0;right:100%}.nav-links a:hover:after{right:0}.hero-copy{z-index:2;max-width:720px;margin:clamp(90px,14vh,160px) auto 0 8%;position:relative}.eyebrow,.kicker{color:var(--berry);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.hero h1{width:fit-content;font-family:var(--font-display), serif;letter-spacing:-.06em;margin:10px 0 14px;font-size:clamp(84px,13vw,172px);font-weight:650;line-height:.8;display:grid}.hero h1 span:first-child{z-index:2;position:relative}.hero h1 .turns{font-family:var(--font-hand);letter-spacing:0;color:var(--berry);justify-self:center;font-size:.32em;transform:rotate(-7deg)translate(78%,10%)}.hero h1 .thirty{color:var(--paper);text-shadow:4px 4px #b97c90;margin-top:-.12em;margin-left:46%}.intro{max-width:450px;font-family:var(--font-display);font-size:clamp(18px,2vw,24px);line-height:1.55}.button{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:12px;margin-top:18px;padding:15px 22px;font-size:13px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-3px)rotate(-1deg);box-shadow:0 8px #a86a7d33}.button.primary{background:var(--berry);color:#fff}.button span{font-size:18px}.hero-cactus{z-index:2;width:clamp(150px,17vw,250px);position:absolute;bottom:65px;right:8%;transform:rotate(4deg)}.cactus{filter:drop-shadow(0 9px 6px #71505e20);overflow:visible}.cactus *{vector-effect:non-scaling-stroke}.cactus .plant{fill:#98c5a7;stroke:#4f7c66;stroke-width:3px;stroke-linejoin:round}.cactus .cactus-ridges{fill:none;stroke:#76aa8d;stroke-width:1.4px;stroke-linecap:round;opacity:.55}.cactus .pot{fill:#e9a5a8;stroke:#8f5864;stroke-width:3px;stroke-linejoin:round}.cactus .pot-rim{fill:#f4c1bd;stroke:#8f5864;stroke-width:3px;stroke-linejoin:round}.cactus .hat{fill:#f5cf69;stroke:#8f5864;stroke-width:3px;stroke-linejoin:round}.cactus .hat-stripe{fill:#e790a2;stroke:none}.cactus .pom{fill:#fff7e7;stroke:#8f5864;stroke-width:3px}.cactus .eye{fill:#473842;stroke:none;transform-origin:50%;animation:4.6s infinite blink}.cactus .smile,.cactus .cheek,.cactus .spike{fill:none;stroke:#4f7c66;stroke-width:2.5px;stroke-linecap:round}.cactus .cheek{stroke:#df788c}.cactus .pot-detail{fill:none;stroke:#bd6f7d;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.65}.cactus-flower circle{fill:#ef9fb0;stroke:#8f5864;stroke-width:2px}.cactus-flower circle:last-child{fill:#f5d46d}.headphones path,.headphones rect{fill:none;stroke:#66505e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.headphones rect{fill:#d9c8e8}.headphones .music-note{stroke:#ef9fb0;stroke-width:2.5px}.cactus-heart path{fill:#ef91a7;stroke:#8f5864;stroke-width:2.5px;stroke-linejoin:round}.cactus-heart .heart-arm{fill:none;stroke:#4f7c66;stroke-width:3px;stroke-linecap:round}@keyframes blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.1)}}.cake{z-index:1;text-align:center;width:150px;height:150px;position:absolute;top:22%;right:30%;transform:rotate(-7deg)}.cake-body{font-family:var(--font-hand);background:#f9c5be;border:3px solid #9b6372;border-radius:8px 8px 20px 20px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding-top:34px;font-size:20px;line-height:.86;display:flex;position:absolute;inset:55px 0 15px}.icing{z-index:2;color:#df8297;background:#fff8e9;border:3px solid #9b6372;border-radius:50%;width:156px;height:31px;padding-top:5px;position:absolute;top:48px;left:-3px}.candle{background:repeating-linear-gradient(-45deg,#f3d46f 0 5px,#fff8e9 5px 10px);border:2px solid #9b6372;width:13px;height:38px;position:absolute;top:19px;left:69px}.flame{color:#f4a934;font-size:28px;animation:1.2s infinite alternate twinkle;position:absolute;top:-7px;left:65px}.cake-plate{background:#b9d8cb;border:3px solid #6e9d88;border-radius:50%;width:170px;height:16px;position:absolute;bottom:3px;left:-10px}@keyframes twinkle{to{transform:scale(.8)rotate(15deg)}}.hero-wave{background:var(--cream);clip-path:polygon(0 50%,7% 64%,15% 42%,24% 65%,35% 43%,47% 68%,59% 42%,71% 66%,83% 43%,92% 64%,100% 47%,100% 100%,0 100%);height:65px;position:absolute;bottom:-2px;left:-2%;right:-2%}.doodle{font-family:var(--font-hand);color:#fff9;font-size:38px;animation:4s ease-in-out infinite alternate float;position:absolute}.d1{top:25%;left:5%}.d2{animation-delay:-1s;top:12%;left:44%}.d3{animation-delay:-2s;top:46%;right:5%}.d4{bottom:15%;left:52%}.d5{font-size:26px;bottom:14%;left:4%}.d6{top:14%;right:35%}@keyframes float{to{transform:translateY(-12px)rotate(8deg)}}.section{padding:110px clamp(22px,6vw,90px);position:relative;overflow:hidden}.section-heading{text-align:center;max-width:680px;margin:0 auto 65px}.section-heading h2,footer h2{font-family:var(--font-display);letter-spacing:-.04em;margin:13px 0 17px;font-size:clamp(42px,6vw,76px);font-weight:600;line-height:1}.section-heading p{font-family:var(--font-display);font-size:18px;line-height:1.6}.card-section{background:var(--cream);min-height:900px}.card-section.card-open{min-height:1030px}.card-section:before,.memory-section:before{content:"✿";color:var(--lilac);opacity:.35;font-size:170px;position:absolute;top:180px;left:-40px;transform:rotate(-20deg)}.card-cactus{z-index:1;width:clamp(115px,13vw,175px);position:absolute;bottom:85px;left:4%;transform:rotate(-7deg)}.envelope-scene{perspective:1200px;width:min(720px,92vw);height:440px;margin:0 auto;position:relative}.envelope{cursor:pointer;filter:drop-shadow(0 24px 20px #8b627329);background:0 0;border:0;width:520px;height:330px;padding:0;transition:opacity .35s .6s,transform .5s .55s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.envelope:disabled{cursor:default}.envelope-back{background:#db92a6;border-radius:10px;position:absolute;inset:0}.envelope-paper{background:var(--paper);font-family:var(--font-hand);padding-top:75px;font-size:30px;line-height:1.05;transition:transform 1s .2s;position:absolute;inset:10% 12% 5%}.envelope-front{clip-path:polygon(0 14%,50% 62%,100% 14%,100% 100%,0 100%);background:#efb5c3;border-radius:0 0 10px 10px;position:absolute;inset:0}.envelope-front:after{content:"";clip-path:polygon(0 100%,50% 55%,100% 100%);background:#e8a7b7;position:absolute;inset:0}.envelope-flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;background:#f4c2cd;transition:transform .7s;position:absolute;inset:0}.seal{z-index:4;background:var(--berry);color:#fff;width:56px;height:56px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:27px;transition:opacity .2s .25s;display:grid;position:absolute;top:49%;left:calc(50% - 28px);box-shadow:inset 0 0 0 4px #fff2}.letter{z-index:5;background:var(--paper);text-align:left;width:min(590px,88vw);min-height:620px;padding:55px 64px;transition:transform 1s .45s;position:absolute;bottom:-125px;left:50%;transform:translate(-50%,140%)rotate(2deg);box-shadow:0 24px 60px #68435129}.letter:before{content:"";pointer-events:none;border:1px solid #e9d9cf;position:absolute;inset:14px}.letter p{z-index:1;font-family:var(--font-display);font-size:16px;line-height:1.65;position:relative}.letter .greeting{color:var(--berry);margin-top:0;font-size:34px}.letter .signoff{margin:25px 0 0}.letter .signature{color:var(--berry);margin:0;font-size:30px}.letter-flower{color:var(--rose);font-size:40px;position:absolute;top:38px;right:45px}.letter-heart{color:var(--rose);font-size:45px;position:absolute;bottom:30px;right:46px;transform:rotate(15deg)}.tape{z-index:4;background:#e8d797aa;width:80px;height:29px;position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(-2deg)}.is-open .envelope-flap{z-index:0;transform:rotateX(180deg)}.is-open .envelope{opacity:0;transform:translate(-50%)translateY(90px)}.is-open .seal{opacity:0}.is-open .envelope-paper{transform:translateY(-90px)}.is-open .letter{transform:translate(-50%,70px)rotate(-1deg)}.card-hint{text-align:center;font-family:var(--font-hand);color:var(--berry);margin-top:35px;font-size:25px}.confetti{z-index:6;position:absolute;top:30%;left:50%}.confetti i{opacity:0;background:hsl(calc(var(--i) * 29deg) 65% 73%);width:8px;height:18px;transform:rotate(calc(var(--i) * 31deg));position:absolute}.is-open .confetti i{animation:confetti 1.4s calc(var(--i) * 35ms) ease-out forwards}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(calc((var(--i) - 10) * 32px), calc(140px + (var(--i) % 4) * 35px)) rotate(480deg)}}.mixtape-section{color:#fffaf4;background:#745469}.mixtape-section:before{content:"";opacity:.06;background-image:linear-gradient(45deg,#fff 25%,#0000 25%),linear-gradient(-45deg,#fff 25%,#0000 25%);background-size:40px 40px;position:absolute;inset:0}.music-cactus{z-index:1;width:clamp(105px,11vw,155px);position:absolute;top:95px;right:2%;transform:rotate(7deg)}.mixtape-section .music-cactus .pot{fill:#d8c6e7}.mixtape-section .music-cactus .pot-rim{fill:#eadff2}.section-heading.light .kicker{color:#f5c4ce}.section-heading.light p{color:#eadde4}.player-layout{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(45px,8vw,110px);max-width:1050px;margin:0 auto;display:grid;position:relative}.cassette{aspect-ratio:1.58;background:var(--tape);width:100%;color:var(--ink);border:4px solid #473842;border-radius:20px;padding:10%;transition:transform .3s;position:relative;transform:rotate(-4deg);box-shadow:inset 0 0 0 7px #fff3,18px 22px #3d2c3766}.cassette:hover{transform:rotate(-2deg)translateY(-4px)}.cassette-label{background:#fff9e8;border:2px solid #6a5260;border-radius:9px;height:68%;padding:5%}.cassette-title{text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;gap:15px;font-size:10px;display:flex}.cassette-title b{font-family:var(--font-hand);text-transform:none;letter-spacing:0;text-align:center;font-size:clamp(17px,2vw,25px)}.tape-window{background:#6b5662;border-radius:999px;justify-content:center;align-items:center;gap:8%;height:48%;margin-top:7%;display:flex;box-shadow:inset 0 3px 6px #0004}.reel{aspect-ratio:1;background:#fff9e8;border-radius:50%;width:26%;padding:5%}.reel i{background:repeating-conic-gradient(#715866 0 12deg, transparent 12deg 45deg);border-radius:50%;width:100%;height:100%;display:block}.is-playing .reel i{animation:1.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tape-line{background:#382a32;border-radius:10px;width:20%;height:16%}.cassette-label p{text-align:center;font-family:var(--font-hand);margin:3% 0;font-size:clamp(12px,1.5vw,18px)}.cassette-holes{clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);background:#d7c7ba99;justify-content:space-evenly;align-items:center;height:15%;display:flex;position:absolute;bottom:8%;left:25%;right:25%}.cassette-holes i{aspect-ratio:1;background:#57434f;border-radius:50%;width:10%}.cassette-screw{font-size:13px;position:absolute;bottom:6%}.s1{left:7%}.s2{right:7%}.player-panel .now-playing{text-transform:uppercase;letter-spacing:.18em;color:#eeb6c3;font-size:11px;font-weight:800}.player-panel h3{font-family:var(--font-display);margin:12px 0 2px;font-size:clamp(32px,4vw,48px);line-height:1}.artist{color:#d9cbd4;font-size:14px}.controls{justify-content:center;align-items:center;gap:20px;margin:18px 0;display:flex}.controls button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.controls button:hover{background:#ffffff16}.controls .play{width:66px;height:66px;color:var(--ink);background:#f5bdc9;box-shadow:0 7px #573e4d}.controls .play:hover{background:#ffd4dc}.dedication{font-family:var(--font-display);text-align:center;color:#eadde4;font-style:italic;line-height:1.6}.youtube-player-shell{aspect-ratio:16/9;background:#392a33;border:3px solid #ffffff24;border-radius:16px;width:100%;min-height:200px;margin:20px 0 16px;overflow:hidden;box-shadow:0 12px #49354166}.youtube-player-shell iframe{border:0;width:100%;height:100%;min-height:200px;display:block}.youtube-player-placeholder{text-align:center;color:#eadde4;background:radial-gradient(circle at 50% 35%,#ffffff12,#0000 42%),#392a33;place-content:center;justify-items:center;gap:13px;height:100%;min-height:200px;padding:24px;display:grid}.youtube-player-placeholder span{color:#fff;background:#f35d68;border-radius:10px;place-items:center;width:54px;height:38px;padding-left:2px;display:grid;box-shadow:0 7px 16px #241a204d}.youtube-player-placeholder p{max-width:230px;font-family:var(--font-display);margin:0;font-size:15px;line-height:1.4}.platform-links{grid-template-columns:1fr;margin:22px 0 18px;display:grid}.platform-links a{color:#fffaf4;letter-spacing:.04em;background:#ffffff0d;border:1px solid #ffffff2b;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:10px;font-weight:800;transition:transform .2s,background .2s,border-color .2s;display:flex}.platform-links a:hover{background:#ffffff1a;border-color:#fff5;transform:translateY(-2px)}.platform-links a>span{flex:none;place-items:center;width:21px;height:16px;font-size:8px;display:grid}.platform-links .youtube-link>span{color:#fff;background:#f35d68;border-radius:5px;padding-left:1px}.platform-links b{opacity:.65;font-size:12px}.tracklist{border-top:1px solid #ffffff20;max-width:850px;margin:80px auto 0;position:relative}.tracklist button{color:#f7eef2;text-align:left;cursor:pointer;opacity:.55;background:0 0;border:0;border-bottom:1px solid #ffffff20;grid-template-columns:40px 1fr 10px;align-items:center;width:100%;padding:15px 10px;transition:opacity .2s,padding .2s;display:grid}.tracklist button:hover,.tracklist button.active{opacity:1;padding-left:18px}.tracklist button>span:first-child{font-family:var(--font-hand);font-size:20px}.tracklist b,.tracklist small{display:block}.tracklist b{font-family:var(--font-display)}.tracklist small{color:#cdbdc7;margin-top:3px}.tracklist i{border-radius:50%;width:9px;height:9px}.memory-section{background:#f9f3e7;min-height:900px}.memory-section:before{color:var(--mint);top:100px;left:auto;right:-30px}.memory-cactus{z-index:1;width:clamp(95px,10vw,145px);position:absolute}.memory-cactus-left{top:360px;left:2%;transform:rotate(-8deg)}.memory-cactus-right{bottom:55px;right:2%;transform:rotate(8deg)scale(.9)}.memory-cactus-left .pot{fill:#d7c7e8}.memory-cactus-left .pot-rim{fill:#eadff3}.memory-cactus-right .pot{fill:#f2cc91}.memory-cactus-right .pot-rim{fill:#f9dfad}.book-wrap{max-width:1050px;margin:0 auto}.book{filter:drop-shadow(0 30px 24px #5a3b4921);grid-template-columns:1fr 1fr;height:600px;transition:transform .24s,opacity .24s;display:grid;position:relative}.book.turn-next{opacity:.5;transform:translate(-30px)rotateY(-6deg)}.book.turn-prev{opacity:.5;transform:translate(30px)rotateY(6deg)}.book-page{background:var(--paper);border:1px solid #e7d8cb;padding:52px 55px;position:relative;overflow:hidden}.page-0{background-image:linear-gradient(270deg,#8b64740d,#0000 10%);border-radius:18px 0 0 18px}.page-1{background-image:linear-gradient(90deg,#8b64740d,#0000 10%);border-radius:0 18px 18px 0}.book-ring{z-index:8;flex-direction:column;justify-content:space-around;width:20px;display:flex;position:absolute;top:35px;bottom:35px;left:calc(50% - 10px)}.book-ring i{background:linear-gradient(#c2a9af,#fff,#a88d95);border-radius:10px;width:40px;height:7px;margin-left:-10px;box-shadow:0 2px 3px #46333c55}.page-number{color:#b8a5a7;font-family:var(--hand);font-size:12px;position:absolute;top:24px}.page-0 .page-number{left:28px}.page-1 .page-number{right:28px}.photo-card{background:#fff;padding:14px 14px 42px;position:relative;box-shadow:4px 7px 14px #53333e21}.rotate-0{transform:rotate(-2deg)}.rotate-1{transform:rotate(2deg)}.rotate-2{transform:rotate(-1deg)}.photo-frame{background:var(--photo);width:100%;height:340px;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%}.photo-placeholder{text-align:center;color:#fff;background:radial-gradient(circle at 40% 25%, #fff5, transparent 35%), linear-gradient(145deg, var(--photo), #9e849bbb);place-content:center;width:100%;height:100%;display:grid}.photo-placeholder span{text-shadow:0 3px #58434e33;font-size:80px;line-height:1}.photo-placeholder small{text-transform:uppercase;letter-spacing:.18em;margin-top:20px;font-size:9px;font-weight:800;line-height:1.5}.photo-card>p{text-align:center;color:var(--ink);margin:0;font-size:25px;position:absolute;bottom:7px;left:0;right:0}.memory-caption{font-family:var(--font-display);text-align:center;max-width:350px;margin:30px auto 0;font-size:17px;line-height:1.55}.page-doodle{color:var(--rose);font-size:28px;position:absolute;bottom:12px;right:20px;transform:rotate(12deg)}.book-controls{justify-content:space-between;align-items:center;margin-top:35px;display:flex}.book-controls>button{color:var(--berry);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.book-controls>button:disabled{opacity:.25;cursor:not-allowed}.book-controls div{gap:9px;display:flex}.book-controls div button{cursor:pointer;background:#cfbec0;border:0;border-radius:50%;width:8px;height:8px;padding:0}.book-controls div button.active{background:var(--berry);border-radius:10px;width:25px}footer{text-align:center;background:linear-gradient(135deg,#d8c8e7,#f5d3da);justify-content:center;align-items:center;min-height:580px;padding:100px clamp(24px,8vw,130px);display:flex;position:relative;overflow:hidden}footer:before{content:"";opacity:.3;background-image:radial-gradient(#fff9 2px,#0000 2px);background-size:35px 35px;position:absolute;inset:0}footer>div{z-index:2;position:relative}footer h2{font-size:clamp(50px,7vw,88px)}footer .hand{color:var(--berry);font-size:32px}footer a{text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid;margin-top:25px;font-size:10px;font-weight:800;display:inline-block}.footer-cactus{z-index:1;width:170px;position:absolute;bottom:10px;left:7%;transform:rotate(-6deg)}.footer-flowers{color:#fff8;font-size:38px;position:absolute;bottom:30px;right:4%;transform:rotate(-7deg)}@media (max-width:850px){.nav-links{display:none}.hero{min-height:900px}.hero-copy{margin-left:0}.hero h1{font-size:clamp(78px,24vw,125px)}.hero h1 .thirty{margin-left:25%}.hero-cactus{width:145px;right:2%}.card-cactus{opacity:.88;width:105px;bottom:28px;left:4px}.music-cactus,.memory-cactus{display:none}.memory-section:before{opacity:.2;font-size:110px;top:auto;bottom:90px;right:-30px}.cake{display:none}.player-layout{grid-template-columns:1fr}.cassette{max-width:560px;margin:0 auto}.player-panel{width:100%;max-width:560px;margin:0 auto}.book{grid-template-columns:1fr;max-width:540px;height:auto;margin:auto}.book-page{border-radius:15px;min-height:570px}.page-1{margin-top:18px}.book-ring{display:none}.photo-frame{height:min(75vw,390px)}.footer-cactus{opacity:.72;width:108px;bottom:8px;left:8px}}@media (max-width:560px){.section{padding:85px 18px}.section-heading{margin-bottom:45px}.hero{min-height:820px;padding-inline:20px}.hero-copy{margin-top:100px}.hero h1{font-size:82px}.hero h1 .turns{transform:rotate(-7deg)translate(45%,10%)}.hero-cactus{width:125px;bottom:55px;right:-15px}.card-cactus{width:88px;bottom:22px}.card-section:before{opacity:.25;font-size:120px}.envelope-scene{height:470px}.envelope{width:330px;height:215px;bottom:20px}.envelope-paper{padding-top:48px;font-size:23px}.seal{width:45px;height:45px;left:calc(50% - 22px)}.letter{min-height:590px;padding:40px 34px;bottom:-95px}.letter p{font-size:14px}.letter .greeting,.letter .signature{font-size:28px}.is-open .letter{transform:translate(-50%,42px)rotate(-1deg)}.card-section{min-height:940px}.card-section.card-open{min-height:1050px}.cassette{border-width:3px;border-radius:13px}.cassette-title b{font-size:16px}.platform-links{grid-template-columns:1fr}.tracklist{margin-top:55px}.book-page{min-height:510px;padding:48px 28px}.photo-frame{height:300px}.book-controls span{display:none}footer{min-height:540px;padding-inline:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
