/* ===== G&C Law — sistema visual sobre la marca real del cliente ===== */
:root{
  --rosa:#FF4A75;          /* color oficial del logo */
  --rosa-osc:#E0335C;
  --rosa-suave:rgba(255,74,117,.09);
  --tinta:#14151A;
  --tinta-2:#22242C;
  --gris:#5C6470;
  --gris-2:#8A909C;
  --niebla:#F7F7F9;
  --borde:#E5E6EA;
  --blanco:#FFFFFF;
  --display:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --texto:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --barra:74px;
  --ancho:1180px;
  --r:6px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--blanco);color:var(--tinta);
  font-family:var(--texto);font-weight:300;line-height:1.7;
  font-size:clamp(.95rem,2.2vw,1.03rem);overflow-x:hidden;
}
img,svg,iframe{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;color:var(--tinta);margin:0;line-height:1.14;letter-spacing:-.03em}
.env{max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.1rem,5vw,2.5rem)}
section{padding:clamp(3.2rem,9vw,6.5rem) 0}
section[id],div[id]{scroll-margin-top:calc(var(--barra) + 14px)}
.fondo-niebla{background:var(--niebla)}
.fondo-tinta{background:var(--tinta);color:rgba(255,255,255,.8)}
.fondo-tinta h2,.fondo-tinta h3{color:#fff}

/* ---- barra fija ---- */
.barra{
  position:fixed;inset:0 0 auto 0;z-index:9990;height:var(--barra);
  display:flex;align-items:center;gap:1rem;padding:0 clamp(1.1rem,5vw,2.5rem);
  background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--borde);
}
.marca{display:flex;align-items:center;flex:none;text-decoration:none}
.marca img{height:clamp(30px,7vw,38px);width:auto;display:block}
.nav{display:none;gap:clamp(.9rem,2.2vw,1.8rem);margin-left:auto;margin-right:.4rem}
.nav a{text-decoration:none;color:var(--gris);font-weight:500;font-size:.87rem;padding:.35rem 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover{color:var(--tinta);border-color:var(--rosa)}
@media(min-width:940px){.nav{display:flex}}
.barra-acc{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex:none}
@media(min-width:940px){.barra-acc{margin-left:0}}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  font-family:var(--display);font-weight:800;text-decoration:none;border-radius:999px;
  white-space:nowrap;border:1.5px solid transparent;cursor:pointer;
  transition:background .22s,color .22s,border-color .22s,transform .22s,box-shadow .22s;
  font-size:clamp(.78rem,2.1vw,.88rem);padding:.62rem clamp(.85rem,2.4vw,1.3rem);
}
.btn svg{width:16px;height:16px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn-rosa{background:var(--rosa);color:#fff;box-shadow:0 6px 20px rgba(255,74,117,.3)}
.btn-rosa:hover{background:var(--rosa-osc);box-shadow:0 10px 28px rgba(255,74,117,.42)}
.btn-linea{background:transparent;color:var(--tinta);border-color:var(--borde)}
.btn-linea:hover{border-color:var(--rosa);color:var(--rosa)}
.btn-claro{background:transparent;color:#fff;border-color:rgba(255,255,255,.24)}
.btn-claro:hover{border-color:var(--rosa);background:rgba(255,74,117,.14)}
.btn-xl{font-size:clamp(.9rem,2.5vw,1.02rem);padding:.9rem clamp(1.2rem,3.4vw,2rem)}
.solo-ancho{display:none}
.solo-corto{display:inline}
@media(min-width:600px){.solo-ancho{display:inline}.solo-corto{display:none}}

/* ---- rótulos ---- */
.rotulo{
  font-family:var(--display);font-weight:800;font-size:clamp(.64rem,1.7vw,.73rem);
  letter-spacing:.22em;text-transform:uppercase;color:var(--rosa);
  display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;
}
.rotulo::before{content:"";width:26px;height:2px;background:var(--rosa);flex:none}
.tit{font-size:clamp(1.7rem,4.6vw,2.9rem);max-width:22ch}
.tit.ancho{max-width:28ch}
.bajada{color:var(--gris);font-size:clamp(.98rem,2.3vw,1.13rem);max-width:62ch;margin:1.1rem 0 0}
.fondo-tinta .bajada{color:rgba(255,255,255,.72)}
.cab-sec{margin-bottom:clamp(2rem,5vw,3.2rem)}
.rosa{color:var(--rosa)}

/* ---- hero ---- */
.hero{padding-top:calc(var(--barra) + clamp(2.4rem,7vw,4.6rem));padding-bottom:clamp(2.4rem,7vw,4.6rem)}
.hero-rej{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,3.5rem);align-items:center}
@media(min-width:960px){.hero-rej{grid-template-columns:1.1fr .9fr}}
.hero h1{font-size:clamp(2.1rem,5.8vw,4rem)}
.hero .bajada{font-size:clamp(1rem,2.5vw,1.22rem);margin-top:1.3rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:clamp(1.7rem,4vw,2.3rem)}
.hero-ilus{display:flex;justify-content:center;align-items:center}
.hero-ilus img{width:min(100%,460px);height:auto}

/* ---- franja ---- */
.franja{border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);background:var(--niebla);padding:clamp(1rem,3vw,1.5rem) 0}
.franja-lista{display:flex;flex-wrap:wrap;gap:.6rem clamp(.8rem,2.4vw,2.2rem);justify-content:center;align-items:center;text-align:center}
.franja-lista span{font-size:clamp(.73rem,1.9vw,.86rem);color:var(--gris);font-weight:500;display:flex;align-items:center;gap:.5rem}
.franja-lista span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rosa);flex:none}

