
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/fraunces-latin-wght-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format('woff2')}
:root{
 --f-head:'Fraunces',Georgia,'Times New Roman',serif;--f-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--w-head:560;--ls-head:-.02em;
 --bg:#FBF8F3;--surface:#FFFFFF;--alt:#F5EFE6;--ink:#26302F;--ink-strong:#0F2A28;--muted:#5B5F5C;--line:#E8DFD2;--line-fuerte:#CBBBA4;
 --brand:#0F3B38;--brand-h:#0A2B29;--brand-ink:#FFFFFF;--accent:#C29548;--kicker:#86561C;--link:#0E5A53;--link-h:#86561C;--focus:#C29548;
 --chip:#F4EAD7;--chip-ink:#6F4613;--btn-sec:#0F3B38;--btn-sec-h:#86561C;--btn-sec-bg:transparent;--btn-sec-borde:#0F3B38;--error:#A3261B;
 --wa:#0F7A43;--wa-claro:#17955A;--wa-h:#0B6136;
 --r:22px;--r-sm:14px;--r-btn:999px;--sombra-s:0 1px 2px rgba(40,30,15,.05),0 4px 14px -8px rgba(40,30,15,.12);--sombra:0 24px 50px -24px rgba(25,35,30,.35);
 --barra-bg:#0A2523;--barra-ink:#D9CBB2;
 --cab-bg:rgba(251,248,243,.88);--cab-ink:#0F2A28;--cab-muted:#6A6258;--cab-linea:rgba(15,42,40,.1);--menu-bg:#FBF8F3;--nav-hover:#F1E8DA;--nav-activo:#86561C;
 --hero-bg:radial-gradient(900px 520px at 78% 30%,rgba(210,168,90,.22),transparent 65%),radial-gradient(700px 500px at 0% 100%,rgba(42,110,100,.35),transparent 60%),linear-gradient(160deg,#0D2F2D 0%,#0A2321 55%,#081B1A 100%);
 --hero-glow:radial-gradient(closest-side,rgba(233,199,126,.18),transparent);
 --hero-ink:#E9EFEC;--hero-h:#FFF8EC;--hero-em:#E9C77E;--hero-em-grad:linear-gradient(100deg,#F6E2AE 0%,#D9AE5F 45%,#F1D493 100%);--hero-kicker:#E3BC72;--hero-muted:#C5D3CF;
 --hero-sec:#F4EBDD;--hero-sec-borde:rgba(244,235,221,.4);--hero-sec-bg:rgba(255,255,255,.04);
 --chip-hero-bg:rgba(255,255,255,.06);--chip-hero-borde:rgba(233,199,126,.25);
 --frase-ink:#F6E2AE;--frase-bg:rgba(233,199,126,.12);--frase-borde:rgba(233,199,126,.45);
 --banda-bg:#FFFFFF;--banda-ink:#26302F;
 --oscura-bg:radial-gradient(800px 400px at 100% 0%,rgba(210,168,90,.16),transparent 60%),#0D2F2D;--oscura-ink:#DCE6E3;--oscura-muted:#B8C9C5;--oscura-kicker:#E3BC72;
 --paso-linea:rgba(233,199,126,.35);--paso-bg:rgba(233,199,126,.12);--paso-ink:#F1D493;--paso-borde:rgba(233,199,126,.5);
 --tile-grad:linear-gradient(145deg,#14524D,#0B2E2C);--tile-ink:#F1D493;--tarjeta-hover:linear-gradient(160deg,rgba(194,149,72,.07),transparent 55%);
 --resumen-bg:#FFFCF6;--cab-serv-bg:linear-gradient(180deg,#F5EEE3,#FBF8F3);
 --cta-bg:radial-gradient(700px 360px at 90% 0%,rgba(210,168,90,.25),transparent 60%),linear-gradient(135deg,#0F3B38,#0A2321);--cta-ink:#E8F0EE;--cta-h:#FFFFFF;--cta-muted:#C9DAD6;--frase-cta:#E9C77E;
 --pie-bg:#081B1A;--pie-ink:#C9D6D2;--pie-t:#E3BC72;
}

/* ===== Base compartida v2 (colores y fuentes vienen del tema de cada sitio) ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,canvas{display:block;max-width:100%}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--link-h)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--f-head);line-height:1.12;color:var(--ink-strong);margin:0 0 .5em;font-weight:var(--w-head);letter-spacing:var(--ls-head);text-wrap:balance}
h1{font-size:clamp(2.2rem,6.4vw,4rem)}
h2{font-size:clamp(1.65rem,3.6vw,2.55rem)}
h3{font-size:1.18rem}
p{margin:0 0 1em;text-wrap:pretty}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:0;background:var(--ink-strong);color:#fff;padding:.6rem 1rem;z-index:100}
.saltar:focus{left:1rem;top:1rem}
.envoltura{width:min(100% - 2.5rem,1200px);margin-inline:auto}
.estrecha{width:min(100% - 2.5rem,820px)}
.centro{text-align:center;margin-top:2rem}
.pt0{padding-top:0!important}
.mt{margin-top:2.5rem}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--kicker);margin-bottom:.9rem;display:flex;align-items:center;gap:.5rem}
.lead{font-size:clamp(1.08rem,2.2vw,1.24rem);color:var(--muted);max-width:64ch}
.ico{width:1.35em;height:1.35em;flex:none}
.ico-sm{width:1.05em;height:1.05em}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.75rem 1.35rem;border-radius:var(--r-btn);font-weight:700;font-size:1rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .25s ease,background .2s,color .2s,border-color .2s;font-family:var(--f-body);line-height:1.2;letter-spacing:.01em}
.btn:hover{transform:translateY(-2px)}
.btn-lg{min-height:56px;padding:.95rem 1.6rem;font-size:1.04rem}
.btn-sm{min-height:42px;padding:.5rem 1rem;font-size:.93rem}
.btn-wa{background:linear-gradient(180deg,var(--wa-claro),var(--wa));color:#fff;box-shadow:0 10px 28px -12px var(--wa),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-wa:hover{background:var(--wa-h);color:#fff;box-shadow:0 16px 34px -12px var(--wa)}
.btn-pri{background:var(--brand);color:var(--brand-ink)}
.btn-pri:hover{background:var(--brand-h);color:var(--brand-ink)}
.btn-sec{background:var(--btn-sec-bg);color:var(--btn-sec);border-color:var(--btn-sec-borde)}
.btn-sec:hover{color:var(--btn-sec-h);border-color:currentColor}

/* Barra superior + cabecera */
.barra-sup{display:none;background:var(--barra-bg);color:var(--barra-ink);font-size:.82rem}
.barra-in{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0}
.barra-in span{display:inline-flex;align-items:center;gap:.4rem}
@media (min-width:960px){.barra-sup{display:block}}
.cab{position:sticky;top:0;z-index:50;background:var(--cab-bg);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--cab-linea)}
.cab-in{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:1rem}
.marca{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--cab-ink);min-width:0}
.marca svg{width:42px;height:42px;flex:none}
.marca-txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.marca-txt strong{font-family:var(--f-head);font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:var(--ls-head)}
.marca-txt small{font-size:.74rem;color:var(--cab-muted);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--cab-linea);border-radius:12px;background:transparent;color:var(--cab-ink);cursor:pointer;flex:none}
.menu-barras,.menu-barras::before,.menu-barras::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s}
.menu-barras::before,.menu-barras::after{content:"";position:absolute;left:0}
.menu-barras::before{top:-6px}.menu-barras::after{top:6px}
.menu-abierto .menu-barras{background:transparent}
.menu-abierto .menu-barras::before{transform:translateY(6px) rotate(45deg)}
.menu-abierto .menu-barras::after{transform:translateY(-6px) rotate(-45deg)}
.nav{display:none}
.menu-abierto .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--menu-bg);padding:1rem 1.25rem 1.5rem;border-bottom:1px solid var(--cab-linea);gap:1rem;box-shadow:0 30px 50px -25px rgba(0,0,0,.45)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.nav li a{display:block;padding:.8rem .25rem;text-decoration:none;color:var(--cab-ink);font-weight:600;border-bottom:1px solid var(--cab-linea)}
.nav a[aria-current="page"]{color:var(--nav-activo)}
@media (min-width:960px){
  .menu-btn{display:none}
  .nav,.menu-abierto .nav{display:flex;flex-direction:row;align-items:center;position:static;background:none;padding:0;border:0;box-shadow:none;gap:1.2rem}
  .nav ul{flex-direction:row;gap:.2rem}
  .nav li a{border:0;padding:.5rem .8rem;border-radius:999px;font-size:.96rem;position:relative}
  .nav li a:hover{background:var(--nav-hover)}
  .nav a[aria-current="page"]{background:var(--nav-hover)}
}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--hero-bg);color:var(--hero-ink);isolation:isolate}
.hero-brillo{position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;background:var(--hero-glow);filter:blur(10px);z-index:-1;pointer-events:none}
.hero-in{display:grid;gap:1.5rem;padding-block:2.6rem 3.4rem;align-items:center}
.hero h1{color:var(--hero-h)}
.hero h1 em{font-style:normal;background:var(--hero-em-grad);-webkit-background-clip:text;background-clip:text;color:var(--hero-em)}
@supports (-webkit-background-clip:text){.hero h1 em{color:transparent}}
.hero .kicker{color:var(--hero-kicker)}
.hero-sub{font-size:clamp(1.08rem,2.3vw,1.28rem);color:var(--hero-muted);max-width:56ch}
.hero-frase{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--frase-ink);background:var(--frase-bg);border:1px solid var(--frase-borde);padding:.45rem .9rem;border-radius:999px;font-size:.97rem;margin:.2rem 0 0}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 1.4rem}
.hero .btn-sec{color:var(--hero-sec);border-color:var(--hero-sec-borde);background:var(--hero-sec-bg)}
.hero-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.hero-chips li{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--hero-muted);background:var(--chip-hero-bg);border:1px solid var(--chip-hero-borde);padding:.4rem .75rem;border-radius:999px}
.hero-chips .ico{color:var(--hero-kicker)}
.hero-arte{position:relative;aspect-ratio:1/1;width:min(100%,360px);margin-inline:auto}
.hero-arte>svg,.hero-3d{position:absolute;inset:0;width:100%;height:100%}
.hero-3d{opacity:0;transition:opacity 1.4s ease;touch-action:pan-y}
.hero-arte.con-3d .hero-3d{opacity:1}
.hero-arte.con-3d>svg{opacity:0;transition:opacity 1.2s ease}
.hero-scroll{display:none}
@media (min-width:960px){
  .hero-in{grid-template-columns:1.02fr .98fr;padding-block:4.5rem 6rem;gap:2rem;min-height:min(78vh,760px)}
  .hero-arte{width:118%;max-width:none;margin-right:-12%}
  .hero-scroll{display:block;position:absolute;left:50%;bottom:1.4rem;width:26px;height:42px;border:2px solid var(--hero-sec-borde);border-radius:14px;transform:translateX(-50%)}
  .hero-scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;background:var(--hero-kicker);border-radius:2px;animation:rueda 1.8s infinite}
}
@keyframes rueda{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* Banda de confianza */
.banda-confianza{background:var(--banda-bg);color:var(--banda-ink);border-block:1px solid var(--line)}
.banda-in{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.banda-in div{padding:1.1rem .9rem;display:flex;flex-direction:column;gap:.1rem;border-right:1px solid var(--line)}
.banda-in div:nth-child(2n){border-right:0}
.banda-in strong{font-family:var(--f-head);font-size:1.08rem;line-height:1.25;color:var(--ink-strong)}
.banda-in span{font-size:.86rem;color:var(--muted);line-height:1.4}
@media (min-width:900px){.banda-in{grid-template-columns:repeat(4,1fr)}.banda-in div{padding:1.5rem 1.4rem}.banda-in div:nth-child(2n){border-right:1px solid var(--line)}.banda-in div:last-child{border-right:0}}

/* Secciones */
.seccion{padding-block:clamp(3.4rem,8vw,6.5rem)}
.seccion-pad{padding-bottom:4rem}
.seccion-alt{background:var(--alt)}
.seccion-oscura{background:var(--oscura-bg);color:var(--oscura-ink)}
.seccion-oscura h2,.seccion-oscura h3{color:#fff}
.seccion-oscura .lead{color:var(--oscura-muted)}
.seccion-oscura .kicker{color:var(--oscura-kicker)}
.sec-cab{max-width:780px;margin-bottom:2.4rem}
.area{margin-bottom:3.2rem}
.area:last-child{margin-bottom:0}
.area-cab{display:flex;gap:1rem;align-items:center;margin-bottom:1.3rem}
.area-ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--r-sm);background:var(--tile-grad);color:var(--tile-ink);flex:none;box-shadow:var(--sombra-s)}
.area-ico .ico{width:1.5rem;height:1.5rem}
.area-t{font-size:1.4rem;margin:0}
.area-cab p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5}
.rejilla{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:640px){.rejilla{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.rejilla{grid-template-columns:repeat(3,1fr)}.rejilla-2{grid-template-columns:repeat(2,1fr)}}
.area .rejilla{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.tarjeta{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;text-decoration:none;color:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;box-shadow:var(--sombra-s);overflow:hidden}
.tarjeta::before{content:"";position:absolute;inset:0;background:var(--tarjeta-hover);opacity:0;transition:opacity .3s;pointer-events:none}
.tarjeta:hover{transform:translateY(-5px);box-shadow:var(--sombra);border-color:var(--accent);color:var(--ink)}
.tarjeta:hover::before{opacity:1}
.tarjeta>*{position:relative}
.ico-tile{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:var(--r-sm);background:var(--chip);color:var(--chip-ink);margin-bottom:1rem}
.ico-tile .ico{width:1.4rem;height:1.4rem}
.tarjeta h3,.tarjeta h2{margin-bottom:.35rem;font-size:1.16rem}
.tarjeta p{color:var(--muted);font-size:.96rem;flex:1;line-height:1.55}
.mas{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--link);font-size:.93rem}
.tarjeta:hover .mas .ico,.guia-t:hover .mas .ico{transform:translateX(4px)}
.mas .ico{transition:transform .25s}
@media (max-width:639px){
 .tarjeta{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;padding:1.15rem 1.2rem}
 .tarjeta .ico-tile{grid-row:span 3;margin:0}
 .tarjeta p{margin-bottom:.5rem}
}
.dos-col{display:grid;gap:2.4rem}
@media (min-width:900px){.dos-col{grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:start}}
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.pasos li{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding:0 0 1.8rem;position:relative}
.pasos li:not(:last-child)::before{content:"";position:absolute;left:1.5rem;top:3.1rem;bottom:.2rem;width:1px;background:var(--paso-linea)}
.pasos h3{margin:.35rem 0 .3rem}
.pasos p{margin:0;color:var(--oscura-muted)}
.paso-n{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;background:var(--paso-bg);color:var(--paso-ink);font-weight:700;font-family:var(--f-head);font-size:.95rem;border:1px solid var(--paso-borde)}
.valores{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
@media (min-width:700px){.valores{grid-template-columns:repeat(2,1fr);gap:1.6rem 2.4rem}}
.valores li{display:flex;gap:1rem;align-items:flex-start;padding:1.3rem;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.valores .ico{width:2.6rem;height:2.6rem;padding:.6rem;border-radius:var(--r-sm);background:var(--chip);color:var(--chip-ink)}
.valores h3{margin:0 0 .25rem;font-size:1.1rem}
.valores p{margin:0;color:var(--muted);line-height:1.55}
.cobertura{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.cobertura{grid-template-columns:1fr 1fr;gap:4rem}}
.btns-fila{display:flex;flex-wrap:wrap;gap:.6rem}
.zonas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.zonas li{background:var(--surface);border:1px solid var(--line);padding:.45rem .85rem;border-radius:999px;font-size:.92rem;font-weight:600;color:var(--ink-strong)}
.zonas-mini li{font-size:.85rem;padding:.3rem .7rem}
.guia-t{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;text-decoration:none;color:var(--ink);box-shadow:var(--sombra-s);transition:transform .3s,box-shadow .3s,border-color .3s}
.guia-t:hover{transform:translateY(-4px);box-shadow:var(--sombra);color:var(--ink);border-color:var(--accent)}
.guia-t h2,.guia-t h3{font-size:1.16rem;margin:.7rem 0 .4rem}
.guia-t p{color:var(--muted);margin:0 0 .8rem;font-size:.95rem;line-height:1.55;flex:1}
.etq{display:inline-block;align-self:flex-start;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--chip-ink);background:var(--chip);padding:.28rem .65rem;border-radius:99px}

/* FAQ */
.faq{display:grid;gap:.7rem}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 1.2rem;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:var(--accent);box-shadow:var(--sombra-s)}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 2.2rem 1.05rem 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.2rem;top:50%;width:.6rem;height:.6rem;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq summary h3{margin:0;font-size:1.04rem;font-family:var(--f-body);font-weight:700;letter-spacing:0;line-height:1.4}
.faq-r{padding-bottom:1.1rem;color:var(--ink)}
.faq-r p:last-child{margin-bottom:0}

/* CTA */
.cta-banda{background:var(--cta-bg);color:var(--cta-ink);padding-block:clamp(3rem,7vw,5rem);position:relative;overflow:hidden}
.cta-banda h2{color:var(--cta-h)}
.cta-banda p{color:var(--cta-muted);max-width:60ch;margin:0}
.cta-banda .cta-frase,.cta-frase{color:var(--frase-cta);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:.7rem}
.cta-in{display:grid;gap:1.6rem;align-items:center}
.cta-btns{display:flex;flex-wrap:wrap;gap:.75rem}
.cta-banda .btn-sec{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.06)}
@media (min-width:900px){.cta-in{grid-template-columns:1.3fr auto}}

