@font-face{font-family:Nunito;src:url('assets/nunito-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{color-scheme:light;--ink:#37263d;--pink:#ec5d8c;--cream:#fff8f1}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Nunito,system-ui,sans-serif;color:var(--ink)}
body{height:100svh;min-height:0;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(16px,3.3vw,44px);overflow:hidden;background:radial-gradient(ellipse at 86% 25%,#ffe2eb 0,transparent 42%),radial-gradient(ellipse at 8% 100%,#fff0bf 0,transparent 50%),var(--cream)}
a{color:inherit}.header{display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{text-decoration:none;font-weight:900;letter-spacing:-2px;font-size:40px;line-height:1}.wordmark span{color:var(--pink)}.little-note{font-size:13px;font-weight:700}
.hero{width:min(1060px,100%);margin:auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:60px;min-height:0}.copy{min-width:0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:900;margin:0 0 12px;color:#986185}h1{font-size:clamp(48px,5.2vw,76px);font-weight:900;line-height:1.04;letter-spacing:-3px;margin:0}h1 span{color:#d5477a}.description{font-size:18px;line-height:1.55;margin:23px 0 27px;color:#756679}.stores{display:flex;gap:12px;flex-wrap:nowrap}.store{font:inherit;color:var(--ink);background:#fffdfb;border:1.5px solid #dccfdc;border-radius:17px;display:flex;align-items:center;gap:10px;padding:12px 17px;text-align:left;min-height:62px;white-space:nowrap;opacity:1}.store svg{height:27px;width:27px;flex-shrink:0}.store small{display:block;font-size:8px;font-weight:900;letter-spacing:1px;line-height:1.6;color:#756679}.store strong{display:block;font-weight:900;font-size:20px;line-height:1.2}.store:disabled{cursor:default}.fine-print{font-size:12px;color:#8c7c8e;margin:15px 0 0}.open-invitation{display:inline-block;margin-top:15px;font-weight:900;font-size:14px;text-decoration-color:var(--pink);text-underline-offset:4px}.open-invitation[hidden]{display:none}
.dog-scene{position:relative;height:440px;width:350px;justify-self:center;display:grid;place-items:center}.dog-card{width:290px;height:365px;transform:rotate(7deg);border-radius:30px;background:white;padding:11px;margin:0;box-shadow:0 25px 60px #9c5e762b;border:1px solid #ffffff}.dog-card img{width:100%;height:calc(100% - 40px);object-fit:cover;border-radius:21px;display:block}.dog-card figcaption{display:flex;justify-content:space-between;padding:10px 7px 0;font-size:17px;font-weight:900;line-height:1.2}.dog-card figcaption span:last-child{color:var(--pink);font-size:24px;line-height:16px}.woof-bubble{position:absolute;bottom:42px;left:-7px;background:#bda2ef;border:4px solid var(--cream);border-radius:27px;padding:13px 24px;font-size:25px;font-weight:900;transform:rotate(-9deg);box-shadow:0 7px 20px #73589019}.doodle{position:absolute;line-height:1;pointer-events:none}.heart-one{font-size:79px;color:#e96d98;left:-1px;top:0;transform:rotate(-18deg)}.sparkle{font-size:52px;color:#edba51;right:0;top:17px;transform:rotate(12deg)}.heart-two{font-size:48px;color:#d58eae;right:-3px;bottom:6px;transform:rotate(16deg)}
footer{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#927c8d;line-height:1.5}footer a{text-decoration:none;text-underline-offset:3px}footer a:hover{text-decoration:underline}
@media(max-width:700px){body{padding:20px 22px 17px}.wordmark{font-size:32px}.little-note{font-size:10px}.hero{display:flex;flex-direction:column;gap:8px;text-align:center;position:relative}.copy{display:contents}.eyebrow{font-size:9px;letter-spacing:1.5px;margin:0 0 1px}h1{font-size:48px;letter-spacing:-2px}.description{font-size:14px;line-height:1.5;margin:8px 0 0;max-width:310px}.desktop-break{display:none}.dog-scene{order:1;width:215px;height:215px;margin:1px 0 6px}.dog-card{width:164px;height:191px;border-radius:20px;padding:7px;transform:rotate(7deg)}.dog-card img{height:calc(100% - 26px);border-radius:14px}.dog-card figcaption{font-size:11px;padding:7px 5px 0}.dog-card figcaption span:last-child{font-size:17px;line-height:11px}.woof-bubble{font-size:17px;bottom:10px;left:0;padding:8px 16px;border-width:3px}.heart-one{font-size:44px;left:0;top:0}.sparkle{font-size:30px;right:0;top:6px}.heart-two{font-size:31px;right:0;bottom:0}.stores{order:2;gap:10px;justify-content:center;width:100%}.store{padding:10px 12px;gap:7px;min-height:57px;border-radius:14px}.store svg{width:23px;height:23px}.store strong{font-size:17px}.store small{font-size:7px;letter-spacing:.7px}.fine-print{order:4;font-size:10px;margin:2px 0 0}.open-invitation{order:3;font-size:12px;margin:2px 0}footer{font-size:9px;gap:12px}.has-invite .dog-scene{height:185px}.has-invite .dog-card{height:166px;width:146px}}
@media(max-width:360px){body{padding:17px 15px 14px}h1{font-size:42px}.little-note{font-size:9px}.dog-scene{height:191px;width:200px}.dog-card{height:174px;width:150px}.store{padding:10px 9px;gap:6px}.store strong{font-size:16px}.description{font-size:13px;max-width:280px}footer{font-size:8px}.has-invite .dog-scene{height:163px}.has-invite .dog-card{height:145px;width:131px}}
@media(max-height:650px) and (min-width:701px){body{padding:22px 35px}.dog-scene{height:300px;width:270px}.dog-card{height:260px;width:220px}h1{font-size:49px}.description{font-size:15px;margin:15px 0}.woof-bubble{font-size:20px;bottom:5px;left:0}.heart-one{font-size:48px}.heart-two{font-size:30px}.sparkle{font-size:34px}.store{padding:9px 13px;min-height:54px}.store strong{font-size:17px}.hero{gap:25px}}
@media(max-height:570px) and (max-width:700px){body{padding:12px 18px}.hero{gap:5px}.dog-scene{height:120px;width:165px}.dog-card{height:110px;width:100px;border-radius:15px;padding:5px}.dog-card img{height:calc(100% - 19px);border-radius:10px}.dog-card figcaption{font-size:8px;padding:4px 2px 0}.woof-bubble{font-size:13px;bottom:0;padding:5px 11px}.heart-one{font-size:29px}.sparkle{font-size:22px}.heart-two{font-size:22px}h1{font-size:33px}.eyebrow{font-size:8px}.description{font-size:12px;margin:3px 0}.store{min-height:48px;padding:8px 10px}.fine-print{font-size:9px}.has-invite .dog-scene{height:95px}.has-invite .dog-card{height:88px;width:80px}}
@media(prefers-reduced-motion:no-preference){.dog-card{animation:hello .7s ease-out both}@keyframes hello{from{opacity:0;transform:translateY(12px) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(7deg)}}}
