:root{
  --noche:#0E1B2A; --noche-2:#152435; --noche-3:#1D3047;
  --oro:#C9A24B; --oro-soft:#DDBE7B; --oro-deep:#7A5E1E;
  --hueso:#F5F2EC; --hueso-2:#EBE6DC;
  --ink:#16202B; --ink-soft:#4E5B69;
  --line:rgba(14,27,42,.12); --line-dark:rgba(245,242,236,.14);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --wrap:1160px; --pad:clamp(20px,5vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--hueso);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:2px}

.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sect{padding:clamp(64px,9vw,116px) 0}
.dark{background:var(--noche);color:var(--hueso)}
.dark a{color:var(--hueso)}

h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;line-height:1.08;margin:0}
h1{font-size:clamp(2.3rem,6.2vw,4.15rem);line-height:1.03;letter-spacing:-.028em}
h2{font-size:clamp(1.85rem,4.2vw,3rem)}
h3{font-size:clamp(1.15rem,2.1vw,1.42rem);line-height:1.22}
p{margin:0 0 1.05em}
.lead{font-size:clamp(1.06rem,1.9vw,1.24rem);color:var(--ink-soft);max-width:60ch}
.dark .lead{color:rgba(245,242,236,.86)}
.kicker{font-family:var(--sans);font-size:.9rem;font-weight:500;letter-spacing:.01em;
  color:var(--oro-deep);margin:0 0 18px}
.dark .kicker{color:var(--oro-soft)}
.measure{max-width:64ch}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--oro);color:#12202E;
  font-family:var(--sans);font-weight:600;font-size:1.02rem;text-decoration:none;
  padding:16px 30px;border-radius:3px;border:1px solid var(--oro);
  transition:background .18s ease,transform .18s ease}
.btn:hover{background:var(--oro-soft);border-color:var(--oro-soft)}
.btn:active{transform:translateY(1px)}
.btn svg{width:15px;height:15px;transition:transform .18s ease}
.btn:hover svg{transform:translateX(3px)}
.btn-ghost{background:transparent;color:var(--hueso);border-color:var(--line-dark)}
.btn-ghost:hover{background:rgba(245,242,236,.07);border-color:rgba(245,242,236,.4)}
.under-btn{font-size:.96rem;color:var(--ink-soft);margin:14px 0 0;max-width:48ch}
.dark .under-btn{color:rgba(245,242,236,.82)}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .25s ease,border-color .25s ease}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:70px;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.hdr.solid{background:rgba(14,27,42,.94);backdrop-filter:blur(9px);
  border-bottom:1px solid var(--line-dark)}
.logo{font-family:var(--serif);font-size:1.34rem;font-weight:600;color:var(--hueso);
  text-decoration:none;letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:rgba(245,242,236,.88);text-decoration:none;font-size:.95rem;font-weight:500}
.nav a:hover{color:var(--hueso)}
.hdr .btn{padding:11px 20px;font-size:.94rem}
@media(max-width:900px){.nav{display:none}}
@media(max-width:760px){.hdr .btn{display:none}.hdr-in{height:62px}}

/* ---------- hero ---------- */
.hero{background:var(--noche);color:var(--hueso);padding:calc(70px + clamp(28px,4.5vw,52px)) 0 clamp(40px,5vw,60px);
  position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-12%;top:-30%;width:62vw;height:62vw;
  background:radial-gradient(circle,rgba(201,162,75,.13),transparent 62%);pointer-events:none}
