/*
Theme Name: Sadiana Cabrera Abogados
Theme URI: https://sadianacabreraabogados.es
Author: Sadiana Cabrera Abogados S.L.U.
Description: Tema a medida del despacho Sadiana Cabrera Abogados.
Version: 1.0.0
Requires PHP: 8.0
Text Domain: sadiana
*/
@font-face{font-family:"Bodoni Moda";src:url(assets/fonts/bodoni-moda.woff) format("woff");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(assets/fonts/bodoni-moda-italic.woff) format("woff");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(assets/fonts/manrope.woff) format("woff");font-weight:200 800;font-style:normal;font-display:swap}

/* Concepto: marca deportiva de lujo llevada al Derecho. Negro absoluto, dorado del logotipo, titulares enormes, mucho aire, una sola franja en movimiento. Diseño de un solo tema (oscuro) por decisión de marca. */
:root{
  --ink:#0A0A0A; --ink-2:#141311; --ink-3:#1E1C18; --line:#2C2924;
  --gold:#C9A45C; --gold-2:#E5C98A; --gold-deep:#9C7A36;
  --bone:#F4F0E8; --bone-2:#E9E3D7; --mute:#A39C8E; --mute-dark:#5E584D;
  --display:"Bodoni Moda", "Didot", Georgia, serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --maxw:1240px; color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.label{font-family:var(--sans);font-weight:700;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:500;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
.btn{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;padding:18px 28px;border-radius:999px;transition:transform .2s ease,background .2s ease,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-2)}
.btn-line{border:1px solid rgba(244,240,232,.35);color:var(--bone)}
.btn-line:hover{border-color:var(--gold);color:var(--gold-2)}
.btn svg{width:16px;height:16px}

/* Barra superior */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,10,10,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:42px;height:auto}
.brand b{display:block;font-family:var(--display);font-weight:500;font-size:1.18rem;letter-spacing:.06em;line-height:1}
.brand small{display:block;font-size:.6rem;letter-spacing:.42em;color:var(--mute);margin-top:6px;font-weight:600}
nav.main{display:flex;gap:30px;align-items:center;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
nav.main a:not(.btn){color:var(--mute);transition:color .2s}
nav.main a:not(.btn):hover{color:var(--bone)}
nav.main .btn{padding:12px 20px}
@media (max-width:980px){nav.main a:not(.btn){display:none}}

/* Hero */
.hero{position:relative;overflow:hidden;padding-block:clamp(56px,8vw,110px) clamp(64px,8vw,120px)}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(closest-side,rgba(201,164,92,.16),transparent 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(36px,6vw,90px);align-items:end}
.hero h1{font-size:clamp(3rem,7.6vw,7.2rem);line-height:.94;font-weight:500;margin-top:26px}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.hero .lead{max-width:46ch;color:var(--bone-2);font-size:1.12rem;margin-top:32px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.portrait{position:relative;justify-self:end;width:100%;max-width:440px}
.portrait::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold-deep);border-radius:4px}
.portrait img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:4px;filter:saturate(.92) contrast(1.04)}
.portrait figcaption{position:absolute;left:-28px;bottom:36px;background:var(--bone);color:var(--ink);padding:16px 20px;border-radius:4px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.portrait figcaption b{display:block;font-family:var(--display);font-weight:600;font-size:1.15rem}
.portrait figcaption span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-dark);font-weight:700}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.portrait{justify-self:start;max-width:360px;margin-left:8px}}

