  :root{
    /* Paleta oficial tomada del logo */
    --verde-oscuro:#0B1F13;
    --verde-medio:#112918;
    --verde-claro:#1A3D25;
    --papel:#FFFFFF;
    --papel-2:#F7F5F0;   /* hueso muy tenue */
    --papel-3:#EFEDE6;
    --tinta:#14251A;     /* texto sobre claro */
    --gris:#5C6660;      /* texto secundario */
    --laton:#A98B54;     /* filetes y acentos */
    --laton-claro:#C7A972;
    --linea:rgba(11,31,19,.14);
    --linea-clara:rgba(255,255,255,.18);
    --maxw:1200px;
    --gut:32px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:90px}
  body{
    background:var(--papel);color:var(--tinta);
    font-family:"Inter",system-ui,-apple-system,sans-serif;
    font-size:16.5px;font-weight:300;line-height:1.75;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  img{max-width:100%;height:auto;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
  .narrow{max-width:820px;margin:0 auto}

  h1,h2,h3,.serif{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;line-height:1.14;letter-spacing:.005em}

  .label{
    font-family:"Inter",sans-serif;font-size:10.5px;font-weight:400;
    letter-spacing:.28em;text-transform:uppercase;color:var(--laton);
  }
  .label-claro{color:var(--laton-claro)}

  .todo{background:#FFE9A8;color:#5A4300;padding:0 5px;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
  :focus-visible{outline:1.5px solid var(--laton);outline-offset:4px}
  .skip{position:absolute;left:-9999px;top:0;background:var(--verde-oscuro);color:#fff;padding:14px 20px;z-index:200}
  .skip:focus{left:0}

  /* ---------- Botones ---------- */
  .btn{
    display:inline-block;cursor:pointer;border:1px solid currentColor;background:none;
    font-family:"Inter",sans-serif;font-size:11px;font-weight:400;letter-spacing:.22em;
    text-transform:uppercase;padding:17px 34px;transition:.35s ease;text-align:center;
  }
  .btn-oro{color:var(--laton-claro);border-color:rgba(199,169,114,.55)}
  .btn-oro:hover{background:var(--laton-claro);border-color:var(--laton-claro);color:var(--verde-oscuro)}
  .btn-oscuro{color:var(--verde-oscuro);border-color:rgba(11,31,19,.35)}
  .btn-oscuro:hover{background:var(--verde-oscuro);color:#fff;border-color:var(--verde-oscuro)}
  .btn-relleno{background:var(--verde-oscuro);color:#fff;border-color:var(--verde-oscuro)}
  .btn-relleno:hover{background:var(--verde-claro);border-color:var(--verde-claro)}

  /* ---------- Header ---------- */
  .site-header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    transition:background .4s ease,box-shadow .4s ease,border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  .site-header.solid{background:rgba(255,255,255,.97);border-bottom-color:var(--linea);backdrop-filter:blur(10px)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:88px;gap:24px;transition:height .4s ease}
  .site-header.solid .nav{height:74px}

  /* Lockup horizontal: monograma + nombre compuesto */
  .logo{display:flex;align-items:center;gap:15px;flex-shrink:0}
  .logo-mark{position:relative;height:46px;width:41px;flex-shrink:0;transition:height .4s ease,width .4s ease}
  .site-header.solid .logo-mark{height:40px;width:36px}
  .logo-mark img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;max-width:none;transition:opacity .4s ease}
  .logo-mark .oscuro{opacity:0}
  .site-header.solid .logo-mark .claro{opacity:0}
  .site-header.solid .logo-mark .oscuro{opacity:1}
  .logo-txt{display:flex;flex-direction:column;line-height:1;padding-top:2px}
  .logo-txt b{
    font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:19px;
    letter-spacing:.1em;text-transform:uppercase;color:#F2EFE6;transition:color .4s ease;white-space:nowrap;
  }
  .logo-txt i{
    font-style:normal;font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:11.5px;
    letter-spacing:.26em;text-transform:uppercase;color:var(--laton-claro);margin-top:5px;transition:color .4s ease;
  }
  .site-header.solid .logo-txt b{color:var(--verde-oscuro)}
  .site-header.solid .logo-txt i{color:var(--laton)}

  .menu{display:flex;align-items:center;gap:38px}
  .menu a:not(.btn){
    font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;
    color:rgba(255,255,255,.82);transition:color .3s;position:relative;padding:6px 0;
  }
  .menu a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--laton-claro);transition:right .35s ease}
  .menu a:not(.btn):hover::after{right:0}
  .site-header.solid .menu a:not(.btn){color:var(--tinta)}
  .menu .btn{padding:13px 24px}
  .site-header.solid .menu .btn{color:var(--verde-oscuro);border-color:rgba(11,31,19,.35)}
  .site-header.solid .menu .btn:hover{background:var(--verde-oscuro);color:#fff}

  .burger{display:none;background:none;border:none;cursor:pointer;width:40px;height:40px;padding:0;align-items:center;justify-content:center}
  .burger i{display:block;width:24px;height:1px;background:#fff;position:relative;transition:.3s}
  .burger i::before,.burger i::after{content:"";position:absolute;left:0;width:24px;height:1px;background:currentColor;background:#fff;transition:.3s}
  .burger i::before{top:-7px}
  .burger i::after{top:7px}
  .site-header.solid .burger i,.site-header.solid .burger i::before,.site-header.solid .burger i::after{background:var(--tinta)}
  .burger[aria-expanded="true"] i{background:transparent!important}
  .burger[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}
  .burger[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}

  /* ---------- Hero ---------- */
  .hero{
    min-height:100svh;background:var(--verde-oscuro);color:#F2EFE6;
    display:flex;align-items:center;position:relative;overflow:hidden;
    padding:140px 0 90px;
  }
  /* iluminación muy tenue, sin bordes visibles */
  .hero::before{
    content:"";position:absolute;inset:-20%;
    background:
      radial-gradient(circle at 50% 38%, rgba(26,61,37,.55) 0%, rgba(26,61,37,.22) 38%, rgba(11,31,19,0) 68%),
      radial-gradient(circle at 82% 92%, rgba(169,139,84,.07) 0%, rgba(169,139,84,0) 55%);
    pointer-events:none;
  }
  .hero .wrap{position:relative;z-index:2;text-align:center}
  .hero-mono{width:74px;margin:0 auto 42px;opacity:.9}
  .hero .label{margin-bottom:30px;display:block}
  .hero h1{
    font-size:clamp(38px,6.2vw,80px);font-weight:300;line-height:1.1;
    max-width:19ch;margin:0 auto;color:#F7F5EE;
  }
  .hero h1 em{font-style:italic;color:var(--laton-claro)}
  .hero-sub{
    margin:34px auto 0;max-width:56ch;font-size:16.5px;line-height:1.8;
    color:rgba(242,239,230,.72);font-weight:300;
  }
  .hero-cta{margin-top:52px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .hero-rule{width:1px;height:56px;background:linear-gradient(rgba(199,169,114,.6),transparent);margin:70px auto 0}

  /* ---------- Franja de materias ---------- */
  .franja{background:var(--verde-medio);color:rgba(242,239,230,.7);padding:26px 0;border-top:1px solid rgba(255,255,255,.07)}
  .franja ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 44px}
  .franja li{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
  .franja li::before{content:"◇";color:var(--laton);font-size:9px}

  /* ---------- Secciones ---------- */
  section{padding:118px 0}
  .sec-label{text-align:center;margin-bottom:22px}
  .sec-title{text-align:center;font-size:clamp(30px,4.4vw,52px);max-width:20ch;margin:0 auto 26px}
  .sec-intro{text-align:center;max-width:64ch;margin:0 auto;color:var(--gris);font-size:16.5px;line-height:1.85}
  .rule{width:52px;height:1px;background:var(--laton);margin:0 auto 44px}

  /* La firma */
  .firma{background:var(--papel-2)}
  .firma-texto p{color:var(--gris);margin-bottom:22px;font-size:17px;line-height:1.9}
  .firma-texto p strong{color:var(--tinta);font-weight:500}
  .cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);margin-top:66px}
  .cifra{background:var(--papel-2);padding:38px 26px;text-align:center}
  .cifra b{display:block;font-family:"Cormorant Garamond",serif;font-size:44px;font-weight:300;color:var(--verde-claro);line-height:1;margin-bottom:12px}
  .cifra span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}

  /* Principios */
  .principios{display:grid;grid-template-columns:repeat(2,1fr);gap:0 64px;margin-top:70px}
  .principio{padding:34px 0;border-top:1px solid var(--linea)}
  .principio h3{font-size:25px;margin-bottom:10px}
  .principio p{font-size:15.5px;color:var(--gris);line-height:1.75}

  /* Áreas */
  .areas-lista{margin-top:74px;border-top:1px solid var(--linea)}
  .area{
    display:grid;grid-template-columns:88px 1fr 1.15fr;gap:40px;align-items:start;
    padding:46px 0;border-bottom:1px solid var(--linea);transition:background .35s ease;
  }
  .area:hover{background:var(--papel-2)}
  .area .num{font-family:"Cormorant Garamond",serif;font-size:15px;color:var(--laton);letter-spacing:.1em;padding-top:8px}
  .area h3{font-size:29px;font-weight:400}
  .area .desc{color:var(--gris);font-size:15.5px;line-height:1.8}
  .area .tags{list-style:none;margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
  .area .tags li{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);border:1px solid var(--linea);padding:5px 11px;border-radius:1px}
  .areas-nota{text-align:center;margin-top:54px;color:var(--gris);font-size:15.5px}
  .areas-nota a{color:var(--verde-claro);border-bottom:1px solid var(--laton);padding-bottom:2px}

  /* Metodología */
  .metodo{background:var(--verde-oscuro);color:#F2EFE6}
  .metodo .sec-title{color:#F7F5EE}
  .metodo .sec-intro{color:rgba(242,239,230,.7)}
  .metodo .rule{background:var(--laton)}
  .pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);margin-top:72px}
  .paso{background:var(--verde-oscuro);padding:44px 30px 46px}
  .paso .n{font-family:"Cormorant Garamond",serif;font-size:15px;color:var(--laton-claro);letter-spacing:.1em;display:block;margin-bottom:22px}
  .paso h3{font-size:24px;color:#F7F5EE;margin-bottom:12px;font-weight:400}
  .paso p{font-size:14.5px;color:rgba(242,239,230,.68);line-height:1.8}
  .cita{
    text-align:center;margin-top:86px;padding-top:56px;border-top:1px solid rgba(255,255,255,.12);
    font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:300;
    font-size:clamp(23px,3vw,34px);line-height:1.5;color:rgba(247,245,238,.9);max-width:26ch;margin-left:auto;margin-right:auto;
  }

  /* Agendar y honorarios */
  .tarifas{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:70px}
  .tarifa{
    border:1px solid var(--linea);padding:44px 38px 40px;display:flex;flex-direction:column;
    background:var(--papel);transition:border-color .35s ease,box-shadow .35s ease;
  }
  .tarifa:hover{border-color:rgba(169,139,84,.55);box-shadow:0 14px 40px rgba(11,31,19,.06)}
  .tarifa .tipo{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--laton);margin-bottom:20px}
  .tarifa h3{font-size:28px;font-weight:400;margin-bottom:20px;min-height:2.3em}
  .tarifa .precio{
    font-family:"Cormorant Garamond",serif;font-size:46px;font-weight:300;color:var(--verde-oscuro);
    line-height:1;display:flex;align-items:baseline;gap:9px;
  }
  .tarifa .precio small{font-family:"Inter",sans-serif;font-size:11px;font-weight:400;letter-spacing:.18em;color:var(--gris)}
  .tarifa .incluye{list-style:none;margin:28px 0 32px;padding-top:26px;border-top:1px solid var(--linea)}
  .tarifa .incluye li{font-size:14.5px;color:var(--gris);padding-left:22px;position:relative;margin-bottom:11px;line-height:1.65}
  .tarifa .incluye li::before{content:"◇";position:absolute;left:0;top:1px;color:var(--laton);font-size:10px}
  .tarifa .btn{margin-top:auto}

  .agenda-caja{margin-top:66px;border:1px solid var(--linea);background:var(--papel-2);padding:52px 44px}
  .agenda-caja h3{font-size:30px;font-weight:400;text-align:center;margin-bottom:14px}
  .agenda-caja > p{text-align:center;color:var(--gris);max-width:62ch;margin:0 auto 34px;font-size:15.5px}
  .agenda-embed{
    min-height:640px;border:1px solid var(--linea);background:var(--papel);
    display:flex;align-items:center;justify-content:center;text-align:center;padding:40px;
  }
  .agenda-embed iframe{width:100%;min-height:640px;border:0;display:block}
  .agenda-pendiente{max-width:52ch;color:var(--gris);font-size:14.5px;line-height:1.8}
  .agenda-pendiente b{display:block;font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--tinta);font-weight:400;margin-bottom:12px}

  .pago{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);margin-top:44px}
  .pago > div{background:var(--papel-2);padding:28px 24px}
  .pago .k{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--laton);display:block;margin-bottom:10px}
  .pago .v{font-size:14.5px;color:var(--gris);line-height:1.7}

  /* FAQ */
  .faq{background:var(--papel-2)}
  .faq-lista{margin-top:66px;border-top:1px solid var(--linea)}
  .faq details{border-bottom:1px solid var(--linea)}
  .faq summary{
    padding:28px 44px 28px 0;cursor:pointer;list-style:none;position:relative;
    font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:400;line-height:1.35;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:1px;background:var(--laton);transition:.3s}
  .faq summary::before{content:"";position:absolute;right:11px;top:50%;margin-top:-5px;width:1px;height:11px;background:var(--laton);transition:.3s}
  .faq details[open] summary::before{transform:rotate(90deg);opacity:0}
  .faq details p{padding:0 60px 30px 0;color:var(--gris);font-size:15.5px;line-height:1.85;margin-top:-6px}

  /* Contacto */
  .contacto{background:var(--verde-oscuro);color:#F2EFE6}
  .contacto .sec-title{color:#F7F5EE}
  .contacto .sec-intro{color:rgba(242,239,230,.7)}
  .contacto .rule{background:var(--laton)}
  .cont-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:78px;align-items:start;margin-top:76px}

  .datos{display:flex;flex-direction:column}
  .datos > *{
    display:flex;justify-content:space-between;align-items:baseline;gap:20px;
    padding:20px 0;border-top:1px solid rgba(255,255,255,.14);transition:.3s;
  }
  .datos > *:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
  a.dato:hover{padding-left:9px}
  .datos .k{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--laton-claro);flex-shrink:0}
  .datos .v{font-size:15px;text-align:right;color:rgba(242,239,230,.9);font-weight:300}

  form{display:grid;gap:26px}
  .field label{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,239,230,.62);margin-bottom:11px}
  .field input,.field select,.field textarea{
    width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.22);
    color:#F2EFE6;font-family:"Inter",sans-serif;font-size:15.5px;font-weight:300;padding:10px 2px;transition:border-color .3s;
  }
  .field textarea{resize:vertical;min-height:96px}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--laton-claro)}
  .field select option{color:#14251A;background:#fff}
  .field ::placeholder{color:rgba(242,239,230,.35)}
  .field.error input,.field.error select,.field.error textarea{border-color:#D99A9A}
  .err{display:none;color:#E6ADAD;font-size:12.5px;margin-top:8px;letter-spacing:.02em}
  .field.error .err{display:block}
  .dosc{display:grid;grid-template-columns:1fr 1fr;gap:26px}

  .consent{display:flex;gap:13px;align-items:flex-start;font-size:13px;color:rgba(242,239,230,.65);line-height:1.65}
  .consent input{width:16px;height:16px;flex-shrink:0;margin-top:3px;accent-color:var(--laton)}
  .consent a{color:var(--laton-claro);border-bottom:1px solid rgba(199,169,114,.4)}
  .consent.error{color:#E6ADAD}
  form .btn{justify-self:start;margin-top:4px}
  .form-alt{font-size:13px;color:rgba(242,239,230,.55)}
  .form-alt a{color:var(--laton-claro);border-bottom:1px solid rgba(199,169,114,.4)}
  .hp{position:absolute;left:-9999px}

  .form-ok{display:none;border:1px solid rgba(199,169,114,.4);padding:44px 38px;text-align:center}
  .form-ok h3{font-size:30px;color:var(--laton-claro);margin-bottom:14px;font-weight:400}
  .form-ok p{color:rgba(242,239,230,.75);margin-bottom:30px;font-size:15px}
  .is-sent form{display:none}
  .is-sent .form-ok{display:block}

  /* Footer */
  footer{background:#081710;color:rgba(242,239,230,.5);padding:74px 0 40px}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:44px;flex-wrap:wrap;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1)}
  .foot-logo{width:230px;opacity:.92}
  .foot-nav{display:flex;gap:34px;flex-wrap:wrap}
  .foot-nav a{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;transition:color .3s}
  .foot-nav a:hover{color:var(--laton-claro)}
  .foot-legal{margin-top:34px;font-size:12.5px;line-height:1.8;color:rgba(242,239,230,.38);max-width:82ch}
  .foot-base{margin-top:30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(242,239,230,.4)}

  /* WhatsApp flotante */
  .wa{position:fixed;right:24px;bottom:24px;z-index:90;width:52px;height:52px;border-radius:50%;background:var(--verde-claro);border:1px solid rgba(199,169,114,.35);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(0,0,0,.3);transition:.3s}
  .wa:hover{background:var(--laton);transform:translateY(-3px)}
  .wa svg{width:25px;height:25px;fill:#F2EFE6}

  /* Reveal */
  .rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
  .rv.in{opacity:1;transform:none}

  /* ---------- Responsive ---------- */
  @media(max-width:1000px){
    .pasos{grid-template-columns:1fr 1fr}
    .cont-grid{grid-template-columns:1fr;gap:56px}
    .area{grid-template-columns:60px 1fr;gap:26px}
    .area .desc{grid-column:2}
  }
  @media(max-width:860px){
    :root{--gut:24px}
    .burger{display:flex}
    .menu{
      position:fixed;inset:0;background:var(--verde-oscuro);
      flex-direction:column;justify-content:center;align-items:center;gap:8px;
      transform:translateY(-100%);transition:transform .5s cubic-bezier(.4,0,.2,1);
      pointer-events:none;
    }
    .menu.open{transform:none;pointer-events:auto}
    .menu a:not(.btn){color:rgba(242,239,230,.85)!important;font-size:13px;letter-spacing:.24em;padding:16px 0}
    .menu .btn{margin-top:26px;color:var(--laton-claro)!important;border-color:rgba(199,169,114,.55)!important;padding:16px 32px}
    .site-header.solid .menu .btn:hover{background:var(--laton-claro);color:var(--verde-oscuro)!important}
    .burger{z-index:110}
    /* el logo permanece visible sobre el menú desplegado */
    .site-header.menu-abierto .logo{position:relative;z-index:110}
    .site-header.menu-abierto .logo-mark .claro{opacity:1}
    .site-header.menu-abierto .logo-mark .oscuro{opacity:0}
    .site-header.menu-abierto .logo-txt b{color:#F2EFE6}
    .site-header.menu-abierto .logo-txt i{color:var(--laton-claro)}
    .site-header.menu-abierto .burger i,
    .site-header.menu-abierto .burger i::before,
    .site-header.menu-abierto .burger i::after{background:#F2EFE6!important}
    .principios{grid-template-columns:1fr;gap:0}
    .cifras{grid-template-columns:1fr;}
  }
  @media(max-width:620px){
    section{padding:84px 0}
    .logo{gap:11px}
    .logo-mark{height:38px;width:34px}
    .site-header.solid .logo-mark{height:34px;width:30px}
    .logo-txt b{font-size:15.5px;letter-spacing:.07em}
    .logo-txt i{font-size:9.5px;letter-spacing:.2em;margin-top:4px}
    .wa{right:16px;bottom:16px;width:48px;height:48px}
    .wa svg{width:22px;height:22px}
    .hero{padding:120px 0 70px}
    .hero-mono{width:60px;margin-bottom:34px}
    .pasos{grid-template-columns:1fr}
    .dosc{grid-template-columns:1fr}
    .area{grid-template-columns:1fr;gap:14px;padding:38px 0}
    .area .num{padding-top:0}
    .franja ul{gap:12px 26px}
    .hero-cta .btn{width:100%}
    .datos .v{font-size:14px}
    .foot-top{flex-direction:column;gap:34px}
  }
  @media(prefers-reduced-motion:reduce){
    .rv{transition:none;opacity:1;transform:none}
    html{scroll-behavior:auto}
    *{transition-duration:.01ms!important}
  }

/* ==========================================================================
   PÁGINAS DE ÁREA DE PRÁCTICA
   ========================================================================== */
.pagina-hero{
  background:var(--verde-oscuro);color:#F2EFE6;position:relative;overflow:hidden;
  padding:184px 0 96px;text-align:center;
}
.pagina-hero::before{
  content:"";position:absolute;inset:-30%;
  background:radial-gradient(circle at 50% 40%, rgba(26,61,37,.5) 0%, rgba(26,61,37,.18) 40%, rgba(11,31,19,0) 70%);
  pointer-events:none;
}
.pagina-hero .wrap{position:relative;z-index:2}
.pagina-hero h1{font-size:clamp(34px,5.4vw,64px);font-weight:300;max-width:20ch;margin:22px auto 0;color:#F7F5EE}
.pagina-hero .bajada{margin:30px auto 0;max-width:60ch;color:rgba(242,239,230,.72);font-size:16.5px;line-height:1.8}

.migas{padding:22px 0;border-bottom:1px solid var(--linea);background:var(--papel)}
.migas ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.migas li::after{content:"/";margin-left:10px;color:var(--laton)}
.migas li:last-child::after{content:""}
.migas a{color:var(--gris)}
.migas a:hover{color:var(--verde-claro)}
.migas [aria-current]{color:var(--verde-oscuro)}

.cuerpo{padding:104px 0}
.cuerpo .narrow p{color:var(--gris);font-size:17px;line-height:1.95;margin-bottom:26px}
.cuerpo .narrow p:first-of-type::first-letter{
  float:left;font-family:"Cormorant Garamond",serif;font-size:70px;line-height:.82;
  padding:6px 14px 0 0;color:var(--verde-claro);font-weight:300;
}

.subservicios{background:var(--papel-2);padding:104px 0}
.sub-lista{margin-top:64px;border-top:1px solid var(--linea)}
.sub{display:grid;grid-template-columns:64px 1fr 1.25fr;gap:36px;align-items:start;padding:38px 0;border-bottom:1px solid var(--linea)}
.sub .n{font-family:"Cormorant Garamond",serif;font-size:14px;color:var(--laton);letter-spacing:.1em;padding-top:6px}
.sub h3{font-size:25px;font-weight:400}
.sub p{color:var(--gris);font-size:15.5px;line-height:1.8}

.cierre{background:var(--verde-oscuro);color:#F2EFE6;padding:104px 0;text-align:center}
.cierre h2{font-size:clamp(28px,4vw,44px);color:#F7F5EE;max-width:22ch;margin:0 auto 20px}
.cierre p{color:rgba(242,239,230,.72);max-width:56ch;margin:0 auto 40px;font-size:16px}
.cierre .acciones{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.otras{padding:104px 0}
.otras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);margin-top:56px}
.otra{background:var(--papel);padding:34px 30px;transition:background .35s ease}
.otra:hover{background:var(--papel-2)}
.otra span{font-family:"Cormorant Garamond",serif;font-size:14px;color:var(--laton);display:block;margin-bottom:14px}
.otra h3{font-size:22px;font-weight:400;margin-bottom:8px}
.otra p{font-size:14px;color:var(--gris);line-height:1.7}

/* Tarjetas de área en la portada */
.area-link{display:block;color:inherit}
.area .mas{display:inline-block;margin-top:18px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--laton);border-bottom:1px solid rgba(169,139,84,.45);padding-bottom:3px}
.area:hover .mas{color:var(--verde-claro)}

@media(max-width:1000px){
  .sub{grid-template-columns:48px 1fr;gap:22px}
  .sub p{grid-column:2}
  .otras-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .pagina-hero{padding:140px 0 74px}
  .cuerpo,.subservicios,.cierre,.otras{padding:74px 0}
  .sub{grid-template-columns:1fr;gap:12px;padding:32px 0}
  .sub .n{padding-top:0}
  .otras-grid{grid-template-columns:1fr}
  .cuerpo .narrow p:first-of-type::first-letter{font-size:56px}
}

/* ==========================================================================
   FOTOGRAFÍA — duotono verde de marca + degradados de legibilidad
   Las fotos se desaturan y se tiñen con el verde del logo para que las tres
   (azulada, cálida y bronce) lean como una sola familia.
   ========================================================================== */
.foto{position:absolute;inset:0;overflow:hidden;isolation:isolate;z-index:0;pointer-events:none}
.foto img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.06) brightness(1.02)}
.foto::before{content:"";position:absolute;inset:0;background:#1E4630;mix-blend-mode:multiply}
.foto::after{content:"";position:absolute;inset:0;background:#0B1F13;opacity:.35}

/* Velo de legibilidad, distinto según dónde va el texto */
.velo{position:absolute;inset:0;z-index:1;pointer-events:none}
.velo-centro{
  background:
    radial-gradient(ellipse 78% 68% at 50% 48%, rgba(11,31,19,.92) 0%, rgba(11,31,19,.72) 55%, rgba(11,31,19,.55) 100%),
    linear-gradient(180deg, rgba(11,31,19,.96) 0%, rgba(11,31,19,.45) 34%, rgba(11,31,19,.55) 66%, rgba(11,31,19,.97) 100%);
}
.velo-inferior{
  background:linear-gradient(180deg, rgba(11,31,19,.55) 0%, rgba(11,31,19,.72) 45%, rgba(11,31,19,.96) 100%);
}
.velo-lateral{
  background:linear-gradient(100deg, rgba(11,31,19,.97) 0%, rgba(11,31,19,.88) 42%, rgba(11,31,19,.55) 100%);
}

/* El hero y las bandas necesitan que su contenido quede sobre el velo */
.hero.con-foto::before{display:none}
.hero.con-foto .wrap{z-index:3}
.pagina-hero.con-foto::before{display:none}
.pagina-hero.con-foto .wrap{z-index:3}

/* Banda fotográfica entre secciones */
.banda{position:relative;overflow:hidden;isolation:isolate;padding:132px 0;color:#F2EFE6;text-align:center}
.banda .wrap{position:relative;z-index:3}
.banda .label{color:var(--laton-claro)}
.banda blockquote{
  font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:300;
  font-size:clamp(26px,3.8vw,46px);line-height:1.42;color:#F7F5EE;
  max-width:24ch;margin:26px auto 0;
}
.banda cite{
  display:block;margin-top:30px;font-style:normal;font-size:10.5px;
  letter-spacing:.24em;text-transform:uppercase;color:rgba(242,239,230,.6);
}
.banda-alta{padding:168px 0}

/* Foto de apoyo dentro de una sección clara */
.figura{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--linea)}
.figura img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.figura::before{content:"";position:absolute;inset:0;background:#1E4630;mix-blend-mode:multiply;opacity:.82}
.figura::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,19,.05),rgba(11,31,19,.5))}

.firma-media{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch;margin-top:72px}
.firma-media .figura{min-height:420px}
.firma-media .pie{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 32px;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(242,239,230,.85);
}

@media(max-width:860px){
  .firma-media{grid-template-columns:1fr;gap:34px}
  .firma-media .figura{min-height:290px}
  .banda{padding:96px 0}
  .banda-alta{padding:112px 0}
}

.figura-ancha{margin-top:72px;height:400px}
@media(max-width:860px){ .figura-ancha{height:280px;margin-top:52px} }

/* ==========================================================================
   EQUIPO
   ========================================================================== */
.equipo{background:var(--papel);padding:118px 0}
.equipo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:74px}
.miembro{display:flex;flex-direction:column}
.retrato{
  position:relative;aspect-ratio:4/5;overflow:hidden;isolation:isolate;
  background:var(--verde-oscuro);border:1px solid var(--linea);
}
.retrato img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.retrato:has(img)::before{content:"";position:absolute;inset:0;background:#1E4630;mix-blend-mode:multiply;opacity:.55;z-index:1}
.retrato::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--laton);
  transition:width .5s cubic-bezier(.2,.7,.3,1);z-index:2;
}
.miembro:hover .retrato::after{width:100%}
/* Marcador elegante mientras no hay fotografía */
.retrato-vacio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px}
.retrato-vacio img{width:64px;height:auto;opacity:.5;filter:none}
.retrato-vacio span{
  font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(242,239,230,.45);text-align:center;line-height:2;
}
.miembro h3{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:400;margin:26px 0 6px}
.miembro .rol{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--laton);margin-bottom:16px}
.miembro .bio{font-size:14.5px;color:var(--gris);line-height:1.8}
.miembro .datos-prof{list-style:none;margin-top:16px;display:grid;gap:7px}
.miembro .datos-prof li{font-size:13px;color:var(--gris);padding-left:18px;position:relative;line-height:1.6}
.miembro .datos-prof li::before{content:"◇";position:absolute;left:0;top:1px;color:var(--laton);font-size:9px}

@media(max-width:900px){ .equipo-grid{grid-template-columns:1fr 1fr;gap:34px} }
@media(max-width:600px){ .equipo-grid{grid-template-columns:1fr;gap:48px} .equipo{padding:84px 0} }

/* Ficha destacada del equipo */
.miembro-destacado{display:grid;grid-template-columns:.85fr 1.35fr;gap:64px;align-items:start;margin-top:74px}
.miembro-destacado .retrato{aspect-ratio:4/5}
.miembro-destacado h3{font-size:34px;margin:0 0 8px}
.miembro-destacado .rol{margin-bottom:26px}
.miembro-destacado .bio{font-size:16px;line-height:1.9;margin-bottom:18px}
.miembro-destacado .cuerpo-txt p{color:var(--gris);font-size:16px;line-height:1.9;margin-bottom:18px}
.trayectoria{list-style:none;margin-top:30px;padding-top:28px;border-top:1px solid var(--linea);display:grid;gap:14px}
.trayectoria li{font-size:14.5px;color:var(--gris);line-height:1.7;padding-left:0;display:grid;grid-template-columns:132px 1fr;gap:20px}
.trayectoria .et{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--laton);padding-top:5px}
.equipo-resto{margin-top:96px;padding-top:64px;border-top:1px solid var(--linea)}
.equipo-resto > .label{margin-bottom:8px}
@media(max-width:900px){
  .miembro-destacado{grid-template-columns:1fr;gap:38px}
  .miembro-destacado .retrato{max-width:320px}
  .trayectoria li{grid-template-columns:1fr;gap:2px}
  .trayectoria .et{padding-top:0}
}

/* ==========================================================================
   PÁGINA DE PREGUNTAS FRECUENTES
   ========================================================================== */
.faq-pagina{padding:96px 0 110px;background:var(--papel)}
.faq-indice{
  background:var(--papel-2);border:1px solid var(--linea);padding:38px 40px;margin-bottom:86px;
}
.faq-indice .label{margin-bottom:22px}
.faq-indice ol{list-style:none;columns:2;column-gap:52px}
.faq-indice li{
  break-inside:avoid;display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid var(--linea);
}
.faq-indice a{font-size:15px;color:var(--tinta)}
.faq-indice a:hover{color:var(--verde-claro)}
.faq-indice span{font-size:10.5px;letter-spacing:.14em;color:var(--laton);flex-shrink:0}

.faq-bloque{margin-bottom:76px;scroll-margin-top:110px}
.faq-cat{
  font-size:clamp(26px,3.4vw,38px);font-weight:300;padding-bottom:20px;
  border-bottom:1px solid var(--laton);margin-bottom:8px;
}
.faq-pagina .faq-lista{margin-top:0}
.faq-pagina details{border-bottom:1px solid var(--linea)}
.faq-pagina summary{
  padding:26px 46px 26px 0;cursor:pointer;list-style:none;position:relative;
  font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:400;line-height:1.4;
  transition:color .3s;
}
.faq-pagina summary:hover{color:var(--verde-claro)}
.faq-pagina summary::-webkit-details-marker{display:none}
.faq-pagina summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:1px;background:var(--laton);transition:.3s}
.faq-pagina summary::before{content:"";position:absolute;right:11.5px;top:50%;margin-top:-6px;width:1px;height:12px;background:var(--laton);transition:.3s}
.faq-pagina details[open] summary::before{transform:rotate(90deg);opacity:0}
.faq-cuerpo{padding:0 62px 30px 0;margin-top:-4px}
.faq-cuerpo p{color:var(--gris);font-size:15.5px;line-height:1.9;margin-bottom:15px}
.faq-cuerpo p:last-child{margin-bottom:0}
.faq-ul{list-style:none;margin:4px 0 18px;display:grid;gap:9px}
.faq-ul li{font-size:15px;color:var(--gris);padding-left:20px;position:relative;line-height:1.65}
.faq-ul li::before{content:"◇";position:absolute;left:0;top:1px;color:var(--laton);font-size:9px}
.faq-enlace{margin-top:20px!important}
.faq-enlace a{
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--laton);
  border-bottom:1px solid rgba(169,139,84,.45);padding-bottom:3px;
}
.faq-enlace a:hover{color:var(--verde-claro)}

