:root{
    --cream:#F4ECDD;
    --sand:#E7D9BF;
    --paper:#FBF6EC;
    --ink:#241F18;
    --ink-soft:#4A4136;
    --deep-sea:#0C3B45;      /* Caribbean deep teal */
    --sea:#155E6B;
    --turquoise:#2FA6A0;
    --turquoise-soft:#7CC7C0;
    --brass:#A8874C;
    --brass-deep:#7C6231;
    --shadow:rgba(20,15,8,.18);
    --serif:'Cormorant Garamond',Georgia,serif;
    --sans:'Jost',system-ui,sans-serif;
    --script:'Parisienne',cursive;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:.5px}
  a{text-decoration:none;color:inherit}
  .wrap{max-width:1200px;margin:0 auto;padding:0 28px}
  .eyebrow{
    font-family:var(--sans);font-size:.72rem;letter-spacing:.42em;
    text-transform:uppercase;color:var(--brass);font-weight:500;
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    transition:background .4s ease, box-shadow .4s ease, padding .4s ease;
    padding:22px 0;
  }
  header.scrolled{
    background:rgba(251,246,236,.92);
    backdrop-filter:blur(10px);
    box-shadow:0 1px 0 rgba(36,31,24,.08);
    padding:12px 0;
  }
  .navbar{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:120}
  .brand{font-family:var(--script);font-size:2rem;color:var(--paper);line-height:1;transition:color .4s}
  header.scrolled .brand{color:var(--deep-sea)}
  .navbar .brand{display:flex;align-items:center;line-height:0}
  .navbar .brand img{height:48px;width:auto;display:block;transition:height .4s}
  header.scrolled .navbar .brand img{height:38px}
  .navbar .brand .logo-d{display:none}
  header.scrolled .navbar .brand .logo-w{display:none}
  header.scrolled .navbar .brand .logo-d{display:block}
  .foot-brand .brand img{height:70px;width:auto;display:block}
  .navlinks{display:flex;gap:26px;align-items:center}
  .navlinks a{
    font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
    color:var(--paper);font-weight:400;transition:color .3s;position:relative;
  }
  header.scrolled .navlinks a{color:var(--ink-soft)}
  .navlinks a::after{
    content:"";position:absolute;left:0;bottom:-5px;height:1px;width:0;
    background:var(--turquoise);transition:width .3s;
  }
  .navlinks a:hover::after{width:100%}
  .navlinks a{white-space:nowrap}
  .navbar .brand{flex:0 0 auto;margin-right:24px}
  /* Selector de idioma ES/EN en el menú */
  .navlinks a.lang-switch{
    border:1px solid rgba(244,236,221,.45);border-radius:40px;
    padding:5px 11px;font-size:.72rem;letter-spacing:.1em;line-height:1;
  }
  header.scrolled .navlinks a.lang-switch{border-color:rgba(0,0,0,.22)}
  .navlinks a.lang-switch::after{display:none}
  .navlinks a.lang-switch:hover{color:var(--turquoise)}
  .btn{
    display:inline-block;font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;
    text-transform:uppercase;padding:12px 26px;border-radius:40px;cursor:pointer;
    border:1px solid var(--brass);transition:all .3s;font-weight:400;
  }
  .btn-outline{color:var(--paper);border-color:rgba(244,236,221,.6);background:transparent}
  header.scrolled .btn-outline{color:var(--deep-sea);border-color:var(--brass)}
  .btn-outline:hover{background:var(--brass);color:var(--paper);border-color:var(--brass)}
  .btn-solid{background:var(--deep-sea);color:var(--paper);border-color:var(--deep-sea)}
  .btn-solid:hover{background:var(--turquoise);border-color:var(--turquoise)}
  .btn-brass{background:var(--brass);color:var(--paper);border-color:var(--brass)}
  .btn-brass:hover{background:var(--brass-deep);border-color:var(--brass-deep)}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;z-index:120}
  .menu-toggle span{width:26px;height:2px;background:var(--paper);transition:.3s}
  header.scrolled .menu-toggle span{background:var(--deep-sea)}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(8,32,38,.45);z-index:90;opacity:0;transition:opacity .35s}
  .nav-overlay.show{display:block;opacity:1}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
    text-align:center;overflow:hidden;
    background:
      linear-gradient(180deg,rgba(8,32,38,.72) 0%,rgba(8,32,38,.5) 45%,rgba(8,32,38,.82) 100%),
      url('/assets/hero-bg.jpg') center/cover no-repeat,
      radial-gradient(circle at 30% 30%,var(--sea),var(--deep-sea) 70%);
  }
  .hero-court{
    position:absolute;inset:0;opacity:.28;
    background-image:
      linear-gradient(rgba(124,199,192,.5) 1.5px,transparent 1.5px),
      linear-gradient(90deg,rgba(124,199,192,.5) 1.5px,transparent 1.5px);
    background-size:64px 64px;
    transform:perspective(700px) rotateX(58deg) scale(1.6) translateY(20%);
    transform-origin:center bottom;
    mask-image:linear-gradient(to top,black,transparent 78%);
    -webkit-mask-image:linear-gradient(to top,black,transparent 78%);
  }
  .hero-glow{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);width:120%;height:60%;
    background:radial-gradient(ellipse at center,rgba(47,166,160,.35),transparent 60%);filter:blur(20px)}
  .hero-inner{position:relative;z-index:2;padding:0 24px;animation:rise 1.2s ease both}
  .hero .sup{font-size:.8rem;letter-spacing:.5em;text-transform:uppercase;color:var(--turquoise-soft);margin-bottom:20px}
  .hero .hero-title{margin:0;font-weight:400;letter-spacing:normal;line-height:1}
  .hero .logo-script{display:block;font-family:var(--script);color:var(--paper);font-size:clamp(4rem,13vw,10.5rem);line-height:.9;text-shadow:0 4px 40px rgba(0,0,0,.4)}
  .hero .sub{
    display:block;line-height:1.3;
    font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,3vw,1.8rem);
    color:var(--cream);margin-top:6px;letter-spacing:1px;
  }
  .hero .place{font-size:.78rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(244,236,221,.75);margin-top:22px}
  .hero-cta{display:flex;gap:16px;justify-content:center;margin-top:40px;flex-wrap:wrap}
  .scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;color:var(--cream);opacity:.7;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}
  .scroll-hint span{display:block;width:1px;height:38px;background:var(--cream);margin:10px auto 0;animation:pulse 2s infinite}
  @keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
  @keyframes pulse{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

  /* ---------- SECTION BASE ---------- */
  section{position:relative}
  .band{padding:110px 0}
  .band-cream{background:var(--cream)}
  .band-paper{background:var(--paper)}
  .band-sea{background:var(--deep-sea);color:var(--cream)}
  .sec-head{text-align:center;max-width:680px;margin:0 auto 60px}
  .sec-head h2{font-size:clamp(2.4rem,5vw,3.6rem);color:var(--deep-sea);margin:14px 0 18px}
  .band-sea .sec-head h2{color:var(--paper)}
  .sec-head p{font-family:var(--serif);font-size:1.25rem;color:var(--ink-soft);font-style:italic}
  .band-sea .sec-head p{color:var(--turquoise-soft)}
  .reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- STORY ---------- */
  .story{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
  .story-text h2{font-size:clamp(2rem,4vw,3rem);color:var(--deep-sea);margin:16px 0 22px}
  .story-text p{color:var(--ink-soft);margin-bottom:18px;font-size:1.05rem}
  .story-visual{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;
    background:linear-gradient(150deg,var(--sea),var(--deep-sea));box-shadow:0 30px 60px -20px var(--shadow)}
  .story-visual .net{position:absolute;inset:0;opacity:.35;
    background-image:linear-gradient(rgba(231,217,191,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(231,217,191,.4) 1px,transparent 1px);
    background-size:38px 38px}
  .story-visual .frame{position:absolute;inset:22px;border:1px solid rgba(231,217,191,.5);border-radius:4px}
  .story-visual .mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:var(--script);font-size:5rem;color:rgba(244,236,221,.9)}
  .story-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

  /* ---------- COURTS ---------- */
  .courts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:840px;margin:0 auto}
  .court-card{background:var(--paper);border-radius:8px;overflow:hidden;box-shadow:0 18px 44px -26px var(--shadow);
    transition:transform .4s ease,box-shadow .4s ease}
  .court-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -28px var(--shadow)}
  .court-top{height:210px;position:relative;overflow:hidden}
  .court-top .grid{position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);
    background-size:30px 30px}
  .court-top .num{position:absolute;bottom:14px;right:18px;font-family:var(--serif);font-size:2.4rem;color:rgba(255,255,255,.95);z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.5)}
  .court-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .court-top .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(8,32,38,.6) 100%);z-index:1}
  .c1{background:linear-gradient(140deg,#1a6b6a,#0C3B45)}
  .c2{background:linear-gradient(140deg,#2FA6A0,#155E6B)}
  .court-body{padding:26px 26px 30px}
  .court-body h3{font-size:1.5rem;color:var(--deep-sea);margin-bottom:8px}
  .court-body .tag{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;display:block}
  .court-body p{color:var(--ink-soft);font-size:.96rem;margin-bottom:18px}
  .court-body .price{font-family:var(--serif);font-size:1.15rem;color:var(--sea);border-top:1px solid rgba(36,31,24,.1);padding-top:14px}
  .court-body .price b{font-weight:600}

  /* ---------- MEMBERSHIP ---------- */
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
  .plan{background:rgba(255,255,255,.06);border:1px solid rgba(231,217,191,.22);border-radius:10px;padding:40px 32px;
    display:flex;flex-direction:column;transition:transform .4s,border-color .4s,background .4s}
  .plan:hover{transform:translateY(-8px);border-color:var(--turquoise)}
  .plan.featured{background:linear-gradient(160deg,rgba(47,166,160,.16),rgba(255,255,255,.04));border-color:var(--turquoise);position:relative}
  .plan.featured::before{content:"Más popular";position:absolute;top:-13px;left:50%;transform:translateX(-50%);
    background:var(--brass);color:var(--paper);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 16px;border-radius:20px}
  .plan h3{font-size:1.7rem;color:var(--paper);margin-bottom:6px}
  .plan .desc{color:var(--turquoise-soft);font-size:.9rem;margin-bottom:24px;min-height:40px}
  .plan .amount{font-family:var(--serif);font-size:3rem;color:var(--paper);line-height:1}
  .plan .amount small{font-size:1rem;color:var(--turquoise-soft);font-family:var(--sans)}
  .plan .per{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,236,221,.6);margin:8px 0 26px}
  .plan ul{list-style:none;margin-bottom:30px;flex:1}
  .plan li{padding:10px 0;border-bottom:1px solid rgba(231,217,191,.12);font-size:.94rem;color:var(--cream);display:flex;gap:12px;align-items:flex-start}
  .plan li::before{content:"✦";color:var(--turquoise);font-size:.8rem;margin-top:3px}
  .plan .btn{width:100%;text-align:center}

  /* ---------- BOOKING STRIP ---------- */
  .book-strip{background:linear-gradient(120deg,rgba(124,98,49,.9),rgba(168,135,76,.82)),url('/assets/reservar-bg.jpg') center/cover no-repeat,linear-gradient(120deg,var(--brass-deep),var(--brass));color:var(--paper);text-align:center;padding:78px 0}
  .book-strip{background-image:linear-gradient(120deg,rgba(124,98,49,.9),rgba(168,135,76,.82)),image-set(url('/assets/reservar-bg.webp') type('image/webp'),url('/assets/reservar-bg.jpg') type('image/jpeg'))}
  .hero{background-image:linear-gradient(180deg,rgba(8,32,38,.72) 0%,rgba(8,32,38,.5) 45%,rgba(8,32,38,.82) 100%),image-set(url('/assets/hero-bg.webp') type('image/webp'),url('/assets/hero-bg.jpg') type('image/jpeg'))}
  .book-strip h2{font-size:clamp(2rem,4.4vw,3rem);color:var(--paper)}
  .book-strip p{font-family:var(--serif);font-style:italic;font-size:1.3rem;margin:14px 0 30px;color:rgba(251,246,236,.9)}

  /* ---------- EVENTOS ---------- */
  .events{position:relative;text-align:center;padding:130px 0;color:var(--cream);
    background:linear-gradient(180deg,rgba(8,32,38,.82),rgba(8,32,38,.9)),url('/assets/eventos-bg.jpg') center 52%/cover no-repeat}
  .events{background-image:linear-gradient(180deg,rgba(8,32,38,.82),rgba(8,32,38,.9)),image-set(url('/assets/eventos-bg.webp') type('image/webp'),url('/assets/eventos-bg.jpg') type('image/jpeg'))}
  .events h2{font-size:clamp(2.2rem,4.6vw,3.4rem);color:var(--paper)}
  .events p{font-family:var(--serif);font-style:italic;font-size:1.32rem;max-width:640px;margin:16px auto 32px;color:var(--cream)}

  /* ---------- COMUNIDAD ---------- */
  .community{position:relative;text-align:center;padding:130px 0;color:var(--cream);
    background:linear-gradient(180deg,rgba(8,32,38,.86),rgba(8,32,38,.9)),url('/assets/comunidad-bg.jpg') center 30%/cover no-repeat}
  .community{background-image:linear-gradient(180deg,rgba(8,32,38,.86),rgba(8,32,38,.9)),image-set(url('/assets/comunidad-bg.webp') type('image/webp'),url('/assets/comunidad-bg.jpg') type('image/jpeg'))}
  .community h2{font-size:clamp(2.2rem,4.6vw,3.4rem);color:var(--paper)}
  .community p{font-family:var(--serif);font-style:italic;font-size:1.32rem;max-width:660px;margin:16px auto 32px;color:var(--cream)}
  .btn-wa{background:#25D366;border-color:#25D366;color:#0a3d1e}
  .btn-wa:hover{background:#1ebe5b;border-color:#1ebe5b;color:#08331a}

  /* ---------- CONTACT ---------- */
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
  .info-block{margin-bottom:30px}
  .info-block .lbl{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin-bottom:6px}
  .info-block .val{font-family:var(--serif);font-size:1.35rem;color:var(--deep-sea)}
  .info-block .val a:hover{color:var(--turquoise)}
  .hours{font-size:.98rem;color:var(--ink-soft)}
  .socials{display:flex;gap:14px;margin-top:24px}
  .socials a{width:44px;height:44px;border-radius:50%;border:1px solid var(--brass);display:flex;align-items:center;justify-content:center;color:var(--sea);transition:.3s;font-size:.8rem;letter-spacing:.05em}
  .socials a:hover{background:var(--deep-sea);color:var(--paper);border-color:var(--deep-sea)}
  .map{border-radius:10px;overflow:hidden;min-height:440px;position:relative;box-shadow:0 24px 50px -26px var(--shadow);background:var(--deep-sea)}
  .map iframe{width:100%;height:100%;min-height:440px;border:0;display:block;filter:saturate(.9)}

  /* ---------- FORM ---------- */
  .cform{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
  .cform .full{grid-column:1/-1}
  .cform input,.cform textarea,.cform select{
    width:100%;padding:14px 16px;border:1px solid rgba(36,31,24,.18);border-radius:6px;background:var(--paper);
    font-family:var(--sans);font-size:.95rem;color:var(--ink);transition:border .3s}
  .cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--turquoise)}
  .cform textarea{min-height:110px;resize:vertical}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .form-status{min-height:0;margin:0;font-size:.9rem;color:var(--turquoise-soft)}
  .form-status.err{color:#F0A6A0}
  .form-status:empty{display:none}

  /* ---------- FOOTER ---------- */
  footer{background:#08262C;color:rgba(244,236,221,.7);padding:64px 0 30px}
  .foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;align-items:flex-start;margin-bottom:40px}
  .foot-brand .brand{font-family:var(--script);font-size:2.4rem;color:var(--paper)}
  .foot-brand p{max-width:320px;margin-top:12px;font-size:.92rem}
  .foot-cols{display:flex;gap:60px;flex-wrap:wrap}
  .foot-col h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--turquoise-soft);margin-bottom:16px;font-weight:500}
  .foot-col a{display:block;font-size:.92rem;padding:5px 0;transition:color .3s}
  .foot-col a:hover{color:var(--paper)}
  .foot-bottom{border-top:1px solid rgba(244,236,221,.12);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;letter-spacing:.05em}

  /* ---------- RESPONSIVE ---------- */
  /* Con 7 secciones + selector de idioma el menú se aprieta antes de
     llegar al breakpoint móvil: lo compactamos en vez de romperlo. */
  @media(max-width:1240px){
    .navlinks{gap:18px}
    .navlinks a{font-size:.76rem;letter-spacing:.1em}
    .navbar .brand img{height:42px}
    .navlinks .btn{padding:11px 20px;font-size:.74rem}
  }
  @media(max-width:900px){
    .story{grid-template-columns:1fr;gap:40px}
    .courts-grid{grid-template-columns:1fr;max-width:440px}
    .plans{grid-template-columns:1fr;max-width:440px;margin:0 auto}
    .contact{grid-template-columns:1fr}
    .navlinks{
      position:fixed;top:0;right:-100%;height:100vh;width:78%;max-width:320px;
      background:var(--deep-sea);flex-direction:column;justify-content:center;gap:30px;
      transition:right .4s ease;box-shadow:-10px 0 40px rgba(0,0,0,.3);padding:40px;z-index:110}
    .navlinks.open{right:0}
    .navlinks a,header.scrolled .navlinks a{color:var(--paper);font-size:1rem}
    .navlinks .btn-outline,header.scrolled .navlinks .btn-outline{color:var(--paper);border-color:var(--brass)}
    .menu-toggle{display:flex}
    .band{padding:80px 0}
  }
  @media(max-width:520px){
    .cform{grid-template-columns:1fr}
    .foot-cols{gap:36px}
  }
/* ================= PÁGINAS INTERNAS (añadido SEO 2026) ================= */
.subhero{position:relative;padding:190px 0 90px;text-align:center;color:var(--cream);
background:linear-gradient(180deg,rgba(8,32,38,.86) 0%,rgba(8,32,38,.72) 55%,rgba(8,32,38,.92) 100%),
url('/assets/hero-bg.jpg') center/cover no-repeat,linear-gradient(140deg,var(--sea),var(--deep-sea))}
.subhero{background-image:linear-gradient(180deg,rgba(8,32,38,.86) 0%,rgba(8,32,38,.72) 55%,rgba(8,32,38,.92) 100%),image-set(url('/assets/hero-bg.webp') type('image/webp'),url('/assets/hero-bg.jpg') type('image/jpeg'))}
.subhero h1{font-size:clamp(2.2rem,5vw,3.6rem);color:var(--paper);max-width:900px;margin:14px auto 0}
.subhero .lede{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--cream);max-width:720px;margin:20px auto 0}
.subhero .hero-cta{margin-top:34px}

/* Migas de pan */
.crumbs{background:var(--paper);border-bottom:1px solid rgba(36,31,24,.08);padding:14px 0;font-size:.8rem;letter-spacing:.06em}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--ink-soft)}
.crumbs li{display:flex;gap:8px;align-items:center}
.crumbs li+li::before{content:"›";color:var(--brass)}
.crumbs a{color:var(--sea)}
.crumbs a:hover{color:var(--turquoise)}
.crumbs [aria-current]{color:var(--ink-soft)}

