/* ===========================================================================
   iLEAN — hoja de estilos
   Identidad propia de iLEAN ("hermana, no clon" de sebastianbrau.com):
   comparte el papel cálido y la sobriedad, pero con el navy de marca, la flor
   y tipografía DIN (Saira display + IBM Plex Sans body).
   =========================================================================== */

:root{
  /* superficies */
  --paper:        #f4f2f1;   /* fondo general cálido (vínculo de familia) */
  --paper-soft:   #ece8e3;   /* bandas alternas claras */
  --white:        #ffffff;
  /* navy de marca (tomado del logotipo iLEAN) */
  --navy:         #1d2d4f;   /* primario */
  --navy-deep:    #15223d;   /* bandas oscuras */
  --navy-2:       #2b3f66;   /* hover / variante clara */
  --steel:        #5b6b8c;   /* kickers / labels secundarios */
  /* texto */
  --ink:          #1c2433;   /* casi negro con tinte navy */
  --muted:        #5c6675;
  --border:       #e4e0d7;
  --border-2:     #d6d1c5;
  --on-dark:      #ffffff;
  --on-dark-mut:  #b9c3d6;
  /* radios / sombras */
  --r-sm:   10px;
  --r:      16px;
  --r-lg:   22px;
  --r-pill: 999px;
  --shadow:       0 1px 2px rgba(20,30,55,.05), 0 12px 32px rgba(20,30,55,.07);
  --shadow-hover: 0 1px 2px rgba(20,30,55,.07), 0 20px 44px rgba(20,30,55,.12);
  --maxw:   1180px;
  --header-h: 78px;
  --font-display: "Saira","Saira Semi Condensed",system-ui,sans-serif;
  --font: "IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- helpers ---------------------------------------------------------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.kick{display:inline-block;font-family:var(--font-display);font-size:.8rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;
  padding:10px 16px;z-index:100;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus{left:0}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.12;color:var(--navy);
  letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,5.6vw,3.9rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:clamp(1.85rem,3.4vw,2.5rem);margin-top:0}
h3{font-size:clamp(1.2rem,1.9vw,1.35rem);color:var(--ink);font-weight:600}
p{margin:0 0 1em}
strong{font-weight:600;color:var(--ink)}

