:root{--background:oklch(97.6% .014 73);--foreground:oklch(22.5% .025 28);--card:oklch(99.5% .006 73);--card-foreground:oklch(22.5% .025 28);--primary:oklch(38.5% .145 23);--primary-foreground:oklch(97% .028 83);--secondary:oklch(82% .092 77);--secondary-foreground:oklch(25% .05 28);--muted:oklch(92.5% .026 69);--muted-foreground:oklch(48% .04 35);--accent:oklch(72% .108 76);--accent-foreground:oklch(22% .05 30);--destructive:oklch(56% .22 27);--border:oklch(77% .05 65/.42);--input:oklch(79% .04 65/.45);--ring:oklch(63% .13 61);--radius:.75rem;--font-sans-cn:"Microsoft YaHei UI", "PingFang SC", "Noto Sans CJK SC", sans-serif;--font-serif-cn:"Songti SC", "STSong", "SimSun", serif;--crimson:#761923;--crimson-deep:#3d0d13;--gold:#d9b06f;--ivory:#f8f0df}.dark{--background:oklch(19% .04 28);--foreground:oklch(96% .02 76);--card:oklch(23.5% .045 28);--card-foreground:oklch(96% .02 76);--primary:oklch(73% .11 76);--primary-foreground:oklch(20% .04 28);--secondary:oklch(34% .09 24);--secondary-foreground:oklch(96% .02 76);--muted:oklch(28% .045 30);--muted-foreground:oklch(76% .03 69);--accent:oklch(69% .11 74);--accent-foreground:oklch(20% .04 28);--destructive:oklch(67% .2 25);--border:oklch(82% .05 74/.22);--input:oklch(82% .05 74/.28);--ring:oklch(69% .11 74)}*{box-sizing:border-box;border-color:var(--border)}button{cursor:pointer}button:disabled{cursor:not-allowed}html{scroll-behavior:smooth;background:var(--crimson-deep);overflow-x:hidden}body{background:var(--background);min-width:320px;color:var(--foreground);font-family:var(--font-sans-cn);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}.hero{min-height:100svh;color:var(--ivory);background:radial-gradient(circle at 12% 17%,#d9b06f2e,#0000 28%),linear-gradient(135deg,#5d111a 0%,#7b1823 44%,#4b0d14 100%);grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);grid-template-areas:"copy photo";display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:3;pointer-events:none;border:1px solid #d9b06f85;position:absolute;inset:20px}.hero-copy{z-index:2;flex-direction:column;grid-area:copy;justify-content:space-between;gap:2.5rem;min-height:100svh;padding:clamp(3.75rem,7vw,7rem) clamp(3rem,7vw,8rem) clamp(3rem,6vw,5rem);display:flex;position:relative}.hero-topline{color:#f8f0dfc2;font-family:var(--font-serif-cn);letter-spacing:.2em;justify-content:flex-start;align-items:center;gap:1rem;font-size:.86rem;display:flex}.hero-seal{border:1px solid var(--gold);width:2rem;height:2rem;color:var(--gold);letter-spacing:0;place-items:center;font-size:1.05rem;display:inline-grid;transform:rotate(45deg)}.hero-seal>span{line-height:1;display:block;transform:rotate(-45deg)}.hero-heading{max-width:46rem}.hero-kicker{color:var(--gold);letter-spacing:.38em;margin:0 0 1.15rem;font-size:.72rem;font-weight:600}.hero h1{font-family:var(--font-serif-cn);letter-spacing:.08em;text-wrap:nowrap;align-items:center;gap:clamp(.75rem,2.2vw,2rem);margin:0;font-size:clamp(3rem,6.4vw,7.4rem);font-weight:400;line-height:1.03;display:flex}.hero h1 span{writing-mode:vertical-rl}.hero h1 i{color:var(--gold);letter-spacing:0;align-self:flex-end;margin-bottom:.65rem;font-family:Georgia,serif;font-size:.33em;font-style:italic}.hero-verse{color:#f8f0dfd6;font-family:var(--font-serif-cn);letter-spacing:.12em;margin:clamp(1.6rem,4vh,3rem) 0 0;font-size:clamp(1rem,1.35vw,1.25rem)}.hero-details{background:#d9b06f57;border-top:1px solid #d9b06f61;border-bottom:1px solid #d9b06f61;grid-template-columns:minmax(10rem,.7fr) minmax(15rem,1fr);gap:1px;max-width:46rem;display:grid}.hero-details>div{background:#460b12e0;gap:.12rem;padding:1.15rem 1.35rem;display:grid}.hero-details small{color:var(--gold);font-family:var(--font-serif-cn);letter-spacing:.28em;font-size:.78rem}.hero-details strong{color:var(--ivory);letter-spacing:.08em;font-size:1rem;font-weight:500}.hero-details span{color:#f8f0df94;letter-spacing:.12em;font-size:.82rem}.hero-enter{border-bottom:1px solid var(--gold);width:max-content;color:var(--gold);font-family:var(--font-serif-cn);letter-spacing:.22em;align-items:center;gap:1rem;padding:.35rem 0 .7rem;font-size:.95rem;display:inline-flex}.hero-actions{flex-direction:column;gap:.85rem;width:max-content;display:flex}.hero-quick-links{display:none}.hero-photo{z-index:1;background:#b9ada0;grid-area:photo;min-height:100svh;margin:0;position:relative;overflow:hidden}.hero-photo:after{content:"";pointer-events:none;background:linear-gradient(90deg,#3d0d1357,#0000 28%,#0f090714);position:absolute;inset:0}.hero-photo picture,.hero-photo img{width:100%;height:100%;display:block}.hero-photo img{object-fit:cover;object-position:50% 39%;min-height:100svh}.hero-photo figcaption{z-index:2;color:#fffaf0;letter-spacing:.27em;text-shadow:0 2px 14px #00000057;flex-direction:column;align-items:flex-end;font-family:Georgia,serif;font-size:.66rem;line-height:2;display:flex;position:absolute;bottom:clamp(2.4rem,5vw,4.5rem);right:clamp(2.4rem,4vw,5rem)}.hero-monogram{z-index:0;color:#ffffff12;pointer-events:none;font-family:Georgia,serif;font-size:clamp(8rem,22vw,24rem);font-style:italic;line-height:1;position:absolute;bottom:-.26em;right:-.08em}.preview-invitation{text-align:center;background:var(--ivory);place-content:center;gap:.8rem;min-height:72vh;padding:5rem 1.5rem;display:grid}.preview-invitation p{color:#745f50;letter-spacing:.18em;margin:0}.preview-invitation h2{color:var(--crimson);font-family:var(--font-serif-cn);letter-spacing:.12em;margin:0;font-size:clamp(2rem,5vw,4.5rem);font-weight:400}@media (width<=980px){.hero{grid-template-columns:1fr 44%}.hero-copy{padding-inline:clamp(2.5rem,5vw,4rem)}.hero h1{font-size:clamp(3rem,8vw,5rem)}}@media (width<=720px){.hero{background:var(--crimson-deep);grid-template:"photo"clamp(27rem,66svh,38rem)"copy"/minmax(0,1fr);min-height:0;display:grid}.hero:before{display:none}.hero-photo{height:100%;min-height:0;position:relative;inset:auto}.hero-photo:after{background:linear-gradient(#1e070a1f,#0000 26% 76%,#1e070a38)}.hero-photo img{object-position:50% 40%;height:100%;min-height:0}.hero-photo figcaption,.hero-monogram{display:none}.hero-copy{background:radial-gradient(circle at 90% 8%,#d9b06f29,#0000 28%),linear-gradient(145deg,#68141e,#3d0d13);border-top:1px solid #d9b06f8c;justify-content:flex-start;gap:1.35rem;min-height:0;padding:2rem 1.4rem 2.35rem}.hero-topline{letter-spacing:.12em;justify-content:center;gap:.65rem;font-size:.68rem}.hero-heading{text-align:center;margin-top:0}.hero-kicker{margin-bottom:.75rem;font-size:.62rem}.hero h1{letter-spacing:.03em;justify-content:center;gap:.4rem;font-size:clamp(2.15rem,11.5vw,3.45rem)}.hero h1 span{writing-mode:horizontal-tb}.hero h1 i{align-self:center;margin-bottom:0}.hero-verse{letter-spacing:.08em;margin-top:1rem;font-size:.9rem}.hero-details{grid-template-columns:1fr 1.35fr;width:100%;margin-top:0}.hero-details>div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2f080db8;padding:.75rem .65rem}.hero-details strong{font-size:.78rem}.hero-details span{font-size:.7rem}.hero-actions{align-items:center;gap:.7rem;width:100%}.hero-enter{font-size:.82rem}.hero-quick-links{gap:.55rem;display:flex}.hero-quick-links a{min-height:2.35rem;color:var(--ivory);letter-spacing:.1em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2f080d9e;border:1px solid #f8f0df6b;padding:.55rem .8rem;font-size:.72rem}}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.section-dark{color:var(--ivory);background:var(--crimson-deep)}.eyebrow{color:#794817;letter-spacing:.28em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem;font-weight:700}.section-dark .eyebrow,.countdown-chapter .eyebrow,.rsvp-chapter .eyebrow{color:var(--gold)}.image-frame{background:#b9ada0;position:relative;overflow:hidden}.image-frame picture,.image-frame img{width:100%;height:100%;display:block}.image-frame img{object-fit:cover}.music-control{z-index:80;height:2.85rem;color:var(--ivory);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2d080d99;border-color:#f8f0df6b;border-radius:999px;gap:.55rem;padding-inline:1rem;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 32px #26040833}.music-control:hover{color:#fff9eb;background:#2d080dd1}.music-control svg{color:var(--gold)}.chapter-nav{z-index:70;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:50%;left:1.2rem;transform:translateY(-50%)}.chapter-nav a{color:#f8f0dfc7;width:2.15rem;height:2.15rem;font-family:var(--font-serif-cn);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2d080d80;border:1px solid #f8f0df47;border-radius:50%;place-items:center;font-size:.7rem;transition:width .18s,color .18s,background .18s;display:grid}.chapter-nav a:hover,.chapter-nav a:focus-visible{width:3.4rem;color:var(--crimson-deep);background:var(--gold)}.invitation-chapter{isolation:isolate;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);min-height:100svh;padding:clamp(4rem,8vw,8rem);display:grid;position:relative}.invitation-chapter:before{content:"囍";z-index:-1;color:#d9b06f0d;font-family:var(--font-serif-cn);font-size:clamp(18rem,48vw,46rem);line-height:.7;position:absolute;top:50%;right:-.08em;transform:translateY(-50%)}.invitation-image{border:1px solid #d9b06f66;align-self:center;min-height:min(76svh,920px);box-shadow:-1.4rem 1.4rem #d9b06f1c}.invitation-image img{object-position:50% 52%}.image-index{color:var(--ivory);font-family:var(--font-serif-cn);letter-spacing:.22em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#32070cb8;padding:.4rem .7rem;font-size:.72rem;position:absolute;bottom:1rem;right:1rem}.invitation-copy{background:linear-gradient(115deg,#4d0d14f5,#2d080de0);border-top:1px solid #d9b06f75;border-bottom:1px solid #d9b06f75;border-right:1px solid #d9b06f47;flex-direction:column;align-self:center;align-items:flex-start;margin-left:clamp(-2.5rem,-3vw,-1rem);padding:clamp(2.5rem,6vw,6rem);display:flex;position:relative;box-shadow:0 2rem 7rem #1203054d}.chapter-mark{border:1px solid var(--gold);width:4.8rem;height:4.8rem;color:var(--gold);background:var(--crimson);font-family:var(--font-serif-cn);place-items:center;font-size:2.2rem;display:grid;position:absolute;top:-2.4rem;right:2rem;transform:rotate(45deg);box-shadow:0 0 0 8px #d9b06f14}.chapter-mark>span{line-height:1;display:block;transform:rotate(-45deg)}.invitation-copy h2,.story-copy h2,.vow-copy h2,.venue-heading h2,.gallery-chapter h2,.rsvp-intro h2,.blessing-letter h2{font-family:var(--font-serif-cn);letter-spacing:.08em;margin:0;font-size:clamp(2.3rem,5.2vw,5.5rem);font-weight:400;line-height:1.18}.invitation-copy>p:not(.eyebrow){color:#f8f0dfc7;max-width:35rem;font-family:var(--font-serif-cn);letter-spacing:.09em;margin:1.8rem 0 0;font-size:clamp(1rem,1.4vw,1.25rem);line-height:2.1}.invitation-copy blockquote{border-top:1px solid #d9b06f52;border-left:2px solid var(--gold);max-width:37rem;color:var(--gold);font-family:var(--font-serif-cn);letter-spacing:.1em;margin:2.5rem 0 0;padding:1.25rem 0 0 1.5rem;font-size:.95rem}.signature-line{color:var(--ivory);font-family:var(--font-serif-cn);letter-spacing:.22em;align-items:center;gap:.9rem;margin-top:2.5rem;font-size:1rem;display:flex}.signature-line svg{width:.9rem;color:var(--gold);fill:var(--gold)}.story-chapter{background:linear-gradient(#7619230d 1px, transparent 1px), linear-gradient(90deg, #7619230d 1px, transparent 1px), var(--ivory);background-size:48px 48px;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);min-height:100svh;display:grid}.story-copy{flex-direction:column;justify-content:center;max-width:50rem;padding:clamp(4rem,8vw,9rem);display:flex}.story-copy h2{color:var(--crimson)}.story-lead{color:#6f594c;max-width:37rem;font-family:var(--font-serif-cn);letter-spacing:.06em;margin:1.6rem 0 0;font-size:1.08rem;line-height:2}.together-counter{border-left:3px solid var(--crimson);background:#ffffffad;grid-template-rows:auto auto;grid-template-columns:auto auto auto;align-items:end;column-gap:.7rem;width:max-content;max-width:100%;margin-top:2.2rem;padding:1.4rem 1.6rem;display:grid;box-shadow:0 1rem 3rem #48201014}.counter-label{color:#7b6252;letter-spacing:.2em;grid-column:1/-1;font-size:.78rem}.together-counter strong{color:var(--crimson);font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.8rem);font-weight:400;line-height:1}.together-counter>span:not(.counter-label){color:#7b6252;font-family:var(--font-serif-cn);padding-bottom:.3rem;font-size:1.15rem}.together-counter small{color:#9b806b;letter-spacing:.06em;align-self:end;padding-bottom:.35rem;font-family:Georgia,serif;font-size:.76rem}.love-timeline{gap:1.15rem;margin:2.2rem 0 0;padding:0;list-style:none;display:grid}.love-timeline li{color:#705b4d;grid-template-columns:7rem 1fr;align-items:center;gap:1rem;display:grid}.love-timeline time{color:var(--crimson);letter-spacing:.08em;font-family:Georgia,serif;font-size:.78rem}.love-timeline span{font-family:var(--font-serif-cn);letter-spacing:.08em;padding-left:1.25rem;position:relative}.love-timeline span:before{content:"";background:var(--gold);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.story-image{min-height:100svh;margin:0}.story-image img{object-position:48% 44%}.story-image figcaption{color:var(--ivory);font-family:var(--font-serif-cn);letter-spacing:.22em;writing-mode:vertical-rl;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#33100a9e;padding:.65rem .9rem;font-size:.82rem;position:absolute;top:2.2rem;right:2.2rem}.vow-chapter{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);min-height:100svh;padding:clamp(4rem,7vw,7rem);display:grid;position:relative;overflow:hidden}.vow-collage{min-height:min(78svh,860px);position:relative}.vow-image{border:1px solid #d9b06f6b;margin:0;position:absolute;overflow:hidden}.vow-image picture,.vow-image img{width:100%;height:100%;display:block}.vow-image img{object-fit:cover}.vow-image-primary{inset:0 32% 12% 0}.vow-image-primary img{object-position:50% 34%}.vow-image-secondary{width:40%;height:66%;box-shadow:-1rem -1rem 0 var(--crimson-deep), -1rem -1rem 0 1px #d9b06f5c;bottom:0;right:3%}.vow-image-secondary img{object-position:52% 36%}.vow-copy{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#3d0d13e6;border:1px solid #d9b06f52;flex-direction:column;align-self:center;margin-left:-5rem;padding:clamp(2.2rem,4vw,4.5rem);display:flex;position:relative;box-shadow:0 2rem 6rem #10020466}.vow-copy>svg{width:1.35rem;color:var(--gold)}.vow-copy h2{font-size:clamp(2rem,3.9vw,4.2rem)}.vow-copy>p:not(.eyebrow){color:#f8f0dfbd;font-family:var(--font-serif-cn);letter-spacing:.08em;margin:1.7rem 0 0;line-height:2}.vow-stamp{border:1px solid var(--gold);color:var(--gold);font-family:var(--font-serif-cn);letter-spacing:.18em;align-self:flex-end;margin-top:2rem;padding:.5rem .65rem;font-size:.86rem}.countdown-chapter{color:#fff;background:#17391f;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.countdown-photo,.countdown-photo img,.rsvp-photo,.rsvp-photo img{width:100%;height:100%;display:block;position:absolute;inset:0}.countdown-photo img,.rsvp-photo img{object-fit:cover}.countdown-photo img{object-position:50% 39%}.countdown-overlay,.rsvp-overlay{position:absolute;inset:0}.countdown-overlay{background:radial-gradient(circle at 50% 44%,#0000 8%,#0a201257 75%),linear-gradient(#12180b47,#0d2314b8)}.countdown-copy{z-index:2;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14301e80;border:1px solid #fff4d77a;width:min(63rem,100% - 3rem);padding:clamp(2rem,5vw,4.5rem);position:relative;box-shadow:0 2rem 6rem #0000003d}.countdown-copy h2{font-family:var(--font-serif-cn);letter-spacing:.16em;margin:0;font-size:clamp(2.2rem,5vw,5rem);font-weight:400}.countdown-grid{background:#fff4d752;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:clamp(2rem,5vw,4rem);display:grid}.countdown-grid>div{background:#0e2c1aad;gap:.4rem;padding:1.4rem .6rem;display:grid}.countdown-grid strong{font-family:Georgia,serif;font-size:clamp(2rem,5.5vw,5.2rem);font-weight:400;line-height:1}.countdown-grid span{color:#fff4d7b8;font-family:var(--font-serif-cn);letter-spacing:.28em;font-size:.75rem}.countdown-date{color:#fff4d7d6;font-family:var(--font-serif-cn);letter-spacing:.22em;margin:1.8rem 0 0}.countdown-lunar{color:#fff4d7a8;font-family:var(--font-serif-cn);letter-spacing:.18em;margin:.5rem 0 0;font-size:.88em}.venue-chapter{background:var(--ivory);padding:clamp(4rem,8vw,8rem)}.venue-heading{grid-template-columns:1fr minmax(16rem,.7fr);align-items:end;gap:2rem;max-width:84rem;margin:0 auto 3rem;display:grid}.venue-heading .eyebrow,.venue-heading h2{grid-column:1}.venue-heading h2{color:var(--crimson)}.venue-heading>p:last-child{color:#735e50;font-family:var(--font-serif-cn);letter-spacing:.06em;grid-area:1/2/span 2;margin:0;line-height:2}.venue-grid{background:#d6b781;border:1px solid #d6b781;grid-template-columns:minmax(260px,.76fr) minmax(300px,.8fr) minmax(340px,1fr);gap:1px;max-width:84rem;min-height:40rem;margin:0 auto;display:grid}.calendar-card,.map-card{background:#fffaf0}.calendar-card{flex-direction:column;justify-content:center;padding:clamp(1.5rem,3vw,3rem);display:flex}.calendar-title{border-bottom:2px solid var(--crimson);color:var(--crimson);justify-content:space-between;align-items:baseline;padding-bottom:1rem;display:flex}.calendar-title span{letter-spacing:.18em;font-family:Georgia,serif;font-size:.85rem}.calendar-title strong{font-family:Georgia,serif;font-size:1.4rem;font-weight:400}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{color:#9f836b;margin-top:1.1rem;font-size:.7rem}.calendar-days{row-gap:.45rem;margin-top:.6rem;font-family:Georgia,serif;font-size:.78rem}.calendar-days span{place-items:center;min-height:2rem;display:grid}.calendar-days .is-wedding-day{z-index:1;color:#fff;position:relative}.calendar-days .is-wedding-day:before{content:"";z-index:-1;background:var(--crimson);border-radius:50% 50% 50% 0;width:2rem;height:2rem;position:absolute;transform:rotate(-45deg)}.calendar-caption{color:#765b46;font-family:var(--font-serif-cn);letter-spacing:.12em;border-top:1px solid #e6d6ba;justify-content:center;align-items:center;gap:.6rem;margin-top:1.35rem;padding-top:1rem;font-size:.8rem;display:flex}.calendar-caption svg{width:1rem;color:var(--crimson)}.venue-photo img{object-position:52% 44%}.venue-photo:after{content:"";background:linear-gradient(#0000 58%,#19160cb8);position:absolute;inset:0}.venue-photo>span{z-index:2;color:#fff;font-family:var(--font-serif-cn);text-align:center;letter-spacing:.2em;position:absolute;bottom:1.5rem;left:1.3rem;right:1.3rem}.map-card{grid-template-rows:minmax(15rem,.75fr) auto;display:grid}.map-graphic{min-height:16rem;color:var(--crimson);background-color:#eadcc4;background-image:linear-gradient(#76192314 1px,#0000 1px),linear-gradient(90deg,#76192314 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;display:grid;position:relative;overflow:hidden}.map-graphic>svg{z-index:3;width:2.6rem;height:2.6rem;fill:var(--crimson);filter:drop-shadow(0 8px 9px #490d1440);position:relative}.map-graphic small{color:#624832;text-align:right;font-family:Georgia,serif;font-size:.62rem;line-height:1.45;position:absolute;bottom:.7rem;right:1rem}.map-axis,.map-ring{display:block;position:absolute}.map-axis-x{background:#7619235c;height:2px;left:0;right:0}.map-axis-y{background:#7619235c;width:2px;top:0;bottom:0}.map-ring{border:1px solid #76192347;border-radius:50%}.map-ring-one{width:8rem;height:8rem}.map-ring-two{width:14rem;height:14rem}.map-copy{padding:clamp(1.5rem,3vw,2.8rem)}.map-copy h3{color:var(--crimson);font-family:var(--font-serif-cn);letter-spacing:.08em;margin:0;font-size:clamp(1.6rem,2.5vw,2.45rem);font-weight:400;line-height:1.45}.map-copy address{color:#745e4e;margin-top:1rem;font-style:normal;line-height:1.85}.map-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.3rem;display:flex}.map-actions a{border:1px solid var(--crimson);min-height:2.6rem;color:var(--crimson);justify-content:center;align-items:center;gap:.45rem;padding:.5rem .85rem;font-size:.84rem;display:inline-flex}.map-actions a:first-child{color:#fff;background:var(--crimson)}.map-actions svg{width:.95rem}.map-copy>small{color:#6d5340;margin-top:1rem;font-size:.7rem;display:block}.gallery-chapter{color:var(--ivory);background:#451017;padding:clamp(4rem,7vw,7rem) 0;overflow:hidden}.gallery-chapter>header{justify-content:space-between;align-items:end;gap:2rem;max-width:84rem;margin:0 auto 2.5rem;padding:0 clamp(1.5rem,7vw,6rem);display:flex}.gallery-chapter .eyebrow{color:var(--gold)}.gallery-chapter h2{max-width:40rem;font-size:clamp(2rem,4vw,4.2rem)}.gallery-controls{flex:none;gap:.65rem;display:flex}.gallery-controls button{color:var(--gold);background:#24050a47;border-color:#d9b06f8f;border-radius:50%}.gallery-viewport{scrollbar-color:#d9b06f8c transparent;scrollbar-width:thin;width:100%;overflow:auto hidden}.gallery-track{--gallery-gap:clamp(.75rem, 1.4vw, 1.3rem);gap:var(--gallery-gap);width:max-content;padding-left:clamp(1.5rem,7vw,6rem);animation:28s linear infinite gallery-scroll;display:flex}.gallery-viewport:hover .gallery-track,.gallery-viewport:focus .gallery-track,.gallery-viewport:focus-within .gallery-track,.gallery-chapter:focus-within .gallery-track{animation-play-state:paused}.gallery-track figure{background:#b9ada0;border:1px solid #d9b06f61;flex:none;width:clamp(15rem,25vw,25rem);height:clamp(25rem,42vw,40rem);margin:0;position:relative;overflow:hidden}.gallery-track picture,.gallery-track img{width:100%;height:100%;display:block}.gallery-track img{object-fit:cover;transition:transform .7s}.gallery-track figure:hover img{transform:scale(1.025)}.gallery-track figure:focus-visible{outline-offset:-4px}.gallery-track figcaption{color:var(--ivory);letter-spacing:.18em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2d080d9e;padding:.3rem .5rem;font-family:Georgia,serif;font-size:.62rem;position:absolute;bottom:.8rem;right:.8rem}@keyframes gallery-scroll{to{transform:translateX(calc(-50% - (var(--gallery-gap) / 2)))}}.rsvp-chapter{color:#fff;background:#07162c;min-height:100svh;position:relative;overflow:hidden}.rsvp-photo img{object-position:50% 42%}.rsvp-overlay{background:linear-gradient(90deg,#051026e0 0%,#05102694 48%,#05102638 100%),linear-gradient(#0000,#05102675)}.rsvp-layout{z-index:2;grid-template-columns:minmax(0,.9fr) minmax(340px,.72fr);align-items:center;gap:clamp(2rem,6vw,7rem);width:min(82rem,100% - 3rem);min-height:100svh;margin:auto;padding:clamp(4.5rem,8vw,8rem) 0;display:grid;position:relative}.rsvp-intro{max-width:42rem}.rsvp-intro h2{font-size:clamp(3rem,6vw,6.2rem)}.rsvp-intro>p:not(.eyebrow){color:#ffffffb8;max-width:31rem;font-family:var(--font-serif-cn);letter-spacing:.08em;margin:1.5rem 0 0;font-size:1.05rem}.privacy-note{border-left:2px solid var(--gold);color:#ffffffa3;background:#040d1f57;align-items:flex-start;gap:.7rem;max-width:30rem;margin-top:2rem;padding:.85rem 1rem;font-size:.76rem;line-height:1.7;display:flex}.privacy-note svg{width:1rem;color:var(--gold);flex:none;margin-top:.15rem}.rsvp-form{color:#f8f0df;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081833b8;border:1px solid #ffffff47;gap:1.15rem;padding:clamp(1.5rem,4vw,3rem);display:grid;box-shadow:0 2rem 6rem #00000047}.form-heading{border-bottom:1px solid #fff3;justify-content:space-between;align-items:baseline;padding-bottom:1rem;display:flex}.form-heading span{font-family:var(--font-serif-cn);letter-spacing:.18em;font-size:1.35rem}.form-heading small{color:var(--gold);letter-spacing:.22em;font-family:Georgia,serif}.rsvp-form label,.admin-content label{gap:.45rem;display:grid}.rsvp-form label>span,.admin-content label>span{letter-spacing:.1em;font-size:.78rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.wedding-input,.wedding-textarea,.wedding-select select,.admin-input{color:#fff;background:#ffffff0f;border-color:#ffffff47;border-radius:0;width:100%}.wedding-input{height:3rem;padding-inline:.9rem}.wedding-textarea{resize:vertical;min-height:6.3rem;padding:.8rem .9rem}.wedding-select{width:100%}.wedding-select select{height:3rem;padding-left:.9rem}.wedding-input::placeholder,.wedding-textarea::placeholder{color:#ffffff6b}.wedding-select option{color:#28191a;background:#fffaf0}.form-submit,.blessing-submit{color:#391017;background:var(--gold);letter-spacing:.16em;border-radius:0;min-height:3.15rem;font-size:.92rem}.form-submit:hover,.blessing-submit:hover{background:#f0d197}.form-status{color:#f3d69e;text-align:center;min-height:1.4rem;margin:-.35rem 0 0;font-size:.76rem}.rsvp-update-note{color:#ffffffa8;text-align:center;margin:-.8rem 0 0;font-size:.7rem;line-height:1.55}.honeypot{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.blessing-chapter{min-height:100svh;color:var(--ivory);background:var(--crimson-deep);grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);display:grid}.blessing-photo{min-height:100svh}.blessing-photo img{object-position:52% 40%}.blessing-photo:after{content:"";background:linear-gradient(#0000 52%,#1d0509c7);position:absolute;inset:0}.blessing-photo>span{z-index:2;font-family:var(--font-serif-cn);letter-spacing:.18em;text-align:center;font-size:clamp(1.2rem,2vw,1.8rem);position:absolute;bottom:2rem;left:2rem;right:2rem}.blessing-letter{background-color:#0000;background-image:linear-gradient(#d9b06f0f 1px,#0000 1px),linear-gradient(90deg,#d9b06f0f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;justify-content:center;max-width:51rem;padding:clamp(4rem,9vw,10rem);display:flex;position:relative}.blessing-letter>svg{width:1.7rem;height:1.7rem;color:var(--gold);margin-bottom:1.2rem}.blessing-letter h2{font-size:clamp(2.4rem,4.8vw,4.8rem)}.blessing-letter>p:not(.eyebrow){color:#f8f0dfad;max-width:36rem;font-family:var(--font-serif-cn);letter-spacing:.06em;margin:1.5rem 0 0;line-height:2}.blessing-letter form{margin-top:2rem}.blessing-input-label{gap:.55rem;display:grid}.blessing-input-label>span{color:var(--gold);letter-spacing:.14em;font-size:.78rem}.blessing-textarea{min-height:11rem;color:var(--crimson-deep);resize:vertical;background:repeating-linear-gradient(#0000,#0000 2.1rem,#7619231a 2.1rem calc(2.1rem + 1px)),#fffaf0;border:0;border-bottom:1px solid #d9b06f6b;border-radius:0;padding:1.2rem;line-height:2.1rem}.blessing-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.blessing-actions small{color:#f8f0df8a}.blessing-submit{min-width:9.5rem}.dark-status{text-align:right}.site-footer{color:#624d40;text-align:center;background:radial-gradient(circle at 50% 35%, #d9b06f2b, transparent 26%), var(--ivory);flex-direction:column;justify-content:center;align-items:center;padding:4rem 1.5rem;display:flex}.footer-names{color:var(--crimson);font-family:var(--font-serif-cn);letter-spacing:.16em;align-items:center;gap:1rem;font-size:clamp(2rem,4vw,4rem);display:flex}.footer-names i{color:#a8773f;font-family:Georgia,serif;font-size:.55em}.site-footer>p{letter-spacing:.16em;margin:.7rem 0 0}.site-footer .footer-lunar{color:#8a6a4f;white-space:nowrap;margin-top:.25rem;font-size:.82rem}.site-footer .footer-blessing{color:var(--crimson);font-family:var(--font-serif-cn);margin-top:1.8rem;font-size:1.05rem;line-height:2}.admin-panel{border-top:1px solid #d9c7a7;width:min(33rem,100%);margin-top:3.5rem;padding-top:1rem}.admin-panel-title{color:#6f5945;letter-spacing:.15em;margin:0;font-size:.76rem}.admin-content{text-align:left;background:#ffffff7a;border:1px solid #d9c7a7;gap:.8rem;margin-top:1rem;padding:1rem;display:grid}.admin-input{color:#3c2927;background:#fffaf0;border-color:#cdb895;height:2.75rem}.admin-content>div{flex-wrap:wrap;gap:.6rem;display:flex}.admin-content button{color:var(--crimson);background:0 0;border-color:#b99a6d;flex:1}.admin-content>p{min-height:1.2rem;color:var(--crimson);text-align:center;margin:0;font-size:.74rem}@media (width<=1100px){.chapter-nav{display:none}.invitation-chapter,.venue-chapter,.vow-chapter{padding-inline:clamp(2rem,5vw,4rem)}.venue-grid{grid-template-columns:1fr 1fr}.map-card{grid-column:1/-1;grid-template-rows:none;grid-template-columns:.8fr 1fr}}@media (width<=860px){.invitation-chapter,.story-chapter,.vow-chapter,.blessing-chapter{grid-template-columns:1fr}.invitation-chapter{padding-block:5rem}.invitation-image{width:min(34rem,100% - 1.5rem);min-height:74svh}.invitation-copy{border-left:1px solid #d9b06f47;width:min(39rem,100% - 1.5rem);margin:-5rem 0 0 auto;padding-top:5rem}.invitation-image .image-index{left:1rem;right:auto}.story-image{grid-row:1;min-height:82svh}.story-copy{max-width:none;padding:4.5rem clamp(1.5rem,7vw,4rem)}.vow-chapter{gap:0}.vow-copy{width:min(39rem,92%);margin:-5rem 0 0 auto}.venue-heading{display:block}.venue-heading>p:last-child{max-width:37rem;margin-top:1rem}.rsvp-layout{grid-template-columns:1fr;align-content:center}.rsvp-intro{max-width:35rem}.rsvp-overlay{background:linear-gradient(#051026bd,#051026e0)}.blessing-photo{min-height:82svh}.blessing-letter{max-width:none}}@media (width<=640px){.music-control{top:auto;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));height:2.65rem;padding-inline:.8rem}.music-control span{font-size:.75rem}.invitation-chapter,.venue-chapter,.vow-chapter{padding-inline:1rem}.invitation-chapter{padding-block:3rem}.invitation-image{width:calc(100% - 1rem);min-height:68svh;box-shadow:-.6rem .6rem #d9b06f1c}.invitation-copy{width:calc(100% - .6rem);margin-top:-3.5rem;padding:4.5rem 1.35rem 2rem}.chapter-mark{width:3.8rem;height:3.8rem;font-size:1.7rem;top:-1.8rem;right:1.5rem}.invitation-copy blockquote{padding-left:1rem;font-size:.82rem}.story-copy{padding-inline:1.4rem}.story-image figcaption{letter-spacing:.16em;white-space:nowrap;writing-mode:horizontal-tb;max-width:calc(100% - 2rem);padding:.5rem .85rem;font-size:clamp(.72rem,2.7vw,.82rem);top:clamp(1rem,4vw,1.5rem);left:50%;right:auto;transform:translate(-50%)}.together-counter{grid-template-columns:auto auto;width:100%;padding:1rem}.together-counter small{grid-column:1/-1}.love-timeline li{grid-template-columns:6.2rem 1fr;gap:.55rem;font-size:.84rem}.vow-chapter{padding-block:3.5rem}.vow-collage{min-height:73svh}.vow-image-primary{right:20%}.vow-image-secondary{width:46%;height:58%;right:0}.vow-copy{width:calc(100% - .5rem);margin-top:-3rem;padding:1.7rem}.countdown-copy{width:calc(100% - 2rem);padding:1.5rem .8rem}.countdown-grid{margin-top:2rem}.countdown-grid>div{padding:1rem .25rem}.countdown-grid span{letter-spacing:.12em}.countdown-date{letter-spacing:.12em;font-size:.76rem}.venue-chapter{padding-block:4rem}.venue-grid{border:0;min-height:0;display:block}.calendar-card,.venue-photo,.map-card{border:1px solid #d6b781}.calendar-card{min-height:0}.venue-photo{min-height:30rem}.map-card{min-height:0}.venue-photo{margin-top:.8rem}.map-card{grid-template-columns:1fr;margin-top:.8rem;display:grid}.map-graphic{min-height:15rem}.gallery-chapter>header{display:block}.gallery-track figure{width:72vw;height:108vw}.rsvp-layout{width:calc(100% - 2rem);padding-block:4rem}.rsvp-intro h2{font-size:clamp(2.8rem,15vw,4.8rem)}.rsvp-form{padding:1.25rem}.form-row{grid-template-columns:1fr}.blessing-photo{min-height:78svh}.blessing-letter{padding:4rem 1.3rem}.blessing-actions{flex-direction:column;align-items:stretch}.blessing-submit{width:100%}.dark-status{text-align:center}.footer-names{letter-spacing:.08em;gap:.55rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-track{animation-play-state:paused}}@media (hover:none),(pointer:coarse){.gallery-viewport{scroll-snap-type:x mandatory}.gallery-track{padding-right:1.5rem;animation:none}.gallery-track figure{scroll-snap-align:center}.gallery-track figure[aria-hidden=true]{display:none}}body.invitation-deck-open{overflow:hidden}.invitation-experience{background:#3d0d13;height:100dvh;overflow:hidden}.invitation-deck{--toolbar-height:calc(64px + env(safe-area-inset-bottom,0px));background:#3d0d13;height:100%}.deck-stage{height:calc(100% - var(--toolbar-height));isolation:isolate;position:relative;overflow:hidden}.deck-page{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d9b06f80 transparent;background:#3d0d13;outline:none;transition:transform .95s cubic-bezier(.22,.75,.12,1),opacity .85s,visibility .95s;position:absolute;inset:0;overflow:auto}.deck-page.is-away{opacity:0;transform:translateY(calc(var(--page-direction) * 14%)) scale(.975);visibility:hidden;pointer-events:none}.deck-page.is-current{z-index:2;opacity:1;visibility:visible;transform:none}.deck-page>section,.deck-page>footer{min-height:100%}.deck-page>section{max-width:100%;position:relative;overflow:hidden}.deck-page .hero{height:100%}.deck-page .hero-copy{gap:1.5rem;min-height:0;padding:clamp(2rem,4vw,4.5rem)}.deck-page .hero-photo,.deck-page .hero-photo img{min-height:0}.deck-page .hero h1{font-size:clamp(3rem,6vw,6.4rem)}.deck-page .hero-details{grid-template-columns:1.05fr .95fr}.deck-page .hero-details>div{padding:.8rem 1rem}.deck-page .hero-quick-links{color:var(--ivory);gap:1rem;font-size:14px;display:flex}.deck-page .hero-actions{gap:.55rem}.deck-page .invitation-chapter,.deck-page .vow-chapter{padding:clamp(2rem,5vw,5rem)}.deck-page .invitation-image{height:100%;min-height:0;max-height:78vh}.deck-page .invitation-copy{padding:clamp(2rem,4vw,4rem)}.deck-page .invitation-copy h2{font-size:clamp(2rem,4vw,4rem)}.deck-page .story-chapter{height:100%}.deck-page .story-copy{padding:clamp(2rem,4vw,4rem)}.deck-page .story-copy h2{font-size:clamp(2.2rem,4.5vw,4.8rem)}.deck-page .story-image{min-height:0}.deck-page .story-image figcaption{writing-mode:horizontal-tb;white-space:nowrap;top:1.25rem;left:50%;right:auto;transform:translate(-50%)}.deck-page .together-counter{margin-top:1.2rem;padding:1rem 1.3rem}.deck-page .love-timeline{gap:.8rem;margin-top:1.5rem}.deck-page .vow-collage{min-height:72vh}.deck-page .countdown-chapter{align-items:end;height:100%;padding-bottom:5vh}.deck-page .countdown-copy{background:#14301ec2;padding:1.5rem 2rem}.deck-page .countdown-copy h2{font-size:clamp(2rem,3vw,3.5rem)}.deck-page .countdown-grid{margin-top:1.4rem}.deck-page .countdown-grid strong{font-size:clamp(2.3rem,4vw,4.4rem)}.deck-page .countdown-photo img{object-position:50% 30%}.deck-page .venue-chapter{padding:clamp(1.5rem,3vw,3rem)}.deck-page .venue-heading{gap:1rem;margin-bottom:1.6rem}.deck-page .venue-heading h2{font-size:clamp(2rem,3vw,3.2rem)}.deck-page .venue-grid{min-height:58vh}.deck-page .calendar-card{padding:1.6rem}.deck-page .map-graphic{min-height:10rem}.deck-page .map-copy{padding:1.3rem}.deck-page .map-copy h3{font-size:1.7rem}.deck-page .gallery-chapter{flex-direction:column;justify-content:center;padding:2rem 0;display:flex}.deck-page .gallery-chapter>header{width:100%;margin-bottom:1.5rem}.deck-page .gallery-chapter h2{font-size:clamp(2rem,3vw,3.5rem)}.deck-page .gallery-track figure{width:min(43vh,480px);height:min(65vh,750px)}.deck-page .rsvp-chapter,.deck-page .rsvp-layout{min-height:100%}.deck-page .blessing-chapter{height:100%}.deck-page .blessing-photo{min-height:0}.deck-page .blessing-letter{padding:2rem clamp(1.5rem,4vw,4rem)}.deck-page .blessing-letter h2{font-size:clamp(2rem,3vw,3.3rem)}.deck-page .blessing-letter form{margin-top:1.2rem}.deck-page .blessing-textarea{min-height:8rem}.deck-page .site-footer{background:radial-gradient(at 50% 30%,#fff6df 0,#f0dec0 100%);padding:3rem 1.5rem}.deck-page .site-footer:before{content:"囍";width:5rem;height:5rem;font:2.4rem var(--font-serif-cn);color:var(--crimson);border:1px solid #b28957;border-radius:50%;place-items:center;margin-bottom:2rem;display:grid}.deck-page .site-footer .music-credit{letter-spacing:.02em;color:#8a7059;margin-top:2.5rem;font-size:11px;line-height:1.8}.music-credit a{text-underline-offset:3px;text-decoration:underline}.deck-toolbar{z-index:80;height:var(--toolbar-height);padding:0 clamp(1rem, 3vw, 3rem) env(safe-area-inset-bottom,0px);color:#f8f0df;background:#3d0d13;border-top:1px solid #d9b06f45;justify-content:space-between;align-items:center;gap:.8rem;display:flex;position:absolute;bottom:0;left:0;right:0}.deck-toolbar button{height:44px;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;gap:.45rem;display:flex}.deck-toolbar button:disabled{opacity:.3}.deck-toolbar button:focus-visible{outline-offset:-3px}.deck-toolbar svg{width:18px;height:18px}.tour-toggle{letter-spacing:.08em;padding:0;font-size:13px}.tour-toggle svg{color:var(--gold)}.page-navigation{align-items:center;gap:.6rem;display:flex}.page-navigation button{min-width:44px}.page-current{text-align:center;grid-template-columns:auto auto;align-items:baseline;gap:0 .25rem;font-family:Georgia,serif;display:grid}.page-current b{color:var(--gold);font-size:20px;font-weight:400}.page-current>span{opacity:.65;font-size:12px}.page-current em{font:11px var(--font-serif-cn);letter-spacing:.16em;grid-column:1/-1;font-style:normal}.page-progress{height:2px;position:absolute;top:-1px;left:0;right:0;overflow:hidden}.page-progress>span{transform-origin:0;background:#edc381;height:100%;display:block;transform:scaleX(0)}.is-manual .page-progress>span{opacity:0}.invitation-experience .music-control{z-index:90;top:calc(.8rem + env(safe-area-inset-top,0px));color:#fff4e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#3d0d13ba;border:1px solid #d9b06f77;border-radius:24px;align-items:center;gap:.4rem;height:36px;padding:0 .7rem;font-size:12px;display:flex;position:fixed;bottom:auto;right:1rem;box-shadow:0 3px 12px #17040822}.invitation-experience .music-control>svg{width:14px;height:14px}.music-bars{align-items:center;gap:2px;height:12px;display:flex}.music-bars b{background:var(--gold);width:2px;height:4px;display:block}.is-playing .music-bars b{animation:1.2s ease-in-out infinite alternate piano-wave}.is-playing .music-bars b:nth-child(2){animation-delay:-.7s}.is-playing .music-bars b:nth-child(3){animation-delay:-.4s}@keyframes piano-wave{to{height:12px}}.deck-page .chapter-glow{pointer-events:none;z-index:5;min-height:100%;position:absolute;inset:0;overflow:hidden}.chapter-glow i{left:calc(7% + var(--spark-index) * 10.5%);top:calc(8% + var(--spark-index) * 9%);opacity:0;background:#ffe6ac;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 14px 3px #eec97f66}.is-current .chapter-glow i{animation:8s ease-in-out infinite light-drift;animation-delay:calc(var(--spark-index) * -.9s)}@keyframes light-drift{0%,to{opacity:0;transform:translateY(20px)}45%{opacity:.65}80%{opacity:.2;transform:translate(14px,-36px)}}.deck-page.is-current :is(.hero-heading,.invitation-copy h2,.story-copy h2,.vow-copy h2,.countdown-copy h2,.venue-heading h2,.gallery-chapter h2,.rsvp-intro h2,.blessing-letter h2,.footer-names){animation:1.3s cubic-bezier(.16,1,.3,1) .15s both chapter-reveal}.deck-page.is-current :is(.hero-verse,.hero-details,.invitation-copy>p,.invitation-copy blockquote,.story-lead,.vow-copy>p,.countdown-grid,.map-copy,.rsvp-form,.blessing-letter form,.footer-blessing){animation:1.4s cubic-bezier(.16,1,.3,1) .38s both chapter-reveal}.deck-page.is-current :is(.signature-line,.together-counter,.love-timeline,.hero-actions){animation:1.5s cubic-bezier(.16,1,.3,1) .65s both chapter-reveal}@keyframes chapter-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.deck-page.is-current :is(.hero-photo img,.invitation-image img,.story-image img,.vow-image img,.countdown-photo img,.venue-photo img,.blessing-photo img){transform-origin:50% 40%;animation:18s ease-in-out infinite alternate photo-breathe}@keyframes photo-breathe{0%{transform:scale(1)}to{transform:scale(1.035)}}.deck-page.is-current .vow-copy>svg{animation:3.5s ease-in-out infinite tender-pulse}.deck-page.is-current .map-ring{animation:5s ease-out infinite map-ripple}.deck-page.is-current .map-ring-two{animation-delay:-2.5s}.deck-page.is-current .signature-line svg{animation:2.8s ease-in-out infinite tender-pulse}@keyframes tender-pulse{50%{filter:drop-shadow(0 0 6px #d9b06f80);transform:scale(1.15)}}@keyframes map-ripple{0%{opacity:0;transform:scale(.65)}30%{opacity:.6}to{opacity:0;transform:scale(1.15)}}.deck-page.is-away *{animation-play-state:paused!important}@media (width<=860px){.deck-page .hero{grid-template-columns:minmax(0,1fr) 45%}.deck-page .invitation-chapter{grid-template-columns:44% 56%;padding:3rem 1.5rem}.deck-page .invitation-image{width:100%}.deck-page .invitation-copy{width:auto;margin:0 0 0 -1rem;padding:2.5rem 1.4rem}.deck-page .story-chapter{grid-template-columns:1fr 45%}.deck-page .story-image{grid-row:auto}.deck-page .story-copy{padding:1.5rem}.deck-page .vow-chapter{grid-template-columns:1fr 1fr}.deck-page .vow-copy{width:auto;margin:0 0 0 -2rem;padding:1.5rem}.deck-page .blessing-chapter{grid-template-columns:40% 60%}}@media (width<=640px){.deck-page .eyebrow{letter-spacing:.19em;margin-bottom:.6rem;font-size:11px}.deck-page .hero{grid-template:"photo"minmax(230px,1fr)"copy"/1fr;height:auto;min-height:100%;display:grid}.deck-page[data-chapter=cover] .hero{height:100%}.deck-page .hero-photo{height:100%;min-height:0}.deck-page .hero-photo img{object-position:50% 39%;height:100%}.deck-page .hero-copy{align-items:center;gap:.9rem;min-height:0;padding:1.2rem 1.3rem 1rem}.deck-page .hero-topline{justify-content:center;gap:1rem;font-size:10px}.deck-page .hero-seal{width:1.35rem;height:1.35rem;font-size:.9rem}.deck-page .hero-kicker{margin-bottom:.45rem;font-size:10px}.deck-page .hero h1{justify-content:center;gap:.5rem;font-size:clamp(2.1rem,9.2vw,2.8rem);line-height:1.15}.deck-page .hero h1 span{writing-mode:horizontal-tb}.deck-page .hero h1 i{align-self:center;margin:0}.deck-page .hero-verse{letter-spacing:.09em;text-align:center;margin:.55rem 0 0;font-size:13px;line-height:1.7}.deck-page .hero-details{text-align:left;grid-template-columns:1.05fr .95fr;width:100%}.deck-page .hero-details>div{gap:0;padding:.4rem .55rem}.deck-page .hero-details small{font-size:10px}.deck-page .hero-details strong{font-size:13px}.deck-page .hero-details span{white-space:nowrap;font-size:11px}.deck-page .hero-details .hero-date-lunar{letter-spacing:.04em;font-size:10.5px}.deck-page .hero-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;width:100%}.deck-page .hero-enter{gap:.3rem;padding:.2rem 0;font-size:12px}.deck-page .hero-enter svg{width:16px}.deck-page .hero-quick-links{gap:.5rem}.deck-page .hero-quick-links a{min-height:30px;padding:.25rem .5rem;font-size:11px}.deck-page .hero-photo figcaption{display:none}.deck-page .invitation-chapter{grid-template-rows:minmax(240px,36vh) auto;grid-template-columns:1fr;height:auto;min-height:100%;padding:0 0 1rem;display:grid}.deck-page .invitation-image{width:100%;height:100%;min-height:0;max-height:none;box-shadow:none;border:0}.deck-page .invitation-image img{object-position:50% 34%}.deck-page .invitation-copy{width:calc(100% - 2rem);margin:-1.2rem auto 0;padding:2rem 1.2rem 1.3rem}.deck-page .invitation-copy h2{font-size:clamp(1.85rem,8vw,2.5rem);line-height:1.25}.deck-page .invitation-copy>p:not(.eyebrow){margin-top:.8rem;font-size:15px;line-height:1.85}.deck-page .invitation-copy blockquote{margin-top:1rem;padding:.6rem 0 0 .7rem;font-size:13px;line-height:1.85}.deck-page .chapter-mark{width:2.6rem;height:2.6rem;font-size:1.4rem;top:-1.1rem;right:1.5rem}.deck-page .signature-line{margin-top:1rem;font-size:15px}.deck-page .story-chapter{grid-template-rows:minmax(260px,39vh) auto;grid-template-columns:1fr;height:auto}.deck-page .story-image{grid-row:1;height:100%}.deck-page .story-image img{object-position:50% 25%}.deck-page .story-image figcaption{padding:.4rem .6rem;font-size:11px;top:.8rem;left:.8rem;transform:none}.deck-page .story-copy{padding:1.4rem 1.5rem}.deck-page .story-copy h2{font-size:clamp(1.85rem,7.6vw,2.4rem)}.deck-page .story-lead{margin-top:.65rem;font-size:14px;line-height:1.8}.deck-page .together-counter{grid-template-columns:auto auto 1fr;margin-top:.8rem;padding:.65rem 1rem}.deck-page .together-counter strong{font-size:2.8rem}.deck-page .together-counter small{text-align:right;grid-column:auto;font-size:11px}.deck-page .love-timeline{gap:.45rem;margin-top:.8rem}.deck-page .love-timeline li{grid-template-columns:6rem 1fr;font-size:12px}.deck-page .vow-chapter{grid-template-rows:minmax(300px,48vh) auto;grid-template-columns:1fr;padding:1.5rem 1rem 1rem;display:grid}.deck-page .vow-collage{height:100%;min-height:0}.deck-page .vow-image-primary{right:24%}.deck-page .vow-image-secondary{width:43%;height:65%;right:0}.deck-page .vow-copy{width:calc(100% - 1rem);margin:-.8rem 0 0 auto;padding:1.25rem}.deck-page .vow-copy h2{font-size:clamp(1.65rem,6.8vw,2.2rem)}.deck-page .vow-copy>p:not(.eyebrow){margin-top:.7rem;font-size:14px;line-height:1.85}.deck-page .vow-stamp{margin-top:.8rem;padding:.3rem .5rem}.deck-page .countdown-chapter{padding-bottom:1.5rem}.deck-page .countdown-copy{width:calc(100% - 2rem);padding:1.2rem 1rem}.deck-page .countdown-copy h2{font-size:1.8rem}.deck-page .countdown-grid{margin-top:1rem}.deck-page .countdown-grid>div{padding:.8rem .2rem}.deck-page .countdown-grid strong{font-size:2.4rem}.deck-page .countdown-date{margin-top:1rem;font-size:12px}.deck-page .venue-chapter{padding:2.8rem 1rem 1rem}.deck-page .venue-heading{margin-bottom:1rem}.deck-page .venue-heading h2{font-size:1.9rem}.deck-page .venue-heading>p:last-child{margin-top:.5rem;font-size:13px;line-height:1.8}.deck-page .venue-grid{grid-template-columns:1.05fr 1fr;gap:.65rem;min-height:0;display:grid}.deck-page .calendar-card{min-height:0;padding:.7rem}.deck-page .calendar-title{padding-bottom:.4rem}.deck-page .calendar-title span{font-size:11px}.deck-page .calendar-title strong{font-size:1.15rem}.deck-page .calendar-weekdays{margin-top:.6rem;font-size:10px}.deck-page .calendar-days{row-gap:.15rem;font-size:11px}.deck-page .calendar-days span{min-height:1.55rem}.deck-page .calendar-days .is-wedding-day:before{width:1.5rem;height:1.5rem}.deck-page .calendar-caption{gap:.2rem;margin-top:.5rem;padding-top:.5rem;font-size:10px}.deck-page .venue-photo{min-height:260px;margin:0}.deck-page .venue-photo>span{letter-spacing:.06em;font-size:11px;bottom:.8rem;left:.4rem;right:.4rem}.deck-page .map-card{grid-column:1/-1;grid-template-rows:1fr;grid-template-columns:.65fr 1.35fr;margin:0}.deck-page .map-graphic{min-height:11rem}.deck-page .map-graphic small{font-size:8px;right:.4rem}.deck-page .map-copy{padding:.9rem}.deck-page .map-copy h3{font-size:1.25rem}.deck-page .map-copy address{margin-top:.5rem;font-size:12px}.deck-page .map-actions{gap:.4rem;margin-top:.7rem}.deck-page .map-actions a{min-height:2.1rem;padding:.4rem .6rem;font-size:12px}.deck-page .map-copy>small{margin-top:.5rem;font-size:10px}.deck-page .gallery-chapter{padding:3rem 0 2rem}.deck-page .gallery-chapter>header{padding-inline:1.3rem}.deck-page .gallery-chapter h2{font-size:1.9rem}.deck-page .gallery-controls{margin-top:.8rem}.deck-page .gallery-track figure{width:72vw;height:min(108vw,62vh)}.deck-page .rsvp-layout{grid-template-columns:1fr;gap:1.4rem;width:calc(100% - 2rem);padding:3.5rem 0 1rem}.deck-page .rsvp-intro h2{font-size:2.4rem}.deck-page .rsvp-intro>p:not(.eyebrow){margin-top:.7rem;font-size:14px}.deck-page .privacy-note{margin-top:.8rem;font-size:12px}.deck-page .rsvp-form{gap:.9rem;padding:1.2rem}.deck-page .form-row{grid-template-columns:1fr 1fr}.deck-page .blessing-chapter{grid-template-rows:minmax(230px,34vh) auto;grid-template-columns:1fr;height:auto}.deck-page .blessing-photo{height:100%;min-height:0}.deck-page .blessing-photo img{object-position:50% 27%}.deck-page .blessing-photo>span{font-size:14px;bottom:.8rem}.deck-page .blessing-letter{padding:1.5rem 1.3rem}.deck-page .blessing-letter>svg{margin-bottom:.6rem}.deck-page .blessing-letter h2{font-size:2rem}.deck-page .blessing-letter>p:not(.eyebrow){margin-top:.7rem;font-size:13px}.deck-page .blessing-textarea{min-height:7.5rem}.deck-page .blessing-actions{flex-direction:row;align-items:center}.deck-page .blessing-actions small{font-size:12px}.deck-page .blessing-submit{width:auto;min-width:8rem;font-size:13px}.deck-page .site-footer{padding-top:3.5rem}.deck-page .footer-names{font-size:2rem}.deck-toolbar{padding-inline:.9rem}.page-navigation{gap:.2rem}.tour-toggle{font-size:12px}}@media (width>=641px){.deck-page :is(.hero,.story-chapter,.blessing-chapter){min-height:max(100%,46rem)}.deck-page .countdown-chapter{min-height:max(100%,30rem)}}@media (prefers-reduced-motion:reduce){.invitation-experience *,.invitation-experience :before,.invitation-experience :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.chapter-glow{display:none}.deck-page.is-away{transform:none}}.opening-prelude{z-index:200;isolation:isolate;color:#fff2d6;cursor:pointer;background:#240a10;border:0;border-radius:0;place-items:center;width:100%;height:100%;padding:2rem 1.5rem;transition:opacity .45s;display:grid;position:fixed;inset:0;overflow:hidden}.opening-prelude.is-leaving{opacity:0}.prelude-photo,.prelude-haze,.prelude-lights{pointer-events:none;position:absolute;inset:0}.prelude-photo{z-index:-3;filter:blur(5px)saturate(.75);opacity:.62;background:url(../photos/8652-sm.jpg) 50% 24%/cover no-repeat;animation:5s ease-out both prelude-bloom;transform:scale(1.08)}.prelude-haze{z-index:-2;background:radial-gradient(at 18% 12%,#e9b77138,#0000 55%),radial-gradient(at 90% 75%,#d7676c40,#0000 55%),linear-gradient(#21081045,#2108109c 40%,#210810f0)}.prelude-copy{text-shadow:0 3px 18px #21081099;flex-direction:column;align-items:center;display:flex}.prelude-kicker{letter-spacing:.23em;color:#edc891;font:12px Georgia,serif;animation:1.3s .1s both prelude-rise}.prelude-vow{font:400 clamp(2.5rem, 8.5vw, 5rem)/1.4 var(--font-serif-cn);letter-spacing:.28em;text-indent:.28em;gap:.4em;margin:2.2rem 0 1.8rem;display:grid}.prelude-vow>span:first-child{animation:1.6s .2s both prelude-rise}.prelude-vow>span:last-child{animation:1.6s .7s both prelude-rise}.prelude-promise{font:14px/1.8 var(--font-serif-cn);letter-spacing:.13em;animation:1.5s 1.15s both prelude-rise}.prelude-names{font:20px var(--font-serif-cn);letter-spacing:.16em;margin-top:2rem;animation:1.4s 1.55s both prelude-rise;display:block}.prelude-names i{color:#edc891;margin:0 .4rem;font:italic 24px Georgia,serif}.prelude-skip{bottom:calc(2.5rem + env(safe-area-inset-bottom,0px));letter-spacing:.16em;color:#f5e2c4;font-size:12px;animation:1s .2s both prelude-rise;position:absolute}.prelude-progress{transform-origin:0;background:#ebc58d;width:100%;height:2px;animation:5s linear both prelude-time;position:absolute;bottom:0;left:0}.prelude-lights i{opacity:0;animation:4s ease-in-out infinite prelude-light;animation-delay:calc(var(--light) * -.21s);background:#ffdfa2;border-radius:50%;position:absolute;box-shadow:0 0 18px 5px #f5d39d60}@keyframes prelude-bloom{0%{opacity:.2;filter:blur(14px)saturate(.6);transform:scale(1.18)}to{opacity:.65;filter:blur(5px)saturate(.75);transform:scale(1.06)}}@keyframes prelude-rise{0%{opacity:0;filter:blur(7px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:none}}@keyframes prelude-light{0%,to{opacity:0;transform:translate(-10px,35px)scale(.5)}50%{opacity:.8}90%{opacity:0;transform:translate(18px,-60px)scale(1.2)}}@keyframes prelude-time{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.deck-page .schedule-chapter{height:100%;color:var(--crimson);background:#f7eddb;grid-template-columns:1fr 1fr;display:grid}.schedule-photo{min-height:0;margin:0;position:relative;overflow:hidden}.schedule-photo picture,.schedule-photo img{object-fit:cover;object-position:50% 42%;width:100%;height:100%;display:block}.schedule-photo figcaption{text-align:center;color:#fff3df;width:100%;font:15px var(--font-serif-cn);letter-spacing:.24em;text-shadow:0 2px 10px #000;position:absolute;bottom:1.4rem;left:0}.schedule-copy{flex-direction:column;justify-content:center;gap:1.5rem;min-width:0;padding:3rem clamp(1.5rem,4vw,4.5rem);display:flex}.schedule-copy h2{font:400 clamp(1.8rem, 3vw, 3.2rem)/1.4 var(--font-serif-cn);margin:0}.schedule-date{letter-spacing:.08em;margin:.7rem 0 0;font-size:16px}.deck-page .schedule-copy .calendar-card{border:1px solid #d6b781;padding:1.5rem}.schedule-link{border-bottom:1px solid #a6745266;align-self:flex-start;align-items:center;gap:.4rem;padding-bottom:.35rem;font-size:14px;display:flex}.schedule-link svg{width:16px;height:16px}.deck-page .arrival-chapter{isolation:isolate;color:#fff1d9;background:#35161b;align-items:center;height:100%;padding:3.5rem clamp(1.2rem,5vw,6rem) 2rem;display:grid}.arrival-photo{z-index:-1;background:linear-gradient(90deg,#290c11eb,#290c11a3),url(../photos/8652-lg.jpg) 50% 20%/cover;position:absolute;inset:0}.arrival-layout{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,6vw,7rem);width:min(100%,1150px);margin:auto;display:grid}.arrival-heading .eyebrow{color:#ffe7bd;letter-spacing:.16em;text-shadow:0 2px 10px #170609f2,0 0 20px #170609cc;margin-bottom:.5rem;font-size:13px}.arrival-heading h2{font:400 clamp(2rem, 4vw, 4rem)/1.4 var(--font-serif-cn);margin:0}.arrival-heading>p:last-child{font:16px/2 var(--font-serif-cn);margin:1rem 0 0}.arrival-card{color:#4b2c24;background:#fff7e7;border:1px solid #d4ad70;flex-direction:column;display:flex;box-shadow:0 14px 60px #18050a35}.arrival-address{padding:clamp(1.5rem,3vw,2.8rem)}.arrival-address .eyebrow{color:#8d2730;align-items:center;gap:.45rem;display:flex}.arrival-address .eyebrow svg{width:16px;height:16px}.arrival-address h3{color:var(--crimson);font:400 clamp(1.65rem, 2.5vw, 2.4rem)/1.45 var(--font-serif-cn);margin:0}.arrival-address address{font:normal 16px/1.8 var(--font-serif-cn);margin-top:1rem}.arrival-date{color:#8a6349;font:14px Georgia, var(--font-serif-cn), serif;letter-spacing:.07em;margin:1rem 0 0}.arrival-actions{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.4rem;display:grid}.arrival-actions a{min-height:46px;color:var(--crimson);border:1px solid #8d2730;justify-content:center;align-items:center;gap:.35rem;padding:.6rem;font-size:14px;display:flex}.arrival-actions a:first-child{background:var(--crimson);color:#fff4dc}.arrival-actions svg{width:16px;height:16px}.arrival-address>small{color:#876d57;margin-top:.8rem;font-size:12px;line-height:1.6;display:block}.arrival-map{height:88px;color:var(--crimson);background:repeating-linear-gradient(0deg,#0000 0 23px,#b6966133 24px),repeating-linear-gradient(90deg,#eddec6 0 23px,#b6966133 24px);border-top:1px solid #d6b781;justify-content:center;align-items:center;gap:.8rem;display:flex;position:relative;overflow:hidden}.arrival-map>svg,.arrival-map>span{z-index:1;position:relative}.arrival-map>span{letter-spacing:.15em;font-size:12px}.arrival-map .map-ring{margin-left:-4rem;left:50%}.arrival-map .map-ring-two{margin-left:-7rem}.deck-page .album-chapter{color:#f9e8ca;background:radial-gradient(at 85% 10%,#9b353140,#0000 65%),#4a111a;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(2rem,5vw,5rem);height:100%;padding:3.5rem clamp(1.5rem,6vw,7rem) 1.8rem;display:grid}.album-heading h2{font:400 clamp(2rem, 4.5vw, 4.5rem)/1.4 var(--font-serif-cn);margin:0}.album-intro{font:16px/2 var(--font-serif-cn);color:#e2c7ac;margin:1.6rem 0 0}.photo-album{touch-action:pan-y;outline-offset:8px;grid-template-rows:minmax(150px,1fr) auto auto;justify-self:center;gap:.7rem;width:min(100%,460px);height:100%;min-height:0;max-height:810px;display:grid}.album-book{perspective:1800px;isolation:isolate;background:#eadcc6;border-radius:1px 4px 4px 1px;min-height:0;position:relative;box-shadow:-6px 0 #b38e62,4px 3px #eadbc0,8px 6px #bb9c73,0 16px 40px #16050d88}.album-book:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(90deg,#4c2b2936,#0000);width:17px;position:absolute;inset:0 auto 0 0}.album-leaf{transform-origin:0;backface-visibility:hidden;background:#fff6e7;grid-template-rows:minmax(0,1fr) 48px;margin:0;padding:.7rem .7rem 0 1rem;display:grid;position:absolute;inset:0}.album-leaf img{object-fit:contain;background:#f2e8db;width:100%;height:100%;min-height:0}.album-leaf figcaption{font:14px var(--font-serif-cn);color:#72523b;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.album-leaf figcaption small{color:#a4896e;font:12px Georgia,serif}.album-leaf.is-closed{visibility:hidden}.album-leaf.is-open{z-index:2;animation:.85s both album-reveal}.album-leaf.is-turning{z-index:3;animation:.85s cubic-bezier(.35,.05,.25,1) both album-turn}.album-controls{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.album-controls button{color:#f6e6c8;background:0 0;border:1px solid #d9b06f55;justify-content:center;align-items:center;gap:.3rem;min-height:44px;padding:.4rem .65rem;font-size:14px;display:flex}.album-controls button:disabled{opacity:.35}.album-controls svg{width:16px;height:16px}.album-count{color:#f5d395;font:20px Georgia,serif}.album-count i{color:#cfb08e;font:13px Georgia,serif}.album-hint{text-align:center;color:#d9bda0;margin:0;font-size:12px;line-height:1.5}@keyframes album-turn{0%{opacity:1;transform:rotateY(0)}70%{opacity:.8}to{transform:rotateY(calc(var(--album-direction) * -110deg));opacity:0}}@keyframes album-reveal{0%{filter:brightness(.75)}to{filter:brightness()}}.deck-page.is-current :is(.schedule-copy h2,.arrival-heading h2,.album-heading h2){animation:1.3s .15s both chapter-reveal}.deck-page.is-current .schedule-photo img{animation:18s ease-in-out infinite alternate photo-breathe}@media (width<=640px){.deck-page .schedule-chapter{grid-template-rows:minmax(160px,1fr) auto;grid-template-columns:1fr;height:auto}.schedule-photo img{object-position:50% 46%}.schedule-photo figcaption{font-size:13px;bottom:.75rem}.schedule-copy{gap:.65rem;padding:1rem 1.3rem}.schedule-copy h2{font-size:1.7rem}.schedule-date{margin-top:.25rem;font-size:14px}.deck-page .schedule-copy .calendar-card{padding:.7rem 1rem}.deck-page .schedule-copy .calendar-days{row-gap:.05rem;margin-top:.3rem;font-size:12px}.deck-page .schedule-copy .calendar-days span{min-height:1.5rem}.deck-page .schedule-copy .calendar-weekdays{margin-top:.4rem;font-size:12px}.deck-page .schedule-copy .calendar-caption{margin-top:.4rem;padding-top:.4rem;font-size:12px}.schedule-link{padding-bottom:.1rem;font-size:13px}.deck-page .arrival-chapter{align-items:center;height:auto;padding:3.5rem 1.2rem 1rem}.arrival-photo{background:linear-gradient(#290c1180,#290c11ed 65%),url(../photos/8652-sm.jpg) 50% 15%/cover}.arrival-layout{grid-template-columns:1fr;gap:1.2rem}.arrival-heading h2{font-size:2rem}.arrival-heading>p:last-child{margin-top:.4rem;font-size:14px;line-height:1.8}.arrival-address{padding:1.2rem}.arrival-address h3{font-size:1.6rem}.arrival-address address{margin-top:.65rem;font-size:14px}.arrival-date{margin-top:.7rem}.arrival-actions{margin-top:1rem}.arrival-address>small{margin-top:.65rem;font-size:12px}.arrival-map{height:54px}.deck-page .album-chapter{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:1rem;padding:3.5rem 1.3rem 1rem}.album-heading h2{font-size:clamp(1.8rem,7.6vw,2.2rem)}.album-desktop-break,.album-intro{display:none}.photo-album{gap:.4rem;width:min(100%,390px)}.album-leaf{grid-template-rows:minmax(0,1fr) 40px;padding:.5rem .5rem 0 .8rem}.album-leaf figcaption{font-size:12px}}@media (width<=640px) and (height<=700px){.schedule-copy{gap:.45rem;padding:.7rem 1.2rem}.schedule-copy h2{font-size:1.5rem}.schedule-copy header .eyebrow{margin-bottom:.3rem}.arrival-layout{gap:.75rem}.arrival-heading>p:last-child br{display:none}.arrival-address{padding:1rem}.arrival-map{display:none}.arrival-address>small{margin-top:.5rem}.deck-page .album-chapter{gap:.7rem;padding-bottom:.8rem}}@media (width>=641px) and (height<=700px){.deck-page :is(.schedule-chapter,.arrival-chapter,.album-chapter){min-height:620px}}@media (prefers-reduced-motion:reduce){.prelude-lights,.prelude-progress,.album-leaf.is-turning{display:none}}.deck-page .arrival-chapter{background:radial-gradient(#795738,#271d15 75%);height:100%;min-height:max(100%,420px);padding:1.5rem clamp(.9rem,3vw,3rem)}.arrival-photo{background:0 0;justify-content:center;display:flex}.arrival-photo picture{flex:none;width:auto;height:100%;display:block}.arrival-photo img{object-fit:contain;width:auto;max-width:none;height:100%;display:block}.arrival-layout{flex-direction:column;justify-content:flex-end;gap:0;width:min(100%,1060px);height:100%;margin:0 auto;display:flex;position:relative}.arrival-heading{text-align:center;text-shadow:0 2px 15px #20120bd9;width:100%;position:absolute;top:2rem;left:0}.arrival-heading .eyebrow{letter-spacing:.06em;white-space:nowrap;margin-bottom:.45rem;font-size:clamp(11.5px,3.3vw,13px)}.arrival-heading h2{font-size:1.9rem}.arrival-card{background:#fff7e7f2;width:100%;box-shadow:0 8px 36px #20130944}.arrival-address{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem 1.5rem;padding:1.2rem 1.5rem;display:grid}.arrival-address h3{font-size:1.85rem}.arrival-address h3 span{white-space:nowrap;margin-left:.65rem;font-size:1.2rem;display:inline-block}.arrival-address address{margin-top:.45rem;font-size:15px}.arrival-actions{grid-template-columns:1fr 1fr;gap:.6rem;margin:0}.arrival-actions a{min-width:120px}.arrival-address>small{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}.deck-page .album-chapter{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;gap:0;padding:1.1rem 1.1rem .8rem}.album-heading{position:absolute;top:3.7rem;left:2rem}.album-heading h2{font-size:1.8rem}.photo-album{-webkit-user-select:none;user-select:none;grid-template-rows:minmax(150px,1fr) auto;gap:.55rem;width:min(100%,650px);max-height:none}.album-book{min-height:0}.album-leaf{grid-template-rows:minmax(0,1fr) 32px;padding:.35rem .35rem 0 .65rem}.album-leaf img{object-fit:cover;object-position:50% 35%}.album-leaf figcaption{font-size:13px}.album-meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.album-count{font-size:16px}.album-hint{font-size:12px}.deck-page .rsvp-layout{gap:2rem;padding-block:3rem 1.25rem}.deck-page .rsvp-form{gap:.85rem;padding:1.35rem}.rsvp-note-field{border-block:1px solid #ffffff26;padding-block:.65rem}.rsvp-note-field summary{cursor:pointer;color:#e7d7c4;font-size:14px}.rsvp-note-field[open] label{margin-top:.7rem}.rsvp-note-field .wedding-textarea{min-height:4rem}.deck-page .rsvp-form .form-status{min-height:0;margin:0}.deck-page .rsvp-form .form-status:empty{display:none}.deck-page .rsvp-update-note{margin:0;font-size:12px;line-height:1.6}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.music-widget{z-index:90;top:calc(.8rem + env(safe-area-inset-top,0px));align-items:center;gap:.25rem;display:flex;position:fixed;right:.7rem}.invitation-experience .music-widget .music-control{position:static}.music-info{color:#f9ecd4;position:relative}.music-info summary{cursor:pointer;background:#3d0d13a8;border-radius:20px;justify-content:center;align-items:center;width:28px;height:36px;list-style:none;display:flex}.music-info summary::-webkit-details-marker{display:none}.music-info summary svg{width:15px;height:15px}.music-info-panel{background:#351018f5;border:1px solid #d9b06f66;width:min(280px,100vw - 2rem);padding:1rem;font:12px/1.7 system-ui,sans-serif;position:absolute;top:44px;right:0;box-shadow:0 10px 30px #15040740}.music-info-panel p{margin:0 0 .6rem}.music-info-panel p:last-child{margin:0}.music-info-panel a{text-underline-offset:3px;text-decoration:underline}@media (width<=900px) and (width>=641px){.album-heading{top:.9rem;left:1rem}.album-heading h2{font-size:1.1rem}.deck-page .album-chapter{padding-top:3.5rem}}@media (width<=640px){.deck-page .arrival-chapter{padding:.9rem}.arrival-heading{top:3.2rem}.arrival-heading h2{font-size:1.5rem}.arrival-address{grid-template-columns:1fr;gap:.6rem;padding:.85rem 1rem}.arrival-address h3{font-size:1.3rem;line-height:1.4}.arrival-address h3 span{margin-left:.4rem;font-size:1rem}.arrival-address address{margin-top:.25rem;font-size:14px;line-height:1.5}.arrival-actions{gap:.55rem}.arrival-actions a{min-width:0;min-height:40px;padding:.45rem}.deck-page .album-chapter{padding:3.2rem .65rem .65rem}.album-heading{top:1rem;left:1rem}.album-heading h2{font-size:1.25rem}.photo-album{gap:.4rem;width:100%}.album-leaf{grid-template-rows:minmax(0,1fr) 30px}.album-leaf figcaption{font-size:12px}.deck-page .rsvp-layout{align-content:center;gap:1rem;width:calc(100% - 2rem);padding:3.6rem 0 1rem}.deck-page .rsvp-intro h2{font-size:1.9rem;line-height:1.35}.deck-page .rsvp-intro>p:not(.eyebrow){margin-top:.4rem;font-size:14px;line-height:1.7}.deck-page .rsvp-form{gap:.65rem;padding:1rem}.deck-page .rsvp-form label>span{font-size:14px}.deck-page .rsvp-form .wedding-input,.deck-page .rsvp-form .wedding-select select{height:44px;font-size:16px}.deck-page .rsvp-form .form-submit{min-height:44px}.deck-page .form-row{gap:.65rem}}@media (width<=640px) and (height<=700px){.deck-page .rsvp-layout{gap:.65rem;padding-top:3.2rem}.deck-page .rsvp-form{gap:.55rem;padding:.85rem}.rsvp-note-field{padding-block:.4rem}.deck-page .rsvp-intro .eyebrow{margin-bottom:.3rem}}.deck-page .rsvp-chapter{background:#0a2035;grid-template-rows:minmax(210px,1fr) auto;height:auto;min-height:100%;display:grid}.rsvp-portrait{background:radial-gradient(at 50% 40%,#174963,#081c2a);min-height:210px;margin:0;position:relative;overflow:hidden}.rsvp-portrait picture{width:min(100%,800px);height:100%;margin-inline:auto;display:block;position:absolute;inset:0}.rsvp-portrait img{object-fit:cover;object-position:50% 38%;width:100%;height:100%;display:block}.deck-page .rsvp-layout{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:2rem;width:min(1100px,100% - 3rem);min-height:0;margin:0 auto;padding:1rem 0 1.25rem;position:relative}.deck-page .rsvp-intro h2{font-size:clamp(1.8rem,3vw,2.7rem)}.deck-page .rsvp-intro>p:not(.eyebrow){margin-top:.45rem;font-size:14px;line-height:1.7}.deck-page .rsvp-form{box-shadow:none;grid-template-columns:1fr 1fr;grid-template-areas:"name attendance""note submit""privacy privacy""status status";align-items:center;gap:.65rem 1rem;padding:1rem 1.25rem}.rsvp-form>label[for=guest-name]{grid-area:name}.rsvp-form>.form-row{grid-area:attendance}.rsvp-form>.rsvp-note-field{grid-area:note}.rsvp-form>.form-submit{grid-area:submit}.rsvp-form>.form-status{grid-area:status}.rsvp-form>.rsvp-update-note{grid-area:privacy}.deck-page .album-chapter{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:.9rem;height:100%;min-height:100%;padding:3.3rem 1rem .75rem}.album-heading{text-align:center;justify-self:center;width:min(100%,650px);position:static}.album-heading .eyebrow{margin-bottom:.35rem;font-size:12px}.album-heading h2{font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.4}.album-heading .album-intro{font:14px/1.7 var(--font-serif-cn);color:#e2c7ac;margin:.4rem 0 0;display:block}.album-copy-break{display:none}.photo-album{touch-action:pinch-zoom;grid-template-rows:minmax(90px,1fr) auto}@media (width<=640px){.deck-page .rsvp-layout{grid-template-columns:1fr;gap:.6rem;width:calc(100% - 1.5rem);padding:.85rem 0}.deck-page .rsvp-intro h2{text-align:center;font-size:1.5rem;line-height:1.4}.deck-page .rsvp-intro>p:not(.eyebrow){display:none}.deck-page .rsvp-form{grid-template-columns:1fr;grid-template-areas:"name""attendance""note""submit""privacy""status";gap:.5rem;padding:.75rem .9rem}.deck-page .rsvp-form .rsvp-note-field{border:0;padding-block:.1rem}.deck-page .album-chapter{gap:.7rem;padding:3.3rem .65rem .65rem}.album-heading h2{font-size:1.6rem}.album-heading .album-intro{font-size:13px;line-height:1.6}.album-copy-break{display:block}}@media (height<=600px){.deck-page .album-chapter{gap:.35rem;padding-top:2.9rem}.album-heading h2{font-size:1.3rem}.album-heading .eyebrow{display:none}.album-heading .album-intro{margin-top:.15rem;font-size:12px}.album-copy-break{display:none}.album-leaf img{object-fit:contain}}.deck-page .schedule-chapter{background:#284322;justify-content:center;align-items:flex-start;height:100%;min-height:100%;padding:3.8rem 1rem 1rem;display:flex}.schedule-photo{position:absolute;inset:0}.schedule-photo picture,.schedule-photo img{object-position:50% 65%}.schedule-copy{text-align:center;outline-offset:-6px;background:#fff8e9ed;border:1px solid #9f754b;outline:1px solid #cbb383;gap:.3rem;width:min(100%,440px);padding:1rem 1.5rem;position:relative;box-shadow:0 6px 28px #15291e22}.schedule-copy .eyebrow{letter-spacing:.13em;margin-bottom:.4rem;font-size:12px}.schedule-copy h2{font-size:1.65rem;line-height:1.35}.date-keepsake{font-variant-numeric:tabular-nums;color:#7f2029;justify-content:center;align-items:baseline;gap:.8rem;font-family:Georgia,serif;line-height:1.2;display:flex}.date-keepsake>span{font-size:1.5rem}.date-keepsake>i{color:#b48b59;font-size:1.5rem;font-style:normal}.date-keepsake>strong{letter-spacing:.03em;font-size:2.8rem;font-weight:400}.schedule-weekday{font:14px/1.5 var(--font-serif-cn);letter-spacing:.12em;margin:.2rem 0 0}.schedule-lunar{font:14px/1.6 var(--font-serif-cn);letter-spacing:.14em;color:#8d2730;margin:.25rem 0 0}.schedule-timeline{border-top:1px solid #c9a877;margin:.9rem 0 0;padding:.75rem 0 0;display:flex}.schedule-timeline>div{flex:1;gap:.25rem;display:grid}.schedule-timeline>div+div{border-left:1px solid #dbc7a7}.schedule-timeline dt{font:14px/1.4 var(--font-serif-cn);letter-spacing:.18em;color:#7f2029}.schedule-timeline dd{font-variant-numeric:tabular-nums;letter-spacing:.05em;color:#4b2c24;margin:0;font:15px/1.3 Georgia,serif}@media (width<=640px){.schedule-timeline dt{letter-spacing:.12em;font-size:13px}.schedule-timeline dd{font-size:14px}}.deck-page.is-current .date-keepsake{animation:1.3s .3s both chapter-reveal}@media (width<=640px){.deck-page :is(.hero,.invitation-chapter,.story-chapter,.vow-chapter,.blessing-chapter,.rsvp-chapter){grid-template-rows:minmax(140px,1fr) auto;height:100%;min-height:100%;overflow:visible}.deck-page :is(.story-copy,.blessing-letter){padding:.85rem 1.2rem 1.2rem}.deck-page .eyebrow{margin-bottom:.4rem;font-size:12px}.deck-page :is(.story-copy h2,.blessing-letter h2){font-size:1.75rem;line-height:1.3}.deck-page .story-lead{letter-spacing:.02em;margin-top:.5rem;font-size:16px;line-height:1.55}.deck-page .together-counter{column-gap:.45rem;width:100%;margin-top:.65rem;padding:.5rem .7rem}.deck-page .together-counter strong{font-size:2.35rem}.deck-page .together-counter small{letter-spacing:0;padding-bottom:.1rem;font-size:12px}.deck-page .love-timeline{gap:.3rem;margin-top:.6rem}.deck-page .love-timeline li{grid-template-columns:5.6rem minmax(0,1fr);gap:.3rem;font-size:14px;line-height:1.45}.deck-page .love-timeline span{letter-spacing:0;padding-left:.65rem}.deck-page .story-image img{object-position:50% 23%}.deck-page .story-image figcaption{letter-spacing:.12em;padding:.2rem .45rem;font-size:12px;top:auto;bottom:.4rem;left:.65rem}.deck-page :is(.story-chapter,.blessing-chapter){grid-template-rows:minmax(160px,1fr) auto}.deck-page .vow-chapter{gap:.6rem;padding:1rem .85rem 1.2rem}.deck-page .vow-copy{width:100%;margin:0;padding:.85rem 1rem}.deck-page .vow-copy>svg{width:18px;height:18px;position:absolute;top:.9rem;right:1rem}.deck-page .vow-copy h2{font-size:1.65rem;line-height:1.35}.deck-page .vow-copy>p:not(.eyebrow){letter-spacing:.02em;margin-top:.5rem;font-size:16px;line-height:1.6}.deck-page .vow-stamp{margin-top:.4rem;padding:.1rem .5rem;font-size:12px}.deck-page .vow-image-primary{right:28%}.deck-page .vow-image-secondary{width:38%;height:70%}.deck-page .blessing-letter>svg{width:22px;height:22px;margin:0;position:absolute;top:1rem;right:1.2rem}.deck-page .blessing-letter>p:not(.eyebrow){letter-spacing:0;margin-top:.4rem;font-size:16px;line-height:1.5}.deck-page .blessing-letter .blessing-photo-note{color:var(--gold);margin-top:.3rem;font-size:14px;line-height:1.5}.deck-page .blessing-letter form{margin-top:.65rem}.deck-page .blessing-input-label{gap:.3rem}.deck-page .blessing-input-label>span{font-size:14px}.deck-page .blessing-textarea{background:#fffaf0;width:100%;height:6rem;min-height:6rem;padding:.5rem .75rem;font-size:16px;line-height:1.65;display:block}.deck-page .blessing-actions{gap:.5rem;margin-top:.55rem}.deck-page .blessing-submit{min-width:7.5rem;min-height:44px;padding:.5rem .75rem;font-size:14px}.deck-page .blessing-letter .form-status{min-height:0;margin:.5rem 0 0}.deck-page .blessing-letter .form-status:empty{display:none}.deck-page .blessing-photo>span{letter-spacing:.08em;font-size:12px;bottom:.35rem;left:.5rem;right:.5rem}.deck-page .blessing-photo img{object-position:50% 15%}.deck-page .hero-copy{gap:.6rem;padding:.85rem 1.1rem 1.1rem}.deck-page .invitation-chapter{padding-bottom:1.1rem}.deck-page .invitation-copy{padding:1.5rem 1rem 1rem}.deck-page .invitation-copy h2{font-size:1.75rem}.deck-page .invitation-copy>p:not(.eyebrow){margin-top:.5rem;font-size:15px;line-height:1.75}.deck-page .invitation-copy blockquote{margin-top:.65rem;padding-top:.4rem;line-height:1.6}.deck-page .signature-line{margin-top:.65rem}.deck-page .rsvp-portrait{min-height:140px}.deck-page .rsvp-layout{gap:.4rem;padding:.6rem 0 1.1rem}.deck-page .rsvp-form{grid-template-areas:"name""attendance""note""submit""privacy";gap:.4rem;padding:.6rem .8rem}.deck-page .rsvp-form.has-status{grid-template-areas:"name""attendance""note""submit""privacy""status"}.deck-page .rsvp-form label{gap:.3rem}.deck-page .schedule-chapter{padding-top:3.5rem}.schedule-copy{gap:.2rem;padding:.85rem 1rem}.schedule-copy h2{font-size:1.45rem}.schedule-photo figcaption{font-size:14px;bottom:1.1rem}}@media (width<=640px) and (height<=700px){.deck-page :is(.story-copy,.blessing-letter){padding:.65rem 1rem 1.1rem}.deck-page .story-copy h2{font-size:1.45rem}.deck-page .story-copy h2 br{display:none}.deck-page .story-lead{margin-top:.4rem;line-height:1.45}.deck-page .together-counter{margin-top:.45rem;padding-block:.35rem}.deck-page .together-counter strong{font-size:2.05rem}.deck-page .love-timeline{gap:.2rem;margin-top:.45rem}.deck-page .vow-chapter{gap:.45rem;padding:.65rem .75rem 1rem}.deck-page .vow-copy{padding:.65rem .8rem}.deck-page .vow-copy h2{font-size:1.45rem}.deck-page .vow-copy>p:not(.eyebrow){line-height:1.45}.deck-page .blessing-letter h2{font-size:1.5rem}.deck-page .blessing-letter h2 br{display:none}.deck-page .blessing-textarea{height:5rem;min-height:5rem}.deck-page .blessing-letter form{margin-top:.45rem}.deck-page .hero-copy{gap:.45rem;padding-block:.65rem .9rem}.deck-page .hero-kicker{display:none}.deck-page .hero-verse{margin-top:.35rem}.deck-page .invitation-copy{padding:1.25rem 1rem .8rem}.deck-page .invitation-copy h2{font-size:1.5rem}.deck-page .invitation-copy blockquote,.deck-page .signature-line{margin-top:.5rem}.deck-page .countdown-copy{padding:.85rem 1rem}.deck-page .countdown-copy h2{font-size:1.5rem}.deck-page .countdown-grid{margin-top:.6rem}.deck-page .countdown-grid>div{padding:.5rem .2rem}.deck-page .countdown-date{margin-top:.6rem}.schedule-copy{padding:.6rem .8rem}.schedule-copy h2{font-size:1.25rem}.date-keepsake>strong{font-size:2.3rem}.deck-page .site-footer{padding:2rem 1.2rem}.deck-page .site-footer:before{width:4rem;height:4rem;margin-bottom:1rem}.deck-page .footer-names{gap:.65rem;font-size:1.65rem}.deck-page .site-footer .footer-blessing{margin-top:1.1rem}.music-widget .music-control>span,.music-widget .music-bars{display:none}.invitation-experience .music-widget .music-control{justify-content:center;width:36px;padding:0}}@media (width>=641px){.deck-page :is(.hero,.story-chapter,.vow-chapter,.blessing-chapter,.countdown-chapter){height:100%;min-height:100%;overflow:visible}.deck-page .vow-collage{height:100%;min-height:0}.deck-page .vow-chapter{grid-template-columns:minmax(0,1.8fr) minmax(0,.7fr);column-gap:clamp(1rem,1.8vw,2rem);padding:clamp(1.2rem,2.5vw,2.5rem)}.deck-page .vow-collage{isolation:isolate;--vow-mat:.875rem;--vow-overlap:.75rem;--vow-stagger:clamp(1rem, 3vh, 2rem);grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.deck-page .vow-image{width:100%;min-width:0;min-height:0;height:calc(100% - var(--vow-stagger));padding:var(--vow-mat);box-shadow:none;background:#ead8b9;border:1px solid #bb925e;margin:0;position:relative;inset:auto}.deck-page .vow-image-primary{align-self:start}.deck-page .vow-image-secondary{z-index:1;width:calc(100% + var(--vow-overlap));margin-left:calc(-1 * var(--vow-overlap));align-self:end}.deck-page .vow-copy{width:100%;min-width:0;box-shadow:none;margin:0;padding:clamp(.85rem,1.5vw,1.5rem)}.deck-page .vow-copy h2{letter-spacing:.02em;font-size:clamp(1.1rem,1.7vw,2rem);line-height:1.45}.deck-page .vow-copy>p:not(.eyebrow){margin-top:1rem;font-size:16px;line-height:1.8}.deck-page .vow-stamp{margin-top:1rem}.deck-page .vow-image img{object-fit:contain;background:#ead8b9}.deck-page.is-current .vow-image img{animation:none;transform:none}}.hero.hero-family{background:linear-gradient(#fdf9f3 0%,#f4ead6 100%);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:clamp(16px,4vw,48px);display:flex;position:relative;overflow:auto}.hero-family-figure{width:100%;max-width:min(560px,100%);margin:0}.hero-family-image{object-fit:contain;background:#fff;border-radius:6px;width:100%;height:auto;max-height:calc(100vh - 160px);display:block;box-shadow:0 16px 48px #3c28142e}.hero-family-cta{-webkit-backdrop-filter:blur(8px);color:#b08341;letter-spacing:.04em;background:#ffffffeb;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 16px #3c28141f}.hero-family-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px #3c28142e}@media (width<=640px){.hero-family-image{max-height:calc(100vh - 140px)}.hero-family-figure{max-width:100%}.hero-family-cta{padding:10px 18px;font-size:13px}}@media (prefers-reduced-motion:reduce){.hero-family-cta{transition:none}}


/* ==================================================================== */
/* 2026-09-18 移动端版式修复（追加在最后，靠源序覆盖前面的同名规则）      */
/* ==================================================================== */

/* --- 1. 家庭请柬首页：CTA 叠到请柬图片底部，不再额外占一行把页面撑高 --- */
/* CTA 是 figure 的兄弟节点，无法用 figure 做定位父级；
   改成让 figure 贴住容器底部（justify-content:flex-end），
   再把 CTA 绝对定位到容器底部往上 内边距+14px 的位置——正好压在图片底边上。
   注意：原始规则写作 .hero.hero-family，特异性更高，这里必须同样用两个类名。 */
.hero.hero-family{justify-content:flex-end}
.hero-family-cta{
  position:absolute;
  bottom:calc(clamp(16px, 4vw, 48px) + 14px);
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  margin:0;
  white-space:nowrap;
}
.hero-family-cta:hover,
.hero-family-cta:focus-visible{transform:translateX(-50%) translateY(-1px)}
/* 按钮不再占布局高度，图片可以多用一点竖向空间；
   同时改用 dvh 计算，避免手机地址栏让 100vh 偏大而溢出屏幕 */
.hero-family-image{
  max-height:calc(100vh - 176px);
  max-height:calc(100dvh - 176px);
}
@media (width<=640px){
  .hero-family-image{
    max-height:calc(100vh - 140px);
    max-height:calc(100dvh - 140px);
  }
}
@media (prefers-reduced-motion:reduce){
  .hero-family-cta:hover,
  .hero-family-cta:focus-visible{transform:translateX(-50%)}
}

/* --- 2. 婚礼时间页：人像下移 + 卡片压缩，让卡片与人物头部错开 --- */
/* 图片比容器高 104px，相当于把人物整体往下推，底部草地被裁掉一点；
   人物头部在照片 47% 高度处，抬到 104px 后即便 640 高的矮屏也不会被卡片压住 */
.deck-page .schedule-photo img{height:calc(100% + 104px)}
.deck-page .schedule-chapter{padding-top:3rem}
.deck-page .schedule-copy{gap:.25rem;padding:.9rem 1.35rem}
.deck-page .schedule-copy h2{font-size:1.55rem}
.deck-page .schedule-copy .eyebrow{margin-bottom:.3rem}
.deck-page .schedule-weekday{margin-top:.15rem}
.deck-page .schedule-lunar{margin-top:.2rem}
.deck-page .schedule-timeline{margin:.65rem 0 0;padding:.55rem 0 0}
.deck-page .schedule-link{padding-bottom:.15rem}
.deck-page .date-keepsake>strong{font-size:2.55rem}
.deck-page .date-keepsake>span,
.deck-page .date-keepsake>i{font-size:1.4rem}
/* 矮屏手机再收紧一档（覆盖前面 640 宽媒体查询里的原设置） */
@media (width<=640px) and (height<=700px){
  .deck-page .schedule-chapter{padding-top:2.4rem}
  .deck-page .schedule-copy{gap:.2rem;padding:.5rem .9rem}
  .deck-page .schedule-copy h2{font-size:1.4rem}
  .deck-page .schedule-copy .eyebrow{margin-bottom:.25rem}
  .deck-page .schedule-timeline{margin:.45rem 0 0;padding:.4rem 0 0}
  .deck-page .schedule-weekday,
  .deck-page .schedule-lunar{font-size:13px}
  .deck-page .schedule-link{font-size:12px}
  .deck-page .date-keepsake>strong{font-size:2.35rem}
  .deck-page .date-keepsake>span,
  .deck-page .date-keepsake>i{font-size:1.3rem}
}
