/*
Theme Name: Diana Correa International
Theme URI: https://dianacorea.com
Author: Diana Correa International
Description: Tema profesional para Diana Correa International — Árbitra de Derecho Internacional. Compatible con Elementor. Las 5 páginas se generan automáticamente con todo el contenido al activar el tema.
Version: 4.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: Proprietary
Text Domain: diana-correa
*/

:root {
  --navy-950:#0D1220; --navy-900:#1C2233; --navy-800:#2C3549;
  --navy-700:#3D4D66; --navy-600:#536280; --navy-400:#8494AA;
  --navy-200:#BEC7D4; --navy-50:#EAECF0;
  --slate-900:#2E3F4A; --slate-800:#3F5260; --slate-700:#566470;
  --slate-600:#6D7F8C; --slate-400:#94A5AF; --slate-200:#C8D1D6; --slate-50:#EDF0F2;
  --blush-900:#8C6D60; --blush-800:#A88A7B; --blush-700:#C4B5A8;
  --blush-600:#DDD0C5; --blush-400:#E8DDD5; --blush-200:#F0E9E3; --blush-50:#F9F5F2;
  --sage-800:#6E7870; --sage-700:#8E9690; --sage-600:#B2B9B0;
  --sage-400:#CDD2CB; --sage-200:#E1E5E0; --sage-50:#F3F4F2;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fb:'Jost',system-ui,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --container:1180px;
  --nav-h:80px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:var(--fb);font-size:20px;color:var(--navy-800);background:var(--blush-50);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.75}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--fd);font-weight:300;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(4.15rem,8.0vw,8.54rem)}
h2{font-size:clamp(2.68rem,5.2vw,4.64rem)}
h3{font-size:clamp(1.59rem,2.5vw,2.32rem)}
h4{font-size:1.59rem;font-weight:400}
p{font-weight:300;color:var(--slate-700);line-height:1.8}

/* ── NAVBAR ── */
#dci-header{position:fixed;top:0;left:0;right:0;z-index:9999;padding:0 clamp(1.5rem,5vw,4rem);transition:background .4s var(--ease),box-shadow .4s;background:rgba(28,34,51,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(221,208,197,.1)}
.dci-nav{max-width:var(--container);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.dci-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.dci-logo img{height:44px;width:auto;display:block;object-fit:contain}
.dci-logo-txt{font-family:var(--fd);font-size:1.22rem;font-weight:300;color:var(--blush-50);letter-spacing:.02em}
.dci-logo-txt em{font-style:italic;color:var(--blush-600)}
.dci-nav-links{display:flex;align-items:center;gap:2rem}
.dci-nav-links a{font-size:0.9rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-200);transition:color .3s;position:relative}
.dci-nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--blush-600);transition:width .3s var(--ease)}
.dci-nav-links a:hover,.dci-nav-links a.is-current{color:var(--blush-200)}
.dci-nav-links a:hover::after,.dci-nav-links a.is-current::after{width:100%}
.dci-nav-r{display:flex;align-items:center;gap:1.2rem}
.dci-lang{display:flex;align-items:center;gap:.15rem}
.dci-lang button{background:none;border:none;font-size:0.5rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--blush-800);padding:.15rem .28rem;transition:color .3s}
.dci-lang button.is-on{color:var(--blush-600)}
.dci-lang .sep{color:var(--blush-700);font-size:0.54rem}
.dci-cta{font-size:0.85rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:.6rem 1.4rem;background:var(--blush-600);color:var(--navy-900);border:none;transition:background .3s;display:inline-block}
.dci-cta:hover{background:var(--blush-700)}
.dci-burger{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:4px}
.dci-burger span{display:block;width:22px;height:1.5px;background:var(--blush-200);transition:all .3s}
.dci-burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.dci-burger.is-open span:nth-child(2){opacity:0}
.dci-burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.dci-mob{display:none;position:fixed;inset:0;background:var(--navy-950);z-index:9998;flex-direction:column;align-items:center;justify-content:center;gap:1.8rem}
.dci-mob.is-open{display:flex}
.dci-mob a{font-family:var(--fd);font-size:2.68rem;font-weight:300;color:var(--blush-200);font-style:italic;transition:color .3s}
.dci-mob a:hover{color:var(--blush-600)}
.dci-mob-lang{display:flex;gap:1rem;margin-top:.5rem}
.dci-mob-lang button{background:none;border:none;font-size:0.73rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-600);padding:.3rem .5rem;transition:color .3s}
.dci-mob-lang button.is-on{color:var(--blush-600)}