/* Páginas internas */
.migas{padding-top:1rem;font-size:.86rem}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem;color:var(--muted)}
.migas li+li::before{content:"›";margin-right:.35rem;opacity:.6}
.migas a{color:var(--muted)}
.cab-pag{padding-block:1.8rem 2.6rem}
.cab-pag h1{font-size:clamp(2rem,5.2vw,3.3rem)}
.cab-serv{background:var(--cab-serv-bg);border-bottom:1px solid var(--line);margin-bottom:2.5rem}
.serv-cab{display:grid;gap:1.8rem;align-items:start}
@media (min-width:960px){.serv-cab{grid-template-columns:1.3fr .8fr;gap:3.5rem}}
.resumen{background:var(--resumen-bg);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);padding:1.4rem 1.5rem;box-shadow:var(--sombra)}
.resumen h2{font-size:.85rem;font-family:var(--f-body);text-transform:uppercase;letter-spacing:.14em;color:var(--kicker);margin-bottom:.8rem;font-weight:800}
.resumen ul{margin:0;padding-left:1.1rem;display:grid;gap:.5rem;line-height:1.55}
.resumen-pie{margin:1rem 0 0;padding-top:.8rem;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted)}
.con-lateral{display:grid;gap:2.5rem;padding-bottom:3.5rem}
@media (min-width:1060px){.con-lateral{grid-template-columns:minmax(0,1fr) 320px;gap:4rem}}
.lateral{display:none}
@media (min-width:1060px){.lateral{display:block}.lateral-in{position:sticky;top:110px;display:grid;gap:1.2rem}}
.tarjeta-cta{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;box-shadow:var(--sombra);display:grid;gap:.6rem}
.tarjeta-cta p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.5}
.tarjeta-cta .tc-t{font-family:var(--f-head);font-size:1.25rem;color:var(--ink-strong);line-height:1.2}
.tarjeta-cta .cta-frase{margin:0;color:var(--kicker)}
.tarjeta-cta .btn{width:100%}
.toc{padding:1.2rem 1.4rem;border-left:2px solid var(--line)}
.toc-t{font-weight:800;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.92rem;line-height:1.35}
.toc a{color:var(--muted);text-decoration:none}
.toc a:hover,.toc a.activo{color:var(--link)}
.contenido-serv{min-width:0}
.bloque{margin-bottom:2.6rem}
.prosa h2{font-size:clamp(1.45rem,3vw,1.95rem);margin-top:2.4rem}
.bloque h2{margin-top:0}
.prosa h3{margin-top:1.6rem}
.prosa ul,.prosa ol{padding-left:1.25rem}
.prosa li{margin-bottom:.45rem}
.prosa li::marker{color:var(--accent)}
.prosa .resumen{margin:0 0 2rem}
.aviso-info{display:flex;gap:.6rem;font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.2rem}
.aviso-info .ico{margin-top:.25em}
.h-rel{font-size:1.55rem;margin-bottom:1.3rem}
.meta-art{font-size:.92rem;color:var(--muted)}
.fuentes{margin-top:2.5rem;font-size:.93rem;background:var(--alt);padding:1.2rem 1.4rem;border-radius:var(--r)}
.fuentes h2{font-size:1.1rem;margin-top:0}
.tabla{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:.95rem}
.tabla th,.tabla td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}
.tabla th{background:var(--alt);font-weight:700}
.tabla td:first-child{font-weight:600;min-width:8.5rem}
.tabla-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm)}
.tabla-scroll .tabla{margin:0}
.callout{background:var(--resumen-bg);border-radius:var(--r);padding:1.1rem 1.3rem;margin:1.4rem 0;border:1px solid var(--line);border-left:4px solid var(--accent)}
.progreso{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}
.progreso span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}