/* Texto largo */
.prose{max-width:780px;margin:0 auto}
.prose.wide{max-width:920px}
.prose h2{font-size:clamp(1.7rem,3.4vw,2.4rem);color:var(--deep-sea);margin:46px 0 16px}
.prose h3{font-size:1.3rem;color:var(--sea);margin:32px 0 12px}
.prose p{color:var(--ink-soft);margin-bottom:18px;font-size:1.04rem}
.prose ul,.prose ol{margin:0 0 20px 22px;color:var(--ink-soft)}
.prose li{margin-bottom:9px;font-size:1.02rem}
.prose a{color:var(--sea);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(21,94,107,.35)}
.prose a:hover{color:var(--turquoise)}
.prose strong{color:var(--ink);font-weight:600}
.prose blockquote{border-left:3px solid var(--brass);padding:6px 0 6px 22px;margin:26px 0;
font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--deep-sea)}
.band-sea .prose h2,.band-sea .prose h3{color:var(--paper)}
.band-sea .prose p,.band-sea .prose li{color:var(--cream)}

/* Tablas de precios */
.tablewrap{overflow-x:auto;margin:26px 0;border-radius:8px;box-shadow:0 18px 44px -30px var(--shadow)}
table.rates{width:100%;border-collapse:collapse;background:var(--paper);font-size:.96rem;min-width:520px}
table.rates caption{caption-side:bottom;padding-top:12px;font-size:.84rem;color:var(--ink-soft);text-align:left;font-style:italic}
table.rates th,table.rates td{padding:14px 18px;text-align:left;border-bottom:1px solid rgba(36,31,24,.09)}
table.rates thead th{background:var(--deep-sea);color:var(--paper);font-family:var(--sans);font-weight:500;
font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;border:0}
table.rates tbody tr:last-child td{border-bottom:0}
table.rates tbody tr:hover{background:rgba(47,166,160,.06)}
table.rates td b{color:var(--deep-sea);font-weight:600}

