@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');:root{--ink:#28213a;--cream:#fff8ed;--pink:#ff7294;--purple:#8055c6;--yellow:#ffce59;--line:#e9dfd4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:100;background:white;padding:10px}.header{height:86px;padding:0 clamp(20px,5vw,88px);display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #f0e6d8;background:#fffaf2;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px;font-family:Outfit,sans-serif;font-size:25px;font-weight:900;letter-spacing:-1.4px;white-space:nowrap}.brandmark{background:var(--pink);color:white;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:25px;letter-spacing:0}.brand-light{font-weight:500}.branddot{color:var(--pink)}nav{display:flex;align-items:center;gap:32px}nav a{font-size:13px;font-weight:700}nav a:hover{color:var(--purple)}.nav-cta{background:var(--ink);color:white;border-radius:100px;padding:13px 20px;font-size:13px;font-weight:700;white-space:nowrap}.nav-cta span{margin-left:12px}.menu{display:none;border:0;background:transparent;font-size:25px}.hero{min-height:660px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:65px clamp(20px,8vw,135px);gap:30px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:620px}.eyebrow,.kicker{font-size:11px;font-weight:900;letter-spacing:2.2px;color:#8b5bc5}.sparkle{color:var(--pink);font-size:19px;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,sans-serif}h1{font-size:clamp(56px,6.6vw,100px);letter-spacing:-5px;line-height:1.02;margin:24px 0}h1 em,h2 em{font-style:normal;color:var(--pink)}.period{color:var(--purple)}.hero-copy>p{font-size:18px;line-height:1.7;max-width:500px;color:#665d70}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:100px;padding:17px 25px;font-weight:800;font-size:14px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #28213a22}.primary{background:var(--pink);color:#291d32}.outline{border:1px solid #cfc3d4;background:transparent}.dark{background:var(--ink);color:white}.light{background:#fff8ed;color:var(--ink)}.micro{font-size:11px;color:#887d8e;margin-top:26px}.hero-art{height:530px;position:relative;display:grid;place-items:center}.sunburst{position:absolute;width:min(440px,100%);aspect-ratio:1;border-radius:50%;background:#ffe8a7;box-shadow:0 0 0 35px #fff0c9,0 0 0 70px #fff5df}.cake{position:relative;z-index:2;width:330px;height:290px;filter:drop-shadow(0 22px 0 #6e3b9b20)}.cakebody{position:absolute;bottom:30px;width:330px;height:180px;background:#e7a5ff;border:8px solid #713fa8;border-radius:25px 25px 70px 70px;display:grid;place-items:center;box-shadow:inset 0 -25px #cd82f4}.cakebody span{font-family:Outfit;font-size:120px;font-weight:900;color:white;text-shadow:6px 7px #9c61cf}.icing{position:absolute;top:60px;width:330px;height:55px;border-radius:50%;background:#fff0fa;border:7px solid #713fa8;text-align:center;line-height:35px;color:var(--pink);font-size:27px;z-index:3}.candle{position:absolute;top:-25px;left:154px;width:21px;height:91px;background:repeating-linear-gradient(35deg,#ff8c9e 0 10px,#fff 10px 19px);border:4px solid #713fa8;border-radius:8px;z-index:2}.flame{position:absolute;top:-35px;left:-7px;width:28px;height:35px;background:#ffbb3d;border-radius:70% 0 70% 70%;transform:rotate(-45deg)}.cakebase{position:absolute;bottom:12px;left:-20px;width:370px;height:30px;background:#713fa8;border-radius:50%}.orbit{position:absolute;font-size:70px;z-index:3}.orbit1{top:15px;left:12px;color:var(--pink)}.orbit2{right:0;top:40px;color:var(--purple)}.orbit3{bottom:20px;right:25px;color:#f2a71d}.sticker{position:absolute;bottom:5px;left:-30px;z-index:5;transform:rotate(-12deg);background:var(--yellow);border-radius:50%;width:130px;height:130px;display:grid;place-items:center;text-align:center;font-size:13px;font-weight:900;line-height:1.5}.confetti{position:absolute;border-radius:3px;width:14px;height:28px;transform:rotate(25deg)}.c1{background:#ff7294;top:12%;left:46%}.c2{background:#8055c6;top:72%;left:4%}.c3{background:#ffc84f;top:17%;right:4%}.c4{background:#ff7294;bottom:13%;right:3%}.ticker{overflow:hidden;background:var(--purple);color:white;white-space:nowrap;padding:18px 0;font-weight:900;font-size:14px;letter-spacing:2px}.ticker div{min-width:max-content;text-align:center}.ticker b{color:var(--yellow);margin:0 35px}.section{padding:105px clamp(20px,8vw,135px)}.section-heading{text-align:center;max-width:780px;margin:0 auto 50px}.section-heading h2{font-size:clamp(40px,5vw,68px);line-height:1.09;letter-spacing:-3px;margin:16px 0}.section-heading p{font-size:17px;color:#73677c;line-height:1.6}.calc-section{background:#fff}.calculator{max-width:940px;margin:auto;display:grid;grid-template-columns:1fr 1fr;background:#fff8ed;border:1px solid #eaded1;border-radius:28px;overflow:hidden;box-shadow:0 20px 55px #3925440a}.calc-input{padding:45px;display:flex;flex-direction:column;justify-content:center}.calc-input label{font-weight:800;font-size:15px;margin-bottom:12px}.calc-input input{border:2px solid #e6d8d2;border-radius:13px;padding:17px;background:white;color:var(--ink);font-size:17px;min-width:0}.hint{color:#85788c;font-size:12px;line-height:1.6;margin:12px 0 24px}.wide{width:100%}.calc-result{min-height:315px;background:#e9dcff;display:grid;place-items:center;padding:30px;text-align:center}.result-placeholder span{font-size:70px;color:var(--purple)}.result-placeholder h3{font-size:29px;line-height:1.1;margin:12px 0}.result-placeholder p{color:#6b597d;font-size:14px}.result-date{font-family:Outfit;font-size:clamp(35px,4vw,54px);font-weight:900;letter-spacing:-2px;margin:10px 0}.result-label{font-size:11px;font-weight:900;letter-spacing:2px;color:#6e4a94}.countdown{font-size:19px;font-weight:800}.result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.result-actions button{border:1px solid #a98fcb;border-radius:25px;background:#fff;padding:11px 14px;font-weight:800;font-size:12px}.calc-footnote{max-width:940px;margin:18px auto 0;color:#887b8e;font-size:12px;line-height:1.6}.error{color:#a32349;font-size:13px}.how{background:#fff8ed}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1100px;margin:auto}.step{text-align:center;padding:15px}.step-icon{height:170px;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:15px;font:900 65px Outfit;letter-spacing:-5px}.step-icon span{font-size:50px}.pink{background:#ffd4df}.yellow{background:#ffebaa}.lavender{background:#e5d4ff}.step h3{font-size:25px;margin:23px 0 10px}.step p{color:#766a7d;line-height:1.6;font-size:14px}.manifesto{background:var(--purple);color:white;padding:110px clamp(20px,10vw,160px);display:flex;align-items:center;gap:50px;overflow:hidden}.manifesto-content{max-width:750px;position:relative;z-index:1}.manifesto .kicker{color:#ffe294}.manifesto h2{font-size:clamp(46px,6vw,85px);line-height:1.05;letter-spacing:-4px;margin:24px 0}.manifesto h2 em{color:#ffdf83}.manifesto p{font-size:18px;line-height:1.8;color:#f0e4ff;max-width:640px;margin-bottom:30px}.manifesto-symbol{font:900 370px Outfit;color:#ffffff19;transform:rotate(-15deg)}.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.idea-card{border-radius:26px;overflow:hidden}.idea-pink{background:#ffe1e8}.idea-yellow{background:#fff0b6}.idea-purple{background:#e7dbff}.idea-graphic{height:215px;display:grid;place-items:center;font-size:110px}.idea-copy{padding:0 28px 30px}.idea-copy span{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#8555a5}.idea-copy h3{font-size:28px;line-height:1.12;letter-spacing:-1px;margin:10px 0}.idea-copy p{font-size:14px;line-height:1.6;color:#65566e;margin:0}.share-section{padding-top:0}.share-card{border-radius:30px;background:#ffcf63;padding:60px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:30px}.share-card h2{font-size:clamp(34px,4vw,56px);line-height:1.1;letter-spacing:-2px;margin:20px 0}.share-card p{color:#65576b;line-height:1.6}.share-art{background:#ff7694;border:8px solid white;border-radius:30px;transform:rotate(7deg);min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:15px 15px #28213a16}.share-art span{font:900 26px Outfit;color:white;letter-spacing:4px}.share-art strong{font:900 115px Outfit;color:#fff2bc;line-height:1}.partner-section{background:#fff}.partner-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;max-width:1100px;margin:auto}.partner-inner h2{font-size:clamp(42px,5vw,65px);letter-spacing:-3px;margin:20px 0}.partner-inner p{color:#73677c;line-height:1.7;max-width:600px}.partner-bubble{border-radius:50%;width:min(360px,100%);aspect-ratio:1;background:#e7d7ff;display:grid;place-items:center;text-align:center;font:900 clamp(18px,2.5vw,32px) Outfit;line-height:1.4;transform:rotate(-9deg);position:relative}.partner-bubble span{position:absolute;right:-25px;top:15px;color:var(--pink);font-size:80px}.faq-list{max-width:850px;margin:auto}.faq details{border-bottom:1px solid #ded2d5;padding:20px 0}.faq summary{cursor:pointer;font:700 20px Outfit;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';color:var(--purple);font-size:25px}.faq details[open] summary:after{content:'−'}.faq details p{margin:14px 0 0;color:#74687a;line-height:1.7}.last-cta{text-align:center;background:#ffd7e2;padding:100px 20px}.last-cta>span{font-size:60px;color:var(--purple)}.last-cta h2{font-size:clamp(55px,8vw,110px);line-height:1;letter-spacing:-5px;margin:20px 0 35px}.last-cta h2 em{color:var(--purple)}footer{background:#28213a;color:white;padding:50px clamp(20px,8vw,135px) 25px}.footer-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:40px}.footer-top p{color:#bcb2c8;margin:0}.footer-bottom{border-top:1px solid #ffffff30;padding-top:25px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:#c9bfd3}.footer-bottom div{display:flex;gap:25px}@media(max-width:1100px){nav{gap:16px}.hero{padding-left:5vw;padding-right:5vw}.hero-art{transform:scale(.85)}h1{font-size:70px}}@media(max-width:800px){.header{height:72px;padding:0 20px}.brand{font-size:22px}.nav-cta{margin-left:auto}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fffaf2;padding:25px;box-shadow:0 20px 25px #0002;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:65px 24px 20px}.hero-copy{max-width:700px}.hero-art{height:420px;transform:scale(.78);margin:-30px 0}.section{padding:75px 24px}.manifesto{padding:75px 24px}.manifesto-symbol{display:none}.idea-grid,.steps{grid-template-columns:1fr}.steps{max-width:450px}.calculator,.partner-inner,.share-card{grid-template-columns:1fr}.share-card{padding:35px}.share-art{max-width:350px;margin:auto;width:100%}.partner-bubble{margin:auto}.footer-top,.footer-bottom{flex-wrap:wrap}}@media(max-width:480px){h1{font-size:58px;letter-spacing:-3px}.hero-copy>p{font-size:16px}.hero-art{transform:scale(.68);margin:-55px -30px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.nav-cta{display:none}.calc-input{padding:25px}.calc-result{min-height:290px}.section-heading h2{letter-spacing:-2px}.manifesto h2{letter-spacing:-2px}.share-card{padding:25px}.share-art{min-height:230px}.footer-bottom div{flex-wrap:wrap}.last-cta h2{letter-spacing:-3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Celebration tools */
.extras{scroll-margin-top:90px}.feature-panel{background:#fff;border:2px solid #282033;border-radius:24px;padding:clamp(20px,3vw,38px);box-shadow:7px 7px 0 #ffd8e3}.friend-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:16px}.friend-form label,.card-controls label{display:block;font-weight:800;margin-bottom:8px}.friend-form input,.card-controls input,.card-controls textarea,.card-controls select{width:100%;min-height:48px;border:2px solid #b9aabd;border-radius:12px;padding:12px;background:white;font:inherit;color:#282033}.friend-form .btn{white-space:nowrap}.friend-list{display:grid;gap:10px;margin:20px 0}.friend-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;background:#fff8ed}.friend-row strong{display:block}.friend-row small{display:block;margin-top:4px}.friend-row button{border:1px solid #7b6178;border-radius:9px;background:white;padding:9px 12px;cursor:pointer}.card-workshop{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}.card-controls{display:grid;gap:12px;align-content:start}.greeting-preview{min-height:420px;border-radius:25px;background:#ffdce5;color:#2a2040;border:3px solid #2a2040;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;gap:14px;overflow-wrap:anywhere}.greeting-preview>div{font-weight:900;font-size:clamp(26px,3vw,48px);line-height:1.1}.greeting-preview strong{font-size:1.5em;color:#9a4bda}.greeting-preview h3{font-size:clamp(28px,3vw,48px);margin:0}.greeting-preview p{font-size:18px;max-width:360px}.greeting-preview small{margin-top:20px;font-weight:700;letter-spacing:2px}.greeting-preview.purple{background:#e6d6ff}.greeting-preview.yellow{background:#ffed9d}@media(max-width:850px){.friend-form,.card-workshop{grid-template-columns:1fr}.friend-form .btn{width:100%}.greeting-preview{min-height:350px}}@media(max-width:500px){.friend-row{align-items:flex-start;flex-direction:column}}
