/* Blush stationery, chocolate typography. */
:root{--blush:#fff4f6;--cream:#fff4f6}
html,body,main,nav,footer,.bottom,.hero,.intro,.full-wedding-cover,.real-cover-art,.real-cover-copy,.real-cover-family,.cover-actions,.invitation,.countdown,.schedule,.section-head,.moments,.wedding-gallery,.location,.yuki,.yuki-copy,.yuki-portrait,.farewell,.event,.gallery-item,.gallery-item .photo,main>.wedding-gift,.location>p,.location>h2,.location>h3,.location>.eyebrow,.farewell p{background-color:var(--blush)!important;background-image:none!important}
.editorial-photo,.invitation-slides,.gallery-stage,.gallery-feature{background:#fff4f6}
nav,.bottom{background-color:#fff4f6f2!important}
html.envelope-pending{overflow:hidden;scroll-behavior:auto}
.envelope-pending #wedding-content{opacity:0}
#wedding-content{transition:opacity 1.1s ease}
.envelope-gate[hidden]{display:none}
.envelope-gate{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;overflow:hidden;padding:32px 24px;background:radial-gradient(ellipse at 50% 40%,#fff9fa,#fae4ea 85%);color:#583a29;text-align:center;isolation:isolate;transition:opacity .95s ease,visibility .95s}
.envelope-gate:before{content:'';position:absolute;inset:18px;border:1px solid #a5756333;pointer-events:none}
.envelope-kicker{font-size:12px;letter-spacing:.22em;margin:0 0 15px;text-transform:uppercase;color:#8c685b}
.envelope-heading{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(44px,7vw,68px);font-weight:400;line-height:1.1;margin:0 0 12px}
.envelope-intro{font-size:16px;line-height:1.9;margin:0;color:#806156}
.envelope-scene{position:relative;width:min(78vw,430px);aspect-ratio:1.48;margin:76px auto 32px;perspective:1400px;flex-shrink:0;filter:drop-shadow(0 22px 24px #70473e20);transition:transform 1.15s ease,opacity .9s ease}
.envelope-back{position:absolute;inset:0;background:linear-gradient(145deg,#d7a2ac,#c98e9c);border-radius:5px;box-shadow:inset 0 0 0 1px #af748254}
.envelope-letter{position:absolute;left:7%;bottom:5%;width:86%;height:89%;z-index:2;background:linear-gradient(140deg,#fffdf9,#fff6f2);border:1px solid #bf9d883f;box-shadow:0 3px 15px #633c2e1c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:20px;transition:transform 1.15s cubic-bezier(.25,.75,.25,1),box-shadow 1s;will-change:transform}
.envelope-letter:before{content:'';position:absolute;inset:10px;border:1px solid #b9988059;pointer-events:none}
.envelope-letter small{font-size:10px;letter-spacing:.2em}
.envelope-letter strong{font:400 clamp(29px,5vw,42px)/1.1 'Cormorant Garamond',Georgia,serif}
.envelope-letter span{font:400 15px/1.8 'Noto Sans Thai',sans-serif;letter-spacing:.13em}
.envelope-front{position:absolute;inset:0;z-index:4;background:linear-gradient(150deg,#efc5ce,#e2adb9);clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);border-radius:0 0 5px 5px}
.envelope-fold{position:absolute;inset:0;z-index:5;background:linear-gradient(0deg,#edc0cb,#f4d0d8);clip-path:polygon(0 100%,50% 40%,100% 100%);border-radius:0 0 5px 5px}
.envelope-flap{position:absolute;inset:0;z-index:6;transform-origin:50% 0;transform:rotateX(0);transition:transform 1s cubic-bezier(.4,0,.2,1);backface-visibility:visible;filter:drop-shadow(0 2px 1px #8c52622b)}
.envelope-flap:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f4d3da,#e8b6c2);clip-path:polygon(0 0,100% 0,50% 58%)}
.envelope-seal{position:absolute;z-index:8;left:50%;top:45%;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ad7865,#81523f 75%);border:3px double #d7aa8d;box-shadow:0 4px 8px #60382933,inset 0 0 0 4px #9c6a57;transform:translate(-50%,-50%) rotate(-9deg);color:#ffe3ce;font:italic 21px 'Cormorant Garamond',Georgia,serif;transition:transform .4s,opacity .3s}
.envelope-initials{position:absolute;left:0;right:0;bottom:22px;z-index:7;font:italic 17px 'Cormorant Garamond',Georgia,serif;color:#93646a;letter-spacing:.1em}
.envelope-open{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid #956b5c;background:#583a29;color:#fff4f6;border-radius:999px;padding:14px 28px;min-height:54px;font:400 16px/1.5 'Noto Sans Thai',sans-serif;cursor:pointer;box-shadow:0 6px 16px #583a2914;transition:transform .2s,box-shadow .2s}
.envelope-open:hover{transform:translateY(-3px);box-shadow:0 10px 24px #583a2924}
.envelope-open:focus-visible{outline:2px solid #583a29;outline-offset:6px}
.envelope-open:disabled{cursor:default}
.envelope-footnote{font-size:12px;letter-spacing:.07em;margin:16px 0 0;color:#927065}
.envelope-gate.is-opening .envelope-seal{transform:translate(-50%,-50%) rotate(12deg) scale(1.15);opacity:0}
.envelope-gate.is-opening .envelope-flap{transform:rotateX(180deg)}
.envelope-gate.is-unsealed .envelope-flap{z-index:1}
.envelope-gate.is-letter-out .envelope-letter{transform:translateY(-56%) rotate(-3deg);box-shadow:0 14px 32px #633c2e1f}
.envelope-gate.is-departing{opacity:0;visibility:hidden;pointer-events:none}
.envelope-gate.is-departing .envelope-scene{transform:translateY(38px) scale(1.09);opacity:0}
@media(max-width:600px){.envelope-gate{padding:32px 20px}.envelope-gate:before{inset:12px}.envelope-kicker{font-size:10px}.envelope-heading{font-size:48px}.envelope-intro{font-size:15px}.envelope-scene{margin-top:70px;margin-bottom:28px}.envelope-letter{gap:7px}.envelope-letter span{font-size:12px}.envelope-letter small{font-size:8px}.envelope-seal{width:52px;height:52px;font-size:18px}.envelope-initials{bottom:17px;font-size:15px}}
@media(max-height:650px){.envelope-gate{padding:25px}.envelope-heading{font-size:38px}.envelope-intro{font-size:13px}.envelope-kicker{margin-bottom:8px}.envelope-scene{width:min(55vw,290px);margin:44px auto 20px}.envelope-open{min-height:46px;padding:10px 24px}.envelope-footnote{margin-top:10px}.envelope-letter{gap:5px}.envelope-letter strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){.envelope-gate,.envelope-gate *,#wedding-content{transition:none!important}.envelope-gate.is-letter-out .envelope-letter{transform:none}.envelope-gate.is-opening .envelope-flap{transform:none}.envelope-open:hover{transform:none}}
#envelope-gate .envelope-open,#envelope-gate .envelope-open span{color:#fff4f6!important}
#envelope-gate .envelope-seal{color:#ffe3ce!important}
.envelope-kicker,.envelope-heading,.envelope-intro{transition:opacity .45s ease,transform .6s ease}
.envelope-gate.is-opening .envelope-kicker,.envelope-gate.is-opening .envelope-heading,.envelope-gate.is-opening .envelope-intro{opacity:0;transform:translateY(-10px)}
#envelope-gate .envelope-open,#envelope-gate .envelope-open span{-webkit-text-fill-color:#fff4f6!important}
#envelope-gate .envelope-seal{-webkit-text-fill-color:#ffe3ce!important}