/* Sobre mí */
.sobre-grid{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.sobre-grid{grid-template-columns:1.2fr .8fr;gap:4rem}}
.foto{width:100%;max-width:400px;aspect-ratio:4/5;border-radius:var(--r);object-fit:cover;margin-inline:auto;box-shadow:var(--sombra)}
.foto-ph{display:grid;place-items:center;align-content:center;gap:.6rem;background:var(--oscura-bg);color:#fff;text-align:center;padding:2rem}
.foto-ph svg{width:110px;height:110px}
.foto-ph span{font-family:var(--f-head);font-size:1.5rem}
.foto-ph em{font-style:normal;color:var(--oscura-kicker);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.trayectoria{font-size:1.08rem}
.datos{display:grid;gap:.8rem;margin:1.4rem 0;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.datos div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:.85rem 1rem}
.datos dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.datos dd{margin:0;font-weight:700;line-height:1.4}
.nota-peq{font-size:.88rem;color:var(--muted)}
.lista-cols{columns:2 240px;padding-left:1.2rem}

/* Contacto */
.contacto-grid{display:grid;gap:2rem}
@media (min-width:960px){.contacto-grid{grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}}
.canales{display:grid;gap:.8rem}
.canal{display:flex;gap:1rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
a.canal:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--ink)}
.canal .ico{width:2.6rem;height:2.6rem;padding:.6rem;border-radius:50%;background:var(--chip);color:var(--chip-ink)}
.canal-wa .ico{background:var(--wa);color:#fff}
.canal div{display:flex;flex-direction:column;line-height:1.45}
.canal span{color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.3rem,4vw,2.2rem);box-shadow:var(--sombra);display:grid;gap:.35rem}
.form h2{font-size:1.6rem}
.form label{font-weight:700;margin-top:.6rem}
.form input:not([type=radio]):not([type=checkbox]),.form select,.form textarea{width:100%;font:inherit;padding:.8rem .9rem;border:1.5px solid var(--line-fuerte);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);min-height:48px}
.form textarea{resize:vertical}
.form fieldset{border:0;padding:0;margin:.8rem 0 0;display:flex;gap:1.2rem;flex-wrap:wrap}
.form legend{font-weight:700;margin-bottom:.4rem;width:100%}
.form .radio,.form .check{font-weight:500;display:flex;align-items:center;gap:.5rem;margin:0}
.form .check{margin:.8rem 0 .4rem}
.form input[type=radio],.form input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--brand)}
.form button{margin-top:.8rem;justify-self:start}
.form-error{color:var(--error);font-weight:700;margin:.4rem 0 0}

