:root{--p:54 94 124;--s:218 168 90;--a:218 168 90;--t:88 110 84;--ink:#253b4b;--muted:#53616a;--cream:#f9f7f2;--line:#dedfd8;--blue:#365e7c}
.booking-payment{text-align:left;margin:0 0 24px;padding:18px;border:1px solid #d6dfe4;border-radius:16px;background:#fff;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.booking-payment h3{font-weight:600;font-size:17px;margin:22px 0 10px}.booking-payment p{margin:0 0 16px}.booking-payment .landing-button{width:100%;margin-bottom:12px}.booking-payment dl{margin:0 0 18px}.booking-payment dt{font-weight:600;color:#53616a}.booking-payment dd{margin:0 0 8px;color:#253b4b;user-select:text}
html{scroll-behavior:smooth;scroll-padding-top:96px}
.landing-home{margin:0;color:var(--ink);background:var(--cream);font-family:Montserrat,Arial,sans-serif;line-height:1.65}
.landing-home *{box-sizing:border-box}
.landing-home h1,.landing-home h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-.025em}
.landing-home h1{font-size:clamp(2.75rem,4.6vw,4.8rem);margin:0 0 22px}
.landing-home h1 em{color:var(--blue);font-weight:400}
.landing-home h2{font-size:clamp(2.1rem,3.3vw,3.3rem);margin:0 0 28px}
.landing-home h3{font-size:1.1rem;font-weight:600;line-height:1.4;margin:12px 0}
.landing-home p{margin:0 0 18px;color:var(--muted)}
.landing-wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.landing-home .eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#587054;margin-bottom:18px}
.landing-hero{padding:136px 0 64px;background:linear-gradient(120deg,#f9f7f2 35%,#eceee5)}
.hero-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.hero-intro{max-width:550px;font-size:1.02rem;line-height:1.75}
.landing-home .hero-price{margin:24px 0 4px;color:var(--ink);font-size:1.02rem}
.hero-price strong{font-weight:600}.hero-price span{white-space:nowrap}
.landing-home .hero-note{font-size:.82rem;margin-bottom:24px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.landing-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:13px 20px;border:1px solid var(--blue);border-radius:12px;background:var(--blue);color:#fff;font:600 .86rem/1.45 Montserrat,Arial,sans-serif;text-decoration:none;text-align:center;cursor:pointer;transition:background .15s}
.landing-button:hover{background:#294960;color:#fff}.landing-button.secondary{background:transparent;color:var(--blue)}.landing-button.secondary:hover{background:#e8edf0;color:#294960}
.landing-button:disabled{opacity:.65;cursor:default}
.hero-whatsapp,.text-link{color:var(--blue);font-size:.86rem;font-weight:600;text-underline-offset:4px;text-decoration:underline;display:inline-block;padding:8px 0}
.hero-portrait{margin:0;position:relative;border-radius:130px 130px 22px 22px;overflow:hidden;background:#ddd6c8}
.hero-portrait img{width:100%;height:500px;object-fit:cover;object-position:center 32%;display:block}
.hero-portrait figcaption{position:absolute;inset:auto 20px 20px;background:rgba(249,247,242,.96);padding:16px 20px;border-radius:12px;line-height:1.5}
.hero-portrait strong,.hero-portrait span{display:block}.hero-portrait strong{font-size:.95rem}.hero-portrait span{font-size:.76rem;color:var(--muted)}
.landing-section{padding:70px 0}.modality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.modality-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:28px;display:flex;flex-direction:column}
.modality-card.featured{border-color:#a7becf;background:#f0f5f8}.card-kicker{color:#657265;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.modality-card p{font-size:.88rem}.modality-card .modality-price{font-size:1.35rem;color:var(--ink);margin:8px 0 14px;font-weight:600}.modality-price span{font-weight:400;font-size:.82rem}
.modality-card .modality-detail{font-size:.81rem}.modality-card .landing-button{margin-top:auto;padding-inline:12px}
.about-section{background:#e9ede5}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-layout p{font-size:.96rem}
.review-link{margin-top:22px}.support-section{background:#f0eee7}.support-grid,.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.support-grid article{border-top:1px solid #bcc5b8;padding-top:12px}.support-grid p,.steps-grid p{font-size:.9rem}
.support-note{font-size:.85rem;margin-top:20px!important}.steps-grid{list-style:none;padding:0;margin:0}.steps-grid li>span{font-family:Georgia,serif;font-size:2rem;color:#8c6732}
.faq-section{background:#fff}.faq-wrap{max-width:830px}.faq-wrap details{border-bottom:1px solid var(--line);padding:18px 0}.faq-wrap summary{cursor:pointer;font-weight:600;font-size:.95rem;padding:4px 28px 4px 0}.faq-wrap details p{font-size:.9rem;margin:16px 0 0}.faq-wrap a{color:var(--blue);text-decoration:underline}
.inquiry-section{background:#e9ede5}.inquiry-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.inquiry-form{background:#fff;padding:28px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:8px}
.inquiry-form>label{font-size:.83rem;font-weight:600}.inquiry-form input:not([type=checkbox]),.inquiry-form textarea{width:100%;min-height:46px;border:1px solid #bac5ca;border-radius:8px;padding:10px 12px;font:400 16px/1.5 Montserrat,Arial,sans-serif;background:#fff;color:var(--ink);margin-bottom:8px}
.inquiry-form textarea{resize:vertical}.landing-home .field-hint{font-size:.76rem;margin:0 0 8px}.terms-field{display:flex;gap:10px;align-items:flex-start;margin:8px 0 16px}.terms-field input{margin-top:4px;flex-shrink:0;width:18px;height:18px}.terms-field label{font-size:.76rem}.terms-field a{color:var(--blue);text-decoration:underline}
[data-form-status]{font-size:.9rem;line-height:1.55;min-height:1.5em;margin:10px 0 0!important}[data-form-status][data-state=success]{color:#23603d!important}[data-form-status][data-state=error]{color:#a42a2a!important}
.landing-footer{padding:48px 0 24px;background:#fff}.footer-layout{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}.footer-layout img{width:180px;height:auto}.footer-layout p{font-size:.8rem;margin-top:12px}.footer-layout strong{display:block;font-size:.9rem;margin-bottom:12px}.footer-layout>div>a:not(:first-child){display:block}.footer-layout a{font-size:.82rem;color:var(--muted);padding:3px 0}.footer-legal{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:32px;font-size:.73rem;color:var(--muted)}
.skip-link{position:fixed;top:-100px;left:12px;padding:12px;background:#fff;z-index:1000}.skip-link:focus{top:12px}
.landing-home :focus-visible,.conversion-contact :focus-visible{outline:3px solid #8b6229;outline-offset:4px}
.landing-home #navbar .neon-primary{box-shadow:none}.landing-home #navbar .material-icons-outlined{font-family:'Material Icons Outlined'}
.landing-home .alma-mobile-action{display:none}
/* Reglas limitadas a contacto: misma marca, menos introducción y campos utilizables con teclado móvil. */
.conversion-contact{--p:54 94 124;--s:88 110 84;--a:54 94 124;--t:88 110 84;background:#f9f7f2;color:#253b4b}
.conversion-contact .contact-intro{padding:106px 20px 26px;text-align:center}.contact-intro h1{font:500 clamp(2rem,4vw,3rem)/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 10px}.contact-intro p{font-size:.94rem;color:#53616a;margin:0}
.conversion-contact #booking-card{scroll-margin-top:92px}.conversion-contact input:not([type=checkbox]),.conversion-contact select,.conversion-contact textarea{font-size:16px}
.conversion-contact .cal-day-selected,.conversion-contact .slot-btn:hover,.conversion-contact .slot-btn.selected{background:#365e7c!important;border-color:#365e7c!important;color:#fff!important}
.conversion-contact #msg-modal-backdrop>div{max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:20px}
.conversion-contact #msg-modal-backdrop{overscroll-behavior:contain}.conversion-contact #msg-modal-backdrop button[onclick="closeMsgModal()"]{min-width:44px;min-height:44px;top:8px;right:8px}
.conversion-contact #booking-card #step-3,.conversion-contact #booking-card #step-5{scroll-margin-top:96px}
.conversion-contact .booking-conditions{padding:12px 16px;background:#edf3f6;border-radius:12px;font-size:.84rem;color:#36536a;margin:0 0 20px}
@media(max-width:767px){
  .landing-wrap{width:calc(100% - 36px)}.landing-hero{padding:92px 0 32px}.hero-layout{grid-template-columns:1fr;gap:28px}.hero-copy{min-width:0}.landing-home h1{font-size:clamp(2.3rem,9.8vw,3.3rem);margin-bottom:16px}.landing-home .eyebrow{margin-bottom:12px;font-size:.66rem}.hero-intro{font-size:.92rem;line-height:1.65;margin-bottom:16px!important}.landing-home .hero-price{margin-top:14px;font-size:.92rem}.hero-price span{display:block;font-size:.85rem}.landing-home .hero-note{font-size:.76rem;margin-bottom:16px}.hero-actions{gap:10px;display:grid;grid-template-columns:1fr}.hero-actions .landing-button{width:100%;font-size:.85rem;min-height:48px}.hero-whatsapp{font-size:.79rem}.hero-portrait{max-width:440px;width:100%;margin:auto;border-radius:90px 90px 18px 18px}.hero-portrait img{height:340px;object-position:center 25%}.hero-portrait figcaption{inset:auto 14px 14px;padding:12px 16px}
  .landing-section{padding:42px 0}.landing-home h2{font-size:2.25rem;margin-bottom:22px}.modality-grid,.about-layout,.inquiry-layout{grid-template-columns:1fr;gap:18px}.modality-card{padding:23px}.about-layout{gap:0}.support-grid,.steps-grid{grid-template-columns:1fr;gap:20px}.steps-grid li{padding-left:48px;position:relative}.steps-grid li>span{position:absolute;left:0;top:6px;font-size:1.7rem}.steps-grid h3{margin-top:8px}.inquiry-form{padding:20px}.footer-layout{grid-template-columns:1fr 1fr;gap:24px}.footer-layout>div:first-child{grid-column:1/-1}.footer-legal{gap:12px}.landing-footer{padding-bottom:100px}
  .landing-home{padding-bottom:env(safe-area-inset-bottom,0px)}.landing-home .alma-mobile-action{display:block;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d6dedf}.landing-home .alma-mobile-action__inner{gap:8px}.landing-home .alma-mobile-action a{font-size:.85rem;min-height:48px;height:auto}.landing-home .alma-mobile-action__primary{background:#365e7c;border-radius:10px}.landing-home .alma-mobile-action__secondary{background:#e8f2eb;color:#22643c;border-radius:10px}
  /* La barra aparece después de la portada, evitando competencia o solapamiento de sus botones. */
  .landing-home .alma-mobile-action[hidden]{display:none!important}
  .conversion-contact .contact-intro{padding:88px 18px 18px}.contact-intro h1{font-size:2rem}.contact-intro p{font-size:.85rem}.conversion-contact #booking-card>div{padding:18px!important}.conversion-contact #booking-card h2{font-size:1.7rem}.conversion-contact #step-0>div:first-child{margin-bottom:16px}.conversion-contact #step-0 button{padding:12px;gap:12px}.conversion-contact #step-0 button small{font-size:.8rem}.conversion-contact #msg-modal-backdrop>div{padding:26px 20px 20px}.conversion-contact .booking-conditions{font-size:.8rem;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-home *,.conversion-contact *{animation:none!important;transition:none!important}}