/* ---- rejillas y tarjetas ---- */
.rej{display:grid;gap:clamp(.9rem,2.4vw,1.4rem);grid-template-columns:1fr}
@media(min-width:720px){.rej-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:760px){.rej-2{grid-template-columns:repeat(2,1fr)}}
.tarjeta{
  background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r);
  padding:clamp(1.3rem,3.4vw,1.9rem);transition:box-shadow .28s,transform .28s,border-color .28s;
}
.tarjeta:hover{box-shadow:0 16px 44px rgba(20,21,26,.09);transform:translateY(-3px);border-color:#D6D8DE}
.tarjeta .num{font-family:var(--display);font-weight:800;color:var(--rosa);font-size:.78rem;letter-spacing:.2em;display:block;margin-bottom:.8rem}
.tarjeta h3{font-size:clamp(1.02rem,2.6vw,1.22rem);margin-bottom:.55rem}
.tarjeta p{margin:0;color:var(--gris);font-size:clamp(.88rem,2.1vw,.98rem);line-height:1.62}
.linea-card{display:flex;flex-direction:column}
.linea-card .ilus{height:96px;display:flex;align-items:flex-end;margin-bottom:1rem}
.linea-card .ilus img{max-height:96px;width:auto}
.linea-card .et{font-family:var(--display);font-weight:800;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris-2);display:block;margin-bottom:.4rem}

/* ---- áreas ---- */
.areas{display:grid;grid-template-columns:1fr;gap:0 clamp(1.5rem,4vw,3rem)}
@media(min-width:780px){.areas{grid-template-columns:repeat(2,1fr)}}
.area{display:flex;gap:1rem;align-items:baseline;padding:clamp(.8rem,2.2vw,1.1rem) 0;border-bottom:1px solid var(--borde)}
.area i{font-style:normal;font-family:var(--display);font-weight:800;color:var(--rosa);font-size:.82rem;flex:none;min-width:1.9rem}
.area b{font-weight:500;color:var(--tinta);font-size:clamp(.92rem,2.2vw,1.02rem);line-height:1.45}

