body[data-page="contacto"] .inner-screen{padding-bottom:clamp(28px,5vw,70px)}
body[data-page="contacto"] .page-intro{padding:30px 0 28px}
body[data-page="contacto"] .page-intro h1{font-size:clamp(44px,5.2vw,76px);margin-bottom:20px}
body[data-page="contacto"] .page-intro .page-lead{font-size:17px;line-height:1.7}
.contact-switch{display:flex;gap:10px;margin:0 0 28px;max-width:650px;border-bottom:1px solid #465d38;padding-bottom:15px}
.contact-switch button{display:flex;align-items:center;gap:13px;min-height:52px;padding:13px 20px;border:1px solid #536b40;background:transparent;color:#a4ba8f;font:20px var(--display);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.contact-switch button>span{font:500 15px var(--body)}.contact-switch button[aria-selected="true"]{background:var(--green);border-color:var(--green);color:#152413;box-shadow:3px 3px #526b35}
.contact-switch button:focus-visible,.contact-panel:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.contact-panel[hidden],#booking-embed[hidden],#booking-load-status[hidden],#booking-external[hidden]{display:none}
.booking-layout{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr);gap:32px;align-items:start}
.booking-intro{padding-top:22px}.booking-intro>.eyebrow{font-size:9px;line-height:1.7;letter-spacing:.6px;color:#a9c28e;max-width:300px}
.inner-screen .booking-intro h2{font-size:49px;line-height:1.05;margin:20px 0 24px}
.booking-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#bdd0a9;max-width:400px}
.booking-benefits{list-style:none;padding:0;margin:30px 0;display:grid;gap:22px}.booking-benefits li{display:flex;gap:14px;align-items:baseline;font-size:15px;line-height:1.65;color:#d2e2c0}.booking-benefits span{font:23px var(--display);color:var(--green)}
.booking-intro .booking-promise{font-size:14px!important;color:var(--green)!important}.booking-intro .text-link{font-size:12px;line-height:1.8}
.booking-benefits span{flex:0 0 24px;white-space:nowrap}
.calendar-shell{border:1px solid #6c864c;background:#17281b;box-shadow:7px 7px #08140e;min-width:0;padding:24px}
.booking-steps{list-style:none;display:flex;justify-content:space-between;gap:12px;margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid #405932}
.booking-steps li{display:flex;gap:8px;align-items:center;font-size:12px;color:#b8caa6}.booking-steps span{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border:1px solid #6b844c;color:var(--green);font:19px var(--display)}
#booking-placeholder{text-align:center;padding:12px 12px 28px}.calendar-art{width:230px;margin:15px auto 32px;padding:14px;border:2px solid #96b96a;position:relative;transform:rotate(-4deg);background:#203923;box-shadow:7px 7px #0d1d12}
.calendar-art-top{height:28px;border-bottom:1px solid #607b44;margin-bottom:13px;display:flex;gap:6px;align-items:flex-start}.calendar-art-top i{width:6px;height:6px;background:#bfdc96}.calendar-art-top span{margin-left:auto;font:7px var(--mono);color:#bfdc96}
.calendar-art-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-art-grid i{display:block;aspect-ratio:1;background:#3e5d32;border:1px solid #537442}.calendar-art-grid .calendar-pixel{background:#c8ef83;border-color:#d9ff9a}
.calendar-art-arrow{position:absolute;right:-16px;bottom:-18px;font:66px var(--display);color:#162712;background:var(--green);border:4px solid #17281b;padding:0 10px;line-height:1}
.booking-preview-label{font:9px/1.7 var(--mono);letter-spacing:.5px;color:#a2bd87;margin:0 0 15px}
.inner-screen #booking-placeholder h3{font:36px/1.1 var(--display);color:var(--green);margin:0 0 13px}
#booking-placeholder>p:not(.booking-preview-label){max-width:410px;margin:12px auto;font-size:15px;line-height:1.7;color:#c4d5b3}
#booking-placeholder .booking-unavailable{font-size:12px!important;color:#99b483!important}
#booking-placeholder .solid-button{margin-top:17px;font-size:13px;padding:15px 18px;width:100%;max-width:380px;gap:12px}
#booking-embed iframe{display:block;width:100%;height:760px;border:0;background:white;color-scheme:light;border-radius:4px}
#booking-embed[data-provider="cal"]{width:100%;min-height:440px;color-scheme:dark}
#booking-embed[data-provider="cal"] iframe{height:100%;background:#17281b;color-scheme:dark}
.booking-stage{position:relative;min-height:440px}
.booking-stage:not([data-state="ready"]) #booking-embed{opacity:0;pointer-events:none}
.booking-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;background:#17281b;transition:opacity .2s ease,visibility .2s ease}
.booking-loader .calendar-art{width:156px;margin:0 auto 32px;transform:rotate(-4deg);padding:11px;box-shadow:5px 5px #0d1d12}
.booking-loader .calendar-art-top span{font-size:5px}.booking-loader .calendar-art-grid{gap:5px}.booking-loader .calendar-art-arrow{font-size:42px;border-width:3px;right:-12px;bottom:-12px}
.booking-loader-title{font:clamp(26px,3vw,34px)/1.1 var(--display);color:var(--green);margin:0 0 12px;max-width:330px;text-wrap:balance}
.booking-loader-copy{font:13px/1.7 var(--body);color:#bdd0a9;margin:0 0 23px}
.booking-loader-meter{width:min(220px,85%);height:15px;padding:3px;border:1px solid #78995a;overflow:hidden;background:#0e1b12}
.booking-loader-meter span{display:block;width:38%;height:100%;background:repeating-linear-gradient(90deg,var(--green) 0 7px,transparent 7px 10px)}
.booking-stage[data-state="ready"] .booking-loader{opacity:0;visibility:hidden;pointer-events:none}
.booking-stage:not([data-state="loading"]) .booking-loader *{animation:none!important}
.booking-loader-meter[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){.booking-loader .calendar-art{animation:booking-float 2s ease-in-out infinite}.booking-loader .calendar-pixel{animation:booking-pixels 1.8s ease-in-out infinite;animation-delay:calc(var(--cell)*120ms)}.booking-loader-meter span{animation:booking-scan 1.6s steps(12,end) infinite alternate}@keyframes booking-float{50%{transform:translateY(-6px) rotate(-1deg)}}@keyframes booking-pixels{50%{opacity:.35}}@keyframes booking-scan{to{transform:translateX(160%)}}}
@media(prefers-reduced-motion:reduce){.booking-loader{transition:none}}
@media(max-width:700px){.calendar-shell:has([data-provider="cal"]){margin-inline:-20px;padding:18px 0;box-shadow:none}.calendar-shell:has([data-provider="cal"]) .booking-steps{margin-inline:10px}.calendar-shell:has([data-provider="cal"])>#booking-external,.calendar-shell:has([data-provider="cal"])>#booking-load-status{margin-inline:12px}}
#booking-external{display:inline-block;font-size:12px;line-height:1.7;margin-top:18px}#booking-load-status{font-size:14px;line-height:1.7;color:#bdcfa9}
.message-panel .contact-grid{display:block;max-width:780px;padding:30px;margin:0;border:1px solid #627e46;background:#17281b}.message-panel .contact-grid form h2{margin-bottom:12px}.message-intro{margin:14px 0 26px;font:15px/1.7 var(--body);color:#bdd0a9}
@media(prefers-reduced-motion:no-preference){.calendar-art.is-visible{animation:calendar-entrance .5s cubic-bezier(.23,1,.32,1) both}.calendar-art.is-visible .calendar-pixel{animation:pixel-on .35s calc(var(--cell)*60ms) ease-out both}@keyframes calendar-entrance{from{opacity:0;transform:translateY(12px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(-4deg)}}@keyframes pixel-on{from{opacity:.25}to{opacity:1}}}
@media(max-width:1050px){.booking-layout{grid-template-columns:1fr;gap:28px}.booking-intro{padding:0}.booking-intro>.eyebrow,.booking-intro>p:not(.eyebrow){max-width:650px}.booking-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.calendar-shell{max-width:850px}}
@media(max-width:700px){body[data-page="contacto"] .page-intro{padding-bottom:25px}.contact-switch{gap:8px}.contact-switch button{flex:1;gap:8px;padding:11px 10px;font-size:18px}.contact-switch button>span{font-size:12px;line-height:1.5;text-align:left}.inner-screen .booking-intro h2{font-size:40px}.booking-intro>p:not(.eyebrow){font-size:15px}.booking-benefits{grid-template-columns:1fr;gap:13px;margin:22px 0}.booking-benefits li{font-size:14px}.calendar-shell{padding:18px 12px;box-shadow:4px 4px #08140e}.booking-steps{gap:5px}.booking-steps li{font-size:10px;gap:5px}.booking-steps span{width:20px;height:22px;font-size:17px}.calendar-art{width:190px}#booking-placeholder{padding:8px 4px 14px}#booking-placeholder .solid-button{font-size:12px;padding:14px 12px}.message-panel .contact-grid{padding:22px 16px}#booking-embed iframe{height:850px}.inner-screen #booking-placeholder h3{font-size:32px}}
@media(prefers-reduced-motion:no-preference){.calendar-shell.is-visible{animation:booking-enter .28s cubic-bezier(.23,1,.32,1) both}@keyframes booking-enter{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
