:root{--ink:#292437;--cream:#fff9f2;--purple:#7858c7;--deep-purple:#6543b3;--lavender:#eee5fd;--pink:#f7bfd3;--yellow:#ffda67;--mint:#cef1d5;--blue:#c7ebf6;--orange:#ef8665;--border:rgba(41,36,55,.16);--font-head:'Fredoka','Trebuchet MS',sans-serif;--font-body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--font-head)}h1,h2,h3{font-weight:600}::selection{background:#f9d174;color:#31203f}:focus-visible{outline:3px solid #f28a6b;outline-offset:4px}.skip-link{position:fixed;top:-100px;left:12px;background:var(--ink);color:#fff;padding:12px 20px;z-index:10000}.skip-link:focus{top:10px}.announcement{height:30px;background:#e8c8fa;color:#33233f;display:flex;align-items:center;justify-content:center;gap:16px;font-size:9px;font-weight:800;letter-spacing:.17em;white-space:nowrap}.announcement .ann-mid{font-weight:600;opacity:.75;letter-spacing:.13em}.site-header{height:88px;position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 max(5.5vw,26px);gap:30px;background:var(--cream);border-bottom:1px solid rgba(50,40,65,.065)}.logo{display:inline-flex;align-items:center;gap:8px;min-width:200px;line-height:1}.logo-mouse{width:53px;height:53px;flex:none;transform:rotate(-9deg);transition:transform .3s}.logo:hover .logo-mouse{transform:rotate(6deg)}.logo-words{font-family:var(--font-head);font-size:27px;font-weight:700;letter-spacing:-1.4px;display:flex;flex-direction:column;position:relative;white-space:nowrap}.logo-words>span{color:var(--purple);position:absolute;top:0;left:65px}.logo-words small{font-family:var(--font-body);font-size:7px;font-weight:800;letter-spacing:.17em;margin:3px 0 0 1px}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,46px);margin-left:auto}.desktop-nav a{font-size:12px;font-weight:800;transition:color .2s;white-space:nowrap}.desktop-nav a:hover{color:var(--purple)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 23px;border:2px solid transparent;border-radius:100px;font-size:13px;font-weight:800;line-height:1.15;white-space:nowrap;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 8px 0 rgba(41,36,55,.1)}.button:active{transform:translateY(0);box-shadow:none}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#514567}.button-purple{background:var(--purple);color:white}.button-purple:hover{background:var(--deep-purple)}.nav-book{padding:13px 18px;font-size:12px}.nav-book span{font-size:19px;font-weight:400}.mobile-menu-toggle,.mobile-nav{display:none}.hero{position:relative;min-height:690px;display:grid;grid-template-columns:49% 51%;background:var(--cream);isolation:isolate;overflow:hidden}.hero-noise{position:absolute;inset:0;background-image:radial-gradient(#d7bcf3 1px,transparent 1px);background-size:24px 24px;opacity:.09;pointer-events:none}.hero-copy{position:relative;z-index:3;padding:clamp(72px,9vw,130px) 20px 105px max(7vw,35px);max-width:750px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:12px;letter-spacing:.18em;font-size:10px;font-weight:800}.eyebrow-flower{font-size:29px;color:#fb9bb8;line-height:.7}.eyebrow-line{height:1px;width:39px;background:#bfb2c1}.hero h1{font-size:clamp(88px,8.8vw,155px);line-height:.87;letter-spacing:-.065em;margin:36px 0 30px;white-space:nowrap}.hero-big{color:var(--purple);letter-spacing:-.07em}.outlined-joy{color:var(--cream);-webkit-text-stroke:2.5px var(--ink);text-stroke:2.5px var(--ink);position:relative}.joy-period{color:var(--orange);-webkit-text-stroke:0;text-stroke:0}.hero-copy>p{max-width:432px;font-size:16px;line-height:1.65;color:#6a6472;margin-bottom:27px}.hero-copy>p em{font-style:normal;font-weight:800;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.hero-actions .button{padding:18px 24px}.button-icon{font-size:20px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:11px;padding-bottom:5px;border-bottom:1.5px solid currentColor;font-size:12px;font-weight:800;transition:gap .2s,color .2s}.text-link:hover{gap:18px;color:var(--deep-purple)}.text-link span{font-size:17px;font-weight:500}.hero-trust{display:flex;gap:17px;align-items:center;margin-top:55px;color:#6f6775;font-size:11px;line-height:1.5}.hero-trust strong{color:var(--ink);font-weight:800}.face-stack{display:flex;padding-left:0}.face-stack b{display:grid;place-items:center;width:34px;height:34px;margin-left:-7px;border:2px solid var(--cream);border-radius:50%;font-family:var(--font-head);font-size:20px;color:var(--ink);background:var(--pink)}.face-stack b:first-child{margin-left:0;background:var(--yellow)}.face-stack b:last-child{background:var(--blue)}.hero-art{position:relative;min-height:610px;background:var(--lavender);border-bottom-left-radius:45% 17%;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 60%,rgba(255,255,255,.85) 1.6px,transparent 2px);background-size:43px 43px;opacity:.45}.hero-orbit{position:absolute;border:2px solid rgba(126,88,199,.13);border-radius:50%;width:110%;aspect-ratio:1;left:-7%;top:-10%;transform:rotate(-14deg)}.orbit-2{width:80%;left:14%;top:8%}.hero-photo-wrap{position:absolute;width:min(69%,565px);height:76%;left:14%;top:11%;border:10px solid var(--cream);border-radius:45% 45% 33% 34% / 38% 38% 26% 30%;overflow:hidden;transform:rotate(7deg);box-shadow:16px 25px 0 rgba(116,83,184,.15);background:#c8e7ef;transition:transform .7s}.hero-photo-wrap:hover{transform:rotate(1deg) scale(1.015)}.hero-photo{object-position:55% center;transform:rotate(-7deg) scale(1.24);transition:transform .7s}.hero-photo-wrap:hover .hero-photo{transform:rotate(-1deg) scale(1.24)}.hero-burst{position:absolute;z-index:4;right:3%;top:7%;width:137px;height:137px;background:var(--yellow);display:grid;place-items:center;clip-path:polygon(50% 0%,60% 13%,75% 3%,79% 21%,98% 20%,88% 37%,100% 50%,86% 61%,98% 78%,79% 78%,75% 97%,58% 87%,50% 100%,40% 85%,24% 97%,22% 79%,3% 80%,15% 62%,0% 50%,14% 37%,2% 20%,21% 22%,25% 3%,40% 14%);transform:rotate(14deg)}.hero-burst span{text-align:center;font-family:var(--font-head);font-size:20px;font-weight:700;line-height:.95;transform:rotate(-14deg)}.hero-small-photo{position:absolute;z-index:5;bottom:8%;left:1.3%;width:32%;height:32%;border:8px solid var(--cream);border-radius:45% 43% 40% 38%;background:var(--yellow);overflow:hidden;transform:rotate(-13deg);box-shadow:0 15px 30px rgba(77,49,121,.15)}.hero-small-photo img{transform:scale(1.15)}.hero-star{position:absolute;z-index:6;color:#e984a4;line-height:1}.star1{font-size:70px;left:7%;top:6%;animation:gentle-spin 18s linear infinite}.star2{font-size:69px;right:5%;bottom:25%;color:var(--purple);animation:float 4s ease-in-out infinite}.hero-doodle{position:absolute;width:26%;bottom:2%;left:42%;color:#e8a5ac;transform:rotate(-10deg)}.hero-doodle svg{width:100%}.hero-note{position:absolute;z-index:7;right:2.5%;bottom:6%;font-size:12px;line-height:1.4;transform:rotate(-8deg);font-weight:600}.hero-note strong{font-family:var(--font-head);font-size:19px;color:var(--purple)}.note-sparkle{font-size:21px;color:var(--orange)}.hero-bottom-caption{position:absolute;bottom:23px;left:7%;font-size:9px;letter-spacing:.14em;font-weight:800;color:#99919a}.hero-bottom-caption span{font-size:18px;margin-left:11px;vertical-align:middle}.marquee-band{overflow:hidden;transform:rotate(-2deg) scale(1.03);position:relative;z-index:4;margin:-13px 0 14px;padding:15px 0;background:var(--yellow);border-block:2px solid var(--ink)}.marquee-track{display:flex;align-items:center;gap:34px;width:max-content;white-space:nowrap;animation:marquee 24s linear infinite}.marquee-track span{font-family:var(--font-head);font-size:24px;font-weight:700;letter-spacing:.02em}.marquee-track i{font-style:normal;font-size:27px;color:var(--purple)}.section-pad{padding:120px max(6.6vw,28px)}.section-intro{max-width:900px;margin:0 auto 69px;text-align:center}.little-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--orange)}.section-intro h2,.gallery-heading h2,.faq-left h2,.how-head h2{font-size:clamp(51px,6vw,100px);line-height:1.04;letter-spacing:-.056em;margin:25px 0 20px}.section-intro h2 .serif-italic{font-family:Georgia,serif;font-size:.91em;font-weight:400;font-style:italic;letter-spacing:-.09em}.purple-underline{position:relative;color:var(--purple)}.purple-underline:after{content:"";height:9px;width:100%;background:#f6c1d7;border-radius:80%;position:absolute;bottom:2px;left:0;transform:rotate(-2deg);z-index:-1}.section-intro>p{max-width:500px;margin:0 auto;line-height:1.7;color:#716977;font-size:15px}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;max-width:1400px;margin:auto;align-items:start}.experience-tile{padding:11px 11px 25px;border-radius:170px 170px 32px 32px;transition:transform .35s;position:relative;min-width:0}.experience-tile:hover{transform:translateY(-10px) rotate(-1deg)}.tile-soft{background:var(--mint)}.tile-pit{background:var(--pink);margin-top:45px}.tile-bounce{background:var(--blue);margin-top:12px}.tile-image{position:relative;height:clamp(220px,25vw,370px);overflow:hidden;border-radius:180px 180px 22px 22px;background:#efe8dd}.tile-image img{transition:transform .6s}.experience-tile:hover .tile-image img{transform:scale(1.07)}.tile-index{position:absolute;top:17px;left:17px;padding:9px 13px;background:rgba(255,255,255,.93);border-radius:25px;font-size:9px;font-weight:800;letter-spacing:.05em}.tile-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:21px 12px 0}.tile-category{font-size:9px;letter-spacing:.16em;font-weight:800;opacity:.65}.tile-bottom h3{font-size:clamp(29px,3vw,45px);letter-spacing:-.05em;margin:5px 0 8px}.tile-bottom h3 span{font-size:20px;font-family:var(--font-body)}.tile-bottom p{font-size:12px;line-height:1.65;max-width:250px;margin:0;opacity:.8}.circle-link{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border:1.5px solid currentColor;border-radius:50%;font-size:20px;transition:transform .2s,background .2s}.circle-link:hover{background:#fff;transform:rotate(45deg)}.little-note{margin:65px 0 0;text-align:center;color:#9b91a0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;font-family:var(--font-head);font-size:16px}.little-note .asterisk{color:var(--purple);font-size:28px}.packages-section{background:#eae1f8;position:relative;overflow:hidden}.packages-section:before{content:"";width:380px;height:380px;border:65px solid rgba(255,255,255,.2);border-radius:50%;position:absolute;top:0;right:-190px}.section-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.topline-right{font-size:9px;font-weight:800;letter-spacing:.13em;opacity:.65}.topline-right span{font-size:19px;margin-left:10px}.package-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:40px 0 32px}.package-heading h2{font-size:clamp(75px,9vw,142px);line-height:.79;letter-spacing:-.065em;margin:0}.package-heading h2 .package-highlight{color:var(--purple);position:relative}.heading-star{display:inline-block;font-size:.36em;vertical-align:top;color:var(--orange);margin:0 0 0 14px;animation:gentle-spin 22s linear infinite}.package-heading>p{width:290px;max-width:32%;font-size:14px;line-height:1.75;color:#6d5f79;margin:0 6% 4px 0}.package-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:50px 0 22px}.filter{font-size:12px;font-weight:800;padding:12px 18px;background:transparent;border:1.5px solid #b4a6c7;border-radius:50px;color:var(--ink);transition:background .2s}.filter:hover,.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter span{opacity:.65;font-size:10px;margin-left:8px}.package-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:430px}.package-card{display:flex;flex-direction:column;background:var(--cream);border-radius:23px;padding:12px;border:1px solid rgba(38,29,59,.08);min-width:0;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;animation:pop-in .4s both}.package-card:hover{transform:translateY(-8px);box-shadow:0 19px 32px rgba(66,45,101,.11)}.package-card .package-image{height:210px;overflow:hidden;border-radius:14px;background:var(--blue);position:relative}.package-card .package-image img{transition:transform .55s}.package-card:hover .package-image img{transform:scale(1.06)}.package-card .package-badge{position:absolute;top:12px;left:12px;font-size:9px;font-weight:800;letter-spacing:.05em;background:var(--yellow);padding:9px 13px;border-radius:30px}.package-card .package-number{position:absolute;right:13px;top:13px;color:white;font-family:var(--font-head);font-size:16px;text-shadow:0 1px 10px #333}.package-body{padding:20px 12px 14px;display:flex;flex-direction:column;flex:1}.package-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.package-top h3{font-size:clamp(24px,2.6vw,37px);line-height:1.04;letter-spacing:-.045em;margin:0 0 8px}.package-price{white-space:nowrap;font-family:var(--font-head);font-size:26px;font-weight:700;line-height:1;color:var(--purple)}.package-price small{display:block;font-family:var(--font-body);font-size:9px;letter-spacing:.06em;text-align:right;margin-top:6px;color:#84758c;font-weight:800}.package-short{font-size:12px;color:#786f7d;line-height:1.6;min-height:40px;margin:10px 0 16px}.feature-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:23px}.feature-chips span{background:#f5f0f6;padding:7px 10px;border-radius:50px;font-size:10px;font-weight:700;color:#645b6b}.package-cta{margin-top:auto;width:100%;border-top:1px solid rgba(41,36,55,.1);padding-top:14px}.package-cta button{width:100%;background:transparent;border:0;display:flex;align-items:center;justify-content:space-between;padding:0;font-size:12px;font-weight:800;color:var(--ink)}.package-cta button span:last-child{display:grid;place-items:center;background:#efe2fb;width:38px;height:38px;border-radius:50%;font-size:20px;transition:transform .2s}.package-cta button:hover span:last-child{transform:rotate(45deg);background:var(--yellow)}.package-footnote{display:flex;align-items:start;justify-content:space-between;gap:25px;font-size:10px;line-height:1.6;color:#71667a;margin:23px 0 53px}.package-footnote span{max-width:690px}.package-footnote a{font-weight:800;border-bottom:1px solid currentColor;white-space:nowrap}.extras-strip{padding:25px 35px;border-radius:24px;background:var(--yellow);display:flex;gap:20px;align-items:center;max-width:1400px;margin:auto}.extra-icon{font-size:54px;color:var(--purple);line-height:.8;animation:gentle-spin 21s linear infinite}.extras-strip>div{margin-right:auto}.extras-strip strong{font-family:var(--font-head);font-size:23px}.extras-strip p{font-size:12px;margin:4px 0 0}.extras-strip .button{padding:15px 21px}.gallery-section{background:var(--cream);overflow:hidden}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}.gallery-heading h2{margin-bottom:0}.gallery-heading h2 span{color:var(--purple);font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.075em}.gallery-heading-right{max-width:260px;margin:0 3% 10px 0}.handdrawn-smile{font-family:var(--font-head);font-size:75px;line-height:1;color:var(--orange);transform:rotate(16deg);margin-bottom:25px}.gallery-heading-right p{font-size:13px;color:#766f7b;line-height:1.7;margin-bottom:18px}.gallery-collage{display:grid;grid-template-columns:1.25fr 1fr .88fr;grid-template-rows:285px 260px;gap:19px;position:relative}.gallery-photo{position:relative;overflow:hidden;border-radius:15px;background:#d9cedc;transition:transform .3s;min-height:0}.gallery-photo:hover{transform:rotate(-1deg) scale(1.013);z-index:2}.gallery-photo img{transition:transform .6s}.gallery-photo:hover img{transform:scale(1.06)}.gallery-a{grid-column:1;grid-row:1/3;border-radius:38% 38% 20px 20px / 20% 20% 20px 20px}.gallery-b{grid-column:2;grid-row:1}.gallery-c{grid-column:2;grid-row:2}.gallery-d{grid-column:3;grid-row:1}.gallery-e{grid-column:3;grid-row:2;border-radius:16px 16px 90px 16px}.gallery-hover{position:absolute;bottom:18px;left:18px;padding:11px 14px;background:#fff9f4;border-radius:50px;font-size:10px;font-weight:800;opacity:0;transform:translateY(9px);transition:all .3s}.gallery-photo:hover .gallery-hover{opacity:1;transform:translateY(0)}.gallery-sticker{position:absolute;z-index:4;left:calc(50% - 80px);top:47%;width:123px;height:123px;background:var(--yellow);color:var(--ink);display:grid;place-content:center;text-align:center;border-radius:50%;font-family:var(--font-head);font-weight:700;font-size:22px;line-height:.93;transform:rotate(-13deg);box-shadow:0 4px 0 #f0c753}.gallery-sticker span{position:absolute;font-size:26px;top:12px;right:10px;color:var(--purple)}.gallery-credit{text-align:center;color:#8e8692;letter-spacing:.14em;font-size:9px;font-weight:800;margin:33px 0 0}.gallery-credit a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}.story-section{min-height:660px;display:grid;grid-template-columns:50% 50%;background:#e5f2e9}.story-photo-side{position:relative;min-height:600px;overflow:hidden;background:#e3dde7}.story-photo-side img{position:absolute;inset:0}.story-photo-side:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(24,22,33,.27))}.story-squiggle{position:absolute;z-index:2;right:20px;top:20px;font-size:90px;color:var(--yellow);animation:gentle-spin 22s linear infinite}.photo-caption{position:absolute;z-index:2;bottom:30px;left:40px;color:white;font-size:10px;font-weight:800;letter-spacing:.17em}.story-copy-side{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:85px max(7vw,40px)}.story-copy-side h2{font-size:clamp(50px,5vw,82px);line-height:1.06;letter-spacing:-.052em;margin:22px 0 24px}.story-copy-side h2 span{color:var(--purple)}.story-copy-side p{max-width:490px;color:#60666a;font-size:14px;line-height:1.9}.story-copy-side .story-lead{font-size:17px;line-height:1.55;color:var(--ink);font-weight:700}.story-signature{margin:10px 0 28px;font-family:Georgia,serif;font-style:italic;font-size:20px}.story-signature span{font-family:var(--font-head);font-size:27px;color:var(--orange);vertical-align:middle}.how-section{background:#fffaf5;text-align:center}.how-head h2{margin-bottom:56px}.how-head h2 span{color:var(--purple)}.how-steps{max-width:1130px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;position:relative}.how-steps:before{content:"";position:absolute;top:100px;left:19%;right:19%;border-top:3px dashed #d9cbe2}.how-steps article{position:relative;z-index:1}.step-number{font-size:10px;font-weight:800;letter-spacing:.16em}.step-graphic{width:156px;height:156px;margin:18px auto 23px;border-radius:50%;display:grid;place-items:center;background:var(--pink);border:5px solid var(--cream);box-shadow:0 0 0 2px var(--ink);transform:rotate(-7deg);transition:transform .3s}.how-steps article:nth-child(2) .step-graphic{background:var(--yellow);transform:rotate(8deg)}.how-steps article:nth-child(3) .step-graphic{background:var(--mint);transform:rotate(-4deg)}.how-steps article:hover .step-graphic{transform:rotate(10deg) scale(1.04)}.step-graphic span{font-family:var(--font-head);font-size:83px;color:var(--ink)}.how-steps h3{font-size:27px;letter-spacing:-.04em;margin:0 0 9px}.how-steps p{font-size:13px;color:#847b86;line-height:1.7;max-width:230px;margin:auto}.faq-section{display:grid;grid-template-columns:43% 57%;gap:40px;background:#f6ebfa}.faq-left{position:relative}.faq-left h2{margin-bottom:23px}.faq-left h2 span{color:var(--purple)}.faq-left>p{font-size:14px;color:#776e7e;max-width:300px;line-height:1.8}.faq-star{font-family:var(--font-head);display:block;font-size:115px;color:#eba2be;margin:45px 0 0 40%;animation:gentle-spin 22s linear infinite}.faq-accordion{padding:36px 40px 0 0}.faq-accordion details{border-bottom:1px solid #d8c9e0}.faq-accordion details:first-child{border-top:1px solid #d8c9e0}.faq-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:85px;padding:18px 0;font-family:var(--font-head);font-size:clamp(18px,1.9vw,27px);font-weight:500;cursor:pointer}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion details p{font-size:13px;line-height:1.85;color:#756c7b;margin:-3px 45px 22px 0;max-width:490px}.plus-icon{width:33px;height:33px;border:1.5px solid #8d79a2;border-radius:50%;display:block;flex:none;position:relative;transition:background .2s,transform .2s}.plus-icon:before,.plus-icon:after{content:"";position:absolute;top:50%;left:50%;width:11px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}.plus-icon:after{transform:translate(-50%,-50%) rotate(90deg)}details[open] .plus-icon{background:var(--yellow);transform:rotate(45deg)}.booking-section{background:#e9bbd4;min-height:690px;position:relative;overflow:hidden;padding:110px max(7vw,35px) 100px;isolation:isolate}.booking-blob{position:absolute;width:750px;height:750px;border-radius:50%;right:-270px;top:-50px;background:var(--yellow);z-index:-1}.booking-stars{position:absolute;color:var(--purple);line-height:1;animation:gentle-spin 20s linear infinite}.star-a{font-size:85px;right:34%;top:12%}.star-b{font-size:85px;right:2%;bottom:7%}.booking-content{max-width:700px;position:relative;z-index:2}.book-kicker{font-size:10px;font-weight:800;letter-spacing:.18em}.book-kicker span{font-size:26px;vertical-align:middle;margin-left:5px}.booking-content h2{font-size:clamp(74px,8vw,132px);letter-spacing:-.06em;line-height:.85;margin:24px 0 25px}.booking-content h2 span{color:var(--purple)}.booking-content>p{font-size:15px;line-height:1.65;max-width:440px;margin-bottom:32px}.inquiry-form{max-width:620px}.form-line{display:grid;grid-template-columns:1fr 1fr;gap:13px}.inquiry-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;font-size:11px;font-weight:800}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:rgba(255,255,255,.85);border:1.5px solid transparent;color:var(--ink);border-radius:12px;padding:16px;width:100%;min-height:50px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{background:#fff;border-color:var(--purple);outline:none}.inquiry-form textarea{resize:vertical;min-height:80px}.inquiry-form ::placeholder{color:#9a90a0;font-weight:500}.form-submit{display:flex;align-items:center;gap:20px;margin-top:10px}.form-submit span{max-width:220px;font-size:10px;color:#655666;line-height:1.6}.booking-direct{margin-top:25px;font-size:12px;font-weight:700}.booking-direct a{text-decoration:underline;text-underline-offset:3px}.booking-direct span{margin:0 12px;opacity:.6}.booking-side{position:absolute;right:4%;top:24%;width:31%;aspect-ratio:1}.booking-big-smile{font-family:var(--font-head);font-size:min(38vw,510px);line-height:.8;letter-spacing:-.16em;color:var(--purple);transform:rotate(-19deg);opacity:.93;user-select:none}.booking-curved-text{position:absolute;bottom:1%;right:8%;font-family:Georgia,serif;font-size:24px;font-style:italic;transform:rotate(-12deg)}.footer{background:var(--ink);color:#fff;padding:80px max(7vw,35px) 24px}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;padding-bottom:105px}.footer-logo{font-family:var(--font-head);font-size:clamp(48px,6vw,95px);font-weight:600;letter-spacing:-.07em;line-height:1}.footer-logo span{color:#c7a7fa}.footer-logo b{font-size:.55em;color:var(--yellow);margin-left:12px}.footer-top p{color:#b1a8bd;font-size:13px;line-height:1.9;margin:20px 0 0}.footer-links{display:flex;gap:clamp(50px,10vw,190px);margin-right:6%}.footer-links>div{display:flex;flex-direction:column;gap:17px}.footer-links h3{font-family:var(--font-body);font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--yellow);margin:10px 0 6px}.footer-links a{font-size:13px;color:#d3cbdc;transition:color .2s}.footer-links a:hover{color:white}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.16);padding-top:25px;font-size:9px;font-weight:700;letter-spacing:.11em;color:#a79ab5}.footer-bottom a{color:white;white-space:nowrap}[data-reveal]{opacity:1;transform:translateY(0)}.js-reveal [data-reveal]{opacity:0;transform:translateY(25px);transition:opacity .65s,transform .65s}.js-reveal [data-reveal].visible{opacity:1;transform:translateY(0)}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes gentle-spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-17px)}}@keyframes pop-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.site-header{padding:0 3vw}.desktop-nav{gap:16px}.hero-copy{padding-left:5vw}.hero h1{font-size:clamp(75px,8.6vw,120px)}.hero-trust{margin-top:32px}.hero-art{min-height:580px}.section-pad{padding:100px 5vw}.gallery-collage{grid-template-rows:250px 250px}.story-copy-side{padding:70px 6vw}}@media(max-width:950px){.desktop-nav,.nav-book{display:none}.site-header{height:76px;padding:0 5vw}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;border:0;background:transparent;width:48px;height:48px;align-items:center}.mobile-menu-toggle span{width:25px;height:2px;background:var(--ink);transition:transform .2s}.mobile-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{position:absolute;z-index:99;left:0;right:0;top:106px;display:flex;flex-direction:column;gap:0;padding:16px 7vw 30px;background:var(--cream);box-shadow:0 22px 25px rgba(36,22,51,.12)}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:17px 0;font-family:var(--font-head);font-size:25px;border-bottom:1px solid var(--border)}.hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding:76px 16px 75px 5vw}.hero h1{font-size:clamp(65px,8.8vw,95px)}.hero-copy>p{font-size:14px}.hero-actions{gap:15px}.hero-trust{margin-top:35px}.hero-art{min-height:570px}.hero-small-photo{width:38%;height:28%;left:0;bottom:10%}.hero-photo-wrap{width:75%;left:12%}.hero-burst{width:96px;height:96px;right:1%;top:11%}.hero-burst span{font-size:15px}.hero-note{font-size:10px}.hero-note strong{font-size:14px}.hero-bottom-caption{display:none}.experience-grid{gap:10px}.tile-bottom{padding:16px 6px 0}.tile-image{height:230px}.tile-bottom h3{font-size:29px}.tile-bottom p{font-size:11px}.circle-link{display:none}.experience-tile{padding:8px 8px 20px}.package-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.package-heading h2{font-size:95px}.gallery-collage{grid-template-rows:210px 210px}.story-copy-side h2{font-size:55px}.booking-side{opacity:.28}.booking-content{max-width:690px}}@media(max-width:650px){.announcement{height:27px;font-size:8px}.announcement .ann-mid{display:none}.site-header{height:72px}.logo{min-width:0}.logo-mouse{height:46px;width:46px}.logo-words{font-size:25px}.logo-words>span{left:60px}.mobile-nav{top:99px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:55px 7vw 42px}.hero h1{font-size:clamp(75px,13.5vw,112px);margin:30px 0 22px;line-height:.87}.hero-copy>p{font-size:14px;max-width:500px}.hero-actions{gap:18px}.hero-actions .button{padding:16px 19px}.text-link{font-size:11px}.hero-trust{margin-top:28px}.hero-art{width:100%;min-height:450px;height:450px;border-radius:0 0 33% 12%}.hero-photo-wrap{height:85%;width:62%;left:22%;top:6%;border-width:7px}.hero-photo{object-position:55% 40%}.hero-small-photo{width:37%;height:34%;bottom:8%;left:4%;border-width:6px}.hero-burst{width:103px;height:103px;right:6%;top:2%}.hero-note{right:4%;bottom:4%}.hero-doodle{left:51%;bottom:1%}.hero-star.star1{font-size:40px;left:7%;top:2%}.hero-star.star2{font-size:49px;right:4%;bottom:27%}.marquee-band{padding:11px 0}.marquee-track{gap:20px}.marquee-track span{font-size:18px}.section-pad{padding:83px 6vw}.section-intro{margin-bottom:44px}.section-intro h2,.gallery-heading h2,.how-head h2,.faq-left h2{font-size:clamp(45px,10vw,68px)}.section-intro>p{font-size:13px}.experience-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -6vw;padding:0 6vw 20px;gap:15px}.experience-grid::-webkit-scrollbar{display:none}.experience-tile{flex:0 0 80%;scroll-snap-align:center;margin-top:0;border-radius:170px 170px 25px 25px;padding:9px 9px 22px}.tile-image{height:300px}.tile-bottom{padding:18px 11px 0}.tile-bottom h3{font-size:36px}.circle-link{display:grid}.little-note{gap:8px;margin-top:22px;font-size:12px}.little-note .asterisk{font-size:20px}.section-topline .topline-right{display:none}.package-heading{display:block;margin:38px 0 20px}.package-heading h2{font-size:clamp(69px,15vw,100px)}.package-heading>p{max-width:390px;width:100%;margin:24px 0 0;font-size:13px}.package-filters{margin:25px 0 17px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filter{flex:none;font-size:11px}.package-cards{grid-template-columns:1fr;gap:13px}.package-card{padding:9px}.package-card .package-image{height:220px}.package-body{padding:19px 12px 13px}.package-top h3{font-size:34px}.package-short{min-height:0}.package-footnote{display:block;font-size:10px;margin-bottom:30px}.package-footnote a{display:inline-block;margin-top:13px}.extras-strip{padding:22px;gap:14px;align-items:flex-start;flex-wrap:wrap}.extra-icon{font-size:37px}.extras-strip>div{flex:1}.extras-strip strong{font-size:20px}.extras-strip p{font-size:11px}.extras-strip .button{margin-left:49px;padding:12px 18px}.gallery-heading{display:block;margin-bottom:33px}.gallery-heading h2{font-size:clamp(48px,10vw,70px)}.gallery-heading-right{max-width:100%;margin-top:12px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.handdrawn-smile{font-size:38px;margin:0}.gallery-heading-right p{flex:1;margin:0;font-size:12px}.gallery-heading-right .text-link{margin:0 0 0 55px}.gallery-collage{grid-template-columns:1fr 1fr;grid-template-rows:260px 175px 175px;gap:11px}.gallery-a{grid-column:1;grid-row:1/3;border-radius:130px 130px 16px 16px}.gallery-b{grid-column:2;grid-row:1}.gallery-c{grid-column:2;grid-row:2}.gallery-d{grid-column:1;grid-row:3}.gallery-e{grid-column:2;grid-row:3;border-radius:16px 16px 65px 16px}.gallery-sticker{width:80px;height:80px;left:39%;top:52%;font-size:15px}.gallery-sticker span{font-size:15px}.gallery-hover{display:none}.gallery-credit{font-size:8px;line-height:1.9}.story-section{grid-template-columns:1fr}.story-photo-side{min-height:410px;max-height:470px}.story-copy-side{padding:78px 7vw 85px}.story-copy-side h2{font-size:clamp(52px,11vw,72px)}.how-steps{display:flex;flex-direction:column;gap:55px}.how-steps:before{display:none}.how-steps article{max-width:310px;margin:auto}.step-graphic{height:140px;width:140px;margin:12px auto 15px}.step-graphic span{font-size:76px}.how-head h2{margin-bottom:40px}.faq-section{display:block}.faq-left h2{margin:22px 0 13px}.faq-left>p{font-size:13px}.faq-star{display:none}.faq-accordion{padding:25px 0 0}.faq-accordion summary{min-height:76px;font-size:20px}.faq-accordion details p{margin-right:12px}.booking-section{padding:80px 7vw 77px;min-height:0}.booking-blob{width:400px;height:400px;right:-250px;top:40px}.booking-stars.star-a{right:4%;top:12%;font-size:65px}.booking-stars.star-b{right:4%;bottom:10%;font-size:48px}.booking-content h2{font-size:clamp(64px,13vw,90px)}.booking-content>p{font-size:13px}.booking-side{display:none}.form-line{grid-template-columns:1fr;gap:0}.inquiry-form label{font-size:11px}.form-submit{flex-direction:column;align-items:flex-start;gap:9px}.form-submit span{max-width:290px}.booking-direct{line-height:1.9}.footer{padding:70px 7vw 25px}.footer-top{display:block;padding-bottom:55px}.footer-logo{font-size:60px}.footer-links{margin:40px 0 0;justify-content:space-between;gap:18px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:13px;line-height:1.7}}@media(max-width:380px){.hero h1{font-size:70px}.hero-art{height:390px;min-height:390px}.hero-actions{align-items:flex-start;flex-direction:column}.tile-image{height:260px}.experience-tile{flex-basis:89%}.logo-words{font-size:22px}.logo-words>span{left:53px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.marquee-track{animation:none}.js-reveal [data-reveal]{opacity:1;transform:none}}
/* Contain tilted decorative elements without a horizontal scrollbar. */
html{overflow-x:clip}.marquee-band{transform:none;clip-path:polygon(0 13%,100% 0,100% 87%,0 100%);margin:-13px 0 14px;padding:21px 0 20px}

/* --- Boutique playground refresh --- */
/* HAPPY MOUSE — playground editorial art direction, v2 */
:root{
 --ink:#2c2438;--cream:#fffbf3;--purple:#6c47cb;--deep-purple:#52339f;
 --lavender:#e6dcfa;--pink:#ffbfd6;--yellow:#ffde69;--mint:#c2eecd;
 --blue:#ceecf1;--orange:#f5846a;
}
body{background:var(--cream)}
.site-header{background:#fffbf7;box-shadow:0 1px 0 #29243712;transition:background .25s}
.announcement{background:#2b2338;color:#fbe7a6;letter-spacing:.18em;height:32px}
.announcement .ann-mid{color:#f4d8ff;opacity:.8}
.logo-words>span{color:var(--purple)}
.desktop-nav a{font-size:12px;position:relative}
.desktop-nav a:after{content:"";position:absolute;bottom:-9px;left:0;right:100%;height:3px;background:var(--orange);border-radius:5px;transition:right .2s ease}
.desktop-nav a:hover:after{right:0}
.nav-book{border-radius:28px 28px 28px 8px;padding:16px 20px;background:var(--purple)}
.nav-book:hover{background:var(--ink)}
.button{letter-spacing:.005em}
.button-purple{background:var(--yellow);color:var(--ink);box-shadow:0 5px 0 #d3af49}
.button-purple:hover{background:#ffeb9e;color:var(--ink);box-shadow:0 7px 0 #d3af49}
.hero{grid-template-columns:51% 49%;min-height:695px;background:#fff9f2}
.hero-copy{padding-top:clamp(72px,8.5vw,120px);padding-bottom:85px;padding-left:max(7vw,35px);background:radial-gradient(ellipse at 4% 95%,#ffe9dc 0%,transparent 41%)}
.eyebrow{color:#6f507c;letter-spacing:.16em}
.eyebrow-flower{color:#f483a5;filter:drop-shadow(0 2px 0 #ffdde9)}
.hero h1{font-size:clamp(90px,8.3vw,145px);margin:36px 0 30px;position:relative;z-index:2}
.hero-big{color:var(--purple);filter:drop-shadow(0 6px 0 #ddc9ff)}
.outlined-joy{color:#2c2438;-webkit-text-stroke:0;text-stroke:0}
.outlined-joy:before{content:"";position:absolute;background:#ffce77;height:13px;border-radius:100%;left:4%;right:4%;bottom:1%;z-index:-1;transform:rotate(-5deg)}
.joy-period{color:var(--orange)}
.hero-copy>p{line-height:1.68;color:#625969;font-size:16px;max-width:465px}
.hero-actions .button{padding:20px 25px;border-radius:18px 40px 40px 40px}
.hero-trust{margin-top:52px}
.hero-art{border-radius:0 0 0 90px;min-height:680px;background:radial-gradient(circle at 62% 35%,#fceafd 0%,#e0ccfb 67%,#d4bdf5 100%)}
.hero-art:before{background-image:radial-gradient(#fff 2px,transparent 2.3px);background-size:43px 43px;opacity:.53}
.hero-orbit{border-color:rgba(100,66,175,.14);border-width:2px}
.hero-photo-wrap{width:76%;height:80%;left:12%;top:10%;border:11px solid #fffaf2;border-radius:46% 46% 32% 30% / 38% 38% 20% 22%;transform:rotate(5deg);box-shadow:20px 24px 0 rgba(124,86,193,.24),0 28px 55px #654cac24;background:#eae0ff}
.hero-photo{transform:rotate(-5deg) scale(1.15)}
.hero-photo-wrap:hover .hero-photo{transform:rotate(-1deg) scale(1.21)}
.hero-photo-wrap:hover{transform:rotate(1deg)}
.art-caption{position:absolute;top:14px;left:50%;transform:translateX(-50%) rotate(-5deg);z-index:3;white-space:nowrap;padding:8px 14px;background:rgba(255,255,255,.92);border-radius:100px;font-size:9px;font-weight:900;letter-spacing:.17em;color:#4d3a7a;box-shadow:0 3px 15px #3b204120}
.hero-burst{background:#ffdf64;z-index:6;right:0;top:7%;width:142px;height:142px;filter:drop-shadow(0 8px 0 #f0c44a);animation:wobble 5s ease-in-out infinite}
.hero-burst span{color:var(--ink);font-size:19px}
.hero-small-photo{z-index:7;width:37%;height:35%;left:-1%;bottom:5%;border:9px solid #fffaf2;border-radius:45% 44% 42% 35%;box-shadow:12px 15px 0 #af8cea50}
.hero-note{z-index:7;right:5%;bottom:5%;background:#fff9ed;border:1px solid #e9bfff;border-radius:50px 50px 16px 50px;box-shadow:5px 5px 0 #ffdc69;padding:14px 17px;font-size:10px;transform:rotate(-10deg)}
.hero-note strong{font-size:17px}
.hero-side-note{position:absolute;z-index:6;left:12px;top:40%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;font-weight:900;letter-spacing:.2em;color:#5c4092}
.hero-bottom-caption{bottom:15px}
.hero-star.star1{left:4%;top:8%;color:#ef90b4}
.hero-star.star2{right:1%;bottom:36%;color:#8154df}
.marquee-band{background:#ffdd68;border:0;clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);margin:-5px 0 0;padding:25px 0 25px}
.marquee-track span{font-size:25px}
.promise-strip{padding:35px max(6.5vw,28px) 29px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:#fffbf3;border-bottom:1px solid #2c243812}
.promise{display:flex;align-items:center;gap:14px;justify-content:center;min-width:0}
.promise-symbol{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-family:var(--font-head);font-size:32px;color:var(--ink);transform:rotate(-10deg)}
.symbol-sun{background:#ffdb82}.symbol-heart{background:#ffcfdb}.symbol-star{background:#d7cbfa}
.promise strong{display:block;font-family:var(--font-head);font-size:19px;line-height:1.2}
.promise small{display:block;color:#766a7c;font-size:11px;margin-top:5px}
.section-pad{padding-top:104px;padding-bottom:108px}
.kicker{color:#6f5480}
.section-intro{max-width:960px;margin-bottom:64px}
.section-intro h2{font-size:clamp(60px,6.5vw,97px);line-height:.99}
.section-intro>p{font-size:15px}
.experience-grid{gap:23px}
.experience-tile{box-shadow:0 10px 0 #2924370a;border-radius:180px 180px 32px 32px;padding:12px 12px 27px}
.tile-soft{background:#bfeccc}.tile-pit{background:#ffc3d2;margin-top:34px}.tile-bounce{background:#c9e9f8;margin-top:12px}
.tile-image{border:5px solid #fff9f6;border-radius:180px 180px 18px 18px;height:clamp(245px,25vw,378px);background:#eee0fc}
.tile-bottom h3{font-size:clamp(30px,3vw,43px);letter-spacing:-.045em}
.tile-bottom p{font-size:12px;color:#504758}
.tile-category{letter-spacing:.13em!important}
.circle-link{background:var(--ink)!important;color:#fff!important;border-radius:50%!important}
.little-note{color:#785a8b;font-weight:700}
.packages-section{background:#e9e0f9;position:relative;isolation:isolate;overflow:hidden}
.packages-section:before{content:"";position:absolute;z-index:-1;top:-210px;right:-260px;width:600px;height:600px;border-radius:50%;background:#f8f0fd}
.package-heading h2{font-size:clamp(78px,9vw,142px)}
.package-heading>p{font-size:15px;color:#5b5267}
.package-filters{gap:10px;margin:44px 0 22px}
.filter{background:#ffffff94;border-color:#cec1dc;backdrop-filter:blur(4px);font-size:12px;padding:14px 21px}
.filter.active{box-shadow:0 5px 0 #bcaad5}
.package-cards{gap:20px}
.package-card{background:#fffaf4;border-radius:28px;padding:10px;border:1px solid #ffffff;box-shadow:0 6px 0 #bdafd720}
.package-card .package-image{height:240px;border-radius:19px 19px 45px 19px;background:#ebe2fc}
.package-card:nth-child(3n + 2) .package-image{border-radius:19px 75px 19px 19px}
.package-card:nth-child(3n + 3) .package-image{border-radius:75px 19px 19px 19px}
.package-card .package-badge{top:15px;left:15px;padding:10px 14px;font-size:10px;background:#ffdd67;box-shadow:0 3px 0 #dbb959}
.package-card .package-number{top:15px;right:16px;font-size:15px;text-shadow:0 2px 10px #272433a8}
.package-body{padding:22px 14px 16px}
.package-top h3{font-size:clamp(29px,2.5vw,38px)}
.package-price{font-size:30px;color:#663ac4}
.package-short{color:#6b5f70;font-size:12px}
.feature-chips span{background:#f0eafa;color:#5c506a}
.package-cta{padding-top:13px}
.package-cta button{font-size:12px}
.package-cta button span:last-child{background:#ffdd67;width:40px;height:40px}
.package-cta button:hover span:last-child{background:#d1f4e1}
#packageCards[data-mode="all"] .package-card:first-child,#packageCards[data-mode="all"] .package-card:last-child{grid-column:span 2;flex-direction:row;align-items:stretch;min-height:310px}
#packageCards[data-mode="all"] .package-card:first-child .package-image,#packageCards[data-mode="all"] .package-card:last-child .package-image{width:53%;height:auto;min-height:300px;flex:none;border-radius:22px 125px 22px 22px}
#packageCards[data-mode="all"] .package-card:first-child .package-body,#packageCards[data-mode="all"] .package-card:last-child .package-body{padding:29px 24px 22px}
#packageCards[data-mode="all"] .package-card:first-child .package-top,#packageCards[data-mode="all"] .package-card:last-child .package-top{display:block}
#packageCards[data-mode="all"] .package-card:first-child .package-price,#packageCards[data-mode="all"] .package-card:last-child .package-price{font-size:33px;margin-top:16px}
#packageCards[data-mode="all"] .package-card:first-child .package-price small,#packageCards[data-mode="all"] .package-card:last-child .package-price small{text-align:left}
#packageCards[data-mode="all"] .package-card:first-child h3,#packageCards[data-mode="all"] .package-card:last-child h3{font-size:50px}
.package-footnote{font-size:11px}
.extras-strip{background:#ffde68;transform:rotate(-1deg);border:2px solid #2c2438;box-shadow:8px 8px 0 #bba0df;border-radius:34px}
.gallery-section{background:#fff9f2}
.gallery-heading h2{line-height:.99}
.gallery-collage{gap:20px;grid-template-rows:300px 270px}
.gallery-photo{border:7px solid #fff;box-shadow:0 9px 25px #35204719;border-radius:24px}
.gallery-a{border-radius:46% 46% 24px 24px/24% 24% 24px 24px}
.gallery-e{border-radius:24px 24px 115px 24px}
.gallery-sticker{background:#ffdc66;box-shadow:0 8px 0 #ecc450}
.story-section{background:#d9f2e1}
.story-photo-side{background:#d3c8f5}
.story-photo-side img{object-position:center 45%}
.story-copy-side h2{line-height:1.02}
.how-section{background:#fffaf4}
.step-graphic{box-shadow:0 0 0 2px var(--ink),5px 10px 0 #eedbee}
.faq-section{background:#f7e9fa}
.booking-section{background:#ffc7db}
.booking-content>p{max-width:530px}
.inquiry-form{backdrop-filter:blur(1px)}
.footer{background:#2c2539;color:#fffbf4}
.footer-logo span{color:#ffda67!important}
.footer h3,.footer-bottom{color:#e8d7fa!important}
.footer a:hover{color:#ffdb73}
@keyframes wobble{0%,100%{transform:rotate(12deg)}50%{transform:rotate(19deg)}}
@media(max-width:1200px){
 .hero{grid-template-columns:49% 51%}.hero-copy{padding-left:5vw}
 .hero h1{font-size:clamp(73px,8.4vw,120px)}
 #packageCards[data-mode="all"] .package-card:first-child h3,#packageCards[data-mode="all"] .package-card:last-child h3{font-size:39px}
 .gallery-collage{grid-template-rows:260px 240px}
}
@media(max-width:950px){
 .hero{min-height:570px}.hero-art{min-height:590px;border-bottom-left-radius:70px}
 .hero-copy{padding-top:78px}.hero h1{font-size:clamp(65px,8.3vw,90px)}
 .hero-burst{width:110px;height:110px}
 .promise-strip{gap:14px;padding:29px 3vw}.promise strong{font-size:16px}.promise small{font-size:10px}
 #packageCards[data-mode="all"] .package-card:first-child,#packageCards[data-mode="all"] .package-card:last-child{grid-column:span 2}
 .gallery-collage{grid-template-rows:225px 225px}
}
@media(max-width:650px){
 .announcement{height:29px;font-size:8px}
 .site-header{height:70px;padding:0 5.5vw}
 .mobile-nav{top:99px;background:#fffaf4}
 .hero{display:flex;flex-direction:column}
 .hero-copy{padding:47px 7vw 35px}
 .hero h1{font-size:clamp(64px,13.4vw,89px);margin:26px 0 20px;letter-spacing:-.062em}
 .hero-copy>p{font-size:14px;line-height:1.55;max-width:440px;margin-bottom:22px}
 .hero-actions{gap:16px}
 .hero-actions .button{padding:17px 22px;font-size:12px}
 .hero-trust{margin-top:28px}
 .hero-art{min-height:420px;height:420px;border-radius:80px 0 0 0;margin-left:18px;width:calc(100% - 18px)}
 .hero-photo-wrap{height:83%;width:68%;left:17%;top:9%;border-width:7px}
 .hero-small-photo{width:39%;height:34%;left:-4%;bottom:4%;border-width:6px}
 .hero-burst{width:105px;height:105px;top:3%;right:3%}
 .hero-note{right:2%;bottom:6%;font-size:9px;padding:11px 12px}
 .hero-note strong{font-size:13px}
 .hero-side-note{left:8px;font-size:6px}
 .hero-bottom-caption{display:none}
 .marquee-band{padding:17px 0}
 .promise-strip{grid-template-columns:1fr;gap:13px;padding:31px 7vw 32px}
 .promise{justify-content:flex-start;gap:15px}
 .promise-symbol{width:44px;height:44px;font-size:27px}
 .promise strong{font-size:17px}.promise small{font-size:11px;margin-top:2px}
 .section-pad{padding:78px 6vw}
 .section-intro h2{font-size:clamp(47px,10vw,72px)}
 .experience-grid{gap:15px}
 .experience-tile{flex-basis:81%;margin-top:0;padding:8px 8px 20px}
 .tile-image{height:295px;border-width:4px}
 .package-heading h2{font-size:clamp(66px,14vw,88px)}
 .package-heading>p{font-size:13px}
 .package-filters{margin-top:29px}
 .package-cards{grid-template-columns:1fr;gap:16px}
 #packageCards[data-mode="all"] .package-card:first-child,#packageCards[data-mode="all"] .package-card:last-child{grid-column:auto;flex-direction:column;min-height:0}
 #packageCards[data-mode="all"] .package-card:first-child .package-image,#packageCards[data-mode="all"] .package-card:last-child .package-image{width:100%;height:250px;min-height:0;border-radius:20px 20px 75px 20px}
 #packageCards[data-mode="all"] .package-card:first-child .package-body,#packageCards[data-mode="all"] .package-card:last-child .package-body{padding:20px 14px 15px}
 #packageCards[data-mode="all"] .package-card:first-child .package-top,#packageCards[data-mode="all"] .package-card:last-child .package-top{display:flex}
 #packageCards[data-mode="all"] .package-card:first-child h3,#packageCards[data-mode="all"] .package-card:last-child h3{font-size:34px}
 #packageCards[data-mode="all"] .package-card:first-child .package-price,#packageCards[data-mode="all"] .package-card:last-child .package-price{margin-top:0;font-size:30px}
 #packageCards[data-mode="all"] .package-card:first-child .package-price small,#packageCards[data-mode="all"] .package-card:last-child .package-price small{text-align:right}
 .package-card .package-image{height:250px}
 .extras-strip{transform:rotate(0);border-radius:23px;box-shadow:5px 5px 0 #bba0df}
 .gallery-collage{gap:10px;grid-template-rows:280px 182px 182px}
 .gallery-photo{border-width:4px}
 .gallery-a{border-radius:130px 130px 16px 16px}
 .gallery-sticker{top:54%}
 .story-photo-side{min-height:385px}
 .footer{padding:70px 7vw 25px}
}
@media(max-width:380px){.hero h1{font-size:61px}.hero-art{height:370px;min-height:370px}.hero-burst{width:95px;height:95px}}
@media(prefers-reduced-motion:reduce){.hero-burst{animation:none}}

/* === Mobile UX polish: desktop layouts remain untouched === */
.mobile-more-wrap,.mobile-booking-dock{display:none}
.mobile-more-wrap[hidden],.mobile-booking-dock[hidden]{display:none!important}
@media(max-width:650px){
  html{scroll-padding-top:20px}
  .hero-copy{padding:34px 7vw 23px}
  .hero h1{margin:22px 0 17px}
  .hero-copy>p{font-size:14px;line-height:1.56;margin-bottom:18px}
  .hero-actions{gap:13px}
  .hero-actions .button{min-height:54px;padding:16px 22px}
  .hero-trust{margin-top:22px}
  .hero-art{height:390px;min-height:390px}
  .hero-small-photo{bottom:6%}
  .experience-grid{overscroll-behavior-x:contain;padding-bottom:15px}
  .experience-tile{scroll-snap-align:start}
  .experience .section-intro{margin-bottom:29px}
  .experience .section-intro:after{content:'SWIPE TO EXPLORE  →';display:inline-block;margin:22px auto 0;padding:8px 13px;border-radius:100px;background:#f0e3fc;color:#6744a4;letter-spacing:.14em;font-size:10px;font-weight:800}
  .package-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:25px 0 17px}
  .filter{width:100%;min-width:0;min-height:48px;white-space:normal;font-size:11px;line-height:1.15;padding:10px 6px;display:flex;gap:4px;align-items:center;justify-content:center;text-align:center}
  .filter span{font-size:10px}
  .package-cards{gap:14px}
  .package-card{padding:9px;border-radius:25px}
  .package-card.mobile-card-collapsed{display:none!important}
  .package-card .package-image,#packageCards[data-mode="all"] .package-card:first-child .package-image,#packageCards[data-mode="all"] .package-card:last-child .package-image{height:193px;min-height:0}
  .package-card .package-badge{font-size:9px;padding:9px 11px;max-width:76%}
  .package-card .package-number{font-size:10px}
  .package-body,#packageCards[data-mode="all"] .package-card:first-child .package-body,#packageCards[data-mode="all"] .package-card:last-child .package-body{padding:17px 13px 10px}
  .package-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
  .package-top h3,#packageCards[data-mode="all"] .package-card:first-child h3,#packageCards[data-mode="all"] .package-card:last-child h3{font-size:clamp(25px,7vw,32px);line-height:1.02;letter-spacing:-.04em;margin:0}
  .package-price,#packageCards[data-mode="all"] .package-card:first-child .package-price,#packageCards[data-mode="all"] .package-card:last-child .package-price{font-size:clamp(25px,7vw,31px);margin-top:0}
  .package-price small{font-size:9px}
  .package-short{margin:11px 0 11px;min-height:0;font-size:13px;line-height:1.5}
  .feature-chips{gap:6px;margin-bottom:13px}
  .feature-chips span{font-size:10px;line-height:1.3;padding:7px 10px}
  .package-cta{padding-top:6px}
  .package-cta button{min-height:49px;font-size:12px}
  .package-cta button span:last-child{width:40px;height:40px}
  .mobile-more-wrap{display:block;margin:19px 0 28px}
  .mobile-more-button{width:100%;display:flex;align-items:center;gap:12px;background:#ffdf75;border:2px solid #35283c;box-shadow:0 6px 0 #bc9cde;border-radius:22px;text-align:left;padding:15px 15px;color:var(--ink);min-height:80px;transition:transform .2s,box-shadow .2s}
  .mobile-more-button:active{transform:translateY(4px);box-shadow:0 2px 0 #bc9cde}
  .mobile-more-icon{font-size:25px;color:#7650be;flex:none}
  .mobile-more-text{display:flex;flex-direction:column;gap:3px;flex:1}
  .mobile-more-text strong{font-family:var(--font-head);font-size:21px;font-weight:700;line-height:1.1}
  .mobile-more-text small{font-size:11px;line-height:1.3;color:#635567}
  .mobile-more-arrow{font-size:25px;font-weight:800}
  .package-footnote{font-size:11px;line-height:1.65}
  .package-footnote a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
  .booking-section{padding:71px 7vw 71px}
  .booking-blob{width:145px;height:145px;right:-58px;top:20px;opacity:.85}
  .booking-stars.star-a{right:11px;top:40px;font-size:39px}
  .booking-stars.star-b{right:6%;bottom:9%;font-size:34px}
  .booking-content h2{font-size:clamp(49px,14.4vw,67px);line-height:.96;letter-spacing:-.055em;margin-top:23px;margin-bottom:23px}
  .booking-content>p{font-size:14px;line-height:1.6;max-width:340px}
  .inquiry-form label{font-size:12px;gap:8px}
  .inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px;min-height:52px}
  .inquiry-form textarea{min-height:100px}
  .form-submit .button{width:100%;min-height:54px;justify-content:space-between;padding-left:21px;padding-right:21px}
  .form-submit>span{font-size:11px;line-height:1.5;display:block}
  .booking-direct{display:flex;gap:7px;flex-wrap:wrap;font-size:12px;line-height:1.8;align-items:center}
  .booking-direct a{display:inline-flex;align-items:center;min-height:40px}
  .footer{padding:60px 7vw 30px}
  .footer-logo{display:inline-flex;align-items:baseline;white-space:nowrap;font-size:clamp(39px,10vw,53px);letter-spacing:-.055em;max-width:100%}
  .footer-logo b{display:none}
  .footer-top{padding-bottom:47px}
  .footer-links{margin-top:30px;gap:12px}
  .footer-links>div{gap:0}
  .footer-links a{min-height:41px;display:flex;align-items:center;font-size:13px;line-height:1.4}
  .footer-bottom{gap:6px;font-size:9px}
  .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .mobile-booking-dock:not([hidden]){display:block;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:140;filter:drop-shadow(0 7px 0 #f0a8b6)}
  .mobile-booking-dock a{display:flex;gap:11px;align-items:center;background:#fffaf2;border:2px solid #302738;border-radius:23px;padding:10px 11px;min-height:67px;box-shadow:0 11px 30px #30273832}
  .mobile-dock-flower{display:grid;place-items:center;flex:none;width:34px;height:34px;background:#e8d4ff;border-radius:12px;font-size:25px;color:#6847b5}
  .mobile-dock-copy{font-family:var(--font-head);font-size:14px;font-weight:700;line-height:1.1;min-width:0;flex:1}
  .mobile-dock-copy small{display:block;font:600 10px/1.5 var(--font-body);color:#736579;margin-top:4px}
  .mobile-dock-action{display:flex;gap:6px;align-items:center;justify-content:center;flex:none;background:#292437;color:#fff;border-radius:15px;padding:12px 12px;font-size:12px;font-weight:800;white-space:nowrap}
}
@media(max-width:350px){
 .hero h1{font-size:61px}
 .hero-art{height:350px;min-height:350px}
 .hero-trust{gap:11px}
 .hero-actions .button{width:100%;justify-content:space-between}
 .package-heading h2{font-size:64px}
 .filter{font-size:10px}
 .mobile-dock-flower{display:none}
 .mobile-more-text strong{font-size:19px}
 .footer-logo{font-size:38px}
}