/* ── MAIN CONTENT OFFSET ── */
#dci-main{padding-top:var(--nav-h)}
/* Hero section overrides this */
#dci-main > .dci-hero{margin-top:calc(-1 * var(--nav-h))}

/* ── FOOTER ── */
#dci-footer{background:var(--navy-950);border-top:3px solid var(--blush-700)}
.dci-footer-in{max-width:var(--container);margin:0 auto;padding:3.5rem clamp(1.5rem,5vw,4rem) 1.5rem}
.dci-footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:4rem;padding-bottom:2rem;border-bottom:1px solid rgba(221,208,197,.07)}
.dci-footer-brand{}
.dci-footer-logo-txt{font-family:var(--fd);font-size:1.22rem;font-weight:300;color:var(--blush-200);margin-bottom:.7rem}
.dci-footer-logo-txt em{font-style:italic;color:var(--blush-600)}
.dci-footer-tag{font-size:1.15rem;color:var(--slate-400);font-weight:300;line-height:1.7;max-width:26ch;margin-bottom:1.2rem}
.dci-footer-socials{display:flex;gap:.6rem}
.dci-footer-socials a{width:30px;height:30px;border:1px solid rgba(221,208,197,.14);display:flex;align-items:center;justify-content:center;font-size:0.73rem;color:var(--sage-600);transition:all .3s}
.dci-footer-socials a:hover{border-color:var(--blush-600);color:var(--blush-600)}
.dci-footer-col h4{font-size:0.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--blush-800);font-weight:500;margin-bottom:1rem;font-family:var(--fb)}
.dci-footer-col nav{display:flex;flex-direction:column;gap:.55rem}
.dci-footer-col nav a{font-size:1.15rem;color:var(--slate-400);font-weight:300;transition:color .3s}
.dci-footer-col nav a:hover{color:var(--blush-200)}
.dci-footer-col address{font-style:normal;display:flex;flex-direction:column;gap:.55rem}
.dci-footer-col address span,.dci-footer-col address a{font-size:1.15rem;color:var(--slate-400);font-weight:300}
.dci-footer-col address a:hover{color:var(--blush-200)}
.dci-footer-btm{padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.dci-footer-copy{font-size:0.72rem;letter-spacing:.12em;color:#ffffff;text-transform:uppercase}
.dci-footer-legal{display:flex;gap:1.5rem}
.dci-footer-legal a{font-size:0.72rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff;transition:color .3s}
.dci-footer-legal a:hover{color:var(--sage-600)}

/* ── WHATSAPP ── */
.dci-wa{position:fixed;bottom:2rem;right:2rem;z-index:9990;display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}
.dci-wa-pop{background:var(--navy-800);border:1px solid rgba(221,208,197,.14);padding:1rem 1.2rem;max-width:240px;opacity:0;transform:translateY(8px) scale(.97);transition:all .3s;pointer-events:none;position:relative}
.dci-wa-pop.is-show{opacity:1;transform:none;pointer-events:auto}
.dci-wa-pop p{font-size:0.9rem;color:var(--blush-200);font-weight:300;line-height:1.6;margin-bottom:.5rem}
.dci-wa-pop span{font-size:0.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blush-700);font-weight:500}
.dci-wa-close{position:absolute;top:.4rem;right:.5rem;background:none;border:none;color:var(--slate-400);cursor:pointer;font-size:0.88rem;line-height:1;padding:.15rem}
.dci-wa-btn{width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(37,211,102,.28);transition:transform .3s,box-shadow .3s;flex-shrink:0}
.dci-wa-btn:hover{transform:scale(1.08);box-shadow:0 6px 22px rgba(37,211,102,.4)}
.dci-wa-btn svg{width:26px;height:26px;fill:#fff}

/* ── SHARED PAGE STYLES ── */
.dci-wrap{max-width:var(--container);margin:0 auto}
.dci-sec{padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,5vw,4rem)}
.dci-sec-dark{background:var(--navy-900)}
.dci-sec-navy{background:var(--navy-950)}
.dci-sec-light{background:var(--blush-50)}
.dci-sec-alt{background:var(--sage-50)}
.dci-eyebrow{font-size:0.67rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blush-800);display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.dci-eyebrow::before{content:'';width:1.8rem;height:1px;background:currentColor;flex-shrink:0}
.dci-eyebrow-lt{color:var(--blush-600)}
.on-dark h2,.on-dark h3,.on-dark h4{color:var(--blush-50)}
.on-dark h2 em{color:var(--blush-600)}
.on-dark p{color:var(--slate-400)}
.on-dark .dci-eyebrow{color:var(--blush-600)}
.dci-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:0.71rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.78rem 1.6rem;border:1px solid currentColor;transition:all .3s var(--ease)}
.dci-btn-primary{background:var(--blush-600);color:var(--navy-900);border-color:var(--blush-600)}
.dci-btn-primary:hover{background:var(--blush-700)}
.dci-btn-dk{background:transparent;color:var(--blush-200);border-color:rgba(221,208,197,.3)}
.dci-btn-dk:hover{background:rgba(221,208,197,.07);border-color:var(--blush-600)}
.dci-btn-lt{background:transparent;color:var(--navy-800);border-color:rgba(44,53,73,.22)}
.dci-btn-lt:hover{background:var(--navy-900);color:var(--blush-200)}
.dci-actions{display:flex;gap:.8rem;flex-wrap:wrap;padding:2rem 0;border-top:1px solid var(--sage-200);margin-top:2.5rem}
.dci-actions-dk{border-top-color:rgba(221,208,197,.08)}
.dci-strip{display:flex;height:5px}
.dci-strip span{flex:1}
.dci-divider{height:1px;background:var(--sage-200);margin:2rem 0}

