/* Elsewhere Estate: correspondence, role reveal and the weekend. */
.hint-note{font-family:var(--serif);font-size:.95rem;line-height:1.4;color:#79593f;margin-top:7px}
.paper-link:disabled{opacity:.48;cursor:default}
.role-reveal-stage{padding:48px 20px;max-width:700px;margin:auto;font-family:var(--serif);font-size:1.35rem}
.role-reveal-stage .primary-button{margin-top:28px}
.role-view .keepsake-cinema{max-width:950px;margin-inline:auto}
.role-view .keepsake-screen{aspect-ratio:16/10}
.role-film-title{position:absolute;left:30px;right:30px;bottom:35px;z-index:2;text-align:center;text-shadow:0 3px 22px #000}
.role-film-title>span{font-family:var(--print);font-size:.875rem;letter-spacing:.16em;text-transform:uppercase;color:#e2caaa}
.role-film-title h2{font-family:var(--serif);font-size:clamp(4rem,8vw,7rem);line-height:1;font-weight:400;margin-top:12px;color:#f1e6d6}
.role-view .cinema-vignette{background:linear-gradient(transparent 35%,#080409e8)}
.role-view .keepsake-film-caption>p{font-family:var(--serif);font-size:1.2rem;line-height:1.5;max-width:480px;color:#ccb49b;text-align:left}
.role-wardrobe{max-width:790px;margin:42px auto;padding:35px 0;border-block:1px solid #b2976544;text-align:left}
.role-wardrobe h2{font-family:var(--serif);font-size:2.7rem;margin:16px 0}
.role-wardrobe>p:not(.eyebrow){font-family:var(--serif);font-size:1.25rem;line-height:1.5;color:#c6b099}
.role-wardrobe>p.role-friday{font-size:1.05rem;color:#ad987f;margin-top:22px}
.role-wardrobe .text-link{margin-top:20px}
.role-awakening{animation:role-awakens 2.8s ease both}
@keyframes role-awakens{from{opacity:0;filter:blur(14px) brightness(.4);transform:translateY(18px)}to{opacity:1;filter:blur(0) brightness(1);transform:translateY(0)}}
/* An editorial prospectus: one large image, a numbered programme, one clear price. */
.offer-view{max-width:1380px;margin:auto;text-align:left;padding-top:20px}
.offer-gate,.offer-arrival{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1160px;margin:0 auto 20px;padding:13px 0;border-bottom:1px solid #a7885d44;font-family:var(--serif);font-size:1.1rem;color:#c7ac8d}
.offer-arrival strong{font-family:var(--print);font-weight:400;color:#e8d5b6}
.offer-gate .text-link{font-size:1rem}
.offer-hero{display:grid;grid-template-columns:1.07fr 1fr;min-height:650px;position:relative;max-width:1160px;margin:0 auto}
.offer-hero-copy{position:relative;padding:64px 25px 60px 0;align-self:center;z-index:2}
.offer-hero h1{font-size:clamp(5rem,8vw,8.5rem);line-height:.89;margin:28px 0 30px}
.offer-hero h1 em{font-family:var(--script);font-size:1.07em;font-style:normal;line-height:1.15;letter-spacing:0}
.offer-lead{font-family:var(--serif);font-size:1.7rem;line-height:1.4;color:#d8c0a2}
.offer-date{font-family:var(--print);font-size:1rem;line-height:1.65;color:#ac8e6e;margin-top:35px}
.offer-film{position:relative;min-width:0;overflow:hidden;align-self:stretch;min-height:620px;background:#140e11}
.offer-film:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11090b88,transparent 30%),linear-gradient(transparent 70%,#10070de8)}
.offer-film img,.offer-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.offer-film span{position:absolute;z-index:2;bottom:36px;left:20px;right:20px;text-align:center;font-family:var(--script);font-size:2.1rem;color:#e4ccb0}
.offer-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:75px;max-width:1160px;margin:70px auto}
.offer-experiences h2{font-family:var(--serif);font-size:3.2rem;line-height:1.05;margin:18px 0 33px}
.offer-experiences h2 em{font-weight:400;color:#c8a883}
.included-list{list-style:none;padding:0;margin:0}
.included-list li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:20px;padding:23px 0;border-top:1px solid #9775454d}
.inclusion-number{font-family:var(--print);font-size:1rem;color:#a68059;padding-top:4px}
.included-list h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;line-height:1.15;margin:0 0 10px;color:#e4cfb3}
.included-list p{font-family:var(--serif);font-size:1.2rem;line-height:1.5;margin:0;color:#bba58b}
.offer-consent{font-family:var(--serif);font-size:1.05rem;line-height:1.5;margin-top:24px;color:#ad967b}
.offer-reservation{align-self:start;position:sticky;top:30px;padding:35px 0;border-top:1px solid #b8966266;border-bottom:1px solid #b8966244}
.offer-price{font-family:var(--serif);font-size:3.4rem;line-height:1.08;margin:22px 0 12px;color:#f0dfc2}
.price-caption{font-family:var(--serif);font-size:1.1rem;color:#c2a98b;line-height:1.45}
.offer-ticket-lines{display:flex;flex-direction:column;gap:12px;margin:28px 0;font-family:var(--print);font-size:1rem;color:#c0a88a;line-height:1.4}
.offer-reservation>.primary-button{width:100%;font-size:1.06rem;gap:15px}
.offer-reservation>.primary-button:disabled{opacity:.5;cursor:default}
.offer-reservation>.text-link{font-size:1.05rem;margin-top:22px}
.offer-status,.booking-terms{font-size:.9rem;line-height:1.65;color:#b69b7e;margin-top:19px}
.host-contact{max-width:1160px;margin:0 auto 35px;padding:36px 0;display:grid;grid-template-columns:1.6fr 1fr;gap:60px;border-top:1px solid #95734655;align-items:center}
.host-contact h2{font-family:var(--serif);font-size:3.8rem;margin:12px 0}
.host-contact p:not(.eyebrow){font-family:var(--serif);font-size:1.2rem;line-height:1.5;max-width:530px;color:#baa187}
.host-contact a{font-size:1.12rem;display:flex;flex-direction:column;gap:5px;text-decoration:none}
.host-contact .contact-pending{font-size:1.05rem}
/* Venmo remains a real handoff: no invented payment or booking confirmation. */
.payment-view{max-width:1280px;margin:auto;padding-top:20px}
.payment-view>h1{font-size:clamp(4rem,6.5vw,6.7rem);margin:20px 0 40px}
.payment-view>h1 em{font-family:var(--script);font-style:normal;font-size:1.1em;letter-spacing:0}
.reservation-desk{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);max-width:1000px;margin:auto;text-align:left;gap:70px}
.reservation-ticket{align-self:start;padding:42px 32px;background:linear-gradient(135deg,#35111d,#190e14 80%);border:1px solid #b8986259;position:relative}
.reservation-ticket:before,.reservation-ticket:after{content:'';position:absolute;inset:9px;border:1px solid #b898622b;pointer-events:none}.reservation-ticket:after{inset:13px;border-color:#b8986215}
.ticket-overline{font-family:var(--print);font-size:.9rem;letter-spacing:.22em;color:#d0b591}
.reservation-ticket h2{font-family:var(--serif);font-size:3.2rem;line-height:1.03;margin:30px 0;color:#e7d2b4}
.ticket-date{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-family:var(--print);font-size:1.5rem;color:#cbaa83}
.ticket-date i{font-family:var(--script);font-size:1.5rem;color:#927352}
.reservation-ticket>p:not(.ticket-overline):not(.ticket-amount){font-family:var(--serif);font-size:1.04rem;color:#bca183;margin-top:12px;line-height:1.5}
.ticket-role{margin-top:35px;padding-top:25px;border-top:1px solid #a382584d}
.ticket-role span{display:block;font-family:var(--serif);font-size:1rem;color:#b59777}
.ticket-role strong{display:block;font-family:var(--script);font-size:3rem;font-weight:400;color:#ead4b4;margin-top:8px}
.ticket-amount{font-family:var(--serif);font-size:2.6rem;line-height:1.1;margin-top:32px;color:#ead9bf}
.venmo-panel{padding:18px 0}
.venmo-panel h2{font-family:var(--serif);font-size:3.7rem;line-height:1.03;margin:14px 0 20px}
.venmo-panel>p:not(.eyebrow):not(.payment-status):not(.booking-terms){font-family:var(--serif);font-size:1.2rem;line-height:1.5;color:#c7ad90;margin-bottom:28px}
.venmo-panel label{display:block;font-family:var(--print);font-size:1rem;margin:22px 0 10px;color:#c9ad89}
.venmo-panel input{font-family:var(--serif);font-size:1.12rem;width:100%;min-width:0;padding:14px 13px;min-height:50px;border:1px solid #b6996d55;border-radius:0;background:#130c11b3;color:#e6d4ba}
.venmo-panel input::placeholder{color:#957b63}
.venmo-details{display:flex;flex-direction:column;gap:13px;padding:22px 0;margin-top:12px;border-bottom:1px solid #9c7d5644}
.venmo-details>div{display:flex;justify-content:space-between;gap:20px;line-height:1.4}
.venmo-details span{font-size:.9rem;color:#ad9071}
.venmo-details strong{font-family:var(--serif);font-size:1.1rem;color:#ddc5a5;font-weight:400;text-align:right}
.memo-row{display:flex;gap:7px}
.memo-row input{font-size:1rem}
.memo-row button{min-height:48px;padding:10px 14px;border:1px solid #ab8f6455;color:#cfb18b;font-family:var(--serif);font-size:1rem}
.memo-row button:disabled{opacity:.4}
.venmo-pay{display:flex;width:100%;margin-top:27px;text-decoration:none;font-family:var(--serif);font-size:1.16rem}
.venmo-pay[aria-disabled=true]{opacity:.42;cursor:default}
.payment-status{font-size:.95rem;line-height:1.55;margin-top:15px;color:#c8aa87}
.venmo-panel .text-link{display:inline-flex;margin-top:23px;gap:10px;text-decoration:none}
.payment-locked{font-family:var(--serif);font-size:1.3rem;line-height:1.5;padding:30px}
.payment-locked .primary-button{margin-top:25px}
@media(max-width:1050px){.offer-body{gap:40px}.offer-hero{min-height:550px}.offer-film{min-height:550px}.reservation-desk{gap:35px}.reservation-ticket{padding:35px 27px}.reservation-ticket h2{font-size:2.7rem}.venmo-panel h2{font-size:3rem}}
@media(max-width:700px){
 .role-view .keepsake-cinema{margin-inline:-18px}.role-view .keepsake-screen{aspect-ratio:1}.role-film-title{left:15px;right:15px;bottom:30px}.role-film-title h2{font-size:clamp(3.4rem,13vw,5rem)}.role-film-title>span{font-size:.8rem}.role-view .keepsake-film-caption>p{font-size:1.18rem}.role-wardrobe{padding:27px 5px;margin:30px auto}.role-wardrobe h2{font-size:2.3rem}.role-wardrobe>p:not(.eyebrow){font-size:1.2rem}
 .offer-view{padding-top:10px}.offer-gate,.offer-arrival{display:block;font-size:1rem;padding:14px 0}.offer-arrival strong{display:block;margin-top:8px}.offer-gate .text-link{margin-top:5px}.offer-hero{display:flex;flex-direction:column;min-height:0}.offer-hero-copy{padding:35px 8px 29px;align-self:stretch}.offer-hero h1{font-size:clamp(4.25rem,17vw,6.5rem);margin:22px 0}.offer-lead{font-size:1.42rem;line-height:1.4}.offer-date{font-size:1rem;margin-top:22px}.offer-film{min-height:0;aspect-ratio:4/5;margin:0 -18px}.offer-film img,.offer-film video{object-position:center 65%}.offer-film span{font-size:2.2rem;bottom:25px}.offer-body{display:flex;flex-direction:column;gap:33px;margin:38px auto}.offer-experiences h2{font-size:2.8rem}.included-list li{grid-template-columns:24px minmax(0,1fr);gap:14px;padding:21px 0}.included-list h3{font-size:1.65rem}.included-list p{font-size:1.2rem}.offer-consent{font-size:1.05rem}.offer-reservation{position:static;width:100%;padding:30px 0}.offer-price{font-size:3rem;max-width:300px}.offer-status,.booking-terms{font-size:.95rem;line-height:1.55}.host-contact{grid-template-columns:1fr;gap:20px;padding:30px 0}.host-contact h2{font-size:3rem}.host-contact p:not(.eyebrow){font-size:1.15rem}.host-contact a{min-height:64px}.host-contact .contact-pending{font-size:1rem}
 .payment-view>h1{font-size:clamp(4.3rem,17vw,6rem)}.reservation-desk{display:flex;flex-direction:column;gap:25px}.reservation-ticket{width:100%;padding:36px 28px}.reservation-ticket h2{font-size:2.9rem;max-width:280px}.ticket-role{margin-top:25px}.ticket-amount{font-size:2.6rem}.venmo-panel{padding:10px 3px}.venmo-panel h2{font-size:3rem}.venmo-panel>p:not(.eyebrow):not(.payment-status):not(.booking-terms){font-size:1.2rem}.venmo-panel input{font-size:1.125rem}.memo-row input{font-size:1rem}.venmo-panel .text-link{flex-wrap:wrap}.payment-status{font-size:1rem}
}
