@font-face{font-family:TNO System;src:local('Helvetica Neue');font-display:swap}
.invite{--ink:#0b1118;--paper:#f1efe7;--blue:#91a7b8;--muted:#9ba5ae;--edge:#ffffff24;position:relative;isolation:isolate;background:#080e15;color:var(--paper);font-family:'TNO System',Arial,sans-serif;font-size:16px;line-height:1.5;min-height:100svh;overflow:hidden}
.invite,.invite *{box-sizing:border-box}.invite [hidden]{display:none!important}.invite button,.invite input{font:inherit}.invite button,.invite a{-webkit-tap-highlight-color:transparent}.invite button{cursor:pointer}.invite a{color:inherit;text-underline-offset:5px}.invite button:disabled{cursor:not-allowed}.invite :focus-visible{outline:2px solid #a9c6e0;outline-offset:6px}.invite button:focus-visible{border-radius:2px}.invite .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.invite:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 50% 34%,#30445075 0%,#17232f50 35%,transparent 68%),linear-gradient(110deg,#19232c30,transparent 42%,#101c2540)}
.invite-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 4.1%;height:107px;border-bottom:1px solid #ffffff09}.invite-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:18px;letter-spacing:.13em;font-weight:600;line-height:1.12}.invite-logo{width:53px;height:53px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}.brand-studio{display:block;letter-spacing:.24em;font-size:10px;margin-top:5px}.header-edition{font-family:monospace;font-size:12px;letter-spacing:.16em;color:#a1afb9}.header-edition span{padding:0 14px}.code-link{background:transparent;color:var(--paper);border:0;border-bottom:1px solid #ffffff42;padding:10px 0;font-size:14px!important;display:flex;gap:20px;align-items:center}.code-link:hover{border-color:var(--paper)}.code-link span{font-size:19px}
.invite-experience{position:relative;min-height:calc(100svh - 181px);display:flex;flex-direction:column;align-items:center;padding-bottom:25px}.invite-heading{text-align:center;position:relative;z-index:2;padding-top:clamp(20px,3.2vh,42px);pointer-events:none}.eyebrow{font-family:monospace;font-size:12px;letter-spacing:.2em;line-height:1.6;margin:0;color:#9baebc}.status-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#a8becf;margin:0 8px 3px 0}.invite-heading h1{font-family:'Bodoni 72','Didot','Times New Roman',serif;font-size:clamp(48px,5.2vw,78px);font-weight:400;line-height:1.05;letter-spacing:-.055em;margin:15px 0 12px}.invite-heading h1 em{font-weight:400;color:#c6d2da}.heading-note{font-size:14px;color:#a5b1ba;margin:0;letter-spacing:.02em}.backdrop-word{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);font-size:clamp(110px,19vw,310px);font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.085em;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #a9bdcf0e;pointer-events:none;user-select:none}
.scene-wrap{width:min(1120px,100%);position:relative;flex:1;min-height:315px;height:clamp(315px,44vh,525px);max-height:560px}.scene{height:100%;width:100%;position:relative;cursor:grab;touch-action:none;outline-offset:-8px!important}.scene:active{cursor:grabbing}.scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0;opacity:0;transition:opacity .7s}.scene.ready canvas{opacity:1}.scene-loading{position:absolute;left:0;top:45%;width:100%;text-align:center;font-family:monospace;font-size:13px;letter-spacing:.09em;color:#acbbc7}.scene-metadata{display:flex;justify-content:space-between;position:absolute;left:5%;right:5%;bottom:15%;font-family:monospace;font-size:11px;line-height:1.9;letter-spacing:.12em;color:#778995;pointer-events:none}.scene-metadata span:last-child{text-align:right}
.invite-controls{text-align:center;position:relative;z-index:2;width:min(370px,calc(100% - 44px));margin:0 auto;flex-shrink:0}.rotation-hint{font-size:13px;color:#a2b0bc;margin:0 0 18px;display:flex;align-items:center;justify-content:center;gap:10px}.rotation-hint>span:first-child{font-size:24px;line-height:16px}.degree{font-family:monospace;font-size:11px;color:#d5dde3;padding-left:5px}.open-invitation{width:100%;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 23px;min-height:62px;border:1px solid var(--paper);font-size:14px!important;font-weight:500;letter-spacing:.04em;transition:background .2s,transform .2s,box-shadow .2s}.open-invitation>span:last-child{font-size:25px;font-weight:400;line-height:1}.open-invitation:hover{background:#fff;box-shadow:0 0 36px #d7e6f212;transform:translateY(-2px)}.open-invitation:active{transform:translateY(0)}.secondary-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:7px;color:#a1abb4}.secondary-controls button{font-size:12px;background:none;color:inherit;border:0;padding:11px 0;min-height:40px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff35}.secondary-controls button:hover{color:var(--paper)}.secondary-controls>span{color:#61707c}
.invite-footer{position:relative;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:74px;padding:19px 4.1%;color:#8d9ba7;font-size:12px;border-top:1px solid #ffffff12}.footer-motto,.footer-copyright{font-family:monospace;letter-spacing:.08em;font-size:11px}.invite-footer>div{display:flex;gap:24px}.invite-footer a{text-decoration:none}.invite-footer a:hover{text-decoration:underline}.invite[data-state=opening] .invite-heading,.invite[data-state=opening] .invite-controls,.invite[data-state=opening] .scene-metadata,.invite[data-state=opening] .backdrop-word{opacity:0;pointer-events:none;transition:opacity .35s}.invite[data-state=opening] .scene{cursor:default;position:absolute;inset:0;min-height:100%}.invite[data-state=opening] .scene-wrap{position:absolute;inset:0;width:100%;height:100%;max-height:none}.invite[data-state=opening] .invite-experience{height:calc(100svh - 181px)}
.invitation-letter{width:min(550px,calc(100% - 38px));margin:0 auto;padding:22px 0 34px;outline:none!important}.letter-return{border:0;background:transparent;color:#b0bdc7;font-size:13px!important;padding:10px 0 17px;display:flex;gap:10px;align-items:center;min-height:44px}.letter-paper{position:relative;padding:31px 48px 30px;background:var(--paper);color:var(--ink);box-shadow:0 25px 90px #0009,0 2px 3px #0002;background-image:linear-gradient(180deg,transparent 49.85%,#cdc9ba36 49.95%,#ffffff99 50.1%,transparent 50.3%);transform-origin:50% 15%;animation:invite-paper-arrive .75s cubic-bezier(.19,1,.22,1) both}.letter-topline{display:flex;justify-content:space-between;gap:14px;font-family:monospace;font-size:10px;letter-spacing:.12em;color:#4c5a65;padding-bottom:19px;border-bottom:1px solid #162b3927}.letter-monogram{display:block;width:57px;height:57px;margin:23px auto 19px;mix-blend-mode:multiply}.letter-kicker{text-align:center;font-family:monospace;font-size:10px;letter-spacing:.16em;color:#5f6e76;margin:0 0 11px}.letter-paper h2{font-family:'Bodoni 72','Didot','Times New Roman',serif;font-weight:400;font-size:clamp(57px,5vw,74px);line-height:.95;letter-spacing:-.052em;text-align:center;margin:0 0 24px}.letter-paper h2 em{color:#415c70}.letter-date{text-align:center;padding:17px 0;border-top:1px solid #162b3927;border-bottom:1px solid #162b3927;margin-bottom:23px}.letter-date span{display:block;font-family:monospace;font-size:10px;letter-spacing:.17em;color:#5d6a72;margin-bottom:5px}.letter-date strong{font-family:'Bodoni 72','Didot','Times New Roman',serif;font-weight:400;display:block;font-size:27px;letter-spacing:-.035em}.letter-message{text-align:center;font-size:15px;line-height:1.6;margin:0 0 27px;color:#414d55}.invitation-form>label:first-child{font-family:monospace;font-size:11px;letter-spacing:.08em;display:block;margin-bottom:9px}.invite-phone{display:flex;align-items:center;min-height:53px;border:1px solid #1c32464a}.invite-phone>span{padding:0 13px;border-right:1px solid #1c324633;flex-shrink:0;font-size:13px;color:#415566}.invite-phone input{width:100%;min-width:0;padding:14px 13px;background:transparent;border:0;font-size:16px;color:var(--ink)}.invite-phone input:disabled{opacity:1;-webkit-text-fill-color:#66757f}.invite-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:#535f67;margin:13px 0 18px}.invite-consent input{width:16px;height:16px;flex-shrink:0;margin:2px 0;accent-color:#1e3649}.join-button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:18px;background:#142a3b;color:#f6f3e9;border:0;min-height:54px;padding:16px 20px;font-size:14px!important}.join-button>span:last-child{font-size:23px;line-height:1}.join-button:hover:not(:disabled){background:#24445b}.join-button:disabled{background:#3b4a56;color:#f1eee8}.unconnected-note{font-size:12px;line-height:1.55;color:#6b5d49;margin:12px 0 0}.letter-smallprint{text-align:center;font-size:11px;color:#687177;line-height:1.6;margin:21px 0 26px}.letter-signoff{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid #162b3927;padding-top:19px}.letter-signoff>span:first-child{font-family:'Bodoni 72','Didot','Times New Roman',serif;font-style:italic;font-size:17px;line-height:1.5}.letter-signoff strong{font-weight:400;font-size:25px;letter-spacing:-.04em}.letter-mark{font-family:Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:-.02em;line-height:1.1;text-align:right;color:#314b60}.stock-note{text-align:center;color:#9fafbb;font-size:12px;line-height:1.6;margin:18px 10px 0}
.invite-code-dialog{width:min(440px,calc(100vw - 38px));background:var(--paper);color:var(--ink);padding:38px;border:0;box-shadow:0 20px 100px #0008;max-height:90svh;overflow:auto}.invite-code-dialog::backdrop{background:#050a12ce;backdrop-filter:blur(8px)}.dialog-close{display:block;margin:-17px -17px 4px auto;background:transparent;color:inherit;border:0;font-size:30px!important;width:44px;height:44px}.invite-code-dialog .eyebrow{color:#596f80;font-size:11px}.invite-code-dialog h2{font-family:'Bodoni 72','Didot','Times New Roman',serif;font-weight:400;font-size:53px;letter-spacing:-.05em;line-height:1;margin:15px 0 20px}.invite-code-dialog p:not(.eyebrow){font-size:14px;line-height:1.6;color:#50606d}.invite-code-dialog label{display:block;font-size:13px;margin:18px 0 8px}.invite-code-dialog input{width:100%;padding:14px;background:transparent;color:inherit;border:1px solid #1c32464a;font-size:16px;margin-bottom:15px}.code-error{color:#9f3b38!important}.invite-code-dialog :focus-visible,.letter-paper :focus-visible{outline-color:#254961}
@keyframes invite-paper-arrive{from{opacity:0;transform:translateY(38px) rotateX(9deg) scale(.97)}to{opacity:1;transform:none}}
@media(min-width:1500px){.scene-wrap{max-height:610px;height:48vh}.invite-experience{padding-bottom:30px}.invite-heading{padding-top:42px}}
@media(max-width:780px){.invite-header{height:88px;padding:17px 22px}.header-edition{display:none}.invite-brand{font-size:15px;gap:9px}.invite-logo{width:44px;height:44px}.brand-studio{font-size:9px}.code-link{font-size:13px!important;gap:11px}.invite-experience{min-height:calc(100svh - 157px);padding-bottom:16px}.invite-heading{padding-top:30px}.invite-heading h1{font-size:58px;margin-top:12px}.eyebrow{font-size:10px;letter-spacing:.17em}.heading-note{font-size:13px}.scene-wrap{min-height:245px;height:clamp(245px,37vh,375px);max-height:420px}.scene-metadata{display:none}.backdrop-word{font-size:29vw;top:48%}.invite-controls{width:min(340px,calc(100% - 48px))}.rotation-hint{font-size:12px;margin-bottom:13px}.open-invitation{padding:16px 20px;min-height:58px}.invite-footer{min-height:69px;gap:12px;padding:17px 22px;flex-wrap:wrap;font-size:11px}.footer-motto{display:none}.footer-copyright{font-size:9px}.invite-footer>div{gap:15px}.invite[data-state=opening] .invite-experience{height:calc(100svh - 157px)}.invitation-letter{padding-top:10px;width:calc(100% - 30px);max-width:520px}.letter-paper{padding:25px clamp(23px,7vw,45px)}.letter-paper h2{font-size:68px}.letter-monogram{margin:21px auto 18px}.letter-date strong{font-size:25px}.letter-message{font-size:14px}.letter-topline{font-size:9px}.stock-note{font-size:11px}.letter-return{padding-left:3px}}
@media(max-width:380px){.invite-header{padding:15px 18px}.invite-heading{padding-top:23px}.invite-heading h1{font-size:51px}.scene-wrap{min-height:220px;height:32vh}.secondary-controls{gap:10px}.secondary-controls button{font-size:11px}.invite-controls{width:calc(100% - 38px)}.letter-paper{padding-left:22px;padding-right:22px}.letter-paper h2{font-size:60px}}
@media(max-height:720px) and (min-width:781px){.invite-header{height:83px;padding-top:15px;padding-bottom:15px}.invite-heading{padding-top:15px}.invite-heading h1{font-size:55px;margin-top:7px;margin-bottom:6px}.scene-wrap{min-height:230px;height:36vh}.invite-experience{min-height:calc(100svh - 140px);padding-bottom:10px}.invite-footer{min-height:57px;padding-top:13px;padding-bottom:13px}.rotation-hint{margin-bottom:10px}.open-invitation{min-height:52px;padding-top:13px;padding-bottom:13px}}
@media(prefers-reduced-motion:reduce){.invite *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.invite{font-size:1rem}.letter-message{font-size:1rem}.letter-topline,.letter-kicker,.letter-date span,.invitation-form>label:first-child,.letter-smallprint,.scene-metadata,.footer-motto,.footer-copyright,.brand-studio,.degree,.eyebrow{font-size:.75rem}.heading-note,.code-link,.rotation-hint,.letter-return,.secondary-controls button{font-size:.875rem!important}.invite-consent,.unconnected-note,.stock-note{font-size:.75rem}.invite-phone input{font-size:1rem}
/* Immersive arrival: only the physical envelope. No page chrome before opening. */
.invite{background:#000}.invite:before{display:none}.invite-experience{display:block;padding:0;min-height:100svh;height:100svh}.scene-wrap{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;flex:none}.scene{position:absolute;inset:0;width:100%;height:100%;min-height:100%;touch-action:none}.invite[data-state=opening] .invite-experience{height:100svh}.invite[data-state=opening] .scene-wrap{height:100%;min-height:0}.invite[data-state=sealed] .invite-footer,.invite[data-state=opening] .invite-footer{display:none}.scene-keyboard{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);width:min(360px,calc(100% - 44px));opacity:0;pointer-events:none}.scene-keyboard:focus-within,.without-webgl .scene-keyboard{opacity:1;pointer-events:auto}.scene-keyboard:focus-within{z-index:5}.invite[data-state=opening] .scene-keyboard{display:none}.letter-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px}.letter-nav .code-link{font-size:.75rem!important;white-space:nowrap}.letter-nav .letter-return{padding-bottom:10px}.invitation-letter{padding-top:20px}.invite-footer{font-size:.75rem}.scene-loading{font-size:.875rem;padding:0 25px;top:43%}
.scene-brand{position:absolute;z-index:3;left:50%;top:30px;transform:translateX(-50%);pointer-events:none}.scene-brand img{display:block;width:82px;height:82px;object-fit:contain;filter:grayscale(1) contrast(2) invert(1);mix-blend-mode:screen}.invite[data-state=open] .scene-brand{display:none}.invite[data-state=opening] .scene-brand{opacity:0;transition:opacity .3s}@media(max-width:700px){.scene-brand{top:27px}.scene-brand img{width:68px;height:68px}}
/* Origami handoff: the real invitation takes over without a hard scene cut. */
.invite[data-state=opening] .invitation-letter{position:absolute;left:0;right:0;top:0;z-index:4;pointer-events:none}
.invite.is-handoff .scene canvas{opacity:0;transition:opacity .7s ease}
.invite.cinematic-open .letter-paper{animation:none}
.invite.cinematic-open .invitation-letter{animation:invite-letter-reveal .7s cubic-bezier(.22,1,.36,1) both}
@keyframes invite-letter-reveal{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:none}}
