/* Fuentes alojadas en el propio servidor (sin llamadas a Google Fonts). Licencia SIL OFL 1.1: /assets/fonts/ */
@font-face{font-family:'Lora';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/lora-var.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/fonts/lora-italic-var.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-300.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-500.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/fonts/poppins-600.woff2) format('woff2')}
:root{--crema:#F4F0EA;--papel:#FBF9F5;--tinta:#2E2B28;--topo:#6F675F;--arena:#B9A98F;--linea:#E3DBCE;--serif:'Lora',Georgia,'Times New Roman',serif;--sans:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;--ancho:1120px}
*{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--tinta);text-decoration-color:var(--arena);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--tinta)}
:focus-visible{outline:2px solid var(--tinta);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--ancho);margin:0 auto;padding:0 28px}
.saltar{position:absolute;left:-999px}.saltar:focus{left:12px;top:12px;background:var(--tinta);color:var(--crema);padding:8px 14px;z-index:99}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.2rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.7rem,3vw,2.4rem)}
h3{font-size:1.35rem}
p{margin:0 0 1.1em}
.lead{font-size:1.18rem;font-weight:300;color:var(--tinta);max-width:38em}
.suave{color:var(--topo)}
.peq{font-size:.88rem}
/* cabecera */
.cab{position:sticky;top:0;z-index:20;background:rgba(244,240,234,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--linea)}
.cab .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none}
.marca svg{width:26px;height:46px;flex:none}
.marca span{font-family:var(--serif);font-size:1.15rem;letter-spacing:.02em}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-size:.93rem}
.nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--arena)}
.menu-movil{display:none}
.boton{display:inline-block;background:var(--tinta);color:var(--crema);text-decoration:none;padding:.78em 1.5em;border-radius:999px;font-size:.95rem;font-weight:500;border:1px solid var(--tinta);cursor:pointer;font-family:var(--sans)}
.boton:hover{background:#45403b}
.boton.claro{background:transparent;color:var(--tinta)}
.boton.claro:hover{background:var(--papel)}
.nav .boton{padding:.55em 1.2em;font-size:.88rem}
@media (max-width:920px){.nav{display:none}.menu-movil{display:block}
 .menu-movil summary{list-style:none;cursor:pointer;border:1px solid var(--tinta);border-radius:999px;padding:.4em 1.1em;font-size:.9rem}
 .menu-movil summary::-webkit-details-marker{display:none}
 .menu-movil[open] .panel{position:absolute;left:0;right:0;top:72px;background:var(--crema);border-bottom:1px solid var(--linea);padding:12px 28px 24px;display:flex;flex-direction:column;gap:14px}
 .menu-movil .panel a{text-decoration:none;font-size:1.05rem}}
/* secciones */
section{padding:88px 0}
.alt{background:var(--papel);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.raya{width:70px;border:0;border-top:1.5px solid var(--arena);margin:22px 0 26px}
/* hero */
.hero{padding:72px 0 80px}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:center}
.hero .pruebas{font-size:.98rem;color:var(--topo);margin-top:6px;max-width:36em}
.hero .pruebas strong{color:var(--tinta);font-weight:500}
.acciones{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.capsula{border-radius:999px;overflow:hidden;border:1.5px solid var(--tinta);padding:10px;background:var(--crema)}
.capsula img{border-radius:999px;aspect-ratio:3/4.4;object-fit:cover;width:100%}
.hero .capsula{max-width:340px;justify-self:end}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr;gap:36px}.hero .capsula{max-width:230px;justify-self:start;order:-1}}
/* problemas */
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px}
.tres article{border-top:1.5px solid var(--tinta);padding-top:18px}
.tres h3{font-size:1.3rem}
@media (max-width:820px){.tres{grid-template-columns:1fr;gap:28px}}
/* método */
.sincro{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sincro li{display:flex;flex-direction:column;align-items:flex-start}
.sincro .letra{font-family:var(--serif);font-size:2.2rem;width:64px;height:104px;border:1.5px solid var(--tinta);border-radius:999px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:var(--crema)}
.sincro strong{font-weight:500;display:block;margin-bottom:4px}
.sincro span{font-size:.9rem;color:var(--topo);line-height:1.55}
@media (max-width:980px){.sincro{grid-template-columns:repeat(3,1fr);row-gap:30px}}
@media (max-width:560px){.sincro{grid-template-columns:repeat(2,1fr)}}
.fases{list-style:none;padding:0;margin:36px 0 0}
.fases li{display:grid;grid-template-columns:88px 1fr;gap:28px;padding:28px 0;border-top:1px solid var(--linea)}
.fases .letra{font-family:var(--serif);font-size:2.4rem;width:72px;height:116px;border:1.5px solid var(--tinta);border-radius:999px;display:flex;align-items:center;justify-content:center}
.fases h3{margin-bottom:.3em}
.entregable{font-size:.92rem;color:var(--topo)}
/* servicios */
.lista-serv{list-style:none;padding:0;margin:36px 0 0;border-top:1px solid var(--tinta)}
.lista-serv li{border-bottom:1px solid var(--linea)}
.lista-serv a{display:grid;grid-template-columns:minmax(220px,1fr) 1.6fr auto;gap:28px;align-items:baseline;padding:24px 0;text-decoration:none}
.lista-serv h3{margin:0;font-size:1.35rem}
.lista-serv p{margin:0;color:var(--topo)}
.lista-serv .ir{font-size:.9rem;text-decoration:underline;text-decoration-color:var(--arena)}
.lista-serv a:hover h3{text-decoration:underline;text-decoration-color:var(--arena)}
@media (max-width:760px){.lista-serv a{grid-template-columns:1fr;gap:6px}}
.sectores{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px;margin-top:30px}
.sectores h3{font-size:1.2rem;margin-bottom:.3em}
@media (max-width:700px){.sectores{grid-template-columns:1fr}}
/* bandas */
.banda{background:var(--tinta);color:var(--crema);padding:72px 0}
.banda h2{color:var(--crema)}
.banda p{color:#D9D1C4}
.banda .boton{background:var(--crema);color:var(--tinta);border-color:var(--crema)}
.banda .boton:hover{background:#fff}
.banda .boton.claro{background:transparent;color:var(--crema)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media (max-width:820px){.dos{grid-template-columns:1fr;gap:36px}}
.sobre .capsula{max-width:300px}
/* blog */
.tarjetas{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:36px}
.tarjetas article a{text-decoration:none}
.tarjetas img{aspect-ratio:4/3;object-fit:cover;object-position:top;border-radius:6px;margin-bottom:16px;width:100%}
.tarjetas h3{font-size:1.2rem;margin-bottom:.4em}
.tarjetas a:hover h3{text-decoration:underline;text-decoration-color:var(--arena)}
.meta{font-size:.85rem;color:var(--topo)}
@media (max-width:900px){.tarjetas{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tarjetas{grid-template-columns:1fr}}
/* formularios */
form .campo{margin-bottom:16px}
label{display:block;font-size:.9rem;margin-bottom:6px;font-weight:500}
input[type=text],input[type=email],select,textarea{width:100%;font:inherit;font-size:1rem;padding:.75em .9em;border:1px solid #CFC5B5;border-radius:8px;background:#fff;color:var(--tinta)}
textarea{min-height:140px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem}
.check input{margin-top:5px}
.oculto{display:none}
.news-form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px}
.news-form input[type=email]{flex:1 1 240px}
/* artículo */
.articulo{padding:56px 0 80px}
.texto{max-width:44rem}
.texto h2{font-size:1.65rem;margin-top:1.6em}
.texto ul{padding-left:1.2em}.texto li{margin-bottom:.5em}
.texto li::marker{color:var(--arena)}
.miga{font-size:.85rem;color:var(--topo);margin-bottom:22px}.miga a{color:var(--topo)}
.caja{border:1.5px solid var(--tinta);border-radius:16px;padding:28px 30px;margin:44px 0;background:var(--papel)}
.caja h3{margin-bottom:.4em}
.autor{display:flex;gap:20px;align-items:center;margin-top:44px;padding-top:28px;border-top:1px solid var(--linea)}
.autor img{width:72px;height:104px;border-radius:999px;object-fit:cover;border:1.5px solid var(--tinta)}
.portada-art{max-width:44rem;margin:0 0 34px}
.portada-art img{border-radius:8px;aspect-ratio:16/8;object-fit:cover;object-position:center 20%;width:100%}
/* quiz */
.pregunta{border-top:1px solid var(--linea);padding:22px 0}
.pregunta p{margin-bottom:12px;font-weight:500}
.pregunta .fase{font-family:var(--serif);font-size:1rem;color:var(--topo);margin-right:6px}
.opciones{display:flex;gap:10px;flex-wrap:wrap}
.opciones label{font-weight:400;margin:0;border:1px solid #CFC5B5;border-radius:999px;padding:.45em 1.1em;cursor:pointer;background:#fff;font-size:.93rem}
.opciones input{position:absolute;opacity:0}
.opciones input:checked+span{font-weight:500}
.opciones label:has(input:checked){background:var(--tinta);color:var(--crema);border-color:var(--tinta)}
.opciones label:has(input:focus-visible){outline:2px solid var(--tinta);outline-offset:2px}
#resultado{display:none}
#resultado.visible{display:block}
.barras{list-style:none;padding:0;margin:20px 0 28px}
.barras li{display:grid;grid-template-columns:150px 1fr 40px;gap:14px;align-items:center;margin-bottom:10px;font-size:.92rem}
.barras .b{height:10px;background:var(--linea);border-radius:99px;overflow:hidden}
.barras .b i{display:block;height:100%;background:var(--tinta);border-radius:99px}
/* timeline */
.trayectoria{list-style:none;padding:0;margin:30px 0 0;border-left:1.5px solid var(--arena)}
.trayectoria li{padding:0 0 26px 26px;position:relative}
.trayectoria li::before{content:"";position:absolute;left:-6px;top:9px;width:10px;height:16px;border:1.5px solid var(--tinta);border-radius:99px;background:var(--crema)}
.trayectoria .anio{font-size:.85rem;color:var(--topo)}
.trayectoria h3{font-size:1.15rem;margin:.1em 0 .3em}
/* pie */
.pie{padding:64px 0 40px;border-top:1px solid var(--linea)}
.pie .rejilla{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.pie ul{list-style:none;padding:0;margin:0}.pie li{margin-bottom:8px}
.pie a{text-decoration:none;font-size:.93rem}
.pie .legal{margin-top:44px;font-size:.8rem;color:var(--topo);display:flex;gap:20px;flex-wrap:wrap}
@media (max-width:820px){.pie .rejilla{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.wrap.texto{max-width:var(--ancho)!important}
.wrap.texto>*{max-width:48rem}
.wrap.texto>.dos{max-width:none}
.idioma a{font-size:.85rem;color:var(--topo)}
/* mejoras v2 */
.ruta{font-size:.92rem;color:var(--topo);margin-top:18px}
.credenciales{border-bottom:1px solid var(--linea);padding:22px 0}
.credenciales .wrap{display:flex;gap:28px;align-items:baseline;flex-wrap:wrap}
.credenciales p{margin:0;font-size:.85rem;color:var(--topo)}
.credenciales ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 30px}
.credenciales li{font-family:var(--serif);font-size:1.08rem}
.pasos{list-style:none;padding:0;margin:36px 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.pasos span{font-family:var(--serif);font-size:1.5rem;width:44px;height:70px;border:1.5px solid var(--tinta);border-radius:999px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pasos h3{font-size:1.25rem}
@media (max-width:820px){.pasos{grid-template-columns:1fr;gap:26px}}
.proyectos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}
.proyectos article a{display:block;height:100%;text-decoration:none;border:1.5px solid var(--tinta);border-radius:22px;padding:26px 24px}
.proyectos article a:hover{background:var(--papel)}
.proyectos h3{font-size:1.25rem;margin:.2em 0 .3em}
.cifras{list-style:none;padding:0;margin:16px 0 0;border-top:1px solid var(--linea)}
.cifras li{padding-top:10px;font-size:.9rem;color:var(--topo)}.cifras b{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--tinta);margin-right:6px}
@media (max-width:900px){.proyectos{grid-template-columns:1fr 1fr}}@media (max-width:600px){.proyectos{grid-template-columns:1fr}}
.cifras-grandes{list-style:none;padding:0;margin:10px 0 34px;display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:24px;border-top:1.5px solid var(--tinta);padding-top:20px}
.cifras-grandes .num{display:block;font-family:var(--serif);font-size:2.4rem;line-height:1.1}
.cifras-grandes span{font-size:.92rem;color:var(--topo)}
@media (max-width:600px){.cifras-grandes{grid-template-columns:1fr}}
.faq{border-top:1px solid var(--linea);padding:16px 0}.faq:last-child{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-family:var(--serif);font-size:1.4rem;line-height:1}.faq[open] summary::after{content:"–"}
.faq summary::-webkit-details-marker{display:none}.faq p{margin:12px 0 0;color:var(--topo)}
.senales li::marker{content:"→  ";color:var(--arena)}
.form-banda label{color:var(--crema);font-size:.9rem}.form-banda .check label{color:var(--crema)}.form-banda a{color:var(--crema)}
.cta-movil{display:none}
@media (max-width:700px){.cta-movil{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;text-align:center;background:var(--tinta);color:var(--crema);text-decoration:none;padding:14px;border-radius:999px;font-weight:500;font-size:.95rem;box-shadow:0 6px 20px rgba(0,0,0,.18)}body{padding-bottom:76px}}
/* portadas blog */
.tarjetas img{aspect-ratio:1200/750;object-fit:cover;border-radius:14px;border:1px solid var(--linea)}
.tarjetas a:hover img{border-color:var(--tinta)}
.portada-art{max-width:48rem;margin:0 0 30px}
.portada-art img{aspect-ratio:1200/750;object-fit:cover;border-radius:18px;border:1px solid var(--linea)}
/* ===== dirección creativa v3 ===== */
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
::selection{background:var(--arena);color:var(--crema)}
h1{letter-spacing:-.015em}
/* retrato con doble contorno, eco del monograma */
.hero .wrap,.sobre .wrap{position:relative}
.capsula{position:relative;isolation:isolate}
.hero .capsula::after,.sobre .capsula::after{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--arena);border-radius:999px;z-index:-1}
/* firma: sincronía */
.sincronia{padding:96px 0;background:var(--papel);border-bottom:1px solid var(--linea)}
.sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.sync-viz{display:flex;gap:16px;align-items:center;height:280px;position:relative}
.sync-viz::before{content:"";position:absolute;left:-10px;right:-10px;top:50%;border-top:1px dashed var(--arena);opacity:0;transition:opacity .6s ease 1.1s}
.sync-viz span{flex:1;max-width:64px;height:150px;border:1.5px solid var(--tinta);border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--crema);transform:translateY(var(--d));transition:transform 1.1s cubic-bezier(.65,0,.25,1) calc(var(--i)*90ms),background-color .5s ease calc(1s + var(--i)*90ms)}
.sync-viz b{font-family:var(--serif);font-weight:400;font-size:1.6rem;transition:color .5s ease calc(1s + var(--i)*90ms)}
.sync-viz.alineado span{transform:translateY(0);background:var(--tinta)}
.sync-viz.alineado b{color:var(--crema)}
.sync-viz.alineado::before{opacity:1}
@media (max-width:820px){.sync-grid{grid-template-columns:1fr;gap:40px}.sync-viz{height:230px}}
@media (prefers-reduced-motion:reduce){.sync-viz span,.sync-viz b,.sync-viz::before{transition:none!important}}
/* manifiesto */
.manifiesto{padding:110px 0 30px}
.manifiesto blockquote{margin:0;max-width:22em}
.manifiesto blockquote p{font-family:var(--serif);font-style:italic;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.2;margin:0 0 20px;text-indent:-.4em}
.manifiesto footer{font-size:.9rem;color:var(--topo);padding-left:56px;position:relative}
.manifiesto footer::before{content:"";position:absolute;left:0;top:.8em;width:40px;border-top:1.5px solid var(--arena)}
/* glifos de servicio */
.lista-serv h3{display:flex;align-items:center;gap:16px}
.glifo{width:24px;height:38px;flex:none;fill:none;stroke:var(--tinta);stroke-width:1.6;color:var(--arena)}
.lista-serv a:hover .glifo rect:first-child{fill:var(--tinta)}
.lista-serv a:hover .glifo :not(rect:first-child){stroke:var(--crema)}
/* diagnóstico en óvalos */
.barras.ovalos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:28px 0 34px}
.barras.ovalos li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:0}
.barras.ovalos .ov{position:relative;width:58px;height:110px;border:1.5px solid var(--tinta);border-radius:999px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.barras.ovalos .ov i{position:absolute;left:0;right:0;bottom:0;background:var(--arena);transition:height .9s cubic-bezier(.65,0,.25,1)}
.barras.ovalos .ov b{position:relative;font-family:var(--serif);font-weight:400;font-size:1.4rem}
.barras.ovalos .nom{font-size:.82rem;line-height:1.3}.barras.ovalos .pt{font-size:.8rem;color:var(--topo)}
@media (max-width:600px){.barras.ovalos{grid-template-columns:repeat(3,1fr)}}
/* cierre */
.cierre{padding:110px 0 90px;border-top:1px solid var(--linea);text-align:left}
.cierre-pre{color:var(--topo);font-size:1.05rem;margin-bottom:6px;max-width:32em}
.cierre-mail{display:inline-block;font-family:var(--serif);font-size:clamp(3.4rem,10vw,8rem);line-height:1;text-decoration:none;letter-spacing:-.03em;margin:4px 0 22px;border-bottom:2px solid var(--arena);padding-bottom:6px}
.cierre-mail:hover{border-color:var(--tinta)}
.cierre-mail::after{content:"";display:inline-block;width:.32em;height:.5em;border:2px solid currentColor;border-radius:99px;margin-left:.22em;vertical-align:.1em}
.capsula{overflow:visible}
.capsula img{border-radius:999px}
.manifiesto blockquote{max-width:none}
.manifiesto blockquote p{max-width:26ch}
/* ===== color y peso · v4 ===== */
:root{--acento:#2F5A4C;--acento-osc:#24473C;--acento-claro:#E1EAE4;--ocre:#C9963A;--ocre-claro:#F3E5C4;--sobre-acento:#F4F0EA}
h1{font-weight:600;letter-spacing:-.02em}
h2{font-weight:500}
h3{font-weight:500}
.lead{font-weight:400}
a{text-decoration-color:var(--ocre)}
a:hover{color:var(--acento);text-decoration-color:var(--acento)}
::selection{background:var(--ocre);color:#2E2B28}
.boton{background:var(--acento);border-color:var(--acento);color:var(--sobre-acento);font-weight:600;letter-spacing:.01em}
.boton:hover{background:var(--acento-osc);color:var(--sobre-acento)}
.boton.claro{background:transparent;color:var(--tinta);border:1.5px solid var(--tinta)}
.boton.claro:hover{background:var(--tinta);color:var(--crema)}
.nav a[aria-current]{color:var(--acento);text-decoration-color:var(--ocre);text-decoration-thickness:2px}
/* hero */
.hero h1{font-size:clamp(2.5rem,5.2vw,4.1rem)}
.hero .pruebas strong{color:var(--acento);font-weight:600}
.hero .capsula{border-color:var(--acento);border-width:2px}
.hero .capsula::after{border-color:var(--ocre);border-width:1.5px}
.ruta a{color:var(--acento);font-weight:600}
/* franja de experiencia */
.credenciales{background:var(--acento);border:0;padding:24px 0}
.credenciales p{color:var(--ocre-claro)}
.credenciales li{color:var(--sobre-acento);font-weight:500}
/* sincronía */
.sincronia{background:var(--ocre-claro);border:0}
.sync-viz span{border-color:var(--acento);background:var(--crema)}
.sync-viz b{color:var(--acento);font-weight:600}
.sync-viz.alineado span{background:var(--acento)}
.sync-viz.alineado b{color:var(--sobre-acento)}
.sync-viz::before{border-top:2px dashed var(--ocre)}
.sincronia h2{font-weight:600}
/* problemas */
.tres article{border-top:3px solid var(--acento)}
.tres h3{font-weight:600}
.tres a{font-weight:600;color:var(--acento)}
/* método */
.sincro .letra{border-color:var(--acento);color:var(--acento);font-weight:600;background:var(--crema)}
.sincro li:nth-child(odd) .letra{background:var(--acento);color:var(--sobre-acento)}
.sincro strong{font-weight:600}
.fases .letra{border-color:var(--acento);color:var(--sobre-acento);background:var(--acento);font-weight:600}
.fases li:nth-child(even) .letra{background:var(--ocre);border-color:var(--ocre);color:#2E2B28}
.entregable b{color:var(--acento)}
/* bandas de color */
.banda{background:var(--acento);color:var(--sobre-acento)}
.banda h2{color:var(--sobre-acento);font-weight:600}
.banda p{color:var(--sobre-acento);opacity:.88}
.banda .boton{background:var(--ocre);border-color:var(--ocre);color:#2E2B28}
.banda .boton:hover{background:#E0B866;border-color:#E0B866}
.banda .boton.claro{background:transparent;color:var(--sobre-acento);border-color:var(--sobre-acento)}
.form-banda label,.form-banda .check label,.form-banda a{color:var(--sobre-acento)}
/* servicios */
.lista-serv{border-top:3px solid var(--acento)}
.lista-serv h3{font-weight:600}
.lista-serv .ir{font-weight:600;color:var(--acento);text-decoration-color:var(--ocre)}
.glifo{stroke:var(--acento);color:var(--ocre)}
.lista-serv a:hover .glifo rect:first-child{fill:var(--acento)}
.senales li::marker{color:var(--ocre)}
/* pasos */
.pasos span{background:var(--ocre);border-color:var(--ocre);color:#2E2B28;font-weight:600}
.pasos h3{font-weight:600}
/* proyectos */
.proyectos article a{border:2px solid var(--acento);background:var(--crema)}
.proyectos article a:hover{background:var(--acento-claro)}
.proyectos .meta{color:var(--acento);font-weight:600}
.proyectos h3{font-weight:600}
.cifras b{color:var(--acento);font-weight:700}
.cifras-grandes{border-top:3px solid var(--acento)}
.cifras-grandes .num{color:var(--acento);font-weight:700}
/* manifiesto */
.manifiesto blockquote p{color:var(--acento);font-weight:500}
.manifiesto footer::before{border-top:2px solid var(--ocre)}
/* blog */
.tarjetas h3{font-weight:600}
.tarjetas .meta{color:var(--acento);font-weight:600}
.caja{border:2px solid var(--acento);background:var(--acento-claro)}
.caja h3{font-weight:600;color:var(--acento)}
.texto h2{font-weight:600}
.texto li::marker{color:var(--ocre)}
/* faq y diagnóstico */
.faq summary{font-weight:600}
.faq summary::after{color:var(--ocre);font-weight:600}
.barras.ovalos .ov{border-color:var(--acento);border-width:2px}
.barras.ovalos .ov i{background:var(--ocre)}
.barras.ovalos .ov b{font-weight:600}
.opciones label:has(input:checked){background:var(--acento);border-color:var(--acento);color:var(--sobre-acento)}
.pregunta .fase{color:var(--acento);font-weight:600}
/* trayectoria */
.trayectoria{border-left:2px solid var(--ocre)}
.trayectoria li::before{border-color:var(--acento);background:var(--acento)}
.trayectoria h3{font-weight:600}
/* cierre */
.cierre{background:var(--ocre-claro);border:0}
.cierre-mail{color:var(--acento);font-weight:600;border-bottom:4px solid var(--ocre)}
.cierre-mail:hover{color:var(--acento-osc)}
.cta-movil{background:var(--acento);color:var(--sobre-acento)}

/* ===== v5 · 20 oct 2026: calidad y auditoría, cookies, diagnóstico de auditoría ===== */
.oculto-acc{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.legal .enlace-cookies{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-color:var(--arena);text-underline-offset:3px;cursor:pointer}
/* aviso */
.ck-aviso{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1000;max-width:30rem;background:var(--papel);border:1.5px solid var(--tinta);border-radius:16px;padding:20px 22px;box-shadow:0 10px 30px rgba(46,43,40,.14)}
.ck-tit{font-family:var(--serif);font-size:1.15rem;font-weight:600;margin:0 0 .3em}
.ck-txt{font-size:.88rem;line-height:1.55;margin:0 0 14px}
.ck-acc{display:flex;flex-wrap:wrap;gap:8px}
.ck-b{font:500 .88rem/1 var(--sans);padding:.75em 1.15em;border-radius:999px;border:1.5px solid var(--acento);background:var(--acento);color:var(--sobre-acento);cursor:pointer}
.ck-b:hover{background:var(--acento-osc);border-color:var(--acento-osc)}
.ck-b.ck-sec{background:transparent;color:var(--acento)}
.ck-b.ck-sec:hover{background:var(--acento-claro)}
@media (max-width:640px){.ck-aviso{left:10px;right:10px;max-width:none;bottom:calc(84px + env(safe-area-inset-bottom,0px))}.ck-acc .ck-b{flex:1 1 auto}}
/* panel */
.ck-fondo{position:fixed;inset:0;z-index:1001;background:rgba(46,43,40,.45);display:none;align-items:center;justify-content:center;padding:16px}
.ck-fondo.abierto{display:flex}
.ck-panel{background:var(--papel);border-radius:18px;max-width:36rem;width:100%;max-height:90vh;overflow:auto;padding:26px 28px;border:1.5px solid var(--tinta)}
.ck-panel h2{font-size:1.6rem;outline:none}
.ck-panel>p{font-size:.92rem}
.ck-fila{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--linea);padding:14px 0}
.ck-cat{font-weight:600;margin:0 0 .2em}
.ck-desc{font-size:.86rem;color:var(--topo);margin:0;line-height:1.5}
.ck-siempre{font-size:.8rem;font-weight:600;color:var(--acento);white-space:nowrap}
.ck-sw{position:relative;flex:none;width:46px;height:26px;cursor:pointer}
.ck-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ck-sw span[aria-hidden]{position:absolute;inset:0;border-radius:999px;background:#CFC5B5;transition:background .15s}
.ck-sw span[aria-hidden]::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.ck-sw input:checked+span{background:var(--acento)}
.ck-sw input:checked+span::after{transform:translateX(20px)}
.ck-sw input:focus-visible+span{outline:2px solid var(--tinta);outline-offset:2px}
.ck-pol{font-size:.85rem;margin:14px 0 0}
@media (prefers-reduced-motion:reduce){.ck-sw span[aria-hidden],.ck-sw span[aria-hidden]::after{transition:none}}
/* dos grandes áreas */
.areas{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.area{display:block;text-decoration:none;border:2px solid var(--acento);border-radius:22px;padding:28px 30px;background:var(--papel)}
.area:hover{background:var(--acento-claro)}
.area .etq{display:inline-block;font-size:.8rem;font-weight:600;color:var(--acento);border:1.5px solid var(--acento);border-radius:999px;padding:.2em .9em;margin-bottom:12px}
.area h2,.area h3{font-weight:600;margin-bottom:.35em}
.area p{color:var(--topo);margin-bottom:.6em}
.area .ir{font-weight:600;color:var(--acento);text-decoration:underline;text-decoration-color:var(--ocre);text-underline-offset:3px}
@media (max-width:760px){.areas{grid-template-columns:1fr}}
.grupo{scroll-margin-top:90px}
.grupo-cab{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.grupo-cab p{max-width:40em}
/* tablas */
.tabla-env{overflow-x:auto;margin:22px 0 30px;border:1px solid var(--linea);border-radius:14px;background:var(--papel)}
.tabla{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.5}
.tabla th,.tabla td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--linea)}
.tabla thead th{background:var(--acento-claro);color:var(--acento);font-weight:600;font-size:.84rem}
.tabla tbody tr:last-child td{border-bottom:0}
.tabla td:first-child{font-weight:600;min-width:11em}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:.8rem;border:1px solid #CFC5B5;border-radius:999px;padding:.15em .7em;background:#fff;white-space:nowrap}
.aviso-legal{border-left:3px solid var(--ocre);background:var(--ocre-claro);padding:16px 20px;border-radius:0 12px 12px 0;font-size:.9rem;margin:28px 0}
.aviso-legal p:last-child{margin:0}
.info-basica{font-size:.78rem;line-height:1.5;color:var(--topo);border-top:1px solid var(--linea);padding-top:10px;margin-top:14px}
.info-basica p{margin:0 0 .4em}
/* diagnóstico de auditoría por pasos */
.da{max-width:52rem}
.da-progreso{display:flex;gap:6px;margin:6px 0 26px;list-style:none;padding:0;counter-reset:p}
.da-progreso li{flex:1;font-size:.78rem;color:var(--topo);border-top:4px solid var(--linea);padding-top:8px}
.da-progreso li.hecho,.da-progreso li.actual{border-color:var(--acento);color:var(--tinta)}
.da-progreso li.actual{font-weight:600}
.da-paso{border:0;margin:0 0 10px;padding:0}
.da-paso legend{font-family:var(--serif);font-size:1.6rem;margin-bottom:.4em;padding:0}
.da-p{margin:22px 0 10px;font-weight:600}
.da-p small{font-weight:400;color:var(--topo)}
.da .opciones label{display:inline-flex;align-items:center}
.da .opciones.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.da .opciones.cols label{border-radius:12px}
.da select,.da input[type=text],.da input[type=email],.da input[type=tel],.da textarea{width:100%}
.da-nav{display:flex;gap:10px;justify-content:space-between;margin-top:26px;flex-wrap:wrap}
.da-error{color:#9A3324;font-size:.88rem;min-height:1.2em;margin-top:8px}
.js .da-paso{display:none}.js .da-paso.activo{display:block}
.da-resumen{border:2px solid var(--acento);background:var(--acento-claro);border-radius:16px;padding:20px 24px;margin:20px 0}
.da-resumen h3{font-weight:600;color:var(--acento)}
.da-resumen ul{margin:.4em 0 0;padding-left:1.2em}
.da-resumen li{margin:.25em 0}
input[type=tel]{width:100%;font:inherit;font-size:1rem;padding:.75em .9em;border:1px solid #CFC5B5;border-radius:8px;background:#fff;color:var(--tinta)}
.news-form .nl-check{flex-basis:100%;margin-top:2px}
.pie .check label,.pie .nl-check label{color:var(--topo);font-size:.8rem;line-height:1.45}
.pie .check a{font-size:.8rem;text-decoration:underline}
.form-banda .info-basica{color:var(--sobre-acento);opacity:.85;border-color:rgba(244,240,234,.3)}
.nav a,.marca span{white-space:nowrap}
@media (max-width:1240px){.nav{gap:18px}.nav a{font-size:.88rem}.nav .boton{padding:.5em 1em}}
@media (max-width:1060px){.nav{gap:12px}.nav a{font-size:.84rem}}
