:root{color:#4d2b16;background:#e9d6aa;font-family:Georgia,Times New Roman,Songti SC,"Noto Serif SC",serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;--paper: #faedc9;--paper-light: #fff8df;--wood: #82502f;--wood-dark: #4f2d16;--green: #607845;--rose: #c66c78}*{box-sizing:border-box}html{min-width:320px;background:#e9d6aa}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:#e9d6aa}@supports (min-height: 100dvh){body{min-height:100dvh}}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #2f6595;outline-offset:3px}a{color:inherit}img{max-width:100%}.paper-page,.home-page,.not-found-page{min-height:100vh}@supports (min-height: 100dvh){.paper-page,.home-page,.not-found-page{min-height:100dvh}}.paper-page{background-color:#f4e6c9;background-image:radial-gradient(circle at 14% 10%,rgb(150 92 43 / 8%) 0 1px,transparent 2px),radial-gradient(circle at 82% 64%,rgb(122 132 72 / 7%) 0 1px,transparent 2px);background-size:47px 43px,56px 52px}.page-header{position:sticky;z-index:30;top:0;padding-top:env(safe-area-inset-top,0px);border-bottom:4px solid #8a4e24;background:#f8e0b0f7;box-shadow:inset 0 -2px #fff7d6cc,0 3px #4a2b142e}.page-header:after{position:absolute;right:0;bottom:-4px;left:0;height:2px;background:#ffc75cb8;content:""}.page-header__bar{position:relative;display:flex;align-items:center;justify-content:center;height:52px;padding:0 58px}.page-header__title{max-width:min(60vw,360px);overflow:hidden;color:#4f2d16;font-size:17px;font-weight:700;letter-spacing:.16em;text-overflow:ellipsis;white-space:nowrap}.icon-button{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;transform:translateY(-50%);border:0;background:transparent;color:#4c2b16;cursor:pointer}.page-header__back{left:6px}.page-header__music{right:12px;width:36px;height:32px;border:2px solid #6d3d1c;border-radius:2px;background:#f7ddb0;box-shadow:inset 0 0 0 2px #fff1cb,2px 2px #49291252;font-size:15px;font-weight:700}.page-header__music.is-playing{color:#fff6d5;background:#6f814b}.back-arrow{width:14px;height:14px;margin-left:5px;transform:rotate(45deg);border-bottom:3px solid currentColor;border-left:3px solid currentColor}.content-shell{width:min(100%,760px);margin:0 auto;padding:30px 18px calc(58px + env(safe-area-inset-bottom,0px))}.page-intro{padding:12px 12px 30px;text-align:center}.page-intro h1,.detail-heading h1,.guide-cover h1,.not-found-card h1{margin:7px 0 0;color:#4b2b17;font-size:clamp(30px,9vw,48px);line-height:1.25;letter-spacing:.08em}.page-intro>p:last-child,.detail-heading>p:last-child,.not-found-card>p{color:#72543a;font-family:Songti SC,"Noto Serif SC",serif;line-height:1.75}.section-kicker{margin:0;color:#526b3f;font-size:12px;font-weight:700;letter-spacing:.25em}.heart-divider,.ornament,.detail-ending{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--rose)}.heart-divider span,.ornament span,.detail-ending span{width:44px;height:2px;background:var(--green)}.pixel-panel{position:relative;border:3px solid var(--wood);border-radius:4px 2px 5px 3px;background-color:var(--paper);background-image:radial-gradient(circle at 84% 24%,rgb(154 91 41 / 8%) 0 1px,transparent 2px);background-size:42px 38px;box-shadow:inset 0 0 0 2px #e8bd76,0 4px #532f1829}.pixel-primary,.pixel-link{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 22px;border:3px solid #3e522b;border-radius:2px;background:#637a46;box-shadow:inset 0 0 0 2px #8da369,0 4px #3d301b3d;color:#fff3d2;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.pixel-primary:active,.pixel-link:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #7f945e}.pixel-primary:disabled{cursor:default;opacity:.62}.opening-cover{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;min-height:100vh;place-items:center;overflow:auto;padding:calc(24px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));background:linear-gradient(#fff7e15c,#fff7e15c),url(/media/home/home-bg.webp) center / cover fixed}@supports (min-height: 100dvh){.opening-cover{min-height:100dvh}}.opening-cover__paper{width:min(100%,460px);padding:42px 24px 32px;border:6px solid #8a4e24;outline:3px solid #4f2d16;outline-offset:0;background-color:#faedc9f5;background-image:radial-gradient(circle at 20% 20%,rgb(175 111 50 / 10%) 0 2px,transparent 3px);background-size:44px 40px;box-shadow:inset 0 0 0 4px #e2bd79,0 8px #4f311747;text-align:center;animation:cover-arrive .5s ease-out both}.opening-cover__heart{color:var(--rose);font-size:32px}.opening-cover__kicker{margin:14px 0 0;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.25em}.opening-cover h1{margin:18px 0 0;font-size:clamp(26px,8vw,42px);line-height:1.4}.opening-cover h1 span{color:var(--rose)}.opening-cover__date{margin:17px 0 0;color:var(--green);font-size:20px;font-weight:700;letter-spacing:.08em}.opening-cover__message{margin:20px auto;color:#5b3c23;font-family:Songti SC,serif;font-size:15px;line-height:1.75}.opening-cover__hint{margin:13px 0 0;color:#846b55;font-size:12px}.home-page{position:relative;isolation:isolate;overflow:hidden}.home-background{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;background:url(/media/home/home-bg.webp) center / cover no-repeat;image-rendering:pixelated}.home-page:before{position:fixed;z-index:1;top:0;right:0;bottom:0;left:0;background:#fff7e161;content:""}.home-main{position:relative;z-index:2;display:grid;width:min(100%,580px);margin:0 auto;padding:34px 44px calc(24px + env(safe-area-inset-bottom,0px))}.home-page--opened .invitation-frame,.home-page--opened .entry-row,.home-page--opened .home-footer{animation:home-rise .48s ease-out both}.home-page--opened .entry-row:nth-child(1){animation-delay:.12s}.home-page--opened .entry-row:nth-child(2){animation-delay:.2s}.home-page--opened .entry-row:nth-child(3){animation-delay:.28s}.home-page--opened .home-footer{animation-delay:.36s}.invitation-frame{padding:7px;border:2px solid #4f2d16;border-radius:6px 4px 6px 3px;background:#8a4e24;box-shadow:inset 0 0 0 3px #bd7432,0 5px #4f311747}.invitation-paper{position:relative;min-height:385px;padding:30px 12px 34px;overflow:hidden;border:3px solid #e2bd79;border-radius:3px;background-color:var(--paper);background-image:radial-gradient(circle at 16% 18%,rgb(175 111 50 / 10%) 0 1px,transparent 2px),radial-gradient(circle at 84% 72%,rgb(175 111 50 / 8%) 0 1px,transparent 2px);background-size:42px 37px,48px 44px;box-shadow:inset 0 0 0 2px #fff9deeb,inset 0 0 17px #99592329;text-align:center}.paper-corner{position:absolute;top:12px;color:#c77779;font-size:24px;text-shadow:13px 7px #647b48}.paper-corner--left{left:12px}.paper-corner--right{right:12px;transform:scaleX(-1)}.invitation-kicker{margin:12px 0 0;color:#496334;font-size:10px;font-weight:700;letter-spacing:.24em}.invitation-paper h1{margin:7px 0 0;color:#496334;font-size:clamp(28px,8.4vw,43px);letter-spacing:.12em;line-height:1.25}.couple-stage{display:grid;grid-template-columns:minmax(43px,1fr) 55px 14px 55px minmax(43px,1fr);align-items:end;width:calc(100% + 16px);margin:15px 0 0 -8px}.couple-name{min-width:0;padding-bottom:23px;font-size:clamp(12px,3.6vw,18px);font-weight:700;letter-spacing:-.08em;text-align:right;white-space:nowrap}.couple-name--bride{text-align:left}.character-button,.entry-decoration-button{margin:0;padding:0;border:0;background:transparent;cursor:pointer}.character-button{width:55px;height:78px}.character-button img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.couple-heart{align-self:center;padding-bottom:5px;color:var(--rose);animation:heart-breathe 2.6s ease-in-out infinite}.ornament{margin:12px auto 0;color:#7d7b43;font-size:10px}.ornament span{width:32px}.wedding-date{margin:11px 0 0;color:#4d6736;font-size:17px;font-weight:700;letter-spacing:.09em}.invitation-message{max-width:280px;margin:10px auto 0;color:#5b3c23;font-family:Songti SC,serif;font-size:12px;line-height:1.65}.paper-bottom{position:absolute;right:0;bottom:10px;left:0;color:#d07179;font-size:15px}.entry-list{--decoration-rail: 54px;--entry-rail-gap: 10px;display:flex;width:min(calc(100% + 64px),calc(100vw - 20px));justify-self:center;flex-direction:column;gap:20px;margin-top:32px}.entry-row{display:grid;min-width:0;min-height:76px;align-items:center;grid-template-columns:var(--decoration-rail) minmax(0,1fr) var(--decoration-rail);column-gap:var(--entry-rail-gap)}.entry-decoration-button{position:relative;display:grid;grid-column:1;width:54px;height:64px;place-items:center;overflow:visible}.entry-decoration-button img{display:block;width:52px;height:58px;object-fit:contain;image-rendering:pixelated}.entry-card{display:grid;grid-column:2;min-width:0;min-height:76px;align-items:center;grid-template-columns:40px minmax(0,1fr) 12px;gap:11px;padding:7px 13px 7px 7px;border:5px solid #8a4e24;border-radius:4px 3px 5px;background:#f8e8bd;box-shadow:inset 0 0 0 2px #d89a51,0 4px #4c2c1540;text-decoration:none}.entry-row:after{width:var(--decoration-rail);height:1px;grid-column:3;content:""}.entry-card:active{transform:translateY(3px);box-shadow:inset 0 0 0 2px #d89a51,0 1px #4c2c1540}.entry-pennant{display:grid;width:40px;min-height:56px;align-self:stretch;place-items:center;border-right:2px solid #c87e68;border-left:2px solid #c87e68;background:#efb69b;color:#8e463b;font-weight:700}.entry-copy{display:flex;min-width:0;flex:1;flex-direction:column}.entry-copy strong{overflow-wrap:anywhere;font-size:clamp(17px,5.2vw,25px);line-height:1.25}.entry-copy small{margin-top:5px;color:#735238;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.entry-arrow{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:11px solid #9b5a24}.chicken-speech{position:absolute;top:-17px;left:34px;padding:5px 7px;border:2px solid #7d4a27;border-radius:3px;background:#fff2cc;box-shadow:2px 2px #4c2c153d;color:#56301b;font-size:11px;font-weight:700;white-space:nowrap}.home-footer{margin-top:46px;color:#fff8dc;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.5;text-align:center;text-shadow:1px 1px 0 #76502c}.sign-shaking{animation:sign-shake .52s linear}.book-flipping{animation:book-flip .42s ease-in-out}.chicken-bouncing{animation:chicken-bounce .36s ease-out 2}.story-intro{padding-bottom:34px}.story-timeline{position:relative;padding-left:30px}.story-timeline:before{position:absolute;top:20px;bottom:35px;left:11px;width:2px;background:repeating-linear-gradient(to bottom,#b47d66 0 8px,transparent 8px 13px);content:""}.story-card{position:relative;margin-bottom:28px;overflow:hidden;border:3px solid var(--wood);border-radius:4px 2px 5px 3px;background:var(--paper);box-shadow:inset 0 0 0 2px #e8bd76,0 4px #532f182b}.story-node{position:absolute;z-index:2;top:24px;left:-30px;width:17px;height:17px;transform:rotate(45deg);border:3px solid #8f5134;background:#f2d4b0;box-shadow:0 0 0 4px #f4e6c9}.story-card__copy{padding:19px 19px 15px}.story-year{margin:0;color:#8f513e;font-size:12px;font-weight:700;letter-spacing:.18em}.story-card h2,.story-photo-caption,.guide-section h2{color:#4b2b17}.story-card h2{margin:5px 0 0;font-size:25px;letter-spacing:.08em}.story-card__copy>p:last-child{margin:12px 0 0;color:#674832;font-family:Songti SC,serif;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.story-card__previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px 6px 0}.story-card__previews .photo-frame{aspect-ratio:3 / 4;padding:4px}.story-card__previews .responsive-photo{width:100%;height:100%;object-fit:contain}.story-more{display:flex;min-height:46px;align-items:center;justify-content:space-between;margin:10px 16px 15px;border-top:2px solid rgb(125 84 52 / 32%);border-bottom:2px solid rgb(125 84 52 / 32%);color:#496334;font-size:13px;font-weight:700;letter-spacing:.06em;text-decoration:none}.story-ending{display:flex;align-items:center;flex-direction:column;gap:8px;padding:32px 0 8px 30px;color:#64794b;font-size:12px;letter-spacing:.12em}.story-ending span{color:#886b50;letter-spacing:.05em}.detail-heading{padding:27px 22px 24px;text-align:center}.detail-heading .section-kicker{margin-top:6px}.detail-heading .heart-divider{margin:17px 0 0}.detail-heading .story-blessing{width:min(100%,620px);margin:18px auto 4px;color:#72543a;font-family:Songti SC,"Noto Serif SC",serif;font-size:clamp(15px,3.7vw,18px);font-weight:400;line-height:1.6;text-align:center;overflow-wrap:anywhere}.memory-heading{margin:40px 0 22px;text-align:center}.story-photo-caption{display:grid;width:min(94%,680px);align-items:start;grid-template-columns:14px minmax(0,1fr);gap:10px;margin:32px auto 10px;color:#4b2b17;font-size:clamp(15px,3.7vw,18px);font-weight:500;line-height:1.6;overflow-wrap:anywhere}.story-photo-caption:before{width:12px;height:12px;margin-top:.38em;transform:rotate(45deg);border:2px solid #7b4930;background:#d78388;box-shadow:0 0 0 3px #f5deb5cc;content:""}.memory-text-paragraph{margin:35px 8px 16px;padding:18px;border-top:2px solid rgb(125 84 52 / 35%);border-bottom:2px solid rgb(125 84 52 / 35%);background:#faedc9bf;color:#674832;font-family:Songti SC,serif;font-size:15px;line-height:1.78;overflow-wrap:anywhere}.memory-list{display:flex;align-items:center;flex-direction:column;gap:20px}.photo-frame{display:block;width:min(94%,680px);margin:0 auto;padding:5px 5px 12px;overflow:hidden;border:2px solid #704127;background:var(--paper-light);box-shadow:inset 0 0 0 2px #dfb46dbf,0 3px #532f181f}.photo-frame--button{cursor:zoom-in}.responsive-photo{display:block;width:100%;height:auto;background:#e3cda4}.photo-fallback{display:flex;min-height:190px;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#856b55}.pixel-flower{width:10px;height:10px;transform:rotate(45deg);border:2px solid #8b5435;background:#f2c58d;box-shadow:0 -7px 0 -1px #df8b91,0 7px 0 -1px #df8b91,-7px 0 0 -1px #df8b91,7px 0 0 -1px #df8b91}.detail-ending{margin:48px auto 4px}.photo-viewer{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#13100df7;color:#fff8df}.photo-viewer__stage{display:grid;width:100%;height:100%;place-items:center;padding:calc(58px + env(safe-area-inset-top,0px)) 12px calc(60px + env(safe-area-inset-bottom,0px));touch-action:none}.photo-viewer__stage img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .12s ease-out;-webkit-user-select:none;user-select:none}.viewer-fallback{display:grid;width:min(80vw,520px);min-height:220px;place-items:center;border:2px solid rgb(255 248 223 / 55%);background:#3b332d;color:#fff8df}.viewer-control{position:absolute;display:grid;width:44px;height:44px;place-items:center;padding:0;border:2px solid rgb(255 248 223 / 55%);border-radius:50%;background:#2a231db3;color:#fff8df;font-family:Arial,sans-serif;font-size:34px;cursor:pointer}.viewer-close{top:calc(10px + env(safe-area-inset-top,0px));right:12px;font-size:28px}.viewer-prev,.viewer-next{top:50%;transform:translateY(-50%)}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-count{position:absolute;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:16px;text-align:center}.guide-cover{padding:34px 20px 28px;text-align:center}.guide-cover .section-kicker{margin-top:10px}.guide-date{width:min(100%,220px);margin:18px auto;padding:9px 12px;border:3px solid #44542e;background:#6f7f45;box-shadow:inset 0 0 0 2px #9aab6d,3px 3px #4d331933;color:#fff1cc;font-size:20px;font-weight:700;letter-spacing:.14em}.guide-cover>strong{color:#8f513e;font-size:17px;letter-spacing:.08em}.guide-cover>p:last-child{margin-bottom:0;color:#6f543d;font-family:Songti SC,serif;font-size:14px;line-height:1.65}.guide-section{margin-top:52px}.guide-section__heading{margin-bottom:21px;text-align:center}.guide-section__heading h2{margin:6px 0 0;font-size:clamp(26px,7.5vw,38px);letter-spacing:.06em}.guide-section__heading .heart-divider{margin-top:12px;font-size:10px}.card-stack{display:flex;flex-direction:column;gap:20px}.guide-card,.day-panel{position:relative;padding:22px 18px;border:3px solid #82502f;background:var(--paper);box-shadow:inset 0 0 0 2px #e6bb75,0 4px #522f1824}.guide-card h3{margin:5px 0 0;font-size:22px;line-height:1.4;overflow-wrap:anywhere}.guide-card>p:not(.section-kicker),.pickup-note p,.guide-lead,.travel-card p,.guide-card address,.venue-card dd{color:#674832;font-family:Songti SC,serif;font-size:14px;font-style:normal;line-height:1.72}.transport-card:nth-child(1){border-left:7px solid #667d48}.transport-card:nth-child(2){border-left:7px solid #c57578}.route-chain{margin:17px 0 0;padding:14px 14px 14px 35px;border:2px dashed rgb(112 65 39 / 45%);background:#fff9dfa8}.route-chain li{padding:6px 0;font-weight:700}.pickup-note{margin-top:20px;padding:17px 18px;border:3px solid #965d38;border-left-width:7px;background:#f1cfa5;box-shadow:0 3px #532f181f}.pickup-note p{margin-bottom:0}.day-panel{margin-bottom:23px;background:#f7dfb2}.day-ribbon{display:flex;width:min(100%,250px);margin:0 auto 20px;padding:10px;align-items:center;flex-direction:column;border:3px solid #64351f;background:#8f513e;box-shadow:inset 0 0 0 2px #b46e54;color:#fff3d1}.day-ribbon strong{margin:3px 0;font-size:22px}.day-ribbon small{letter-spacing:.2em}.day-route{display:flex;align-items:stretch;flex-direction:column;margin-bottom:24px;padding:14px;border:2px dashed #8d633e;background:#fff7da}.day-route span{padding:5px 0;color:#4b2b17;font-weight:700}.schedule-list{margin:0;padding:0;list-style:none}.schedule-list li{display:grid;grid-template-columns:minmax(88px,120px) 1fr;gap:20px;min-height:58px;padding:9px 0;border-bottom:1px dashed rgb(111 73 45 / 28%)}.schedule-list time{color:#8f513e;font-size:13px;font-weight:700;text-align:right;white-space:nowrap}.schedule-list li>span{display:flex;flex-direction:column;line-height:1.45}.schedule-list small{margin-top:4px;color:#79604a}.venue-card{padding-top:27px}.venue-number{position:absolute;top:0;right:0;display:grid;width:48px;height:40px;place-items:center;border-bottom:2px solid #623a25;border-left:2px solid #623a25;background:#8f513e;color:#fff1c9;font-weight:700}.venue-card h3{max-width:calc(100% - 55px)}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.tag-list span{padding:5px 9px;border:2px solid #7d5a38;background:#fff8d9b3;color:#536b3f;font-size:12px;font-weight:700}.guide-card address{margin-top:15px;padding:12px;border-left:4px solid #6f814b;background:#fff9e094;overflow-wrap:anywhere}.guide-card .pixel-link{margin:16px 0;font-size:13px}.venue-card dl{margin:4px 0 0;border-top:2px dashed rgb(111 73 45 / 35%)}.venue-card dl div{display:grid;grid-template-columns:74px 1fr;gap:8px;padding:14px 0;border-bottom:1px dashed rgb(111 73 45 / 25%)}.venue-card dt{color:#8f513e;font-weight:700}.venue-card dd{margin:0}.food-card:nth-child(1){border-top:6px solid #c47b42}.food-card:nth-child(2){border-top:6px solid #73844f}.guide-lead{margin:-5px auto 20px;text-align:center}.notice-board{margin:0;padding:24px 18px;border:6px solid #8a4e24;outline:3px solid #4f2d16;background:var(--paper);list-style:none}.notice-board li{display:grid;grid-template-columns:42px 1fr;gap:11px;padding:13px 0;border-bottom:2px dashed rgb(117 75 45 / 30%);font-family:Songti SC,serif;font-size:14px;line-height:1.65}.notice-board li:last-child{border-bottom:0}.notice-board li span{align-self:start;padding:5px;border:2px solid #4f6035;background:#74854f;color:#fff0c9;font-size:11px;font-weight:700;text-align:center}.contact-board{padding:7px 14px;border:3px solid #80502f;background:#f7e1b7;box-shadow:inset 0 0 0 2px #ebc37d,0 4px #532f1824}.contact-row{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:2px dashed rgb(111 73 45 / 32%)}.contact-row:last-child{border-bottom:0}.contact-row>span{display:flex;min-width:0;flex-direction:column}.contact-row small{margin-top:3px;color:#7d5c43}.contact-row a{display:flex;align-items:center;gap:8px;color:#8c4f3f;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.contact-row b{display:grid;width:32px;height:32px;place-items:center;border:2px solid #62351f;background:#8f513e;color:#fff3d2}.guide-footer{display:flex;align-items:center;flex-direction:column;margin-top:54px;color:var(--rose);text-align:center}.guide-footer strong{margin-top:8px;color:var(--green);letter-spacing:.16em}.guide-footer p{margin:12px 0 0;color:#5f432f;font-family:Songti SC,serif;line-height:1.75}.guide-footer small{margin-top:9px;color:#8b6249}.guide-shell{width:min(100%,720px)}.guide-section{margin-top:46px}.guide-section__heading{margin-bottom:18px}.transport-stack,.card-stack{gap:16px}.guide-card,.day-panel{padding:19px 17px}.transport-card--green{border-left:7px solid #667d48}.transport-card--pink{border-left:7px solid #c57578;background:#f8e6c5}.transport-card__heading{display:flex;align-items:center;gap:12px}.transport-card__icon,.food-card__icon{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:2px solid #704127;background:#f3d39f;box-shadow:inset 0 0 0 2px #fff0c6;color:#4e2d18;font-size:21px}.transport-card__copy{display:flex;min-width:0;flex-direction:column}.transport-card__copy h3{margin-top:3px}.transport-card__description{margin:14px 0 0}.route-chain,.journey-map{margin-top:14px;padding:10px 12px;border:2px dashed rgb(112 65 39 / 50%);background:#fff9dfb8}.journey-map{margin:0 0 22px;padding:14px 12px}.journey-map__label{display:block;margin-bottom:8px;color:#607845;font-size:12px;letter-spacing:.22em;text-align:center}.route-chain__step{min-width:0}.location-row{display:grid;min-width:0;min-height:62px;align-items:center;grid-template-columns:15px minmax(0,1fr) 68px;gap:9px;padding:8px 0}.location-row__marker{color:#d27d82;font-size:12px;text-shadow:1px 1px 0 #6d4026}.location-row__copy{display:flex;min-width:0;flex-direction:column}.location-row__copy strong{color:#4d2f1d;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.location-row__copy small{margin-top:2px;color:#8c5745;font-size:11px;line-height:1.35}.location-row .location-row__copy address{margin:3px 0 0;padding:0;border:0;background:transparent;color:#72543d;font-family:Songti SC,serif;font-size:11px;font-style:normal;line-height:1.45;overflow-wrap:anywhere}.nav-button{display:grid;width:68px;min-height:44px;place-items:center;padding:6px 8px;border:2px solid #3e522b;border-radius:2px;background:#637a46;box-shadow:inset 0 0 0 2px #8da369,0 3px #3d301b3d;color:#fff3d2;font-size:13px;font-family:inherit;font-weight:700;line-height:1;text-decoration:none;touch-action:manipulation;cursor:pointer}.nav-button:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #7f945e,0 1px #3d301b3d}.map-chooser-backdrop{position:fixed;z-index:180;display:grid;align-items:end;top:0;right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(18px + env(safe-area-inset-top,0px)) 14px 0;background:#261b11b8}.map-chooser{width:min(100%,460px);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));margin:0 auto;overflow-y:auto;padding:20px 18px calc(16px + env(safe-area-inset-bottom,0px));border:5px solid #7f4825;border-bottom:0;border-radius:8px 8px 0 0;background:#f8e8bd;box-shadow:inset 0 0 0 2px #d89a51,0 -5px #20160f3d;color:#4d2f1d;text-align:center}.map-chooser h2{margin:4px 0 12px;font-family:Songti SC,serif;font-size:25px}.map-chooser__location{display:block;font-size:17px;overflow-wrap:anywhere}.map-chooser address{margin:6px 0 15px;color:#75533b;font-family:Songti SC,serif;font-size:12px;font-style:normal;line-height:1.55;overflow-wrap:anywhere}.map-chooser__actions{display:grid;gap:8px}.map-chooser__actions a,.map-chooser__actions button{display:grid;min-height:48px;align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 15px;border:3px solid #415a30;border-radius:3px;background:#68844e;box-shadow:inset 0 0 0 2px #8fa66e,0 3px #3d301b38;color:#fff6d9;font:inherit;font-weight:700;text-align:left;text-decoration:none;touch-action:manipulation;cursor:pointer}.map-chooser__actions a:focus-visible,.map-chooser__actions button:focus-visible{outline:3px solid #db7882;outline-offset:2px}.map-chooser__actions button:disabled{border-color:#8b765f;background:#a7977e;box-shadow:none;cursor:not-allowed}.map-chooser__actions button small{font-size:10px}.map-chooser__actions .map-chooser__copy{border-color:#8a532c;background:#c1844b;box-shadow:inset 0 0 0 2px #dda66a,0 3px #3d301b38}.map-chooser__actions .map-chooser__cancel{display:block;border-color:#9a7656;background:#f1d6a8;box-shadow:inset 0 0 0 2px #fff0cb,0 3px #3d301b29;color:#614129;text-align:center}.map-chooser__status{min-height:20px;margin:9px 0 0;color:#8d4d42;font-size:12px;line-height:1.4}@supports not (height: 100dvh){.map-chooser{max-height:calc(100vh - 24px - env(safe-area-inset-top,0px))}}.route-connector{display:grid;width:15px;height:18px;margin:-3px 0;place-items:center;color:#718149;font-size:15px;font-weight:700}.pickup-note{display:flex;align-items:flex-start;gap:11px;margin-top:16px;padding:14px 16px}.pickup-note__icon{flex:0 0 auto;font-size:20px}.pickup-note__copy{min-width:0}.pickup-note__copy strong{font-size:17px}.pickup-note__copy p{margin:5px 0 0}.day-panel{margin-bottom:18px}.day-panel--wood{border-color:#744326;background:#f7dfb2;box-shadow:inset 0 0 0 3px #c88744,inset 0 0 0 6px #ffe1aac2,0 4px #532f182e}.day-ribbon{width:min(100%,210px);margin-bottom:18px;padding:9px 12px}.journey-map__stops{min-width:0}.location-row--journey{grid-template-columns:15px minmax(0,1fr) 68px}.schedule-list li{display:grid;min-height:58px;align-items:start;grid-template-columns:minmax(80px,96px) 22px minmax(0,1fr);gap:6px;padding:10px 0}.schedule-list time{padding-top:2px;font-size:12px;line-height:1.45}.schedule-axis{position:relative;display:block;align-self:stretch;min-height:38px}.schedule-axis i{position:absolute;z-index:1;top:5px;left:50%;width:10px;height:10px;border:2px solid #75482e;background:#d47f85;box-shadow:0 0 0 2px #fff0c6;transform:translate(-50%) rotate(45deg)}.schedule-axis b{position:absolute;top:18px;bottom:-15px;left:50%;width:2px;background:repeating-linear-gradient(to bottom,#b47d66 0,#b47d66 6px,transparent 6px,transparent 10px);transform:translate(-50%)}.schedule-list li:last-child .schedule-axis b{display:none}.schedule-copy{display:flex;min-width:0;flex-direction:column;line-height:1.4}.schedule-copy strong{overflow-wrap:anywhere}.venue-card--wood{border-width:4px;border-color:#754425;background:#f4d6a0;box-shadow:inset 0 0 0 2px #c88845,0 4px #532f182e}.venue-card--feast{border-left:7px solid #bd6c72;background:#f8e7c4}.location-row--venue{margin-top:13px;padding:10px;border-left:4px solid #6f814b;background:#fff9e094}.venue-card dl{margin-top:14px}.food-card{display:grid;align-items:start;grid-template-columns:48px minmax(0,1fr);gap:12px}.food-card--soup{border-top:6px solid #c47b42}.food-card--meat{border-top:6px solid #73844f;background:#f6dfb6}.food-card__body{display:flex;min-width:0;flex-direction:column}.location-row--food{grid-template-columns:minmax(0,1fr) 68px;gap:9px;padding-bottom:0}.location-row--food .location-row__marker{display:none}.travel-card{border-left:7px solid #c57578}.rsvp-shell{width:min(100%,680px)}.rsvp-form{display:flex;flex-direction:column;gap:18px}.form-card{padding:22px 17px}.form-card header{margin-bottom:20px}.form-card header h2{margin:5px 0 0}.field{display:flex;min-width:0;flex-direction:column;margin:0 0 21px;padding:0;border:0}.field:last-child{margin-bottom:0}.field>span,.field legend{width:100%;margin-bottom:9px;padding:0;color:#544138;font-size:15px;font-weight:700}.field>span,.field legend{display:flex;align-items:center;justify-content:space-between;gap:12px}.field b,.field small{padding:3px 7px;border-radius:2px;background:#f2ded3;color:#a25743;font-size:11px;font-weight:500}.field small{background:#e6eadc;color:#6f825c;text-align:right}.field input,.field textarea{width:100%;min-width:0;border:2px solid #deceb6;border-radius:4px;background:#fffdf8;color:#493b31;font-size:16px}.field input{height:48px;padding:0 12px}.field textarea{min-height:135px;padding:12px;line-height:1.6;resize:vertical}.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-grid label{display:grid;min-height:48px;place-items:center;padding:8px;border:2px solid #d9c8af;border-radius:4px;background:#fffdf8;color:#76655a;font-weight:700;cursor:pointer}.choice-grid label.selected{border-color:#a95f48;background:#a95f48;box-shadow:inset 0 -3px #5f30233d;color:#fffaf4}.choice-grid input{position:absolute;width:1px;height:1px;opacity:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submit-button{width:100%}.form-feedback{margin:0;padding:14px;border:2px solid #6f814b;background:#edf1df;color:#41522f;line-height:1.6;text-align:center}.form-feedback--error{border-color:#a95f48;background:#f7e1da;color:#7f3e2f}.not-found-card{width:min(calc(100% - 36px),520px);margin:80px auto;padding:42px 24px;text-align:center}.not-found-card>span{font-size:42px}.not-found-card .pixel-primary{margin-top:14px}@keyframes cover-arrive{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes home-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heart-breathe{50%{transform:scale(1.1)}}@keyframes sign-shake{20%{transform:rotate(-9deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(5deg)}}@keyframes book-flip{50%{transform:rotateY(75deg) scale(.95)}}@keyframes chicken-bounce{50%{transform:translateY(-5px) rotate(-3deg)}}@media (min-width: 760px){.content-shell{padding-right:32px;padding-left:32px}.story-card__previews{padding:8px 8px 0}.story-card__previews .photo-frame{aspect-ratio:4 / 3}.guide-card,.day-panel,.form-card{padding:23px 22px}.map-chooser-backdrop{place-items:center;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.map-chooser{border-bottom:5px solid #7f4825;border-radius:8px;box-shadow:inset 0 0 0 2px #d89a51,0 6px #20160f3d}}@media (max-width: 370px){.home-main{padding-right:38px;padding-left:38px}.invitation-paper{padding-right:8px;padding-left:8px}.entry-copy strong{font-size:17px}.entry-copy small{font-size:10px}.content-shell{padding-right:13px;padding-left:13px}.schedule-list li{grid-template-columns:72px 20px minmax(0,1fr);gap:5px}.entry-list{--decoration-rail: 48px;--entry-rail-gap: 8px;width:min(calc(100% + 56px),calc(100vw - 16px))}.entry-decoration-button{width:48px}.entry-decoration-button img{width:46px}.entry-card{grid-template-columns:36px minmax(0,1fr) 10px;gap:8px;padding-right:9px;padding-left:5px}.entry-pennant{width:36px}.location-row,.location-row--journey{grid-template-columns:12px minmax(0,1fr) 64px;gap:7px}.location-row--food{grid-template-columns:minmax(0,1fr) 64px}.nav-button{width:64px}.contact-board{padding-right:9px;padding-left:9px}.contact-row a{gap:4px;font-size:12px}}@media (max-width: 520px){.field-pair{grid-template-columns:1fr;gap:0}}@media (orientation: landscape) and (max-height: 500px){.opening-cover{align-items:start}.opening-cover__paper{padding-top:24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