.hero-in{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(30px,5vw,68px);align-items:center}
.hero h1{margin-bottom:22px;font-size:clamp(2.25rem,4.6vw,3.7rem)}
.hero .lead{max-width:52ch;margin-bottom:28px}
/* Portátiles de pantalla baja: el hero se compacta para que las cifras no se corten */
@media(min-width:981px) and (max-height:850px){
  .hero{padding-top:calc(70px + 26px);padding-bottom:34px}
  .hero h1{font-size:clamp(2rem,3.3vw,2.85rem);margin-bottom:18px}
  .hero .lead{font-size:1.04rem;margin-bottom:22px}
  .hero .under-btn{margin-top:11px}
  .ledger{margin-top:26px}
  .ledger div{padding:26px 4px 24px 0}
  .ledger b{font-size:1.75rem}
  .ledger span{margin-top:6px}
  .proof-card{padding:24px}
  .pc-hero b{font-size:2.4rem}
}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:34px}
  .hero .lead{max-width:54ch}}

/* Ficha de resultados del hero */
.proof-card{background:var(--noche-2);border:1px solid var(--line-dark);
  border-radius:4px;padding:clamp(24px,2.8vw,32px)}
.proof-card .pc-top{font-size:.92rem;color:rgba(245,242,236,.82);
  padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--line-dark)}
.pc-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:13px 0;border-bottom:1px solid var(--line-dark);font-variant-numeric:tabular-nums}
.pc-row span{font-size:.95rem;color:rgba(245,242,236,.82)}
.pc-row b{font-family:var(--serif);font-weight:600;font-size:1.16rem;letter-spacing:-.01em}
.pc-hero{padding-top:22px}
.pc-hero b{display:block;font-family:var(--serif);font-weight:600;color:var(--oro-soft);
  font-size:clamp(2.1rem,4.4vw,2.9rem);line-height:1;letter-spacing:-.02em}
