/* Rancho La Altagracia · estilos compartidos */
:root{
  --verde-hondo:#075E54;
  --verde-medio:#128C7E;
  --verde-wa:#25D366;
  --verde-oscuro:#053B35;
  --texto-sobre-wa:#04352B;
  --crema:#FFF8EE;
  --crema-2:#F4EBDC;
  --rojo:#C3231F;
  --messenger:#0866FF;
  --tinta:#1C1B18;
  --tinta-suave:#5A5348;
  --radio:18px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:'Karla','Segoe UI',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
h1,h2,h3{font-family:'Anton','Arial Narrow',Impact,sans-serif;font-weight:400;line-height:.98;letter-spacing:.01em;margin:0;}
.envoltura{width:min(1180px,100% - 32px);margin:0 auto;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--verde-wa);outline-offset:3px;}
.icono{width:20px;height:20px;flex:none;fill:currentColor;}
[hidden]{display:none !important;}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-family:inherit;font-weight:700;font-size:16.5px;line-height:1.2;padding:14px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-wa{background:var(--verde-wa);color:var(--texto-sobre-wa);}
.btn-wa:hover{background:#1FBF5B;}
.btn-linea{border-color:rgba(255,248,238,.5);color:var(--crema);background:transparent;}
.btn-linea:hover{background:rgba(255,248,238,.12);}
.btn-hondo{background:var(--verde-hondo);color:var(--crema);}
.btn-hondo:hover{background:var(--verde-oscuro);}
.btn-msg{background:var(--messenger);color:#fff;}
.btn-msg:hover{background:#0656D6;}
.btn-borde{border-color:var(--verde-hondo);color:var(--verde-hondo);background:transparent;}
.btn-borde:hover{background:var(--verde-hondo);color:var(--crema);}

/* ---------- barra ---------- */
.barra{background:var(--verde-hondo);color:var(--crema);position:sticky;top:0;z-index:40;border-bottom:4px solid var(--verde-wa);}
.barra .envoltura{display:flex;align-items:center;gap:16px;padding:10px 0;}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none;}
.sello{width:52px;height:52px;border-radius:50%;background:#fff;border:3px solid var(--verde-wa);display:grid;place-items:center;overflow:hidden;flex:none;}
.sello img{width:100%;height:100%;object-fit:contain;padding:3px;}
.marca-texto{font-family:'Anton',sans-serif;font-size:20px;letter-spacing:.02em;line-height:1;}
.marca-texto small{display:block;font-family:'Karla',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.24em;color:var(--verde-wa);margin-top:4px;}
.menu{margin-left:auto;display:flex;align-items:center;gap:20px;}
.menu a.enlace{text-decoration:none;font-weight:600;font-size:15px;padding:4px 0;border-bottom:2px solid transparent;white-space:nowrap;}
.menu a.enlace:hover,.menu a.enlace.activo{border-bottom-color:var(--verde-wa);}
.redes{display:flex;align-items:center;gap:6px;}
.redes a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;text-decoration:none;transition:background .15s ease;}
.barra .redes a{background:rgba(255,248,238,.1);}
.barra .redes a:hover{background:var(--verde-wa);color:var(--texto-sobre-wa);}
.redes .icono{width:18px;height:18px;}
.idioma{font:inherit;font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--crema);background:transparent;border:2px solid rgba(255,248,238,.45);border-radius:999px;padding:6px 11px;cursor:pointer;}
.idioma:hover{background:rgba(255,248,238,.12);}
.btn-barra{background:var(--verde-wa);color:var(--texto-sobre-wa);text-decoration:none;font-weight:700;font-size:15px;padding:10px 18px;border-radius:999px;white-space:nowrap;}
.btn-barra:hover{background:#1FBF5B;}
.btn-barra.activo{background:var(--crema);color:var(--verde-hondo);}
.menu-movil{display:none;}
@media (max-width:1060px){ .barra .redes{display:none;} }
@media (max-width:860px){
  .menu a.enlace{display:none;}
  .menu{gap:10px;}
  .menu-movil{display:flex;gap:6px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none;}
  .menu-movil::-webkit-scrollbar{display:none;}
  .menu-movil a{flex:none;text-decoration:none;font-weight:600;font-size:14px;padding:6px 13px;border-radius:999px;background:rgba(255,248,238,.1);}
  .menu-movil a.activo{background:var(--crema);color:var(--verde-hondo);}
}
@media (max-width:480px){ .marca-texto{font-size:16px;} .marca-texto small{font-size:9px;} .sello{width:44px;height:44px;} .btn-barra{padding:9px 14px;font-size:14px;} }

/* ---------- secciones ---------- */
section{padding:80px 0;}
.titulo{font-size:clamp(36px,5vw,58px);max-width:18ch;color:var(--verde-hondo);}
.titulo-sub{margin:16px 0 40px;max-width:58ch;color:var(--tinta-suave);font-size:18px;}
.etiqueta{display:inline-block;background:var(--verde-wa);color:var(--texto-sobre-wa);font-weight:700;font-size:13px;letter-spacing:.18em;padding:7px 16px;border-radius:999px;margin-bottom:22px;text-transform:uppercase;}
@media (max-width:600px){ section{padding:60px 0;} }

/* ---------- hero (inicio) ---------- */
.hero{background:var(--verde-hondo);color:var(--crema);background-image:radial-gradient(circle at 12% 18%,rgba(37,211,102,.20),transparent 45%),radial-gradient(circle at 88% 90%,rgba(18,140,126,.45),transparent 50%);padding:64px 0 72px;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(48px,7vw,88px);color:var(--crema);}
.hero h1 em,.cabecera h1 em{font-style:normal;display:block;color:var(--verde-wa);}
.hero p.bajada{font-size:19px;max-width:46ch;margin:24px 0 32px;color:#DCEFE6;}
.botones{display:flex;flex-wrap:wrap;gap:12px;}
.cuadricula-hero{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:470px;margin-left:auto;width:100%;}
.cuadricula-hero figure{margin:0;aspect-ratio:1/1;border-radius:var(--radio);overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.25);}
.cuadricula-hero img{width:100%;height:100%;object-fit:cover;}
.cuadricula-hero figure:nth-child(2),.cuadricula-hero figure:nth-child(4){transform:translateY(22px);}
@media (max-width:900px){
  .hero{padding:44px 0 52px;}
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .cuadricula-hero{max-width:none;margin:0;grid-template-columns:repeat(4,1fr);gap:8px;}
  .cuadricula-hero figure{border-radius:12px;}
  .cuadricula-hero figure:nth-child(2),.cuadricula-hero figure:nth-child(4){transform:none;}
}

/* ---------- cinta ---------- */
.cinta{background:var(--verde-medio);color:#fff;}
.cinta .envoltura{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;padding:15px 0;font-weight:600;font-size:15px;}
.cinta b{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.03em;color:#C9F7DA;margin-right:7px;font-size:16px;}

/* ---------- tarjetas de actividades ---------- */
.tarjetas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tarjeta{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;border-radius:var(--radio);overflow:hidden;text-decoration:none;color:#fff;background:var(--verde-oscuro);box-shadow:0 10px 26px rgba(7,94,84,.18);}
.tarjeta > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.tarjeta:hover > img{transform:scale(1.05);}
.tarjeta .capa{position:relative;width:100%;padding:70px 22px 22px;background:linear-gradient(to top,rgba(5,59,53,.95) 0%,rgba(5,59,53,.7) 45%,rgba(5,59,53,0) 100%);}
.tarjeta h3{font-size:28px;margin-bottom:8px;}
.tarjeta p{margin:0;font-size:15.5px;line-height:1.45;color:#E4F3EC;}
.tarjeta .reservar-mini{display:inline-block;margin-top:12px;font-weight:700;font-size:14px;color:var(--verde-wa);}
.tarjeta-logo{background:var(--rojo);}
.tarjeta-logo > img.logo-fondo{position:absolute;inset:auto;top:22px;left:50%;transform:translateX(-50%);width:62%;max-width:230px;aspect-ratio:1/1;height:auto;border-radius:26px;background:#fff;object-fit:contain;padding:14px;box-shadow:0 10px 24px rgba(0,0,0,.25);}
.tarjeta-logo:hover > img.logo-fondo{transform:translateX(-50%) scale(1.04);}
.tarjeta-logo .capa{background:linear-gradient(to top,rgba(110,14,12,.9) 0%,rgba(110,14,12,0) 100%);}
@media (max-width:900px){ .tarjetas{grid-template-columns:1fr 1fr;gap:14px;} .tarjeta h3{font-size:24px;} }
@media (max-width:560px){ .tarjetas{grid-template-columns:1fr;} .tarjeta{aspect-ratio:5/4;} .tarjeta-logo > img.logo-fondo{width:34%;top:14px;border-radius:18px;padding:8px;} }

/* ---------- pasos ---------- */
.pasos-seccion{background:var(--crema-2);}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;}
.paso{background:#fff;border-radius:var(--radio);padding:26px 22px;}
.paso .num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--verde-hondo);color:var(--crema);font-family:'Anton',sans-serif;font-size:22px;margin-bottom:14px;}
.paso h3{font-size:22px;margin-bottom:8px;color:var(--verde-hondo);}
.paso p{margin:0;font-size:16px;color:var(--tinta-suave);}
@media (max-width:900px){ .pasos{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .pasos{grid-template-columns:1fr;} }

/* ---------- adelanto de galería (inicio) ---------- */
.adelanto-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 30px;margin-bottom:34px;}
.adelanto-cab .titulo-sub{margin:14px 0 0;}
.adelanto{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.adelanto a{display:block;aspect-ratio:1/1;border-radius:14px;overflow:hidden;}
.adelanto img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.adelanto a:hover img{transform:scale(1.06);}
@media (max-width:800px){ .adelanto{grid-template-columns:repeat(3,1fr);gap:8px;} }

/* ---------- franja del equipo ---------- */
.equipo{padding:0;background:var(--verde-oscuro);color:var(--crema);}
.equipo-grid{display:grid;grid-template-columns:1.35fr .65fr;align-items:stretch;}
.equipo-grid figure{margin:0;min-height:420px;}
.equipo-grid figure img{width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.equipo-texto{display:flex;flex-direction:column;justify-content:center;padding:48px 0 48px 44px;}
.equipo-texto h2{font-size:clamp(38px,4.6vw,60px);}
.equipo-texto h2 em{font-style:normal;display:block;color:var(--verde-wa);}
.equipo-texto p{margin:18px 0 26px;font-size:18px;color:#CFE6DE;max-width:32ch;}
.equipo-texto .btn{align-self:flex-start;}
@media (max-width:860px){
  .equipo-grid{grid-template-columns:1fr;}
  .equipo-grid figure{min-height:0;aspect-ratio:1080/745;margin:0 -16px;}
  .equipo-texto{padding:34px 0 44px;}
}

/* ---------- cabecera de páginas internas ---------- */
.cabecera{position:relative;color:var(--crema);background:var(--verde-hondo);background-image:radial-gradient(circle at 10% 20%,rgba(37,211,102,.2),transparent 45%);padding:56px 0 60px;overflow:hidden;}
.cabecera.con-foto .fondo{position:absolute;inset:0;}
.cabecera.con-foto .fondo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.cabecera.con-foto .fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,59,53,.95) 0%,rgba(7,94,84,.85) 50%,rgba(7,94,84,.35) 100%);}
.cabecera .envoltura{position:relative;}
.cabecera h1{font-size:clamp(44px,6.4vw,80px);}
.cabecera p{font-size:19px;max-width:48ch;margin:20px 0 0;color:#DCEFE6;}
.migas{font-size:14px;color:#BFDCD2;margin-bottom:18px;}
.migas a{color:#BFDCD2;}
@media (max-width:700px){ .cabecera{padding:40px 0 44px;} .cabecera.con-foto .fondo::after{background:linear-gradient(180deg,rgba(5,59,53,.75) 0%,rgba(5,59,53,.95) 100%);} }

/* ---------- página de galería ---------- */
.muro{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:12px;}
.muro button{all:unset;position:relative;cursor:pointer;display:block;border-radius:16px;overflow:hidden;background:var(--crema-2);}
.muro button:focus-visible{outline:3px solid var(--verde-wa);outline-offset:3px;}
.muro button:nth-child(9n+1){grid-column:span 2;grid-row:span 2;}
.muro img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.muro button:hover img{transform:scale(1.05);}
.muro .play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;}
.muro .play span{width:58px;height:58px;border-radius:50%;background:rgba(5,59,53,.78);display:grid;place-items:center;}
.muro .play svg{width:24px;height:24px;fill:#fff;margin-left:3px;}
.muro-pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:28px;color:var(--tinta-suave);font-size:15px;}
.muro-pie a{color:var(--verde-hondo);font-weight:700;}
@media (max-width:900px){ .muro{grid-template-columns:repeat(3,1fr);grid-auto-rows:170px;} }
@media (max-width:560px){ .muro{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:8px;} }

.cta-final{background:var(--crema-2);text-align:center;}
.cta-final h2{font-size:clamp(34px,4.6vw,54px);color:var(--verde-hondo);}
.cta-final p{margin:14px auto 28px;max-width:46ch;color:var(--tinta-suave);font-size:18px;}
.cta-final .botones{justify-content:center;}

.visor{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:94vh;overflow:visible;}
.visor::backdrop{background:rgba(5,30,27,.92);}
.visor img{max-width:100%;max-height:82vh;border-radius:12px;margin:0 auto;}
.visor iframe{display:block;width:min(1000px,94vw);aspect-ratio:16/9;max-height:80vh;border:0;border-radius:12px;background:#000;}
.visor-barra{display:flex;justify-content:center;gap:10px;margin-top:12px;}
.visor-barra button{font:inherit;font-weight:700;background:var(--crema);color:var(--verde-hondo);border:0;border-radius:999px;padding:10px 18px;cursor:pointer;}

/* ---------- página de reservar ---------- */
.reserva-pag{background:var(--crema);padding:56px 0 80px;}
.reserva-pag-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:start;}
.bloque{background:#fff;border-radius:22px;padding:28px;margin-bottom:20px;box-shadow:0 8px 24px rgba(7,94,84,.07);}
.bloque-cab{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.bloque-cab .num{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--verde-hondo);color:var(--crema);font-family:'Anton',sans-serif;font-size:20px;flex:none;}
.bloque-cab h2{font-size:28px;color:var(--verde-hondo);}
.bloque-cab small{display:block;font-size:14px;color:var(--tinta-suave);margin-top:4px;font-family:'Karla',sans-serif;}
.opciones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.opcion{position:relative;display:block;cursor:pointer;}
.opcion input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.opcion .cara{display:block;border:2px solid #E3D9C8;border-radius:16px;overflow:hidden;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;}
.opcion .cara img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.opcion .cara .logo-op{object-fit:contain;background:var(--rojo);padding:10px;}
.opcion .cara span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-weight:700;font-size:15px;line-height:1.25;}
.opcion .cara span::after{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #CFC4B1;}
.opcion input:checked + .cara{border-color:var(--verde-wa);box-shadow:0 0 0 3px rgba(37,211,102,.25);}
.opcion input:checked + .cara span::after{background:var(--verde-wa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2304352B' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--verde-wa);}
.opcion input:focus-visible + .cara{outline:3px solid var(--verde-medio);outline-offset:2px;}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fila-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.campo{margin-bottom:16px;}
.campo > label,.campo .rotulo-campo{display:block;font-weight:700;font-size:14px;margin-bottom:6px;}
.campo input,.campo select,.campo textarea{width:100%;padding:12px 14px;border:2px solid #D6CCBB;border-radius:12px;background:#fff;font-family:inherit;font-size:16px;color:var(--tinta);}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--verde-medio);outline:none;}
.campo textarea{min-height:90px;resize:vertical;}
.contador{display:flex;align-items:stretch;border:2px solid #D6CCBB;border-radius:12px;overflow:hidden;background:#fff;}
.contador button{font:inherit;font-size:22px;font-weight:700;width:48px;border:0;background:var(--crema-2);color:var(--verde-hondo);cursor:pointer;}
.contador button:hover{background:#E9DDC8;}
.contador input{border:0 !important;border-radius:0 !important;text-align:center;font-weight:700;-moz-appearance:textfield;}
.contador input::-webkit-outer-spin-button,.contador input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.aviso{margin:0 0 16px;padding:12px 16px;background:#FCE4E3;border-radius:12px;border:2px solid var(--rojo);font-size:15px;font-weight:600;color:#8E1512;}
.enviar-fila{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;}
.nota-mini{font-size:14px;color:var(--tinta-suave);margin:0;}
.lateral{position:sticky;top:96px;display:flex;flex-direction:column;gap:18px;}
.chat{background:var(--verde-oscuro);border-radius:22px;overflow:hidden;color:var(--crema);}
.chat-cab{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--verde-hondo);}
.chat-cab .sello{width:40px;height:40px;border-width:2px;}
.chat-cab b{display:block;font-size:15px;line-height:1.2;}
.chat-cab small{font-size:12.5px;color:#BFDCD2;}
.chat-cuerpo{padding:18px;background:#0B3F38;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:14px 14px;}
.chat-cuerpo p.expl{font-size:13px;color:#BFDCD2;margin:0 0 12px;text-align:center;}
.burbuja{background:#DCF8C6;color:#111;border-radius:14px 4px 14px 14px;padding:13px 15px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;min-height:110px;margin-left:18px;box-shadow:0 2px 0 rgba(0,0,0,.15);}
.tarjeta-lado{background:#fff;border-radius:22px;padding:22px;box-shadow:0 8px 24px rgba(7,94,84,.07);}
.tarjeta-lado h3{font-size:22px;color:var(--verde-hondo);margin-bottom:6px;}
.tarjeta-lado p{margin:0 0 14px;font-size:15.5px;color:var(--tinta-suave);}
.tarjeta-lado .botones{gap:10px;}
.tarjeta-lado .btn{padding:11px 18px;font-size:15px;}
.mapa{width:100%;aspect-ratio:4/3;border:0;border-radius:14px;margin-bottom:14px;background:var(--crema-2);}
.hecho{text-align:left;}
.hecho .marca-ok{display:inline-block;background:var(--verde-wa);color:var(--texto-sobre-wa);border-radius:999px;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:7px 15px;margin-bottom:16px;}
.hecho h2{font-size:clamp(30px,4vw,42px);margin-bottom:14px;color:var(--verde-hondo);}
.resumen{width:100%;border-collapse:collapse;margin:0 0 18px;}
.resumen th,.resumen td{text-align:left;padding:9px 0;border-bottom:1px solid #E3D9C8;font-size:16px;vertical-align:top;}
.resumen th{font-weight:700;width:38%;}
.hecho p{margin:0 0 18px;font-size:16px;}
.acciones{display:flex;flex-wrap:wrap;gap:12px;}
@media (max-width:980px){ .reserva-pag-grid{grid-template-columns:1fr;} .lateral{position:static;} }
@media (max-width:640px){ .opciones{grid-template-columns:1fr 1fr;} .fila,.fila-3{grid-template-columns:1fr;} .bloque{padding:20px;} .bloque-cab h2{font-size:24px;} #enviar{width:100%;} }

/* ---------- pie ---------- */
footer{background:var(--verde-oscuro);color:var(--crema);padding:56px 0 calc(28px + env(safe-area-inset-bottom,0px));}
.pie-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px;}
footer h3{font-size:20px;color:var(--verde-wa);margin-bottom:12px;}
footer p{margin:0 0 8px;font-size:16px;color:#CFE6DE;}
footer a{color:#CFE6DE;}
.enlace-icono{display:inline-flex;align-items:center;gap:9px;}
.enlace-icono .icono{width:18px;height:18px;}
.icono-mapa{color:#EA4335;}
.pie-marca{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.pie-marca .sello{width:66px;height:66px;}
.pie-marca h3{color:var(--crema);margin:0;font-size:24px;}
footer .redes a{background:rgba(255,248,238,.1);color:var(--crema);}
footer .redes a:hover{background:var(--verde-wa);color:var(--texto-sobre-wa);}
.pie-abajo{border-top:1px solid rgba(255,248,238,.14);margin-top:36px;padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:14px;color:#86B3A8;}
@media (max-width:800px){ .pie-grid{grid-template-columns:1fr;} }

/* ---------- botones flotantes ---------- */
.flotantes{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.flotante{display:inline-flex;align-items:center;gap:8px;background:var(--verde-wa);color:var(--texto-sobre-wa);text-decoration:none;font-weight:700;padding:13px 20px;border-radius:999px;box-shadow:0 10px 24px rgba(0,0,0,.3);}
.flotante:hover{background:#1FBF5B;}
.flotante-msg{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--messenger);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.3);}
.flotante-msg:hover{background:#0656D6;}
.flotante-msg .icono{width:24px;height:24px;}
@media (max-width:480px){ .flotante span{display:none;} .flotante{padding:13px;} .flotante .icono{width:26px;height:26px;} }

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{transition:none !important;animation:none !important;} }

/* ---------- historia (inicio) ---------- */
.historia-adelanto{background:var(--crema);}
.historia-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.historia-grid .titulo-sub{margin-bottom:28px;}
.foto-marco{margin:0;}
.foto-marco img{width:100%;border-radius:22px;box-shadow:0 18px 40px rgba(7,94,84,.18);}
.foto-marco figcaption{margin-top:12px;font-size:14.5px;color:var(--tinta-suave);font-style:italic;}
@media (max-width:860px){ .historia-grid{grid-template-columns:1fr;gap:28px;} }

/* ---------- página nosotros ---------- */
.cabecera h1.h1-largo{font-size:clamp(36px,4.8vw,62px);max-width:20ch;line-height:1.02;}
.cabecera h1.h1-largo em{display:inline;}
.relato-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.relato-texto p{font-size:19px;margin:0 0 20px;color:var(--tinta);max-width:52ch;}
.relato-texto p.entrada{font-family:'Anton',sans-serif;font-size:clamp(28px,3.4vw,40px);line-height:1.05;color:var(--verde-hondo);}
.foto-alta img{aspect-ratio:4/5;object-fit:cover;object-position:center 30%;max-height:620px;}
.inspiracion{background:var(--crema-2);}
.inspiracion-grid{display:grid;grid-template-columns:minmax(0,460px) auto 280px;gap:40px;align-items:center;justify-content:center;}
.flecha{font-family:'Anton',sans-serif;font-size:56px;color:var(--verde-medio);line-height:1;}
.logo-marco{margin:0;text-align:center;}
.logo-marco img{width:100%;max-width:260px;margin:0 auto;background:#fff;border-radius:50%;padding:14px;border:5px solid var(--verde-wa);box-shadow:0 18px 40px rgba(7,94,84,.18);}
.logo-marco figcaption{margin-top:12px;font-weight:700;color:var(--verde-hondo);}
@media (max-width:860px){ .relato-grid{grid-template-columns:1fr;gap:30px;} .inspiracion-grid{grid-template-columns:1fr;justify-items:center;} .flecha{transform:rotate(90deg);} .logo-marco img{max-width:200px;} }
.cita{background:var(--verde-hondo);color:var(--crema);text-align:center;background-image:radial-gradient(circle at 50% 0%,rgba(37,211,102,.18),transparent 55%);}
.cita p{margin:0 auto 18px;max-width:48ch;font-size:19px;color:#CFE6DE;}
.cita blockquote{margin:0 auto;max-width:22ch;font-family:'Anton',sans-serif;font-size:clamp(34px,5vw,62px);line-height:1.02;}
.cita blockquote em{font-style:normal;color:var(--verde-wa);}
.nombre-grid{display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:center;}
.nombre-sello{background:#fff;border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(7,94,84,.12);}
.nombre p{font-size:18.5px;max-width:56ch;margin:18px 0 0;}
@media (max-width:760px){ .nombre-grid{grid-template-columns:1fr;gap:28px;} .nombre-sello{max-width:240px;} }
.recibir{background:var(--crema-2);}
.valores{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.valores li{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;display:flex;align-items:flex-end;}
.valores img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.valores span{position:relative;width:100%;padding:60px 16px 16px;font-family:'Anton',sans-serif;font-size:22px;line-height:1.05;color:#fff;background:linear-gradient(to top,rgba(5,59,53,.95),rgba(5,59,53,0));}
.recibir-cierre{margin:34px 0 0;max-width:60ch;font-size:19px;}
@media (max-width:900px){ .valores{grid-template-columns:repeat(3,1fr);} }
@media (max-width:520px){ .valores{grid-template-columns:1fr 1fr;} .valores li:last-child{grid-column:span 2;aspect-ratio:2/1;} }
.bienvenida{background:var(--verde-hondo);background-image:radial-gradient(circle at 50% 0%,rgba(37,211,102,.18),transparent 55%);color:var(--crema);text-align:center;}
.bienvenida-sello{width:110px;height:110px;margin:0 auto 22px;background:#fff;border-radius:50%;padding:6px;border:4px solid var(--verde-wa);}
.bienvenida h2{font-size:clamp(36px,5vw,60px);}
.bienvenida p{margin:16px auto 30px;font-size:20px;color:#CFE6DE;}
.bienvenida .botones{justify-content:center;}

/* ---------- reserva en la página de inicio ---------- */
.reserva{color:var(--crema);background:var(--verde-hondo);background-image:radial-gradient(circle at 85% 10%,rgba(37,211,102,.16),transparent 45%);}
.reserva .titulo{color:var(--crema);}
.reserva .titulo-sub{color:#DCEFE6;}
.reserva-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:start;}
.panel{background:var(--crema);color:var(--tinta);border-radius:22px;padding:28px;box-shadow:0 20px 44px rgba(0,0,0,.3);}
.planes{display:flex;flex-wrap:wrap;gap:8px;}
.plan{position:relative;}
.plan input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;}
.plan span{display:block;padding:9px 15px;border:2px solid #D6CCBB;border-radius:999px;font-weight:600;font-size:15px;background:#fff;cursor:pointer;user-select:none;}
.plan input:checked + span{background:var(--verde-wa);border-color:var(--verde-wa);color:var(--texto-sobre-wa);}
.plan input:focus-visible + span{outline:3px solid var(--verde-medio);outline-offset:2px;}
.lado{display:flex;flex-direction:column;gap:18px;}
.previo{background:rgba(5,59,53,.75);border:2px solid rgba(37,211,102,.55);border-radius:22px;padding:22px;}
.previo h3{font-size:22px;color:var(--verde-wa);margin-bottom:6px;}
.previo p.expl{font-size:15px;color:#CFE6DE;margin:0 0 14px;}
.previo .burbuja{margin-left:0;}
.previo .destino{font-size:14px;color:#CFE6DE;margin:14px 0 0;}
.llegar{background:var(--crema);color:var(--tinta);border-radius:22px;padding:22px;}
.llegar h3{font-size:22px;color:var(--verde-hondo);margin-bottom:6px;}
.llegar p{margin:0 0 14px;font-size:15.5px;color:var(--tinta-suave);}
@media (max-width:900px){ .reserva-grid{grid-template-columns:1fr;} .panel{padding:22px;} }
@media (max-width:640px){ .reserva .fila{grid-template-columns:1fr;} .reserva #enviar{width:100%;} }

.resumen td.folio{font-family:'Anton',sans-serif;font-size:22px;color:var(--rojo);letter-spacing:.03em;}
#enviar:disabled{opacity:.7;cursor:wait;transform:none;}
