:root{--dark:#102823;--deep:#0b201d;--gold:#c8a76c;--light-gold:#e4cf9f;--ivory:#f2ead8;--muted:#b7bdab;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--ivory);font-family:var(--sans);line-height:1.7}body.is-sealed{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;border:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--light-gold);outline-offset:7px}::selection{background:var(--gold);color:var(--deep)}h1,h2,h3,p{margin:0}em{font-weight:400}main{position:relative;overflow:hidden;padding:55px 24px 65px;outline:none!important;background:radial-gradient(ellipse at 50% 5%,#27463c66,transparent 50%)}.ambient,.cover:after{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.spaced{font-size:9px;letter-spacing:3px;font-weight:400;color:var(--gold);line-height:1.9}.cover{position:fixed;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 45%,#244438,#112b24 55%,#0b201c);display:flex;align-items:center;justify-content:center;overflow-y:auto;overflow-x:hidden;padding:45px 24px}.cover:after{content:'';z-index:0}.cover-content{position:relative;text-align:center;z-index:2;width:100%;max-width:750px;margin:auto}.cover-kicker{font-size:8px;letter-spacing:3.5px}.cover-title{font-family:var(--serif);font-size:clamp(38px,4vw,57px);line-height:1.13;font-weight:400;letter-spacing:-.6px;margin:19px 0 40px}.cover-title em{color:var(--light-gold)}.cover-mandala{position:absolute;opacity:.15;pointer-events:none}.mandala-left{left:-27%;top:-24%;width:70vw;max-width:1000px}.mandala-right{right:-23%;bottom:-27%;width:60vw;max-width:900px}.cover-corner{position:fixed;width:65px;height:65px;border:1px solid #c8a76c60;pointer-events:none}.corner-tl{top:22px;left:22px;border-right:0;border-bottom:0}.corner-tr{top:22px;right:22px;border-left:0;border-bottom:0}.corner-bl{bottom:22px;left:22px;border-right:0;border-top:0}.corner-br{bottom:22px;right:22px;border-left:0;border-top:0}.envelope{position:relative;display:block;width:480px;max-width:85%;aspect-ratio:1.65;margin:0 auto;background:transparent;padding:0;perspective:1300px;filter:drop-shadow(0 25px 28px #0005)}.envelope-back{position:absolute;inset:0;background:#d8c6a0;border-radius:3px;box-shadow:0 0 0 1px #b69a66}.envelope-letter{position:absolute;inset:7% 6% 0;background:#fbf4e4;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:20px;outline:1px solid #b69a6680;outline-offset:-9px}.envelope-letter>span{font-size:40px;color:#a88950}.envelope-letter small{font-size:7px;color:#94794c;letter-spacing:2px;margin-top:8px}.envelope-front{position:absolute;inset:0;border-radius:2px;background:linear-gradient(31deg,#e5d5b6 49.8%,transparent 50%) left/50% 100% no-repeat,linear-gradient(-31deg,#e5d5b6 49.8%,transparent 50%) right/50% 100% no-repeat;z-index:3;filter:drop-shadow(0 -1px 1px #a28a5c40)}.envelope-front:after{content:'';position:absolute;inset:0;background:linear-gradient(149deg,transparent 49.8%,#ede0c5 50%) left/50.1% 100% no-repeat,linear-gradient(-149deg,transparent 49.8%,#ede0c5 50%) right/50.1% 100% no-repeat}.envelope-flap{position:absolute;inset:0;background:linear-gradient(180deg,#f8eed8,#d9c6a0);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:center top;z-index:4;filter:drop-shadow(0 3px 2px #7e673b33)}.wax-seal{position:absolute;z-index:6;left:50%;top:52%;transform:translate(-50%,-50%);width:82px;height:82px;display:flex;align-items:center;justify-content:center;border-radius:45% 48% 44% 48%;background:radial-gradient(circle at 35% 25%,#e7c98d,#c29b57 48%,#87652e);box-shadow:2px 6px 9px #684c3955,inset 0 0 0 2px #f3da9c66,inset 0 0 9px #77501e;transition:filter .3s}.seal-ring{width:64px;height:64px;border:1px solid #8d682d99;box-shadow:inset 0 0 0 2px #e8cb9066;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7d592b;text-shadow:0 1px #f4dfad80}.seal-ring>span{font-family:Georgia,serif;font-size:38px;line-height:1}.seal-ring small{font-size:5px;letter-spacing:1.3px}.envelope:hover .wax-seal{filter:brightness(1.15)}.envelope-inscription{position:absolute;z-index:5;bottom:14%;left:10%;right:10%;font-family:var(--serif);font-style:italic;font-size:17px;color:#97815a}.open-hint{font-size:7px;letter-spacing:2.3px;color:var(--light-gold);display:flex;align-items:center;justify-content:center;gap:13px;margin-top:30px}.open-hint>span{width:27px;height:1px;background:#c8a76c66}.cover-signature{font-family:var(--serif);font-size:24px;margin-top:30px;color:#d3c8aa}.cover-signature span{display:block;font-family:var(--sans);font-size:7px;letter-spacing:3px;text-transform:uppercase;margin-top:1px;color:#a9ad98}.side-ornament{position:absolute;width:650px;opacity:.12;pointer-events:none}.side-left{top:430px;left:calc(50% - 1040px)}.side-right{top:1700px;right:calc(50% - 1040px)}.invitation-paper{position:relative;max-width:790px;margin:auto;background:linear-gradient(90deg,#112c25,#17362c 50%,#112c25);box-shadow:0 0 100px #0003,0 0 0 1px #d4b87c45;text-align:center;padding:20px 24px 0}.paper-border{position:absolute;inset:12px;border:1px solid #c8a76c65;pointer-events:none;z-index:2}.paper-border:before,.paper-border:after{content:'✧';position:absolute;font-family:var(--serif);font-size:24px;color:var(--gold);left:50%;transform:translateX(-50%);background:#153128;line-height:1;padding:0 12px}.paper-border:before{top:-12px}.paper-border:after{bottom:-12px}.invitation-face{position:relative;isolation:isolate;min-height:950px;padding:60px 35px 38px;overflow:hidden}.arch{position:absolute;z-index:-1;inset:30px 28px 20px;border:1px solid #c8a76c7a;border-radius:48% 48% 0 0 / 30% 30% 0 0}.arch:before{content:'';position:absolute;inset:9px;border:1px solid #c8a76c30;border-radius:inherit}.arch:after{content:'';position:absolute;inset:20px;border:1px solid #c8a76c20;border-radius:inherit}.hanging{position:absolute;top:8px;display:flex;flex-direction:column;align-items:center;color:var(--gold)}.hanging-left{left:47px}.hanging-right{right:47px}.hanging:before{content:'';height:100px;width:1px;background:#c8a76c88}.hanging>span{font-size:30px;line-height:1}.hanging i{height:45px;width:1px;background:#c8a76c88}.hanging b{font-size:33px;font-weight:400;transform:rotate(90deg)}.ik-onkar{font-size:54px;line-height:1.3;color:var(--light-gold);margin:6px 0 14px}.blessing{font-size:7px;letter-spacing:2.5px}.ornamental-rule{display:flex;align-items:center;justify-content:center;gap:17px;color:var(--gold);font-family:var(--serif);font-size:29px;margin:24px auto}.ornamental-rule>span{height:1px;width:70px;background:linear-gradient(90deg,transparent,#c8a76c88)}.ornamental-rule>span:last-child{transform:rotate(180deg)}.invitation-prelude{font-family:var(--serif);font-style:italic;color:#d0cfb8;font-size:20px;margin:24px 0 18px}.grand-title{font-family:var(--serif);font-size:90px;font-weight:400;line-height:.88;letter-spacing:-1.5px;color:#eee6d1;text-shadow:0 2px 1px #0001}.grand-title em{font-size:94px;color:var(--light-gold);display:inline-block;margin-top:5px}.of-our{font-family:var(--serif);font-style:italic;font-size:22px;color:#b7bda6;margin:21px 0 12px}.academy-name{display:flex;align-items:center;justify-content:center;gap:12px}.academy-monogram{font-size:51px;line-height:1;color:var(--light-gold)}.academy-name h3{font-size:27px;line-height:1.1;letter-spacing:6px;font-weight:500}.academy-name small{display:block;font-size:9px;letter-spacing:5.5px;margin-top:10px;color:#c7c5af}.face-divider{font-size:13px;color:var(--gold);margin:30px 0 23px;display:flex;gap:16px;align-items:center;justify-content:center}.face-divider:before,.face-divider:after{content:'';width:45px;height:1px;background:#c8a76c70}.ceremony-intro{font-family:var(--serif);font-style:italic;font-size:19px;color:#c8ccb6;margin-bottom:9px}.sacred-title{font-family:var(--serif);font-size:44px;font-weight:500;line-height:1.15;color:var(--light-gold)}.path-title{font-family:var(--serif);font-size:27px;font-style:italic;color:#e1d5b9}.face-date{font-size:9px;letter-spacing:2.3px;margin-top:26px;color:#e4cf9f}.face-time{font-family:var(--serif);font-size:20px;color:#bec5af;margin-top:5px}.discover{margin-top:34px;display:inline-flex;flex-direction:column;align-items:center;gap:8px;color:#a6ae97}.discover>span{font-size:6px;letter-spacing:2px}.discover i{font-style:normal;font-size:24px;color:var(--gold)}.invite-section{position:relative;padding:58px 60px}.invite-section:after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:1px;width:70%;background:linear-gradient(90deg,transparent,#c8a76c55,transparent)}.letter{padding-top:24px}.small-ornament{display:block;width:105px;height:105px;margin:0 auto 21px;opacity:.7}.script-line{font-family:var(--serif);font-size:23px;font-style:italic;color:#c1c8b0;margin-bottom:20px}.invite-heading{font-family:var(--serif);font-weight:400;font-size:51px;line-height:1.06;letter-spacing:-.7px;color:#f1e8d3;margin-bottom:26px}.invite-heading em{color:var(--light-gold)}.letter-copy{font-family:var(--serif);font-size:21px;line-height:1.6;color:#bac6b3;max-width:440px;margin:0 auto 17px}.letter .ornamental-rule{margin-bottom:0;margin-top:33px}.date-section{padding-top:62px}.engraved-date{display:flex;align-items:center;justify-content:center;gap:27px;margin:21px 0 15px}.engraved-date>span{font-size:9px;letter-spacing:2.5px;line-height:2;color:#ddcfac;width:120px;border-block:1px solid #c8a76c66;padding:9px 0}.engraved-date>span:last-child{padding:4px 0}.engraved-date b{font-weight:400;font-size:12px;letter-spacing:5px}.engraved-date strong{font-family:var(--serif);font-weight:400;font-size:125px;line-height:1;letter-spacing:-6px;color:var(--light-gold)}.time-rule{display:flex;align-items:center;justify-content:center;gap:15px}.time-rule>span{height:1px;width:30px;background:#c8a76c55}.time-rule p{font-family:var(--serif);font-size:27px;letter-spacing:.5px}.time-rule i{font-size:22px;color:var(--gold);margin:0 6px}.date-ceremony{font-family:var(--serif);font-style:italic;font-size:19px;color:#afbba5;margin-top:8px}.quiet-action{display:inline-block;background:transparent;font-family:var(--serif);font-size:22px;color:var(--light-gold);padding:8px 15px;margin-top:25px;transition:color .25s}.quiet-action:hover{color:#fff3cf}.quiet-action>span{font-family:var(--sans);font-size:17px;margin:0 5px}.quiet-action small{display:block;font-family:var(--sans);font-size:6px;letter-spacing:2px;color:#9ea88d;margin-top:5px}.countdown-block{margin-top:44px;padding-top:32px;border-top:1px solid #c8a76c25}.countdown-block .spaced{font-size:7px;letter-spacing:2px;color:#9da98f}.countdown{display:flex;justify-content:center;align-items:center;gap:19px;margin-top:18px}.countdown strong{display:block;font-family:var(--serif);font-size:43px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.1;color:#e6d9b9}.countdown span{font-size:6px;letter-spacing:1.5px;color:#a6b296}.countdown i{font-family:var(--serif);font-style:normal;font-size:21px;color:#9f8e62;margin-top:-15px}.countdown>div{min-width:43px}.venue-symbol{font-size:43px;line-height:1;color:var(--gold);margin-bottom:14px}.venue .spaced{font-size:8px;margin-bottom:19px}.address-frame{position:relative;border:1px solid #c8a76c50;padding:35px 20px 25px;margin:40px auto 0;max-width:380px}.address-frame:before{content:'';position:absolute;inset:5px;border:1px solid #c8a76c22;pointer-events:none}.frame-flower{position:absolute;top:-21px;left:50%;transform:translateX(-50%);padding:0 17px;background:#16342a;font-size:28px;color:var(--gold)}.address-frame h3{font-family:var(--serif);font-size:30px;font-weight:400;color:#e9d9b7}.address-frame>p{font-family:var(--serif);font-size:21px;line-height:1.6;color:#c2c9b3;margin-top:7px}.landmark{margin-top:21px}.landmark .spaced{font-size:6px;margin-bottom:1px;display:block;letter-spacing:2px;color:#9da98e}.landmark strong{font-family:var(--serif);font-size:21px;font-weight:400;color:#dfcdab}.venue .quiet-action{margin-top:22px}.rsvp{padding-top:40px}.rsvp .ornamental-rule{margin-top:0;margin-bottom:35px}.rsvp>.spaced{font-size:7px;letter-spacing:1.9px;margin-bottom:22px}.rsvp .letter-copy{font-size:20px}.rsvp-button{display:inline-flex;justify-content:center;align-items:center;gap:30px;margin-top:20px;background:linear-gradient(115deg,#c6a065,#ead3a0,#bb975c);border:1px solid #e9d4a0;outline:1px solid #c8a76c66;outline-offset:5px;padding:14px 25px;color:#22362a;font-family:var(--serif);font-size:22px;transition:filter .3s,transform .3s}.rsvp-button:hover{filter:brightness(1.1);transform:translateY(-2px)}.rsvp-button>span:last-child{font-family:var(--sans);font-size:20px}.whatsapp-note{font-size:6px;letter-spacing:2px;color:#aab69d;margin-top:20px}.phone-links{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:29px;font-size:10px;color:#c3c8b0}.phone-links>span{font-size:8px;color:var(--gold)}.phone-links a:hover{color:var(--light-gold)}.sign-off{margin-top:52px}.sign-off p{font-family:var(--serif);font-style:italic;font-size:21px;color:#b1bea7}.sign-off h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.3;color:var(--light-gold);margin-top:5px}.sign-off>span{display:block;font-size:33px;color:var(--gold);margin-top:24px}.rsvp:after{display:none}.invitation-footer{padding:0 60px 42px}.invitation-footer details{border-block:1px solid #c8a76c30;text-align:left;color:#9dac95}.invitation-footer summary{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.6px;padding:15px 0;cursor:pointer;list-style:none}.invitation-footer summary::-webkit-details-marker{display:none}.invitation-footer details[open] summary>span{transform:rotate(45deg)}.academy-note{font-size:10px;line-height:1.9;padding:0 0 18px}.academy-note p{margin-bottom:13px}.academy-note a{color:var(--gold)}.academy-note .disclaimer{font-size:9px;color:#8c9d87;margin-bottom:5px}.end-note{font-size:6px;letter-spacing:2.5px;margin-top:32px;color:#a29e7e}.replay{background:transparent;color:#87977d;font-family:var(--serif);font-style:italic;font-size:15px;margin-top:16px;padding:5px}.replay:hover{color:var(--light-gold)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#f2ead8;color:#20382d;padding:12px 22px;box-shadow:0 10px 30px #0004;z-index:30;opacity:0;pointer-events:none;text-align:center;font-size:11px;max-width:calc(100% - 30px);width:max-content;transition:.3s}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1450px){.cover-title{font-size:61px;margin-bottom:45px}.envelope{width:530px}.cover-signature{margin-top:35px}}
@media(max-width:700px){main{padding:0 0 18px}.invitation-paper{padding:12px 13px 0;box-shadow:none}.paper-border{inset:8px}.invitation-face{min-height:840px;padding:69px 20px 30px}.arch{inset:24px 14px 13px;border-radius:48% 48% 0 0 / 24% 24% 0 0}.arch:before{inset:7px}.arch:after{inset:14px}.hanging-left{left:24px}.hanging-right{right:24px}.hanging:before{height:130px}.hanging>span{font-size:22px}.hanging i{height:30px}.hanging b{font-size:25px}.ik-onkar{font-size:43px;margin-bottom:14px}.blessing{font-size:5.5px;letter-spacing:1.7px}.ornamental-rule{font-size:24px;gap:13px;margin:20px auto}.ornamental-rule>span{width:44px}.invitation-prelude{font-size:17px;margin:25px 0 21px}.grand-title{font-size:72px;letter-spacing:-1.4px}.grand-title em{font-size:clamp(56px,13.6vw,83px)}.of-our{font-size:21px;margin:18px 0 14px}.academy-name{gap:9px}.academy-name h3{font-size:21px;letter-spacing:3.8px}.academy-monogram{font-size:43px}.academy-name small{font-size:6.5px;letter-spacing:4px;margin-top:8px}.face-divider{margin:26px 0 21px}.ceremony-intro{font-size:17px}.sacred-title{font-size:35px}.path-title{font-size:25px}.face-date{font-size:7px;letter-spacing:1.6px;margin-top:25px}.face-time{font-size:17px}.discover{margin-top:31px}.discover>span{font-size:5.5px;letter-spacing:1.5px}.discover i{font-size:21px}.invite-section{padding:48px 25px}.letter{padding-top:28px}.small-ornament{width:83px;height:83px;margin-bottom:20px}.script-line{font-size:20px;margin-bottom:23px}.invite-heading{font-size:41px;letter-spacing:-.6px}.letter-copy{font-size:19px;line-height:1.6}.date-section{padding-top:48px}.spaced{font-size:7px;letter-spacing:2.5px}.engraved-date{gap:15px;margin-top:24px}.engraved-date strong{font-size:100px;letter-spacing:-4px}.engraved-date>span{font-size:6.5px;letter-spacing:1.5px;width:86px}.engraved-date b{font-size:10px;letter-spacing:3px}.time-rule{gap:10px}.time-rule p{font-size:24px}.time-rule i{font-size:20px;margin:0 3px}.time-rule>span{width:21px}.date-ceremony{font-size:16px}.quiet-action{font-size:21px;margin-top:21px}.quiet-action small{font-size:5.5px;letter-spacing:1.6px}.countdown-block{margin-top:30px;padding-top:25px}.countdown-block .spaced{font-size:5.5px;letter-spacing:1.5px}.countdown{gap:14px;margin-top:17px}.countdown strong{font-size:37px}.countdown>div{min-width:35px}.countdown span{font-size:5px}.countdown i{font-size:18px}.venue .spaced{font-size:7px}.venue-symbol{font-size:37px}.address-frame{padding:30px 13px 23px;margin-top:35px}.address-frame h3{font-size:28px}.address-frame>p{font-size:20px}.venue .quiet-action{font-size:20px}.rsvp{padding-top:30px}.rsvp>.spaced{font-size:5.5px;letter-spacing:1.3px}.rsvp .letter-copy{font-size:18px}.rsvp-button{font-size:21px;gap:17px;padding:12px 17px}.phone-links{gap:10px;font-size:8px}.sign-off{margin-top:45px}.sign-off h3{font-size:24px}.invitation-footer{padding:0 27px 37px}.invitation-footer summary{font-size:7px}.academy-note{font-size:9px}.academy-note .disclaimer{font-size:8px}.end-note{font-size:5px;letter-spacing:2px}.replay{font-size:13px}.cover{padding:45px 18px}.cover-title{font-size:39px;margin:20px 0 40px}.cover-kicker{font-size:5.5px;letter-spacing:2px}.envelope{max-width:88%;width:420px}.wax-seal{width:66px;height:66px}.seal-ring{width:51px;height:51px}.seal-ring>span{font-size:30px}.seal-ring small{font-size:4px;letter-spacing:1px}.envelope-inscription{font-size:14px;bottom:13%}.open-hint{font-size:6px;letter-spacing:1.7px;margin-top:28px}.cover-signature{font-size:23px;margin-top:37px}.cover-signature span{font-size:6px;letter-spacing:2.5px}.cover-corner{width:38px;height:38px}.corner-tl,.corner-tr{top:15px}.corner-bl,.corner-br{bottom:15px}.corner-tl,.corner-bl{left:15px}.corner-tr,.corner-br{right:15px}.mandala-left{width:120vw;left:-70%;top:-12%}.mandala-right{width:130vw;right:-80%;bottom:-13%}.side-ornament{display:none}.envelope-letter>span{font-size:28px}.envelope-letter small{font-size:5px}.envelope-letter{padding-top:14px}}
@media(max-width:360px){.cover-title{font-size:34px}.grand-title{font-size:65px}.grand-title em{font-size:53px}.invitation-face{padding-inline:12px}.academy-name h3{font-size:18px}.sacred-title{font-size:31px}.face-date{font-size:6px}.invite-section{padding-inline:19px}.invite-heading{font-size:37px}.engraved-date{gap:10px}.engraved-date strong{font-size:88px}.engraved-date>span{width:75px;font-size:6px}.phone-links{gap:8px;font-size:7px}.rsvp-button{font-size:19px}.cover-signature{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.rsvp-button:hover{transform:none}}
/* Keep the insert behind an opaque pocket and reveal it only after the flap opens. */
.envelope{isolation:isolate}
.envelope-back{z-index:0}
.envelope-letter{z-index:2;visibility:hidden;opacity:0;overflow:hidden}
.envelope-front{z-index:3;background:#e5d5b6;clip-path:polygon(0 0,50% 62%,100% 0,100% 100%,0 100%);filter:none}
.envelope-front:after{background:linear-gradient(180deg,#f3e7ce,#e7d7b8);clip-path:polygon(0 100%,50% 38%,100% 100%)}
.envelope-flap{backface-visibility:hidden}
.music-toggle{position:fixed;right:22px;bottom:22px;z-index:10;display:flex;align-items:center;gap:9px;border:1px solid #c8a76c80;border-radius:30px;padding:10px 16px;background:#102823ed;color:#e4cf9f;box-shadow:0 4px 20px #0003;font-size:10px;letter-spacing:.5px;backdrop-filter:blur(10px)}
.music-toggle>span:first-child{font-size:19px;line-height:1}
.music-toggle[aria-pressed="false"]{color:#b7bdab}
@media(max-width:700px){.music-toggle{right:15px;bottom:15px;padding:9px 13px;font-size:9px}}
.scratch-card{position:relative;max-width:480px;margin:24px auto 0;border:1px solid #c8a76c70;padding:21px 12px 26px;min-height:245px}
.scratch-card .engraved-date{margin-top:0}
.scratch-foil{display:none;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;z-index:1}
.scratch-card.is-ready .scratch-foil{display:block}
.scratch-hint{font-family:var(--serif);font-style:italic;font-size:17px;color:#b7bdab;margin:18px 0 4px}
.scratch-skip{display:inline-block;background:transparent;color:var(--light-gold);font-size:9px;padding:6px 3px;border-bottom:1px solid #c8a76c66}
@media(max-width:700px){.scratch-card{margin-top:23px;padding:27px 8px;min-height:245px}.scratch-card .engraved-date{gap:10px}.scratch-card .engraved-date>span{width:75px;font-size:6px;letter-spacing:1px}.scratch-card .engraved-date strong{font-size:90px}.scratch-card .time-rule{gap:6px}.scratch-card .time-rule p{font-size:22px}.scratch-card .time-rule>span{width:14px}.scratch-card .date-ceremony{font-size:15px}.scratch-hint{font-size:15px}.scratch-skip{font-size:8px}}
@media(max-width:360px){.scratch-card .engraved-date{gap:6px}.scratch-card .engraved-date strong{font-size:78px}.scratch-card .engraved-date>span{width:62px;font-size:5.5px}}
/* The supplied logo includes transparent padding; frame it without stretching. */
.logo-frame{aspect-ratio:1.28;overflow:hidden}
.logo-frame img{display:block;width:100%;height:auto;transform:translateY(-10%);filter:drop-shadow(0 3px 8px #0002)}
.cover-logo{width:150px;margin:23px auto 0}
.academy-logo{width:230px;max-width:75%;margin:0 auto}
@media(max-width:700px){.cover-logo{width:125px;margin-top:23px}.academy-logo{width:195px}}
/* Centre the supplied brand mark on the envelope's opening seal. */
.wax-seal.envelope-logo{top:50%;width:124px;height:124px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#244638,#102823 75%);border:2px solid #d8bb7e;box-shadow:0 5px 16px #47351c55,inset 0 0 0 4px #102823,inset 0 0 0 5px #c8a76c70}
.envelope-logo .logo-frame{display:block;width:103px;flex-shrink:0}
.envelope-inscription{bottom:10%}
@media(max-width:700px){.wax-seal.envelope-logo{width:100px;height:100px}.envelope-logo .logo-frame{width:83px}.envelope-inscription{bottom:9%;font-size:12px}}
/* Screen-height compositions: decorative overflow must not create intro scrollbars. */
html.is-sealed{height:100%;overflow:hidden}
body.is-sealed{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}
.cover{height:100vh;height:100dvh;overflow:hidden;padding:clamp(18px,4vh,40px) 24px;isolation:isolate}
.cover-content{flex:none;transform:scale(var(--cover-scale,1));transform-origin:center center}
@media(max-width:700px){.cover{padding:24px 18px}}
@media(max-height:500px){.cover{padding-block:16px}.cover-title{margin:12px 0 25px}.open-hint{margin-top:18px}.cover-corner{width:28px;height:28px}}
/* Flex centring keeps scaled content centred even when its natural height is larger. */
.cover-content{margin:0 auto}
.academy-note-section{border-block:1px solid #c8a76c30;text-align:left;color:#9dac95;padding:20px 0 0}
.academy-note-section h2{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--light-gold);margin-bottom:14px}
.rsvp-form{max-width:430px;margin:30px auto 0;text-align:left}
.rsvp-form label{display:block;font-size:7px;letter-spacing:1.5px;color:#c8a76c;margin-bottom:7px}
.rsvp-form label>span{color:#9dac95;font-size:6px;letter-spacing:1px}
.rsvp-form input,.rsvp-form select,.rsvp-form textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #c8a76c55;border-radius:0;background:#0c241b80;color:var(--ivory);padding:12px 13px;font:14px var(--serif);min-height:46px;box-sizing:border-box}
.rsvp-form input,.rsvp-form textarea{font-size:18px}
.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#8e9e85;opacity:1}
.rsvp-form select{font-family:var(--sans);font-size:11px;cursor:pointer}
.rsvp-form option{background:#102823;color:var(--ivory)}
.rsvp-form textarea{resize:vertical;min-height:94px}
.rsvp-form input:focus-visible,.rsvp-form select:focus-visible,.rsvp-form textarea:focus-visible{outline:1px solid var(--light-gold);outline-offset:3px}
.rsvp-form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:17px;margin:21px 0}
.rsvp-form-row>div{min-width:0}
.rsvp-form .rsvp-button{width:100%;justify-content:space-between;gap:12px;margin-top:24px;font-size:21px}
.rsvp-form-note{font-size:9px;line-height:1.8;color:#aab69d;text-align:center;margin-top:17px}
.rsvp-continue{display:block;text-align:center;margin-top:12px;font-size:10px;color:var(--light-gold);text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.rsvp-form-row{grid-template-columns:1fr;gap:18px}.rsvp-form select{font-size:12px}.rsvp-form label{font-size:7px}.rsvp-form .rsvp-button{font-size:20px;padding-inline:15px}.academy-note-section h2{font-size:21px}}
