:root{--ink:#3d3150;--plum:#67446e;--pink:#f4a8b8;--blush:#fff1f1;--cream:#fffaf2;--lilac:#d8c5ed;--peach:#f8d8bd;--white:#fff;--green:#5e7b70;--shadow:0 18px 50px rgba(76,48,85,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.6}h1,h2,h3,.brand,.price{font-family:"Fredoka",sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.8rem,8vw,7.4rem);line-height:.88;letter-spacing:-.055em;margin:24px 0 30px}h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1;letter-spacing:-.04em;margin:14px 0 24px}h1 i,h2 i{color:#b55370;font-weight:500}.site-header{height:86px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:18px;font-weight:700;line-height:1.1}.brand em{display:block;color:#b55370;font-style:normal;font-weight:500}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--plum);border-radius:50% 45% 48% 45%;color:var(--plum);font-size:24px;transform:rotate(-6deg)}nav{display:flex;align-items:center;gap:34px}nav a,footer a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 23px;border-radius:8px;background:var(--plum);color:#fff;text-decoration:none;font:700 14px "DM Sans";cursor:pointer;box-shadow:0 8px 20px rgba(103,68,110,.17);transition:.25s}.button:hover{transform:translateY(-2px);background:#56375d}.button-small{padding:11px 18px}.menu-button{display:none;background:none;border:0}.hero{min-height:calc(100vh - 86px);background:linear-gradient(115deg,#fff6f0 0%,#fff1ef 55%,#efdff4 100%);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:60px max(7vw,30px) 100px;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:3;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:12px;color:#9d536a;margin-bottom:6px}.eyebrow span{font-size:18px}.intro{font-size:18px;max-width:610px;color:#5e5267}.hero-actions{display:flex;gap:28px;align-items:center;margin:36px 0}.text-link{color:var(--ink);font-weight:700;font-size:14px;text-decoration:none}.text-link span{margin-left:6px}.trust-row{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;font-weight:700;color:#77687e}.hero-art{height:620px;position:relative}.blob{position:absolute;width:520px;height:520px;background:#e7cbea;border-radius:47% 53% 52% 48% / 56% 43% 57% 44%;top:45px;left:50%;transform:translateX(-50%) rotate(5deg)}.teddy{position:absolute;width:390px;height:470px;top:83px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 22px 18px rgba(91,51,70,.18))}.teddy-head{z-index:4;position:absolute;width:245px;height:215px;left:72px;top:25px;background:#bc7957;border-radius:49% 49% 45% 45%}.ear{position:absolute;width:105px;height:105px;border-radius:50%;background:#a86448;top:0}.ear span{position:absolute;inset:24px;background:#e3a182;border-radius:50%}.ear.left{left:38px}.ear.right{right:38px}.eye{position:absolute;width:15px;height:19px;background:#342634;border-radius:50%;top:80px}.eye.left{left:67px}.eye.right{right:67px}.muzzle{position:absolute;width:102px;height:78px;background:#e8b294;left:71px;top:108px;border-radius:50%}.muzzle b{position:absolute;width:25px;height:18px;background:#3b2933;left:39px;top:10px;border-radius:50% 50% 45% 45%}.muzzle span{position:absolute;width:38px;height:20px;border-bottom:3px solid #5b3944;border-radius:50%;left:32px;top:28px}.teddy-body{position:absolute;width:218px;height:250px;background:#bc7957;border-radius:50% 50% 42% 42%;top:205px;left:86px}.heart{position:absolute;left:82px;top:72px;color:#f6bec8;font-size:54px}.arm,.leg{position:absolute;background:#ad6e51;border-radius:50%;z-index:2}.arm{width:84px;height:210px;top:218px}.arm.left{left:35px;transform:rotate(24deg)}.arm.right{right:35px;transform:rotate(-24deg)}.leg{width:120px;height:145px;top:360px}.leg.left{left:55px;transform:rotate(12deg)}.leg.right{right:55px;transform:rotate(-12deg)}.party-tag{position:absolute;z-index:6;bottom:24px;right:1%;background:#fff;border:1px solid #eadce8;padding:14px 22px;transform:rotate(4deg);box-shadow:var(--shadow);text-align:center;border-radius:4px}.party-tag b,.party-tag span{display:block}.party-tag b{font-family:"Fredoka"}.party-tag span{font-size:11px;color:#a45b72}.doodle{position:absolute;color:#b45a75;font-size:38px;z-index:3}.doodle-one{left:4%;top:22%}.doodle-two{right:4%;top:13%}.doodle-three{right:2%;bottom:26%;color:#fff}.scallop{position:absolute;bottom:-1px;left:0;width:100%;height:30px;background:radial-gradient(circle at 25px 0,var(--cream) 24px,transparent 25px) 0 0/50px 30px}.section{padding:120px max(7vw,30px)}.section-heading{text-align:center;max-width:700px;margin:0 auto 60px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;max-width:1250px;margin:auto}.step{text-align:center;padding:24px 15px;position:relative}.step-number{position:absolute;top:0;right:8%;color:#d7cad9;font:600 44px "Fredoka"}.step-icon{margin:0 auto 28px;width:110px;height:110px;border-radius:45% 55% 48% 52%;display:grid;place-items:center;background:var(--peach);font-size:42px;color:#a8586c}.step:nth-child(2) .step-icon{background:#efd7ee}.step:nth-child(3) .step-icon{background:#f8d1d8}.step:nth-child(4) .step-icon{background:#d9e3d9}.step h3{font-size:21px;margin-bottom:9px}.step p{font-size:14px;color:#73697a}.package-section{background:#f0e5f4;display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.package-intro{max-width:480px}.package-intro>p:not(.eyebrow,.note){color:#665a6c}.note{border-left:3px solid var(--pink);padding-left:15px;font-size:12px;margin-top:30px}.package-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.package-card{background:#fffaf6;padding:34px;border-radius:14px;box-shadow:var(--shadow);position:relative}.package-card.featured{background:var(--plum);color:#fff;padding-top:48px;transform:rotate(1deg)}.popular{position:absolute;top:-15px;right:24px;background:var(--pink);color:#563548;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800;padding:8px 16px;border-radius:20px}.package-name{font:600 22px "Fredoka";margin-bottom:2px}.price{font-size:14px}.price strong{font-size:35px}.best-for{font-size:12px;font-weight:700;padding:12px 0;border-bottom:1px solid rgba(100,70,100,.15)}.package-card ul{list-style:none;padding:7px 0;margin:0 0 25px;font-size:13px;line-height:2.2}.package-card li:before{content:"â™¡";margin-right:10px;color:#c2647e}.button-outline{background:transparent;border:1px solid var(--plum);color:var(--plum);box-shadow:none;width:100%}.featured .button{background:#f7d3d8;color:#563548;width:100%}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:center}.quote-card{background:#f8d9cf;padding:70px 60px;border-radius:45% 55% 46% 54% / 12% 14% 12% 15%;transform:rotate(-2deg);text-align:center}.quote-mark{font:700 80px "Fredoka";line-height:.4;color:#c1747d}.quote-card blockquote{font:500 clamp(1.35rem,2.5vw,2rem) "Fredoka";line-height:1.35;margin:30px 0}.quote-card p{font-size:12px;font-weight:700}.stars{color:#b1596f;letter-spacing:5px}.about-copy{max-width:590px}.about-copy>p:not(.eyebrow){color:#706478}.values{display:flex;gap:24px;flex-wrap:wrap;margin-top:35px;font-size:13px;font-weight:700}.values b{color:#b85d76;margin-right:5px}.booking{padding:100px max(7vw,30px);background:var(--plum);color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center}.booking .eyebrow{color:#f2bdc9}.booking h2 i{color:#f5bdca}.booking-copy>p:not(.eyebrow){color:#e3d9e5;max-width:450px}.booking-copy>a{color:#fff;font-weight:700}.booking-form{background:#fffaf5;color:var(--ink);padding:34px;border-radius:14px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.field label{display:block;font-size:11px;font-weight:800;margin:0 0 5px;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;border:1px solid #decfdd;background:#fff;padding:12px;border-radius:6px;font:14px "DM Sans";color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #daa8be;border-color:transparent}.full{grid-column:1/-1}.form-status{margin:0;font-size:13px;color:var(--green);font-weight:700;text-align:center}footer{padding:45px max(5vw,24px);display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:30px;align-items:center;background:#fffaf2}footer p{margin:0;font-size:13px;color:#786c7c}footer div{display:flex;gap:22px}footer small{font-size:11px;color:#8b7e8e}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.website-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.turnstile-wrap:empty{display:none}.booking-form button:disabled{opacity:.65;cursor:wait;transform:none}.form-status.error{color:#a63d57}
@media(max-width:900px){nav{position:absolute;display:none;top:78px;left:20px;right:20px;padding:24px;background:#fff;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;align-items:stretch}nav.open{display:flex}.menu-button{display:grid;gap:7px;padding:10px}.menu-button span{width:25px;height:2px;background:var(--ink)}.hero{grid-template-columns:1fr;padding-top:60px}.hero-copy{text-align:center;margin:auto}.hero-actions,.trust-row{justify-content:center}.hero-art{height:560px;margin-top:20px}.package-section,.about,.booking{grid-template-columns:1fr}.package-intro{text-align:center;margin:auto}.steps{grid-template-columns:1fr 1fr}.about-copy{order:-1;text-align:center;margin:auto}.values{justify-content:center}footer{grid-template-columns:1fr 1fr}footer div{justify-content:flex-end}}
@media(max-width:600px){h1{font-size:3.9rem}.site-header{height:74px}.hero{min-height:auto;padding:50px 22px 85px}.hero-art{height:430px;transform:scale(.78);transform-origin:top center;margin-bottom:-90px}.trust-row{gap:12px}.section{padding:85px 22px}.steps,.package-cards{grid-template-columns:1fr}.package-card.featured{transform:none}.quote-card{padding:55px 30px}.booking{padding:80px 22px}.booking-form{grid-template-columns:1fr;padding:24px}.field{grid-column:1/-1}footer{grid-template-columns:1fr;text-align:center}footer .brand{justify-content:center}footer div{justify-content:center;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}