@media(max-width:760px){
  .faq-indice{padding:28px 24px;margin-bottom:60px}
  .faq-indice ol{columns:1}
  .faq-cuerpo{padding-right:0}
  .faq-pagina summary{font-size:20px;padding-right:38px}
  .faq-pagina{padding:70px 0 84px}
}

/* Segunda ficha: retrato a la derecha, para dar ritmo */
.miembro-destacado + .miembro-destacado{margin-top:86px;padding-top:78px;border-top:1px solid var(--linea)}
.miembro-destacado.invertido{grid-template-columns:1.35fr .85fr}
.miembro-destacado.invertido .retrato{order:2}
.miembro-destacado.invertido .cuerpo-txt{order:1}
@media(max-width:900px){
  .miembro-destacado.invertido{grid-template-columns:1fr}
  .miembro-destacado.invertido .retrato{order:1}
  .miembro-destacado.invertido .cuerpo-txt{order:2}
  .miembro-destacado + .miembro-destacado{margin-top:56px;padding-top:52px}
}

/* ==========================================================================
   MENÚ DESPLEGABLE
   ========================================================================== */
.tiene-sub{position:relative}
.sub-btn{
  background:none;border:none;cursor:pointer;font-family:inherit;color:inherit;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;
  display:flex;align-items:center;gap:8px;padding:0;transition:color .3s ease;
}
.sub-btn svg{width:9px;height:6px;transition:transform .3s ease;opacity:.7}
.tiene-sub.abierto .sub-btn svg{transform:rotate(180deg)}
.site-header:not(.solid) .sub-btn{color:rgba(242,239,230,.82)}
.site-header:not(.solid) .sub-btn:hover{color:#fff}
.site-header.solid .sub-btn{color:var(--gris)}
.site-header.solid .sub-btn:hover{color:var(--verde-oscuro)}

.submenu{
  position:absolute;top:calc(100% + 22px);left:50%;transform:translateX(-50%) translateY(-8px);
  min-width:330px;background:var(--papel);border:1px solid var(--linea);
  box-shadow:0 24px 60px rgba(11,31,19,.16);padding:10px;
  opacity:0;visibility:hidden;transition:opacity .28s ease,transform .28s ease,visibility .28s;
  z-index:60;
}
.tiene-sub.abierto .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.submenu::before{
  content:"";position:absolute;top:-7px;left:50%;margin-left:-7px;width:12px;height:12px;
  background:var(--papel);border-left:1px solid var(--linea);border-top:1px solid var(--linea);
  transform:rotate(45deg);
}
.submenu a{
  display:block;padding:14px 18px;text-decoration:none;border-radius:2px;
  transition:background .25s ease;letter-spacing:normal;text-transform:none;
}
.submenu a:hover{background:var(--papel-2)}
.submenu a b{
  display:block;font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:400;
  color:var(--verde-oscuro);margin-bottom:3px;
}
.submenu a span{display:block;font-size:12.5px;color:var(--gris);line-height:1.5}
.sub-todas{
  margin-top:6px;border-top:1px solid var(--linea);
  font-size:10px!important;letter-spacing:.2em!important;text-transform:uppercase!important;
  color:var(--laton)!important;text-align:center;
}
.menu a.activo{color:var(--laton-claro)}
.site-header.solid .menu a.activo{color:var(--verde-claro)}

/* ==========================================================================
   ATAJOS DE LA PORTADA
   ========================================================================== */
.atajos{padding:118px 0;background:var(--papel-2)}
.atajos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea)}
.atajo{
  background:var(--papel-2);padding:40px 32px 36px;text-decoration:none;color:inherit;
  display:flex;flex-direction:column;transition:background .35s ease;
}
.atajo:hover{background:var(--papel)}
.atajo .n{font-family:"Cormorant Garamond",serif;font-size:13px;letter-spacing:.2em;color:var(--laton)}
.atajo h3{font-size:24px;font-weight:400;margin:18px 0 12px}
.atajo p{font-size:14.5px;color:var(--gris);line-height:1.7;flex:1}
.atajo .mas{
  display:inline-block;margin-top:22px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--laton);border-bottom:1px solid rgba(169,139,84,.4);padding-bottom:3px;align-self:flex-start;
}
.atajo:hover .mas{color:var(--verde-claro)}