/* ---- cifras ---- */
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,3vw,2.5rem);text-align:center}
.cifra .n{font-family:var(--display);font-weight:800;color:var(--rosa);font-size:clamp(2.6rem,9vw,4.6rem);line-height:1;display:block}
.cifra .t{display:block;margin-top:.5rem;font-size:clamp(.73rem,1.9vw,.9rem);color:rgba(255,255,255,.72);line-height:1.4}

/* ---- equipo ---- */
.equipo{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.7rem,2vw,1.1rem)}
@media(min-width:700px){.equipo{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.equipo{grid-template-columns:repeat(4,1fr)}}
.persona{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--r);padding:clamp(1rem,2.6vw,1.3rem);transition:box-shadow .26s,transform .26s}
.persona:hover{box-shadow:0 12px 32px rgba(20,21,26,.08);transform:translateY(-2px)}
.persona .ini{width:42px;height:42px;border-radius:50%;background:var(--rosa-suave);border:1.5px solid rgba(255,74,117,.4);color:var(--rosa);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.82rem;margin-bottom:.8rem}
.persona b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(.9rem,2.2vw,1.02rem);line-height:1.24}
.persona span{display:block;margin-top:.22rem;font-size:clamp(.72rem,1.8vw,.8rem);color:var(--gris)}

/* ---- cita ---- */
.cita{font-family:var(--display);font-weight:800;color:#fff;font-size:clamp(1.5rem,4.2vw,2.6rem);line-height:1.2;letter-spacing:-.03em;max-width:20ch}
.rej-2col{display:grid;grid-template-columns:1fr;gap:clamp(1.8rem,4vw,3rem);align-items:center}
@media(min-width:900px){.rej-2col{grid-template-columns:1fr 1fr}}

/* ---- contacto ---- */
.dato{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--borde)}
.dato:last-child{border-bottom:0}
.dato svg{width:19px;height:19px;color:var(--rosa);flex:none;margin-top:.35rem}
.dato .et{display:block;font-family:var(--display);font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gris-2);margin-bottom:.2rem}
.dato a,.dato b{font-family:var(--display);font-weight:800;color:var(--tinta);font-size:clamp(.98rem,2.4vw,1.12rem);text-decoration:none;line-height:1.4}
.dato a:hover{color:var(--rosa)}
.dato .men{font-family:var(--texto);font-weight:300;color:var(--gris);font-size:.9rem}
.mapa{border:1px solid var(--borde);border-radius:var(--r);overflow:hidden;min-height:280px;background:var(--niebla)}
.mapa iframe{display:block;width:100%;height:100%;min-height:280px;border:0;filter:grayscale(.45) contrast(1.04)}
.cta-final{text-align:center}
.cta-final h2{font-size:clamp(1.8rem,5vw,3rem);margin:0 auto 1rem;max-width:20ch}
.cta-final .bajada{margin:0 auto 2rem}
.cta-btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}

/* ---- pie ---- */
.pie{background:var(--tinta);color:rgba(255,255,255,.6);padding:clamp(2.4rem,6vw,3.6rem) 0 0}
.pie-rej{display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,4vw,2.6rem);padding-bottom:clamp(1.8rem,4vw,2.6rem)}
@media(min-width:780px){.pie-rej{grid-template-columns:1.4fr 1fr 1fr}}
.pie img.logo-pie{height:42px;width:auto;margin-bottom:1rem}
.pie h4{font-family:var(--display);font-weight:800;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rosa);margin-bottom:1rem}
.pie a{text-decoration:none;color:rgba(255,255,255,.78)}
.pie a:hover{color:var(--rosa)}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:.5rem;font-size:.88rem;line-height:1.55}
.pie-legal{border-top:1px solid rgba(255,255,255,.12);padding:1.3rem 0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;align-items:center;font-size:.78rem;color:rgba(255,255,255,.45)}
.pie-legal a{color:rgba(255,255,255,.6);text-decoration:underline;text-underline-offset:3px}
.pie-legal a:hover{color:var(--rosa)}

