@font-face{font-family:Creampuff;src:url('../fonts/creampuff.ttf?v=20260818') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--orange:#ff4000;--navy:#16354f;--peach:#ffc58f;--ice:#f2f6ff;--blush:#fff1f3}
html,body{background:var(--navy)}.site-shell{width:100%;max-width:none;margin-inline:0}.site-content{width:100%;background:#f8f1e7}.site-shell{background:#f8f1e7}

/* Wedding-day count-in loader */
body.is-loading{height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none}.loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:#fffdf8;color:var(--navy);pointer-events:auto;transform:translate3d(0,0,0);opacity:1;contain:layout paint;backface-visibility:hidden}
.loader__content{width:min(82vw,330px);opacity:1;transform:translate3d(0,0,0);transition:opacity .42s ease,transform .42s ease}
.loader__message{margin:0 0 22px;text-align:center;font:400 clamp(10px,2.8vw,12px)/1.4 "Cormorant Garamond",serif;letter-spacing:.2em;white-space:nowrap}
.loader__message:before{content:"GETTING READY FOR OUR DAY…"}
.loader__progress{display:grid;grid-template-columns:3ch minmax(72px,1fr) 3ch;align-items:center;gap:14px;font:400 clamp(28px,9vw,40px)/1 "Cormorant Garamond",serif;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.loader__value,.loader__total{display:block}.loader__value{text-align:left}.loader__total{text-align:right}.loader__rule{height:1px;background:currentColor;opacity:.42;transform:scaleX(1);transform-origin:left center}
.loader__go{position:absolute;left:0;right:0;top:calc(50% - .5em);margin:0;text-align:center;font:400 clamp(24px,7.4vw,32px)/1 "Cormorant Garamond",serif;letter-spacing:.16em;opacity:0;transform:translate3d(0,18px,0);transition:opacity .62s ease,transform .62s cubic-bezier(.22,.68,.25,1)}
.loader__go:before{content:"THANKS FOR COMING."}
.loader.is-progress-leaving .loader__content{opacity:0;transform:translate3d(0,-8px,0)}
.loader.is-go-visible .loader__go{opacity:1;transform:translate3d(0,0,0)}
.loader.is-curtain-opening{will-change:transform;transform:translate3d(0,-100%,0);transition:transform .8s cubic-bezier(.76,0,.24,1)}
.loader.is-done{display:none;will-change:auto}

/* Full-screen RSVP sending state */
body.is-sending{height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:none}.send-loader[hidden]{display:none}.send-loader{position:fixed;z-index:100000;inset:0;display:grid;min-height:100vh;min-height:100dvh;place-items:center;overflow:hidden;background:#fffdf8;color:var(--navy);opacity:0;pointer-events:auto;transition:opacity .65s ease;contain:layout paint}.send-loader.is-visible{opacity:1}.send-loader.is-leaving{opacity:0;pointer-events:none}.send-loader__inner{display:flex;width:min(82vw,330px);flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:translate3d(0,0,0)}.send-loader__image-wrap{display:grid;place-items:center;animation:send-loader-breathe 2.1s ease-in-out infinite;transform:translate3d(0,0,0)}.send-loader__image{display:block;width:clamp(110px,32vw,150px);height:auto;max-width:none;transform:translate3d(0,0,0);backface-visibility:hidden}.send-loader__progress{margin:30px 0 0;font:400 clamp(28px,8vw,38px)/1 "Cormorant Garamond",serif;font-variant-numeric:tabular-nums;letter-spacing:.06em}.send-loader__status{margin:18px 0 0;font:400 11px/1.4 "Cormorant Garamond",serif;letter-spacing:.24em;opacity:.72;transition:opacity .3s ease,color .3s ease}.send-loader__back{display:none;margin-top:28px;padding:11px 24px;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--navy);font:400 12px/1 var(--serif);letter-spacing:.08em}.send-loader.is-complete .send-loader__image-wrap{animation:send-loader-complete .48s var(--ease) both}.send-loader.is-complete .send-loader__status{color:var(--orange);opacity:1}.send-loader.is-error .send-loader__image-wrap{animation:none}.send-loader.is-error .send-loader__status{color:#ea4459;opacity:1;letter-spacing:.08em}.send-loader.is-error .send-loader__back{display:block}
@keyframes send-loader-breathe{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,0,0) scale(1.025)}}
@keyframes send-loader-complete{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,0,0) scale(1.06)}}

