  :root{
    --papel:#FBFCFA;
    --superficie:#FFFFFF;
    --hueso:#F3F7F1;
    --tinta:#1A1E1A;
    --tinta-suave:#66705F;
    --verde:#547A58;
    --verde-fuerte:#2F4936;
    --verde-claro:#B9D3B6;
    --verde-suave:#E8F0E6;
    --linea:#DBE4D9;
    --sobre-verde:#FFFFFF;
    --sombra:0 1px 2px rgba(26,30,26,.04), 0 14px 40px -28px rgba(26,30,26,.28);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --papel:#0F130E;
      --superficie:#161C15;
      --hueso:#131A13;
      --tinta:#E7EDE5;
      --tinta-suave:#97A494;
      --verde:#9CBF9E;
      --verde-fuerte:#BDD6BA;
      --verde-claro:#435C46;
      --verde-suave:#1C271B;
      --linea:#293327;
      --sobre-verde:#0F130E;
      --sombra:0 1px 2px rgba(0,0,0,.4), 0 14px 40px -28px rgba(0,0,0,.8);
    }
  }
  :root[data-theme="dark"]{
    --papel:#0F130E;
    --superficie:#161C15;
    --hueso:#131A13;
    --tinta:#E7EDE5;
    --tinta-suave:#97A494;
    --verde:#9CBF9E;
    --verde-fuerte:#BDD6BA;
    --verde-claro:#435C46;
    --verde-suave:#1C271B;
    --linea:#293327;
    --sobre-verde:#0F130E;
    --sombra:0 1px 2px rgba(0,0,0,.4), 0 14px 40px -28px rgba(0,0,0,.8);
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}

  body{
    margin:0;background:var(--papel);color:var(--tinta);
    font-family:"Jost",system-ui,sans-serif;font-weight:300;
    font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
  }

  .contenedor{max-width:1040px;margin:0 auto;padding:0 22px}
  .estrecho{max-width:680px}

  /* ---------- navegación ---------- */
  .barra{
    position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--papel) 92%, transparent);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--linea);
  }
  .barra-int{
    max-width:1040px;margin:0 auto;padding:9px 22px;
    display:flex;align-items:center;gap:18px;
  }
  .logo{display:flex;align-items:center;text-decoration:none;color:var(--tinta);flex:none}

  /* ---------- marca ---------- */
  .marca{position:relative;display:block;padding-top:17px;text-align:center}
  .marca-hojas{
    position:absolute;top:-2px;left:47%;transform:translateX(-50%);
    width:37px;height:26px;display:block;
  }
  .marca-nombre{
    display:block;font-family:"Parisienne",cursive;font-size:27px;line-height:1.1;
    color:var(--tinta);white-space:nowrap;
  }
  .marca-sub{
    display:block;font-family:"Jost",sans-serif;font-size:8.5px;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;color:var(--verde);margin-top:1px;
  }
  .marca.grande{padding-top:20px}
  .marca.grande .marca-hojas{width:50px;height:35px}
  .marca.grande .marca-nombre{font-size:44px}
  .marca.grande .marca-sub{font-size:10px;margin-top:3px}
  .menu{
    display:flex;gap:4px;margin-left:auto;align-items:center;
    overflow-x:auto;scrollbar-width:none;
  }
  .menu::-webkit-scrollbar{display:none}
  .menu a{
    color:var(--tinta-suave);text-decoration:none;font-size:14.5px;
    padding:8px 12px;border-radius:8px;white-space:nowrap;transition:color .15s, background .15s;
  }
  .menu a:hover{color:var(--tinta);background:var(--verde-suave)}
  .menu a[aria-current="page"]{color:var(--verde-fuerte);font-weight:500;background:var(--verde-suave)}
  .menu .cita{
    background:var(--verde-fuerte);color:var(--sobre-verde);font-weight:500;
    padding:9px 16px;margin-left:6px;
  }
  .menu .cita:hover{background:var(--verde);color:var(--sobre-verde)}
  a:focus-visible, button:focus-visible, summary:focus-visible{
    outline:2px solid var(--verde);outline-offset:3px;border-radius:6px;
  }

  /* ---------- tipografía ---------- */
  h1{
    font-family:"Marcellus",Georgia,serif;font-weight:400;
    font-size:clamp(38px,7.5vw,62px);line-height:1.06;letter-spacing:-.015em;
    margin:0 0 20px;text-wrap:balance;
  }
  h2{
    font-family:"Marcellus",Georgia,serif;font-weight:400;
    font-size:clamp(26px,4.4vw,34px);line-height:1.15;margin:0 0 14px;text-wrap:balance;
  }
  h3{font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:21px;line-height:1.25;margin:0 0 8px}
  .rotulo{
    font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
    color:var(--verde);margin:0 0 16px;
  }
  .entrada{font-size:19px;color:var(--tinta-suave);margin:0 0 32px;max-width:60ch}
  p{margin:0 0 18px}
  p:last-child{margin-bottom:0}

  section.pagina{display:block;padding:64px 0 88px}

  /* ---------- botones ---------- */
  .acciones{display:flex;flex-wrap:wrap;gap:12px}
  .boton{
    display:inline-flex;align-items:center;gap:9px;text-decoration:none;
    font-size:16px;font-weight:500;padding:15px 28px;border-radius:999px;
    transition:transform .15s, background .15s;
  }
  .boton:hover{transform:translateY(-1px)}
  .primario{background:var(--verde-fuerte);color:var(--sobre-verde)}
  .primario:hover{background:var(--verde)}
  .secundario{background:transparent;color:var(--verde-fuerte);border:1px solid var(--verde-claro)}
  .secundario:hover{background:var(--verde-suave)}

  /* ---------- portada ---------- */
  .campo{
    position:relative;overflow:hidden;margin-top:-64px;
    padding:76px 0 68px;background:var(--verde-suave);
    border-bottom:1px solid var(--verde-claro);
  }
  .hojas{
    position:absolute;inset:0;width:100%;height:100%;
    pointer-events:none;color:var(--verde-claro);opacity:.5;
  }
  .campo-rejilla{position:relative;z-index:1;display:grid;gap:40px;align-items:center}
  @media(min-width:860px){
    .campo-rejilla{grid-template-columns:1.12fr .88fr;gap:56px}
  }
  .campo-foto{
    aspect-ratio:3/4;border-radius:18px;background-image:var(--foto2);
    background-size:cover;background-position:50% 50%;
    border:1px solid var(--verde-claro);
    box-shadow:0 24px 56px -34px rgba(26,30,26,.55);
  }
  .bajo-portada{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
  .bajo-portada span{
    display:flex;align-items:center;gap:8px;background:var(--superficie);
    border:1px solid var(--verde-claro);border-radius:999px;
    padding:8px 15px;font-size:14px;color:var(--tinta-suave);
  }
  .bajo-portada svg{color:var(--verde);flex:none}

  /* ---------- monólogo ---------- */
  .monologo{
    margin:72px 0;padding:38px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  }
  .monologo p{
    font-family:"Marcellus",Georgia,serif;font-size:clamp(20px,3.4vw,26px);
    line-height:1.45;color:var(--tinta-suave);margin:0 0 14px;max-width:24ch;
  }
  .monologo p:nth-child(2){margin-left:auto;text-align:right}
  .monologo p:last-child{color:var(--tinta);margin-bottom:0;max-width:30ch}

  /* ---------- rejillas ---------- */
  .rejilla{display:grid;gap:20px;margin-top:34px}
  .dos{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .cuatro{grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}
  .tarjeta.abierta{
    grid-column:1/-1;background:var(--verde-suave);border-color:var(--verde-claro);
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
    gap:18px 28px;padding:28px 26px;
  }
  .tarjeta.abierta > div{max-width:62ch}
  .tarjeta.abierta h3{margin-bottom:6px}
  .tarjeta.abierta .boton{flex:none;padding:12px 24px;font-size:15px}
  .tres{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

  .tarjeta{
    background:var(--superficie);border:1px solid var(--linea);border-radius:14px;padding:26px 24px;
  }
  .tarjeta p{font-size:15.5px;color:var(--tinta-suave)}

  /* ---------- formulario de contacto ---------- */
  .formulario{display:grid;gap:19px;max-width:560px;margin-top:34px}
  .f-campo{display:grid;gap:7px}
  .f-campo label{font-size:14.5px;font-weight:500;color:var(--tinta)}
  .f-campo .opcional{font-weight:400;color:var(--tinta-suave)}
  .f-campo input,.f-campo textarea,.f-campo select{
    font-family:inherit;font-size:15.5px;color:var(--tinta);
    background:var(--superficie);border:1px solid var(--linea);border-radius:10px;
    padding:12px 14px;width:100%;transition:border-color .15s ease;
  }
  .f-campo textarea{min-height:145px;resize:vertical;line-height:1.62}
  .f-campo input:hover,.f-campo textarea:hover,.f-campo select:hover{border-color:var(--verde-claro)}
  .f-campo input:focus,.f-campo textarea:focus,.f-campo select:focus{
    outline:2px solid var(--verde);outline-offset:1px;border-color:var(--verde);
  }
  .f-campo .ayuda{font-size:13.5px;line-height:1.55;color:var(--tinta-suave)}
  .consentimiento{
    display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;
    background:var(--hueso);border:1px solid var(--linea);border-radius:12px;padding:17px 19px;
  }
  .consentimiento input{width:17px;height:17px;margin-top:3px;accent-color:var(--verde-fuerte)}
  .consentimiento label{font-size:14px;line-height:1.62;color:var(--tinta-suave);font-weight:400}
  .consentimiento a{color:var(--verde-fuerte)}
  .oculto{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
  .tarjeta.con-marca{position:relative;overflow:hidden}
  .marca-agua{
    position:absolute;right:-24px;bottom:-26px;width:108px;height:108px;
    color:var(--verde-claro);opacity:.34;pointer-events:none;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]) .marca-agua{opacity:.62}
  }
  :root[data-theme="dark"] .marca-agua{opacity:.62}
  .tarjeta.con-marca > *:not(.marca-agua){position:relative;z-index:1}

  .paso{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
  .paso-num{
    width:38px;height:38px;border-radius:50%;background:var(--verde-suave);color:var(--verde-fuerte);
    display:grid;place-items:center;font-weight:500;font-size:15px;flex:none;
    font-variant-numeric:tabular-nums;
  }

  /* ---------- servicios ---------- */
  .servicio{
    background:var(--superficie);border:1px solid var(--linea);border-radius:16px;
    padding:30px 26px;display:flex;flex-direction:column;box-shadow:var(--sombra);
  }
  .servicio.destacado{border-color:var(--verde);border-width:1.5px}
  .cinta{
    align-self:flex-start;background:var(--verde-suave);color:var(--verde-fuerte);
    font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
    padding:5px 11px;border-radius:5px;margin-bottom:14px;
  }
  .precio{
    font-family:"Marcellus",Georgia,serif;font-size:38px;line-height:1;color:var(--tinta);
    margin:16px 0 4px;font-variant-numeric:tabular-nums;
  }
  .precio-nota{font-size:13.5px;color:var(--tinta-suave);margin:0 0 20px}
  .condicion{
    font-size:13.5px;line-height:1.5;color:var(--tinta-suave);
    border-top:1px solid var(--linea);padding-top:15px;margin:0 0 22px;
  }
  .incluye{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:11px}
  .incluye li{display:grid;grid-template-columns:auto 1fr;gap:11px;font-size:15.5px;line-height:1.5}
  .incluye svg{color:var(--verde);margin-top:5px;flex:none}
  .servicio .boton{margin-top:auto;justify-content:center}

  .extra{
    margin-top:24px;background:var(--hueso);border:1px solid var(--linea);border-radius:16px;
    padding:28px 26px;display:grid;gap:24px;align-items:center;
  }
  @media(min-width:720px){.extra{grid-template-columns:1fr auto}}
  .extra h3{margin-bottom:10px}
  .extra p{font-size:15.5px;color:var(--tinta-suave);margin:0 0 14px;max-width:56ch}
  .extra-precio{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .extra-precio .precio{margin:0;font-size:32px}
  .extra-precio span{font-size:14px;color:var(--tinta-suave)}
  .extra-lado{display:flex;flex-direction:column;gap:12px;align-items:flex-start}

  /* ---------- hueco por rellenar ---------- */
  .hueco{
    display:inline-block;border:1px dashed var(--verde);border-radius:6px;
    padding:1px 8px;color:var(--verde);font-size:.9em;font-weight:400;
    background:var(--verde-suave);
  }

  /* ---------- sobre mí ---------- */
  /* ---------- cabecera de sobre mí ---------- */
  .cabecera-perfil{display:grid;gap:18px;grid-template-columns:1fr;align-items:end}
  @media(min-width:820px){
    .cabecera-perfil{grid-template-columns:1fr 320px;gap:36px}
  }
  .figura{
    width:100%;max-width:320px;justify-self:center;aspect-ratio:560/830;
    margin-bottom:-46px;
    background-image:var(--figura);
    background-size:contain;background-repeat:no-repeat;background-position:bottom center;
    -webkit-mask-image:var(--figura-mascara);mask-image:var(--figura-mascara);
    -webkit-mask-size:contain;mask-size:contain;
    -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
    -webkit-mask-position:bottom center;mask-position:bottom center;
  }
  .columna-texto{max-width:680px}

  /* ---------- marcas de los grupos de titulación ---------- */
  .grupo-cred{position:relative}
  .grupo-cred > *:not(.marca-cred){position:relative;z-index:1}
  .marca-cred{
    position:absolute;right:2px;top:6px;width:88px;height:88px;z-index:0;
    color:var(--verde-claro);opacity:.34;pointer-events:none;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]) .marca-cred{opacity:.6}
  }
  :root[data-theme="dark"] .marca-cred{opacity:.6}

  .cita-fuerte{
    font-family:"Marcellus",Georgia,serif;font-size:clamp(22px,3.6vw,28px);line-height:1.35;
    color:var(--verde-fuerte);margin:30px 0;padding-left:22px;
    border-left:3px solid var(--verde-claro);
  }

  .grupo-form{
    font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
    color:var(--verde);margin:30px 0 14px;
  }
  .traduccion{
    background:var(--verde-suave);border-radius:12px;padding:22px 24px;margin-top:28px;
    font-size:15.5px;line-height:1.6;
  }
  .traduccion b{font-weight:500}
  .credenciales{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
  .credenciales li{
    display:grid;grid-template-columns:auto 1fr;gap:13px;font-size:15.5px;
    padding-bottom:14px;border-bottom:1px solid var(--linea);
  }
  .credenciales li:last-child{border-bottom:none;padding-bottom:0}
  .credenciales svg{color:var(--verde);margin-top:4px;flex:none}

  /* ---------- preguntas ---------- */
  .faq{border-top:1px solid var(--linea);margin-top:30px}
  details{border-bottom:1px solid var(--linea)}
  summary{
    cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;
    font-size:17.5px;font-weight:400;color:var(--tinta);
  }
  summary::-webkit-details-marker{display:none}
  summary::after{
    content:"";position:absolute;right:8px;top:31px;width:9px;height:9px;
    border-right:1.5px solid var(--verde);border-bottom:1.5px solid var(--verde);
    transform:rotate(45deg);transition:transform .2s;
  }
  details[open] summary::after{transform:rotate(-135deg);top:34px}
  details .respuesta{padding:0 20px 24px 0;color:var(--tinta-suave);font-size:16px}

  /* ---------- contacto ---------- */
  .vias{display:grid;gap:16px;margin-top:32px}
  @media(min-width:680px){.vias{grid-template-columns:1fr 1fr}}
  .via{
    background:var(--superficie);border:1px solid var(--linea);border-radius:14px;padding:24px;
    display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
    text-decoration:none;color:inherit;transition:border-color .15s, background .15s;
  }
  a.via:hover{border-color:var(--verde);background:var(--verde-suave)}
  .via svg{color:var(--verde);margin-top:3px;flex:none}
  .via b{display:block;font-weight:500;margin-bottom:3px}
  .via span{font-size:15px;color:var(--tinta-suave);word-break:break-word}

  /* ---------- llamada final ---------- */
  .llamada{
    margin-top:72px;background:var(--verde-suave);border:1px solid var(--verde-claro);
    border-radius:18px;padding:44px 32px;text-align:center;
  }
  .llamada h2{margin-bottom:12px}
  .llamada p{color:var(--tinta-suave);max-width:46ch;margin:0 auto 26px}
  .llamada .acciones{justify-content:center}

  /* ---------- pie ---------- */
  footer{border-top:1px solid var(--linea);background:var(--hueso);padding:44px 0 40px;margin-top:0}
  .pie-int{
    max-width:1040px;margin:0 auto;padding:0 22px;
    display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start;
  }
  .pie-int p{font-size:14px;color:var(--tinta-suave);margin:0}
  .pie-enlaces{display:flex;flex-wrap:wrap;gap:18px}
  .pie-enlaces a{color:var(--tinta-suave);text-decoration:none;font-size:14px}
  .pie-enlaces a:hover{color:var(--verde-fuerte)}
  .aviso-legal{
    margin-top:26px;padding-top:22px;border-top:1px solid var(--linea);
    max-width:1040px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px;
  }
  .aviso-legal p{font-size:12.5px;color:var(--tinta-suave);line-height:1.6;margin:0 0 8px}
  .aviso-legal p:last-child{margin-bottom:0}
  .pie-legal{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:14px}
  .pie-legal a{
    color:var(--verde-fuerte);text-decoration:none;font-size:13px;
    border-bottom:1px solid var(--verde-claro);padding-bottom:1px;
  }
  .pie-legal a:hover{border-bottom-color:var(--verde-fuerte)}

  /* ---------- blog ---------- */
  .lista-articulos{display:grid;gap:18px;margin-top:38px;max-width:780px}
  .articulo-tarjeta{
    display:block;text-decoration:none;color:inherit;
    background:var(--superficie);border:1px solid var(--linea);border-radius:14px;
    padding:26px 25px;transition:border-color .2s ease, transform .2s ease;
    position:relative;overflow:hidden;
  }
  .marca-blog{
    position:absolute;right:-16px;bottom:-18px;width:104px;height:104px;
    color:var(--verde-claro);opacity:.36;pointer-events:none;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]) .marca-blog{opacity:.6}
  }
  :root[data-theme="dark"] .marca-blog{opacity:.6}
  .articulo-tarjeta > *:not(.marca-blog){position:relative;z-index:1}
  .articulo-tarjeta:hover{border-color:var(--verde-claro);transform:translateY(-2px)}
  .articulo-tarjeta:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
  .articulo-tarjeta h3{
    font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:22px;line-height:1.25;
    margin:11px 0 9px;color:var(--tinta);
  }
  .articulo-tarjeta p{margin:0;font-size:15.5px;color:var(--tinta-suave);line-height:1.65}
  .meta-articulo{
    display:flex;flex-wrap:wrap;gap:5px 13px;align-items:center;
    font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  }
  .meta-articulo span.sep{color:var(--verde-claro)}
  .seguir{
    display:inline-flex;align-items:center;gap:7px;margin-top:16px;
    font-size:14.5px;font-weight:500;color:var(--verde-fuerte);
  }

  .articulo{max-width:68ch}
  .articulo h2{
    font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:24px;line-height:1.25;
    margin:46px 0 10px;
  }
  .articulo p{font-size:16.5px;line-height:1.78;color:var(--tinta-suave);margin:16px 0}
  .articulo strong{font-weight:500;color:var(--tinta)}
  .articulo ul{margin:16px 0;padding-left:0;list-style:none;display:grid;gap:10px}
  .articulo li{
    position:relative;padding-left:21px;font-size:16.5px;line-height:1.78;color:var(--tinta-suave);
  }
  .articulo li::before{content:"·";position:absolute;left:5px;color:var(--verde);font-weight:500}
  .referencias{
    margin-top:52px;padding:24px 26px;border-radius:14px;
    background:var(--hueso);border:1px solid var(--linea);
  }
  .referencias h3{
    font-family:"Jost",system-ui,sans-serif;font-size:11px;font-weight:500;letter-spacing:.16em;
    text-transform:uppercase;color:var(--verde);margin:0 0 14px;
  }
  .referencias ol{margin:0;padding-left:19px;display:grid;gap:11px}
  .referencias li{
    font-size:14.5px;line-height:1.62;color:var(--tinta-suave);
    position:static;padding-left:0;
  }
  .referencias li::before{content:none}
  .referencias a{color:var(--verde-fuerte);word-break:break-word}
  /* ---------- firma de autoría ---------- */
  .firma{
    display:flex;align-items:center;gap:15px;
    margin-top:48px;padding-top:24px;border-top:1px solid var(--linea);
  }
  .firma-hojas{width:40px;height:28px;flex:none;align-self:center;margin-top:2px}
  .firma-etiqueta{
    display:block;font-family:"Jost",system-ui,sans-serif;font-size:10.5px;font-weight:500;
    letter-spacing:.18em;text-transform:uppercase;color:var(--verde);
  }
  .firma-nombre{
    display:block;font-family:"Parisienne",cursive;font-size:31px;line-height:1.2;
    color:var(--tinta);margin-top:1px;
  }
  .firma-cargo{
    display:block;font-size:13.5px;line-height:1.5;color:var(--tinta-suave);margin-top:4px;
  }
  .firma + .referencias{margin-top:34px}
  /* ---------- figuras y tablas de artículo ---------- */
  .figura-dato{margin:34px 0}
  .figura-dato .pie-figura{
    font-size:12.5px;color:var(--tinta-suave);margin:10px 0 0;line-height:1.5;
  }
  .fases{display:grid;gap:14px;grid-template-columns:1fr}
  @media(min-width:660px){.fases{grid-template-columns:repeat(3,1fr)}}
  @media(min-width:560px){.fases.dos{grid-template-columns:1fr 1fr}}
  .nota-fuerte{
    background:var(--verde-suave);border:1.5px solid var(--verde-claro);border-radius:14px;
    padding:24px 26px;margin:30px 0;
  }
  .nota-fuerte h3{margin-top:0}
  .nota-fuerte p:last-child{margin-bottom:0}
  .fase{
    background:var(--superficie);border:1px solid var(--linea);border-radius:14px;
    padding:20px 19px;display:flex;flex-direction:column;gap:9px;
  }
  .fase-num{
    width:30px;height:30px;border-radius:50%;background:var(--verde-suave);
    color:var(--verde-fuerte);display:grid;place-items:center;
    font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;
  }
  .fase h4{
    font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:17px;margin:0;color:var(--tinta);
  }
  .fase p{margin:0;font-size:14.5px;line-height:1.6;color:var(--tinta-suave)}
  .fase .donde{
    margin-top:auto;padding-top:11px;border-top:1px solid var(--linea);
    font-size:12.5px;color:var(--verde-fuerte);font-weight:500;
  }
  .tabla-datos{overflow-x:auto;border:1px solid var(--linea);border-radius:14px}
  .tabla-datos table{border-collapse:collapse;width:100%;min-width:420px;background:var(--superficie)}
  .tabla-datos th,.tabla-datos td{
    text-align:left;padding:11px 16px;border-bottom:1px solid var(--linea);font-size:14.5px;
    color:var(--tinta-suave);
  }
  .tabla-datos th{
    font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  }
  .tabla-datos td:first-child{color:var(--tinta)}
  .tabla-datos td.num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center}
  .tabla-datos tbody tr:last-child td{border-bottom:none}
  .grupos-fito{display:grid;gap:14px;grid-template-columns:1fr}
  @media(min-width:600px){.grupos-fito{grid-template-columns:1fr 1fr}}
  .grupo-fito{
    background:var(--verde-suave);border:1px solid var(--verde-claro);border-radius:14px;
    padding:20px 19px;
  }
  .grupo-fito h4{
    font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:18px;margin:0 0 6px;
    color:var(--tinta);
  }
  .grupo-fito .compuestos{
    font-size:12.5px;color:var(--verde-fuerte);font-weight:500;margin:0 0 10px;line-height:1.5;
  }
  .grupo-fito p{margin:0;font-size:14.5px;line-height:1.6;color:var(--tinta-suave)}

  .volver{
    display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;
    font-size:14.5px;color:var(--verde-fuerte);text-decoration:none;
  }
  .volver:hover{text-decoration:underline;text-underline-offset:3px}

  /* ---------- documentos legales ---------- */
  .legal{max-width:70ch}
  .legal > p:first-of-type{margin-top:0}
  .legal h2{
    font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:21px;line-height:1.25;
    margin:46px 0 4px;padding-top:22px;border-top:1px solid var(--linea);
    display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:baseline;
  }
  .legal h2 .n{
    font-family:"Jost",system-ui,sans-serif;font-size:12.5px;font-weight:500;color:var(--verde);
    font-variant-numeric:tabular-nums;
  }
  .legal h3{
    font-family:"Jost",system-ui,sans-serif;font-weight:500;font-size:15.5px;
    margin:24px 0 4px;color:var(--tinta);
  }
  .legal p{margin:13px 0;font-size:15.5px;color:var(--tinta-suave);line-height:1.72}
  .legal strong,.legal b{font-weight:500;color:var(--tinta)}
  .legal ul{margin:13px 0;padding-left:0;list-style:none;display:grid;gap:9px}
  .legal li{
    position:relative;padding-left:20px;
    font-size:15.5px;color:var(--tinta-suave);line-height:1.72;
  }
  .legal li::before{
    content:"·";position:absolute;left:5px;top:0;color:var(--verde);font-weight:500;
  }
  .legal a{color:var(--verde-fuerte);text-underline-offset:3px}
  .ficha-legal{
    background:var(--superficie);border:1px solid var(--linea);border-radius:12px;
    padding:20px 22px;margin:18px 0;
  }
  .ficha-legal dl{
    margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:15px;
  }
  .ficha-legal dt{color:var(--tinta-suave)}
  .ficha-legal dd{margin:0;color:var(--tinta)}
  .tabla-legal{overflow-x:auto;border:1px solid var(--linea);border-radius:12px;margin:18px 0}
  .tabla-legal table{border-collapse:collapse;width:100%;min-width:520px;background:var(--superficie)}
  .tabla-legal th,.tabla-legal td{
    text-align:left;padding:12px 17px;border-bottom:1px solid var(--linea);
    font-size:15px;vertical-align:top;color:var(--tinta-suave);
  }
  .tabla-legal th{
    font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  }
  .tabla-legal td:first-child{color:var(--tinta);font-weight:400}
  .tabla-legal td.cifra{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tinta)}
  .tabla-legal tbody tr:last-child td{border-bottom:none}
  .fecha-doc{
    font-size:13px;color:var(--tinta-suave);margin:0 0 4px;
    padding:10px 0 0;border-top:1px solid var(--linea);margin-top:44px;
  }

  /* ---------- movimiento ---------- */
  .aparece{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease}
  .aparece.visible{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .aparece{opacity:1;transform:none;transition:none}
    .boton:hover{transform:none}
  }

  @media(max-width:640px){
    .barra-int{flex-wrap:wrap;gap:10px}
    .menu{margin-left:0;width:100%;order:3}
    .logo{margin-right:auto}
    .monologo p:nth-child(2){margin-left:0;text-align:left}
    .llamada{padding:34px 22px}
  }
  :root{--foto2:url("/img/gloria.jpg")}
  :root{--figura:url("/img/figura.jpg")}
  :root{--figura-mascara:url("/img/figura-mascara.png")}