/* ---- animación discreta ---- */
.mk-reveal{transform:translateY(22px)}

/* ===== Documento legal ===== */
.doc-hero{background:var(--tinta);color:rgba(255,255,255,.75);padding:calc(var(--barra) + clamp(2.2rem,6vw,3.6rem)) 0 clamp(2.2rem,6vw,3.6rem)}
.doc-hero h1{color:#fff;font-size:clamp(1.7rem,4.6vw,2.9rem);max-width:24ch}
.doc-hero .bajada{color:rgba(255,255,255,.7)}
.doc-meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:1.5rem}
.doc-meta span{font-family:var(--display);font-weight:600;font-size:.74rem;letter-spacing:.06em;color:rgba(255,255,255,.72);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.4rem .85rem}
.doc-rej{display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,4vw,3rem);align-items:start}
@media(min-width:1000px){.doc-rej{grid-template-columns:250px 1fr}}
.toc{border:1px solid var(--borde);border-radius:var(--r);padding:1.2rem;background:var(--niebla)}
@media(min-width:1000px){.toc{position:sticky;top:calc(var(--barra) + 18px);max-height:calc(100vh - var(--barra) - 40px);overflow:auto}}
.toc h2{font-family:var(--display);font-weight:800;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rosa);margin-bottom:.9rem}
.toc ol{list-style:none;margin:0;padding:0}
.toc li{margin-bottom:.35rem}
.toc li.n2{padding-left:.85rem}
.toc a{text-decoration:none;color:var(--gris);font-size:.82rem;line-height:1.4;display:block;padding:.18rem 0;border-left:2px solid transparent;padding-left:.5rem;transition:color .2s,border-color .2s}
.toc a:hover{color:var(--rosa);border-color:var(--rosa)}
.toc li.n1 a{font-family:var(--display);font-weight:800;color:var(--tinta);font-size:.85rem}
.doc{max-width:74ch}
.doc h2{font-size:clamp(1.3rem,3.4vw,1.85rem);margin:clamp(2.2rem,5vw,3rem) 0 1rem;padding-top:1.2rem;border-top:2px solid var(--rosa)}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:clamp(1.05rem,2.7vw,1.28rem);margin:clamp(1.6rem,3.6vw,2.2rem) 0 .7rem}
.doc h4{font-size:clamp(.95rem,2.4vw,1.08rem);margin:1.3rem 0 .55rem;color:var(--gris)}
.doc h2 .num,.doc h3 .num,.doc h4 .num{color:var(--rosa);margin-right:.35rem}
.doc p{margin:0 0 1rem;color:var(--gris);line-height:1.78}
.doc ul,.doc ol{margin:0 0 1.2rem;padding-left:1.3rem;color:var(--gris)}
.doc li{margin-bottom:.55rem;line-height:1.7}
.doc li::marker{color:var(--rosa)}
.tabla-scroll{overflow-x:auto;margin:0 0 1.4rem;border:1px solid var(--borde);border-radius:var(--r)}
.tabla{border-collapse:collapse;width:100%;min-width:640px;font-size:.86rem}
.tabla th{background:var(--tinta);color:#fff;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:.8rem .9rem}
.tabla td{padding:.85rem .9rem;border-bottom:1px solid var(--borde);color:var(--gris);vertical-align:top;line-height:1.55}
.tabla tr:last-child td{border-bottom:0}
.tabla tr:nth-child(even) td{background:var(--niebla)}
.doc-descarga{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;background:var(--niebla);border:1px solid var(--borde);border-left:4px solid var(--rosa);border-radius:0 var(--r) var(--r) 0;padding:1.1rem 1.3rem;margin-bottom:2rem}
.doc-descarga p{margin:0;font-size:.9rem;color:var(--gris);flex:1;min-width:200px}
