/* Grupo Don Bartolo — estilos principales */
  :root{
    --cream:#F2EDE1;
    --cream-2:#EAE3D3;
    --ink:#1C1A16;
    --ink-soft:#4A463E;
    --hotel-green:#0C2E27;
    --hotel-green-2:#123A32;
    --gold:#C4A05A;
    --gold-soft:#DCC48C;
    --exp-brown:#4A3527;
    --exp-brown-2:#3A2A1F;
    --exp-rust:#A35A2A;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Work Sans', sans-serif;
    font-weight:400;
    line-height:1.5;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:-0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1320px; margin:0 auto; padding:0 48px;}

  /* ---------- HEADER ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 48px;
    mix-blend-mode:normal;
    transition:background .4s ease, padding .3s ease;
  }
  header.scrolled{
    background:rgba(242,237,225,0.92);
    backdrop-filter:blur(8px);
    padding:14px 48px;
    box-shadow:0 1px 0 rgba(28,26,22,0.08);
  }
  .group-mark{ display:flex; align-items:center; gap:10px; }
  .group-mark img{ height:34px; width:auto; transition:filter .3s ease; }
  header:not(.scrolled) .group-mark img{ filter:brightness(0) invert(1); }
  header.scrolled .group-mark img{ filter:none; }
  .group-mark span{
    font-family:'Fraunces', serif;
    font-size:17px;
    letter-spacing:0.02em;
    color:var(--cream);
    transition:color .3s ease;
  }
  header.scrolled .group-mark span{ color:var(--ink); }
  nav{display:flex; gap:38px; align-items:center; font-size:14.5px;}
  nav a{ color:var(--cream); opacity:.9; padding-bottom:2px; border-bottom:1px solid transparent; transition:border-color .25s, color .25s;}
  header.scrolled nav a{color:var(--ink);}
  nav a:hover{border-color:var(--gold); }
  .nav-cta{
    border:1px solid var(--cream) !important;
    padding:9px 20px; border-radius:2px; opacity:1 !important;
  }
  header.scrolled .nav-cta{border-color:var(--ink) !important;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; flex-direction:column; justify-content:flex-end;
    background:
      linear-gradient(90deg, rgba(4,20,15,0.88) 0%, rgba(5,22,17,0.62) 38%, rgba(6,20,17,0.18) 68%, rgba(6,20,17,0.05) 100%),
      linear-gradient(180deg, rgba(10,15,12,0.20) 0%, rgba(10,15,12,0.12) 30%, rgba(8,12,10,0.85) 100%),
      url('../img/hero.jpg') center 30%/cover no-repeat;
    color:var(--cream);
    padding:0 0 80px 0;
    overflow:hidden;
  }
  .hero-peaks{
    position:absolute; inset:0; opacity:0.5; z-index:0;
  }
  .hero-inner{ position:relative; z-index:2; padding:0 48px; }
  .hero-eyebrow-line{
    display:flex; align-items:center; gap:14px; margin-bottom:26px; opacity:0;
    animation:riseIn 1s ease .3s forwards;
  }
  .hero-eyebrow-line .rule{width:44px; height:1px; background:var(--gold);}
  .hero-eyebrow-line span{font-size:14px; letter-spacing:0.04em; color:var(--gold-soft);}
  h1.hero-title{
    font-size:clamp(44px, 7vw, 96px);
    line-height:0.98;
    max-width:920px;
    font-weight:400;
    opacity:0;
    animation:riseIn 1.1s ease .5s forwards;
  }
  .hero-title em{font-style:italic; color:var(--gold-soft); font-weight:300;}
  .hero-sub{
    max-width:480px; margin-top:26px; font-size:17px; color:#E4DFD1; opacity:0;
    animation:riseIn 1.1s ease .75s forwards;
  }
  .hero-scroll{
    position:absolute; bottom:36px; left:48px; display:flex; align-items:center; gap:12px;
    font-size:13px; color:var(--cream); opacity:0;
    animation:riseIn 1s ease 1.1s forwards;
  }
  .hero-scroll .line{width:1px; height:34px; background:var(--gold); position:relative; overflow:hidden;}
  .hero-scroll .line::after{
    content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--cream);
    animation:scrollLine 1.8s ease-in-out infinite;
  }
  @keyframes scrollLine{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }
  @keyframes riseIn{ from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);} }

  /* ---------- PORTAL SPLIT ---------- */
  .portal{
    display:flex; min-height:92vh; position:relative;
  }
  .portal-half{
    position:relative; flex:1; display:flex; align-items:flex-end;
    padding:64px; overflow:hidden; cursor:pointer;
    transition:flex 0.6s cubic-bezier(.22,.61,.36,1);
    min-height:640px;
  }
  .portal:hover .portal-half{ flex:0.82; }
  .portal-half:hover{ flex:1.18 !important; }
  .portal-half .backdrop{
    position:absolute; inset:0; z-index:0; transition:transform .8s ease;
  }
  .portal-half:hover .backdrop{ transform:scale(1.05); }
  .portal-hotel .backdrop{ background: url('../img/portal-hotel.jpg') center/cover no-repeat; }
  .portal-exp .backdrop{ background: url('../img/portal-expeditions.jpg') center/cover no-repeat; }
  .portal-fade{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(0deg, rgba(6,10,8,.92) 0%, rgba(6,10,8,.35) 42%, rgba(6,10,8,0) 68%);
  }
  .portal-tint{
    position:absolute; inset:0; z-index:1; opacity:0.28;
    transition:opacity .7s ease;
  }
  .portal-half:hover .portal-tint{ opacity:0.82; }
  .portal-hotel .portal-tint{ background:linear-gradient(200deg, rgba(9,32,26,.9), rgba(6,20,17,.75)); }
  .portal-exp .portal-tint{ background:linear-gradient(200deg, rgba(42,28,18,.9), rgba(30,20,13,.75)); }
  .portal-content{ position:relative; z-index:2; color:var(--cream); width:100%; }
  .portal-logo{ height:76px; width:auto; margin-bottom:26px; filter:drop-shadow(0 2px 10px rgba(0,0,0,.25)); }
  .portal-half h3{ font-size:clamp(26px,2.6vw,38px); font-weight:400; max-width:360px; margin-bottom:14px; text-shadow:0 2px 18px rgba(0,0,0,.4);}
  .portal-half p{ max-width:340px; font-size:15px; color:rgba(242,237,225,0.85); margin-bottom:26px;}
  .portal-link{
    display:inline-flex; align-items:center; gap:10px; font-size:14.5px;
    border-bottom:1px solid var(--gold); padding-bottom:6px; color:var(--gold-soft);
  }
  .portal-divider{
    position:absolute; left:50%; top:0; bottom:0; width:1px; background:rgba(242,237,225,0.25); z-index:3;
  }

  /* ---------- SECTION HEADERS ---------- */
  .section{ padding:130px 0; }
  .section-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; gap:40px; flex-wrap:wrap;}
  .section-head h2{ font-size:clamp(30px,3.4vw,46px); font-weight:400; max-width:560px;}
  .section-head p{ max-width:340px; font-size:15px; color:var(--ink-soft); padding-bottom:6px;}

  /* ---------- TOURS ---------- */
  .tours-section{
    position:relative;
    background:
      linear-gradient(100deg, rgba(28,20,14,0.94) 0%, rgba(42,29,19,0.88) 55%, rgba(58,42,29,0.80) 100%),
      url('../img/tours-bg.jpg') center 60%/cover no-repeat;
    color:var(--cream);
  }
  .tours-intro{ display:flex; gap:90px; padding-top:150px; padding-bottom:150px; flex-wrap:wrap; align-items:center; }
  .tours-intro-text{ flex:1; min-width:280px; }
  .tours-intro-text .tag{ font-size:13px; color:var(--gold-soft); }
  .tours-intro-text h2{ font-size:clamp(34px,4.2vw,56px); font-weight:400; margin:16px 0 24px; max-width:520px; }
  .tours-intro-text p{ font-size:16.5px; color:#D8C9BB; max-width:440px; margin-bottom:34px; line-height:1.6; }
  .tours-intro-media{ flex:1.15; min-width:340px; display:flex; gap:26px; align-items:flex-start; }
  .carousel-tile{ position:relative; overflow:hidden; background:#2c1f16; border-radius:1px; }
  .tile-a{ width:40%; aspect-ratio:3/4; margin-top:70px; }
  .media-right{ width:60%; display:flex; flex-direction:column; gap:20px; }
  .tile-b{ width:100%; aspect-ratio:4/3; }
  .tile-c{ width:72%; align-self:flex-end; aspect-ratio:4/3; }
  .carousel-track{ display:flex; width:100%; height:100%; transition:transform 1s cubic-bezier(.65,0,.35,1); }
  .carousel-track img{ width:100%; height:100%; object-fit:cover; flex:0 0 100%; }
  .tours-strip-label{ font-size:13px; letter-spacing:.03em; color:var(--gold-soft); padding-bottom:18px; border-bottom:1px solid rgba(242,237,225,0.15); margin-bottom:0; }
  .tour-scroll{
    display:flex; gap:2px; overflow-x:auto; padding-bottom:12px; margin:34px -48px 0; padding-left:48px; padding-right:48px;
    scrollbar-width:thin;
  }
  .btn-gold{ display:inline-block; background:var(--gold); color:var(--exp-brown-2); padding:14px 28px; font-size:14.5px; font-weight:500; border-radius:2px; }

  /* ---------- FEATURES STRIP (fondo claro) ---------- */
  .features-strip{ background:var(--cream); padding:90px 0; }
  .features-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:44px; }
  .feature-card{ border-top:1px solid rgba(28,26,22,0.12); padding-top:26px; }
  .feature-icon{ color:var(--gold); width:36px; height:36px; margin-bottom:20px; }
  .feature-icon svg{ width:100%; height:100%; }
  .feature-card h4{ font-family:'Fraunces',serif; font-weight:500; font-size:18px; margin-bottom:10px; }
  .feature-card p{ font-size:14px; color:var(--ink-soft); margin-bottom:16px; }
  .feature-link{ font-size:13.5px; color:var(--exp-rust); border-bottom:1px solid transparent; }
  .feature-link:hover{ border-color:var(--exp-rust); }

  /* ---------- REVIEWS ---------- */
  .reviews-section{ background:var(--cream-2); padding:110px 0; }
  .reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(28,26,22,0.1); }
  .review-card{ background:var(--cream-2); padding:36px 34px; display:flex; flex-direction:column; }
  .review-stars{ color:var(--gold); letter-spacing:2px; font-size:14px; margin-bottom:18px; }
  .review-quote{ font-family:'Fraunces',serif; font-size:18px; font-weight:400; line-height:1.4; color:var(--ink); margin-bottom:26px; flex-grow:1; }
  .review-who{ display:flex; align-items:center; gap:14px; }
  .review-avatar{ width:36px; height:36px; border-radius:50%; background:var(--exp-brown); color:var(--cream); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:15px; flex-shrink:0; }
  .review-who div{ display:flex; flex-direction:column; font-size:13px; color:var(--ink-soft); }
  .review-who strong{ font-size:14px; color:var(--ink); font-weight:500; }
  .tour-card{
    position:relative; min-width:300px; height:400px; flex-shrink:0; overflow:hidden;
    background-size:cover; background-position:center;
  }
  .tour-card .tint{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,12,7,.92) 0%, rgba(20,12,7,.15) 55%, rgba(20,12,7,.05) 100%);}
  .tour-card-body{ position:absolute; left:0; right:0; bottom:0; padding:24px; z-index:2;}
  .tour-num{ font-size:12.5px; color:var(--gold-soft); letter-spacing:.03em; margin-bottom:8px; display:block;}
  .tour-card h4{ font-family:'Fraunces',serif; font-weight:500; font-size:21px; margin-bottom:6px; }
  .tour-card span.meta{ font-size:13px; color:#D8C9BB; }
  .tour-svg{ position:absolute; inset:0; opacity:.9;}

  /* ---------- ROOMS ---------- */
  .rooms-section{ background:var(--hotel-green); color:var(--cream); }
  .rooms-section .section-head h2{ color:var(--cream); }
  .rooms-section .section-head p{ color:#BFD1CB; }
  .room-row{ display:flex; gap:70px; align-items:center; margin-bottom:110px; }
  .room-row:last-child{margin-bottom:0;}
  .room-row.reverse{ flex-direction:row-reverse; }
  .room-media{ flex:1.1; height:420px; position:relative; overflow:hidden; }
  .room-media .duotone{ position:absolute; inset:0; }
  .room-text{ flex:0.9; }
  .room-text .tag{ font-size:13px; color:var(--gold-soft); margin-bottom:16px; display:block; }
  .room-text h3{ font-size:clamp(26px,2.8vw,36px); font-weight:400; margin-bottom:18px; }
  .room-text p{ color:#CBD9D4; font-size:15px; max-width:400px; margin-bottom:22px; }
  .room-facts{ display:flex; gap:32px; margin-bottom:26px; }
  .room-facts div{ font-size:13.5px; color:#9FB6AF; }
  .room-facts strong{ display:block; font-family:'Fraunces',serif; font-size:22px; color:var(--cream); font-weight:400; }
  .ghost-link{ font-size:14.5px; border-bottom:1px solid var(--gold); padding-bottom:5px; color:var(--gold-soft); }

  /* ---------- MÁS DEL GRUPO (negocios secundarios) ---------- */
  .group-strip{ background:var(--cream); padding:100px 0; border-top:1px solid rgba(28,26,22,0.08); }
  .group-strip-inner{ display:flex; gap:70px; align-items:flex-start; flex-wrap:wrap; }
  .group-strip-head{ flex:0.8; min-width:260px; }
  .group-strip-head span.tag{ font-size:13px; color:var(--exp-rust); letter-spacing:.02em; }
  .group-strip-head h2{ font-size:clamp(26px,2.8vw,36px); font-weight:400; margin:12px 0 16px; max-width:380px; }
  .group-strip-head p{ font-size:15px; color:var(--ink-soft); max-width:340px; margin-bottom:22px; }
  .group-strip-head a{ font-size:14.5px; color:var(--exp-rust); border-bottom:1px solid var(--exp-rust); padding-bottom:4px; }
  .brand-row{ flex:1.4; min-width:300px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .brand-cell{ background:var(--cream-2); padding:34px 32px 30px; display:flex; flex-direction:column; gap:14px; transition:background .3s ease, transform .3s ease; }
  .brand-cell:hover{ background:#E3DAC6; transform:translateY(-3px); }
  .brand-cell .b-icon{ width:34px; height:34px; color:var(--exp-rust); }
  .brand-cell .b-icon svg{ width:100%; height:100%; }
  .brand-cell .b-kind{ font-size:12.5px; color:var(--ink-soft); letter-spacing:.04em; text-transform:uppercase; }
  .brand-cell h3{ font-size:24px; font-weight:400; }
  .brand-cell p{ font-size:14px; color:var(--ink-soft); flex-grow:1; }
  .brand-cell .b-link{ font-size:13.5px; color:var(--ink); border-top:1px solid rgba(28,26,22,0.12); padding-top:14px; display:flex; justify-content:space-between; }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--ink); color:var(--cream); padding:80px 0 30px; }
  .footer-top{ display:flex; justify-content:space-between; gap:60px; flex-wrap:wrap; padding-bottom:60px; border-bottom:1px solid rgba(242,237,225,0.15); margin-bottom:30px;}
  .footer-brand .serif{ font-size:24px; }
  .footer-brand p{ color:#B7B2A6; font-size:14px; max-width:280px; margin-top:14px; }
  .footer-cols{ display:flex; gap:70px; flex-wrap:wrap; }
  .footer-col h5{ font-size:13px; color:var(--gold-soft); margin-bottom:16px; letter-spacing:.02em; font-weight:500;}
  .footer-col a{ display:block; font-size:14.5px; color:#D8D4C8; margin-bottom:10px; }
  .footer-bottom{ display:flex; justify-content:space-between; font-size:12.5px; color:#847F72; flex-wrap:wrap; gap:10px;}

  @media (max-width:900px){
    .wrap{padding:0 24px;}
    header{padding:18px 24px;}
    nav{display:none;}
    .hero-inner{padding:0 24px;}
    .portal{flex-direction:column;}
    .portal:hover .portal-half{flex:1;}
    .portal-half:hover{flex:1 !important;}
    .portal-divider{display:none;}
    .room-row, .room-row.reverse{flex-direction:column; gap:30px;}

    .section{padding:80px 0;}
    .features-grid{grid-template-columns:repeat(2,1fr); gap:34px;}
    .reviews-grid{grid-template-columns:1fr;}
    .tours-intro{padding-top:70px;}
    .tile-a{margin-top:0;}
    .tours-intro-media{ flex-direction:column; }
    .media-right{ width:100%; }
    .tile-a, .tile-b{ width:100%; aspect-ratio:4/3; }
    .tile-c{ width:100%; align-self:auto; }
  }

  /* =========================================================
     AÑADIDOS WORDPRESS
     ========================================================= */
  .screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
  .skip-link:focus{ position:fixed; top:10px; left:10px; z-index:999; background:var(--ink); color:var(--cream); padding:10px 16px; clip:auto; width:auto; height:auto; }
  a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
  nav ul{ list-style:none; display:flex; gap:38px; align-items:center; }
  .group-mark img{ height:34px; }

  /* Header sólido en páginas internas sin hero oscuro */
  body.solid-header header{ background:rgba(242,237,225,0.96); box-shadow:0 1px 0 rgba(28,26,22,0.08); }
  body.solid-header header .group-mark img{ filter:none; }
  body.solid-header header .group-mark span, body.solid-header header nav a{ color:var(--ink); }
  body.solid-header header .nav-cta{ border-color:var(--ink) !important; }
  body.solid-header .menu-toggle span{ background:var(--ink); }
  body.admin-bar header{ top:32px; }
  @media (max-width:782px){ body.admin-bar header{ top:46px; } }

  /* Menú móvil */
  .menu-toggle{ display:none; background:none; border:0; width:44px; height:44px; cursor:pointer; position:relative; z-index:130; }
  .menu-toggle span{ display:block; width:24px; height:1.5px; background:var(--cream); margin:6px auto; transition:transform .3s, opacity .3s, background .3s; }
  header.scrolled .menu-toggle span{ background:var(--ink); }
  .menu-open .menu-toggle span{ background:var(--cream) !important; }
  .menu-open .menu-toggle span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .menu-open .menu-toggle span:nth-child(2){ opacity:0; }
  .menu-open .menu-toggle span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  .mobile-panel{ position:fixed; inset:0; z-index:110; background:var(--hotel-green); color:var(--cream); padding:110px 28px 40px; display:flex; flex-direction:column; gap:6px; opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; overflow-y:auto; }
  .menu-open .mobile-panel{ opacity:1; visibility:visible; }
  .mobile-panel ul{ list-style:none; }
  .mobile-panel a{ display:block; font-family:'Fraunces',serif; font-size:28px; padding:12px 0; border-bottom:1px solid rgba(242,237,225,.12); }
  .mobile-panel .btn-gold{ font-family:'Work Sans',sans-serif; font-size:15px; text-align:center; margin-top:28px; border:0; padding:16px; }
  .menu-open{ overflow:hidden; }

  /* WhatsApp flotante */
  .wa-float{ position:fixed; right:22px; bottom:22px; z-index:105; display:flex; align-items:center; gap:10px; background:#1F7A4D; color:#fff; padding:13px 20px 13px 16px; border-radius:40px; font-size:14.5px; font-weight:500; box-shadow:0 8px 24px rgba(0,0,0,.22); transition:transform .25s; }
  .wa-float:hover{ transform:translateY(-2px); }
  .wa-float svg{ width:22px; height:22px; }

  /* Tours carrusel: tamaño fijo evita saltos de layout */
  .carousel-track img{ aspect-ratio:auto; }
  .footer-social{ display:flex; gap:14px; margin-top:20px; }
  .footer-social a{ width:36px; height:36px; border:1px solid rgba(242,237,225,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#D8D4C8; transition:border-color .25s, color .25s; }
  .footer-social a:hover{ border-color:var(--gold); color:var(--gold-soft); }
  .footer-social svg{ width:16px; height:16px; }

  /* =========================================================
     PÁGINA RESTAURANTE Y MINIMARKET
     ========================================================= */
  .page-hero{ background:linear-gradient(160deg, var(--exp-brown-2) 0%, #241A13 60%, #1A130E 100%); color:var(--cream); padding:190px 0 90px; position:relative; overflow:hidden; }
  .page-hero::after{ content:''; position:absolute; right:-120px; bottom:-160px; width:520px; height:520px; border:1px solid rgba(220,196,140,.14); border-radius:50%; }
  .eyebrow{ display:flex; align-items:center; gap:14px; margin-bottom:24px; }
  .eyebrow .rule{ width:44px; height:1px; background:var(--gold); }
  .eyebrow span{ font-size:14px; letter-spacing:.04em; color:var(--gold-soft); }
  .page-hero h1{ font-size:clamp(40px,5.6vw,76px); font-weight:400; line-height:1.02; max-width:820px; }
  .page-hero h1 em{ font-style:italic; font-weight:300; color:var(--gold-soft); }
  .page-hero p{ max-width:520px; margin-top:24px; font-size:17px; color:#D8C9BB; }
  .jump{ display:flex; gap:14px; margin-top:38px; flex-wrap:wrap; }
  .jump a{ font-size:14px; border:1px solid rgba(242,237,225,.35); padding:10px 20px; border-radius:40px; transition:background .25s, border-color .25s; }
  .jump a:hover{ background:rgba(242,237,225,.08); border-color:var(--gold); }
  .biz{ padding:120px 0; scroll-margin-top:60px; }
  .biz.alt{ background:var(--cream-2); }
  .biz-row{ display:flex; gap:80px; align-items:center; }
  .biz.reverse .biz-row{ flex-direction:row-reverse; }
  .biz-photo{ flex:1.05; aspect-ratio:5/4; position:relative; overflow:hidden; display:flex; align-items:flex-end; background-size:cover; background-position:center; }
  .biz-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .biz-photo.ph-rest{ background-image:linear-gradient(150deg,#5A3E2B,#3A2A1F); }
  .biz-photo.ph-market{ background-image:linear-gradient(150deg,#6B4A2F,#4A3527); }
  .biz-photo .ph-icon{ position:absolute; top:50%; left:50%; width:110px; height:110px; transform:translate(-50%,-60%); color:rgba(220,196,140,.45); }
  .biz-photo .ph-note{ position:relative; margin:22px; font-size:12.5px; color:rgba(242,237,225,.6); letter-spacing:.03em; }
  .biz-text{ flex:0.95; }
  .biz-kind{ font-size:13px; color:var(--exp-rust); letter-spacing:.04em; text-transform:uppercase; }
  .biz-text h2{ font-size:clamp(32px,3.6vw,48px); font-weight:400; margin:12px 0 18px; }
  .biz-text > p{ font-size:16px; color:var(--ink-soft); max-width:460px; margin-bottom:28px; }
  .biz-list{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; margin-bottom:34px; max-width:480px; }
  .biz-list li{ font-size:14.5px; padding-left:18px; position:relative; }
  .biz-list li::before{ content:''; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background:var(--gold); }
  .biz-info{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; border-top:1px solid rgba(28,26,22,.12); padding-top:22px; margin-bottom:32px; max-width:520px; }
  .biz-info small{ display:block; font-size:12px; color:var(--ink-soft); letter-spacing:.03em; margin-bottom:4px; }
  .biz-info strong{ font-family:'Fraunces',serif; font-weight:400; font-size:17px; }
  .btns{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn{ display:inline-flex; align-items:center; gap:10px; padding:14px 24px; font-size:14.5px; font-weight:500; border-radius:2px; transition:transform .2s; }
  .btn:hover{ transform:translateY(-2px); }
  .btn-dark{ background:var(--ink); color:var(--cream); }
  .btn-line{ border:1px solid var(--ink); }
  .btn svg{ width:18px; height:18px; }
  .guest-note{ margin-top:26px; font-size:14px; color:var(--ink-soft); padding:14px 18px; border-left:2px solid var(--gold); background:rgba(196,160,90,.08); max-width:480px; }
  .hotel-cta{ background:var(--hotel-green); color:var(--cream); padding:90px 0; }
  .hotel-cta .wrap{ display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
  .hotel-cta h2{ font-size:clamp(26px,3vw,40px); font-weight:400; max-width:620px; }
  .hotel-cta p{ color:#BFD1CB; margin-top:12px; max-width:520px; }

  /* =========================================================
     PÁGINAS GENÉRICAS / BLOG
     ========================================================= */
  .content-area{ padding:150px 0 110px; min-height:70vh; }
  .content-narrow{ max-width:760px; margin:0 auto; }
  .content-area h1{ font-size:clamp(34px,4.4vw,56px); font-weight:400; margin-bottom:28px; line-height:1.08; }
  .entry-content{ font-size:17px; line-height:1.75; color:var(--ink-soft); }
  .entry-content > * + *{ margin-top:1.2em; }
  .entry-content h2,.entry-content h3{ color:var(--ink); margin-top:1.8em; font-weight:400; }
  .entry-content a{ color:var(--exp-rust); border-bottom:1px solid currentColor; }
  .entry-content img{ height:auto; }
  .entry-content ul,.entry-content ol{ padding-left:1.3em; }
  .post-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:36px; }
  .post-card img{ aspect-ratio:4/3; object-fit:cover; width:100%; margin-bottom:18px; }
  .post-card h2{ font-size:24px; font-weight:400; margin-bottom:10px; }
  .post-card .meta{ font-size:13px; color:var(--exp-rust); margin-bottom:8px; display:block; }
  .post-card p{ font-size:15px; color:var(--ink-soft); }
  .pagination{ margin-top:60px; display:flex; gap:10px; }
  .pagination .page-numbers{ padding:8px 14px; border:1px solid rgba(28,26,22,.2); }
  .pagination .current{ background:var(--ink); color:var(--cream); }

  @media (max-width:900px){
    header.scrolled{padding:12px 24px;}
    .menu-toggle{ display:block; }
    .brand-row{grid-template-columns:1fr;}
    .group-strip-inner{gap:40px;}
    .wa-float span{display:none;} .wa-float{padding:14px;}
    .page-hero{ padding:140px 0 70px; }
    .biz{ padding:80px 0; }
    .biz-row, .biz.reverse .biz-row{ flex-direction:column; gap:36px; align-items:stretch; }
    .biz-info{ grid-template-columns:1fr 1fr; }
    .footer-cols{ gap:40px; }
    .content-area{ padding:120px 0 80px; }
    .portal-half{ padding:40px 24px; min-height:520px; }
    .hero-scroll{ left:24px; }
  }
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  }

  /* Ajustes de jerarquía de encabezados (h3→h2 / h4→h3 por SEO) */
  .portal-h{ font-size:clamp(26px,2.6vw,38px); font-weight:400; max-width:360px; margin-bottom:14px; text-shadow:0 2px 18px rgba(0,0,0,.4); }
  .feature-h{ font-family:'Fraunces',serif; font-weight:500; font-size:18px; margin-bottom:10px; }
  .room-media img.duotone{ width:100%; height:100%; object-fit:cover; }
  .biz-photo .ph-icon{ display:block; }
  .biz-photo .ph-icon svg{ width:100%; height:100%; stroke-width:1; }


  /* =========================================================
     MENÚ DESPLEGABLE (v1.1)
     ========================================================= */
  nav ul.menu > li, nav > ul > li{ position:relative; display:flex; align-items:center; gap:4px; }
  nav li.menu-item-has-children{ padding:12px 0; margin:-12px 0; }
  .sub-toggle{ background:none; border:0; color:inherit; width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; }
  .sub-toggle svg{ width:10px; height:7px; transition:transform .25s; }
  nav .sub-toggle{ color:var(--cream); opacity:.85; }
  header.scrolled nav .sub-toggle, body.solid-header nav .sub-toggle{ color:var(--ink); }
  nav .sub-menu{ position:absolute; top:100%; left:-20px; min-width:230px; list-style:none; display:block;
    background:var(--cream); padding:10px 0; border-top:2px solid var(--gold);
    box-shadow:0 14px 34px rgba(28,26,22,.16); opacity:0; visibility:hidden; transform:translateY(8px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s; z-index:5; }
  nav li:hover > .sub-menu, nav li:focus-within > .sub-menu, nav li.open > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
  nav li:hover > .sub-toggle svg, nav li.open > .sub-toggle svg{ transform:rotate(180deg); }
  nav .sub-menu li{ display:block; }
  nav .sub-menu a, header.scrolled nav .sub-menu a, body.solid-header nav .sub-menu a{ display:block; color:var(--ink); opacity:1; padding:10px 22px; font-size:14px; border:0; white-space:nowrap; }
  nav .sub-menu a:hover{ background:var(--cream-2); color:var(--exp-rust); }

  /* Móvil: acordeón */
  .mobile-panel li{ position:relative; }
  .mobile-panel li.menu-item-has-children{ display:flex; flex-wrap:wrap; align-items:center; border-bottom:1px solid rgba(242,237,225,.12); }
  .mobile-panel li.menu-item-has-children > a{ flex:1; border-bottom:0; }
  .mobile-panel .sub-toggle{ width:44px; height:44px; color:var(--gold-soft); }
  .mobile-panel .sub-toggle svg{ width:14px; height:9px; }
  .mobile-panel li.open > .sub-toggle svg{ transform:rotate(180deg); }
  .mobile-panel .sub-menu{ display:none; width:100%; padding:0 0 14px 16px; }
  .mobile-panel li.open > .sub-menu{ display:block; }
  .mobile-panel .sub-menu a{ font-family:'Work Sans',sans-serif; font-size:16px; padding:9px 0; border:0; color:#CBD9D4; }

  /* =========================================================
     PÁGINA TOUR FULL DAY (v1.2)
     ========================================================= */
  .tour-hero{ position:relative; min-height:88vh; display:flex; align-items:flex-end; color:var(--cream); padding:160px 0 90px;
    background:
      linear-gradient(90deg, rgba(28,20,14,.9) 0%, rgba(30,21,15,.6) 45%, rgba(30,21,15,.15) 80%),
      linear-gradient(180deg, rgba(20,14,10,.25) 0%, rgba(20,14,10,.75) 100%),
      url('../img/tour/tour-hero.jpg') center 40%/cover no-repeat; }
  .tour-hero h1{ font-size:clamp(46px,7vw,96px); font-weight:400; line-height:.98; }
  .tour-hero h1 em{ font-style:italic; font-weight:300; color:var(--gold-soft); }
  .tour-hero-sub{ max-width:500px; margin-top:24px; font-size:17px; color:#E4DACB; }
  .tour-chips{ list-style:none; display:flex; gap:10px; flex-wrap:wrap; margin:28px 0 34px; }
  .tour-chips li{ font-size:13px; letter-spacing:.03em; padding:7px 14px; border:1px solid rgba(220,196,140,.45); border-radius:40px; color:var(--gold-soft); }
  .btn-gold{ background:var(--gold); color:var(--exp-brown-2); }
  .btn-ghost{ border:1px solid rgba(242,237,225,.5); color:var(--cream); }

  .tour-why{ background:var(--cream); padding:110px 0; }
  .tour-why-row{ display:flex; gap:80px; align-items:center; flex-wrap:wrap; }
  .tour-why-text{ flex:1.2; min-width:300px; }
  .tour-why-text h2{ font-size:clamp(28px,3.2vw,42px); font-weight:400; margin:12px 0 20px; max-width:560px; }
  .tour-why-text p{ font-size:16px; color:var(--ink-soft); max-width:540px; line-height:1.7; }
  .tour-find{ flex:0.8; min-width:260px; list-style:none; display:grid; gap:2px; background:rgba(28,26,22,.1); }
  .tour-find li{ background:var(--cream-2); padding:20px 24px; display:flex; align-items:center; gap:18px; font-family:'Fraunces',serif; font-size:18px; }
  .tour-find .feature-icon{ width:30px; height:30px; margin:0; flex-shrink:0; color:var(--exp-rust); }
  .tour-find .feature-icon svg{ width:100%; height:100%; }

  .tour-itinerary{ background:var(--exp-brown-2); color:var(--cream); padding:120px 0; }
  .tour-itinerary .section-head p{ color:#CDBBA8; }
  .stops{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:44px 32px; counter-reset:none; }
  .stop-media{ aspect-ratio:4/3; overflow:hidden; background:#2c1f16; }
  .stop-media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
  .stop:hover .stop-media img{ transform:scale(1.05); }
  .stop-body{ padding-top:20px; border-top:1px solid rgba(220,196,140,.35); margin-top:20px; }
  .stop-num{ font-family:'Fraunces',serif; font-size:15px; color:var(--gold); letter-spacing:.06em; }
  .stop-body h3{ font-size:24px; font-weight:400; margin:6px 0 8px; }
  .stop-body p{ font-size:14.5px; color:#D8C9BB; max-width:340px; }

  .tour-info{ background:var(--cream-2); padding:110px 0; }
  .tour-info-row{ display:grid; grid-template-columns:1.2fr 1fr; gap:80px; }
  .tour-info h2{ font-size:clamp(26px,2.8vw,36px); font-weight:400; margin-bottom:30px; }
  .include-list{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(28,26,22,.1); }
  .include-list li{ background:var(--cream); padding:22px 22px; display:flex; align-items:center; gap:14px; font-size:15px; }
  .inc-icon{ width:26px; height:26px; color:var(--exp-rust); flex-shrink:0; }
  .inc-icon svg{ width:100%; height:100%; }
  .bring-list{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; }
  .bring-list li{ display:flex; align-items:center; gap:10px; font-size:15px; }
  .chk{ width:20px; height:20px; border-radius:50%; background:var(--hotel-green); color:var(--gold-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .chk svg{ width:12px; height:12px; }

  .tour-gift{ background:var(--cream); padding:80px 0; }
  .tour-gift-row{ display:flex; align-items:center; gap:40px; flex-wrap:wrap; border:1px solid rgba(196,160,90,.5); padding:44px 48px; background:rgba(196,160,90,.07); }
  .gift-icon{ width:64px; height:64px; color:var(--gold); flex-shrink:0; }
  .gift-icon svg{ width:100%; height:100%; stroke-width:1.2; }
  .gift-text{ flex:1; min-width:260px; }
  .gift-text h2{ font-size:clamp(22px,2.4vw,30px); font-weight:400; margin:8px 0 10px; max-width:620px; }
  .gift-text h2 em{ font-style:italic; color:var(--exp-rust); }
  .gift-text p{ color:var(--ink-soft); font-size:15px; }
  .tour-cta{ background:var(--exp-brown); }
  .tour-cta p{ color:#D8C9BB; }

  @media (max-width:1000px){ .stops{ grid-template-columns:repeat(2,1fr); } .tour-info-row{ grid-template-columns:1fr; gap:60px; } }
  @media (max-width:900px){
    .tour-hero{ min-height:auto; padding:130px 0 70px; }
    .tour-why, .tour-itinerary, .tour-info{ padding:80px 0; }
    .tour-why-row{ gap:40px; }
    .tour-gift-row{ padding:32px 26px; gap:24px; }
  }
  @media (max-width:600px){ .stops{ grid-template-columns:1fr; } .include-list, .bring-list{ grid-template-columns:1fr; } }
  .tour-hero > .wrap{ width:100%; }


  /* =========================================================
     v1.3 — DESTACADOS CENTRADOS + RESEÑAS
     ========================================================= */
  .features-strip{ padding:80px 0; }
  .features-grid{ gap:0; }
  .feature-card{ border-top:0; padding:10px 34px; text-align:center; display:flex; flex-direction:column; align-items:center; }
  .feature-card + .feature-card{ border-left:1px solid rgba(28,26,22,0.12); }
  .feature-card .feature-icon{ width:40px; height:40px; margin:0 auto 18px; }
  .feature-card p{ margin-bottom:0; max-width:230px; }

  .reviews-section{ padding:120px 0; }
  .reviews-head{ text-align:center; max-width:620px; margin:0 auto 60px; }
  .reviews-eyebrow{ display:inline-flex; align-items:center; gap:12px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--exp-rust); }
  .reviews-eyebrow::before, .reviews-eyebrow::after{ content:''; width:28px; height:1px; background:var(--gold); }
  .reviews-head h2{ font-size:clamp(30px,3.4vw,46px); font-weight:400; margin:14px 0 12px; }
  .reviews-head p{ font-size:15px; color:var(--ink-soft); }
  .reviews-grid{ gap:24px; background:none; align-items:stretch; }
  .review-card{ position:relative; margin:0; background:#FBF8F1; padding:46px 36px 34px; border-radius:2px;
    box-shadow:0 1px 0 rgba(28,26,22,.06), 0 18px 40px -24px rgba(28,26,22,.25); transition:transform .3s ease, box-shadow .3s ease; }
  .review-card:hover{ transform:translateY(-4px); box-shadow:0 1px 0 rgba(28,26,22,.06), 0 26px 50px -24px rgba(28,26,22,.32); }
  .review-mark{ position:absolute; top:14px; right:28px; font-family:'Fraunces',serif; font-size:96px; line-height:1; color:var(--gold); opacity:.35; }
  .review-stars{ font-size:16px; letter-spacing:3px; margin-bottom:20px; }
  .review-quote{ margin:0 0 30px; font-size:19px; line-height:1.5; }
  .review-who{ border-top:1px solid rgba(28,26,22,.1); padding-top:20px; }
  .review-avatar{ width:42px; height:42px; font-size:17px; background:var(--hotel-green); color:var(--gold-soft); }
  .review-meta{ display:flex; flex-direction:column; gap:4px; }
  .review-meta strong{ font-size:15px; color:var(--ink); font-weight:500; }
  .review-tag{ font-size:12px; color:var(--exp-rust); letter-spacing:.02em; }
  .review-card.is-featured{ background:var(--hotel-green); color:var(--cream); }
  .review-card.is-featured .review-quote, .review-card.is-featured .review-meta strong{ color:var(--cream); }
  .review-card.is-featured .review-who{ border-color:rgba(242,237,225,.15); }
  .review-card.is-featured .review-avatar{ background:var(--gold); color:var(--hotel-green); }
  .review-card.is-featured .review-tag{ color:var(--gold-soft); }
  .review-card.is-featured .review-mark{ opacity:.5; }
  .reviews-more{ text-align:center; margin-top:44px; }
  .reviews-more a{ font-size:14.5px; color:var(--exp-rust); border-bottom:1px solid var(--exp-rust); padding-bottom:4px; }

  @media (min-width:901px){ .review-card.is-featured{ transform:translateY(-14px); } .review-card.is-featured:hover{ transform:translateY(-18px); } }
  @media (max-width:900px){
    .features-grid{ grid-template-columns:repeat(2,1fr); row-gap:40px; }
    .feature-card{ padding:6px 18px; }
    .feature-card:nth-child(3){ border-left:0; }
    .reviews-section{ padding:80px 0; }
    .reviews-head{ margin-bottom:40px; }
  }

  /* v1.3.1 — Solo logo, más grande */
  .group-mark img{ height:66px; width:auto; transition:height .3s ease, filter .3s ease; }
  header.scrolled .group-mark img{ height:50px; }
  @media (max-width:900px){ .group-mark img{ height:54px; } header.scrolled .group-mark img{ height:44px; } }


  /* =========================================================
     v1.5 — HABITACIONES CON GALERÍA + MOVILIDAD
     ========================================================= */
  .room-gallery{ flex:1.1; min-width:0; display:flex; flex-direction:column; gap:10px; }
  .room-main{ aspect-ratio:4/3; overflow:hidden; background:#0a2620; }
  .room-main img{ width:100%; height:100%; object-fit:cover; }
  .room-thumbs{ display:flex; gap:10px; }
  .room-thumb{ flex:0 0 88px; height:66px; padding:0; border:2px solid transparent; background:none; cursor:pointer; overflow:hidden; opacity:.6; transition:opacity .25s, border-color .25s; }
  .room-thumb img{ width:100%; height:100%; object-fit:cover; }
  .room-thumb:hover{ opacity:.9; }
  .room-thumb.is-active{ opacity:1; border-color:var(--gold); }
  .room-row{ margin-bottom:90px; }
  .room-cards{ display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:20px; }
  .room-card .room-gallery{ flex:none; }
  .room-card-body{ padding-top:26px; }
  .room-card-body .tag{ font-size:13px; color:var(--gold-soft); margin-bottom:12px; display:block; }
  .room-card-body h3{ font-size:clamp(24px,2.4vw,30px); font-weight:400; margin-bottom:12px; }
  .room-card-body p{ color:#CBD9D4; font-size:15px; max-width:440px; margin-bottom:20px; }

  .tour-fleet{ background:var(--cream); padding:110px 0 30px; }
  .fleet-row{ display:grid; grid-template-columns:1fr 1.25fr; gap:70px; align-items:center; }
  .fleet-text h2{ font-size:clamp(28px,3.2vw,42px); font-weight:400; margin:12px 0 18px; }
  .fleet-text p{ font-size:16px; color:var(--ink-soft); line-height:1.7; max-width:460px; margin-bottom:26px; }
  .fleet-media{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:auto auto; gap:12px; }
  .fleet-media img{ width:100%; height:100%; object-fit:cover; display:block; }
  .fleet-media .f-main{ grid-column:1 / 3; aspect-ratio:2/1; overflow:hidden; }
  .fleet-media .f-a, .fleet-media .f-b{ aspect-ratio:1/1; overflow:hidden; }
  .fleet-media .f-a{ aspect-ratio:2/1; }

  @media (max-width:900px){
    .room-gallery{ width:100%; }
    .room-row{ margin-bottom:60px; }
    .room-cards{ grid-template-columns:1fr; gap:60px; }
    .room-thumb{ flex-basis:72px; height:54px; }
    .fleet-row{ grid-template-columns:1fr; gap:40px; }
    .tour-fleet{ padding:80px 0 10px; }
  }
  .fleet-media .f-b img{ object-position:12% 30%; }


  /* =========================================================
     v1.6 — PÁGINA HABITACIONES
     ========================================================= */
  .rooms-hero{ position:relative; color:var(--cream); padding:200px 0 90px;
    background:
      linear-gradient(90deg, rgba(6,24,19,.92) 0%, rgba(8,30,24,.7) 50%, rgba(8,30,24,.35) 100%),
      url('../img/rooms/king-1.jpg') center 55%/cover no-repeat; }
  .rooms-hero h1{ font-size:clamp(44px,6.4vw,88px); font-weight:400; line-height:1; }
  .rooms-hero h1 em{ font-style:italic; font-weight:300; color:var(--gold-soft); }
  .rooms-hero-sub{ max-width:500px; margin-top:22px; font-size:17px; color:#D6E2DE; }
  .rooms-stats{ list-style:none; display:flex; flex-wrap:wrap; gap:0; margin-top:44px; border-top:1px solid rgba(242,237,225,.2); padding-top:26px; max-width:880px; }
  .rooms-stats li{ font-size:13px; color:#BFD1CB; padding-right:30px; margin-right:30px; border-right:1px solid rgba(242,237,225,.18); }
  .rooms-stats li:last-child{ border-right:0; margin-right:0; padding-right:0; }
  .rooms-stats strong{ display:block; font-family:'Fraunces',serif; font-weight:400; font-size:32px; color:var(--cream); line-height:1.1; }
  .rooms-page .room-main{ aspect-ratio:3/2; }

  .hotel-services{ background:var(--cream); padding:100px 0; }
  .hotel-services h2{ font-size:clamp(28px,3vw,40px); font-weight:400; text-align:center; margin-bottom:44px; }
  .services-grid{ list-style:none; display:grid; grid-template-columns:repeat(7,1fr); gap:0; }
  .services-grid li{ display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; font-size:14.5px; padding:10px 8px; }
  .services-grid li + li{ border-left:1px solid rgba(28,26,22,.12); }
  .sv-icon{ width:34px; height:34px; color:var(--gold); }
  .sv-icon svg{ width:100%; height:100%; }

  @media (max-width:900px){
    .rooms-hero{ padding:140px 0 70px; }
    .rooms-stats li{ padding-right:18px; margin-right:18px; margin-bottom:14px; }
    .rooms-stats strong{ font-size:26px; }
    .services-grid{ grid-template-columns:repeat(4,1fr); row-gap:26px; }
    .services-grid li:nth-child(5){ border-left:0; }
    .hotel-services{ padding:70px 0; }
  }
  @media (max-width:520px){
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .services-grid li:nth-child(odd){ border-left:0; }
    .services-grid li:nth-child(5){ border-left:0; }
  }