/* Placeholders */
.dci-ph{background:#2a3348;border:1.5px dashed rgba(221,208,197,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;position:relative;overflow:hidden}
.dci-ph::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(221,208,197,.02) 0,rgba(221,208,197,.02) 1px,transparent 1px,transparent 14px)}
.dci-ph-icon{font-size:1.83rem;opacity:.22;position:relative;z-index:1}
.dci-ph-lbl{font-size:0.54rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(221,208,197,.22);text-align:center;line-height:1.5;position:relative;z-index:1}
.dci-ph-sz{font-size:0.49rem;letter-spacing:.1em;color:rgba(221,208,197,.12);position:relative;z-index:1}
.dci-ph-lt{background:var(--sage-200);border-color:var(--sage-400)}
.dci-ph-lt .dci-ph-lbl{color:rgba(86,100,112,.32)}
.dci-ph-lt .dci-ph-sz{color:rgba(86,100,112,.18)}
.dci-ph-lt::before{background:repeating-linear-gradient(45deg,rgba(86,100,112,.04) 0,rgba(86,100,112,.04) 1px,transparent 1px,transparent 14px)}
.dci-lph{background:#1a2035;border:1.5px dashed rgba(221,208,197,.12);display:flex;align-items:center;justify-content:center;padding:.4rem .8rem;position:relative;overflow:hidden}
.dci-lph::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(221,208,197,.015) 0,rgba(221,208,197,.015) 1px,transparent 1px,transparent 10px)}
.dci-lph-txt{font-size:0.49rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(221,208,197,.18);position:relative;z-index:1;text-align:center;line-height:1.4}
.dci-lph-lt{background:rgba(86,100,112,.06);border-color:rgba(86,100,112,.2)}
.dci-lph-lt .dci-lph-txt{color:rgba(86,100,112,.28)}

/* Hero */
.dci-hero{background:var(--navy-950);display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.dci-hero-l{padding:calc(var(--nav-h) + 3rem) clamp(2rem,5vw,4.5rem) 4rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.dci-hero-r{position:relative;overflow:hidden}
.dci-hero-r img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.52) contrast(1.08);opacity:.75}
.dci-hero-r::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--navy-950) 0%,transparent 30%),linear-gradient(to top,var(--navy-950) 0%,transparent 35%);z-index:1}
.dci-hero-tag{font-size:0.63rem;font-weight:500;letter-spacing:.45em;text-transform:uppercase;color:var(--blush-800);display:flex;align-items:center;gap:.8rem;margin-bottom:1.8rem}
.dci-hero-tag::before{content:'';width:2rem;height:1px;background:currentColor}
.dci-hero-h1{font-family:var(--fd);font-size:clamp(4.64rem,7.5vw,8.54rem);font-weight:300;line-height:.88;color:var(--blush-50);letter-spacing:-.02em;margin-bottom:.3rem}
.dci-hero-h1 em{font-style:italic;color:var(--blush-600);display:block}
.dci-hero-sub{font-size:0.71rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(178,185,176,.38);margin:1.2rem 0 2rem;padding-top:1.2rem;border-top:1px solid rgba(178,185,176,.1)}

