@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#292d28;--paper:#faf9f3;--yellow:#f4d544;--green:#677342;--line:#343b2828}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}a:focus-visible,button:focus-visible{outline:3px solid #718348;outline-offset:6px}header{height:106px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5;border-bottom:1px solid var(--line)}.logo{font-family:'Caveat',cursive;font-size:56px;font-weight:700;line-height:1;letter-spacing:-3px}.logo span{color:#8a873a}nav{display:flex;gap:36px;font-size:12px;letter-spacing:.16em}.header-link{font-size:13px;border-bottom:1px solid;padding:5px 0}.header-link span{margin-left:25px}.hero{position:relative;min-height:800px;height:calc(100svh - 106px);max-height:1040px;overflow:hidden}.hero-copy{position:relative;z-index:3;padding:85px 0 100px 8%;width:55%}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.15em}.hero h1{font-size:clamp(44px,5.4vw,86px);line-height:1.45;font-weight:600;letter-spacing:.015em;margin:32px 0 0}.yellow-dot{color:#b29511}.handwriting{font-family:'Caveat',cursive;font-size:49px;line-height:1.02;transform:rotate(-7deg);margin:8px 0 36px 110px;font-weight:500}.handwriting span{padding-left:45px}.hero-description{font-size:15px;line-height:2.2;margin:38px 0 24px}.button{display:inline-flex;gap:44px;align-items:center;background:var(--yellow);padding:16px 26px;font-size:14px;border:1px solid #353922;box-shadow:4px 4px 0 #343b28;transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 #343b28}.hero-art{position:absolute;width:62%;height:100%;right:-3%;top:0;isolation:isolate}.sun-disc{position:absolute;width:78%;aspect-ratio:1;top:7%;right:4%;border-radius:50%;background:#f5e89b}.grid-paper{position:absolute;width:65%;height:70%;right:7%;top:20%;background-color:#fff9;background-image:linear-gradient(#7f836512 1px,transparent 1px),linear-gradient(90deg,#7f836512 1px,transparent 1px);background-size:32px 32px;transform:rotate(8deg);border:1px solid #d7d4c8}.girl{position:absolute;height:96%;width:90%;object-fit:contain;right:3%;bottom:0;z-index:3;filter:drop-shadow(6px 9px 8px #5c542017);transform:translateY(var(--girl-y,0px))}.vine{pointer-events:none}.vine-hero{position:absolute;right:-11%;top:-16%;width:51%;z-index:4;transform-origin:80% 0;animation:sway 8s ease-in-out infinite}.glass-block{position:absolute;border:1px solid #fff;background:linear-gradient(120deg,#ffffffb0,#ffffff12 45%,#dedbb647,#fff9);box-shadow:inset 0 0 0 6px #fffa,9px 10px 0 #bbb89818;backdrop-filter:blur(2px);z-index:2;bottom:2%;width:33%;height:22%;transform:skewY(-7deg)}.glass-one{right:28%;bottom:10%}.glass-two{right:0;width:28%;height:17%}.photo{position:absolute;background:#fff;padding:10px 10px 28px;box-shadow:0 8px 24px #42391917;z-index:1;width:23%;transform:rotate(var(--rotation,-12deg));animation:drift 8s ease-in-out infinite}.photo span{font-family:'Caveat',cursive;font-size:15px;display:block;padding-top:5px;line-height:1}.photo-crop{aspect-ratio:1;background-image:url('assets/original.jpg');background-size:420%;background-position:97% 9%}.photo-one{left:5%;top:4%;--rotation:-13deg}.photo-two{right:3%;top:39%;--rotation:12deg;animation-delay:-4s;z-index:4}.photo-two .photo-crop{background-position:30% 67%}.note{position:absolute;background:#fff8de;padding:20px 27px;z-index:4;font:25px/1.05 'Caveat',cursive;box-shadow:2px 5px 14px #51472e10}.note-top{right:10%;top:3%;transform:rotate(8deg)}.note-bottom{left:8%;bottom:14%;transform:rotate(-8deg);background:#f6dd5c}.cat{object-fit:contain;animation:breathe 4s ease-in-out infinite;transform-origin:50% 95%}.cat-hero{position:absolute;width:32%;bottom:0;left:5%;z-index:5}.scroll-cue{position:absolute;bottom:27px;left:8%;font-size:10px;letter-spacing:.16em;z-index:5}.scroll-cue span{margin-left:20px}.hero-side{position:absolute;writing-mode:vertical-rl;right:22px;top:25%;font-size:10px;letter-spacing:.18em;z-index:5}.ribbon{overflow:hidden;padding:17px 0;background:var(--yellow);border-block:1px solid var(--line)}.ribbon>div{width:max-content;white-space:nowrap;font:30px 'Caveat',cursive;animation:marquee 40s linear infinite}.ribbon span{padding:0 42px;font-size:20px}.section{padding:110px 8%}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:13%;max-width:1400px;margin:auto}.story-collage{position:relative}.original-photo{margin:0;background:white;padding:14px 14px 25px;box-shadow:0 14px 35px #41402312;transform:rotate(-5deg)}.original-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%}.original-photo figcaption{font:22px 'Caveat',cursive;text-align:center;margin-top:14px}.tape{position:absolute;top:-14px;left:33%;width:35%;height:36px;background:#eddb9ba8;transform:rotate(-3deg)}.story-label{position:absolute;right:-30px;bottom:28px;background:#e5ebd7;font:27px 'Caveat',cursive;padding:16px 22px;transform:rotate(8deg)}h2{font-weight:500;font-size:clamp(27px,3vw,43px);line-height:1.7;letter-spacing:.02em}.story-copy p:not(.eyebrow){font-size:15px;line-height:2.3;margin-top:24px}.story-copy .signature{font:36px 'Caveat',cursive!important;color:#788143;transform:rotate(-5deg)}.gift{background:#eeefe4;position:relative}.gift-heading{text-align:center}.gift-heading h2{margin:20px 0 60px}.gift-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1050px;margin:auto;align-items:center}.gift-paper,.community-paper{display:block;padding:40px;position:relative;transition:transform .35s,box-shadow .35s}.gift-paper{background:#fffcf1;box-shadow:9px 10px 0 #d4d8c3;transform:rotate(-3deg);border:1px solid #d7d1b9;background-image:repeating-linear-gradient(0deg,transparent,transparent 31px,#9b987609 32px)}.paper-meta{font-size:11px;letter-spacing:.16em;display:block}.gift-title{display:block;font:74px/.95 Georgia,serif;margin:28px 0 34px;letter-spacing:-4px}.gift-title i{font:100px/.8 'Caveat',cursive;color:#718145;margin-left:40px}.gift-stamp{position:absolute;right:30px;top:55px;border:1px dashed #7a8155;padding:12px;font:16px/1.3 Georgia,serif;text-align:center;transform:rotate(12deg);color:#6a743d}.gift-paper h3,.community-paper h3{font-size:23px;font-weight:500;margin:0 0 15px}.gift-paper p,.community-paper p{font-size:14px;line-height:2.1}.text-link{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:18px;font-size:14px;font-weight:600}.text-link b{font-size:26px;font-weight:400}.community-wrap{position:relative;padding-top:80px}.community-paper{background:#f3d85c;transform:rotate(3deg);box-shadow:8px 9px 0 #d7d2ae}.community-number{display:block;font:70px/1.2 'Caveat',cursive;margin:20px 0}.small-label{font-size:11px;display:block;margin-top:8px}.vine-community{position:absolute;width:60%;top:-85px;right:-30%;transform:rotate(-25deg);pointer-events:none}.gift-paper:hover,.community-paper:hover{transform:rotate(0) translateY(-8px);box-shadow:10px 18px 0 #d4d8c3}.learn-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.learn-head h2{margin-bottom:0}.learn-head h2 i{font-style:normal;display:inline-block}.learn-head>p{font-size:14px;line-height:2}.learning{max-width:1400px;margin:auto}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.learn-card{padding:15px;background:#fff;border:1px solid var(--line);transition:transform .3s;box-shadow:3px 4px 0 #e9e5d7}.learn-card:hover{transform:translateY(-7px) rotate(-1deg)}.thumbnail{overflow:hidden}.thumbnail img{width:100%;aspect-ratio:1.91;object-fit:contain;transition:transform .5s}.learn-card:hover img{transform:scale(1.03)}.learn-caption{padding:22px 12px 12px;position:relative}.learn-caption>span:first-child{font-size:10px;letter-spacing:.12em;color:#737966}.learn-caption h3{font-size:20px;font-weight:500;line-height:1.7;margin:8px 45px 0 0;min-height:68px}.learn-arrow{position:absolute;right:14px;bottom:25px;font-size:27px}.fineprint{font-size:12px;margin-top:25px;color:#777b70}.connect{position:relative;background:#f1de76;text-align:center;overflow:hidden;padding-top:100px}.connect h2{font-size:40px}.social-links{max-width:600px;margin:38px auto 50px;position:relative;z-index:2}.social-links a{display:flex;align-items:center;gap:25px;border-top:1px solid #353c3350;padding:19px 7px;text-align:left;transition:padding .25s}.social-links a:last-child{border-bottom:1px solid #353c3350}.social-links a:hover{padding-inline:18px;background:#fff2}.social-links a span:first-child{font-size:24px;width:100px;font-weight:500}.social-links a span:nth-child(2){font-size:13px}.social-links b{margin-left:auto;font-size:24px;font-weight:400}.cat-footer{position:absolute;width:230px;right:3%;top:15px;transform:rotate(8deg)}.closing{margin:30px auto 0;font-size:39px;transform:rotate(-4deg);position:relative;z-index:2}.vine-footer{position:absolute;bottom:-25%;left:-9%;width:34%;transform:rotate(35deg)}footer{padding:30px 6%;display:flex;gap:30px;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.08em}footer .logo{font-size:43px}footer button{border:0;background:none;font-size:12px;cursor:pointer}footer>a:last-child{font-size:11px}.reveal{transition:opacity .8s,translate .8s}.js .reveal:not(.visible){opacity:0;translate:0 25px}@keyframes breathe{50%{scale:1.015 1.025}}@keyframes sway{50%{rotate:3deg}}@keyframes drift{50%{translate:0 -12px;rotate:2deg}}@keyframes marquee{to{transform:translateX(-33.333%)}}.motion-off *{animation-play-state:paused!important;scroll-behavior:auto!important;transition:none!important}.motion-off .girl{transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.girl{transform:none}}
@media(min-width:1500px){.hero-copy{padding-left:10%}.hero-art{right:1%;width:58%}}
@media(max-width:850px){header{height:85px;padding-inline:5%}nav{gap:20px}.hero{height:auto;min-height:1050px}.hero-copy{padding:50px 0 0 7%;width:80%}.hero h1{font-size:53px}.handwriting{font-size:38px;margin-left:150px}.hero-description{margin-top:20px}.hero-art{width:79%;height:670px;right:-6%;top:auto;bottom:0}.hero-copy .button{position:relative;z-index:6}.hero-side{display:none}.photo-one{left:0;top:17%}.note-top{right:3%;top:8%}.section{padding:85px 7%}.story{gap:8%}.gift-layout{gap:5%}.gift-paper,.community-paper{padding:27px}.gift-title{font-size:60px}.gift-title i{font-size:85px}.gift-stamp{right:20px;top:55px}.cat-footer{width:150px;right:0;top:0}.connect h2{font-size:32px}}
@media(max-width:560px){header{height:77px}.logo{font-size:43px}nav{gap:17px;font-size:10px}.header-link{font-size:11px}.header-link span{margin-left:10px}.hero{min-height:1050px}.hero-copy{padding:37px 7% 0;width:100%}.eyebrow{font-size:10px;letter-spacing:.12em}.hero h1{font-size:45px;margin-top:20px;line-height:1.45}.hero .handwriting{font-size:33px;margin-top:-8px;margin-bottom:25px;margin-left:125px}.hero-description{font-size:13px;line-height:2;margin:28px 0 20px}.button{font-size:12px;padding:13px 18px;gap:27px}.hero-art{width:110%;height:595px;right:-10%;bottom:25px}.girl{width:90%;height:97%;right:4%}.sun-disc{top:13%;width:90%}.vine-hero{right:-1%;width:40%;top:-2%}.photo-one{top:11%;left:2%;width:26%}.photo-two{right:5%;top:45%;width:23%}.photo span{font-size:12px}.note-top{font-size:20px;right:9%;top:4%;padding:14px}.note-bottom{left:3%;bottom:12%;font-size:21px;padding:14px}.cat-hero{left:1%;width:35%;bottom:1%}.scroll-cue{bottom:13px;left:7%;font-size:9px}.ribbon>div{font-size:25px}.section{padding:65px 7%}.story{grid-template-columns:1fr;gap:50px}.story-collage{max-width:310px;margin:0 auto;width:84%}.original-photo img{aspect-ratio:1}.original-photo figcaption{font-size:17px}.story-label{font-size:21px;right:-28px;bottom:20px;padding:10px 15px}.story-copy{padding:0 4%}h2{font-size:28px}.story-copy p:not(.eyebrow){font-size:14px}.gift-heading{text-align:left}.gift-heading h2{margin-bottom:35px}.gift-layout{grid-template-columns:1fr;gap:40px;max-width:350px}.gift-paper,.community-paper{padding:30px}.gift-title{font-size:65px}.gift-title i{font-size:90px}.community-wrap{padding-top:0}.community-number{font-size:56px;margin:14px 0}.vine-community{width:47%;top:-100px;right:-15%;z-index:1}.learn-head{display:block;margin-bottom:30px}.learn-head h2{font-size:27px}.learn-head>p{font-size:13px;margin-top:15px}.learning-grid{gap:15px}.learn-card{padding:7px}.learn-caption{padding:12px 3px 25px}.learn-caption>span:first-child{font-size:8px}.learn-caption h3{font-size:13px;margin:7px 0 0;min-height:48px}.learn-arrow{font-size:19px;right:3px;bottom:0}.fineprint{font-size:10px}.connect{padding-top:90px}.cat-footer{width:130px;right:-3%;top:-5px}.connect h2{font-size:28px}.social-links a{gap:14px}.social-links a span:first-child{font-size:21px;width:85px}.social-links a span:nth-child(2){font-size:11px}.closing{font-size:31px}.vine-footer{width:50%;left:-21%;bottom:-10%}footer{flex-wrap:wrap;gap:20px;font-size:8px}footer>span{width:65%;text-align:right}footer button,footer>a:last-child{font-size:10px}}
/* Contain the decorative vine without creating horizontal scrolling. */
.gift{overflow:hidden}
