.private-modal{color:#702b37;background:0 0;border:0;width:min(100% - 32px,440px);max-width:none;margin:auto;padding:0;font-family:Heebo,Arial,sans-serif;overflow:visible}.private-modal::backdrop{background:#4a1a2d66}.private-gate{text-align:center;background:linear-gradient(110deg,#fff0e8,#ffd9d4 55%,#ffc3c5);border:1.5px solid #fff4ed;border-radius:32px;gap:14px;padding:44px 24px 26px;display:grid;position:relative;box-shadow:0 0 24px #ffe2dba6,inset 0 0 20px #fff7ed88}.private-gate label{color:#a02e47;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:24px;font-weight:700;line-height:1.25}.private-gate input{color:#702b37;width:100%;min-height:48px;font:inherit;background:#fffaf7;border:1.5px solid #c9617b;border-radius:16px;padding:8px 16px;font-size:18px}.private-submit{color:#fff7e9;min-height:48px;font:inherit;cursor:pointer;background:#a8415f;border:0;border-radius:24px;font-size:18px}.private-submit:disabled{opacity:.7;cursor:progress}.private-skip{color:#8f1f3b;font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;justify-self:center;padding:6px 10px;font-size:16px;text-decoration:underline}.private-skip strong{font-weight:800}.private-close{color:#a02e47;width:36px;height:36px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:26px;line-height:1;position:absolute;top:8px;left:10px}.private-gate p{color:#8f1f3b;margin:0;font-size:17px;font-weight:600}.private-gate input:focus-visible,.private-gate button:focus-visible{outline-offset:2px;outline:3px solid #a8415f}.love-letter{--u:min(calc(100vw / 941), clamp(.66px, calc(100vh / 1672), .9px));color:#5c1d2c;background:#f8d3dc url(../assets/letter-background.webp) top/cover no-repeat;flex-direction:column;justify-content:flex-end;align-items:center;min-height:100vh;display:flex}.love-letter-header{width:calc(941 * var(--u));padding:calc(30 * var(--u)) calc(24 * var(--u)) 0;text-align:center}.love-letter-rule{width:calc(240 * var(--u));height:calc(36 * var(--u));stroke:#b76e6e;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;margin:0 auto;display:block;overflow:visible}.love-letter h2{width:fit-content;margin:calc(4 * var(--u)) auto 0;color:#0000;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:calc(118 * var(--u));letter-spacing:-.02em;filter:drop-shadow(0 1px #fff5f0);background:linear-gradient(100deg,#b2203f,#7b1530 62%);-webkit-background-clip:text;background-clip:text;padding:0 .12em .06em;font-weight:700;line-height:1.05;transform:skew(-9deg)}.love-letter-swoosh{width:calc(380 * var(--u));height:calc(28 * var(--u));margin:calc(-8 * var(--u)) auto 0;stroke:#c9536e;stroke-width:3px;stroke-linecap:round;display:block;overflow:visible}.love-letter-header p{margin:calc(14 * var(--u)) 0 0;color:#8a1f38;font-size:max(14px, calc(33 * var(--u)));font-weight:500;line-height:1.25}.love-letter-header span{margin-inline:.35em}.love-letter-card{isolation:isolate;width:calc(941 * var(--u));min-height:calc(1440 * var(--u));margin-top:calc(-44 * var(--u));padding:calc(150 * var(--u)) calc(100 * var(--u)) calc(222 * var(--u));font-size:max(15px, calc(28 * var(--u)));flex-direction:column;line-height:1.47;display:flex;position:relative}.love-letter-card:before{content:"";z-index:-1;border-style:solid;border-width:calc(400 * var(--u)) 0;border-image:url(../assets/letter-card.webp) 400 0 fill;position:absolute;inset:0}.love-letter-card p{text-wrap:pretty;margin:0 0 .7em}.love-letter-card .love-letter-salutation{color:#7b1530;width:fit-content;margin-bottom:.5em;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:1.45em;font-weight:700;line-height:1.1;transform:skew(-9deg)}.love-letter-footer{padding-top:calc(10 * var(--u));margin-top:auto}.love-letter-footer .love-letter-rule{width:calc(360 * var(--u));height:calc(54 * var(--u))}.love-letter-signature{justify-content:center;align-items:center;gap:calc(22 * var(--u));margin-top:calc(12 * var(--u));color:#8a1f38;display:flex}.love-letter-card .love-letter-signature p{margin:0;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:1.45em;font-weight:700;line-height:1.15;transform:skew(-9deg)}.love-letter-signature svg{width:calc(58 * var(--u));height:calc(54 * var(--u));stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;overflow:visible}@media (aspect-ratio>=6/5){.love-letter{--u:min(calc(100vw / 1501), clamp(.36px, calc(100vh / 1740), 1px))}.love-letter-header{width:calc(1501 * var(--u))}.love-letter-card{width:calc(1501 * var(--u));min-height:0;padding:calc(138 * var(--u)) calc(120 * var(--u)) calc(118 * var(--u));font-size:calc(33 * var(--u))}.love-letter-card:before{border-image-source:url(../assets/letter-card-wide.webp)}}.category-page{color:#702b37;isolation:isolate;background:#cf7a8d url(../assets/category-background.webp) top/100% repeat-y;min-height:100dvh;padding:0 20px 32px}.category-content{width:min(100%,1000px);margin:0 auto;position:relative}.back-button{z-index:5;top:max(14px, env(safe-area-inset-top));color:#fff7e9;cursor:pointer;background:#a8415fe6;border:1.5px solid #fff1ed;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;display:grid;position:fixed;right:16px;box-shadow:0 2px 12px #7d2a4480,inset 0 0 10px #fff0ee44}.back-button svg,.photo-viewer .back-button svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.category-header{text-align:center;color:#fff3df;text-shadow:0 0 14px #ffd2dc99,0 2px 5px #822d47;padding:8px 60px 20px}.category-ornament{stroke:#fff0df;stroke-width:1.8px;filter:drop-shadow(0 0 5px #ffd2d9);width:min(65%,300px);height:58px;margin:0 auto;display:block;overflow:visible}.category-title{letter-spacing:0;filter:none;overflow-wrap:anywhere;margin:-1px 0 0;padding:0 0 5px;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:clamp(48px,8vw,78px);font-style:italic;font-weight:700;line-height:1}.category-title:focus{outline:none}.category-header>p{margin:0;font-size:clamp(18px,3vw,29px);line-height:1.35}.category-rule{color:#ffece4;filter:drop-shadow(0 0 5px #fff0ea99);justify-content:center;align-items:center;gap:12px;width:min(62%,410px);height:32px;margin:0 auto;display:flex}.category-rule span{background:linear-gradient(90deg,#0000,currentColor);flex:1;height:1.5px}.category-rule span:last-child{transform:scaleX(-1)}.category-rule svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.category-header .category-rule{width:min(85%,400px);margin-top:8px}.story-card{--story-photo-overhang:26px;min-height:240px;margin-block:var(--story-photo-overhang);direction:ltr;background:linear-gradient(110deg,#fff0e8da,#ffd9d4ed 55%,#ffc3c5d9);border:1.5px solid #fff4ed;border-radius:32px;grid-template-columns:38% minmax(0,1fr);display:grid;box-shadow:0 0 13px #ffe2dba6,inset 0 0 20px #fff7ed88}.story-card--reverse{grid-template-columns:minmax(0,1fr) 38%}.album-photo{cursor:zoom-in;background:#7d3549;border:1.5px solid #fff0e9;border-radius:25px;min-width:0;margin:0;padding:0;display:block;overflow:hidden;box-shadow:0 0 10px #ffe3dc80}.album-photo img{object-fit:fill;width:100%;height:100%;transition:transform .25s;display:block}.album-photo:hover img{transform:scale(1.025)}.story-photo{min-height:240px;margin:calc(-1 * var(--story-photo-overhang)) -1px;border-radius:32px;align-self:stretch;position:relative}.story-photo img{position:absolute;inset:0}.story-card--reverse .story-photo{grid-area:1/2}.story-copy{text-align:center;direction:rtl;align-self:center;padding:18px 23px}.story-card--reverse .story-copy{grid-area:1/1}.story-copy h2{isolation:isolate;color:#a02e47;justify-content:center;align-items:center;gap:14px;width:fit-content;margin:0 auto 12px;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:clamp(27px,4.3vw,42px);font-style:italic;font-weight:700;line-height:1.15;display:flex;position:relative}.story-copy h2:before{content:"";z-index:-1;clip-path:polygon(3% 8%,26% 0,59% 6%,93% 1%,99% 17%,95% 28%,100% 48%,97% 66%,99% 83%,86% 95%,46% 92%,15% 100%,0 84%,4% 66%,0 51%,5% 32%,1% 24%);background:linear-gradient(100deg,#e8799544,#f3a3aeaa 48%,#df789355);position:absolute;inset:14% -10px -4% 32px}.story-copy .station-icon{filter:none;stroke-width:1.3px;width:44px;height:44px}.story-copy p{text-wrap:pretty;margin:0;font-size:clamp(17px,2.65vw,22px);line-height:1.45}.story-closing{color:#fff3e6;text-align:center;text-wrap:pretty;text-shadow:0 1px 3px #84213d99;max-width:640px;margin:50px auto 0;font-size:clamp(17px,2.65vw,22px);line-height:1.5}.category-gallery,.category-videos{margin-top:24px}.category-header+.category-gallery{margin-top:0}.album-heading{color:#fff3e6;text-align:center;text-shadow:0 2px 4px #84213d88;margin:8px 0 22px;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:clamp(27px,4vw,38px)}.album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.album-grid>.album-photo{aspect-ratio:4/5}.album-grid.album-grid--mixed video{aspect-ratio:4/5;object-fit:cover}.album-grid:has(>:only-child){grid-template-columns:minmax(0,480px);justify-content:center}.album-grid video{aspect-ratio:4/3;background:#582436;border:1.5px solid #ffe9e4;border-radius:22px;width:100%;box-shadow:0 0 10px #ffe3dc80}.album-empty{text-align:center;color:#fff4ea;padding:70px 10px;font-size:22px}.private-lock{color:#fff4e9;font:inherit;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;margin:32px auto 0;padding:10px 18px;font-size:16px;text-decoration:underline;display:block}.category-page a:focus-visible,.category-page button:focus-visible{outline-offset:5px;outline:3px solid #fff}.photo-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;padding:max(14px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));color:#fff3e6;background:#cf7a8d url(../assets/stations-portrait.webp) top/cover no-repeat;border:0;margin:0;position:fixed;inset:0;overflow:hidden}.photo-viewer[open]{flex-direction:column;align-items:center;display:flex}.photo-viewer::backdrop{background:#8f3f58}.photo-viewer svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.viewer-round{color:#fff7ee;width:46px;height:46px;font:inherit;cursor:pointer;background:#a8415fb3;border:1.5px solid #fff1ed;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;box-shadow:0 0 12px #ffd9e266,inset 0 0 10px #fff0ee44}.viewer-header{text-align:center;text-shadow:0 0 14px #ffd2dc99,0 2px 5px #822d47;flex:none;width:min(100%,520px);margin-top:6px}.viewer-header .category-rule{width:min(62%,300px);height:26px}.viewer-title{color:#fff3df;margin:2px 0 0;padding:0 .1em;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:clamp(38px,10.5vw,62px);font-style:italic;font-weight:700;line-height:1.05}.viewer-header p{letter-spacing:.22em;margin:2px 0 4px;font-size:clamp(17px,4.6vw,22px)}.viewer-body{flex-direction:column;flex:1 1 0;align-items:center;width:100%;min-height:0;display:flex}.viewer-stage{flex:1 1 0;justify-content:center;align-items:center;width:min(100%,980px);min-height:110px;margin-top:14px;display:flex;container-type:size}.viewer-frame{line-height:0;position:relative}.viewer-frame img{width:min(100cqw, 100cqh * var(--ratio,1));height:auto;max-height:100cqh;aspect-ratio:var(--ratio,auto);object-fit:contain;background:#7d3549;border:2px solid #fff3ee;border-radius:26px;animation:.3s viewer-in;display:block;box-shadow:0 0 6px #fff7f4,0 0 24px #ffc6d4cc}.viewer-expand{color:#fff;cursor:zoom-in;background:#21101a99;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:12px;right:12px}.viewer-expand svg{width:20px;height:20px}.viewer-card{color:#5c1d2c;text-align:center;background:linear-gradient(#fff4f3f5,#fbdce2f0);border:1.5px solid #fff4f0;border-radius:30px;flex:none;width:min(100%,620px);margin-top:30px;padding:28px 20px 4px;animation:.3s viewer-in;position:relative;box-shadow:0 0 10px #fff7f4,0 0 26px #ffc9d6aa,inset 0 0 18px #fffa}.viewer-medallion{color:#fff;background:radial-gradient(circle at 35% 30%,#f4a7b9,#c64f6f);border:2px solid #fff4f0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,-55%);box-shadow:0 0 12px #ffd1dc}.viewer-card h3{isolation:isolate;color:#8f1f3d;width:fit-content;margin:0 auto;padding:0 14px;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:clamp(23px,6.2vw,32px);font-style:italic;font-weight:700;line-height:1.25;position:relative}.viewer-card h3:before{content:"";z-index:-1;clip-path:polygon(3% 8%,26% 0,59% 6%,93% 1%,99% 17%,95% 28%,100% 48%,97% 66%,99% 83%,86% 95%,46% 92%,15% 100%,0 84%,4% 66%,0 51%,5% 32%,1% 24%);background:linear-gradient(100deg,#e8799544,#f3a3aeaa 48%,#df789355);position:absolute;inset:12% -4px 0}.viewer-card .category-rule{color:#c4566f;filter:none;width:min(64%,280px);height:26px}.viewer-card p{text-wrap:pretty;max-width:30em;margin:2px auto;font-size:clamp(16px,4.3vw,20px);line-height:1.45}.viewer-nav{flex:none;align-items:center;gap:22px;margin-top:18px;display:flex}.viewer-count{text-align:center;background:#b84f6c59;border:1.5px solid #fff1ed;border-radius:22px;min-width:104px;padding:8px 18px;font-size:18px}.viewer-dots{flex-wrap:wrap;flex:none;justify-content:center;max-width:100%;margin-top:6px;display:flex}.viewer-dots button{cursor:pointer;background:#ffffff80 content-box content-box;border:0;border-radius:50%;width:20px;height:20px;padding:6px}.viewer-dots button[aria-current]{background-color:#fff}.photo-viewer button:focus-visible{outline-offset:3px;outline:3px solid #fff}.photo-viewer--full{background:#1d0a14;padding:0}.viewer-full{cursor:zoom-out;background:0 0;border:0;width:100%;height:100%;padding:0}.viewer-full img{object-fit:contain;width:100%;height:100%;display:block}@keyframes viewer-in{0%{opacity:0}}@media (aspect-ratio>=6/5) and (width>=900px){.viewer-body{flex-direction:row;justify-content:center;gap:34px;width:min(100%,1320px)}.viewer-stage{flex:1 1 0;width:auto;max-width:820px;height:100%;margin-top:0;padding-block:14px}.viewer-body .viewer-card{width:min(36vw,460px);margin-top:0;padding:36px 26px 8px}}@media (height<=740px){.viewer-title{font-size:clamp(32px,9vw,48px)}.viewer-header p{font-size:16px}.viewer-header .category-rule,.viewer-card .category-rule{height:20px}.viewer-card{margin-top:26px;padding-top:24px}.viewer-card h3{font-size:clamp(21px,5.6vw,28px)}.viewer-card p{font-size:15px;line-height:1.4}.viewer-nav{margin-top:12px}}@media (width>=1000px){.category-page{background-size:100% 355.4vw}}@media (width<=600px){.category-page{padding-inline:11px}.category-header{padding:8px 42px 14px}.category-ornament{width:80%;height:42px}.category-title{font-size:clamp(38px,10.8vw,62px)}.category-header>p{font-size:20px}.story-card,.story-card--reverse{--story-photo-overhang:18px;border-radius:23px;min-height:184px}.story-photo{border-radius:23px;min-height:184px}.story-copy{padding:12px 10px}.story-copy h2{gap:5px;margin-bottom:8px;font-size:clamp(22px,5.8vw,34px)}.story-copy .station-icon{width:28px;height:28px}.story-copy p{font-size:clamp(14px,3.55vw,19px);line-height:1.4}.category-rule{height:28px}.category-rule svg{width:21px;height:21px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.album-photo,.album-grid video{border-radius:20px}}@media (prefers-reduced-motion:reduce){.album-photo img,.viewer-frame img,.viewer-card{transition:none;animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wine:#781b25}*{box-sizing:border-box}html{scrollbar-width:none;width:100%;height:100%;margin:0;overflow-x:hidden}html::-webkit-scrollbar{display:none}body,#root{width:100%;min-height:100%;margin:0}body{color:var(--wine);background:#ed9bab;font-family:Heebo,Arial,sans-serif}button{font:inherit}.intro-track{height:280svh}.intro-curtain{--intro-scale:1;--intro-shift:0%;--intro-shift-x:0px;--intro-backdrop-opacity:1;z-index:10;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.intro-curtain:before{content:"";opacity:var(--intro-backdrop-opacity);background:#fb9abe;position:absolute;inset:0}.intro-curtain[data-ready=false]{background:#fb9abe}.intro-curtain[data-complete=true]{visibility:hidden}.intro-layers{position:absolute;inset:0}@media (aspect-ratio>=1){.intro-layers{width:75.2941vh;left:50%;right:auto;transform:translate(-50%)}}.intro-layer{object-fit:fill;-webkit-user-select:none;user-select:none;will-change:transform;backface-visibility:hidden;width:100%;height:100%;display:block;position:absolute;inset:0}.intro-curtain[data-ready=false] .intro-layer{visibility:hidden}.intro-layer--shira,.intro-layer--top{transform-origin:100% 100%;transform:translate3d(var(--intro-shift-x), var(--intro-shift), 0) scale(var(--intro-scale))}.intro-layer--shira{z-index:1}.intro-layer--adam{z-index:2;transform-origin:0 0;transform:translate3d(calc(-1 * var(--intro-shift-x)), calc(-1 * var(--intro-shift)), 0) scale(var(--intro-scale))}.intro-layer--top{z-index:3}.intro-skip{z-index:4;top:max(16px, env(safe-area-inset-top));border:2px solid var(--wine);color:var(--wine);pointer-events:auto;cursor:pointer;background:#fff0f2;border-radius:999px;padding:12px 24px;position:absolute;left:50%;transform:translate(-50%,-200%)}.intro-skip:focus-visible{outline-offset:3px;outline:3px solid #fff;transform:translate(-50%)}.scene-stage{height:280svh;margin-top:-280svh}.birthday-scene{isolation:isolate;width:100%;height:100vh;min-height:320px;position:sticky;top:0;overflow:hidden}.background{z-index:0;background:url(../assets/background.webp) 50%/cover no-repeat;position:absolute;inset:0}.photo-mosaic{display:none}.photos{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.photo{will-change:transform;backface-visibility:hidden;opacity:0;background:#fff7f2;margin:0;padding:3px;transition:opacity .7s;position:absolute;top:0;left:0;box-shadow:0 4px 10px #702b3429,0 1px 3px #79243420}.photo.ready{opacity:var(--photo-opacity,1)}.photo img{object-fit:contain;width:100%;height:100%;display:block}.pink-cloud{z-index:2;pointer-events:none;filter:blur(16px);background:radial-gradient(at 50% 49%,#ffe2e4 0%,#ffdde0 37%,#ffd6dcf7 49%,#ffd3d9d9 59%,#ffd2da6b 68%,#ffd2da00 77%);width:min(76vw,1370px);height:95%;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.pink-cloud:before,.pink-cloud:after{content:"";pointer-events:none;background:radial-gradient(#ffd8dfb8 0%,#ffd8df6b 40%,#ffd8df00 71%);border-radius:50%;position:absolute}.pink-cloud:before{filter:blur(32px);border-radius:40% 48% 43% 45%/28% 30% 28% 32%;inset:2% 16% 0%}.pink-cloud:after{inset:38% -4% -2%}.greeting{z-index:3;text-align:center;width:min(70vw,1200px);position:absolute;top:48.6%;left:50%;transform:translate(-50%,-50%)}.gift-decoration{color:#af3c45;justify-content:center;align-items:center;gap:25px;margin-bottom:1px;display:flex}.gift-decoration span{background:linear-gradient(90deg,#0000,#aa333d);width:clamp(62px,10vw,170px);height:2px}.gift-decoration span:last-child{transform:scaleX(-1)}.gift-decoration svg{stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px #fff8e9);width:clamp(45px,5.1vw,85px);height:clamp(45px,5.1vw,85px)}h1{letter-spacing:-.035em;filter:drop-shadow(0 2px #fff5e4)drop-shadow(0 0 10px #fff9e9)drop-shadow(3px 8px 4px #8a293029);margin:0;padding:4px 0 8px;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:clamp(57px,7.5vw,139px);font-style:normal;font-weight:700;line-height:.94}h1 span{color:#8e252e;-webkit-text-stroke:.45px #fff0d2;white-space:nowrap;width:fit-content;margin:0 auto;padding:0 .12em .05em;display:block;transform:skew(-9deg)}.heart-divider{stroke:#bb3541;filter:drop-shadow(0 1px #fffdf0);width:54%;max-width:590px;height:clamp(39px,4.6vw,77px);margin:-1px auto 0;display:block;overflow:visible}.heart-divider .heart{stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.heart-divider .swoosh{stroke-width:2.5px}.letter{text-shadow:0 1px #fff5ed99;font-size:clamp(17px,2.2vw,32px);font-weight:400;line-height:1.25}.letter p{margin:0 0 .56em}.letter .love-note{margin-bottom:0;font-weight:500}.little-heart{color:#b82945;vertical-align:-.07em;text-shadow:0 1px #fff1dc;font-size:1.24em;display:inline-block}.closing-line{background:linear-gradient(90deg,#0000,#992d36 22% 78%,#0000);width:32%;height:1.5px;margin:23px auto 0}.mobile-break,.letter-divider,.mobile-love-heart{display:none}.stations-track{height:200vh}.stations{--u:max(calc(100vw / 1672), calc(100vh / 941));--radius:calc(20 * var(--u));z-index:1;color:#fff;background:#c8627c url(../assets/stations-landscape.webp) top/cover no-repeat;height:100vh;position:sticky;top:0}.stations-header{z-index:3;top:calc(60 * var(--u));text-align:center;position:absolute;left:0;right:0}.stations-ornament,.stations-rule{display:none}.stations h2{width:fit-content;font-family:Frank Ruhl Libre,David,Georgia,serif;font-size:calc(52 * var(--u));text-shadow:0 0 calc(14 * var(--u)) #ffd9e4, 0 calc(2 * var(--u)) calc(6 * var(--u)) #7a1f3266;white-space:nowrap;margin:0 auto;font-weight:700;line-height:1.05;transform:skew(-9deg)}.stations-header p{margin:calc(2 * var(--u)) 0 0;font-size:calc(22 * var(--u));text-shadow:0 1px 4px #7a1f3266;line-height:1.15}.station-list{top:calc(170 * var(--u));bottom:calc(36 * var(--u));width:min(calc(1435 * var(--u)), 94vw);grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1px,.3vw,8px);margin:0 auto;padding:0;list-style:none;display:grid;position:absolute;left:0;right:0}.station-card{border-radius:var(--radius);background:#ffe3ea2e;min-width:0;min-height:0;position:relative}.station-photo{z-index:1;object-fit:cover;border-radius:inherit;visibility:hidden;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.station-frame{color:inherit;z-index:3;justify-content:flex-end;align-items:center;gap:calc(2 * var(--u));padding:calc(8 * var(--u)) calc(6 * var(--u)) calc(10 * var(--u));border:max(1px, calc(1.6 * var(--u))) solid #ffe9ee;border-radius:inherit;box-shadow:0 0 calc(12 * var(--u)) #ffd2ddd9, inset 0 0 calc(7 * var(--u)) #fff6;background:linear-gradient(#8a344a00 48%,#7a2b3eb3 76%,#6f2437e6 100%);flex-direction:column;text-decoration:none;display:flex;position:absolute;inset:0}.station-frame:focus-visible{outline-offset:3px;outline:3px solid #fff}.station-frame:hover{border-color:#fff;box-shadow:0 0 18px #fff0f4,inset 0 0 12px #ffffff80}.station-icon{width:calc(30 * var(--u));height:calc(30 * var(--u));stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #5a182a99);flex:none}.station-frame h3{font-size:calc(21 * var(--u));text-align:center;text-wrap:balance;text-shadow:0 1px 3px #4a102099;margin:0;font-weight:500;line-height:1.12}.station-flyers{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.station-flyer{visibility:hidden;will-change:transform;backface-visibility:hidden;background:#fff7f2;margin:0;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 4px 10px #702b3429}.station-flyer img{object-fit:cover;border-radius:inherit;width:100%;height:100%;transition:opacity .3s;display:block}.station-flyer:not(.ready){box-shadow:none;background:0 0}.station-flyer:not(.ready) img{opacity:0}@media (aspect-ratio<=6/5){.stations{--u:max(calc(100vw / 941), calc(100vh / 1672));--radius:calc(18 * var(--u));background-image:url(../assets/stations-portrait.webp)}.stations-header{top:calc(26 * var(--u))}.stations-ornament{width:calc(310 * var(--u));height:calc(64 * var(--u));margin:0 auto calc(6 * var(--u));stroke:#fff;stroke-width:2px;filter:drop-shadow(0 0 calc(5 * var(--u)) #ffd9e4);display:block;overflow:visible}.stations h2{font-size:min(calc(66 * var(--u)), 9.4vw)}.stations-header p{margin-top:calc(6 * var(--u));font-size:min(calc(28 * var(--u)), 3.45vw);padding:0 3vw}.stations-rule{width:min(calc(340 * var(--u)), 60vw);height:calc(16 * var(--u));margin:calc(10 * var(--u)) auto 0;stroke:#ffe9ee;stroke-width:1.2px;display:block}.station-list{top:calc(272 * var(--u));bottom:calc(100 * var(--u));width:96vw}.station-icon{width:calc(34 * var(--u));height:calc(34 * var(--u))}.station-frame h3{font-size:max(10.5px, calc(24 * var(--u)))}.station-frame{padding-inline:calc(3 * var(--u))}.background{background-image:url(../assets/background-mobile.webp);background-size:100% 100%}.pink-cloud,.gift-decoration,.closing-line,.photos{display:none}.photo-mosaic{z-index:1;opacity:.62;pointer-events:none;grid-template-columns:repeat(10,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:1px;animation:60s ease-in-out infinite alternate mosaic-drift;display:grid;position:absolute;inset:-2% -3%;-webkit-mask-image:radial-gradient(46% 30% at 50% 47%,#0000 35%,#000 100%);mask-image:radial-gradient(46% 30% at 50% 47%,#0000 35%,#000 100%)}.mosaic-tile{border-radius:3px;min-width:0;min-height:0;position:relative;overflow:hidden}.photo-mosaic img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.photo{padding:3px;box-shadow:0 3px 10px #5b183738}.greeting{flex-direction:column;align-items:center;width:94%;margin:auto;display:flex}h1{flex:none;padding:0 0 .04em;font-size:min(13.5vw,9vh);line-height:1.02}h1 span:last-child{isolation:isolate;position:relative}h1 span:last-child:before{content:"";z-index:-1;clip-path:polygon(3% 8%,24% 2%,58% 5%,93% 0,98% 15%,95% 26%,100% 46%,97% 68%,99% 83%,86% 95%,46% 92%,15% 100%,0 86%,4% 69%,0 51%,5% 34%,1% 24%);background:linear-gradient(110deg,#f9a3b8b8,#ffd4ddbd 48%,#f18fa7a8);position:absolute;inset:8% -13% 0}.heart-divider{flex:none;width:70%;height:min(6vw,3.8vh);margin:.6vh auto 3vh}.letter{text-shadow:0 1px 1px #fff3ed80;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2vh;width:100%;min-height:0;font-size:min(4.25vw,2.65vh);line-height:1.17;display:flex}.letter p{flex:none;margin:0}.mobile-break{display:initial}.desktop-break{display:none}.letter-divider{stroke:#a13345;stroke-width:1.6px;stroke-linecap:round;flex:none;width:32%;height:min(3.5vw,1.9vh);display:block}.letter .love-note{isolation:isolate;align-items:center;gap:3vw;padding:.3em .7em;font-size:1.12em;font-weight:700;line-height:1.18;display:flex;position:relative}.love-note:before{content:"";z-index:-1;clip-path:polygon(5% 0,34% 5%,90% 1%,97% 12%,95% 29%,100% 48%,97% 77%,100% 94%,68% 98%,30% 93%,0 100%,3% 83%,0 60%,4% 42%,1% 20%);background:linear-gradient(105deg,#f4a4b6b3,#ffcbd5de 50%,#ed8da3a8);position:absolute;inset:0 -1%;transform:rotate(-2deg)}.love-note .little-heart{display:none}.mobile-love-heart{stroke:#fff8ef;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:9vw;height:11vw;max-height:6vh;display:block}}@media (aspect-ratio>=6/5) and (height<=700px){.greeting{width:72vw}.gift-decoration svg{width:8vh;height:8vh}h1{font-size:min(8.3vw,14.3vh)}.heart-divider{height:7.4vh}.letter{font-size:min(1.8vw,3vh)}.closing-line{margin-top:2vh}}@keyframes mosaic-drift{0%{transform:translateY(-1%)}to{transform:translateY(1%)}}@media (prefers-reduced-motion:reduce){.photo{transition:none}.photo-mosaic{animation:none}.intro-layer{will-change:auto;transform:none}.station-flyers{display:none}}