/* Quotes */
.dci-quotes{background:var(--navy-800);border:1px solid rgba(221,208,197,.08);padding:1.8rem 2rem;position:relative;overflow:hidden;margin-bottom:1.8rem}
.dci-quotes::before{content:'"';font-family:var(--fd);font-size:8.54rem;color:rgba(221,208,197,.04);position:absolute;top:-.8rem;left:.5rem;line-height:1;pointer-events:none}
.dci-q{font-family:var(--fd);font-size:1.4rem;font-style:italic;color:var(--sage-400);line-height:1.6;display:none}
.dci-q.is-on{display:block}
.dci-q-src{font-size:0.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blush-800);margin-top:.5rem;font-style:normal}
.dci-qdots{display:flex;gap:.38rem;margin-top:.8rem}
.dci-qdot{width:5px;height:5px;border-radius:50%;background:rgba(221,208,197,.18);border:none;padding:0;cursor:pointer;transition:background .3s}
.dci-qdot.is-on{background:var(--blush-600)}

/* Stats */
.dci-stats{background:var(--navy-800);display:grid;grid-template-columns:repeat(4,1fr)}
.dci-stat{padding:2rem;text-align:center;border-right:1px solid rgba(221,208,197,.07)}
.dci-stat:last-child{border:none}
.dci-stat-n{font-family:var(--fd);font-size:4.39rem;font-weight:300;color:var(--blush-600);line-height:1;margin-bottom:.25rem}
.dci-stat-l{font-size:0.61rem;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-400);line-height:1.4}

/* Grid layouts */
.dci-2col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.dci-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.dci-logo-strip{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.dci-badge-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.2rem}
.dci-badge{font-size:0.59rem;letter-spacing:.12em;text-transform:uppercase;padding:.26rem .7rem;font-weight:500}
.dci-badge-f{background:var(--blush-600);color:var(--navy-900)}
.dci-badge-o{border:1px solid var(--sage-400);color:var(--slate-700)}

/* Cards */
.dci-reco-card{background:var(--blush-50);border:1px solid var(--sage-200);padding:1.5rem;transition:all .3s}
.dci-reco-card:hover{border-color:var(--blush-700);transform:translateY(-2px)}
.dci-reco-tag{font-size:0.54rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blush-800);font-weight:500;margin-bottom:.35rem;display:block}
.dci-reco-title{font-family:var(--fd);font-size:1.4rem;font-weight:400;color:var(--navy-900);margin-bottom:.2rem}
.dci-reco-desc{font-size:1.07rem;color:var(--slate-600);font-weight:300;line-height:1.5}

/* Lists */
.dci-list-title{font-size:0.59rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--slate-400);margin-bottom:1rem;padding-bottom:.45rem;border-bottom:1px solid var(--sage-200)}
.dci-list-item{display:flex;align-items:flex-start;gap:.55rem;padding:.45rem 0;border-bottom:1px solid rgba(225,229,224,.4);font-size:1.16rem;color:var(--slate-700);font-weight:300;line-height:1.45}
.dci-list-item::before{content:'';width:4px;height:4px;background:var(--blush-700);border-radius:50%;flex-shrink:0;margin-top:.5rem}

