/* The opening has one invitation action and one shared choice-and-contact form. */
html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}
body{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
/* Anchor the dock to the screen edge; keep the device inset inside the dock. */
.opening-action{position:fixed;top:auto;left:50%;right:auto;transform:translateX(-50%);bottom:0;margin:0;z-index:8;display:flex;align-items:center;justify-content:center;gap:20px;width:max-content;max-width:calc(100% - 32px);padding:12px 14px 12px 22px;padding-bottom:calc(12px + min(env(safe-area-inset-bottom,0px),34px));background:#15131ef5;border:1px solid #f1ce8650;border-radius:12px 12px 0 0;box-shadow:0 8px 28px #0005}
.opening-action>span{font-size:13px;line-height:1.4;letter-spacing:.07em;color:var(--gold);text-align:center;white-space:nowrap}
.opening-action .button{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:13px 22px;white-space:normal;font-size:15px}
.opening-journey{position:relative;width:min(1160px,90%);max-width:1160px;margin:28px auto 40px;padding:clamp(24px,4vw,48px);border-radius:16px}
.opening-journey h2{max-width:850px;margin:10px 0 18px;font-size:clamp(2.2rem,4.7vw,3.6rem);line-height:1.15;text-wrap:balance}
.opening-journey>.eyebrow{margin:0 0 10px}
.opening-journey>.lead{margin:0 0 10px;font-size:clamp(18px,2vw,23px)}
.opening-journey .opening-location{font-size:15px;color:var(--muted);margin:0 0 30px}
.opening-anchor{position:absolute;top:0}
.opening-journey,#modalidades{scroll-margin-top:65px}
.opening-journey #opening-interest-form{display:grid;max-width:none;width:100%;gap:18px}
.opening-journey fieldset{border:0;padding:0;margin:0;min-width:0}
.opening-journey legend{padding:0;margin:0 0 16px;font:600 17px/1.5 system-ui,sans-serif;color:var(--gold)}
.opening-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.opening-option{display:flex;flex-direction:column;min-width:0;border:1px solid #f1ce864a;border-radius:10px;background:#191922;overflow:hidden}
.opening-option:has(input:checked){border-color:var(--gold);background:#302536;box-shadow:inset 0 0 0 1px var(--gold)}
.opening-option:has(input:focus-visible){outline:3px solid var(--pink);outline-offset:4px}
.opening-journey .opening-option-label{display:flex;flex:1;flex-direction:column;gap:9px;margin:0;padding:22px 20px 12px;cursor:pointer;font-size:16px;line-height:1.5}
.opening-option-heading{display:flex;align-items:center;gap:10px}
.opening-journey .opening-option-heading input[type=radio]{display:block;flex:0 0 20px;width:20px;height:20px;min-width:20px;min-height:20px;margin:0;padding:0;accent-color:var(--gold);cursor:pointer}
.opening-option-heading strong{font:500 clamp(21px,2.2vw,26px)/1.2 Georgia,serif;color:var(--text);overflow-wrap:anywhere}
.opening-option-name{font-size:15px;color:var(--gold)}
.opening-option-time{font-size:14px;font-weight:600;color:#e0d8e6}
.opening-option-description{font-size:15px;line-height:1.6;color:var(--muted)}
.opening-journey .opening-option .explore{display:block;width:fit-content;min-height:44px;margin:0 20px 12px;padding:10px 0;background:transparent;border:0;color:var(--gold);font:500 15px/1.6 system-ui,sans-serif;text-align:left;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.opening-journey .opening-option .explore:hover{color:var(--pink)}
.opening-journey #opening-sensory-note{margin:16px 0 0;border:0;padding:0;font-size:14px}
.opening-journey .opening-capacity{font-size:14px;color:var(--muted);margin:10px 0 0}
.opening-journey .opening-contact-fields{margin-top:10px;padding-top:26px;border-top:1px solid #f1ce8633}
.opening-journey .opening-contact-fields legend{float:left;width:100%;margin:0 0 10px}
.opening-journey #interest-intro{clear:both;margin:0 0 20px;font-size:16px;line-height:1.6}
.opening-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.opening-journey .opening-contact-grid label{display:grid;gap:7px;min-width:0;margin:0;font-size:16px;line-height:1.5}
.opening-journey .opening-contact-grid input{min-height:48px;margin:0;border-radius:5px;padding:12px;font-size:16px}
.opening-journey .field-help{font-size:13px;line-height:1.5;color:var(--muted)}
.opening-journey .interest-consent{max-width:790px;margin:4px 0 0;gap:12px;font-size:14px;line-height:1.6;cursor:pointer}
.opening-journey .interest-consent input{margin:2px 0 0;min-width:20px;min-height:20px;padding:0}
.opening-journey .interest-privacy{width:fit-content;min-height:44px;display:flex;align-items:center;margin-top:-14px;padding:6px 0;font-size:14px}
.opening-submit-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:-6px}
.opening-submit-row .button{min-height:50px;margin:0;padding:14px 22px;font-size:15px;line-height:1.5}
.opening-journey .opening-submit-row>.note{flex:1;min-width:220px;max-width:460px;margin:0;border:0;padding:0;font-size:14px;line-height:1.6}
.opening-journey>.guest-access{margin:25px 0 0;min-height:44px;padding:10px 0;font-size:14px}
.opening-journey #interest-message{min-height:44px;padding:10px 0;font-size:15px;overflow-wrap:anywhere}
@media(max-width:850px){
 .opening-journey,#modalidades{scroll-margin-top:15px}
 .opening-options-grid{gap:12px}
 .opening-journey .opening-option-label{padding:18px 15px 8px}
 .opening-journey .opening-option .explore{margin-inline:15px}
 .opening-contact-grid{grid-template-columns:1fr 1fr}
 .opening-contact-grid>label:first-child{grid-column:1/-1}
}
@media(max-width:640px){
 html{scroll-padding-bottom:calc(150px + env(safe-area-inset-bottom))}
 body{padding-bottom:calc(150px + env(safe-area-inset-bottom))}
 .opening-action{right:16px;left:16px;transform:none;width:auto;bottom:0;max-width:none;flex-direction:column;justify-content:center;gap:8px;padding:10px 12px;padding-bottom:calc(10px + min(env(safe-area-inset-bottom,0px),34px));border-radius:10px 10px 0 0}
 .opening-action>span{width:100%;max-width:none;font-size:12px;line-height:1.5;text-align:center}
 .opening-action .button{flex:none;width:100%;max-width:none;padding:13px 12px;font-size:14px;text-align:center}
 .opening-journey{width:calc(100% - 32px);margin-top:24px;padding:24px 18px;border-radius:12px}
 .opening-journey>.eyebrow{font-size:12px;letter-spacing:.07em}
 .opening-journey h2{font-size:clamp(30px,7.8vw,40px)}
 .opening-journey>.lead{font-size:18px}
 .opening-options-grid,.opening-contact-grid{grid-template-columns:minmax(0,1fr)}
 .opening-contact-grid{gap:18px}
 .opening-journey .opening-option-label{gap:6px;padding:16px 16px 6px}
 .opening-option-heading strong{font-size:24px}
 .opening-option-description{font-size:14px}
 .opening-journey .opening-option .explore{margin:0 16px 6px;padding:8px 0;min-height:44px}
 .opening-journey .opening-location{margin-bottom:24px}
 .opening-journey #opening-interest-form{gap:16px}
 .opening-journey .opening-contact-fields{padding-top:22px;margin-top:6px}
 .opening-journey .interest-consent{font-size:14px;min-height:44px}
 .opening-submit-row{display:grid;grid-template-columns:1fr;gap:14px}
 .opening-submit-row .button{width:100%;font-size:14px}
 .opening-journey .opening-submit-row>.note{min-width:0;max-width:none;font-size:14px}
}