/* Tarjetas genéricas */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.card{background:var(--paper);border-radius:8px;padding:32px 28px;box-shadow:0 18px 44px -30px var(--shadow);
transition:transform .4s,box-shadow .4s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px var(--shadow)}
.card h3{font-size:1.35rem;color:var(--deep-sea);margin-bottom:10px}
.card p{color:var(--ink-soft);font-size:.97rem;margin-bottom:16px;flex:1}
.card .tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:12px}
.card .more{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sea)}
.card .more:hover{color:var(--turquoise)}
.band-sea .card{background:rgba(255,255,255,.06);border:1px solid rgba(231,217,191,.2)}
.band-sea .card h3{color:var(--paper)}
.band-sea .card p{color:var(--cream)}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{background:var(--paper);border:1px solid rgba(36,31,24,.1);border-radius:8px;margin-bottom:14px;
transition:border-color .3s,box-shadow .3s}
.faq details[open]{border-color:var(--turquoise);box-shadow:0 18px 40px -30px var(--shadow)}
.faq summary{cursor:pointer;padding:20px 56px 20px 24px;font-family:var(--serif);font-size:1.18rem;
color:var(--deep-sea);list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);
color:var(--brass);font-size:1.5rem;font-family:var(--sans);transition:transform .3s}
.faq details[open] summary::after{content:"–"}
.faq summary:focus-visible{outline:2px solid var(--turquoise);outline-offset:2px}
.faq .answer{padding:0 24px 22px;color:var(--ink-soft);font-size:1rem}
.faq .answer p{margin-bottom:12px}
.faq .answer a{color:var(--sea);text-decoration:underline;text-underline-offset:3px}