/* Case rows */
.dci-cases{display:flex;flex-direction:column;gap:2px}
.dci-case{background:rgba(255,255,255,.03);border:1px solid rgba(221,208,197,.06);padding:1.6rem 2rem;display:grid;grid-template-columns:5rem 1fr auto;gap:1.8rem;align-items:start;transition:background .3s}
.dci-case:hover{background:rgba(221,208,197,.04)}
.dci-case-yr{font-family:var(--fd);font-size:2.44rem;font-weight:300;color:rgba(221,208,197,.1);line-height:1;padding-top:.1rem}
.dci-case-role{font-size:0.71rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blush-700);font-weight:500;margin-bottom:.25rem;display:block}
.dci-case-desc{font-size:1.28rem;color:var(--blush-200);font-weight:300;line-height:1.5;margin-bottom:.28rem}
.dci-case-tags{display:flex;gap:.4rem;flex-wrap:wrap}
.dci-ct{font-size:0.67rem;letter-spacing:.1em;text-transform:uppercase;padding:.14rem .48rem;border:1px solid rgba(221,208,197,.1);color:var(--slate-400)}
.dci-ct-active{border-color:rgba(80,160,110,.35);color:#72b894}
.dci-ct-done{border-color:rgba(140,140,140,.22);color:var(--slate-600)}
.dci-case-forum{font-size:0.67rem;letter-spacing:.1em;color:rgba(221,208,197,.1);align-self:start;padding-top:.2rem;white-space:nowrap}

/* Sector filter buttons */
.dci-sector-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.8rem;padding:1.5rem 2rem;background:#ffffff;border-bottom:1px solid #e8e0d8}
.dci-stab{font-size:0.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1rem;background:#f5f0ea;border:1px solid #c4b5a8;color:#2c3549;cursor:pointer;transition:all .3s}
.dci-stab:hover,.dci-stab.is-on{background:#1C2233;color:#f9f5f2;border-color:#1C2233}


/* Timeline */
.dci-timeline{position:relative;padding-left:2.5rem}
.dci-timeline::before{content:'';position:absolute;left:.75rem;top:0;bottom:0;width:1px;background:var(--sage-200)}
.dci-tl{position:relative;margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid rgba(225,229,224,.32)}
.dci-tl:last-child{border:none;margin-bottom:0}
.dci-tl-dot{position:absolute;left:-1.85rem;top:.15rem;width:12px;height:12px;background:var(--blush-600);border-radius:50%;border:2px solid var(--blush-50)}
.dci-tl-yr{font-size:0.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blush-800);font-weight:500;margin-bottom:.22rem;display:block}
.dci-tl-inst{font-family:var(--fd);font-size:1.28rem;font-weight:400;color:var(--navy-900);margin-bottom:.15rem}
.dci-tl-deg{font-size:1.0rem;color:var(--navy-700);font-weight:400;margin-bottom:.12rem}
.dci-tl-desc{font-size:0.95rem;color:var(--slate-700);font-weight:300;font-style:italic;line-height:1.5}

/* Academic cards */
.dci-acad-card{background:var(--blush-50);border:1px solid var(--sage-200);padding:1.8rem}
.dci-acad-tag{font-size:0.54rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blush-800);font-weight:500;margin-bottom:.42rem;display:block}
.dci-acad-card h4{font-family:var(--fd);font-size:1.34rem;color:var(--navy-900);margin-bottom:.48rem;font-weight:400}
.dci-acad-card p{font-size:0.95rem;color:var(--slate-700);line-height:1.7}

/* Publications */
.dci-pub-sec{font-size:0.59rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--blush-800);margin-bottom:.9rem;padding-bottom:.42rem;border-bottom:1px solid var(--sage-200)}
.dci-pub-row{padding:.82rem 0;border-bottom:1px solid rgba(225,229,224,.38);display:grid;grid-template-columns:3rem 1fr;gap:.8rem;align-items:start}
.dci-pub-yr{font-size:0.71rem;font-weight:500;color:var(--blush-700);text-align:right;padding-top:.1rem}
.dci-pub-txt{font-size:0.95rem;color:var(--slate-700);font-weight:300;line-height:1.62}
.dci-pub-txt em{font-style:italic}

/* Blog grid */
.dci-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dci-blog-card{background:var(--navy-800);border:1px solid rgba(221,208,197,.07);padding:1.3rem;transition:all .3s}
.dci-blog-card:hover{border-color:rgba(221,208,197,.2);transform:translateY(-2px)}
.dci-blog-card h4{font-family:var(--fd);font-size:1.07rem;color:var(--blush-200);font-weight:400;line-height:1.4;margin-bottom:.5rem}
.dci-blog-card a{font-size:0.56rem;letter-spacing:.15em;text-transform:uppercase;color:var(--blush-700)}

