.society-entry{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;overflow:hidden;background:var(--black);color:var(--white);padding:30px 4% 25px;text-align:center}.entry-scene,.entry-shade{position:absolute;inset:0;z-index:-2;pointer-events:none}.entry-scene{background:var(--black) url('/society-courtyard.png') center/cover no-repeat}.gate-leaf{position:absolute;inset:0;background:url('/society-gates.png') center/cover no-repeat;transition:transform 1.8s cubic-bezier(.22,.68,.15,1),opacity 1.6s}.gate-left{clip-path:inset(0 50% 0 0)}.gate-right{clip-path:inset(0 0 0 50%)}.entry-shade{z-index:-1;background:linear-gradient(180deg,#06090c66,#06090c22 22%,#06090c88 48%,#06090c66 75%,#06090cbb)}.entry-top,.entry-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;gap:20px;font-size:12px;letter-spacing:.19em;font-weight:400;text-shadow:0 2px 10px #000;color:var(--blue)}.entry-top{padding-bottom:20px;border-bottom:1px solid #d4b47788}.entry-bottom{padding-top:20px;border-top:1px solid #d4b47788}.entry-invitation{padding:25px 0 30px;transition:opacity .65s,transform 1.3s;width:100%;text-shadow:0 3px 25px #000}.entry-logo{width:125px;height:165px;object-fit:contain;display:block;margin:0 auto 8px;filter:drop-shadow(0 3px 14px #000)}.entry-kicker{font-size:12px;letter-spacing:.25em;margin-bottom:18px;color:var(--blue)}.entry-invitation h1{font-size:clamp(68px,8.5vw,138px);font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:1.04;margin:0 auto 14px;color:var(--gold-light)}.entry-invitation h1 span{display:block;font-family:var(--script);color:var(--blue);font-size:.78em;font-style:normal;letter-spacing:0;line-height:1.1;margin-top:0}.entry-description{font-family:var(--display);font-size:25px;margin:18px 0 28px;color:var(--white)}.entry-button{display:inline-flex;justify-content:center;align-items:center;gap:40px;padding:17px 32px;background:#0b0c0ee6;color:var(--gold-light);text-shadow:none;border:1px solid var(--gold);border-bottom:2px solid var(--fuchsia);min-height:58px;font-size:14px;letter-spacing:.06em;box-shadow:0 6px 35px #0006;transition:background .2s}.entry-button:hover{background:#182833;color:var(--blue)}.entry-footnote{font-size:14px;letter-spacing:.025em;margin:17px 0 0;color:#d9e1e6}.society-entry.opening .gate-left,.society-entry.entered .gate-left{transform:translateX(-52%);opacity:0}.society-entry.opening .gate-right,.society-entry.entered .gate-right{transform:translateX(52%);opacity:0}.society-entry.opening .entry-invitation{opacity:0;transform:scale(1.05)}.society-entry.opening .entry-top,.society-entry.opening .entry-bottom{opacity:0;transition:opacity .5s}.society-entry.entered .entry-invitation{opacity:1;transform:scale(1)}.society-entry.entered .entry-shade{background:linear-gradient(180deg,#06090c55,#06090c77 48%,#06090caa)}
@media(max-width:760px){.society-entry{padding:22px 6% 20px}.entry-top{justify-content:center;font-size:12px;padding-bottom:15px}.entry-top span:last-child{display:none}.entry-bottom{justify-content:center;font-size:12px;letter-spacing:.1em}.entry-bottom span:first-child,.entry-bottom span:last-child{display:none}.entry-invitation{padding:20px 0 25px}.entry-logo{width:100px;height:135px}.entry-invitation h1{font-size:clamp(62px,15vw,100px)}.entry-kicker{max-width:270px;margin:0 auto 20px;line-height:1.8;font-size:12px;letter-spacing:.15em}.entry-description{font-size:23px}.entry-button{gap:25px;padding:16px 24px}.entry-footnote{font-size:13px}}
@media(prefers-reduced-motion:reduce){.gate-leaf,.entry-invitation,.entry-top,.entry-bottom{transition:none!important}.society-entry.opening .entry-invitation{transform:none}}

.admission-card h3{font-family:var(--display);font-size:clamp(32px,4vw,48px);font-weight:400;color:var(--gold-light);line-height:1.15;margin:12px 0 20px}.admission-card>p{font-size:16px;line-height:1.65}.admission-card .booking-summary{margin:24px 0}.admission-card .booking-summary p,.admission-card .booking-terms p{font-size:16px}.admission-card .booking-terms{margin:28px 0}.preview{font-size:14px}

/* The hotel remains the first view; the community appears only on entry. */
.entry-scene::after{content:'';position:absolute;inset:0;background:url('/society-reception.webp') center/cover no-repeat;opacity:0;transition:opacity 1s ease .65s}
.society-entry.opening .entry-scene::after,.society-entry.entered .entry-scene::after{opacity:1}
.gate-leaf{z-index:1}.entry-glow{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#fffef8 0%,#fff8ddf2 30%,#f2d6a1bb 65%,#e7c27966 100%)}
.society-entry.opening .entry-glow{animation:society-glow 2.6s ease-in-out both}
@keyframes society-glow{0%{opacity:0}28%{opacity:.98}45%{opacity:.98}100%{opacity:0}}
.society-entry.entered .entry-shade{background:linear-gradient(180deg,#06090c88,#06090c80 35%,#06090ca6 65%,#06090cbb)}
.entry-invitation h1 small{display:block;font-family:var(--display);font-size:clamp(22px,2.4vw,36px);letter-spacing:.015em;color:var(--gold-light);margin-top:18px;line-height:1.3}
@media(max-width:760px){.entry-scene::after{background-position:40% center}.entry-invitation h1 small{font-size:25px}}
@media(prefers-reduced-motion:reduce){.entry-scene::after{transition:none}.society-entry.opening .entry-glow{animation:none}}