/* Pie */
.pie{background:var(--pie-bg);color:var(--pie-ink);padding-top:4rem;font-size:.94rem}
.pie a{color:var(--pie-ink)}
.pie a:hover{color:#fff}
.pie-top{display:grid;gap:2.2rem;padding-bottom:2.4rem;border-bottom:1px solid rgba(255,255,255,.12)}
@media (min-width:860px){.pie-top{grid-template-columns:1.5fr 1fr 1fr}}
.pie-grid{display:grid;gap:1.8rem;padding-top:2.4rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.pie ul{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:.4rem}
.pie-t{font-family:var(--f-body);font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--pie-t);margin:0 0 .8rem}
.pie-marca{display:flex;align-items:center;gap:.8rem;color:#fff;margin-bottom:1rem}
.pie-marca svg{width:46px;height:46px}
.pie-marca span{display:flex;flex-direction:column;line-height:1.2}
.pie-marca strong{font-family:var(--f-head);font-size:1.3rem}
.pie-marca em{font-style:normal;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pie-t)}
.pie-ced{font-size:.88rem}
.pie-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:1.4rem;padding-block:1.4rem 6rem;font-size:.84rem;opacity:.85}
@media (min-width:960px){.pie-legal{padding-bottom:1.6rem}}
.wa-flotante{position:fixed;right:1rem;bottom:1rem;z-index:60;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transition:opacity .3s,transform .3s}
.wa-flotante .ico{width:30px;height:30px}
.wa-flotante:hover{background:var(--wa-h);color:#fff}
.hero-en-vista .wa-flotante{opacity:0;transform:scale(.6);pointer-events:none}

/* Animación de aparición (solo con JS y sin reducir movimiento) */
.js-anim .revelar{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js-anim .revelar.visible{opacity:1;transform:none}
@media print{.cab,.barra-sup,.wa-flotante,.cta-banda,.hero-arte,.lateral{display:none}}
.cab-serv .hero-frase{color:var(--ink-strong);background:var(--surface);border-color:var(--line-fuerte)}.cab-serv .hero-frase .ico{color:var(--kicker)}


.hero-arte>.hero-respaldo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .8s ease 1.1s}
.hero-arte.con-3d>.hero-respaldo{opacity:0}
.sitio-mama h1,.sitio-mama h2{font-variation-settings:'SOFT' 30,'opsz' 96}
.sitio-mama .hero h1{font-weight:500;letter-spacing:-.025em}
.sitio-mama .cab-pag h1{font-weight:550}