/* Upcoming conferences */
.dci-uc{background:var(--navy-800);border:1px solid rgba(221,208,197,.08);padding:2rem 2.5rem;display:grid;grid-template-columns:70px 1fr;gap:2rem;align-items:start;margin-bottom:10px;transition:border-color .3s}
.dci-uc:hover{border-color:var(--blush-700)}
.dci-uc-day{font-family:var(--fd);font-size:3.42rem;font-weight:300;color:var(--blush-600);line-height:1;display:block;text-align:center}
.dci-uc-mon{font-size:0.51rem;letter-spacing:.24em;text-transform:uppercase;color:var(--slate-400);text-align:center;display:block}
.dci-uc-tag{font-size:0.51rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blush-800);font-weight:500;margin-bottom:.32rem;display:block}
.dci-uc-event{font-family:var(--fd);font-size:1.34rem;color:var(--blush-50);font-weight:300;margin-bottom:.22rem}
.dci-uc-sub{font-size:0.95rem;font-style:italic;color:var(--sage-400);margin-bottom:.3rem;font-weight:300}
.dci-uc-where{font-size:0.83rem;color:var(--slate-600);font-weight:300}
.dci-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:2rem}

/* Past table */
.dci-tbl{width:100%;border-collapse:collapse}
.dci-tbl th{font-size:0.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-400);text-align:left;padding:.55rem 1rem;border-bottom:1px solid rgba(221,208,197,.07);background:rgba(255,255,255,.02)}
.dci-tbl td{font-size:0.93rem;color:var(--blush-200);font-weight:300;padding:.8rem 1rem;border-bottom:1px solid rgba(221,208,197,.04);vertical-align:top;line-height:1.5}
.dci-tbl td:first-child{color:var(--slate-400);white-space:nowrap;font-size:0.83rem}
.dci-tbl td em{font-style:italic;color:var(--sage-400)}
.dci-tbl tr:hover td{background:rgba(221,208,197,.02)}

/* Contact */
.dci-contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:5rem;align-items:start}
.dci-ci-row{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1.1rem}
.dci-ci-ico{width:34px;height:34px;background:var(--navy-800);display:flex;align-items:center;justify-content:center;font-size:0.88rem;color:var(--blush-600);flex-shrink:0;font-weight:600}
.dci-ci-lbl{font-size:0.54rem;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-400);display:block;margin-bottom:.1rem}
.dci-ci-val{font-size:1.0rem;color:var(--slate-700);font-weight:300}
.dci-form-wrap{background:var(--navy-900);padding:2.5rem}
.dci-fl{font-size:0.59rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-600);font-weight:500;display:block;margin-bottom:.36rem}
.dci-fi{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(221,208,197,.1);color:var(--blush-200);font-family:var(--fb);font-size:1.02rem;font-weight:300;padding:.76rem 1rem;outline:none;transition:border-color .3s;margin-bottom:.9rem;-webkit-appearance:none}
.dci-fi::placeholder{color:rgba(178,185,176,.22)}
.dci-fi:focus{border-color:rgba(221,208,197,.28)}
textarea.dci-fi{min-height:100px;resize:vertical}
.dci-f2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.dci-form-note{font-size:0.68rem;color:var(--slate-600);font-weight:300;line-height:1.5;margin-top:.6rem}
.dci-team-card{background:var(--blush-50);border:1px solid var(--sage-200);display:grid;grid-template-columns:200px 1fr;overflow:hidden}
.dci-team-body{padding:2rem}
.dci-team-role{font-size:0.54rem;letter-spacing:.24em;text-transform:uppercase;color:var(--blush-800);font-weight:500;margin-bottom:.32rem;display:block}
.dci-team-name{font-family:var(--fd);font-size:1.71rem;font-weight:300;color:var(--navy-900);margin-bottom:.8rem}
.dci-team-body p{font-size:0.95rem;color:var(--slate-700);font-weight:300;line-height:1.72}
.dci-team-body p+p{margin-top:.52rem}