.pc-hero span{display:block;margin-top:10px;font-size:.95rem;color:rgba(245,242,236,.72)}
.pc-foot{margin:18px 0 0;font-size:.9rem;color:rgba(245,242,236,.74);line-height:1.55}
.pc-foot a{color:var(--oro-soft)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

.ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  margin-top:clamp(34px,3.6vw,46px);background:var(--line-dark);
  border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.ledger div{background:var(--noche);padding:34px 4px 30px 0}
.ledger b{display:block;font-family:var(--serif);font-weight:600;
  font-size:clamp(1.5rem,3.4vw,2.25rem);letter-spacing:-.02em;line-height:1;color:var(--hueso)}
.ledger span{display:block;margin-top:11px;font-size:.92rem;color:rgba(245,242,236,.82);max-width:30ch}
@media(max-width:700px){.ledger{grid-template-columns:1fr}
  .ledger div{padding:24px 0 22px}
  .ledger span{max-width:none}}

/* ---------- problema ---------- */
.pains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;background:var(--line);margin-top:clamp(38px,5vw,56px);
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
.pain{background:var(--hueso);padding:clamp(26px,3.4vw,40px)}
.pain h3{margin-bottom:12px}
.pain p{margin:0;color:var(--ink-soft);font-size:.99rem}
@media(max-width:760px){.pains{grid-template-columns:1fr}}
.pain-close{margin-top:38px;font-family:var(--serif);font-size:clamp(1.2rem,2.4vw,1.6rem);
  line-height:1.3;max-width:26ch}

/* ---------- solución ---------- */
.fixes{margin-top:clamp(34px,4.5vw,52px);display:grid;gap:0}
.fix{display:grid;grid-template-columns:minmax(0,10fr) minmax(0,13fr);gap:clamp(20px,4vw,56px);
  padding:clamp(26px,3.4vw,38px) 0;border-top:1px solid var(--line)}
.fix:last-child{border-bottom:1px solid var(--line)}
.fix h3{margin:0}
.fix>p{grid-column:2;margin:0;color:var(--ink-soft)}
.fix p+p{margin-top:.8em}
@media(max-width:820px){.fix{grid-template-columns:1fr;gap:12px}.fix>p{grid-column:1}}

/* ---------- números ---------- */
.tbl-title{font-size:.95rem;font-weight:600;color:var(--oro-soft);
  margin:clamp(34px,4.5vw,50px) 0 14px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{text-align:right;padding:16px 8px;border-bottom:1px solid var(--line-dark);font-size:.98rem}
th{font-weight:500;font-size:.88rem;color:rgba(245,242,236,.78);padding-bottom:9px}
th:first-child,td:first-child{text-align:left;padding-left:0}
td:last-child,th:last-child{padding-right:0}
.case{font-weight:600}
.case small{display:block;font-weight:400;color:rgba(245,242,236,.74);font-size:.88rem;margin-top:4px}
.big{font-family:var(--serif);font-weight:600;font-size:clamp(1.2rem,2.6vw,1.6rem);
  color:var(--oro-soft);letter-spacing:-.01em;white-space:nowrap}
@media(max-width:640px){
  table,tbody,tr,td{display:block;width:100%}
  thead{display:none}
  tr{border-bottom:1px solid var(--line-dark);padding:18px 0}
  td{border:0;padding:3px 0;text-align:left;display:flex;justify-content:space-between;gap:16px}
  td::before{content:attr(data-l);color:rgba(245,242,236,.68);font-size:.88rem;
    font-family:var(--sans);font-weight:400;letter-spacing:0}
  td:first-child{display:block;margin-bottom:10px}
  td:first-child::before{content:none}
}
.total{margin-top:clamp(34px,4.5vw,48px);padding:26px 0;border-top:1px solid var(--oro);
  border-bottom:1px solid var(--oro);font-family:var(--serif);
  font-size:clamp(1.25rem,3.2vw,2rem);line-height:1.25;letter-spacing:-.015em}
.total b{color:var(--oro-soft);font-weight:600}
.note{margin-top:clamp(34px,4.5vw,48px);padding:clamp(24px,3vw,34px);
  background:var(--noche-2);border-left:2px solid var(--oro)}
.note h3{font-size:1.12rem;margin-bottom:12px}
.note p{color:rgba(245,242,236,.84);font-size:.98rem;max-width:64ch}
.note p:last-child{margin-bottom:0}
.shots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.shots figure{margin:0;background:var(--noche-2);border:1px solid var(--line-dark);
  border-radius:3px;padding:12px;display:flex;flex-direction:column}
.shots .frame{overflow:hidden;border-radius:2px;background:#fff}
.shots figure:nth-child(-n+2) .frame{aspect-ratio:1.37}
.shots figure:nth-child(n+3) .frame{aspect-ratio:2.37}
.shots img{width:100%;height:100%;display:block;object-fit:cover}
.shots figcaption{font-size:.92rem;color:rgba(245,242,236,.82);padding:12px 4px 2px;
  display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.shots a{display:block;text-decoration:none;position:relative}
.shots a:hover .frame{outline:1px solid var(--oro)}
.shots .zoom{font-size:.85rem;color:var(--oro-soft);white-space:nowrap}
@media(max-width:700px){.shots{grid-template-columns:1fr}}
.shots-foot{font-size:.94rem;color:rgba(245,242,236,.78);margin-top:16px}

/* ---------- quién soy ---------- */
.who{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,10fr);
  gap:clamp(26px,5vw,64px);align-items:start;margin-top:clamp(32px,4vw,46px)}
.who img{border-radius:3px}
.who .ownership{margin-top:26px;padding:22px 24px;background:var(--hueso-2);border-radius:3px}
.who .ownership p{margin:0;font-size:.99rem}
.stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:30px;padding-top:26px;
  border-top:1px solid var(--line)}
.stats div b{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:600;line-height:1}
.stats div span{font-size:.87rem;color:var(--ink-soft)}
@media(max-width:820px){.who{grid-template-columns:1fr}}

/* ---------- encaje ---------- */
.fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3.5vw,44px);
  margin-top:clamp(32px,4vw,46px)}
