.category-page{color:#702b37;isolation:isolate;background:#cf7a8d url(../assets/stations-portrait.webp) top/100% no-repeat;min-height:100dvh;padding:0 20px 32px}.category-content{width:min(100%,1000px);margin:0 auto;position:relative}.category-back{z-index:5;top:max(20px, env(safe-area-inset-top));color:#fff7e9;background:#a8415fe6;border:1.5px solid #fff1ed;border-radius:26px;align-items:center;gap:8px;height:52px;padding:0 16px 0 14px;font-size:19px;text-decoration:none;display:flex;position:fixed;left:20px;box-shadow:0 2px 12px #7d2a4480,inset 0 0 10px #fff0ee44}.category-back svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:27px;height:27px}.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:41% 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) 41%}.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:cover;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}.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: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}.category-footer{text-align:center;padding:40px 0 12px;position:relative}.category-footer a{color:#fff4e9;text-underline-offset:5px;margin-top:20px;padding:10px 18px;font-size:18px;display:inline-block}.category-bow{filter:drop-shadow(0 3px 5px #8c314b77);direction:ltr;justify-content:center;align-items:center;height:80px;display:flex;position:relative}.category-bow:before{content:"";z-index:-1;background:linear-gradient(#f398b0,#ffd3de 22%,#e788a1 50%,#ba4a6b 95%);border-block:1px solid #fff0e4;width:100%;height:28px;position:absolute;transform:rotate(-3deg)}.category-bow span{background:linear-gradient(20deg,#b8496c,#ed94af 29%,#ffe2e7 48%,#e7799b 65%,#fab9cb 90%);border:1px solid #ffdfd9;border-radius:28% 65% 30% 32%;width:105px;height:70px;transform:rotate(14deg)skewY(6deg)}.category-bow span:last-child{transform:scaleX(-1)rotate(14deg)skewY(6deg)}.category-bow i{z-index:1;background:linear-gradient(90deg,#b94669,#ffd0dd 40%,#ef8bab 65%,#b44668);border:1px solid #ffd9df;border-radius:9px;width:28px;height:44px;margin:0 -6px}.private-gate{text-align:center;background:linear-gradient(110deg,#fff0e8f0,#ffd9d4f5 55%,#ffc3c5ee);border:1.5px solid #fff4ed;border-radius:32px;gap:14px;width:min(100%,440px);margin:16px auto 0;padding:26px 24px;display:grid;box-shadow:0 0 13px #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-gate button{color:#fff7e9;min-height:48px;font:inherit;cursor:pointer;background:#a8415f;border:0;border-radius:24px;font-size:18px}.private-gate button:disabled{opacity:.7;cursor:progress}.private-gate p{color:#8f1f3b;margin:0;font-size:17px;font-weight:600}.private-lock{color:#fff4e9;font:inherit;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;margin:4px auto 0;padding:10px 18px;font-size:16px;text-decoration:underline;display:block}.category-page a:focus-visible,.category-page button:focus-visible,.category-page input:focus-visible{outline-offset:3px;outline:3px solid #fff}.photo-viewer{color:#fff;background:#2b1225f2;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:70px 20px 80px;position:fixed;inset:0}.photo-viewer::backdrop{background:#2b1225}.photo-viewer>img{object-fit:contain;width:100%;height:100%;display:block}.photo-viewer button{color:#fff;cursor:pointer;background:#713f53;border:1px solid #ffcadc99;border-radius:50%;width:46px;height:46px;font-size:28px}.viewer-close{top:max(14px, env(safe-area-inset-top));position:absolute;right:20px}.viewer-controls{bottom:max(16px, env(safe-area-inset-bottom));white-space:nowrap;align-items:center;gap:24px;display:flex;position:absolute;left:50%;transform:translate(-50%)}@media (width>=1000px){.category-page{background-size:100% 177.7vw}}@media (width<=600px){.category-page{padding-inline:11px}.category-header{padding:8px 42px 14px}.category-back{top:max(12px, env(safe-area-inset-top));gap:5px;height:39px;padding:0 11px 0 9px;font-size:15px;left:8px}.category-back svg{width:22px;height:22px}.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{transition: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:100dvh;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.2941dvh;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:100dvh;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}.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);background:#ffdde0;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,8.3vw,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,1.67vw,28px);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:200dvh}.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:100dvh;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(2px,.5vw,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%;display:block}@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.jpg);background-size:100% 100%}.pink-cloud,.gift-decoration,.closing-line{display:none}.photos{-webkit-mask-image:linear-gradient(#000 0% 73%,#0000 87%);mask-image:linear-gradient(#000 0% 73%,#0000 87%)}.photo{padding:3px;box-shadow:0 3px 10px #5b183738}.greeting{flex-direction:column;align-items:center;width:94%;height:65.4%;display:flex;top:16.3%;transform:translate(-50%)}h1{flex:none;padding:0 0 .04em;font-size:min(13.5vw,9dvh);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.8dvh);margin:.6dvh auto 3dvh}.letter{text-shadow:0 1px 1px #fff3ed80;flex-direction:column;flex:1;justify-content:space-between;align-items:center;width:100%;min-height:0;font-size:min(4.25vw,2.65dvh);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.9dvh);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:6dvh;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}}@media (prefers-reduced-motion:reduce){.photo{transition:none}.intro-layer{will-change:auto;transform:none}.station-flyers{display:none}}
