@font-face{font-family:ShishiHand;src:url('/assets/personal-hand.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--pink:#e7217b;--ink:#3e4842;--muted:#737b75;--green:#425b4b;--blush:#fff4f7;--line:#e6ebe6;--hand:ShishiHand,cursive;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--pink);outline-offset:7px}::selection{background:#fce0eb;color:#5a3542}.skip{position:fixed;left:16px;top:-80px;z-index:60;background:white;padding:15px}.skip:focus{top:10px}.header{height:85px;margin:0 auto;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:10;background:white}.wordmark{font-family:var(--hand);font-size:39px;color:var(--pink);position:relative;width:98px}.tiny-star{font:23px var(--serif);position:absolute;top:4px;left:27px;transform:rotate(-20deg)}nav{display:flex;gap:38px;align-items:center}nav a{font-size:11px;letter-spacing:.09em;padding:16px 0;border-bottom:1px solid transparent}nav a:hover{color:var(--pink);border-color:#f6c3d6}.motion-toggle{border:0;background:none;font-size:10px;letter-spacing:.04em;display:flex;gap:8px;align-items:center;min-height:44px;padding:8px 0;color:var(--muted)}.motion-icon{font-size:15px}.welcome{text-align:center;padding:48px 20px 0;position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:400;margin:0 0 22px;color:var(--muted);line-height:1.5}.title-wrap{position:relative;display:inline-block}h1{font-family:var(--hand);font-size:clamp(66px,7.8vw,118px);font-weight:400;line-height:1.2;letter-spacing:-.055em;margin:0;color:var(--pink);padding:0 22px 3px}.title-star{position:absolute;font:36px var(--serif);color:#d8a5b4}.star-one{left:-40px;top:10px;font-size:30px;transform:rotate(-15deg)}.star-two{right:-47px;bottom:25px;font-size:45px;transform:rotate(12deg)}.tagline{font-size:15px;letter-spacing:.025em;margin:13px 0 0;color:#5b645e}.wander-link{display:inline-flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.08em;margin-top:34px;min-height:36px;color:var(--muted)}.wander-link span{font-size:20px;animation:invitation 3s ease-in-out infinite}.wander-link:hover{color:var(--pink)}.village{padding-top:16px;scroll-margin-top:0}.village-scene{position:relative;max-width:1440px;margin:0 auto;isolation:isolate}.village-art{display:block;width:100%;height:auto}.destination{position:absolute;border:0;background:transparent;top:30%;height:42%;width:19%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:1.5%;z-index:3}.destination-bloomy{left:16%}.destination-shishis{left:39%}.destination-sets{left:65%}.door-marker{width:38px;height:38px;background:white;border:1px solid #dfd1d4;box-shadow:0 3px 16px #cfaeb12b;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s,color .3s,border-color .3s;font-family:var(--serif);font-size:13px;color:#6b746c;position:relative}.marker-arrow{display:none;font-size:19px}.destination:hover .door-marker,.destination:focus-visible .door-marker{background:var(--pink);color:white;border-color:var(--pink);transform:translateY(-6px)}.destination:hover .door-marker>span:first-child{display:none}.destination:hover .marker-arrow{display:block}.door-tooltip{position:absolute;bottom:calc(7% + 42px);left:50%;transform:translate(-50%,6px);background:white;padding:10px 14px;border-radius:2px;box-shadow:0 4px 25px #31463912;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.destination:hover .door-tooltip,.destination:focus-visible .door-tooltip{opacity:1;transform:translate(-50%,0)}.boat-route{position:absolute;top:78%;left:15%;width:14%;animation:sail 55s linear infinite alternate;z-index:2;pointer-events:none}.boat{display:block;width:100%;height:auto;animation:bob 5s ease-in-out infinite}.window-glow{position:absolute;left:47.1%;top:23%;width:3%;height:5%;background:#fff4c3;opacity:.2;mix-blend-mode:multiply;border-radius:40% 40% 0 0;animation:windowlight 8s ease-in-out infinite;pointer-events:none}.water-lines{position:absolute;left:33%;top:86%;width:28%;height:6%;pointer-events:none;opacity:.35}.water-lines i{position:absolute;width:34%;height:7px;border-bottom:1px solid #9eafa7;border-radius:50%;animation:ripple 7s ease-in-out infinite}.water-lines i:nth-child(2){left:58%;top:12px;animation-delay:-3s;width:27%}.water-lines i:nth-child(3){left:24%;top:28px;animation-delay:-5s;width:21%}.postbox-link{position:absolute;left:88%;top:57%;width:5%;height:14%;z-index:4;display:flex;align-items:flex-start;justify-content:center}.postbox-link span{font:18px var(--hand);color:var(--pink);opacity:0;white-space:nowrap;transform:translateY(-30px);background:white}.postbox-link:hover span,.postbox-link:focus-visible span{opacity:1}.village-caption{display:flex;align-items:center;justify-content:center;gap:25px;margin:-9px 20px 0;position:relative}.village-caption p{font-family:var(--hand);font-size:22px;line-height:1.4;margin:0;color:#69736a}.caption-line{height:1px;background:#e6e9e3;width:60px}.tap-hint{text-align:center;font-size:10px;letter-spacing:.07em;color:#8c928b;margin:13px 0 0}.village-directory{display:grid;grid-template-columns:repeat(3,1fr);max-width:1050px;margin:65px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.village-directory button{border:0;background:none;position:relative;text-align:left;min-height:133px;padding:25px 40px 25px 53px;display:flex;flex-direction:column;justify-content:center;transition:background .25s}.village-directory button+button{border-left:1px solid var(--line)}.village-directory button:hover{background:#fffbfc}.number{position:absolute;left:22px;top:40px;font:10px var(--serif);color:#acb1aa}.directory-name{font-family:var(--serif);font-size:27px;white-space:nowrap}.bloomy-name{color:var(--green);font-size:34px;letter-spacing:-.05em}.shishis-name{font-family:var(--hand);color:var(--pink);font-size:34px;line-height:1.15}.sets-name{font-size:23px;font-style:italic}.directory-description{font-size:10px;letter-spacing:.035em;margin-top:10px;color:var(--muted)}.directory-arrow{position:absolute;right:26px;top:40px;font-size:18px;color:#939d94;transition:transform .25s}.village-directory button:hover .directory-arrow{transform:translate(2px,-2px);color:var(--pink)}.scrapbook{max-width:1120px;margin:0 auto;padding:137px 40px 110px;scroll-margin-top:15px}.section-heading{text-align:center}.section-heading .eyebrow{margin-bottom:20px}h2{font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:-.03em;margin:0;line-height:1.2}.section-heading>p:last-child{font-size:13px;color:var(--muted);margin:20px 0 0;line-height:1.7}.postcards{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:40px;margin-top:67px;padding:0 15px}.postcard{display:block;position:relative;background:#fff;padding:13px 13px 24px;border:1px solid #e8e6e2;box-shadow:1px 4px 12px #26392b0c;transition:transform .4s,box-shadow .4s;transform:rotate(var(--tilt))}.postcard-one{--tilt:-4deg;margin-top:12px}.postcard-two{--tilt:3deg;margin-top:30px}.postcard-three{--tilt:-3deg}.postcard:hover{transform:rotate(0) translateY(-8px);box-shadow:1px 9px 20px #26392b10}.postcard-photo{height:260px;overflow:hidden;background:#f7f5f0}.postcard-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.postcard-one img{object-position:center 60%}.postcard-two img{object-position:center 36%}.postcard-three img{object-position:center}.postcard:hover img{transform:scale(1.03)}.postcard-caption{font:17px var(--hand);display:block;line-height:1.4;margin-top:18px;padding-right:13px;color:#697164}.photo-arrow{position:absolute;bottom:30px;right:14px;color:#b091a0;font-size:15px}.tape{position:absolute;width:65px;height:22px;background:#f4e6ce9c;left:calc(50% - 32px);top:-12px;z-index:2;transform:rotate(-4deg);clip-path:polygon(0 0,100% 3%,97% 17%,100% 35%,97% 53%,100% 78%,98% 100%,0 96%,3% 77%,0 59%,3% 30%)}.postcard-two .tape{background:#efdce299;transform:rotate(6deg)}.scrapbook-links{display:flex;align-items:center;justify-content:center;gap:35px;margin-top:68px}.text-link{font-size:11px;letter-spacing:.025em;border-bottom:1px solid #c4cdc3;padding:0 0 9px;transition:color .25s,border-color .25s}.text-link span{margin-left:14px}.text-link:hover{color:var(--pink);border-color:var(--pink)}.link-star{font-size:23px;color:#c6aeb8}.hello{position:relative;text-align:center;padding:86px 20px 105px;background:linear-gradient(180deg,#fff 0%,#fffbfc 15%,#fff7f9 60%,#fff 100%)}.hello-star{font:50px var(--serif);color:#ddb4bf;display:block;margin-bottom:28px}.hello .eyebrow{margin-bottom:24px}.hello h2{font-size:42px}.hello-note{font-size:15px;line-height:1.9;color:#7c8076;margin:25px 0 0}.signature{font:36px var(--hand);color:var(--pink);margin:30px 0 34px;transform:rotate(-4deg)}.hello-button{border:1px solid #eccbd6;display:inline-flex;align-items:center;gap:32px;padding:17px 25px;min-height:49px;font-size:11px;letter-spacing:.035em;background:#fff;transition:background .25s,border-color .25s,color .25s}.hello-button:hover{background:var(--pink);border-color:var(--pink);color:white}.hello-button span{font-size:16px}footer{margin:0 4.5%;padding:30px 0 33px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#8b9187}footer p{margin:0}footer p a{border-bottom:1px solid #d9dfd5;padding-bottom:3px}.footer-name{font-family:var(--hand);font-size:23px;color:var(--pink)}.back-top{font-size:10px}footer a:hover{color:var(--pink)}.place-dialog{border:1px solid #e3e5de;padding:0;width:min(800px,calc(100% - 40px));max-height:calc(100svh - 48px);overflow:auto;background:white;color:var(--ink);box-shadow:0 10px 80px #31463924}.place-dialog[open]{display:grid;grid-template-columns:42% 58%;animation:dialogin .25s ease-out}.place-dialog::backdrop{background:#ebeeeadb;backdrop-filter:blur(5px)}.dialog-close{border:0;background:#ffffffd9;border-radius:50%;font:27px var(--serif);width:42px;height:42px;position:absolute;right:12px;top:12px;z-index:2;line-height:1}.dialog-close:hover{background:var(--blush);color:var(--pink)}.dialog-illustration{min-height:440px;background-color:#fff;background-image:url('/assets/village.png');background-repeat:no-repeat;background-size:auto 520px;background-position:25% center}.dialog-content{padding:65px 36px 44px}.dialog-content .eyebrow{font-size:8px;margin-bottom:22px}.dialog-content h2{font-size:47px;color:var(--green)}.place-subtitle{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4;margin:12px 0 18px}#place-description{font-size:13px;color:var(--muted);line-height:1.85;margin:0 0 25px}.dialog-content .hello-button{padding:14px 20px;gap:26px}.dialog-footnote{font:14px var(--hand);color:#9c9d90;margin:25px 0 0}.place-dialog[data-current="shishis"] h2{font-family:var(--hand);color:var(--pink)}.place-dialog[data-current="sets"] h2{font-size:36px}.section-reveal{opacity:1}.js .section-reveal{opacity:0;transform:translateY(20px);transition:opacity .9s,transform .9s}.js .section-reveal.is-visible{opacity:1;transform:translateY(0)}body.dialog-open{overflow:hidden}body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}body.motion-paused{scroll-behavior:auto}.motion-paused .section-reveal{transition:none}.motion-paused .section-reveal{opacity:1;transform:none}
@keyframes sail{0%{transform:translateX(0)}100%{transform:translateX(340%)}}@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(3px) rotate(1deg)}}@keyframes invitation{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes ripple{0%,100%{transform:translateX(0) scaleX(1);opacity:.4}50%{transform:translateX(12px) scaleX(1.15);opacity:.9}}@keyframes windowlight{0%,100%{opacity:.1}50%{opacity:.35}}@keyframes dialogin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.welcome{padding-top:65px}.village-scene{max-width:1450px}}
@media(max-width:1000px){.header{padding:0 5%;height:75px}.welcome{padding-top:38px}nav{gap:25px}.motion-text{display:none}.motion-toggle{width:44px;justify-content:flex-end}.wordmark{width:44px}.village-directory{margin:45px 5% 0}.village-directory button{padding:25px 35px 25px 40px}.number{left:14px}.directory-name{font-size:25px}.bloomy-name,.shishis-name{font-size:29px}.sets-name{font-size:21px}.directory-arrow{right:14px}.directory-description{font-size:9px}.postcards{gap:26px;padding:0}.postcard-photo{height:220px}.postcard-caption{font-size:15px}.scrapbook{padding:100px 5% 80px}.destination{padding-bottom:0}.door-marker{width:34px;height:34px}.postbox-link{width:7%;left:87%}.village-caption p{font-size:19px}.caption-line{width:40px}.hello{padding-top:65px}.place-dialog{width:min(760px,calc(100% - 40px))}}
@media(max-width:640px){html{scroll-padding-top:20px}.header{height:66px;padding:0 22px;gap:12px}nav{gap:20px}nav a{font-size:9px;letter-spacing:.01em}nav a:last-child{display:none}.wordmark{font-size:34px;width:35px}.tiny-star{font-size:19px;left:25px}.motion-toggle{width:32px}.welcome{padding:40px 15px 0}.eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:24px}h1{font-size:clamp(49px,11.3vw,71px);letter-spacing:-.06em;padding:0 7px}.title-star{font-size:20px}.star-one{left:-12px;top:-8px;font-size:19px}.star-two{right:-11px;bottom:-4px;font-size:26px}.tagline{font-size:12px;margin-top:18px}.wander-link{font-size:9px;margin-top:22px;gap:10px}.wander-link span{font-size:16px}.village{padding-top:24px}.village-scene{width:100%;overflow:hidden}.village-art{width:126%;max-width:none;margin-left:-13%}.destination{top:35%;height:38%;width:24%}.destination-bloomy{left:7.1%}.destination-shishis{left:36.8%}.destination-sets{left:69.5%}.door-marker{height:32px;width:32px;font-size:11px;box-shadow:0 2px 6px #cfaeb157;border-color:#d6bec6}.door-tooltip{display:none}.boat-route{top:80%;width:20%;left:8%;animation-duration:40s}.postbox-link{display:none}.window-glow{left:46%;top:23%;height:5%;width:4%}.village-caption{margin:17px 20px 0;gap:10px}.village-caption p{font-size:16px}.caption-line{width:20px;flex-shrink:0}.tap-hint{font-size:9px;margin-top:12px}.village-directory{display:flex;flex-direction:column;margin:37px 26px 0}.village-directory button{min-height:96px;padding:19px 48px 19px 38px}.village-directory button+button{border-left:0;border-top:1px solid var(--line)}.number{top:35px;left:5px;font-size:10px}.directory-name{font-size:28px}.bloomy-name{font-size:32px}.shishis-name{font-size:32px}.sets-name{font-size:25px}.directory-description{font-size:10px;margin-top:6px}.directory-arrow{top:37px;right:9px}.scrapbook{padding:83px 25px 60px}.section-heading h2{font-size:32px;max-width:280px;margin:auto;line-height:1.2}.section-heading>p:last-child{font-size:12px;max-width:250px;margin:19px auto 0}.postcards{gap:0;display:flex;flex-wrap:wrap;justify-content:center;margin:44px auto 0;max-width:430px;padding:0 4px}.postcard{width:75%;max-width:270px;padding:11px 11px 20px;margin:0 0 34px}.postcard-one{margin-right:auto;margin-left:10px}.postcard-two{margin-left:auto;margin-right:5px;margin-top:-7px}.postcard-three{margin-right:auto;margin-left:13px;margin-top:-5px}.postcard-photo{height:230px}.postcard-caption{font-size:16px}.scrapbook-links{margin:10px 0 0;gap:20px;flex-wrap:wrap}.text-link{font-size:10px}.text-link span{margin-left:5px}.link-star{font-size:18px}.hello{padding:50px 20px 75px}.hello h2{font-size:32px}.hello-note{font-size:13px;line-height:1.9}.signature{font-size:31px;margin:28px 0 31px}.hello-star{font-size:40px;margin-bottom:25px}.hello-button{font-size:10px;padding:15px 22px}footer{margin:0 25px;padding:25px 0 27px;flex-wrap:wrap;gap:16px}.footer-name{font-size:22px}footer p{font-size:9px}.back-top{width:100%;font-size:9px;margin-top:3px}.place-dialog{width:calc(100% - 32px);max-width:430px;max-height:calc(100svh - 40px)}.place-dialog[open]{display:block}.dialog-illustration{height:210px;min-height:0;background-size:auto 335px;background-position:25% 64%}.dialog-content{padding:25px 26px 30px}.dialog-content .eyebrow{margin-bottom:15px}.dialog-content h2{font-size:40px}.place-subtitle{font-size:19px;margin-top:8px}.dialog-content #place-description{font-size:12px;margin-bottom:20px}.dialog-footnote{margin-top:18px}.dialog-close{top:8px;right:8px}.place-dialog[data-current="sets"] h2{font-size:32px}@keyframes sail{0%{transform:translateX(0)}100%{transform:translateX(295%)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.motion-opt-in) *,body:not(.motion-opt-in) *:before,body:not(.motion-opt-in) *:after{animation:none!important;transition:none!important}.js .section-reveal{opacity:1;transform:none}}
.townhouse-sign{position:absolute;left:42.2%;top:39.7%;width:13%;text-align:center;font-family:var(--hand);font-size:clamp(13px,2.65vw,39px);color:var(--pink);transform:rotate(-4deg);line-height:1.3;pointer-events:none}@media(max-width:640px){.townhouse-sign{left:40.2%;width:16.4%;font-size:3.5vw;top:39.7%}}