.fit>div{padding:clamp(24px,3vw,34px);border-radius:3px}
.fit .yes{background:var(--noche);color:var(--hueso)}
.fit .no{background:var(--hueso);border:1px solid var(--line)}
.fit h3{margin-bottom:16px}
.fit ul{margin:0;padding:0;list-style:none}
.fit li{padding:11px 0 11px 26px;position:relative;font-size:1rem}
.fit .yes li{border-bottom:1px solid var(--line-dark)}
.fit .no li{border-bottom:1px solid var(--line);color:var(--ink-soft)}
.fit li:last-child{border-bottom:0}
.fit li::before{position:absolute;left:0;top:11px;font-weight:600}
.fit .yes li::before{content:"—";color:var(--oro)}
.fit .no li::before{content:"—";color:#9AA5B0}
@media(max-width:760px){.fit{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line)}
#preguntas .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  gap:clamp(26px,5vw,72px);align-items:start}
#preguntas h2{position:sticky;top:104px}
@media(max-width:900px){#preguntas .wrap{grid-template-columns:1fr;gap:26px}
  #preguntas h2{position:static}}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;
  font-family:var(--serif);font-size:clamp(1.05rem,1.9vw,1.24rem);font-weight:600;line-height:1.3}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;
  margin-top:-7px;border-right:1.5px solid var(--oro-deep);border-bottom:1.5px solid var(--oro-deep);
  transform:rotate(45deg);transition:transform .2s ease}
details[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
details p{margin:0 0 22px;color:var(--ink-soft);max-width:64ch}

/* ---------- cierre ---------- */
.close-in{max-width:640px;margin:0 auto}
#cierre .wrap{text-align:center}
#cierre .lead{margin-left:auto;margin-right:auto;max-width:56ch}
#cierre .steps li{padding:26px 18px;text-align:center}
@media(max-width:760px){#cierre .steps li{padding:20px 0}}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  margin-top:clamp(40px,5vw,58px);background:var(--line-dark);
  border-top:1px solid var(--line-dark)}
.steps li{background:var(--noche);padding:24px 20px;list-style:none}
.steps b{display:block;font-family:var(--serif);color:var(--oro-soft);font-size:1.05rem;margin-bottom:8px}
.steps span{font-size:.96rem;color:rgba(245,242,236,.84)}
.steps{padding:0;margin-left:0}
@media(max-width:760px){.steps{grid-template-columns:1fr}.steps li{padding:18px 0}}
.risk{margin-top:26px;font-size:.97rem;color:rgba(245,242,236,.82)}

/* ---------- footer ---------- */
.ft{background:var(--noche-2);color:rgba(245,242,236,.82);padding:44px 0 100px;font-size:.92rem}
.ft-in{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between}
.ft a{text-decoration:none;color:rgba(245,242,236,.82)}
.ft a:hover{color:var(--hueso)}
.ft nav{display:flex;flex-wrap:wrap;gap:20px}
.ft-legal{width:100%;padding-top:22px;margin-top:6px;border-top:1px solid var(--line-dark);
  font-size:.88rem;color:rgba(245,242,236,.6)}
@media(min-width:761px){.ft{padding-bottom:44px}}

/* ---------- CTA fija en móvil ---------- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;
  padding:11px var(--pad) calc(11px + env(safe-area-inset-bottom));
  background:rgba(14,27,42,.96);backdrop-filter:blur(9px);border-top:1px solid var(--line-dark)}
.mobile-cta .btn{width:100%;justify-content:center}
@media(max-width:760px){.mobile-cta{display:block}
  .hero-actions .btn-ghost{display:none}}

/* ---------- cookies ---------- */
.ck{position:fixed;left:14px;right:14px;bottom:14px;z-index:80;display:none;
  background:var(--hueso);color:var(--ink);border:1px solid var(--line);border-radius:4px;
  padding:20px 22px;box-shadow:0 12px 40px rgba(14,27,42,.22);max-width:520px}
.ck.show{display:block}
.ck p{font-size:.92rem;margin:0 0 14px;color:var(--ink-soft)}
.ck-btns{display:flex;gap:10px;flex-wrap:wrap}
.ck button{font-family:var(--sans);font-size:.92rem;font-weight:600;padding:10px 18px;
  border-radius:3px;cursor:pointer;border:1px solid var(--noche)}
.ck .ok{background:var(--noche);color:var(--hueso)}
.ck .no{background:transparent;color:var(--noche)}
@media(max-width:760px){.ck{bottom:78px}}

.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--hueso);color:var(--ink);padding:10px 16px}
/* ---------- tabla comparativa ---------- */
.vs{margin-top:clamp(34px,4.5vw,52px);border-top:1px solid var(--line)}
.vs-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px);
  padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.vs-head{font-size:.86rem;font-weight:600;letter-spacing:.02em;padding-bottom:10px}
