:root{ --ink:#0D0D0D; --gold:#C9A84C; --goldlt:#E8C96A; --golddk:#B8912A; --ivory:#F5F2EC; --warm:#111009; --grey:#8C8C8C; --line:rgba(201,168,76,.14);
  --bg:#0D0D0D; --text:#F5F2EC; --text-rgb:245,242,236; --hair-rgb:255,255,255; color-scheme:dark; }
body.theme-light{ --bg:#F6F3EC; --text:#1B1712; --text-rgb:27,23,18; --hair-rgb:0,0,0;
  --gold:#96771F; --goldlt:#B8912A; --golddk:#7A6018; --grey:#6b665c; --line:rgba(154,123,45,.20); color-scheme:light; }
/* La cabecera sigue el tema (clara en modo claro) */
body.theme-light .pnav{ background:rgba(246,243,236,.92); }
body.theme-light .cookie-banner{ --text:#F5F2EC; --text-rgb:245,242,236; color:var(--text); }
.theme-toggle{ background:none; border:1px solid rgba(201,168,76,.25); color:var(--gold); width:32px; height:28px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; transition:.2s; }
.theme-toggle:hover{ border-color:var(--gold); }
.theme-toggle svg{ width:15px; height:15px; }
.theme-toggle .icon-sun{ display:none; } body.theme-light .theme-toggle .icon-sun{ display:block; } body.theme-light .theme-toggle .icon-moon{ display:none; }
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; font-weight:300; line-height:1.75; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
.serif{ font-family:'Cormorant Garamond',serif; }
.wrap{ max-width:1140px; margin:0 auto; padding:0 40px; }
.es,.en{ }
body.lang-es .en{ display:none; } body.lang-en .es{ display:none; }

/* NAV */
.pnav{ position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:0 40px; height:70px; background:rgba(10,10,10,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.pnav-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.pnav-logo img{ width:26px; height:26px; }
.pnav-logo span{ font-family:'Cormorant Garamond',serif; font-size:19px; letter-spacing:.14em; color:var(--goldlt); font-weight:500; }
.pnav-right{ display:flex; align-items:center; gap:26px; }
.pnav-right a{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); text-decoration:none; transition:color .2s; }
.pnav-right a:hover{ color:var(--text); }
.plang{ display:flex; border:1px solid var(--line); }
.plang button{ background:none; border:none; color:var(--grey); font-family:'Inter',sans-serif; font-size:10px; letter-spacing:.1em; padding:6px 10px; cursor:pointer; transition:.2s; }
.plang button.active{ background:var(--gold); color:#0D0D0D; }
.pnav-cta{ background:var(--gold); color:#0D0D0D !important; padding:10px 18px; font-weight:500; }
.pnav-cta:hover{ background:var(--goldlt); }
@media(max-width:820px){ .pnav-right a.hide-sm{ display:none; } .pnav{ padding:0 22px; } .pnav-cta{ display:none; } }

/* BREADCRUMB */
.crumbs{ display:flex; gap:10px; align-items:center; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--grey); margin-bottom:34px; flex-wrap:wrap; }
.crumbs a{ text-decoration:none; color:var(--grey); } .crumbs a:hover{ color:var(--gold); }
.crumbs .sep{ color:rgba(201,168,76,.4); }
.crumbs .cur{ color:var(--gold); }

/* HERO */
.phero{ position:relative; padding:60px 0 56px; border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at 80% 0%, rgba(201,168,76,.06), transparent 55%); }
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.eyebrow::before{ content:''; width:22px; height:1px; background:var(--gold); }
.phero h1{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(34px,5vw,54px); line-height:1.05; letter-spacing:.01em; max-width:15ch; }
.phero .lead{ font-size:16px; color:rgba(var(--text-rgb),.78); max-width:64ch; margin-top:22px; line-height:1.8; }
.meta-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.meta-tags span{ font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--grey); border:1px solid var(--line); padding:7px 12px; }

/* SECTION SHELL */
.sec{ padding:76px 0; border-bottom:1px solid var(--line); }
.sec-head{ margin-bottom:44px; }
.sec-head h2{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(26px,3.4vw,38px); line-height:1.15; max-width:22ch; }
.sec-head h2 em{ color:var(--gold); font-style:italic; }

/* QUÉ INVESTIGAMOS */
.invest{ display:grid; grid-template-columns:1fr 1.15fr; gap:56px; }
.invest .intro{ font-size:15px; color:rgba(var(--text-rgb),.8); line-height:1.9; }
.invest ul{ list-style:none; }
.invest li{ display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--line); font-size:14.5px; color:rgba(var(--text-rgb),.86); line-height:1.6; }
.invest li::before{ content:'✓'; color:var(--gold); flex-shrink:0; font-size:13px; margin-top:2px; }
@media(max-width:800px){ .invest{ grid-template-columns:1fr; gap:28px; } }

/* PROCESO */
.proc{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.proc article{ background:var(--bg); padding:30px 26px; }
.proc .n{ font-family:'Cormorant Garamond',serif; font-size:30px; color:var(--gold); font-weight:300; display:block; margin-bottom:14px; }
.proc h3{ font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:400; color:var(--text); margin-bottom:10px; line-height:1.2; }
.proc p{ font-size:13px; color:rgba(var(--text-rgb),.72); line-height:1.7; }
@media(max-width:900px){ .proc{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .proc{ grid-template-columns:1fr; } }

/* FAQ */
.pfaq details{ border-bottom:1px solid var(--line); }
.pfaq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; align-items:center;
  padding:24px 0; font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:300; color:var(--text); }
.pfaq summary::-webkit-details-marker{ display:none; }
.pfaq summary::after{ content:'+'; color:var(--gold); font-size:22px; flex-shrink:0; transition:transform .25s; }
.pfaq details[open] summary::after{ transform:rotate(45deg); }
.pfaq details p{ padding:0 0 24px; font-size:14px; color:rgba(var(--text-rgb),.76); line-height:1.85; max-width:70ch; }

/* CTA */
.pcta{ padding:80px 0; text-align:center; background:radial-gradient(ellipse at 50% 120%, rgba(201,168,76,.08), transparent 60%); }
.pcta h2{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(28px,4vw,44px); line-height:1.1; max-width:20ch; margin:14px auto 18px; }
.pcta p{ font-size:15px; color:rgba(var(--text-rgb),.75); max-width:60ch; margin:0 auto 30px; line-height:1.8; }
.btn-gold{ display:inline-flex; align-items:center; gap:10px; background:var(--gold); color:#0D0D0D; text-decoration:none;
  font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; padding:16px 30px; transition:.2s; }
.btn-gold:hover{ background:var(--goldlt); transform:translateY(-2px); }
.btn-ghost{ display:inline-flex; align-items:center; gap:9px; color:var(--gold); text-decoration:none; font-size:11px; letter-spacing:.18em; text-transform:uppercase; border-bottom:1px solid rgba(201,168,76,.3); padding-bottom:3px; }

/* FOOTER */
.pfoot{ padding:44px 0; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.pfoot-brand{ font-family:'Cormorant Garamond',serif; font-size:15px; letter-spacing:.12em; color:var(--goldlt); }
.pfoot-brand small{ display:block; font-family:'Inter',sans-serif; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); margin-top:5px; }
.pfoot-legal{ display:flex; gap:20px; flex-wrap:wrap; }
.pfoot-legal a{ font-size:11px; color:#777; text-decoration:none; } .pfoot-legal a:hover{ color:#bbb; }

/* ===== BLOG ===== */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.acard{ background:var(--bg); padding:34px 30px; display:flex; flex-direction:column; text-decoration:none; transition:background .3s; min-height:300px; }
.acard:hover{ background:#141210; }
body.theme-light .acard:hover{ background:#ECE5D6; }
.acard time{ font-size:11px; color:var(--grey); letter-spacing:.05em; }
.acard .cat{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:18px 0 12px; }
.acard h2{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:23px; line-height:1.2; color:var(--text); margin-bottom:12px; }
.acard p{ font-size:13.5px; color:rgba(var(--text-rgb),.72); line-height:1.7; flex:1; }
.acard .more{ margin-top:20px; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
@media(max-width:900px){ .blog-grid{ grid-template-columns:1fr; } }

/* ARTICLE */
.article-lead{ font-family:'Cormorant Garamond',serif; font-size:22px; line-height:1.5; color:rgba(var(--text-rgb),.9); max-width:64ch; margin:40px 0 10px; }
.art-sec{ padding:34px 0; border-top:1px solid var(--line); max-width:70ch; }
.art-sec .idx{ font-family:'Cormorant Garamond',serif; font-size:15px; color:var(--gold); letter-spacing:.1em; }
.art-sec h2{ font-family:'Cormorant Garamond',serif; font-weight:400; font-size:27px; color:var(--text); margin:8px 0 14px; line-height:1.2; }
.art-sec p{ font-size:15px; color:rgba(var(--text-rgb),.82); line-height:1.9; }
.art-aside{ margin:44px 0; padding:38px 34px; border:1px solid var(--line); border-left:2px solid var(--gold); background:linear-gradient(120deg,rgba(201,168,76,.05),transparent); max-width:70ch; }
.art-aside .k{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:10px; }
.art-aside h2{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:26px; color:var(--text); margin-bottom:12px; line-height:1.2; }
.art-aside p{ font-size:14px; color:rgba(var(--text-rgb),.78); line-height:1.8; margin-bottom:22px; }
.back-link{ display:inline-flex; align-items:center; gap:8px; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--grey); text-decoration:none; margin:36px 0; }
.back-link:hover{ color:var(--gold); }

/* WHATSAPP + COOKIES (inyectados por pages.js) */
.wa-float{ position:fixed; right:22px; bottom:22px; z-index:9000; }
.wa-btn{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; background:linear-gradient(135deg,#1f8f4e,#25D366); color:#fff; font-size:12px; font-weight:600; padding:13px 18px; border-radius:40px; box-shadow:0 10px 30px -8px rgba(37,211,102,.5); transition:transform .2s; }
.wa-btn svg{ width:19px; height:19px; } .wa-btn:hover{ transform:translateY(-2px); }
@media(max-width:600px){ .wa-btn span{ display:none; } .wa-btn{ padding:14px; } }
.cookie-banner{ position:fixed; left:16px; right:16px; bottom:16px; z-index:9500; max-width:720px; margin:0 auto; background:rgba(13,13,13,.98); border:1px solid rgba(201,168,76,.25); border-top:2px solid var(--gold); box-shadow:0 24px 60px -20px rgba(0,0,0,.9); padding:20px 22px; display:none; grid-template-columns:1fr auto; gap:18px 26px; align-items:center; }
.cookie-banner.show{ display:grid; }
.cookie-banner h2{ font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:300; margin-bottom:5px; }
.cookie-banner p{ font-size:12px; color:rgba(var(--text-rgb),.72); line-height:1.6; }
.cookie-banner a{ color:var(--gold); font-size:11px; }
.cookie-actions{ display:flex; gap:8px; }
.ckbtn{ font-size:10px; letter-spacing:.15em; text-transform:uppercase; padding:10px 16px; cursor:pointer; border:1px solid rgba(201,168,76,.35); background:transparent; color:var(--text); white-space:nowrap; }
.ckbtn--gold{ background:var(--gold); color:#0D0D0D; font-weight:600; }
@media(max-width:640px){ .cookie-banner{ grid-template-columns:1fr; } }

@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } * { transition:none !important; } }

/* Botón subir arriba (páginas internas) */
.to-top{ position:fixed; left:20px; bottom:20px; z-index:9000; width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  background:rgba(13,13,13,.82); color:var(--gold); border:1px solid rgba(201,168,76,.35); cursor:pointer; border-radius:50%;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .3s, transform .3s, background .2s, border-color .2s; backdrop-filter:blur(6px); }
.to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ border-color:var(--gold); background:rgba(201,168,76,.14); }
.to-top svg{ width:17px; height:17px; }
body.theme-light .to-top{ background:rgba(246,243,236,.9); color:var(--golddk); border-color:rgba(154,123,45,.35); }
@media(max-width:600px){ .to-top{ left:16px; bottom:76px; width:40px; height:40px; } }

.art-author{ margin:30px 0 4px; font-size:12px; letter-spacing:.04em; color:var(--gold); font-style:italic; }
