/* The invitation and the threshold share the retreat's typography and identity. */
.page-invitation-v3,.page-entry-v3{--invite-green:#172a22;--invite-olive:#b3a484;--invite-paper:#f5f2e9;--invite-rule:#d8d1c0}
.page-invitation-v3{background:#f0eee7;color:var(--invite-green)}
.invitation-masthead,.entry-masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(24px,5vw,80px);border-bottom:1px solid #d8d8cb}
.invitation-wordmark{display:flex;align-items:center;gap:17px}
.invitation-wordmark img{width:52px;height:auto}
.invitation-wordmark>span{font-size:var(--type-caption);letter-spacing:.16em;font-weight:600}
.invitation-masthead>p,.entry-masthead>p{font-size:var(--type-body);letter-spacing:.13em;text-transform:uppercase}
.invitation-main{max-width:960px;margin:0 auto;padding:54px 28px 44px;text-align:center}
.invitation-introduction{margin-bottom:38px}
.invitation-eyebrow{font-size:var(--type-caption);font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.8}
.invitation-introduction h1{font-size:var(--type-page);margin:13px 0 16px}
.invitation-introduction>p:last-child{font-size:var(--type-body);line-height:1.8;color:#637065}
.invitation-stage{position:relative;max-width:620px;min-height:370px;margin:0 auto;isolation:isolate;perspective:1400px}
.envelope-paper{position:absolute;inset:0;background:#203b2f;border:1px solid #48604e;box-shadow:0 20px 50px -22px #253b3280;border-radius:2px;overflow:hidden;transition:transform 1s,opacity 1s}
.envelope-fold{position:absolute;inset:0;clip-path:polygon(0 0,50% 65%,100% 0,100% 100%,0 100%);background:linear-gradient(138deg,#284638,#20382e 45%,#1c3027);border-bottom:1px solid #516447}
.envelope-fold:before,.envelope-fold:after{content:"";position:absolute;bottom:0;left:0;width:65%;height:1px;background:#80948225;transform:rotate(-36deg);transform-origin:left bottom}
.envelope-fold:after{left:auto;right:0;transform:rotate(36deg);transform-origin:right bottom}
.envelope-open{position:absolute;inset:0;width:100%;border:0;padding:0;background:transparent;color:#e1daca;z-index:2;border-radius:2px;text-align:center}
.envelope-open:focus-visible{outline:2px solid #ae472b;outline-offset:9px}
.envelope-flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 66%);background:linear-gradient(170deg,#365344,#294536 60%,#294534);transform-origin:top;transition:transform 950ms cubic-bezier(.3,.15,.2,1),opacity 450ms 500ms;backface-visibility:hidden}
.envelope-address{position:absolute;top:26%;left:20px;right:20px;z-index:2;transition:opacity 350ms}
.envelope-address>span{display:block}
.envelope-prefix{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:.22em;color:#c1c5ac}
.envelope-recipient{font:400 var(--type-card)/1.15 var(--serif);margin:12px 0}
.envelope-referrer{font-size:var(--type-caption);letter-spacing:.1em;color:#c1c5ac}
.envelope-wax{position:absolute;left:50%;top:64%;display:flex;align-items:center;justify-content:center;width:85px;height:85px;transform:translate(-50%,-50%);border-radius:47% 53% 49% 51%;background:radial-gradient(circle at 33% 28%,#466852,#294a36 48%,#1b3628);box-shadow:0 5px 12px #0c1b16aa,inset 0 2px 4px #94a07c75,inset 0 -4px 6px #0f201acc;transition:transform 550ms,opacity 650ms}
.envelope-wax:before{content:"";position:absolute;inset:9px;border:1px solid #91a27466;border-radius:50%;box-shadow:inset 0 1px 2px #12251c99}
.envelope-wax img{width:44px;height:auto;position:relative;opacity:.9}
.seal-fracture{position:absolute;left:13px;right:11px;top:43px;border-top:2px solid #172a22;transform:rotate(-20deg);opacity:0;transition:opacity 200ms}
.envelope-open:hover .envelope-wax{transform:translate(-50%,-50%) scale(1.035)}
.envelope-open-label{position:absolute;bottom:31px;left:20px;right:20px;font-size:var(--type-caption);letter-spacing:.16em;text-transform:uppercase;color:#d9ddc9;transition:opacity 350ms}
.envelope-open-label>span{margin-left:10px;font-size:var(--type-body)}
.invitation-stage.is-open{padding-bottom:24px}
.is-open .envelope-paper{inset:auto 0 0;height:330px;opacity:.6;transform:translateY(15px) scale(.96)}
.is-open .envelope-open{inset:auto 0 0;height:330px;pointer-events:none}
.is-open .envelope-flap{transform:rotateX(115deg);opacity:0}
.is-open .envelope-address,.is-open .envelope-open-label{opacity:0}
.is-open .envelope-wax{transform:translate(-50%,-50%) rotate(-14deg) scale(.9);opacity:0;transition-delay:0ms,400ms}
.is-open .seal-fracture{opacity:1}
.invitation-card-v3{position:relative;z-index:3;width:calc(100% - 42px);max-width:578px;margin:0 auto;padding:38px 42px 30px;background:var(--invite-paper);border:1px solid #d2cbb9;box-shadow:0 12px 38px -14px #172a223b;animation:invitation-rise 1000ms cubic-bezier(.2,.75,.25,1) both;transform-origin:center bottom}
@keyframes invitation-rise{from{opacity:0;transform:translateY(76px) scale(.94)}35%{opacity:0}to{opacity:1;transform:translateY(0) scale(1)}}
.card-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 26px}
.card-brand img{width:70px}
.card-brand>span{font-size:var(--type-caption);font-weight:600;letter-spacing:.2em}
.invitation-card-v3>.invitation-eyebrow{color:#7b6e56;font-size:var(--type-caption);letter-spacing:.13em}
.invitation-card-v3 h2{font-size:var(--type-section);margin:23px 0 14px;line-height:.97}
.card-held{font-family:var(--serif);font-size:var(--type-card);color:#6d715f}
.card-event{border-top:1px solid var(--invite-rule);border-bottom:1px solid var(--invite-rule);padding:20px 0;margin:24px 0}
.card-event p{font-family:var(--serif);font-size:var(--type-body);line-height:1.3}
.card-event p+p{margin-top:3px}
.card-event>span{display:block;font-size:var(--type-caption);color:#6f725f;margin-top:11px}
.card-code>span{display:block;font-size:var(--type-caption);letter-spacing:.18em;text-transform:uppercase;color:#736b58;margin-bottom:5px}
.card-code strong{font-weight:500;font-size:var(--type-body);letter-spacing:.22em}
.invitation-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:16px 23px;background:var(--invite-green);border:1px solid var(--invite-green);color:#f5f2e9;font-size:var(--type-caption);font-weight:600;text-align:left;line-height:1.6;transition:background 150ms}
.invitation-button:hover{background:#345340;border-color:#345340}
.invitation-button:focus-visible{outline-color:#ae472b}
.invitation-button>span{font-size:var(--type-card);font-weight:400;line-height:1}
.invitation-card-v3>.invitation-button{min-width:240px;margin-top:22px}
.card-founder-note{max-width:330px;margin:18px auto 0;font-size:var(--type-caption);line-height:1.9;color:#637065}
.invitation-expiry{display:flex;align-items:center;justify-content:center;gap:16px;text-align:left;border-top:1px solid var(--invite-rule);padding-top:20px;margin-top:22px}
.invitation-watch{stroke:#928566;stroke-width:1.2;fill:none;flex-shrink:0}
.invitation-watch .watch-inner{stroke:#c8bfa9;stroke-width:.7}
.invitation-watch .watch-hour{stroke:var(--invite-green);stroke-width:2;stroke-linecap:round}
.invitation-watch .watch-minute{stroke:#ae472b;stroke-width:1.4;stroke-linecap:round}
.invitation-watch .watch-pin{fill:var(--invite-green);stroke:none}
.expiry-label{display:block;font-size:var(--type-caption);text-transform:uppercase;letter-spacing:.12em;color:#756d58}
[data-invite-clock]{display:block;font-size:var(--type-card);font-weight:500;letter-spacing:.09em;font-variant-numeric:tabular-nums;line-height:1.6}
.invitation-expiry [data-invite-deadline]{font-size:var(--type-caption);line-height:1.7;color:#71725f;max-width:270px}
.card-vouch{font-size:var(--type-caption);color:#737360;line-height:1.9;margin-top:20px;padding-top:18px;border-top:1px solid var(--invite-rule)}
.invitation-closed-note{font-size:var(--type-caption);line-height:1.9;color:#737868;margin-top:27px}
.invitation-footer{text-align:center;padding:10px 25px 30px;font-size:var(--type-caption);color:#777f70}
.invitation-footer>p:first-child{font-size:var(--type-body);letter-spacing:.06em}
.invitation-preview-note{max-width:570px;margin:10px auto 0!important;font-size:var(--type-caption);line-height:1.7}
.invitation-recovery{max-width:520px;margin:24px auto 0;padding:45px 32px;background:var(--invite-paper);border:1px solid var(--invite-rule)}
.invitation-recovery h2{font-size:var(--type-section);margin:15px 0 23px}
.invitation-recovery>p{font-size:var(--type-body);color:#617062;max-width:340px;margin-inline:auto}
.invitation-recovery .recovery-note{font-size:var(--type-caption);margin-top:22px}
.invitation-noscript{font-size:var(--type-caption);max-width:420px;margin:24px auto;border:1px solid var(--invite-rule);padding:18px}

/* The private-site threshold is deliberately separate from the envelope. */
.page-entry-v3{background:#f5f4ee;color:var(--invite-green)}
.entry-masthead{padding-block:25px}
.entry-main{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:44% 56%;min-height:calc(100vh - 79px)}
.entry-landscape{position:relative;min-height:820px;overflow:hidden;margin:0}
.entry-landscape>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}
.entry-landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#112018b8)}
.entry-landscape figcaption{position:absolute;bottom:33px;left:38px;right:30px;color:#d5ddcd;font-size:var(--type-caption);letter-spacing:.12em;text-transform:uppercase;z-index:2}
.entry-photo-title{position:absolute;bottom:95px;left:38px;right:30px;z-index:2;font:400 var(--type-section)/1.02 var(--serif);color:#f5f4e9;letter-spacing:-.02em}
.entry-content{padding:40px clamp(32px,5vw,82px) 25px;max-width:800px;align-self:center}
.entry-personal{display:flex;align-items:center;gap:15px;border-bottom:1px solid #d6d8cc;padding-bottom:22px;margin-bottom:38px}
.entry-personal .invitation-eyebrow{font-size:var(--type-caption);color:#7b806f}
.entry-personal p{font-size:var(--type-body);letter-spacing:.06em}
.entry-step{display:block;font-size:var(--type-caption);text-transform:uppercase;letter-spacing:.13em;color:#817a66;margin-bottom:20px}
.entry-content h1{font-size:var(--type-page);line-height:.98;margin-bottom:23px}
.entry-intro{font-size:var(--type-body);line-height:1.9;color:#697263;max-width:430px}
#entry-form{margin-top:31px}
#entry-form label{display:block;font-size:var(--type-caption);font-weight:600;margin-bottom:10px}
#entry-code{width:100%;min-height:56px;background:#eeede5;border:1px solid #c9cebd;border-radius:0;padding:15px 16px;font-size:var(--type-body);letter-spacing:.14em;text-transform:uppercase}
#entry-code::placeholder{color:#878c7d;font-size:var(--type-caption);letter-spacing:.13em}
.entry-field-note{font-size:var(--type-caption);line-height:1.8;color:#778070;margin:10px 0 0}
.entry-error{padding:11px 14px;background:#f2e5dc;border-left:2px solid #a9492d;font-size:var(--type-caption);color:#843b2b;margin-top:12px}
#entry-form>.invitation-button{width:100%;margin-top:22px}
.entry-assurance{border-top:1px solid #d6d8cc;padding-top:22px;margin-top:30px}
.entry-assurance p{font-size:var(--type-body);line-height:1.9;color:#74806f}
.entry-assurance p+p{margin-top:11px}
.entry-invite-date{font-size:var(--type-caption);color:#7c806e;margin-top:20px;line-height:1.8}
.entry-preview-footnote{font-size:var(--type-caption);line-height:1.8;color:#7b8271;border-top:1px solid #d6d8cc;padding-top:17px;margin-top:32px}
.entry-principles{list-style:none;padding:0;margin:27px 0}
.entry-principles li{display:flex;gap:17px;padding:18px 0;border-top:1px solid #d6d8cc}
.entry-principles li:last-child{border-bottom:1px solid #d6d8cc}
.entry-principles li>span{font-size:var(--type-caption);color:#918169;flex-shrink:0;padding-top:4px}
.entry-principles h2{font-size:var(--type-section);letter-spacing:0;margin-bottom:7px;line-height:1.15}
.entry-principles p{font-size:var(--type-body);color:#74806f;line-height:1.8}
.entry-preview-disclosure{background:#e9eade;border-left:2px solid #92a18b;padding:15px 18px;font-size:var(--type-caption);line-height:1.8;margin:24px 0}
.entry-preview-disclosure strong{font-size:var(--type-caption);letter-spacing:.08em;text-transform:uppercase}
.entry-preview-disclosure p{margin-top:6px;color:#6a7665}
#enter-private-preview{width:100%}
.entry-window-note{font-size:var(--type-caption);color:#747c6a;line-height:1.9;margin-top:15px}
.entry-return{display:inline-block;padding:12px 0 4px;border-bottom:1px solid #b0baa8;font-size:var(--type-caption);color:#63745f;margin-top:9px}
.entry-recovery .entry-field-note{margin-top:25px}
@media(min-width:1100px){.entry-content:has(#entry-agreement:not([hidden])){padding-block:35px}.entry-content:has(#entry-agreement:not([hidden])) .entry-personal{margin-bottom:26px}.entry-content:has(#entry-agreement:not([hidden])) h1{font-size:var(--type-page)}}
@media(max-width:800px){.entry-main{grid-template-columns:1fr}.entry-landscape{min-height:260px;height:34vh;max-height:370px}.entry-photo-title{font-size:var(--type-section);bottom:59px;left:28px}.entry-landscape figcaption{bottom:22px;left:28px}.entry-content{width:100%;max-width:660px;justify-self:center;padding:33px 28px 24px}.entry-personal{margin-bottom:30px;padding-bottom:20px}.entry-content h1{font-size:var(--type-page)}.entry-intro{max-width:none}.entry-preview-footnote{margin-top:29px}}
@media(max-width:520px){.invitation-masthead,.entry-masthead{padding:21px 22px;gap:14px}.invitation-wordmark{gap:11px}.invitation-wordmark img{width:41px}.invitation-wordmark>span{font-size:var(--type-caption);letter-spacing:.12em}.invitation-masthead>p,.entry-masthead>p{font-size:var(--type-body);letter-spacing:.09em}.invitation-main{padding:36px 19px 33px}.invitation-introduction{margin-bottom:30px}.invitation-introduction h1{font-size:var(--type-page);margin-block:11px 15px}.invitation-introduction>p:last-child{font-size:var(--type-body)}.invitation-stage{min-height:292px}.envelope-address{top:24%}.envelope-recipient{font-size:var(--type-section);margin-block:11px}.envelope-prefix{font-size:var(--type-caption)}.envelope-referrer{font-size:var(--type-caption)}.envelope-wax{width:74px;height:74px;top:66%}.envelope-wax img{width:38px}.envelope-open-label{bottom:25px;font-size:var(--type-caption)}.is-open .envelope-paper,.is-open .envelope-open{height:280px}.invitation-card-v3{width:calc(100% - 10px);padding:28px 23px 23px}.card-brand{margin-bottom:23px;gap:9px}.card-brand img{width:62px}.card-brand>span{font-size:var(--type-caption)}.invitation-card-v3>.invitation-eyebrow{font-size:var(--type-caption)}.invitation-card-v3 h2{font-size:var(--type-section);margin-top:20px}.card-held{font-size:var(--type-card)}.card-event{padding:18px 0;margin-block:21px}.card-event p{font-size:var(--type-body)}.card-event>span{font-size:var(--type-caption)}.invitation-card-v3>.invitation-button{width:100%;min-width:0}.card-founder-note{font-size:var(--type-caption)}.invitation-expiry{gap:12px}.invitation-watch{width:45px;height:45px}.expiry-label{font-size:var(--type-caption)}[data-invite-clock]{font-size:var(--type-card)}.invitation-expiry [data-invite-deadline]{font-size:var(--type-caption)}.card-vouch{font-size:var(--type-caption)}.invitation-closed-note{font-size:var(--type-caption)}.invitation-recovery{padding:32px 23px}.invitation-recovery h2{font-size:var(--type-section)}.invitation-recovery>p{font-size:var(--type-body)}.entry-content{padding-inline:23px}.entry-content h1{font-size:var(--type-page)}.entry-intro{font-size:var(--type-caption)}.entry-landscape{min-height:220px;height:29vh}.entry-photo-title{font-size:var(--type-section)}.entry-step{font-size:var(--type-caption)}.entry-personal p{font-size:var(--type-body)}}
@media(prefers-reduced-motion:reduce){.invitation-stage *{transition:none!important;animation:none!important}.envelope-flap{transform:none!important}.is-open .envelope-flap{opacity:0}.invitation-button{transition:none}}