.vs-head .a{color:var(--ink-soft)}
.vs-head .b{color:var(--oro-deep)}
.vs .a{color:var(--ink-soft);font-size:.99rem}
.vs .b{font-weight:500;font-size:.99rem}
.dark .vs{border-color:var(--line-dark)}
.dark .vs-row{border-color:var(--line-dark)}
.dark .vs .a{color:rgba(245,242,236,.66)}
.dark .vs-head .b{color:var(--oro-soft)}
@media(max-width:700px){
  .vs-row{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .vs-head{display:none}
  .vs .a{text-decoration:line-through;text-decoration-color:rgba(120,132,145,.5);font-size:.94rem}
  .vs .b::before{content:"→ ";color:var(--oro-deep)}
}

/* ---------- franja de marca ---------- */
.claim{background:var(--noche-2);color:var(--hueso);text-align:center;
  padding:clamp(34px,4.5vw,52px) 0}
.claim p{margin:0;font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.65rem);
  letter-spacing:-.01em}
.claim .m{display:inline-block;width:30px;height:30px;line-height:30px;border-radius:4px;
  background:var(--oro);color:#12202E;font-weight:700;margin-right:12px;vertical-align:middle;
  font-size:1.05rem}

/* ---------- listas numeradas de servicio ---------- */
.steps-num{margin:clamp(32px,4vw,46px) 0 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.dark .steps-num{background:var(--line-dark);border-color:var(--line-dark)}
.steps-num li{background:var(--hueso);padding:clamp(24px,3vw,34px)}
.dark .steps-num li{background:var(--noche)}
.steps-num .n{font-family:var(--serif);font-size:.95rem;color:var(--oro-deep);
  display:block;margin-bottom:10px}
.dark .steps-num .n{color:var(--oro-soft)}
.steps-num h3{margin:0 0 10px}
.steps-num p{margin:0;color:var(--ink-soft);font-size:.99rem}
.dark .steps-num p{color:rgba(245,242,236,.84)}
@media(max-width:760px){.steps-num{grid-template-columns:1fr}}

/* ---------- aviso honesto ---------- */
.honest{margin-top:clamp(32px,4vw,46px);padding:clamp(26px,3.2vw,38px);
  background:var(--hueso-2);border-left:2px solid var(--oro);border-radius:0 3px 3px 0}
.honest h3{margin:0 0 14px}
.honest p{color:var(--ink-soft);max-width:64ch}
.honest p:last-child{margin-bottom:0}


/* ---------- enlaces a las páginas de servicio ---------- */
.inline-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.inline-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;
  border:1px solid var(--line);border-radius:3px;text-decoration:none;
  font-size:.95rem;font-weight:500;transition:border-color .18s ease,background .18s ease}
.inline-links a:hover{border-color:var(--oro-deep);background:rgba(201,162,75,.07)}

/* ---------- zona de toque del aviso de cookies ---------- */
.ck p a{display:inline-block;padding:5px 2px}

/* ---------- página 404 ---------- */
.err-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.err-actions .btn{display:inline-flex}
