@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/dm-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/fonts/dm-sans-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--ink:#263d32;--muted:#6f7568;--gold:#a68c53;--paper:#f4eedf;--paper-dark:#e7dcc7;--canvas:#f8f7f3;--rule:#dcded3;--sans:DM,Arial,sans-serif;--serif:Cormorant,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--canvas);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:default}
a{color:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
button[hidden],[hidden]{display:none!important}
button{border-radius:0}
p,h1,h2,h3,figure{margin:0}
em{font-weight:400}
.eyebrow{font-size:9px;line-height:1.6;letter-spacing:2.6px;font-weight:400}
.eyebrow>span{padding:0 8px;color:var(--gold)}
.text-button{border:0;background:none;min-height:44px;padding:10px 0;font-size:10px;letter-spacing:.3px;text-decoration:none;display:inline-flex;align-items:center;gap:16px}
.guest-surface{width:100%;max-width:480px;container-type:inline-size}
.stationery{position:relative;aspect-ratio:1575/2175;width:100%;background-color:var(--paper);color:var(--ink);text-align:center;overflow:hidden;isolation:isolate;container-type:inline-size;background-image:radial-gradient(ellipse at 30% 20%,#fff9 0%,transparent 68%),repeating-linear-gradient(0deg,#9a885403 0px,#9a885403 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#9a885403 0px,#9a885403 1px,transparent 1px,transparent 4px);box-shadow:0 2px 4px #4c442611,0 12px 26px #4c44260d}
.card-frame{position:absolute;inset:3.2%;border:1px solid #5c6e5b80;pointer-events:none}
.card-frame:after{position:absolute;inset:4px;border:1px solid #b8a46e55;content:''}
.venue-mark{object-fit:contain;display:block;mix-blend-mode:multiply}
.card-crest{position:absolute;top:8.5%;left:35%;width:30%;height:auto;opacity:.66}
.card-kicker{position:absolute;top:24%;width:100%;font-size:2.65cqw;letter-spacing:1.05cqw}
.card-names{position:absolute;top:32%;left:0;width:100%;font:400 16.8cqw/.91 var(--serif);letter-spacing:.4cqw}
.card-names>span{display:block}
.card-names em{display:block;font:italic 8cqw/1.22 var(--serif);letter-spacing:0;color:var(--gold);padding:.6cqw 0 1.2cqw}
.card-date{position:absolute;top:64%;left:0;width:100%}
.small-rule{display:block;width:8%;height:1px;background:#b1996480;margin:0 auto 5cqw}
.card-date p{font:400 5.45cqw var(--serif);letter-spacing:.53cqw}
.card-place{position:absolute;top:79%;width:100%;font:400 3.3cqw/1.6 var(--serif);letter-spacing:.53cqw}
.card-place p+p{font-size:2.8cqw;letter-spacing:.35cqw;margin-top:.5cqw}
.card-formal{position:absolute;bottom:7.6%;width:100%;font:italic 3.4cqw var(--serif);color:#68715e}
.card-reveal{width:min(100%,380px);margin:0 auto;animation:card-settle 650ms ease-out both}
.support-actions{display:flex;justify-content:space-between;gap:18px;padding-top:18px;width:min(100%,380px);margin:auto}
.support-actions .text-button{font-size:9px;gap:8px}
.guest-surface h2:focus{outline:0}
.envelope-scene{position:relative;padding:6px 0 0;container-type:inline-size}
.envelope-prelude{text-align:center;font-size:2.05cqw;letter-spacing:.8cqw;margin-bottom:12cqw;color:#68715f}
.envelope-wrap{perspective:1500px;position:relative;z-index:2}
.envelope{width:100%;aspect-ratio:1.48;position:relative;background:transparent;border:0;display:block;padding:0;text-align:left;isolation:isolate;box-shadow:0 18px 28px #43432c16;transform-style:preserve-3d}
.envelope-back{position:absolute;inset:0;background:#e4d9bf;z-index:0;box-shadow:0 0 0 1px #c9bda080}
.envelope-lining{position:absolute;inset:1.5% 1.2% 7%;background:#e8ddc5;z-index:1;text-align:center;color:var(--ink);overflow:hidden;padding-top:6%;opacity:0;transition:opacity .35s .2s}
.envelope-lining:before{content:'';position:absolute;inset:5%;border:1px solid #ad955c40}
.lining-heading{display:block;font-size:1.6cqw;letter-spacing:.48cqw;position:relative}
.lining-route{position:relative;margin:3cqw auto 0;width:72%}
.lining-hairline{width:70%;height:1px;background:#b59d6845;margin:2cqw auto;display:block}
.lining-ending{display:block;font-size:1.6cqw;letter-spacing:.4cqw}
.envelope-insert{position:absolute;inset:10% 8% 6%;background:var(--paper);text-align:center;z-index:2;padding:22% 5% 6%;box-shadow:0 0 3px #4f47221a;transform:translateY(4%);transition:transform 1.2s 1.05s cubic-bezier(.25,.7,.3,1)}
.envelope-insert>span{display:block;font-size:1.9cqw;letter-spacing:.5cqw}
.envelope-insert strong{display:block;font:400 9cqw var(--serif);margin:3cqw 0 4cqw}
.envelope-pocket{position:absolute;inset:42% 0 0;background:#f1e7d2;z-index:3}
.fold-left,.fold-right,.fold-bottom{position:absolute;inset:0;z-index:4;pointer-events:none}
.fold-left{clip-path:polygon(0 0,55% 55%,0 100%);background:linear-gradient(125deg,#eee4cf,#e7dcc4)}
.fold-right{clip-path:polygon(100% 0,45% 55%,100% 100%);background:linear-gradient(245deg,#f2e9d7,#e4d7bc)}
.fold-bottom{clip-path:polygon(0 100%,50% 44%,100% 100%);background:linear-gradient(0deg,#f4ecdb 1%,#f1e6cf 80%);filter:drop-shadow(0 -1px 1px #85734217)}
.envelope-flap{position:absolute;inset:0;z-index:6;clip-path:polygon(0 0,100% 0,50% 57%);background:linear-gradient(175deg,#f6efdf 5%,#e8ddc7 95%);transform-origin:50% 0;backface-visibility:hidden;transition:transform 1.1s cubic-bezier(.3,.65,.3,1);filter:drop-shadow(0 2px 2px #52432320)}
.paper-seal{position:absolute;left:44.2%;top:45.8%;width:11.6%;aspect-ratio:1;border-radius:50%;z-index:8;background:radial-gradient(ellipse at 30% 20%,#faf4e7,#eee3cd);border:1px solid #b7a06e70;box-shadow:0 2px 5px #443e2617;display:flex;align-items:center;justify-content:center;font:italic 3.45cqw var(--serif);transition:opacity .35s,transform .4s}
.paper-seal span{color:var(--gold);padding:0 .3cqw}
.envelope-face{position:absolute;inset:0;z-index:5;transition:opacity .6s .3s;pointer-events:none}
.envelope-address{position:absolute;bottom:9%;left:9%;display:flex;flex-direction:column}
.address-label{font-size:1.7cqw;letter-spacing:.48cqw}
.envelope-address strong{font:italic 11cqw/.97 var(--serif);margin:1cqw 0 2cqw}
.address-country{font-size:1.6cqw;letter-spacing:.48cqw}
.arrival-panel{position:absolute;bottom:12%;right:9%;border-left:1px solid #a58c5655;padding-left:4cqw;display:flex;flex-direction:column;gap:1.2cqw}
.arrival-panel>span{font-size:1.6cqw;letter-spacing:.48cqw}
.arrival-panel>strong{font:400 5cqw var(--sans);letter-spacing:.5cqw}
.route{display:flex;align-items:center;justify-content:space-between;gap:.4cqw;white-space:nowrap;font-family:var(--sans);font-size:1.75cqw;letter-spacing:.16cqw}
.route-arrow{font-size:1.3cqw;color:var(--gold)}
.flap-route{position:absolute;top:8%;left:8%;right:8%;z-index:7;color:#6c745e;transition:opacity .2s}
.edge-route{position:absolute;bottom:5.2%;left:8%;right:8%;z-index:5;color:#6c745e}
.envelope-couple{position:absolute;bottom:23.5%;width:100%;text-align:center;font:400 9cqw var(--serif)}
.edge-destination{position:absolute;bottom:15%;width:100%;text-align:center;font-size:1.65cqw;letter-spacing:.28cqw}
.edge-destination>span,.lining-arrival>span{color:var(--gold);margin:0 1cqw}
.envelope-dedication{position:absolute;bottom:16%;width:100%;text-align:center;font:italic 11cqw var(--serif)}
.lining-arrival{position:absolute;bottom:6.5%;width:100%;text-align:center;font-size:1.65cqw;letter-spacing:.24cqw}
.treatment-lining .envelope-lining{background-color:#30493b;background-image:repeating-linear-gradient(45deg,#d9c7950a 0,#d9c7950a 1px,transparent 1px,transparent 9px);color:#efe7d4}
.treatment-lining .envelope-lining:before{border-color:#d9c79538}
.treatment-lining .lining-hairline{background:#d9c79545}
.treatment-address .lining-route,.treatment-edge .lining-route{visibility:hidden}
.treatment-address .lining-heading,.treatment-edge .lining-heading{font-family:var(--serif);font-size:4cqw;letter-spacing:.3cqw;font-style:italic}
.treatment-address .envelope-insert,.treatment-edge .envelope-insert{padding-top:14%}
.treatment-lining .envelope-insert{top:48%;padding-top:8%}
.opening .treatment-lining .envelope-insert{transform:translateY(-18%)}
.journey-reveal{height:11cqw;margin:5cqw 3cqw 0;position:relative;opacity:0;transition:opacity .2s;pointer-events:none}
.journey-reveal svg{width:100%;height:100%;overflow:visible}
.journey-reveal path{stroke:#a28a5360;stroke-width:.65}
.journey-reveal .trace-line{stroke:#a0874d;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1}
.journey-reveal circle{fill:#a0874d}
.route-plane{opacity:0}
.opening .route-plane{animation:plane-appear .2s var(--flight-delay) ease-out both}
.journey-reveal .plane-body path{fill:var(--gold);stroke:var(--paper);stroke-width:.7;stroke-linejoin:round}
.journey-origin,.journey-arrival{position:absolute;bottom:-1.5cqw;font-size:1.5cqw;letter-spacing:.3cqw}
.journey-origin{left:0}
.journey-arrival{right:0}
.envelope-controls{text-align:center;min-height:102px;position:relative}
.open-button{border:0;border-bottom:1px solid #87927c80;background:none;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font:italic 22px var(--serif);padding:3px 1px}
.open-button>span{font:14px var(--sans);color:var(--gold)}
.envelope-controls p{font-size:1.65cqw;letter-spacing:.38cqw;margin-top:17px;color:#697361}
.envelope-controls p>span{color:var(--gold);padding:0 1cqw}
.skip-reveal{position:absolute;top:0;left:50%;transform:translateX(-50%);white-space:nowrap}
.opening .envelope-flap{transform:rotateX(179deg);z-index:1}
.opening .paper-seal{opacity:0;transform:translateY(-8px) scale(.85)}
.opening .envelope-face,.opening .flap-route,.opening .edge-route{opacity:0}
.opening .envelope-lining{opacity:1}
.opening .envelope-insert{transform:translateY(-33%)}
.opening .journey-reveal{opacity:1}
.opening .trace-line{animation:trace-journey var(--flight-duration) var(--flight-delay) cubic-bezier(.42,0,.58,1) both}
.opening .lining-route .route-code{animation:city-arrival .55s calc(.45s + var(--stop)*.14s) ease-out both}
.opening .open-button{visibility:hidden}
.opening .envelope-prelude{opacity:.3;transition:opacity .3s}
.opening .envelope{pointer-events:none}
.photo-story{text-align:center;container-type:inline-size;width:100%;padding:8cqw 1cqw}
.photo-pair{position:relative;height:89cqw;margin:0 0 8cqw}
.photo-print{position:absolute;background:#faf6ec;padding:2.2cqw 2.2cqw 6cqw;box-shadow:0 5px 12px #35352622}
.photo-print img{display:block;width:100%;height:100%;object-fit:cover}
.print-city{left:1%;top:6%;width:66%;aspect-ratio:1.15;transform:rotate(-5deg);z-index:1}
.print-city img{object-fit:contain;background:#ebe5d6}
.print-dinner{right:2%;top:32%;width:49%;aspect-ratio:.76;transform:rotate(5deg);z-index:2}
.print-dinner img{object-position:50% 38%}
.photo-caption{font:italic 8cqw var(--serif);margin-top:5cqw}
.photo-signature{font-size:1.9cqw;letter-spacing:.55cqw;margin-top:3cqw}
.wedding-details{width:min(100%,380px);margin:auto;text-align:center;container-type:inline-size;padding:18px 0}
.details-crest{width:33%;height:auto;margin:0 auto 30px;opacity:.57}
.wedding-details .eyebrow{font-size:8px;letter-spacing:2.5px}
.wedding-details h2{font:400 clamp(40px,12.5cqw,60px)/.95 var(--serif);margin:24px 0 30px}
.details-description{font:400 16px/1.5 var(--serif);margin:0 auto 24px;max-width:280px;text-wrap:balance}
.website-button{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--ink);color:#faf5e8;min-height:52px;text-decoration:none;font-size:9px;letter-spacing:1.2px;padding:15px 12px}
.website-button:hover{background:#38513f}
.website-button>span{font-size:14px;color:#bda775}
.password-line{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;font-size:10px;color:#6b7362}
.password-line strong{font-weight:400;color:var(--ink);letter-spacing:.3px;user-select:all}
.copy-button{min-width:44px;min-height:44px;border:0;background:none;font-size:9px;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.copy-feedback{font-size:10px;min-height:22px;color:var(--muted)}
.return-link{font-size:9px;margin-top:28px}
.moments-drawer{margin:34px 0 0;border-top:1px solid #afad9355;border-bottom:1px solid #afad9355}
.moments-drawer summary{padding:17px 1px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font:italic 20px var(--serif);min-height:56px}
.moments-drawer summary::-webkit-details-marker{display:none}
.drawer-symbol{font:16px var(--sans);color:var(--gold);transition:transform .2s}
.moments-drawer[open] .drawer-symbol{transform:rotate(45deg)}
.moments-drawer .photo-story{padding:28px 0 36px}
.details-inline{border-top:0;padding-top:64px;margin-top:10px}
.details-inline .details-crest{display:none}
.guest-replay{display:flex;justify-content:center;margin:30px auto 0;color:var(--muted);font-size:9px}
.guest-mode{background:#edece3}
.guest-page{width:min(100% - 48px,420px);margin:auto}
.guest-header{display:flex;justify-content:space-between;align-items:center;height:86px;margin-bottom:36px}
.guest-header>span:first-child{font:italic 26px var(--serif)}
.guest-header i{color:var(--gold);padding:0 5px}
.guest-header>span:last-child{font-size:8px;letter-spacing:1.7px;color:var(--muted)}
.guest-mode[data-view=envelope] .guest-page{width:min(100% - 48px,480px)}
.guest-mode[data-view=envelope] .guest-header{margin-bottom:86px}
.guest-mode[data-view=envelope] .guest-footer{margin-top:75px}
.guest-footer{text-align:center;font-size:7px;letter-spacing:1.6px;color:var(--muted);padding:30px 0 38px;margin-top:42px}
.guest-footer span{padding:0 8px;color:var(--gold)}
.guest-mode .card-reveal{max-width:none}
.guest-mode .wedding-details{max-width:none}
.guest-mode .envelope-prelude{margin-bottom:14cqw}
.no-script{padding:50px 20px;text-align:center;line-height:2.5}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes card-settle{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes trace-journey{to{stroke-dashoffset:0}}
@keyframes plane-appear{from{opacity:0}to{opacity:1}}
@keyframes city-arrival{from{color:#b99b60;opacity:.35}to{opacity:1}}
@media(max-width:620px){.guest-page{width:calc(100% - 40px);max-width:420px}
.guest-mode[data-view=envelope] .guest-page{width:calc(100% - 40px);max-width:480px}
.guest-header{height:70px;margin-bottom:23px}
.guest-mode[data-view=envelope] .guest-header{margin-bottom:70px}
.guest-mode[data-view=envelope] .guest-footer{margin-top:48px}
.envelope-prelude{font-size:2.4cqw}
.route{font-size:2cqw;letter-spacing:.12cqw}
.flap-route{left:6%;right:6%}
.envelope-controls p{font-size:1.85cqw}
.address-label,.address-country,.arrival-panel>span{font-size:1.95cqw}
.arrival-panel>strong{font-size:5.4cqw}
.lining-arrival,.edge-destination{font-size:1.85cqw}
.edge-route{font-size:1.9cqw}
.journey-origin,.journey-arrival{font-size:1.8cqw}
.lining-heading,.lining-ending{font-size:1.85cqw}
.envelope-controls{min-height:104px}
.open-button{font-size:21px}
.support-actions .text-button{font-size:8px}
.photo-signature{font-size:2.4cqw}
.guest-footer{font-size:6px;letter-spacing:1.3px}
.details-description{font-size:16px}
.website-button{font-size:8px;letter-spacing:.8px;gap:10px}
.guest-mode[data-view=card] .guest-header{margin-bottom:22px}}
@media(max-width:360px){.guest-mode[data-view=envelope] .guest-header{margin-bottom:62px}
.guest-header>span:last-child{font-size:7px;letter-spacing:1.2px}
.guest-page,.guest-mode[data-view=envelope] .guest-page{width:calc(100% - 32px)}
.envelope-controls p{font-size:1.95cqw;letter-spacing:.25cqw}
.website-button{font-size:7.5px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}}
.relationship-flap{position:absolute;top:9%;left:13%;right:13%;z-index:7;pointer-events:none;display:flex;justify-content:space-between;font:400 1.85cqw var(--sans);letter-spacing:.25cqw;color:#67705e;transition:opacity .3s,transform .35s}
.opening .relationship-flap{opacity:0;transform:translateY(2px)}
.relationship-scene .lining-heading{font-size:3.2cqw;letter-spacing:.25cqw}
.relationship-scene .lining-hairline{width:48%;margin:3cqw auto}
.relationship-scene .envelope-flap{transition-duration:1.15s}
.opening .relationship-scene .envelope-insert{transition-delay:1.8s;transition-duration:1.4s}
.opening .relationship-scene .envelope-face{transition:opacity .5s .2s}
.relationship-story{height:34cqw;margin:5cqw 3cqw 0;position:relative;pointer-events:none}
.relationship-whisper{position:absolute;top:11cqw;width:100%;text-align:center;font:italic 5.5cqw var(--serif);color:#6f7763;transition:opacity .25s}
.shared-meeting{position:absolute;top:6cqw;left:0;right:0;display:flex;align-items:center;flex-direction:column;gap:2cqw;opacity:0}
.shared-meeting>span{font:400 6.6cqw var(--serif);letter-spacing:.3cqw}
.shared-meeting>strong{font:400 1.9cqw var(--sans);letter-spacing:.5cqw;color:#6d765f}
.shared-trace{position:absolute;top:5cqw;left:0;right:0;height:12cqw;opacity:0}
.shared-trace svg{width:100%;height:100%;overflow:visible}
.shared-base{stroke:#a68c5333;stroke-width:.8}
.shared-line{stroke:var(--gold);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1}
.shared-trace .plane-body path{fill:var(--gold);stroke:var(--paper);stroke-width:.7;stroke-linejoin:round}
.shared-stops{position:absolute;top:18cqw;left:0;right:0;display:grid;grid-template-columns:1fr 1.1fr .8fr .8fr 1.35fr;gap:.8cqw;text-align:center}
.shared-stop{opacity:0;display:flex;align-items:center;flex-direction:column;gap:1.5cqw;white-space:nowrap}
.shared-stop>span{font:400 2.1cqw var(--sans);letter-spacing:.2cqw;color:#6d765f}
.shared-stop>em{font:italic 2.75cqw var(--serif);color:#6d765f}
.opening .relationship-whisper{opacity:0}
.opening .shared-meeting{animation:merge-meeting 1.35s .3s linear both}
.opening .shared-trace{animation:shared-track-appear .3s var(--flight-delay) ease both}
.opening .shared-line{animation:trace-journey var(--flight-duration) var(--flight-delay) cubic-bezier(.42,0,.58,1) both}
.opening .shared-stop{animation:shared-track-appear .35s calc(1.95s + var(--stop)*.12s) ease both}
@keyframes merge-meeting{0%{opacity:0;transform:translateY(3px)}20%,75%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2px)}}
@keyframes shared-track-appear{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
.guest-mode[data-animation=relationship][data-view=envelope] .guest-header{margin-bottom:45px}
.guest-mode[data-animation=relationship] .envelope-prelude{margin-bottom:9cqw}
.guest-mode[data-animation=relationship][data-view=envelope] .guest-footer{margin-top:24px}
@media(max-width:620px){.relationship-whisper{font-size:5.4cqw}
.shared-meeting>strong{font-size:2.2cqw}
.relationship-flap{font-size:2.15cqw}
.shared-stop>em{font-size:2.9cqw}
.guest-mode[data-animation=relationship][data-view=envelope] .guest-header{margin-bottom:32px}}
@media(max-width:360px){.relationship-story{height:36cqw}
.shared-meeting>span{font-size:7cqw}}
@media(prefers-reduced-motion:reduce){.relationship-flap,.relationship-whisper,.shared-trace{transition:none!important}
.shared-meeting,.shared-trace,.shared-stop,.shared-line{animation:none!important}}
.photo-journey{display:flex;flex-direction:column;gap:8cqw;align-items:center;padding:3cqw 2cqw 0}
.journey-print{background:#faf6ec;padding:2.4cqw 2.4cqw 3cqw;box-shadow:0 5px 12px #35352622;width:94%;margin:0;flex:none}
.journey-print img{display:block;width:100%;height:auto;object-fit:contain}
.journey-print figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:3cqw 1cqw 0}
.journey-print figcaption>span{font:400 2cqw var(--sans);letter-spacing:.5cqw;color:#68725e}
.journey-print figcaption>em{font:italic 3.5cqw var(--serif);color:#68725e}
.journey-print--hkg{transform:rotate(-2deg);align-self:flex-start}
.journey-print--muc{width:83%;transform:rotate(2deg);align-self:flex-end}
.journey-print--sin{width:83%;transform:rotate(-1.5deg);align-self:flex-start}
.photo-journey+.photo-caption{margin-top:10cqw}
.drawer-controls{display:flex;align-items:center;gap:10px}
.drawer-open-label,.drawer-closed-label{font:400 8px var(--sans);letter-spacing:.4px;color:var(--muted)}
.moments-drawer[open] .drawer-closed-label,.moments-drawer:not([open]) .drawer-open-label{display:none}
.minimize-photos{display:flex;justify-content:center;margin:0 auto 16px;color:var(--muted);font-size:9px}
.moments-drawer{scroll-margin-top:22px}
.sound-toggle{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:20;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:12px;border:1px solid #a68c5355;border-radius:50%;background:#f4eedff5;color:var(--ink);box-shadow:0 2px 10px #263d320b}
.sound-toggle svg{width:18px;height:18px;flex:none}
.sound-toggle[aria-pressed=false] .speaker-off,.sound-toggle[aria-pressed=true] .speaker-on{display:none}
.guest-footer{padding-bottom:94px}
.guest-header-tools{display:flex;align-items:center;gap:12px}
.guest-date{font:400 8px var(--sans);letter-spacing:1.7px;color:var(--muted);white-space:nowrap}
.language-switch{display:flex;align-items:center;flex:none}
.language-switch button{position:relative;min-width:44px;min-height:44px;padding:10px 8px;border:0;background:none;font:400 9px var(--sans);letter-spacing:1px;color:var(--muted)}
.language-switch button[aria-pressed=true]{color:var(--ink)}
.language-switch button[aria-pressed=true]:after{content:'';position:absolute;bottom:8px;left:14px;right:14px;height:1px;background:var(--gold)}
.language-switch button+button:before{content:'';position:absolute;left:0;top:16px;height:12px;border-left:1px solid var(--rule)}
.language-switch button:disabled{opacity:.45}
@media(max-width:620px){.guest-header-tools{gap:6px}
.guest-date{font-size:7px;letter-spacing:1.2px}}
