@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pinyon-script-vietnamese-400-normal.D9IEVGR9.woff2)format("woff2"),url(/_astro/pinyon-script-vietnamese-400-normal.DsnOr8jX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pinyon-script-latin-ext-400-normal.DzUoH_k9.woff2)format("woff2"),url(/_astro/pinyon-script-latin-ext-400-normal.Cu_llAZZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pinyon-script-latin-400-normal.HCoaxbyT.woff2)format("woff2"),url(/_astro/pinyon-script-latin-400-normal.3W0BoeAr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--olive:#343b27;--olive-dark:#20261a;--ivory:#f5efdf;--gold:#d5ba7b;--ink:#343a27;--serif:"Cormorant Garamond",Georgia,serif;--sans:Manrope,Arial,sans-serif;font-family:var(--sans);color:var(--ivory);background:var(--olive-dark);color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:86px}*{box-sizing:border-box}body{margin:0}body.cinema-mode{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,p,figure,dl,dd{margin:0}h1,h2{font-family:var(--serif);font-weight:400}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cinema-header{z-index:20;letter-spacing:.035em;color:#faf4e7;background:linear-gradient(#13180f90,#0000);justify-content:space-between;align-items:center;gap:25px;height:88px;padding:15px 4.5vw;font-size:11px;display:flex;position:fixed;inset:0 0 auto}.back-link{align-items:center;gap:13px;min-height:44px;display:flex}.header-monogram{font-family:var(--serif);color:var(--gold);font-size:33px;position:absolute;left:50%;transform:translate(-50%)}.header-actions{align-items:center;gap:28px;display:flex}.header-actions button{min-height:44px;padding:5px 0;font-size:11px}.header-actions .direct-link{border-bottom:1px solid #e4d4aa65;min-height:32px}.header-actions #sound-toggle{color:#efe4c9}.header-actions #sound-toggle span{opacity:.66}.cinema-screen{isolation:isolate;background:var(--olive-dark);width:100%;height:100svh;min-height:550px;position:relative;overflow:hidden}.scene-background{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scene-shade{pointer-events:none;background:linear-gradient(#0d140c33,#141b1045 40%,#13190e9c);position:absolute;inset:0}.scene-background#stage-poster{opacity:0}.scene-background#opening-film{opacity:0;transition:opacity .4s}.scene-background#opening-film.is-playing{opacity:1}.prologue{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:88px 5vw 68px}.cinema-eyebrow{text-transform:uppercase;letter-spacing:.27em;font-size:10px;line-height:1.8}.opening-phrase{font-family:var(--serif);color:#ecddbe;font-size:clamp(28px,3vw,42px);font-style:italic;line-height:1.3}.start-story{letter-spacing:.09em;flex-direction:column;align-items:center;gap:20px;margin-top:43px;padding:0 20px 15px;font-size:11px;display:flex}.start-story>span:last-child{align-items:center;gap:25px;display:flex}.start-story i{font-size:20px;font-style:normal}.seal{font-family:var(--serif);color:#f2d69d;background:#59603b9c;border:1px solid #d1b877;border-radius:50%;place-items:center;width:78px;height:78px;font-size:43px;transition:transform .4s,box-shadow .4s;display:grid;box-shadow:0 0 0 5px #b79d5233,inset 0 0 20px #b99f4b33}.start-story:hover .seal{transform:translateY(-4px)rotate(-4deg);box-shadow:0 0 0 8px #b79d5220,inset 0 0 20px #b99f4b33}.cinema-bottom{inset:auto 4.5vw max(25px,env(safe-area-inset-bottom));letter-spacing:.04em;color:#f0e6cb;justify-content:space-between;align-items:center;gap:15px;font-size:10px;display:flex;position:absolute}.cinema-bottom button{min-height:44px;padding:12px 0;font-size:11px}.reveal{text-align:center;grid-template-rows:auto minmax(150px,1fr) auto;align-items:center;display:grid;position:absolute;inset:90px 0 72px}.gold-number{isolation:isolate;align-self:center;width:min(760px,90vw);height:100%;min-height:170px;max-height:440px;margin:auto;position:relative}.gold-number canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.number-fallback{font-family:var(--serif);letter-spacing:-.07em;color:#d6b977;text-shadow:1px 2px #886c2d,2px 4px #8b7439,3px 6px #58491f,0 12px 50px #1a210c;justify-content:center;align-items:center;padding-right:.07em;font-size:clamp(190px,25vw,360px);line-height:1;display:flex;position:absolute;inset:0}.webgl-ready .number-fallback{visibility:hidden}.reveal-outro{padding:0 20px}.reveal-phrase{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(36px,4.6vw,60px);line-height:1.04}.reveal-phrase em{font-weight:400}.gold-button,.olive-button{letter-spacing:.04em;border:1px solid #d4ba7c;justify-content:center;align-items:center;gap:34px;min-height:52px;padding:16px 26px;font-size:11px;transition:background .3s,transform .3s;display:inline-flex}.gold-button{color:#f0dfb8;background:#262f1c80;margin-top:28px}.gold-button:hover{background:#59613b;transform:translateY(-2px)}.gold-button span,.olive-button span{font-size:18px}.light-transition{background:var(--ivory);z-index:30;pointer-events:none;opacity:0;position:fixed;inset:0}.memory-frame{flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;position:absolute;inset:12% 17%}.memory-frame img{object-fit:contain;max-width:75vw;max-height:65svh;box-shadow:0 20px 80px #12150988}.memory-frame figcaption{font-family:var(--serif);text-align:center;font-size:27px;line-height:1.3}.memories-scene{background:#1b241866;position:absolute;inset:0}body.invitation-mode{background:var(--ivory);color:var(--ink);color-scheme:light}.invitation-mode .cinema-header{color:var(--ink);background:#f5efdfed;border-bottom:1px solid #68714f25;height:74px}.invitation-mode .header-monogram{color:#80713e}.invitation-mode .header-actions #sound-toggle{color:var(--ink)}.invitation-mode .direct-link{display:none}.event-hero{place-items:center;min-height:100svh;padding:125px 28px 75px;display:grid;position:relative;overflow:hidden}.invitation-paper{object-fit:cover;object-position:center;opacity:.95;width:100%;height:100%;position:absolute;inset:0}.event-content{text-align:center;width:100%;max-width:680px;position:relative}.small-label{text-transform:uppercase;letter-spacing:.22em;color:#65704c;margin-bottom:25px;font-size:10px;line-height:1.8}.event-content h2{letter-spacing:-.055em;margin-bottom:29px;font-size:clamp(72px,9vw,130px);line-height:.86}.event-content h2 em{color:#9a8248}.event-quote{font-family:var(--serif);font-size:clamp(22px,2.1vw,29px);line-height:1.35}.signature{font-family:var(--serif);color:#806b39;margin-top:21px;font-size:36px;font-style:italic;line-height:1.5;display:block}.event-date{justify-content:center;align-items:center;gap:18px;margin:30px 0 21px;display:flex}.event-date>span{font-family:var(--serif);border-right:1px solid #a48b5866;padding-right:20px;font-size:83px;line-height:1}.event-date>div{font-family:var(--serif);text-align:left;font-size:29px}.event-date small{font-family:var(--sans);margin-top:9px;font-size:12px;display:block}.event-location{letter-spacing:.015em;font-size:12px;line-height:1.8}.event-location span{font-family:var(--serif);margin-top:4px;font-size:23px;display:block}.olive-button{background:var(--olive);color:var(--ivory);border-color:var(--olive);margin-top:28px}.olive-button:hover{background:#515b3b;transform:translateY(-2px)}.quiet-link{letter-spacing:.03em;border-bottom:1px solid #84886555;width:fit-content;margin:13px auto 0;padding:14px 0;font-size:10px;line-height:1.6;display:block}.invitation-section{max-width:1320px;margin:0 auto;padding:100px 6vw}.section-copy h2,.closing-section h2{letter-spacing:-.035em;font-size:clamp(48px,5.8vw,80px);line-height:.99}.section-copy h2 em,.closing-section h2 em{color:#6d7952;line-height:1.15}.section-copy>p:not(.small-label){margin-top:28px;font-size:14px;line-height:1.9}.dress-section{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;display:grid}.section-copy dl{gap:25px;margin-top:35px;display:grid}.section-copy dt{text-transform:uppercase;letter-spacing:.16em;color:#6b734e;margin-bottom:9px;font-size:10px}.section-copy dd{font-family:var(--serif);font-size:23px}.dress-art{justify-self:center;width:100%;max-width:470px}.dress-crop{aspect-ratio:.8;background:#eee9dc;position:relative;overflow:hidden}.dress-crop img,.dress-crop video{width:128%;max-width:none;height:auto;position:absolute;top:-20%;left:-24%}.dress-crop video{opacity:0}.dress-crop video.is-playing{opacity:1}.dress-art button{color:#596342;min-height:44px;margin:12px auto 0;font-size:10px;display:block}.location-section{border-top:1px solid #87916a33;border-bottom:1px solid #87916a33;grid-template-columns:.85fr 1.15fr;align-items:center;gap:5vw;display:grid}.map-stage{color:#596044;width:100%}.map-stage svg{width:100%;height:auto;display:block}.map-stage text{font-family:var(--serif)}.map-stage .club-label{font-size:25px}.map-stage .small-label{font-family:var(--sans);letter-spacing:2px;font-size:12px}.map-stage .road-label,.map-stage .place-label{letter-spacing:1px;font-size:15px}.map-arrival{font-family:var(--serif);fill:#867140;font-size:20px}.map-footprints{color:#84733f}.map-compass text{font-size:17px}.map-caption{font-family:var(--serif);text-align:center;margin-top:10px;font-size:20px}.map-composition #location-actions{flex-direction:column;align-items:center;display:flex}.closing-section{text-align:center;padding-top:110px;padding-bottom:80px}.closing-section>p:not(.small-label){margin-top:25px;font-size:13px;line-height:1.9}.closing-section .signature{margin-top:37px;font-size:31px}.closing-section .quiet-link{margin-top:44px}.paper-version{color:#69714d;text-underline-offset:5px;margin-top:35px;font-size:10px;text-decoration:underline;display:block}.noscript-note{color:var(--ivory);padding:100px 25px 20px}@media (width>=1100px){.event-hero{min-height:1050px}.invitation-paper{object-fit:contain;object-position:center;background:#f3eddd}.event-content h2{font-size:110px}.event-content{padding-top:20px}.prologue{padding-top:0}.reveal{inset:110px 0 90px}.reveal-outro{padding-bottom:15px}}@media (height<=760px) and (width>=701px){.cinema-screen{min-height:500px}.reveal{inset:70px 0 55px}.reveal-intro{padding-top:0}.gold-number{max-height:270px}.reveal-phrase{font-size:39px}.gold-button{min-height:45px;margin-top:18px;padding:10px 23px}.prologue h1{font-size:110px}.start-story{margin-top:27px}.seal{width:65px;height:65px;font-size:38px}}@media (width<=700px){.cinema-header{gap:12px;height:75px;padding:10px 22px}.back-link{gap:7px;font-size:10px}.header-monogram{font-size:29px;left:43%}.header-actions{gap:16px}.header-actions button{font-size:9px}.header-actions #sound-toggle{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.header-actions .direct-link{font-size:9px}.cinema-screen{height:100svh;min-height:570px}.prologue{inset:90px 22px}.cinema-eyebrow{letter-spacing:.2em;max-width:290px;margin-left:auto;margin-right:auto;font-size:8px}.prologue h1{margin-top:20px;font-size:clamp(83px,22vw,130px)}.opening-phrase{font-size:30px}.start-story{gap:24px;margin-top:47px;font-size:10px}.seal{width:74px;height:74px}.cinema-bottom{left:22px;right:22px;bottom:max(15px,env(safe-area-inset-bottom));font-size:9px}.cinema-bottom button{font-size:10px}.reveal{grid-template-rows:auto minmax(140px,1fr) auto;inset:94px 0 72px}.reveal-intro{padding-top:4px}.gold-number{width:96vw;min-height:170px;max-height:310px}.number-fallback{font-size:245px}.reveal-phrase{font-size:41px}.reveal-outro>.cinema-eyebrow{margin-bottom:15px;font-size:8px}.gold-button{min-height:49px;margin-top:25px;padding:13px 25px;font-size:10px}.event-hero{min-height:950px;padding:112px 22px 60px}.invitation-paper{object-fit:cover;object-position:center;opacity:.85}.event-content h2{font-size:82px;line-height:.91}.event-quote{font-size:23px}.event-quote br{display:none}.event-content .small-label{font-size:9px}.signature{font-size:32px}.event-date{margin:27px 0 20px}.event-date>span{font-size:76px}.event-date>div{font-size:26px}.event-location{font-size:11px}.event-location span{font-size:22px}.olive-button{gap:24px;min-height:50px;padding:14px 25px;font-size:10px}.quiet-link{font-size:9px}.invitation-section{padding:65px 25px}.dress-section,.location-section{flex-direction:column;gap:35px;display:flex}.section-copy{width:100%}.section-copy h2,.closing-section h2{font-size:53px}.section-copy>p:not(.small-label){margin-top:23px;font-size:13px}.section-copy dl{grid-template-columns:1fr 1fr;gap:20px;margin-top:26px;display:grid}.section-copy dd{font-size:21px}.section-copy dt{font-size:9px}.dress-art{max-width:390px}.dress-crop{aspect-ratio:.82}.map-composition{width:calc(100% + 16px);margin-left:-8px}.map-caption{max-width:260px;margin-left:auto;margin-right:auto;font-size:19px;line-height:1.4}.closing-section{padding-top:80px}.closing-section h2{font-size:53px}.closing-section .signature{font-size:30px}.memory-frame{gap:20px;inset:16% 8%}.memory-frame img{max-width:90vw}.memory-frame figcaption{font-size:24px}}@media (width<=360px){.header-monogram{display:none}.cinema-header{padding:10px 16px}.prologue h1{font-size:82px}.reveal-phrase{font-size:36px}.reveal-outro>.cinema-eyebrow{font-size:7px}.gold-number{max-height:230px}.event-content h2{font-size:73px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.scene-background>img{object-fit:cover;width:100%;height:100%}.dress-crop{aspect-ratio:580/660}.dress-crop img,.dress-crop video{width:155.172%;top:-60.6061%;left:-39.6552%}.cinematic-invitation{color:var(--ink);background:var(--ivory)}body.cinema-mode,.cinema-screen{background:#10150e}.scene-background#theatre-film{opacity:0;transition:opacity .8s}.scene-background#theatre-film.is-playing{opacity:1}.scene-shade{background:linear-gradient(#10150e70,#0000 24%,#10150e25 47%,#10150ea3 82%,#10150ed9)}.cinema-vignette{pointer-events:none;z-index:1;position:absolute;inset:0;box-shadow:inset 0 0 16vw 4vw #080e0877}.film-matte{z-index:3;pointer-events:none;background:#10150e;height:0;transition:height 1.2s cubic-bezier(.22,1,.36,1);position:absolute;left:0;right:0}.matte-top{top:0}.matte-bottom{bottom:0}.is-projecting .film-matte{height:62px}.cinema-header{background:linear-gradient(#10150ea3,#0000);height:76px;font-size:10px}.cinema-header .header-monogram{font-size:27px}.prologue{z-index:2;justify-content:center;padding-bottom:2vh;inset:85px 24px 75px}.prologue .cinema-eyebrow{letter-spacing:.28em;color:#e7d3ab;font-size:10px}.prologue h1{letter-spacing:-.065em;color:#fff4d8;text-shadow:0 6px 60px #050b05;margin-top:16px;font-size:clamp(110px,16.8vw,245px);line-height:1.08}.opening-phrase{color:#e9d9b8;margin-top:8px;font-size:clamp(24px,2.1vw,35px)}.seal{width:64px;height:64px;font-family:var(--sans);background:#232b1b70;border-color:#c6a866;padding-left:4px;font-size:26px;line-height:1;box-shadow:0 0 0 8px #bb9c3f0c,inset 0 0 25px #caa7561a}.start-story>span:last-child{letter-spacing:.07em;font-size:11px}.sound-hint{letter-spacing:.035em;color:#d0c4a7;margin-top:10px;font-size:9px}.story-interlude{z-index:4;text-align:center;background:#10150eef;flex-direction:column;justify-content:center;align-items:center;padding:90px 28px;display:flex;position:absolute;inset:0}.interlude-rule{transform-origin:50%;background:#ba9956;width:70px;height:1px;margin-bottom:38px}.story-interlude p{font-family:var(--serif);letter-spacing:-.035em;color:#efe5d0;font-size:clamp(44px,6.3vw,96px);line-height:1.05}.story-interlude>span{font-family:var(--serif);color:#c9ae77;margin-top:25px;font-size:clamp(25px,3.2vw,45px);font-style:italic}.reveal{z-index:2;grid-template-rows:auto minmax(160px,1fr) auto;inset:86px 0 85px}.reveal-intro{padding-top:0}.reveal-name{font-family:var(--serif);color:#efe4c6;padding-bottom:5px;font-size:clamp(33px,4vw,52px);font-style:italic;line-height:1.15}.gold-number{width:min(920px,75vw);min-height:180px;max-height:51vh;overflow:visible}.number-fallback{font-size:clamp(200px,28vw,400px)}.reveal-outro{padding-bottom:0}.reveal-outro>.cinema-eyebrow{color:#ecdbb2;margin-bottom:15px;font-size:9px}.reveal-phrase{text-shadow:0 3px 25px #080f06;font-size:clamp(37px,3.6vw,52px);line-height:1.02}.reveal-phrase em{padding-bottom:.05em;line-height:1.16;display:inline-block}.gold-button{background:#131c0d8c;border-color:#dfc384;min-height:49px;margin-top:22px;font-size:10px}.cinema-bottom{z-index:5;color:#cdbf9e;font-size:9px;inset:auto 4.5vw 18px}.film-controls{align-items:center;gap:25px;display:flex}.film-controls button{white-space:nowrap;font-size:10px}.film-progress{z-index:5;opacity:0;background:#bda36515;height:2px;transition:opacity .5s;position:absolute;inset:auto 0 0}.film-progress span{transform-origin:0;background:#c2a568;width:100%;height:100%;display:block;transform:scaleX(0)}.is-projecting .film-progress{opacity:1}.event-hero{perspective:1300px}.event-content{transform-origin:50% 65%}.cinematic-invitation .closing-section{color:#eee4cd;background:linear-gradient(#10170ad9,#111a0ade),url(/assets/cinema/theatre-v2.webp) 50%/cover;max-width:none;padding-top:120px;padding-bottom:100px;position:relative}@media (width>=1100px){.reveal{inset:100px 0 84px}.prologue h1{margin-top:10px}.event-hero{min-height:100svh}.event-content{padding-top:0}.event-content h2{font-size:120px}}@media (width<=700px){.cinema-screen{min-height:570px}.cinema-header{height:68px;padding:10px 18px}.header-monogram{left:42%}.cinema-header .back-link{font-size:9px}.header-actions{gap:13px}.prologue{padding-bottom:0;inset:85px 17px 75px}.prologue .cinema-eyebrow{letter-spacing:.21em;max-width:260px;font-size:8px;line-height:1.8}.prologue h1{margin-top:24px;font-size:clamp(87px,25vw,155px)}.opening-phrase{max-width:240px;margin-top:10px;font-size:24px;line-height:1.25}.start-story{gap:18px;margin-top:39px}.seal{width:64px;height:64px}.start-story>span:last-child{font-size:10px}.sound-hint{margin-top:8px;font-size:8px}.is-projecting .film-matte{height:64px}.matte-top{background:linear-gradient(#10150e,#10150eaa)}.matte-bottom{background:linear-gradient(#0000,#10150e)}.story-interlude p{font-size:48px}.story-interlude>span{max-width:240px;font-size:29px;line-height:1.2}.interlude-rule{margin-bottom:32px}.reveal{grid-template-rows:auto minmax(140px,1fr) auto;inset:100px 0 90px}.reveal-name{font-size:36px}.gold-number{width:100vw;min-height:160px;max-height:42svh}.reveal-outro>.cinema-eyebrow{letter-spacing:.19em;margin-bottom:12px;font-size:7px}.reveal-phrase{font-size:36px}.gold-button{min-height:47px;margin-top:18px;padding:12px 22px;font-size:10px}.cinema-bottom{font-size:8px;bottom:15px;left:18px;right:18px}.film-controls{gap:17px}.film-controls button{font-size:9px}.cinema-bottom>p{max-width:135px;line-height:1.5}.cinematic-invitation .closing-section{background-image:linear-gradient(#10170ad9,#111a0ade),url(/assets/cinema/theatre-mobile-v2.webp);padding-top:90px;padding-bottom:85px}}@media (height<=720px){.prologue h1{font-size:clamp(85px,14vw,160px)}.prologue{inset:75px 20px 65px}.start-story{gap:13px;margin-top:22px}.seal{width:52px;height:52px;font-size:22px}.reveal{inset:80px 0 73px}.reveal-name{font-size:30px}.gold-number{min-height:140px;max-height:34svh}.reveal-phrase{font-size:31px}.gold-button{margin-top:14px}.reveal-outro>.cinema-eyebrow{margin-bottom:9px}.opening-phrase{font-size:24px}.sound-hint{margin-top:3px}}@media (prefers-reduced-motion:reduce){.scene-background#opening-poster{transform:none}.film-matte{transition:none}}:root{--ivory:#f1e8d9;--ink:#554830;--olive:#736043;--gold:#d9be87;--olive-dark:#2b2d20}.cinema-screen{isolation:isolate;background:#1e2418}.scene-background#opening-poster{transform:none}.scene-background#forest-world{opacity:0;transition:opacity 1s,filter 1.2s}.scene-background#forest-world.world-ready{opacity:1}.scene-background#forest-world canvas{width:100%;height:100%;display:block}.scene-shade{pointer-events:none;background:linear-gradient(#16201550,#0000 35%,#18201750 70%,#121911c2)}.cinema-vignette{transition:opacity 1s;box-shadow:inset 0 0 16vw #0b130744}.cinema-screen[data-phase=film] .scene-shade{opacity:.45}.cinema-screen[data-phase=reveal] #forest-world{filter:brightness(.59)}.cinema-header .header-monogram{object-fit:contain;width:42px;height:42px}.prologue{padding:0;inset:90px 22px 80px}.prologue h1{letter-spacing:-.045em;text-shadow:0 4px 40px #15220e99;margin-top:25px;font-size:clamp(96px,10vw,160px);line-height:.89}.prologue h1 em{margin-left:.25em;padding-bottom:.04em;font-size:1.07em;font-weight:400;line-height:1.12;display:block}.opening-phrase{max-width:440px;margin-top:15px;font-size:clamp(23px,2vw,31px);line-height:1.25}.start-story{gap:12px;margin-top:28px}.start-story>img{filter:drop-shadow(0 5px 14px #101b1266);width:83px;height:83px;transition:transform .4s}.start-story:hover>img{transform:rotate(-6deg)scale(1.07)}.sound-hint{font-size:9px}.film-text{z-index:4;font-family:var(--serif);color:#fff3dc;text-shadow:0 3px 24px #0a1108;pointer-events:none;max-width:520px;font-size:clamp(34px,4vw,62px);font-style:italic;line-height:1.12;position:absolute;bottom:12vh;left:8vw}.memories-scene{z-index:2;background:0 0}.world-ready~.memories-scene{pointer-events:none}.memory-frame{box-shadow:none;inset:8% 6% 12%}.memory-frame img{max-width:86vw;max-height:77svh;box-shadow:none;mask-image:linear-gradient(#0000,#000 5% 95%,#0000)}.memory-frame figcaption{display:none}.has-forest-world .memory-frame{opacity:0!important}.reveal{inset:95px 0 82px}.reveal-name{font-size:40px}.reveal-phrase{font-size:43px}.gold-number{min-height:160px;max-height:46svh}.reveal-outro .gold-button{margin-top:16px}.seal-scene{z-index:6;color:#655036;perspective:1600px;background:radial-gradient(at 50% 45%,#f8f0e3,#d6c3a6);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:87px 24px 65px;display:flex;position:absolute;inset:0;overflow:hidden}.invitation-cover{aspect-ratio:9/16;perspective:1400px;filter:drop-shadow(0 18px 22px #795c3740);width:min(380px,56.3svh - 104.155px);max-width:82vw;transform-style:preserve-3d;position:relative}.paper-wing{backface-visibility:hidden;width:50.1%;transform-style:preserve-3d;background-image:url(/assets/cinema/forest/arena-paper-v1.webp);background-size:200% 100%;position:absolute;top:0;bottom:0}.wing-left{transform-origin:0;background-position:0;left:0}.wing-right{transform-origin:100%;background-position:100%;right:0}.card-inscription{text-align:center;position:absolute;inset:23% 14% auto}.card-inscription>p:first-child{letter-spacing:.15em;text-transform:uppercase;font-size:10px;line-height:1.5}.card-inscription h2{margin:17px -10px;font-size:clamp(38px,6svh,64px);line-height:1.1}.card-inscription h2 em{font-size:.62em;font-weight:400}.cover-message{font-family:var(--serif);font-size:clamp(15px,2.35svh,23px);line-height:1.32}.card-inscription>span{font-family:var(--serif);text-transform:uppercase;letter-spacing:.06em;max-width:180px;margin:22px auto 0;font-size:clamp(10px,1.5svh,14px);line-height:1.4;display:block}.seal-open{filter:drop-shadow(0 5px 7px #71543544);width:clamp(76px,12svh,112px);height:clamp(76px,12svh,112px);padding:0;transition:filter .3s;position:absolute;top:72%;left:50%;transform:translate(-50%)}.seal-open:hover{filter:drop-shadow(0 7px 12px #71543566)}.seal-open img{width:100%;height:100%}.seal-instruction{letter-spacing:.05em;font-size:11px}body:has(.cinema-screen[data-phase=seal]) .cinema-header{color:#655036;background:0 0}body:has(.cinema-screen[data-phase=seal]) #sound-toggle{color:#655036}.cinema-screen[data-phase=seal] .cinema-bottom{color:#6c5a40;z-index:8}.cinema-screen[data-phase=seal] .film-progress{display:none}.invitation-mode .cinema-header{background:#f1e8d9ed}.invitation-mode .cinema-header .header-monogram{width:42px;height:42px}.event-content h2 em,.signature{color:#9c8050}.section-copy h2 em,.closing-section h2 em{color:#987f59}.small-label,.section-copy dt{color:#80704f}.olive-button{background:#786044;border-color:#786044}.olive-button:hover{background:#604b33}.cinematic-invitation .closing-section{color:#5b4c35;background:linear-gradient(#eadcc9ed,#efe5d6eb),url(/assets/cinema/forest/arena-paper-v1.webp) 50%/cover}.closing-section .small-label,.closing-section h2 em,.closing-section .signature,.closing-section .paper-version{color:#8b7148}.closing-section .olive-button{color:#fff4df;background:#786044;border-color:#786044}.closing-section .quiet-link{border-color:#987f5944}html[data-export] .cinema-header,html[data-export] .cinema-bottom,html[data-export] .film-progress,html[data-export] .sound-hint{visibility:hidden}html[data-export] .film-text{bottom:8vh}@media (width<=700px){.prologue{inset:90px 20px 85px}.prologue h1{margin-top:26px;font-size:clamp(77px,21vw,110px)}.prologue h1 em{margin-left:.12em}.prologue .cinema-eyebrow{letter-spacing:.25em;font-size:8px}.opening-phrase{max-width:260px;margin-top:20px;font-size:24px}.start-story{gap:10px;margin-top:29px}.start-story>img{width:78px;height:78px}.sound-hint{text-align:center;max-width:240px;margin-top:9px;font-size:8px;line-height:1.6}.film-text{max-width:280px;font-size:34px;bottom:14vh;left:26px}.reveal{inset:105px 0 83px}.reveal-name{font-size:31px}.reveal-phrase{font-size:35px}.gold-number{max-height:38svh}.reveal-outro>.cinema-eyebrow{font-size:7px}.seal-scene{gap:17px;padding:83px 24px 67px}.invitation-cover{width:min(360px,56.3svh - 104.155px)}.card-inscription{inset:23% 13% auto}.card-inscription>p:first-child{font-size:8px}.card-inscription h2{margin:16px -7px}.card-inscription>span{margin-top:18px}.seal-instruction{font-size:10px}.cinematic-invitation .closing-section{background-image:linear-gradient(#eadcc9ed,#efe5d6eb),url(/assets/cinema/forest/arena-paper-v1.webp)}}@media (height<=710px){.prologue h1{margin-top:16px;font-size:74px}.prologue h1 em{font-size:1em}.opening-phrase{margin-top:8px;font-size:20px}.start-story{gap:7px;margin-top:20px}.start-story>img{width:64px;height:64px}.sound-hint{font-size:7px}.card-inscription h2{margin:12px -10px;font-size:35px}.card-inscription>span{margin-top:12px;font-size:9px}.cover-message{font-size:15px}.card-inscription>p:first-child{font-size:7px}.reveal-name{font-size:28px}.reveal-phrase{font-size:31px}.gold-number{max-height:32svh}}@media (prefers-reduced-motion:reduce){.scene-background#forest-world{transition:none}}.cinema-screen.sparkle-stage{background:radial-gradient(at 50% 46%,#353b26 0%,#22261a 55%,#12150d 100%)}.stage-glow{pointer-events:none;opacity:0;background:radial-gradient(60% 42% at 50% 47%,#e7c68a30 0%,#c9a06018 45%,#c9a06000 100%);position:absolute;inset:0}.sparkle-stage .cinema-vignette{box-shadow:inset 0 0 18vw 3vw #07090455}.sparkle-stage .reveal{z-index:2}.sparkle-stage .reveal-name{color:#efdcb6}.sparkle-stage .reveal-outro>.cinema-eyebrow{color:#d9c091}.sparkle-stage .reveal-phrase{color:#f6ead3;text-shadow:0 3px 25px #0c0805}.sparkle-stage .reveal-phrase em{color:#e3c58c}.sparkle-stage .gold-button{color:#f6ead3;background:#22261acc;border-color:#d9bd84}.sparkle-stage .gold-button:hover{background:#d9bd8422}.sparkle-stage .cinema-bottom{color:#cdb994}body.cinema-mode .cinema-header{background:linear-gradient(#12150da0,#0000)}.sparkle-stage .gold-number{overflow:visible}.sparkle-stage>.number-canvas{z-index:1;pointer-events:none;position:absolute;inset:0;width:100%!important;height:100%!important}.sparkle-stage[data-phase=seal]>.number-canvas{visibility:hidden}.invitation-book{padding:calc(66px + env(safe-area-inset-top)) 10px calc(8px + env(safe-area-inset-bottom));color:#3d4229;background:radial-gradient(at 50% 42%,#f2f1e6 0%,#d8dac5 58%,#a7ac8b 100%);flex-direction:column;justify-content:center;align-items:center;gap:clamp(6px,1.4svh,16px);display:flex;position:fixed;inset:0;overflow:hidden}.invitation-book[hidden]{display:none}.invitation-mode{overflow:hidden}.invitation-mode .cinema-header{color:#4a5032;background:0 0}.invitation-mode #sound-toggle,.invitation-mode .back-link{color:#4a5032}.book-space{perspective:1800px;flex:0 auto;place-items:center;width:100%;display:grid;position:relative}.book{aspect-ratio:.64;width:min(600px,96vw,64svh - 112.64px);transform-style:preserve-3d;touch-action:pan-y;user-select:none;position:relative}.paper-stack{background:#4f5536;border-radius:3px;position:absolute;inset:0;transform:translate(6px,6px);box-shadow:3px 3px #434830,0 26px 40px #3c422638}.leaf{transform-origin:0;transform-style:preserve-3d;backface-visibility:hidden;visibility:hidden;border-radius:3px;position:absolute;inset:0}.leaf.current,.leaf.under,.leaf.turning{visibility:visible}.leaf.current{z-index:3}.leaf.under{z-index:2}.leaf.turning{z-index:4}.paper-front{background:#5d6340 url(/assets/cinema/forest/olive-frame-v1.webp) 50%/cover;border-radius:3px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #b99a6a33,inset 0 0 60px #a8875a26}.page-shade{opacity:0;pointer-events:none;background:linear-gradient(90deg,#3b2a1455,#0000 60%);border-radius:3px;position:absolute;inset:0}.invitation-dock{flex-direction:column;align-items:center;gap:4px;width:min(600px,96vw);min-height:96px;display:flex}.book-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;display:grid}.turn-button{letter-spacing:.04em;color:#3d4229;background:#fbf5eaaa;border:1px solid #98884866;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:11px;transition:background .3s,opacity .3s,transform .2s;display:inline-flex}.turn-button:hover:not(:disabled){background:#fff9ef}.turn-button:active:not(:disabled){transform:scale(.97)}.turn-button:disabled{opacity:.35;cursor:default}.turn-button span[aria-hidden]{font-size:16px}.page-caption{text-align:center}.page-caption p{font-family:var(--serif);font-size:20px;line-height:1.1}.page-caption span{letter-spacing:.2em;color:#857d4c;font-size:9px}.page-markers{gap:6px;display:flex}.page-markers button{place-items:center;width:32px;height:24px;display:grid}.marker-line{background:#98884855;width:22px;height:2px;transition:background .3s,width .3s;display:block}.page-markers [aria-current] .marker-line{background:#857d4c;width:30px}.page-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;min-height:40px;display:flex}.page-actions [hidden]{display:none!important}.gesture-hint{letter-spacing:.04em;color:#857d4c;font-size:10px}.context-action,.context-primary{letter-spacing:.03em;color:#3d4229;border-bottom:1px solid #98884855;align-items:center;gap:6px;min-height:40px;font-size:11px;display:inline-flex}.context-primary{color:#fff4df;background:#5d6340;border:0;border-radius:999px;padding:0 18px}.location-actions,.closing-actions{align-items:center;gap:18px;display:flex}.invitation-dock.is-turning .page-actions{opacity:.5}@media (width<=700px){.page-markers{display:none}.invitation-dock{min-height:88px}.page-caption p{font-size:18px}}@media (width<=380px){.control-text{display:none}.turn-button{padding:0 16px}}@media (height<=640px){.invitation-dock{gap:4px;min-height:90px}.page-markers{display:none}}.croquis{cursor:zoom-in;border-radius:2px;width:100%;margin:0;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 6px 18px #3c422624}.croquis img{width:100%;height:auto;display:block}.croquis-pulse{aspect-ratio:1;background:radial-gradient(circle,#b8914b66 0%,#b8914b00 70%);border-radius:50%;width:9%;animation:2.4s ease-out infinite croquis-pulse;position:absolute;top:80.4%;left:22.8%;transform:translate(-50%,-50%)}@keyframes croquis-pulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(2.2)}}.croquis-zoom{letter-spacing:.06em;color:#4a5032;background:#fbf6eccc;border-radius:999px;padding:3px 7px;font-size:8px;position:absolute;bottom:5px;right:6px}.croquis-viewer{background:#f4ecdf;border:0;width:min(1100px,100vw);max-width:100vw;max-height:100svh;margin:auto;padding:0;overflow:hidden;box-shadow:0 30px 80px #0006}.croquis-viewer::backdrop{backdrop-filter:blur(4px);background:#1d150eb3}.croquis-scroll{-webkit-overflow-scrolling:touch;max-height:calc(100svh - 56px);overflow:auto}.croquis-scroll img{width:100%;height:auto;display:block}.croquis-viewer form{justify-content:center;padding:8px;display:flex}.croquis-close{color:#fff4df;background:#5d6340;border-radius:999px;min-height:40px;padding:0 20px;font-size:12px}@media (orientation:portrait) and (width<=700px){.croquis-scroll img{width:185vw;max-width:none}}@media (prefers-reduced-motion:reduce){.croquis-pulse{opacity:.8;animation:none}}.seal-scene{color:#4a5032;background:radial-gradient(at 50% 45%,#f4f2e8,#cfd2bb)}.invitation-cover{filter:drop-shadow(0 18px 22px #3c422640)}body:has(.cinema-screen[data-phase=seal]) .cinema-header,body:has(.cinema-screen[data-phase=seal]) #sound-toggle,.cinema-screen[data-phase=seal] .cinema-bottom{color:#4a5032}.card-inscription{color:#3d4229}.card-inscription>span{max-width:62%;margin-left:auto;margin-right:auto}.book{container-type:inline-size}.leaf-content{text-align:center;color:#3d4229;background:radial-gradient(at 50% 38%,#fbf8ef 0%,#f4f0e2 72%,#ece6d2 100%);border-radius:2px;grid-template-rows:auto 1fr auto;place-items:center;gap:3.6cqi;padding:7.5cqi 6cqi 6.5cqi;display:grid;position:absolute;inset:3.6% 4.6%;box-shadow:0 1px 2px #4a503230,0 8px 22px #3c422626,inset 0 0 0 1px #9a8f5a33,inset 0 0 0 5px #fbf8ef,inset 0 0 0 6px #98884855}.leaf-head,.leaf-foot{flex-direction:column;align-items:center;gap:1.6cqi;display:flex}.leaf-body{flex-direction:column;justify-content:center;align-items:center;gap:3.4cqi;width:100%;min-height:0;display:flex}.t-eyebrow{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#6c6739;padding-left:.3em;font-size:clamp(8px,2.4cqi,11px);font-weight:500;line-height:1.4}.t-display{font-family:var(--serif);letter-spacing:-.015em;color:#363b24;margin:0;font-size:12.2cqi;font-weight:400;line-height:.96}.t-display em{color:#988848;font-style:italic}.t-lead{font-family:var(--serif);color:#4a5032;text-wrap:balance;max-width:23ch;font-size:5.1cqi;font-style:italic;line-height:1.32}.t-body{font-family:var(--sans);letter-spacing:.02em;color:#4a5032;font-size:clamp(9px,2.9cqi,13px);line-height:1.55}.t-place{font-family:var(--serif);color:#363b24;font-size:5.4cqi;line-height:1.1}.t-meta{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#4a5032;font-size:clamp(8px,2.6cqi,12px);font-weight:500}.t-figure{font-family:var(--serif);color:#363b24;letter-spacing:-.03em;font-size:21cqi;line-height:.82}.t-signature{font-family:var(--serif);color:#988848;font-size:7.4cqi;font-style:italic;line-height:1.1}.t-rule{background:linear-gradient(90deg,#0000,#98884899,#0000);width:16cqi;height:1px;margin-bottom:1.6cqi;display:block}.t-vrule{background:#98884866;align-self:stretch;width:1px;display:block}.leaf-seal{filter:drop-shadow(0 3px 5px #3f452840);width:11cqi;height:auto;margin:0 0 .6cqi}.date-row{border-top:1px solid #9888484d;border-bottom:1px solid #9888484d;grid-template-columns:1fr auto 1fr;align-items:center;gap:4cqi;width:100%;padding:3.2cqi 0 2cqi;display:grid}.date-row .t-meta:first-child{justify-self:end}.date-row .t-meta:last-child{justify-self:start}.date-time{margin-top:-1.4cqi}.dress-photo{aspect-ratio:3/4;background:#e7dfcc;border-radius:2px;width:auto;max-width:100%;height:100%;margin:0;position:relative;overflow:hidden;box-shadow:0 10px 24px #3c42262e,0 0 0 1px #98884833}.page-dress .leaf-body{height:100%;min-height:0;overflow:hidden}.page-dress .leaf-content{gap:2.6cqi}.dress-photo img,.dress-photo video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dress-photo video{opacity:0;transition:opacity .8s}.dress-photo video.is-playing{opacity:1}.dress-notes{flex-direction:row;justify-content:center;align-items:stretch;gap:5cqi;width:100%}.dress-notes>div{flex-direction:column;flex:1;gap:1cqi;max-width:40cqi;display:flex}.dress-notes .t-body{font-family:var(--serif);letter-spacing:0;color:#363b24;font-size:4.3cqi;line-height:1.2}.page-location .croquis{width:100%}.page-closing .olive-button{color:#fbf6ea;background:#5d6340;border-color:#5d6340;gap:5cqi;min-height:44px;margin-top:1cqi;padding:0 6cqi;font-size:clamp(10px,2.8cqi,13px)}.page-closing .olive-button:hover{background:#4a4f32}.page-closing .leaf-seal{margin-top:1.6cqi}.page-celebration .t-display{font-size:11cqi}.page-celebration .leaf-seal{width:8.5cqi}.page-celebration .leaf-body{gap:3cqi}.dress-notes{flex-direction:column;gap:1.4cqi}.dress-notes .t-place em{color:#988848;font-style:italic}.dress-notes .t-body{font-family:var(--sans);color:#4a5032;text-wrap:balance;max-width:34ch;font-size:clamp(9px,2.8cqi,13px);line-height:1.45}.palette{justify-content:center;gap:2.2cqi;margin:1cqi 0 0;padding:0;list-style:none;display:flex}.palette li{aspect-ratio:1;background:var(--c);border-radius:50%;width:5.4cqi;box-shadow:inset 0 0 0 1px #3c422622,0 1px 2px #3c422626}.dress-notes{align-items:center}.gate{z-index:4;place-items:center;display:grid;position:absolute;inset:0}.gate[hidden]{display:none}.gate-open{color:#efe3c4;cursor:pointer;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex}.gate-open img{filter:drop-shadow(0 8px 24px #0008);width:clamp(96px,26vw,132px);height:auto;transition:transform .5s cubic-bezier(.22,1,.36,1)}.gate-open:hover img,.gate-open:focus-visible img{transform:scale(1.06)rotate(-4deg)}.gate-name{font-family:"Pinyon Script",var(--serif);color:#ead6a4;font-size:clamp(34px,9vw,52px);line-height:1.1}.gate-hint{letter-spacing:.28em;text-transform:uppercase;color:#cdbf95;font-size:10px;animation:2.6s ease-in-out infinite gate-breathe}@keyframes gate-breathe{50%{opacity:.45}}.t-script{font-family:"Pinyon Script",var(--serif);color:#8a7a3e;margin-top:.4cqi;font-size:9cqi;font-style:normal;line-height:1.15}.paper-wing{background-image:url(/assets/cinema/forest/olive-frame-v1.webp)}.paper-wing:after{content:"";background:radial-gradient(at 50% 38%,#fbf8ef,#f1ecdc);position:absolute;top:3.6%;bottom:3.6%;box-shadow:inset 0 0 0 1px #9a8f5a33}.wing-left:after{border-radius:2px 0 0 2px;left:9.2%;right:0}.wing-right:after{border-radius:0 2px 2px 0;left:0;right:9.2%}.card-inscription{z-index:1}.invitation-book,.seal-scene{background:radial-gradient(at 50% 40%,#faf7ef 0%,#ece6d6 60%,#d8d0bb 100%)}.invitation-book:before,.seal-scene:before{content:"";pointer-events:none;opacity:.35;background-image:repeating-linear-gradient(0deg,#00000008 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#00000006 0 1px,#0000 1px 4px);position:absolute;inset:0}.paper-stack{box-shadow:3px 3px #434830,0 30px 50px #2f331f40,0 8px 14px #2f331f30}.leaf.current .t-display em,.leaf.current .t-place em{background:linear-gradient(100deg,#988848 42%,#f0dfaa 50%,#988848 58%) 0 0/260% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.8s cubic-bezier(.4,0,.2,1) .5s both gold-glint}@keyframes gold-glint{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.leaf.current .t-display em,.leaf.current .t-place em{color:#988848;background:0 0;animation:none}.gate-hint{animation:none}}.page-dress .dress-photo{aspect-ratio:4/3;border-radius:0;width:calc(100% + 12cqi);max-width:none;height:auto;margin:0 -6cqi;box-shadow:0 10px 24px #3c42262e}.page-dress .leaf-body{height:auto}.page-dress .leaf-content{grid-template-rows:auto auto auto;align-content:space-evenly}.dress-notes .dress-lead{margin-top:-.4cqi}.dress-who{grid-template-columns:1fr 1px 1fr;align-items:start;gap:0 4cqi;width:100%;max-width:78cqi;margin:1.2cqi 0 .6cqi;display:grid}.dress-who:before{content:"";background:#98884855;grid-area:1/2;align-self:stretch}.dress-who>div:first-child{grid-area:1/1}.dress-who>div:last-child{grid-area:1/3}.dress-who>div{text-align:center;flex-direction:column;align-items:center;gap:.8cqi;display:flex}.dress-who dt{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#988848;font-size:clamp(8px,2.3cqi,11px)}.dress-who dd{font-family:var(--serif);color:#363b24;text-wrap:balance;margin:0;font-size:clamp(12px,3.9cqi,18px);line-height:1.15}.dress-who .dress-aside{font-family:var(--sans);color:#6b6f52;font-size:clamp(8px,2.4cqi,11.5px);line-height:1.35}.dress-close{font-family:var(--serif);color:#988848;margin:0;font-size:clamp(13px,4.2cqi,19px);font-style:italic}