/* Franja de confianza */
.trust{border-block:1px solid var(--line);background:var(--ink-2)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.trust div{padding:30px 22px;border-left:1px solid var(--line);display:grid;gap:4px}
.trust div:first-child{border-left:0;padding-left:0}
.trust strong{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1;color:var(--bone)}
.trust strong i{font-style:normal;color:var(--gold);font-size:.7em;margin-left:6px}
.trust span{font-size:.8rem;color:var(--mute);line-height:1.4}
@media (max-width:820px){.trust .wrap{grid-template-columns:1fr 1fr}.trust div:nth-child(3){border-left:0;padding-left:0}.trust div:nth-child(n+3){border-top:1px solid var(--line)}}

/* Cinta */
.ticker{overflow:hidden;background:var(--gold);color:var(--ink);padding-block:16px}
.ticker .track{display:flex;gap:48px;width:max-content;animation:slide 38s linear infinite;font-weight:800;font-size:.95rem;letter-spacing:.2em;text-transform:uppercase}
.ticker span{display:flex;align-items:center;gap:48px;white-space:nowrap}
.ticker span::after{content:"";width:7px;height:7px;background:var(--ink);transform:rotate(45deg)}
@keyframes slide{to{transform:translateX(-50%)}}

/* Secciones */
section{padding-block:clamp(80px,10vw,140px)}
.head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.head h2{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1}
.head p{color:var(--mute);max-width:46ch;justify-self:end}
@media (max-width:820px){.head{grid-template-columns:1fr}.head p{justify-self:start}}

/* Áreas */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.area{position:relative;background:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:34px 30px 30px;min-height:290px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s,background .25s,transform .25s;overflow:hidden}
.area:hover{border-color:var(--gold-deep);background:var(--ink-3);transform:translateY(-4px)}
.area .k{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700}
.area h3{font-size:2rem;line-height:1.05}
.area p{color:var(--mute);font-size:.95rem}
.area .go{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--bone)}
.area .go i{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;transition:background .25s,border-color .25s,color .25s}
.area:hover .go i{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.area.pillar{min-height:400px;background:linear-gradient(160deg,#1A1712,#0E0D0B);border-color:#3A3326}
.area.pillar h3{font-size:clamp(2.1rem,3vw,2.7rem)}
.area.small{min-height:240px}
.area.small h3{font-size:1.6rem}
@media (max-width:900px){.areas{grid-template-columns:1fr}.area.pillar{min-height:300px}}

/* Manifiesto (claro) */
.light{background:var(--bone);color:var(--ink)}
.light .label{color:var(--gold-deep)}
.manifest h2{font-size:clamp(2.6rem,6vw,5.6rem);line-height:.98;max-width:16ch}
.manifest h2 em{font-style:italic;color:var(--gold-deep)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;border-top:1px solid #D6CFBF}
.step{padding:30px 26px 0 0;display:grid;gap:12px;align-content:start}
.step b{font-family:var(--display);font-size:1rem;color:var(--gold-deep);font-weight:600}
.step h3{font-size:1.5rem;line-height:1.1}
.step p{color:#5E584D;font-size:.95rem}
@media (max-width:820px){.steps{grid-template-columns:1fr 1fr;row-gap:36px}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* Logros */
.wins{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.win{border-top:1px solid var(--gold-deep);padding-top:28px;display:grid;gap:14px;align-content:start}
.win strong{font-family:var(--display);font-weight:500;font-size:clamp(3.4rem,6vw,5.4rem);line-height:.9;color:var(--gold-2);font-variant-numeric:lining-nums}
.win .k{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);font-weight:700}
.win h3{font-size:1.4rem;line-height:1.2}
.win p{color:var(--mute);font-size:.95rem}
.more{margin-top:48px;display:flex;justify-content:flex-end}
@media (max-width:820px){.wins{grid-template-columns:1fr}}

/* Reseñas */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:32px;display:grid;gap:22px;align-content:space-between}
.stars{color:var(--gold);letter-spacing:.2em}
.review blockquote{margin:0;font-family:var(--display);font-size:1.3rem;line-height:1.35}
.review cite{font-style:normal;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:700}
.score{display:flex;align-items:center;gap:18px;margin-bottom:40px}
.score strong{font-family:var(--display);font-size:4.4rem;line-height:1;font-weight:500}
.score span{color:var(--mute);font-size:.9rem}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}

/* Cierre */
.silence{background:var(--gold);color:var(--ink);position:relative;overflow:hidden}
.silence .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.silence .big{font-family:var(--display);font-size:clamp(5rem,13vw,11rem);line-height:.85;letter-spacing:-.03em}
.silence .big small{display:block;font-family:inherit;font-size:.24em;letter-spacing:0;margin-top:14px;font-style:italic}
.silence .label{color:var(--ink);opacity:.75}
.silence h2{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.02;margin-top:16px;color:var(--ink)}
.silence p{margin-top:18px;max-width:52ch;font-size:1.05rem;color:#2A2416}
.silence .fine{font-size:.92rem;opacity:.8}
.silence .btn{margin-top:28px;background:var(--ink);color:var(--bone)}
.silence .btn:hover{background:#1E1B16}
@media (max-width:820px){.silence .wrap{grid-template-columns:1fr;gap:28px}}
.close{position:relative;overflow:hidden;background:var(--ink-2);border-block:1px solid var(--line)}
.close .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.close h2{font-size:clamp(2.8rem,6.6vw,6rem);line-height:.95}
.close h2 em{font-style:italic;color:var(--gold)}
.close p{color:var(--mute);margin-top:22px;max-width:44ch}
.close .side{display:grid;gap:14px;justify-items:start}
.close .phone{font-family:var(--display);font-size:1.8rem;user-select:all}
.close .seal{position:absolute;right:-60px;bottom:-60px;width:340px;opacity:.06;pointer-events:none}
@media (max-width:820px){.close .wrap{grid-template-columns:1fr}}

footer{padding-block:56px calc(40px + env(safe-area-inset-bottom,0px));color:var(--mute);font-size:.85rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:22px}
footer a:hover{color:var(--bone)}

.wa{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;box-shadow:0 18px 40px -12px rgba(201,164,92,.55)}
.wa svg{width:26px;height:26px}
.note{background:var(--gold);color:var(--ink);text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:8px 16px}

/* ---- v2: cabecera ---- */
.hero .lead-2{margin-top:12px}

/* ---- v2: silencio interactivo ---- */
.silence .wrap{grid-template-columns:1fr 1fr;align-items:start}
.silence .meter{display:grid;gap:18px;align-content:start;position:sticky;top:110px}
.silence .days{font-family:var(--display);font-weight:600;font-size:clamp(5.5rem,13vw,11rem);line-height:.85;letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums}
.silence .days small{font-size:.26em;font-style:italic;font-weight:500;letter-spacing:0;margin-left:.15em}
.silence .verdict{font-size:1.12rem;line-height:1.5;color:var(--ink);max-width:40ch;margin:0;font-weight:600}
.silence label{display:grid;gap:8px;margin-top:26px;font-weight:700;font-size:.9rem;max-width:360px}
.silence input{font:inherit;font-size:1.1rem;min-height:52px;padding:0 14px;border:2px solid var(--ink);background:var(--bone);color:var(--ink);border-radius:2px}
@media (max-width:820px){.silence .wrap{grid-template-columns:1fr}.silence .meter{position:static}}

/* ---- v2: países ---- */
.countries{background:var(--bone);color:var(--ink);padding-block:0}
.countries .band{overflow:hidden;padding-block:clamp(28px,4vw,48px)}
.countries .run{display:flex;width:max-content;animation:slide 70s linear infinite;font-family:var(--display);font-weight:500;font-size:clamp(3rem,7vw,6.4rem);letter-spacing:-.03em;line-height:1}
.countries .run span{display:flex;align-items:center;white-space:nowrap}
.countries .run i{display:inline-block;width:.16em;height:.16em;background:var(--gold-deep);transform:rotate(45deg);margin:0 .5em}
.countries .cnote{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:clamp(28px,4vw,44px);color:var(--mute-dark);font-size:.98rem}
.countries .cnote b{color:var(--ink)}

/* ---- v2: cómo trabajamos (recibo) ---- */
.how{background:var(--ink-2);border-block:1px solid var(--line)}
.how .wrap{display:grid;grid-template-columns:1fr minmax(0,480px);gap:clamp(40px,7vw,110px);align-items:start}
.how h2{font-size:clamp(2.6rem,5.4vw,5rem);line-height:.98;margin-top:20px}
.how h2 em{font-style:italic;color:var(--gold)}
.how .intro p{color:var(--mute);margin-top:24px;max-width:40ch}
.slip{background:var(--bone);color:var(--ink);padding:38px 34px 66px;font-size:.98rem;font-variant-numeric:tabular-nums;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),96% 100%,92% calc(100% - 14px),88% 100%,84% calc(100% - 14px),80% 100%,76% calc(100% - 14px),72% 100%,68% calc(100% - 14px),64% 100%,60% calc(100% - 14px),56% 100%,52% calc(100% - 14px),48% 100%,44% calc(100% - 14px),40% 100%,36% calc(100% - 14px),32% 100%,28% calc(100% - 14px),24% 100%,20% calc(100% - 14px),16% 100%,12% calc(100% - 14px),8% 100%,4% calc(100% - 14px),0 100%);transform:rotate(1.2deg)}
.slip .stop{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;margin-bottom:6px;border-bottom:1px dashed #BDB4A2}
.slip .stop img{width:34px;height:38px;object-fit:contain}
.slip .stop span{font-family:var(--display);font-size:1.15rem}
.slip h3{font-family:var(--sans);font-size:.98rem;font-weight:800;letter-spacing:0;margin:24px 0 6px}
.slip .row{display:flex;align-items:baseline;gap:10px;padding:5px 0}
.slip .row .lead{flex:1;border-bottom:2px dotted #9C9483;transform:translateY(-4px);min-width:16px}
.slip .row .v{white-space:nowrap;color:var(--mute-dark)}
.slip .total{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--ink);color:var(--bone);min-height:46px;padding:0 14px;margin:26px -14px 0;font-weight:700}
.slip .total span:last-child{color:var(--gold-2)}
@media (max-width:900px){.how .wrap{grid-template-columns:1fr}.slip{transform:none;padding:30px 22px 60px}}

/* ---- v2: resultados con imagen ---- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case{margin:0;display:grid;gap:14px;align-content:start}
.case img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.case:hover img{transform:translateY(-4px)}
.case figcaption{display:grid;gap:4px}
.case figcaption b{font-family:var(--display);font-weight:500;font-size:1.35rem;line-height:1.2}
.case figcaption span{color:var(--mute);font-size:.92rem}
@media (max-width:900px){.cases{grid-template-columns:1fr}}

/* ---- v2: el despacho ---- */
.firm{background:var(--bone);color:var(--ink);overflow:hidden}
.firm .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.firm figure{margin:0 18px 18px 0;position:relative;z-index:0}
.firm figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:2px}
.firm figure::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold-deep);z-index:-1}
.firm .label{color:var(--gold-deep)}
.firm blockquote{margin:22px 0 0;font-family:var(--display);font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.02em}
.firm .bio{margin-top:26px;color:#3E3A33;max-width:56ch;font-size:1.05rem}
.facts{display:grid;grid-template-columns:repeat(2,1fr);margin-top:36px;border-top:1px solid #D6CFBF}
.facts div{padding:22px 22px 22px 0;border-bottom:1px solid #D6CFBF;display:grid;gap:6px;align-content:start}
.facts div:nth-child(odd){border-right:1px solid #D6CFBF}
.facts div:nth-child(even){padding-left:22px}
.facts strong{font-family:var(--display);font-weight:500;font-size:1.75rem;line-height:1.05}
.facts span{font-size:.92rem;color:var(--mute-dark)}
.firm .sign{margin-top:24px;font-family:var(--display);font-style:italic;font-size:1.6rem;color:var(--gold-deep)}
@media (max-width:900px){.firm .wrap{grid-template-columns:1fr}.firm figure{max-width:440px}}
@media (max-width:520px){.facts{grid-template-columns:1fr}.facts div:nth-child(odd){border-right:0}.facts div:nth-child(even){padding-left:0}}

/* ---- v3: fotos reales ---- */
.office{padding:0;background:var(--bone);color:var(--ink)}
.office figure{margin:0;position:relative}
.office img{width:100%;height:clamp(320px,62vw,760px);object-fit:cover;object-position:50% 55%}
.office figcaption{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:22px 34px}
.office figcaption b{font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.1}
.office figcaption span{color:var(--mute-dark);align-self:end}
.close.photo{background:var(--ink) url(assets/img/tarjetas.webp) center/cover no-repeat}
.close.photo::before{content:"";position:absolute;inset:0;background:rgba(10,10,10,.82)}
.close.photo .wrap{position:relative}
.close.photo .seal{display:none}

/* =========================================================
   WordPress: páginas interiores, Actualidad y formulario
   ========================================================= */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--gold);color:var(--ink);padding:10px 16px;font-weight:700}
.skip:focus{left:16px;top:16px}
nav.main .menu{display:contents;list-style:none;margin:0;padding:0}
nav.main .menu li{display:contents}
nav.main .current-menu-item>a,nav.main a[aria-current="page"]{color:var(--gold)}

/* cabecera de página interior */
.page-hero{padding-block:clamp(72px,9vw,128px) clamp(48px,6vw,80px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero .label{display:block;margin-bottom:20px}
.page-hero h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;max-width:18ch}
.page-hero .intro{margin-top:24px;color:var(--mute);max-width:60ch;font-size:1.1rem}
.page-hero .seal{position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:300px;opacity:.05;pointer-events:none}

/* contenido editorial */
.entry{padding-block:clamp(56px,7vw,96px)}
.entry .wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(40px,6vw,88px);align-items:start}
.prose{max-width:72ch;font-size:1.06rem;line-height:1.75;color:#DCD6CA}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.08;color:var(--bone);margin-top:1.9em}
.prose h3{font-size:1.45rem;line-height:1.2;color:var(--bone);margin-top:1.6em}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose a{color:var(--gold-2);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--bone)}
.prose ul,.prose ol{padding-left:1.2em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--gold)}
.prose blockquote{margin:1.6em 0;padding-left:22px;border-left:2px solid var(--gold);font-family:var(--display);font-size:1.4rem;line-height:1.35;color:var(--bone)}
.prose table{width:100%;border-collapse:collapse;font-size:.98rem}
.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{color:var(--gold);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.prose td:first-child{font-family:var(--display);font-size:1.25rem;color:var(--bone);white-space:nowrap}
.prose img{border-radius:2px;height:auto}
.prose figure{margin:1.6em 0}
.prose figcaption{color:var(--mute);font-size:.9rem;margin-top:8px}
.aside{position:sticky;top:110px;background:var(--ink-2);border:1px solid var(--line);border-radius:4px;padding:28px;display:grid;gap:16px}
.aside h2{font-size:1.6rem;line-height:1.1}
.aside p{color:var(--mute);font-size:.95rem}
.aside .btn{justify-content:center}
@media (max-width:960px){.entry .wrap{grid-template-columns:1fr}.aside{position:static}}

/* página clara (despacho, legales) */
.page-light .entry{background:var(--bone);color:var(--ink)}
.page-light .prose{color:#3E3A33}
.page-light .prose h2,.page-light .prose h3,.page-light .prose strong,.page-light .prose td:first-child{color:var(--ink)}
.page-light .prose a{color:var(--gold-deep)}
.page-light .prose th,.page-light .prose td{border-color:#D6CFBF}
.page-light .aside{background:#fff;border-color:#E2DBCB}
.page-light .aside p{color:var(--mute-dark)}

/* Actualidad */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.post-card{display:grid;gap:14px;align-content:start}
.post-card .thumb{aspect-ratio:3/2;background:var(--ink-3);border-radius:2px;overflow:hidden}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.post-card:hover .thumb img{transform:scale(1.03)}
.post-card .meta{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.post-card h2{font-size:1.5rem;line-height:1.15}
.post-card p{color:var(--mute);font-size:.95rem}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.filters a{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.85rem;color:var(--mute)}
.filters a:hover,.filters a.on{border-color:var(--gold);color:var(--gold-2)}
.pager{display:flex;gap:12px;justify-content:center;margin-top:56px}
.pager a,.pager span{border:1px solid var(--line);border-radius:999px;padding:8px 16px}
.pager .current{border-color:var(--gold);color:var(--gold)}
@media (max-width:900px){.posts{grid-template-columns:1fr}}

/* entrada individual */
.single-head .meta{color:var(--gold);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:block}
.single-cover{margin-top:40px}
.single-cover img{width:100%;max-height:640px;object-fit:cover;border-radius:2px}

/* formulario de contacto */
.close .wrap{grid-template-columns:1fr minmax(0,460px)}
.cform{display:grid;gap:14px;background:rgba(10,10,10,.55);border:1px solid var(--line);border-radius:4px;padding:28px}
.cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform label{display:grid;gap:6px;font-size:.85rem;font-weight:700;color:var(--bone)}
.cform input,.cform select,.cform textarea{font:inherit;font-weight:500;font-size:1rem;color:var(--bone);background:var(--ink);border:1px solid #3A3630;border-radius:2px;padding:12px 14px;min-height:48px;width:100%}
.cform textarea{min-height:120px;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--gold);outline:none}
.cform .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.85rem;color:var(--mute)}
.cform .check input{width:20px;min-height:20px;height:20px;margin-top:2px;accent-color:var(--gold)}
.cform .check a{color:var(--gold-2);text-decoration:underline}
.cform .hp{position:absolute;left:-9999px}
.cform .btn{justify-content:center;border:0;cursor:pointer}
.cform .alt{font-size:.88rem;color:var(--mute);text-align:center}
.cform .alt a{color:var(--gold-2)}
.notice{border-radius:4px;padding:14px 16px;font-weight:600}
.notice.ok{background:#1E3A2A;color:#CFEBD9}
.notice.ko{background:#3A1E1E;color:#F2D0D0}
@media (max-width:820px){.close .wrap{grid-template-columns:1fr}.cform .row2{grid-template-columns:1fr}}

/* banda CTA de las páginas interiores */
.cta-band{background:var(--gold);color:var(--ink);padding-block:clamp(56px,7vw,96px)}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;max-width:20ch}
.cta-band .btn{background:var(--ink);color:var(--bone)}
.cta-band .btn+.btn{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:12px}
#contacto.entry .wrap{grid-template-columns:minmax(0,1fr) minmax(0,480px)}
.aside .cform{background:none;border:0;padding:0}
.page-light .btn-line{color:var(--ink);border-color:#CFC6B4}
.page-light .btn-line:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.post-card .ph{display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:24px;background:var(--bone);color:var(--ink);border:1px solid #E2DBCB;position:relative}
.post-card .ph::after{content:"";position:absolute;inset:10px;border:1px solid rgba(156,122,54,.35);pointer-events:none}
.post-card .ph b{font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,4.4vw,3.8rem);line-height:.95;color:var(--gold-deep);letter-spacing:-.02em}
.post-card .ph small{margin-top:10px;font-size:.9rem;color:var(--mute-dark)}
.single-fig{margin-top:36px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;padding-top:28px;border-top:1px solid var(--gold-deep)}
.single-fig b{font-family:var(--display);font-weight:500;font-size:clamp(3.4rem,7vw,6rem);line-height:.9;color:var(--gold-2)}
.single-fig span{color:var(--mute);max-width:40ch}
/* ---- tarjeta de caso de éxito (como las imágenes de la portada) ---- */
.case-card{container-type:inline-size;position:relative;aspect-ratio:3/2;background:#FBFAF6;color:#1E2B2D;overflow:hidden;font-family:var(--sans);border-radius:2px;width:100%}
.case-card::before{content:"";position:absolute;inset:2.8cqw;border:1px solid rgba(170,145,54,.45);pointer-events:none}
.case-card::after{content:"";position:absolute;inset:3.5cqw;border:1px solid rgba(170,145,54,.18);pointer-events:none}
.cc-top{position:absolute;left:7cqw;right:7cqw;top:6.4cqw;display:flex;justify-content:space-between;align-items:center;gap:2cqw;padding-bottom:2.4cqw;border-bottom:1px solid #E3DCC7}
.cc-ref{font-size:1.45cqw;letter-spacing:.16em;text-transform:uppercase;color:#7A6A33;font-weight:600;line-height:1.3}
.cc-mark{flex:none;width:4.8cqw;height:4.8cqw;border:1px solid #AA9136;display:grid;place-items:center;font-family:var(--display);font-size:2.1cqw;color:#AA9136}
.cc-fig{position:absolute;left:6.6cqw;top:15cqw;font-family:var(--display);font-weight:500;font-size:12.5cqw;line-height:1;color:#9A7A2E;letter-spacing:-.02em;white-space:nowrap}
.case-card.is-long .cc-fig{font-size:9.8cqw}
.cc-cap{position:absolute;left:7.1cqw;top:28.6cqw;font-size:1.75cqw;color:#6B6A63;max-width:52cqw}
.case-card.is-long .cc-cap{top:26.4cqw}
.cc-title{position:absolute;left:7cqw;top:33.5cqw;width:60cqw;font-family:var(--display);font-weight:500;font-size:3.5cqw;line-height:1.14;color:#1E2B2D;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-res{position:absolute;left:7cqw;bottom:9.3cqw;width:62cqw;display:flex;gap:1.3cqw;align-items:baseline;padding-top:1.5cqw;border-top:1px dashed #D9D1BA}
.cc-res b{font-size:1.15cqw;letter-spacing:.16em;color:#3D7A57;text-transform:uppercase;flex:none;font-weight:700}
.cc-res span{font-size:1.75cqw;font-weight:500;color:#1E2B2D;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-brand{position:absolute;left:7cqw;bottom:5.2cqw;font-size:1.15cqw;letter-spacing:.3em;color:#9E9886;text-transform:uppercase}
.cc-stamp{position:absolute;right:7.6cqw;bottom:8cqw;width:19cqw;height:19cqw;border-radius:50%;border:.25cqw solid #AA9136;outline:1px solid rgba(170,145,54,.5);outline-offset:-1.2cqw;display:grid;place-items:center;text-align:center;transform:rotate(-13deg);color:#AA9136}
.cc-stamp i{display:block;font-style:normal;font-size:.95cqw;letter-spacing:.3em;margin-bottom:.8cqw;opacity:.8}
.cc-stamp b{display:block;font-family:var(--display);font-weight:600;font-size:2.9cqw;line-height:1}
.cc-stamp small{display:block;font-size:1.05cqw;letter-spacing:.22em;text-transform:uppercase;margin-top:.8cqw}
.post-card .thumb .case-card{height:100%;aspect-ratio:auto}
.single-case{margin-top:40px;max-width:980px}
/* ---- más luz en la portada: secciones claras ---- */
#areas,#logros,#opiniones{background:#F4F0E8;color:#141311;
  --bone:#141311;--ink-2:#FFFFFF;--ink-3:#F1ECE2;--line:#DDD5C4;--mute:#5E584D;--gold:#9C7A36;--gold-2:#8A6A2C}
#areas .btn-gold,#logros .btn-gold,#opiniones .btn-gold{background:#C9A45C;color:#0A0A0A}
#areas .area{box-shadow:0 1px 0 rgba(0,0,0,.02)}
#areas .area.pillar{background:#FFFFFF;border-color:#DDD5C4}
#areas .area:hover{border-color:#9C7A36}
#logros .case img{box-shadow:0 18px 40px -24px rgba(20,19,17,.35)}
#opiniones{border-top:1px solid #E5DECF}
.firm{background:#E9E3D7}
.countries{background:#F4F0E8}
.countries .run .flag{display:inline-block;width:.72em;height:.72em;border-radius:50%;margin-right:.3em;object-fit:cover;box-shadow:0 0 0 2px #F4F0E8,0 0 0 3px rgba(156,122,54,.35);transform:translateY(-.04em)}