/* FIRSTVIEW 29:4 */
.hero{width:100%;height:959px;min-height:959px;max-height:none;background:#f8f1e7;color:var(--navy);overflow:hidden}
.hero__shape{left:0;top:0;width:394px;height:981px;z-index:1}
.hero__small{left:auto;right:20px;top:50px;color:var(--navy);font:400 12px/12px "Cormorant Garamond",serif;letter-spacing:2.4px;text-align:right}
.hero__small small{display:block;font:inherit}
.hero__name{width:max-content;height:auto;padding:0;color:var(--orange);font:400 105.514px/1 Creampuff,cursive;letter-spacing:0;transform:none}
.hero__name--kaito{left:16px;top:29px}.hero__name--ikuyo{left:74px;top:105px}
.hero__amp{left:197px;top:87px;color:var(--peach);font:400 85px/1 Creampuff,cursive}
.hero__invited{left:auto;right:20px;top:216px;color:var(--navy);font:400 16px/1 "Cormorant Garamond",serif;letter-spacing:3.2px;writing-mode:horizontal-tb}
.hero__invited:after{display:none}
.hero__photo-mask{left:27px;right:auto;top:254px;width:340px;height:454px;max-height:none;border-radius:160px 160px 0 0;z-index:4}
.hero__photo{width:100%;height:100%;object-position:center 100%}
.hero__date{left:76px;right:auto;top:737px;z-index:7;color:var(--navy);font:400 18px/1 "Dela Gothic One",sans-serif;letter-spacing:3.6px;writing-mode:horizontal-tb}
.hero__outside{left:0;right:0;top:778px;z-index:6;color:var(--peach);font:400 40px/1.1 "Dela Gothic One",sans-serif;letter-spacing:0;text-align:center;will-change:transform}
.hero__bottom{position:absolute;z-index:5;left:0;top:895px;width:394px;height:65px}.hero__scroll{display:none}
body:not(.animations-ready) .hero__name{transform:translate3d(-70px,0,0)}.animations-ready .hero__name.is-visible{transform:none}
.hero__outside.reveal-left{transform:translate3d(-12vw,var(--outside-y,0),0)}.hero__outside.reveal-left.is-visible{transform:translate3d(0,var(--outside-y,0),0)}
.hero__small.reveal-left,.hero__invited.reveal-left,.hero__date.reveal-left{opacity:0;transform:translate3d(-32px,var(--hero-detail-y,0),0);transition:opacity 1.55s var(--ease),transform 1.7s var(--ease)}
.animations-ready .hero__small.reveal-left.is-visible,.animations-ready .hero__invited.reveal-left.is-visible,.animations-ready .hero__date.reveal-left.is-visible{opacity:1;transform:translate3d(0,var(--hero-detail-y,0),0)}

/* GREETING 29:18 */
.greeting{width:100%;height:953px;min-height:953px;max-height:none;margin-top:-2px;padding:0;background:var(--navy) url('../images/greeting_bg%201.webp?v=20260818') center bottom/cover no-repeat;color:#fff}
.greeting__shadow-mask{z-index:0;inset:0;width:100%;height:100%;mask:none;-webkit-mask:none;overflow:hidden;opacity:1}
.greeting__shadow{z-index:0;left:50%;top:-30px;width:419px;height:1013px;background:none;translate:-50% 0;transform:translate3d(0,var(--py,0),0);opacity:1}
.greeting__shadow img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom;opacity:1;visibility:visible;transform:none}
.greeting:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(22,53,79,.48),rgba(22,53,79,.03) 34%,rgba(22,53,79,.01) 70%,rgba(22,53,79,.18));pointer-events:none}
.greeting__head{z-index:3;left:59px;right:auto;top:44px;width:277px;height:90px;text-align:center}
.greeting__head h2{width:auto;height:auto;margin:0;color:var(--orange);font:400 40px/1.1 "Dela Gothic One",sans-serif;letter-spacing:0}
.greeting__head span{position:relative;display:inline-block;left:auto;top:auto;margin-top:16px;color:#fff;font:400 20px/1.1 var(--serif)}
.greeting__head span:after{display:block;margin:8px auto 0}
.greeting__body{z-index:3;left:28px;right:auto;top:158px;width:338px;color:#fff;text-align:center;font:400 14px/2 var(--serif);letter-spacing:.56px}
.greeting__body p{margin:0 0 28px}.greeting__body p br{display:block}
.greeting__body,.greeting__body.is-text-pending,.greeting__body.is-text-visible{opacity:1!important;filter:none!important;clip-path:none!important;-webkit-clip-path:none!important;transform:none!important;transition:none!important}
.greeting__body .greeting__scroll-item{opacity:0;filter:none;clip-path:none;transform:translate3d(0,16px,0);transition:opacity 1.6s var(--ease) var(--greeting-delay,0ms),transform 1.6s var(--ease) var(--greeting-delay,0ms);will-change:opacity,transform;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.greeting__body .greeting__scroll-item.is-greeting-visible{opacity:1;filter:none;transform:none;will-change:auto}
.greeting__couple{position:absolute;z-index:4;top:734px;left:0;width:100%;margin:0;color:#fbe8cd;text-align:center;font:400 24px/1 "Dancing Script","Cormorant Garamond",cursive;letter-spacing:.96px}
.greeting__sign{position:absolute;z-index:4;top:758px;left:0;width:100%;margin:0!important;text-align:center;font:400 12px/1.5 var(--serif);letter-spacing:.48px}

/* PROFILE 29:30 / 29:58 */
.profile{position:relative;width:394px;padding:0;overflow:hidden}.profile--kaito{height:685px;background:var(--ice)}.profile--ikuyo{height:704px;background:var(--blush)}
.profile__heading{position:absolute;z-index:8;left:0;width:100%;height:150px;text-align:center}.profile--kaito .profile__heading{top:58px;color:var(--navy)}.profile--ikuyo .profile__heading{top:24px;color:var(--orange)}
.profile__heading span{display:block;font:400 12px/1 "Dela Gothic One",sans-serif;letter-spacing:1.2px}.profile__heading h2{margin:-5px 0 0;font:400 120px/.9 Creampuff,cursive;white-space:nowrap}.profile__heading p{margin:-2px 0 0;font:400 13px/1 "Dela Gothic One",sans-serif;letter-spacing:1.3px}
.profile--ikuyo .profile__heading p{margin-top:6px}
.profile__photo,.profile__comment{position:absolute;z-index:3;display:block;max-width:none;object-fit:contain;pointer-events:none;backface-visibility:hidden;transform:translate3d(0,0,0)}
.profile.is-parallax-active [data-profile-role],.profile.is-parallax-active [data-profile-layer]{will-change:transform}
.profile [data-profile-layer]{display:block;transform:translate3d(0,0,0);backface-visibility:hidden}
.profile--kaito .profile__photo--main{left:120px;top:196px;width:153px;height:315px}.profile--kaito .profile__photo--2{left:14px;top:288px;width:169.412px;height:213.989px}.profile--kaito .profile__photo--3{left:30px;top:203px;width:140.547px;height:140.547px}.profile--kaito .profile__photo--4{left:226px;top:204px;width:113.49px;height:121.546px}.profile--kaito .profile__photo--5{left:215px;top:288px;width:161.177px;height:135.047px}.profile--kaito .profile__photo--6{left:195px;top:373px;width:181.704px;height:148.821px}.profile--kaito .profile__photo--7{left:0;top:534px;width:110px;height:140px}
.profile--kaito .profile__comment{left:78px;top:498px;width:308px;height:167px;z-index:4}
.profile--ikuyo .profile__photo--main{left:111px;top:174px;width:203px;height:324px}.profile--ikuyo .profile__photo--2{left:28px;top:301px;width:179px;height:210px}.profile--ikuyo .profile__photo--3{left:208px;top:284px;width:186px;height:208px}.profile--ikuyo .profile__photo--4{left:281px;top:413px;width:94px;height:94px}.profile--ikuyo .profile__photo--5{left:215px;top:197px;width:122px;height:122px}.profile--ikuyo .profile__photo--6{left:68px;top:229px;width:86px;height:105px}.profile--ikuyo .profile__photo--7{left:274px;top:521px;width:112px;height:124px}
.profile--ikuyo .profile__photo{translate:-8px 0}
.profile--ikuyo .profile__comment{left:5px;top:485px;width:308px;height:auto;z-index:4}
.profile__comment{opacity:0;transform:translate3d(0,25px,0);transition:opacity .82s var(--ease),transform .82s var(--ease)}
.profile__spouse{z-index:5;opacity:0;transition:opacity .78s var(--ease),transform .78s var(--ease)}
.profile--kaito .profile__spouse{transform:translate3d(-15px,30px,0) rotate(-3deg);transition-delay:160ms}
.profile--ikuyo .profile__spouse{transform:translate3d(20px,30px,0) rotate(3deg);transition-delay:210ms}
.profile.is-comment-visible .profile__comment{opacity:1;transform:translate3d(0,0,0)}
.profile.is-comment-visible .profile__spouse{opacity:1;transform:translate3d(0,0,0) rotate(0deg)}
.profile__bottom{position:absolute;z-index:2;left:0;bottom:-1px;width:100%;height:65px;pointer-events:none;clip-path:none;-webkit-mask:url('../images/hero-bottom.svg?v=20260818') center bottom/100% 100% no-repeat;mask:url('../images/hero-bottom.svg?v=20260818') center bottom/100% 100% no-repeat}
.kaito-bottom{background:var(--blush)}.ikuchan-bottom{background:#f8f1e7;transform:scaleX(-1)}

/* DETAILS 29:84 */
.details{position:relative;width:100%;height:1080px;margin:0;padding:0;background:#f8f1e7;border-radius:0;color:var(--navy);overflow:hidden}.details:before{display:none}.details__card-bg{position:absolute;z-index:0;inset:0 8px 40px;border-radius:189px 189px 16px 16px;background:#fff;transform:translate3d(0,0,0);backface-visibility:hidden}
.details__heading{top:64px}.details__heading .ornament{font-size:20px;color:var(--navy)}.details__heading h2{margin-top:16px;color:var(--navy);font:400 40px/1.1 "Dela Gothic One",sans-serif}
.details__date-block{top:207px;height:95px}.details__place-block{top:331px}.details__access-block{top:513px}.details__date-block .details__label,.details__label{display:block;left:24px;text-align:left}.details__date-block .details__label strong,.details__label strong{font:400 24px/1.5 "Dela Gothic One",sans-serif}.details__date-block .details__label span,.details__label span{margin-top:-4px;font:400 12px/1 var(--serif);order:initial}
.details__date-content{left:185px;top:0;width:184px}.details__date-line{text-align:left;font:400 30px/1.5 var(--serif);letter-spacing:1.2px}.details__date-line small{font-size:14px}.details__schedule{grid-template-columns:70px 53px 53px;gap:4px;margin-top:3px}.details__schedule span{min-height:48px;padding:0 3px 4px;border-radius:4px;background:#f2f6ff}.details__schedule span:first-child{background:#fff1f3}.details__schedule i,.details__schedule span:first-child i{height:17px;border-radius:3px;background:#d48a90;font-size:10px}.details__schedule span:first-child i{background:var(--orange);font-size:12px}.details__schedule b,.details__schedule span:first-child b{font-size:16px;margin-top:5px}.details__schedule span:first-child b{font-size:20px;margin-top:2px}
.details .details__schedule span,.details .details__schedule span:first-child{background:transparent;color:var(--navy)}
.details .details__schedule span i{background:#16354F!important;color:#fff!important}
.details .details__schedule span:first-child i{background:#FF4000!important;color:#fff!important}
.details .details__schedule span b{color:#16354F!important}
.details .details__schedule span:first-child b{color:#FF4000!important}
.details [data-details-role]{backface-visibility:hidden;transform:translate3d(0,0,0)}.details.is-parallax-active [data-details-role]{will-change:transform}
.details__time-reveal,.details__copy-reveal,.details__access-reveal{opacity:0;transform:translate3d(0,15px,0);transition:opacity .72s var(--ease),transform .72s var(--ease)}
.details__time-reveal:nth-child(2){transition-delay:80ms}.details__time-reveal:nth-child(3){transition-delay:160ms}
.details__copy-reveal{transform:translate3d(0,12px,0);transition-duration:.7s}
.details__access-reveal{transform:translate3d(0,25px,0);transition-duration:.74s}.details__access-reveal:nth-child(2){transition-delay:130ms}
.details__time-reveal.is-detail-visible,.details__copy-reveal.is-detail-visible,.details__access-reveal.is-detail-visible{opacity:1;transform:translate3d(0,0,0)}
.details__place-copy{left:40px}.details__venue{left:186px;width:200px;overflow:hidden}.details__venue img{position:absolute!important;left:0!important;top:-25px!important;width:100%!important;height:calc(100% + 50px)!important;max-width:none!important;object-fit:contain!important;object-position:center!important;transform:translate3d(0,0,0);backface-visibility:hidden}.details__access-copy{display:none}.details__map{left:24px;top:68px;width:346px;height:430px;overflow:visible;padding:8px 0 16px}.details__map-track{display:flex;flex-direction:column;gap:15px;width:346px}.details__map img{position:relative!important;inset:auto!important;flex:none;width:346px!important;height:auto!important;object-fit:contain!important}

/* CONTACT / footer */
.contact__top-bg{position:absolute;z-index:0;left:0;top:0;width:100%;height:64px;max-width:none;object-fit:fill;pointer-events:none}
.contact{height:auto;min-height:1199px;padding:269px 20px 64px;background:linear-gradient(to bottom,#f8f1e7 0 64px,#fff 64px);color:#111;border-radius:0}.contact:before{z-index:1;left:8px;right:8px;top:0;height:234px;border-radius:16px;background:var(--navy)}.contact:after{display:none}.contact__heading{z-index:2;left:8px;right:8px;top:0;width:auto;height:234px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.contact__heading h2{margin:0;color:var(--orange);font:400 40px/1.1 "Dela Gothic One",sans-serif}.contact__heading .ornament{margin-top:16px;color:#fff;font-size:20px;flex-direction:column;gap:8px}.contact__heading .ornament:before{display:none}.contact__heading .ornament:after{width:29.5px}.contact__heading p{margin:16px 0 0}.rsvp{padding:0}.rsvp__website{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field label>span,.field legend>span{color:#EA4459}.attendance-picker input:checked+span b,.attendance-picker label.is-selected b{background:var(--navy)}form.rsvp .choice-grid label span,form.rsvp .choice-grid label input:checked+span{color:#A4A4A4!important}form.rsvp .choice-grid label input:checked+span{background:var(--navy);border-color:var(--navy)}.submit-btn{height:80px;border-radius:88px;background:var(--orange);font-size:20px}.submit-btn:disabled{cursor:wait;opacity:.65}
.instagram{background:#fff4e4;color:var(--navy)}.instagram h2{color:var(--orange)}.thanks{background:var(--navy)}.thanks h2{color:var(--orange)}
@media(max-width:393px){.hero__name{font-size:26.78vw}.hero__amp{font-size:21.57vw}.hero__photo-mask{left:6.85%;width:86.3%}.hero__date{left:19.29%;font-size:4.57vw}.hero__outside{font-size:10.15vw}.profile{width:100%}.details__date-content{left:46.95%;width:46.7%}.details__venue{left:47.2%;width:50.8%}}
@media(max-width:767px){.site-shell,.site-content,.hero,.greeting,.profile,.details,.contact,.instagram,.thanks{width:100%;max-width:none}.hero__shape{left:0;width:100%;max-width:none}.hero__bottom{left:0;width:100%;max-width:none}}
@media(min-width:394px) and (max-width:480px){
  .site-content{width:394px;max-width:394px;zoom:calc(100vw / 394px)}
}
@media(min-width:481px) and (max-width:767px){
  .hero__name--kaito,.hero__name--ikuyo,.hero__amp,.hero__photo-mask,.hero__date{margin-left:calc((100% - 394px)/2)}
  .hero__small,.hero__invited{right:calc(20px + (100% - 394px)/2)}
  .greeting__head,.greeting__body{margin-left:calc((100% - 394px)/2)}
  .profile__photo,.profile__comment{margin-left:calc((100% - 394px)/2)}
  .details__date-block,.details__place-block,.details__access-block{left:50%;width:394px;translate:-50% 0}
  .details__card-bg{left:calc((100% - 394px)/2 + 8px);right:calc((100% - 394px)/2 + 8px)}
  .contact__inner,.instagram>*{width:354px;margin-left:auto;margin-right:auto}
}
@media(min-width:768px){html{background-color:#16354f;background-image:url('../images/pc-bg.webp?v=20260818');background-position:center top;background-size:contain;background-repeat:no-repeat}body{background:transparent}.site-shell{position:relative;z-index:1;width:394px;max-width:394px;margin-inline:auto}body:before{content:"";position:fixed;z-index:0;inset:0;background-color:#16354f;background-image:url('../images/pc-bg.webp?v=20260818');background-position:center top;background-size:contain;background-repeat:no-repeat;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.loader{transition:opacity .25s ease!important;transform:none!important}.loader__content,.loader__go{transform:none!important;transition:opacity .2s ease!important}.loader.is-curtain-opening{opacity:0!important}.hero__small,.hero__invited,.hero__date{transform:none!important;transition:opacity .2s ease!important}}
@media(prefers-reduced-motion:reduce){.profile [data-profile-role],.profile [data-profile-layer],.profile__comment,.profile__spouse{transform:none!important;will-change:auto!important}.profile__comment,.profile__spouse{opacity:1!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.details [data-details-role]{transform:none!important;will-change:auto!important}.details__time-reveal,.details__copy-reveal,.details__access-reveal{transform:none!important;transition:opacity .2s ease!important}}
@media(prefers-reduced-motion:reduce){.send-loader{transition-duration:.25s}.send-loader__image-wrap,.send-loader.is-complete .send-loader__image-wrap{animation:none!important}.send-loader__image{transform:none!important}}

/* RSVP after-party choice: muted at rest, white while selected. */
form.rsvp .choice-grid label input:checked + span{color:#fff!important}
.field--attendance-only[hidden]{display:none!important}.contact.is-absent{min-height:0}