/* Perfil block */
.dci-perfil{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .dci-hero{grid-template-columns:1fr;min-height:auto}
  .dci-hero-r{height:55vw}
  .dci-perfil,.dci-2col,.dci-contact-grid{grid-template-columns:1fr}
  .dci-3col,.dci-blog-grid{grid-template-columns:1fr}
  .dci-case{grid-template-columns:2.5rem 1fr}.dci-case-forum{display:none}
  .dci-team-card{grid-template-columns:1fr}
  .dci-stats{grid-template-columns:1fr 1fr}
  .dci-uc{grid-template-columns:1fr}
  .dci-footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .dci-nav-links,.dci-lang,.dci-cta{display:none}
  .dci-burger{display:flex}
  .dci-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .dci-f2{grid-template-columns:1fr}
  .dci-stats{grid-template-columns:1fr}
  .dci-footer-top{grid-template-columns:1fr}
}

/* ── ELEMENTOR COMPATIBILITY ──
   When Elementor has built this page, its sections
   replace the static theme content.
   These rules ensure Elementor sections render correctly
   without conflicting with theme styles. */
.elementor-section-wrap > .elementor-section:first-child,
.elementor-section-wrap > .e-con:first-child {
  margin-top: 0 !important;
}
.elementor-section, .e-con {
  scroll-margin-top: var(--nav-h, 80px);
}
/* Remove WP default margins that break Elementor full-width */
.entry-content { margin: 0; padding: 0; }
/* Elementor editor: make content area visible */
.elementor-editor-active #dci-main {
  min-height: 200px;
}

