@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;600;800&family=Playfair+Display:ital,wght@1,800&display=swap');
:root{--blue:#c9f2ff;--pink:#ffb4df;--hot:#ff3aa7;--green:#c7ef82;--cream:#fffdf8;--ink:#17131b;--lilac:#d8c7ff;--line:2px solid var(--ink)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#eafaff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}
a{color:inherit}
.announcement{padding:7px 16px;text-align:center;background:#fff;font-size:.68rem;font-weight:800;letter-spacing:.12em}
header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 max(22px,calc((100vw - 1180px)/2));background:var(--blue);border-bottom:var(--line)}
.logo{width:max-content;padding:8px 12px;background:#fff;border:var(--line);box-shadow:4px 4px 0 var(--pink);font-family:'Archivo Black',sans-serif;font-size:.78rem;line-height:1;text-decoration:none;transform:rotate(-1deg)}
.logo span{display:block;color:var(--hot);font-size:1.28rem;text-shadow:2px 2px 0 #ffd6ed}
nav{display:flex;gap:28px;font-size:.75rem;font-weight:800}
nav a{text-decoration:none}
.mini-cta{justify-self:end;font-size:.75rem;font-weight:900;text-decoration:none}
.hero{position:relative;width:min(1180px,100%);min-height:650px;margin:0 auto;overflow:hidden;background:linear-gradient(115deg,#f6fff5 0 46%,#ffc6e7 46% 100%);border-inline:var(--line);border-bottom:var(--line)}
.hero-photo{position:absolute;inset:0 42% 0 0;overflow:hidden;background:radial-gradient(circle at 45% 45%,#fff 0 28%,#c9f2ff 29% 65%,#a7e8fa 100%);clip-path:polygon(0 0,91% 0,100% 13%,94% 27%,100% 42%,93% 58%,100% 75%,93% 89%,100% 100%,0 100%)}
.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;padding:18px 24px 0}
.hero-copy{position:absolute;z-index:2;right:4%;top:14%;width:50%;text-align:center;transform:rotate(-2deg)}
.kicker{font-weight:900;letter-spacing:.12em;font-size:.75rem}
.hero h1{margin:.1em 0 .18em;font-family:'Archivo Black',sans-serif;font-size:clamp(3.5rem,7.5vw,7.4rem);line-height:.82;letter-spacing:-.075em;color:white;-webkit-text-stroke:2px var(--ink);text-shadow:7px 7px 0 var(--hot)}
.hero h1 span{color:var(--green)}
.hero-copy>p:not(.kicker){font-size:1.1rem;font-weight:800}
.bubble-button{display:inline-block;margin-top:12px;padding:13px 22px;border:var(--line);border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:900;box-shadow:5px 5px 0 var(--green)}
.sticker,.sparkle{position:absolute;z-index:3;filter:drop-shadow(3px 4px 0 white)}
.cherry{left:2%;top:8%;font-size:5.4rem;transform:rotate(-12deg)}
.phone{right:1%;bottom:3%;font-size:5rem;transform:rotate(13deg)}
.sparkle{color:var(--hot);font-size:3.2rem}
.s1{right:5%;top:5%}
.s2{left:48%;bottom:4%;color:#26b8e9}
.s3{right:32%;bottom:5%;color:#8b54df}
.photo-strip{position:absolute;z-index:4;right:5%;bottom:8%;display:flex;gap:10px;transform:rotate(4deg)}
.photo-strip figure{width:105px;height:140px;margin:0;background:white;border:3px solid var(--ink);padding:6px;box-shadow:5px 5px 0 #0003}
.photo-strip figure:nth-child(2){transform:translateY(-22px) rotate(-4deg)}
.photo-strip img{width:100%;height:100%;object-fit:contain;background:linear-gradient(135deg,#c9f2ff,#ffb4df)}
.category-grid{width:min(1100px,calc(100% - 40px));margin:48px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.category{min-height:285px;padding:18px;border:var(--line);box-shadow:6px 6px 0 var(--ink);transform:rotate(-1deg)}
.category:nth-child(even){transform:rotate(1deg)}
.category .icon{display:grid;height:128px;place-items:center;background:#ffffff99;border:var(--line);font-size:4rem}
.category h2{margin:14px 0 5px;font-family:'Archivo Black';font-size:1.45rem;line-height:1}
.category p{min-height:68px;margin:0;font-size:.84rem}
.category span{font-size:.75rem;font-weight:900}
.pink{background:var(--pink)}
.blue{background:var(--blue)}
.green{background:var(--green)}
.lilac{background:var(--lilac)}
.club{position:relative;padding:70px 20px;text-align:center;background:var(--blue);border-block:var(--line);overflow:hidden}
.club:before,.club:after{content:'♡';position:absolute;color:var(--pink);font-size:10rem;line-height:1}
.club:before{left:4%;top:0;transform:rotate(-18deg)}
.club:after{right:4%;bottom:-25px;transform:rotate(15deg)}
.club-star{position:absolute;left:22%;top:10%;font-size:3rem;color:var(--hot)}
.club>p:first-of-type,.section-heading p{font-size:.72rem;font-weight:900;letter-spacing:.16em}
.club h2,.section-heading h2{margin:.1em 0;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(3rem,6vw,5.4rem);line-height:1}
.club-copy{max-width:620px;margin:10px auto 26px}
.email-box{position:relative;z-index:1;display:flex;justify-content:space-between;max-width:460px;margin:auto;padding:14px 18px;background:#fff;border:var(--line);text-decoration:none;font-size:.85rem}
.club small{display:block;max-width:520px;margin:13px auto 0;font-size:.68rem}
.steps-section{width:min(1100px,calc(100% - 40px));margin:0 auto;padding:90px 0}
.section-heading{margin-bottom:34px}
.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step-grid article{position:relative;padding:10px 10px 22px;background:#fff;border:var(--line);box-shadow:5px 5px 0 var(--pink)}
.step-grid article>b{position:absolute;z-index:2;top:17px;left:17px;display:grid;width:34px;height:34px;place-items:center;background:var(--hot);color:#fff;border:2px solid var(--ink);border-radius:50%}
.step-image{height:260px;overflow:hidden;border:1px solid var(--ink);background:linear-gradient(145deg,#c9f2ff,#ffe0f1)}
.step-image img{width:100%;height:100%;object-fit:contain}
.crop-one img{object-position:center top}
.crop-two img{object-position:center;transform:scale(1.08)}
.crop-three img{object-position:center;transform:scale(1.18)}
.crop-four img{object-position:center bottom}
.step-grid h3{margin:14px 4px 4px;font-family:'Archivo Black';font-size:1rem}
.step-grid p{margin:0 4px;font-size:.78rem}
.about{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center;padding:90px max(24px,calc((100vw - 1100px)/2));background:linear-gradient(120deg,var(--pink),#fff 60%,var(--blue));border-top:var(--line)}
.about h2{margin:.1em 0 .35em;font-family:'Archivo Black';font-size:clamp(2.8rem,6vw,5.5rem);line-height:.92;letter-spacing:-.05em}
.about h2 em{font-family:'Playfair Display';color:var(--hot)}
.about>div:first-child>p:not(.kicker){max-width:620px}
.note{font-size:.78rem;font-weight:800}
.about-card{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--green);border:4px solid var(--ink);box-shadow:12px 12px 0 var(--hot);transform:rotate(4deg)}
.about-card span{font-family:'Archivo Black';font-size:clamp(2.4rem,5vw,4.8rem);line-height:.8;text-align:center;color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--hot)}
.about-card i{position:absolute;right:10%;top:8%;font-size:3rem}
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:38px max(20px,calc((100vw - 1100px)/2));background:var(--ink);color:#fff;font-size:.76rem}

@media(max-width:850px){header{grid-template-columns:1fr auto;height:76px}
nav{display:none}
.hero{min-height:760px}
.hero-photo{inset:0 0 40% 0;clip-path:none}
.hero-copy{right:4%;top:44%;width:92%}
.hero h1{font-size:clamp(3.5rem,15vw,6rem)}
.cherry{font-size:4rem}
.photo-strip{display:none}
.category-grid,.step-grid{grid-template-columns:1fr 1fr}
.about{grid-template-columns:1fr}
.about-card{max-width:420px;width:100%;margin:auto}
.phone{bottom:1%}
.steps-section{padding:70px 0}
}

@media(max-width:520px){.announcement{font-size:.56rem}
.mini-cta{font-size:.62rem}
.logo{font-size:.62rem}
.logo span{font-size:1rem}
.hero{border-inline:0}
.hero-photo{inset:0 0 49% 0}
.hero-copy{top:48%}
.hero-copy>p:not(.kicker){font-size:.95rem}
.category-grid,.step-grid{grid-template-columns:1fr}
.category{min-height:230px}
.category .icon{height:100px}
.club:before,.club:after{font-size:6rem}
.step-image{height:330px}
.about{padding-block:70px}
footer{flex-direction:column;text-align:center}
}
