/* A quiet, architectural invitation. Scoped to the public opening page. */
.experience-opening{--opening-ink:#0b242c;--opening-green:#b8d79e;--opening-paper:#f4f5f0;background:var(--opening-paper);color:var(--opening-ink)}
.experience-opening .site-header{background:#0b242c;border-color:#ffffff16}
.experience-opening .site-header .nav-cta{background:transparent;border-color:#ffffff42;color:#eef3ea}
.experience-opening .container{max-width:1400px}
.opening-hero{position:relative;padding:170px 0 0;overflow:hidden;background:var(--opening-ink);color:#f1f4ec}
.opening-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,86px);align-items:center}
.opening-invitation{position:relative;z-index:1;padding:25px 0 40px}
.opening-eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 29px;font-size:10px;font-weight:500;letter-spacing:.15em;line-height:1.6;text-transform:uppercase}
.opening-hero .opening-eyebrow{color:#bad69f}
.opening-status-dot{width:6px;height:6px;background:#b8d79e;box-shadow:0 0 0 5px #b8d79e12;flex-shrink:0;border-radius:50%}
.opening-hero h1{margin:0;color:#f4f5ed;font-size:clamp(48px,5.1vw,78px);font-weight:300;line-height:1.04;letter-spacing:-.052em}
.opening-title-soft{color:#a6b9b5}
.opening-hero-description{max-width:440px;margin:27px 0 30px;color:#c3ceca;font-size:16px;line-height:1.75}
.opening-hero-details{display:flex;gap:24px;align-items:center;margin:0 0 30px}
.opening-hero-details time{display:flex;align-items:center;gap:12px;flex-shrink:0}
.opening-hero-details time>strong{font-size:62px;line-height:1;letter-spacing:-.06em;font-weight:300;color:#c4dda9;font-variant-numeric:tabular-nums}
.opening-hero-details time>span{font-size:14px;line-height:1.45}
.opening-hero-details small{display:block;margin-top:5px;color:#a4b7b3;font-size:11px;line-height:1.5}
.opening-detail-rule{width:1px;align-self:stretch;background:#ffffff24}
.opening-hero-details p{max-width:175px;margin:0;font-size:13px;line-height:1.55}
.opening-hero-details p small{margin:0 0 5px;font-size:10px}
.opening-hero-details p strong{font-weight:400}
.opening-hero-actions{display:flex;align-items:center;gap:20px}
.opening-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 23px;min-height:58px;background:#bbdba3;color:#102b27;border:1px solid #bbdba3;border-radius:3px;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;transition:background .22s,box-shadow .22s}
.opening-button svg,.opening-registration-ticket a svg{width:21px;height:21px;flex-shrink:0;stroke:currentColor;stroke-width:1.4;transition:transform .25s}
.opening-button:hover{background:#cce5b9;box-shadow:0 5px 25px #0002;color:#102b27}
.opening-button:hover svg,.opening-registration-ticket a:hover svg{transform:translateX(4px)}
.opening-action-note{font-size:10px;line-height:1.8;color:#b3c5bf}
.opening-visual{align-self:stretch;position:relative;min-height:530px;margin:0;border:1px solid #b8d79e30;overflow:hidden;background:#233c41}
.opening-visual::before,.opening-visual::after{content:"";position:absolute;z-index:2;width:40px;height:40px;pointer-events:none}
.opening-visual::before{top:14px;left:14px;border-top:1px solid #d7e7cba1;border-left:1px solid #d7e7cba1}
.opening-visual::after{bottom:14px;right:14px;border-bottom:1px solid #d7e7cba1;border-right:1px solid #d7e7cba1}
.opening-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center;filter:saturate(.62) brightness(.83)}
.opening-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0b242c26 35%,#0b242ce8)}
.opening-photo-caption{position:absolute;bottom:35px;left:34px;right:24px}
.opening-photo-caption>span{font-size:9px;letter-spacing:.18em;color:#c2d2c7}
.opening-photo-caption p{margin:12px 0 0;color:#edf4e8;font-size:clamp(22px,2.3vw,34px);font-weight:300;letter-spacing:-.03em;line-height:1.2}
.opening-visual-coordinate{position:absolute;right:30px;top:36px;color:#f5f7f0;font-size:8px;letter-spacing:.1em;line-height:1.7;text-align:right}
.opening-hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding-top:21px;padding-bottom:23px;border-top:1px solid #ffffff20;font-size:10px;letter-spacing:.045em;color:#aabdb7}
.opening-hero-bottom a{display:flex;gap:25px;align-items:center;min-height:35px;color:#e1ebd8;text-decoration:none}
.opening-hero-bottom a>span:last-child{font-size:22px;color:#bbdba3}
.opening-program{padding:85px 0 80px;background:var(--opening-paper);scroll-margin-top:125px}
.opening-section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end}
.opening-section-heading>.opening-eyebrow{grid-column:1/-1;color:#4e6b51;margin-bottom:24px}
.opening-section-heading h2,.experience-opening .b2b-split h2{font-weight:300;color:var(--opening-ink);font-size:clamp(36px,4.1vw,58px);line-height:1.08;letter-spacing:-.05em;margin:0}
.opening-muted{color:#6d817b}
.opening-section-heading>p:last-child{max-width:385px;justify-self:end;margin:0 0 4px;color:#596e69;font-size:15px;line-height:1.8}
.opening-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:45px}
.opening-program-item{border-top:1px solid #a5b4a87a;padding:25px 0 0}
.opening-program-top{display:flex;align-items:center;justify-content:space-between}
.opening-program-top>span{font-size:11px;letter-spacing:.05em;color:#5e795b}
.opening-program-top svg{width:43px;height:43px;stroke:#446a51;stroke-width:1.2}
.opening-program-item h3{font-size:21px;font-weight:400;letter-spacing:-.025em;margin:25px 0 14px;line-height:1.25}
.opening-program-item p{max-width:330px;font-size:14px;line-height:1.8;color:#596c66;margin:0}
.experience-opening .opening-registration-section{padding:85px 0 100px;background:#e9ede6;scroll-margin-top:100px;border-top:1px solid #d8e1d6}
.experience-opening .b2b-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,6vw,100px)}
.opening-registration-copy{padding-top:13px}
.opening-registration-copy>.opening-eyebrow{color:#536b4e;margin-bottom:25px}
.experience-opening .opening-registration-copy>p:not(.opening-eyebrow){max-width:370px;margin:23px 0 30px;color:#52675f;font-size:15px;line-height:1.8}
.opening-registration-ticket{max-width:375px;padding:23px 25px 20px;background:#f4f6ef;border:1px solid #ccd7c7;border-radius:5px;position:relative}
.opening-ticket-head{display:flex;justify-content:space-between;color:#587158;font-size:9px;letter-spacing:.14em}
.opening-ticket-head>span:last-child{font-size:20px;line-height:.8}
.opening-registration-ticket time{display:block;color:#173b35;font-size:68px;line-height:1.1;font-weight:300;letter-spacing:-.06em;margin:24px 0 15px}
.opening-registration-ticket time>span{font-size:32px;letter-spacing:-.045em}
.opening-registration-ticket p{font-size:13px;color:#52675f;line-height:1.65;max-width:220px;margin:0 0 22px}
.opening-registration-ticket>a{display:flex;justify-content:space-between;align-items:center;min-height:45px;border-top:1px dashed #b8c9b3;padding-top:13px;color:#294d3d;font-size:12px;text-decoration:none}
.opening-organizer-contact{display:block;margin-top:25px;color:#5a7067;font-size:11px;line-height:1.5;text-decoration:none}
.opening-organizer-contact strong{display:block;color:#294d3d;font-size:17px;letter-spacing:-.015em;font-weight:400;margin-top:7px}
.experience-opening .request-panel:has(.experience-form){border:1px solid #cfdbcd;border-radius:7px;box-shadow:0 20px 60px #203d3210}
.experience-opening .request-panel>h2{background:#14352f!important;color:#f0f4e9!important;font-size:25px!important;padding:25px 28px!important;font-weight:300!important;letter-spacing:-.035em!important}
.experience-opening form.experience-form{padding:26px 28px 28px!important}
.experience-opening .experience-form-topline{color:#587361;letter-spacing:.1em}
.experience-opening .experience-form-steps{gap:4px;margin:19px 0 22px}
.experience-opening .experience-form-steps button{padding:13px 9px;min-height:53px;background:#f3f5f0;border:0;border-bottom:2px solid #dfe7da}
.experience-opening .experience-form-steps button[aria-current=step]{background:#e9f0e2;border-bottom-color:#658952}
.experience-opening .experience-form-steps b{font-size:11px}
.experience-opening .experience-form-completion{background:#f5f7f2;border-color:#e0e8dc;padding:13px 14px;margin-bottom:22px}
.experience-opening .experience-form-completion progress{accent-color:#719a57}
.experience-opening .experience-form-completion progress::-webkit-progress-value{background:#719a57}
.experience-opening .experience-form-title{font-size:24px;font-weight:400;letter-spacing:-.025em}
.experience-opening .experience-form-description{font-size:12px;color:#66766c;margin-bottom:23px;line-height:1.6}
.experience-opening .experience-form-step{gap:20px 16px}
.experience-opening .experience-form .field>label{font-size:12px;margin-bottom:8px;color:#375344}
.experience-opening .experience-form .field input{font-size:16px;min-height:54px;border-color:#cfdbcd;border-radius:4px;background:#fdfefb;box-shadow:none}
.experience-opening .experience-form .field input:focus{border-color:#668954;box-shadow:0 0 0 3px #8dab7322}
.experience-opening .experience-form-navigation{margin-top:24px;border-color:#e0e7da}
.experience-opening .experience-form-next,.experience-opening .experience-form .btn{min-height:52px;background:#274f3e;border-color:#274f3e;border-radius:4px;color:#fff;font-size:14px}
.experience-opening .experience-form-next:hover,.experience-opening .experience-form .btn:hover{background:#37644d;border-color:#37644d}
.experience-opening .experience-form-back{min-height:48px;border-radius:4px;border-color:#d1deca;color:#355744}
.experience-opening .experience-form .consent-field{font-size:12px;line-height:1.6;align-items:flex-start;gap:12px;padding:10px 0}
.experience-opening .experience-form .consent-field input{width:20px;height:20px;min-width:20px;margin:0;accent-color:#486f3c}
.experience-opening .experience-form-review{background:#f2f5ed;border-radius:4px}
.experience-opening .experience-form-review dd{overflow-wrap:anywhere}
.experience-opening .lead-status{font-size:14px;line-height:1.6}
.experience-opening :is(a,button,input):focus-visible{outline:2px solid #719353;outline-offset:5px}
.opening-mobile-rsvp[hidden]{display:none!important}
.opening-mobile-rsvp{display:none}
@media(min-width:1441px){.opening-hero{padding-top:190px}.opening-visual{min-height:570px}.opening-hero-grid{min-height:570px}}
@media(max-width:1080px){.opening-hero{padding-top:130px}.opening-hero-grid{gap:30px}.opening-hero h1{font-size:52px}.opening-hero-description{font-size:15px}.opening-visual{min-height:520px}.opening-action-note{display:none}.opening-hero-details{gap:16px}.opening-hero-details time>strong{font-size:54px}.opening-hero-details p{font-size:12px}.opening-visual-coordinate{display:none}}
@media(max-width:760px){
 .experience-opening .container{width:calc(100% - 40px)}
 .opening-hero{padding-top:100px}
 .opening-hero-grid{grid-template-columns:1fr;gap:30px}
 .opening-invitation{padding:13px 0 0}
 .opening-eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:24px}
 .opening-hero h1{font-size:clamp(40px,10.6vw,65px);line-height:1.07;letter-spacing:-.05em}
 .opening-hero-description{font-size:14px;line-height:1.7;margin:23px 0 25px;max-width:440px}
 .opening-hero-details{margin-bottom:25px;gap:18px}
 .opening-hero-details time{gap:10px}.opening-hero-details time>strong{font-size:53px}.opening-hero-details time>span{font-size:13px}.opening-hero-details small{font-size:10px}
 .opening-hero-details p{max-width:135px;font-size:11px;line-height:1.55}
 .opening-hero-actions{display:block}.opening-hero-actions .opening-button{width:100%;min-height:56px;padding:17px 20px}
 .opening-visual{min-height:280px;aspect-ratio:1.35;max-height:390px}
 .opening-visual>img{object-position:50% 50%}.opening-photo-caption{bottom:26px;left:26px}.opening-photo-caption p{font-size:27px}.opening-photo-caption>span{font-size:8px}
 .opening-hero-bottom{margin-top:25px;padding-top:15px;padding-bottom:17px;font-size:9px}.opening-hero-bottom>span{max-width:155px;line-height:1.6}.opening-hero-bottom a{gap:18px}
 .opening-program{padding:53px 0}
 .opening-section-heading{grid-template-columns:1fr;gap:0}.opening-section-heading>.opening-eyebrow{margin-bottom:20px}.opening-section-heading h2,.experience-opening .b2b-split h2{font-size:39px}.opening-section-heading>p:last-child{justify-self:start;font-size:14px;line-height:1.75;margin:23px 0 0;max-width:420px}
 .opening-program-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.opening-program-item{position:relative;padding:21px 55px 0 36px}.opening-program-top>span{position:absolute;top:24px;left:0}.opening-program-top svg{position:absolute;top:24px;right:0;width:32px;height:32px}.opening-program-item h3{font-size:21px;margin:0 0 10px}.opening-program-item p{font-size:13px;line-height:1.7;max-width:430px}
 .experience-opening .opening-registration-section{padding:50px 0 60px;scroll-margin-top:82px}.experience-opening .b2b-split{grid-template-columns:1fr;gap:30px}.opening-registration-copy{padding:0}.opening-registration-copy>.opening-eyebrow{margin-bottom:19px}.experience-opening .opening-registration-copy>p:not(.opening-eyebrow){font-size:14px;margin:20px 0 24px;max-width:430px}
 .opening-registration-ticket{padding:19px 20px 15px;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.opening-ticket-head{grid-column:1/-1}.opening-registration-ticket time{font-size:49px;margin:8px 0 0}.opening-registration-ticket time>span{font-size:22px}.opening-registration-ticket p{font-size:11px;margin:13px 0 0;align-self:center}.opening-registration-ticket>a{grid-column:1/-1;font-size:12px;margin-top:7px}.opening-organizer-contact{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.opening-organizer-contact strong{font-size:14px;margin:0}
 .experience-opening .request-panel>h2{font-size:24px!important;padding:23px 20px!important}.experience-opening form.experience-form{padding:21px 18px 24px!important}.experience-opening .experience-form-topline{font-size:8px}.experience-opening .experience-form-steps{gap:3px;margin-top:17px}.experience-opening .experience-form-steps button{padding:11px 5px;gap:6px;min-height:57px;flex-direction:column;align-items:flex-start}.experience-opening .experience-form-steps b{font-size:10px}.experience-opening .experience-form-steps button>span{font-size:9px}.experience-opening .experience-form-step{grid-template-columns:1fr;gap:20px}.experience-opening .experience-form-completion{padding:12px;font-size:10px}.experience-opening .experience-form-description{font-size:12px}.experience-opening .experience-form-navigation{gap:12px}.experience-opening .experience-form-next{padding-left:23px;padding-right:23px}.experience-opening .experience-form-navigation>span{font-size:10px;max-width:120px}.experience-opening .experience-form-review{grid-template-columns:1fr 1fr;padding:16px;gap:20px 14px}
 .opening-mobile-rsvp:not([hidden]){display:flex;position:fixed;z-index:75;left:0;right:0;bottom:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));justify-content:space-between;gap:14px;align-items:center;background:#102e29f7;border-top:1px solid #aeca982e;box-shadow:0 -10px 25px #071f2812}.opening-mobile-rsvp>div>span{font-size:14px;letter-spacing:-.02em;color:#eaf1e0}.opening-mobile-rsvp small{display:block;color:#b6c9ba;font-size:9px;margin-top:4px}.opening-mobile-rsvp .opening-button{min-height:47px;gap:30px;font-size:13px;padding:12px 17px}.experience-opening.opening-rsvp-visible .floating-contact{bottom:95px}.experience-opening .floating-contact{right:18px}.experience-opening .floating-contact-whatsapp{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:11px!important}.experience-opening .floating-contact-whatsapp>span{display:none!important}.experience-opening .floating-contact-call{display:none}
 body.experience-opening.pwa-has-app-nav .opening-mobile-rsvp{bottom:calc(64px + env(safe-area-inset-bottom))}body.experience-opening.pwa-has-app-nav.opening-rsvp-visible .floating-contact{bottom:165px}
 .experience-opening .footer{padding-bottom:110px}
}
@media(max-width:360px){.opening-hero-details{gap:12px}.opening-hero-details time>strong{font-size:47px}.opening-hero-details time>span{font-size:12px}.opening-hero-details p{font-size:10px}.opening-registration-ticket{gap:10px}.opening-registration-ticket time{font-size:43px}.opening-registration-ticket time>span{font-size:20px}}
@media(prefers-reduced-motion:reduce){.experience-opening *, .experience-opening *::before,.experience-opening *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.opening-visual>.opening-photo-logo{position:absolute;inset:34px auto auto 34px;z-index:1;width:134px;height:40px;object-fit:contain;filter:none;object-position:left center}
@media(max-width:760px){.opening-visual>.opening-photo-logo{inset:26px auto auto 26px;width:118px;height:35px}}

.opening-visual{min-width:0;width:100%}
.experience-opening #opening-registration{scroll-margin-top:125px}
@media(max-width:760px){.experience-opening #opening-registration{scroll-margin-top:90px}.experience-opening .floating-contact{display:flex;left:auto;right:18px}.experience-opening .floating-contact-call{display:none!important}}

@media(max-width:760px){.experience-opening.opening-form-visible .floating-contact{display:none!important}}
