html,body{scrollbar-width:none!important;-ms-overflow-style:none!important}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
:root{--navy:#13283c;--paper:#f4f5f3;--gold:#b2935b;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#1d2b35;color:var(--navy);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}#cover{min-height:100svh;display:grid;place-items:center;padding:24px;perspective:1500px}.passport{position:relative;width:min(100%,500px);aspect-ratio:9/16;transform-origin:5% 50%;box-shadow:0 30px 80px #0005;overflow:hidden}.passport>img{width:100%;height:100%;object-fit:cover}.cover-copy{position:absolute;top:25%;left:14%;right:14%;text-align:center;color:#d9c18d}.eyebrow{font-size:11px;line-height:1.8;letter-spacing:.16em}.cover-copy h1{font:500 57px/1 'Cormorant Garamond',serif;margin:25px 0}.cover-copy h1 i{font-weight:400}.rule{width:50px;height:1px;margin:25px auto;background:var(--gold)}.couple{font:400 27px 'Cormorant Garamond',serif}.cover-copy .small{font-size:10px;letter-spacing:.12em}#open{background:#d5bd87;border:1px solid #dfcba0;color:var(--navy);padding:14px 24px;margin-top:20px;font-size:14px}.cover-foot{position:absolute;bottom:8%;width:100%;color:#d5bd87;text-align:center;font-size:10px;letter-spacing:.12em;line-height:2}#invitation{width:min(100%,540px);margin:auto;background:var(--paper)}.ticket-hero{position:relative;aspect-ratio:9/16;overflow:hidden}.ticket-hero>img{width:100%;height:100%;object-fit:cover}.ticket-copy{position:absolute;top:24%;left:17%;right:17%;text-align:center}.ticket-class{font-size:10px;letter-spacing:.1em}.passenger{border-block:1px solid #b2935b66;padding:12px 0;margin:24px 0}.passenger .eyebrow{font-size:9px}.passenger h1{font:500 49px/.96 'Cormorant Garamond',serif;margin:15px 0}.passenger h1 span{display:block;font:italic 24px 'Cormorant Garamond',serif;color:#947339;margin:8px 0}.journey{display:flex;justify-content:center;gap:24px}.journey span{font-size:8px;letter-spacing:.1em;display:block}.journey strong{font:500 18px 'Cormorant Garamond',serif;display:block;margin-top:8px}.venue{font:400 22px/1.5 'Cormorant Garamond',serif}.venue small{font:12px 'DM Sans',sans-serif}.ticket-bottom{position:absolute;bottom:4%;width:100%;text-align:center;font-size:8px;letter-spacing:.09em}.chapter{position:relative;isolation:isolate;padding:72px 38px;text-align:center;border-top:1px solid #b2935b44;overflow:hidden}.chapter>*:not(.watermark):not(.corner){position:relative;z-index:1}.chapter h2{font:400 41px/1.08 'Cormorant Garamond',serif;margin:20px 0 30px}.chapter p{font-size:16px;line-height:1.9}.chapter .eyebrow{font-size:11px;color:#8d743f}.chapter .small{font-size:13px;line-height:1.7;opacity:.8}.signature{font:italic 27px 'Cormorant Garamond',serif!important}.navy{background:var(--navy);color:var(--paper)}.navy .eyebrow{color:#d5bd87}.button{border:1px solid var(--gold);background:transparent;color:inherit;padding:14px 22px;font-size:14px}.ornament{display:block;width:65%;height:180px;object-fit:contain;margin:30px auto 0}.ornament.short{height:130px}.watermark{position:absolute;width:100%;max-height:500px;object-fit:contain;right:-25%;bottom:5%;opacity:.055;filter:grayscale(1);pointer-events:none;z-index:0}.navy .watermark{opacity:.08;filter:grayscale(1) brightness(2)}.corner{position:absolute;left:-18%;bottom:-12%;width:65%;opacity:.08;pointer-events:none}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0}.countdown strong{display:block;font:400 40px 'Cormorant Garamond',serif}.countdown span{font-size:10px;letter-spacing:.08em}.landscape{width:100%;display:block;margin:30px 0}.tabs{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.tabs button{border:1px solid #b2935b99;background:transparent;color:var(--navy);font-size:12px;padding:12px}.tabs button[aria-selected=true]{background:var(--navy);color:var(--paper)}#visa{min-height:345px;background:#fafbf9;border:1px solid var(--gold);border-left:8px solid #c3cace;margin:20px 0;padding:25px;box-shadow:4px 4px 0 #b2935b33}#visa .stamp-mark{margin:0 auto 12px;width:100px;height:100px}#visa h3{font:400 32px 'Cormorant Garamond',serif;margin:12px 0}#visa p{font-size:14px;line-height:1.7;margin:9px 0}.stamp-mark{width:120px;height:120px;margin:30px auto 0;background-image:url('assets/stamps.webp?v=neutral-20261001');background-size:200% 200%;background-position:0 0;opacity:.8;transform:rotate(-9deg)}.navy .stamp-mark{filter:brightness(1.5)}.page-controls{display:flex;justify-content:space-between;align-items:center;gap:8px}.page-controls .button{font-size:12px;padding:12px 16px}#page{font-size:12px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photos figure{margin:0;transform:rotate(-3deg)}.photos figure:nth-child(2){transform:rotate(3deg)}.photos figure div{aspect-ratio:3/4;border:6px solid #ffffff;box-shadow:0 3px 8px #13283c15;background:#dce1e4;display:grid;place-items:center;font:italic 30px 'Cormorant Garamond',serif;color:#13283c66}.photos figcaption{font-size:12px;line-height:1.6;margin-top:12px}.swatches{display:flex;justify-content:center;gap:22px;margin-bottom:30px}.swatches span{font-size:11px}.swatches span:before{content:'';width:42px;height:42px;border-radius:50%;background:var(--c);display:block;margin:0 auto 12px}details{text-align:left;padding:20px 0;border-top:1px solid #b2935b55}summary{font-size:16px;cursor:pointer}details p{font-size:14px!important}form{text-align:left}label{display:block;font-size:14px;margin:18px 0}input,textarea,select{display:block;width:100%;padding:13px;background:#fff6;color:var(--navy);border:1px solid #b2935b88;border-radius:0;margin-top:8px;font-size:16px}form .button{width:100%;background:var(--navy);color:var(--paper)}.controls{position:fixed;bottom:14px;right:14px;z-index:10}.controls button{background:#f4f5f3ed;border:1px solid #b2935b88;color:var(--navy);font-size:12px;padding:11px 15px}.reveal{opacity:0;transform:translateY(20px);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:none}.opening .passport{animation:openbook 1.5s ease-in-out forwards}.entered .ticket-hero{animation:arrive 1.3s both}@keyframes openbook{to{transform:rotateY(-100deg);opacity:0}}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:540px){#cover{padding:0}.passport{width:100%;box-shadow:none}.cover-copy h1{font-size:49px}.chapter{padding:62px 28px}.chapter h2{font-size:36px}.passenger h1{font-size:40px}.passenger{margin:15px 0;padding:8px 0}.ticket-copy{top:23%}.journey{gap:18px}.venue{font-size:20px}.cover-copy{top:24%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.ticket-copy>.eyebrow{margin:0;font-size:10px;line-height:1.6}.ticket-class{margin:5px 0 10px;font-size:9px}.passenger{margin:10px 0;padding:7px 0}.passenger>.eyebrow{margin:0;font-size:8px;line-height:1.5}.passenger h1{margin:7px 0;font-size:47px}.passenger h1 span{font-size:21px;line-height:1;margin:5px 0}.venue{margin:13px 0 0;font-size:20px;line-height:1.4}.journey strong{margin-top:5px}@media(max-width:540px){.passenger h1{font-size:36px}.passenger h1 span{font-size:18px;margin:4px 0}.ticket-class{font-size:8px}.journey strong{font-size:16px}.venue{font-size:18px}.venue small{font-size:11px}}
.cover-copy>.eyebrow{margin:0}.cover-copy h1{font-size:52px;margin:20px 0}.cover-copy .rule{margin:16px auto}.cover-copy .couple{font-size:25px;margin:15px 0}.cover-copy .small{margin:8px 0;font-size:9px}#open{margin-top:14px;padding:12px 20px}.cover-foot{display:none}.ticket-postmark{position:absolute;width:18%;aspect-ratio:1;top:7%;right:13%;background:url('assets/stamps.webp?v=neutral-20261001') 0 0/200% 200%;transform:rotate(8deg);opacity:.75}@media(max-width:540px){.cover-copy h1{font-size:44px;margin:17px 0}.cover-copy .rule{margin:12px auto}.cover-copy .couple{font-size:24px;margin:12px 0}}
.canva-stage-wrapper{position:relative;width:100%;max-width:540px;margin:0 auto;aspect-ratio:1080/1920;overflow:hidden}.canva-stage{position:absolute;top:0;left:0;width:1080px;height:1920px;transform-origin:top left}.canva-bg{position:absolute;top:0;left:0;width:1080px;height:1920px;object-fit:cover;display:block}.canva-box{position:absolute;box-sizing:border-box;margin:0;padding:0;letter-spacing:0;line-height:1.05;text-align:center}
@media(max-width:540px){.canva-stage-wrapper{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}}
/* Neutral Edition: passport proportions and clear cover typography. */
#cover{background:#f4f5f3}.passport{box-shadow:none}.passport>img{object-fit:contain;filter:drop-shadow(0 12px 16px #142c3b22)}.passport-label{position:absolute;top:20%;left:14%;right:14%;margin:0;text-align:center;color:#e8e9e6;font:500 18px/1.5 'DM Sans',sans-serif;letter-spacing:.27em}.cover-copy{top:39%;color:#e7e7e1}.cover-copy>.eyebrow{font-size:11px;color:#c3cbd1}.cover-copy h1{font-size:48px;line-height:1.05;margin:16px 0}.cover-copy .couple{font-size:25px}.cover-copy .small{font-size:11px;color:#d7dce0}#open{background:#edf0ed;border-color:#edf0ed;color:#13283c;margin-top:18px}.cover-copy .rule{background:#b9a887}@media(max-width:540px){.cover-copy{top:39%}.cover-copy h1{font-size:40px;margin:12px 0}.cover-copy .couple{font-size:23px;margin:12px 0}.cover-copy .rule{margin:10px auto}.passport-label{font-size:15px}#open{padding:11px 16px;margin-top:12px}}