/* Enlaces relacionados */
.related{background:var(--paper);border-top:1px solid rgba(36,31,24,.08);padding:64px 0}
.related h2{font-size:1.7rem;color:var(--deep-sea);text-align:center;margin-bottom:30px}
.related .links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.related .links a{background:var(--cream);border:1px solid rgba(36,31,24,.12);border-radius:40px;
padding:10px 22px;font-size:.88rem;color:var(--sea);transition:.3s}
.related .links a:hover{background:var(--deep-sea);color:var(--paper);border-color:var(--deep-sea)}

/* Blog */
.post-meta{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:12px}
.toc{background:var(--paper);border-left:3px solid var(--turquoise);border-radius:0 8px 8px 0;padding:24px 28px;margin:0 0 36px}
.toc h2{font-family:var(--sans);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
color:var(--brass);margin:0 0 14px}
.toc ol{margin:0 0 0 18px}
.toc li{margin-bottom:7px;font-size:.96rem}
.toc a{color:var(--sea);text-decoration:none}
.toc a:hover{text-decoration:underline}

/* Franja CTA reutilizable */
.cta-band{background:var(--deep-sea);color:var(--cream);text-align:center;padding:70px 0}
.cta-band h2{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--paper)}
.cta-band p{font-family:var(--serif);font-style:italic;font-size:1.2rem;margin:14px 0 28px;color:var(--turquoise-soft)}

/* Accesibilidad */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brass);color:var(--paper);
padding:12px 20px;border-radius:0 0 6px 0;font-size:.85rem}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--turquoise);outline-offset:3px}

@media(max-width:900px){
.subhero{padding:150px 0 70px}
.related{padding:48px 0}
}

/* Los enlaces de ancla (índice de artículos, #eventos-privados) no deben
   quedar tapados por el header fijo. */
html{scroll-padding-top:96px}

/* Respeta la preferencia del sistema de reducir movimiento. */
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
.scroll-hint span{animation:none}
*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