@media(max-width:1000px){ .atajos-grid{grid-template-columns:1fr 1fr} }
@media(max-width:600px){ .atajos-grid{grid-template-columns:1fr} .atajos{padding:78px 0} }

/* --- Submenú dentro del menú móvil --- */
@media(max-width:860px){
  .tiene-sub{width:100%}
  .sub-btn{
    width:100%;justify-content:space-between;padding:17px 0;
    border-bottom:1px solid rgba(242,239,230,.12);font-size:15px;letter-spacing:.02em;
    text-transform:none;font-family:"Cormorant Garamond",serif;
  }
  .site-header:not(.solid) .sub-btn,.site-header.solid .sub-btn{color:#F2EFE6}
  .submenu{
    position:static;transform:none;min-width:0;background:transparent;border:none;
    box-shadow:none;padding:0;opacity:1;visibility:visible;
    max-height:0;overflow:hidden;transition:max-height .35s ease;
  }
  .tiene-sub.abierto .submenu{max-height:600px;transform:none}
  .submenu::before{display:none}
  .submenu a{padding:13px 0 13px 18px;border-bottom:1px solid rgba(242,239,230,.08)}
  .submenu a:hover{background:transparent}
  .submenu a b{color:rgba(242,239,230,.9);font-size:16px}
  .submenu a span{color:rgba(242,239,230,.5);font-size:12px}
  .sub-todas{text-align:left;border-top:none}
}

/* Los enlaces del submenú no deben heredar el estilo del menú principal */
.menu .submenu a:not(.btn){
  display:block;padding:14px 18px;font-size:15px;letter-spacing:normal;
  text-transform:none;font-weight:400;color:var(--tinta);position:static;
}
.menu .submenu a:not(.btn)::after{display:none}
.menu .submenu a:not(.btn):hover{background:var(--papel-2);color:var(--tinta)}
.site-header.solid .menu .submenu a:not(.btn){color:var(--tinta)}
.menu .submenu a b{
  display:block;font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:400;
  color:var(--verde-oscuro);margin-bottom:3px;letter-spacing:normal;text-transform:none;
}
.menu .submenu a span{display:block;font-size:12.5px;color:var(--gris);line-height:1.5}
.menu .submenu a.sub-todas{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--laton);
  text-align:center;margin-top:6px;border-top:1px solid var(--linea);
}
.site-header.solid .menu .submenu a.sub-todas{color:var(--laton)}

@media(max-width:860px){
  .menu .submenu a:not(.btn){
    color:rgba(242,239,230,.9)!important;padding:13px 0 13px 18px;font-size:15px;
    letter-spacing:normal;border-bottom:1px solid rgba(242,239,230,.08);
  }
  .menu .submenu a:not(.btn):hover{background:transparent}
  .menu .submenu a b{color:rgba(242,239,230,.92);font-size:16px}
  .menu .submenu a span{color:rgba(242,239,230,.5);font-size:12px}
  .menu .submenu a.sub-todas{text-align:left;border-top:none;color:var(--laton-claro)!important}
}

/* Menú móvil: espacio para el logo y desplazamiento cuando el submenú está abierto */
@media(max-width:860px){
  .menu{
    justify-content:flex-start;
    padding:104px var(--gut) 56px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .menu > a:not(.btn){width:100%;text-align:center}
  .tiene-sub{margin:4px 0}
  .submenu a{padding-left:0!important}
  .submenu a b,.submenu a span{text-align:left}
}