/* ---- buttons (pill) --------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:50px;padding:13px 30px;cursor:pointer;
  font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.1;letter-spacing:.01em;
  border-radius:var(--r-pill);border:1.5px solid var(--navy);
  background:#fff;color:var(--navy);transition:.16s ease;text-decoration:none;
}
.btn:hover{transform:translateY(-1px);text-decoration:none;box-shadow:var(--shadow)}
.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-2);border-color:var(--navy-2);color:#fff}
.btn-ghost{border-color:var(--border-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy)}
.btn-group{display:flex;flex-wrap:wrap;gap:14px}
.btn-block{width:100%}

/* ---- nav -------------------------------------------------------------- */
nav.site{position:sticky;top:0;z-index:40;background:rgba(244,242,241,.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
nav.site .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none}
.logo:hover{text-decoration:none}
.logo img{height:44px;width:auto;display:block}
@media(max-width:480px){.logo img{height:38px}}
.navlinks{display:flex;gap:28px;align-items:center;font-size:.94rem;font-weight:500}
.navlinks a:not(.btn){color:var(--ink);opacity:.78;text-decoration:none}
.navlinks a:hover{opacity:1;text-decoration:none}
.navlinks .btn{min-height:42px;padding:9px 20px;font-size:.9rem;opacity:1}
@media(max-width:820px){.navlinks a:not(.btn){display:none}}

/* ---- sections --------------------------------------------------------- */
section{padding:clamp(60px,8.5vw,108px) 0}
.sec-head{max-width:760px;margin-bottom:46px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head p{color:var(--muted);font-size:1.08rem;margin-top:10px;margin-bottom:0}
.bg-soft{background:var(--paper-soft)}

/* dark dramatic band */
.band-dark{background:linear-gradient(165deg,var(--navy) 0%,var(--navy-deep) 100%);color:var(--on-dark);position:relative;overflow:hidden}
.band-dark h2,.band-dark h3,.band-dark h4{color:#fff}
.band-dark .kick{color:#8ea6cf}
.band-dark p{color:var(--on-dark-mut)}

/* ---- A · hero --------------------------------------------------------- */
.hero{background:var(--paper);padding:clamp(56px,8vw,110px) 0 clamp(52px,7vw,88px);
  border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4vw,56px);align-items:center}
@media(max-width:840px){.hero .wrap{grid-template-columns:1fr;text-align:center}.hero .btn-group{justify-content:center}.hero .kick{margin-left:auto;margin-right:auto}}
.hero h1{max-width:15ch;margin-bottom:.2em}
@media(max-width:840px){.hero h1{max-width:none}}
.hero h1 .accent{color:var(--steel)}
.hero .sub{font-size:clamp(1.08rem,1.7vw,1.3rem);color:var(--muted);max-width:50ch;margin:0 0 32px;line-height:1.55}
.hero .sub strong{color:var(--ink);font-weight:600}
.hero__visual{display:flex;justify-content:center;align-items:center;position:relative}
.hero__visual::before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(29,45,79,.07) 0%,rgba(29,45,79,0) 70%)}
.hero__visual img{width:min(330px,72%);position:relative;filter:drop-shadow(0 18px 40px rgba(20,30,55,.14))}
@media(max-width:840px){.hero__visual{margin-top:34px}.hero__visual img{width:170px}}

/* ---- B · credibility (franja clara y sobria) -------------------------- */
.cred{background:var(--paper-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px 0}
.cred .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:.94rem}
.cred .yrs{font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:1.05rem;white-space:nowrap}
.cred .sectors{display:flex;gap:9px;flex-wrap:wrap;font-family:var(--font-display);font-weight:600;
  letter-spacing:.06em;font-size:.74rem;text-transform:uppercase}
.cred .sectors span{background:#fff;border:1px solid var(--border-2);padding:5px 13px;border-radius:var(--r-pill);color:var(--navy)}
.cred .body{color:var(--muted);max-width:52ch;margin:0}
.cred .tail{margin-left:auto;color:var(--steel);font-weight:600;font-style:italic}
@media(max-width:900px){.cred .tail{margin-left:0;width:100%}}

/* ---- C · IRIS schema -------------------------------------------------- */
.schema-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center;position:relative}
@media(max-width:900px){.schema-grid{grid-template-columns:1fr;gap:34px}}
.diagram{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-lg);padding:30px 28px}
.diagram .dlabel{font-family:var(--font-display);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:#8ea6cf;font-weight:700;margin-bottom:20px}
.nodes{display:flex;flex-direction:column;align-items:center}
.layer{display:flex;gap:12px;width:100%}
.node{flex:1;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-sm);padding:13px 15px;font-size:.86rem;transition:.16s;color:#fff}
.node:hover{background:rgba(110,140,190,.28);border-color:#8ea6cf}
.node b{font-family:var(--font-display);display:block;font-size:.95rem;font-weight:600;margin-bottom:3px}
.node span{color:var(--on-dark-mut);font-size:.78rem;line-height:1.35}
.node.brain{background:linear-gradient(160deg,#2b3f66,#3a5286);border-color:#7e98c6;text-align:center;flex:none;
  width:min(360px,100%);padding:16px 18px;box-shadow:0 10px 28px rgba(0,0,0,.25)}
.node.brain b{font-size:1.05rem;letter-spacing:.01em}
.node.brain span{color:#cdd8ee}
.conn{width:2px;height:26px;background:linear-gradient(#8ea6cf,rgba(142,166,207,.15));margin:8px 0}
.schema-copy h3{color:#fff;font-size:1.55rem;line-height:1.25;margin-bottom:14px;font-weight:600}
.schema-copy p{color:var(--on-dark-mut)}

/* inline lead (1 campo) */
.lead-inline{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:22px}
.lead-inline label{display:block;font-family:var(--font-display);font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;color:#dde4f1;font-weight:600;margin-bottom:11px}
.lead-inline .row{display:flex;gap:8px}
.lead-inline input{flex:1;min-width:0;padding:14px 16px;border:1px solid rgba(255,255,255,.22);
  border-radius:var(--r-pill);font-size:1rem;font-family:inherit;background:#fff;color:var(--ink)}
.lead-inline .btn{white-space:nowrap}
.lead-inline small{display:block;color:#aab6cf;margin-top:12px;font-size:.82rem}
@media(max-width:520px){.lead-inline .row{flex-direction:column}.lead-inline input{border-radius:var(--r-sm)}}

/* light variant of inline lead (para el libro, ahora claro) */
.lead-inline.light{background:#fff;border:1px solid var(--border)}
.lead-inline.light label{color:var(--steel)}
.lead-inline.light input{border:1px solid var(--border-2);background:var(--paper)}
.lead-inline.light small{color:var(--muted)}

/* ---- D · profile filter ---------------------------------------------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.cards{grid-template-columns:1fr}}
.pcard{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--border-2);
  border-radius:var(--r);padding:30px 28px;cursor:pointer;transition:.18s;box-shadow:var(--shadow);
  width:100%;text-align:left;font-family:inherit;color:inherit;display:block}
.pcard:hover{transform:translateY(-4px);border-top-color:var(--navy);box-shadow:var(--shadow-hover)}
.pcard.active{border-top-color:var(--navy);box-shadow:var(--shadow-hover)}
.pcard .pn{font-family:var(--font-display);font-size:.74rem;color:var(--steel);font-weight:600;letter-spacing:.08em}
.pcard h3{font-size:1.35rem;margin:10px 0 8px;color:var(--navy);font-weight:600}
.pcard p{font-size:.96rem;color:var(--muted);margin:0}
.pcard .go{font-family:var(--font-display);margin-top:18px;font-weight:600;color:var(--navy);font-size:.94rem}
.panel{margin-top:26px;background:var(--white);border:1px solid var(--border);border-left:4px solid var(--navy);
  border-radius:var(--r);padding:32px 30px;display:none;box-shadow:var(--shadow)}
.panel.show{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.panel h4{font-family:var(--font-display);font-size:1.35rem;margin-bottom:10px;color:var(--navy);font-weight:600}
.panel p{color:var(--muted);max-width:64ch;margin-bottom:20px}

/* ---- E · how it works ------------------------------------------------- */
.triad{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.triad{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.triad{grid-template-columns:1fr}}
.tcard{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:28px 26px;box-shadow:var(--shadow)}
.tcard .tt{font-family:var(--font-display);font-size:.78rem;letter-spacing:.08em;color:var(--steel);font-weight:700;text-transform:uppercase}
.tcard h3{font-size:1.25rem;margin:10px 0 8px;color:var(--navy);font-weight:600}
.tcard p{font-size:.96rem;color:var(--muted);margin:0}
.tcard.human-step{background:var(--navy);border-color:var(--navy)}
.tcard.human-step .tt{color:#9fb4d8}
.tcard.human-step h3{color:#fff}
.tcard.human-step p{color:#cfd8ea}
.how-foot{margin-top:26px;color:var(--muted);font-size:1rem}

/* ---- F · human manifesto --------------------------------------------- */
.human h2{max-width:18ch;color:#fff}
.human .big{font-family:var(--font-display);font-size:clamp(1.6rem,3.1vw,2.3rem);line-height:1.3;
  max-width:32ch;margin-top:16px;color:#fff;font-weight:300}
.human .big b{font-weight:700;color:#fff}
.human .link{font-family:var(--font-display);margin-top:28px;display:inline-block;color:#fff;
  border-bottom:2px solid var(--steel);padding-bottom:3px;font-weight:600}
.human .link:hover{border-color:#fff;text-decoration:none}

/* ---- F-bis · IRIS endorsement ---------------------------------------- */
.iris-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:start}
@media(max-width:820px){.iris-grid{grid-template-columns:1fr}}
.iris-grid .lead-txt{font-size:1.1rem;color:var(--ink);margin-bottom:14px}
.iris-grid .lead-txt b{color:var(--navy)}
.pillars{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--navy);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.pillars .ph{font-family:var(--font-display);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);font-weight:700;margin-bottom:14px}
.pillars .pill{margin-bottom:14px}
.pillars .pill:last-child{margin-bottom:0}
.pillars .pill b{font-family:var(--font-display);display:block;color:var(--navy);font-size:1.02rem;font-weight:600}
.pillars .pill span{color:var(--muted);font-size:.94rem}

/* ---- G · case --------------------------------------------------------- */
.case .wrap{max-width:880px}
.quote{font-family:var(--font-display);font-size:clamp(1.45rem,2.7vw,2rem);line-height:1.38;color:var(--ink);font-weight:300}
.quote b{font-weight:700;color:var(--navy)}
.case .src{margin-top:20px;color:var(--steel);font-size:.94rem;font-weight:600;font-style:italic}
.stats{display:flex;gap:52px;margin-top:48px;flex-wrap:wrap}
.stat .n{font-family:var(--font-display);font-size:2.9rem;font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1}
.stat .l{font-size:.9rem;color:var(--muted);max-width:20ch;margin-top:10px}

/* ---- H · book (banda clara, portada navy) ----------------------------- */
.book-grid{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:center}
@media(max-width:680px){.book-grid{grid-template-columns:1fr;gap:30px;justify-items:start}}
.cover{background:linear-gradient(160deg,#1d2d4f,#2b3f66);border-radius:var(--r);aspect-ratio:3/4;width:100%;max-width:220px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;box-shadow:var(--shadow-hover)}
.cover .cmark{width:54px;margin-bottom:14px;opacity:.95}
.cover b{font-family:var(--font-display);font-size:2.6rem;letter-spacing:.06em;font-weight:700;color:#fff}
.cover .cs{font-family:var(--font-display);font-size:.74rem;letter-spacing:.04em;color:#aebbd6;margin-top:12px}

/* ---- FAQ -------------------------------------------------------------- */
.faq{max-width:820px;margin:0 auto}
.faq details{background:var(--white);border:1px solid var(--border);border-radius:var(--r);margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:var(--font-display);font-weight:600;color:var(--navy);
  font-size:1.08rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.6rem;font-weight:300;color:var(--steel);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .ans{padding:0 26px 24px;color:var(--muted);font-size:1.02rem}
.faq .ans p{margin-bottom:.6em}
.faq .ans p:last-child{margin-bottom:0}

/* ---- I · final form --------------------------------------------------- */
.final-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
@media(max-width:820px){.final-grid{grid-template-columns:1fr;gap:36px}}
.form-box{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow)}
.form-box label{display:block;font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.02em;margin:16px 0 6px;color:var(--navy)}
.form-box label:first-of-type{margin-top:0}
.form-box input,.form-box textarea{width:100%;padding:14px 16px;border:1px solid var(--border-2);border-radius:var(--r-sm);
  font-size:1rem;font-family:inherit;background:var(--paper);color:var(--ink)}
.form-box input:focus,.form-box textarea:focus,.lead-inline input:focus{outline:2px solid var(--steel);outline-offset:1px}
.form-box textarea{min-height:100px;resize:vertical}
.form-box .btn{margin-top:22px}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:.86rem;color:var(--muted)}
.consent input{width:auto;margin-top:3px}
.consent a{color:var(--navy);text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:.82rem;color:var(--muted);margin-top:14px;font-style:italic}
.form-msg{display:none;margin-top:16px;padding:16px 18px;border-radius:var(--r-sm);
  background:#e9f1ea;border:1px solid #b6dcc1;color:#1d5d3b;font-size:.96rem}
.form-msg.show{display:block;animation:fade .25s ease}
.form-msg.err{background:#fdecec;border-color:#f3c2c2;color:#8a2b2b}

.offices{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:420px){.offices{grid-template-columns:1fr}}
.office h4{font-family:var(--font-display);font-size:1.05rem;color:var(--navy);margin-bottom:4px;font-weight:600}
.office p{font-size:.94rem;color:var(--muted);margin:0}
.final-aside .closing{margin-top:28px;color:var(--steel);font-size:1rem;font-weight:500;font-style:italic}

/* ---- footer ----------------------------------------------------------- */
footer.site{background:var(--navy-deep);color:var(--on-dark);padding:40px 0 34px;font-size:.92rem}
footer.site .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:center}
footer.site .flogo img{width:170px;height:auto;opacity:.92}
footer.site a{color:#aebbd6}
footer.site .fnav{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
footer.site .copy{color:var(--on-dark-mut);font-size:.84rem}
footer.site .fright{text-align:right}
@media(max-width:620px){footer.site .fright{text-align:left}}

/* legal pages prose */
.legal{padding:clamp(44px,6vw,76px) 0}
.legal .wrap{max-width:820px}
.legal h1{font-size:clamp(2rem,4vw,2.7rem)}
.legal h2{font-size:1.45rem;margin-top:1.6em;color:var(--navy)}
.legal p,.legal li{color:var(--ink);font-size:1.02rem}
.legal ul{padding-left:1.3em;margin-bottom:1em}
.legal li{margin-bottom:.5em}
.legal .updated{color:var(--muted);font-size:.92rem;font-style:italic}

/* 404 */
.err-hero{min-height:60vh;display:flex;align-items:center;text-align:center}
.err-hero .wrap{max-width:640px}
.err-hero .code{font-family:var(--font-display);font-size:clamp(4.5rem,17vw,9rem);font-weight:700;color:var(--navy);line-height:1}
.err-hero .mark404{width:80px;margin:0 auto 18px;opacity:.9}

/* ---- videos (facade lazy-load) --------------------------------------- */
.videos{margin:36px 0 8px;display:grid;gap:18px}
.ytfacade{position:relative;display:block;width:100%;aspect-ratio:16/9;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%);
  border-radius:var(--r);overflow:hidden;cursor:pointer;box-shadow:var(--shadow);
  border:0;color:#fff;text-align:center;font-family:inherit;transition:.18s}
.ytfacade:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.ytfacade .yt-inner{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;padding:22px}
.ytfacade__meta{font-family:var(--font-display);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:#9fb4d8;font-weight:700}
.ytfacade__play{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.12);
  border:1.5px solid rgba(255,255,255,.55);display:inline-flex;align-items:center;
  justify-content:center;position:relative;transition:.18s}
.ytfacade__play::before{content:"";display:block;border:13px solid transparent;
  border-left:20px solid #fff;border-right:0;margin-left:6px}
.ytfacade:hover .ytfacade__play{background:rgba(255,255,255,.22);transform:scale(1.06)}
.ytfacade__title{font-family:var(--font-display);font-weight:600;font-size:1.1rem;
  color:#fff;max-width:90%;line-height:1.25}
.ytfacade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--r)}
.faq .ans .ytfacade{margin-top:18px;max-width:560px}

/* ---- diagram polish: SVG branching connectors + flor blanca en cerebro ---- */
.conn{display:block;width:100%;height:42px;background:none;color:rgba(142,166,207,.55);margin:6px 0}
.conn path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.node.brain{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 18px 16px}
.node.brain .brain-mark{width:36px;height:auto;margin-bottom:6px;opacity:.92}

/* ---- diagram reform: 4 fuentes + bidireccional ---- */
.layer.layer-4{gap:10px}
.layer.layer-4 .node{padding:11px 12px}
.layer.layer-4 .node b{font-size:.86rem}
.layer.layer-4 .node span{font-size:.74rem;line-height:1.3}
.node-bidi{position:relative}
.node-bidi::after{content:"⇄";position:absolute;top:6px;right:8px;color:#9fb4d8;font-size:.85rem;line-height:1;font-weight:700}
.conn-return{stroke-dasharray:3 2;opacity:.85}
.conn-arrow{fill:currentColor;opacity:.85}
.diagram-callout{margin-top:16px;border-radius:var(--r-sm);background:rgba(159,180,216,.08);
  border:1px dashed rgba(159,180,216,.4);padding:14px 16px;color:#dde4f1;font-size:.86rem;
  display:flex;gap:12px;align-items:flex-start;line-height:1.45;flex-wrap:wrap}
.diagram-callout b{font-family:var(--font-display);color:#fff;font-weight:600;white-space:nowrap}
.schema-copy .trio{font-size:.88rem;color:var(--on-dark-mut);margin:0 0 18px;
  border-left:2px solid rgba(159,180,216,.4);padding-left:12px;line-height:1.5}
.schema-copy .trio b{color:#fff;font-weight:600}

/* ---- diagram bands (Capa 1 / Capa 2 / Capa 3) ---- */
.band-label{font-family:var(--font-display);font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(159,180,216,.75);font-weight:700;
  margin:18px 0 10px;text-align:center}
.band-label:first-child{margin-top:0}

/* ---- Capa 3: Agentes (énfasis multi-agéntico) ---- */
.layer.agents{gap:10px;flex-wrap:wrap}
.layer.agents .node{flex:1;min-width:130px;padding:11px 13px;
  background:linear-gradient(160deg,rgba(127,158,210,.18),rgba(127,158,210,.06));
  border-color:rgba(159,180,216,.36)}
.layer.agents .node b{font-size:.9rem;font-weight:600;color:#fff;letter-spacing:.01em}
.layer.agents .node span{font-size:.74rem;color:#cdd8ee;line-height:1.35}
.agents-extend{font-family:var(--font-display);font-size:.78rem;
  color:rgba(159,180,216,.75);text-align:center;margin:8px 0 6px;
  font-style:italic;letter-spacing:.04em}

/* ---- Capa 3 Agents — presencia subida (multi-agéntico "live") ---- */
.layer.agents{gap:11px;flex-wrap:wrap;margin:4px 0 2px}
.layer.agents .node{
  flex:1;min-width:142px;padding:14px 14px 12px;
  background:linear-gradient(160deg,rgba(159,180,216,.22) 0%,rgba(127,158,210,.06) 100%);
  border:1px solid rgba(159,180,216,.48);
  box-shadow:0 6px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
  position:relative;transition:.16s
}
.layer.agents .node:hover{transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.30);
  border-color:rgba(159,180,216,.66)}
.layer.agents .node::before{
  content:"";position:absolute;top:11px;right:12px;
  width:7px;height:7px;border-radius:50%;background:#5fc9d5;
  animation:agentPulse 2.4s ease-in-out infinite
}
@keyframes agentPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(95,201,213,.6), 0 0 6px rgba(95,201,213,.4)}
  50%{box-shadow:0 0 0 6px rgba(95,201,213,0), 0 0 6px rgba(95,201,213,.4)}
}
.layer.agents .node b{
  font-size:.96rem;font-weight:600;color:#fff;letter-spacing:.01em;
  display:block;margin-bottom:4px;padding-right:14px
}
.layer.agents .node span{font-size:.78rem;color:#dde4f1;line-height:1.35}

.band-label.live{color:#bcc6da}
.band-label.live::before{content:"●";color:#5fc9d5;margin-right:8px;font-size:.72em;
  text-shadow:0 0 6px rgba(95,201,213,.65);vertical-align:middle}

.agents-extend{font-family:var(--font-display);font-size:.82rem;
  color:rgba(189,205,232,.85);text-align:center;margin:8px 0 4px;
  letter-spacing:.04em;font-style:normal}
.agents-extend::before{content:"+ ";font-weight:700;color:#5fc9d5;margin-right:2px}

/* fix: 4 agent cards en una sola fila */
.layer.agents .node{min-width:126px}

/* ---- Bloque "Qué cambia" en columna derecha del esquema ---- */
.schema-copy .outcomes-kick{
  font-family:var(--font-display);font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(159,180,216,.85);font-weight:700;
  margin:24px 0 14px;display:block
}
.schema-copy .outcomes{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px}
.schema-copy .outcomes li{
  display:flex;gap:11px;align-items:flex-start;
  font-size:.95rem;color:#dde4f1;line-height:1.45
}
.schema-copy .outcomes li::before{
  content:"→";color:#5fc9d5;font-weight:700;flex:none;
  font-size:1.05rem;line-height:1.4
}

/* ---- Botón de descarga PDF en el form-msg ---- */
.form-msg .dl-pdf{display:inline-block;margin:8px 0;padding:10px 22px;
  border-radius:var(--r-pill);background:var(--navy);color:#fff !important;
  text-decoration:none;font-family:var(--font-display);font-weight:600;font-size:.95rem;
  transition:.15s}
.form-msg .dl-pdf:hover{background:var(--navy-2);text-decoration:none}
.form-msg small{display:inline-block;margin-top:6px;font-size:.82rem;opacity:.85}

/* ---- Language switch (ES | EN), pill style copiado de sebastianbrau.com ---- */
.lang-switch{
  display:inline-flex;align-items:center;
  border-radius:var(--r-pill);border:1.5px solid var(--navy);
  overflow:hidden;font-family:var(--font-display);font-weight:600;
  font-size:.8rem;letter-spacing:.06em;line-height:1
}
.lang-switch a{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 14px;color:var(--navy);text-decoration:none;
  text-transform:uppercase;transition:.15s ease;
}
.lang-switch a:hover{text-decoration:none}
.lang-switch a.active{
  background:var(--navy);color:#fff;cursor:default;pointer-events:none
}
.lang-switch a:not(.active):hover{background:rgba(29,45,79,.08)}
.navlinks .lang-switch{margin-right:6px}
@media(max-width:540px){
  .lang-switch a{padding:7px 11px;font-size:.74rem}
}

/* ---- Override: lang-switch a la izquierda + estilo pill interior (como sebastianbrau) ---- */
nav.site .wrap{justify-content:flex-start;gap:18px}
nav.site .navlinks{margin-left:auto}
.lang-switch{padding:3px;gap:2px;background:transparent}
.lang-switch a{padding:6px 14px;border-radius:var(--r-pill);min-width:34px}
.lang-switch a.active{background:var(--navy);color:#fff}
.navlinks .lang-switch{margin-right:0}
@media(max-width:540px){.lang-switch a{padding:5px 11px;min-width:30px;font-size:.74rem}}