/* ── SCROLL ANIMATIONS
   The actual animation CSS is injected by JS (main.js)
   so it only applies when JS is available.
   These are the base states for non-JS environments:
── */
@media (prefers-reduced-motion: reduce) {
  .elementor-section,
  .e-con,
  .elementor-column > .elementor-widget-wrap,
  .dci-sec, .dci-stats, .dci-2col, .dci-3col,
  .dci-reco-card, .dci-acad-card, .dci-blog-card,
  .dci-uc, .dci-stat {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Elementor widget hover lifts */
.elementor-widget:hover { z-index: 2; }

/* ══════════════════════════════════════════════════
   SCROLL ANIMATIONS — Global (funciona con Elementor)
   Las clases dci-pending / dci-entered las añade main.js
   El CSS aquí garantiza que funcionen en TODAS las páginas
   independientemente de si usan el tema o Elementor.
══════════════════════════════════════════════════ */
@keyframes dciSlideUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes dciFadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

/* Hidden state — ONLY applied by JS, never by CSS alone */
.dci-pending {
  opacity: 0;
  will-change: opacity, transform;
}

/* Visible state — triggered when element enters viewport */
.dci-entered {
  animation: dciSlideUp 0.6s cubic-bezier(0.4,0,0.2,1) forwards;
  animation-delay: var(--dci-d, 0ms);
}

/* ── Stagger delays for Elementor grid cards ──
   Applies when multiple cards are siblings */
.elementor-section .elementor-column:nth-child(2) .dci-entered,
.elementor-inner-section .elementor-column:nth-child(2) .dci-entered { --dci-d: 80ms; }
.elementor-section .elementor-column:nth-child(3) .dci-entered,
.elementor-inner-section .elementor-column:nth-child(3) .dci-entered { --dci-d: 160ms; }
.elementor-section .elementor-column:nth-child(4) .dci-entered,
.elementor-inner-section .elementor-column:nth-child(4) .dci-entered { --dci-d: 240ms; }

/* ── SAFETY NET: These must ALWAYS be visible ──
   No matter what, never animate or hide these */
#dci-header,
#dci-footer,
#dci-header *,
#dci-footer *,
.dci-wa,
.dci-wa *,
.dci-hero,
.dci-hero *,
.dci-mob,
.dci-mob *,
.dci-burger,
.elementor-edit-area *,
[data-elementor-type="wp-page"] .elementor-editor-active * {
  /* Explicitly do NOT apply dci-pending here */
}

/* ══════════════════════════════════════════════════
   ELEMENTOR SECTIONS — Animation targets
   Elementor renders sections AFTER the theme CSS loads,
   so we scope here to make sure these get the animation.
══════════════════════════════════════════════════ */
.elementor-section.dci-pending,
.e-con.dci-pending,
.elementor-widget.dci-pending,
.elementor-column.dci-pending {
  opacity: 0;
}

.elementor-section.dci-entered,
.e-con.dci-entered,
.elementor-widget.dci-entered,
.elementor-column.dci-entered {
  animation: dciSlideUp 0.6s cubic-bezier(0.4,0,0.2,1) forwards;
  animation-delay: var(--dci-d, 0ms);
}

/* Hover effects for Elementor content */
.elementor-widget:hover { transition: transform 0.2s ease; }

/* ══════════════════════════════════════════════════
   INTERACTIVE FILTER BUTTONS (Trayectoria + global)
   These work whether the page is PHP or Elementor
══════════════════════════════════════════════════ */
.dci-ftab {
  font-family: var(--fb, 'Jost', sans-serif);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 8px 14px;
  background: #f5f0ea;
  border: 1px solid #c4b5a8;
  color: #2c3549;
  cursor: pointer;
  transition: all .25s ease;
  outline: none;
  display: inline-block;
}
.dci-ftab:hover,
.dci-ftab.active {
  background: #1C2233;
  color: #f9f5f2;
  border-color: #1C2233;
}

/* Case items in filter grid */
.dci-case-item {
  transition: all .35s ease;
}
.dci-case-item.hidden {
  display: none !important;
}
.dci-case-item:hover {
  background: rgba(221,208,197,.05) !important;
  border-color: rgba(221,208,197,.15) !important;
}

/* ══════════════════════════════════════════════════
   ELEMENTOR WIDGET ENHANCEMENTS
   Make widgets inside Elementor look consistent
   with the DCI design system
══════════════════════════════════════════════════ */

/* Elementor image widget — consistent sizing */
.elementor-widget-image .elementor-image {
  line-height: 0;
}

/* Elementor button hover states */
.elementor-widget-button .elementor-button {
  transition: all .3s var(--ease, cubic-bezier(.4,0,.2,1)) !important;
}

/* Elementor text-editor — inherit DCI typography */
.elementor-widget-text-editor p {
  font-family: var(--fb, 'Jost', sans-serif);
  font-weight: 300;
  line-height: 1.8;
}

/* Fix Elementor widget spacing */
.elementor-element { transition: opacity 0.4s ease, transform 0.4s ease; }

.dci-lang-sep,.dci-mob-sep{color:var(--blush-700);font-size:.44rem;margin:0 1px}

/* ══════════════════════════════════════════════════
   TRILINGUAL TEXT SWITCHER
   Usage: wrap text in <span class="t-es">...</span>
          <span class="t-en">...</span>
          <span class="t-fr">...</span>
   The active language's span shows, others hide.
   Default (no cookie) = Spanish.
══════════════════════════════════════════════════ */
.t-en, .t-fr { display: none !important; }
.t-es { display: inline !important; }

body.lang-en .t-es, body.lang-en .t-fr { display: none !important; }
body.lang-en .t-en { display: inline !important; }

body.lang-fr .t-es, body.lang-fr .t-en { display: none !important; }
body.lang-fr .t-fr { display: inline !important; }

/* Block-level trilingual elements */
.tb-en, .tb-fr { display: none !important; }
.tb-es { display: block !important; }

body.lang-en .tb-es, body.lang-en .tb-fr { display: none !important; }
body.lang-en .tb-en { display: block !important; }

body.lang-fr .tb-es, body.lang-fr .tb-en { display: none !important; }
body.lang-fr .tb-fr { display: block !important; }

/* ── TRAYECTORIA — White background overrides ──────────────────────────── */
/* Sections on trayectoria page use white/warm bg */
.dci-tray-section {
  background: #FAFAF8;
}
/* Case rows on white */
.dci-case {
  background: #ffffff !important;
  border-color: #E8E0D6 !important;
}
.dci-case:hover {
  background: #FDF9F6 !important;
  border-color: #C4B5A8 !important;
}
/* Case year — subtle on white */
.dci-case-yr {
  color: rgba(44,53,73,.12) !important;
}
/* Case role label */
.dci-case-role {
  color: #8C6D60 !important;
}
/* Case description — dark readable */
.dci-case-desc {
  color: #2C3549 !important;
}
/* Case tags */
.dci-ct {
  border-color: #C4B5A8 !important;
  color: #566470 !important;
}
/* Sector header labels */
.dci-sector-label {
  border-top-color: #E8E0D6 !important;
  color: #8C6D60 !important;
}

.dci-lang a{font-size:0.5rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--blush-800);padding:.15rem .28rem;text-decoration:none;transition:color .3s}
.dci-lang a.is-on{color:var(--blush-600)}
