/*
Theme Name: Nisa Cinematic
Theme URI: https://nisaavila.com/
Author: OpenAI for Javier Nisa
Description: Portfolio audiovisual horizontal continuo para nisaavila.com, con vídeo por escenas, transiciones cinematográficas, audio ambiental dinámico y contenidos editables desde WordPress.
Version: 1.0.76
Text Domain: nisa-cinematic
*/
:root{--fg:#fff;--ink:#0b1013;--muted:rgba(255,255,255,.72);--line:rgba(255,255,255,.22);--glass:rgba(255,255,255,.095);--ease:cubic-bezier(.18,.76,.18,1);--accent:#d9ff73}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#080c0f;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}body{overscroll-behavior:none;-webkit-font-smoothing:antialiased}

/* Opening gate · V1.0.1: static, editorial, intentionally motionless */
.boot{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;color:#111619;background:#edf0ef;transition:opacity .58s cubic-bezier(.22,.61,.36,1),visibility .58s;overflow:hidden;isolation:isolate}.boot.is-gone{opacity:0;visibility:hidden;pointer-events:none}.boot-bg{position:absolute;inset:0;z-index:-4;background:radial-gradient(circle at 72% 25%,rgba(255,255,255,.98) 0 5%,rgba(255,255,255,.34) 18%,transparent 37%),radial-gradient(circle at 20% 76%,rgba(139,171,171,.28),transparent 33%),linear-gradient(135deg,#f6f5f0 0%,#e7eceb 44%,#d9e2e1 72%,#f0e9df 100%)}.boot-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.36) 44%,transparent 62%),linear-gradient(90deg,rgba(255,255,255,.16),transparent 30% 70%,rgba(120,135,137,.06));mix-blend-mode:screen}
.boot-sculpture{position:absolute;z-index:-2;width:min(58vw,860px);aspect-ratio:1.65;right:-5vw;top:50%;transform:translateY(-50%);border-radius:52% 48% 46% 54%/58% 44% 56% 42%;background:linear-gradient(145deg,rgba(255,255,255,.73),rgba(171,193,194,.32) 34%,rgba(114,145,150,.18) 55%,rgba(255,255,255,.56));border:1px solid rgba(84,106,110,.17);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),inset -80px -50px 120px rgba(103,132,137,.12),0 55px 110px rgba(57,77,80,.11);backdrop-filter:blur(20px) saturate(125%)}.boot-sculpture:before,.boot-sculpture:after,.boot-sculpture i,.boot-sculpture span{content:"";position:absolute;display:block;pointer-events:none}.boot-sculpture:before{inset:8% 10%;border:1px solid rgba(57,80,85,.11);border-radius:50%;transform:rotate(-13deg)}.boot-sculpture:after{width:66%;height:1px;left:16%;top:51%;background:linear-gradient(90deg,transparent,rgba(58,79,83,.42),transparent);box-shadow:0 -42px 0 rgba(255,255,255,.32),0 42px 0 rgba(90,116,120,.08)}.boot-sculpture i:nth-child(1){width:38%;aspect-ratio:1;left:9%;top:13%;border-radius:50%;border:1px solid rgba(78,105,109,.15);background:radial-gradient(circle at 37% 31%,rgba(255,255,255,.85),rgba(204,216,215,.32) 42%,rgba(102,133,138,.08) 70%,transparent)}.boot-sculpture i:nth-child(2){width:27%;aspect-ratio:1;right:12%;bottom:11%;border-radius:50%;border:1px solid rgba(78,105,109,.13);background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.72),rgba(215,222,220,.2) 50%,transparent 72%)}.boot-sculpture i:nth-child(3){left:44%;top:4%;width:1px;height:92%;background:linear-gradient(transparent,rgba(77,98,103,.18),transparent);transform:rotate(17deg)}.boot-sculpture span{left:51%;top:51%;width:11px;height:11px;border:1px solid rgba(21,34,38,.52);border-radius:50%;background:rgba(255,255,255,.62);box-shadow:0 0 0 8px rgba(255,255,255,.17)}
.boot-top,.boot-bottom{position:absolute;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(20,31,34,.52)}.boot-top{top:30px;padding-bottom:16px;border-bottom:1px solid rgba(37,52,55,.12)}.boot-bottom{bottom:26px;padding-top:16px;border-top:1px solid rgba(37,52,55,.12)}
.boot-card{position:relative;width:min(930px,88vw);margin-right:min(18vw,230px);padding:54px 58px;border:1px solid rgba(30,46,49,.13);border-radius:38px;background:rgba(251,252,250,.46);backdrop-filter:blur(32px) saturate(135%);box-shadow:0 35px 100px rgba(31,48,50,.10),inset 0 1px 0 rgba(255,255,255,.66)}.boot-mark{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(17,25,28,.48)}.boot h1{font-size:clamp(62px,8.8vw,132px);line-height:.84;letter-spacing:-.075em;margin:31px 0 24px;font-weight:650;color:#111719;max-width:800px}.boot-role{font-size:clamp(17px,1.7vw,24px);line-height:1.38;max-width:690px;color:#374447;margin:0}.boot-concept{margin:26px 0 0;font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:clamp(24px,2.5vw,38px);letter-spacing:-.025em;line-height:1.15;color:#182124}.boot-experience{margin-top:42px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(18,27,30,.48)}.boot-actions{display:flex;align-items:center;gap:18px;margin-top:14px;flex-wrap:wrap}.boot button{border:0;border-radius:999px;padding:14px 22px;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.boot .primary{display:inline-flex;align-items:center;gap:10px;background:#111719;color:#fff;box-shadow:0 10px 30px rgba(10,18,20,.14)}.boot .secondary{padding-left:6px;padding-right:6px;background:transparent;color:#1f2a2d;border-radius:0;border-bottom:1px solid rgba(31,42,45,.32)}.boot button:hover{transform:translateY(-1px)}.boot-audio-icon{font-size:13px;line-height:1;transform:rotate(180deg)}
@media(max-width:900px){.boot-sculpture{width:88vw;right:-34vw;top:37%;opacity:.78}.boot-card{margin:0;width:min(90vw,720px);padding:42px 28px;border-radius:30px;background:rgba(251,252,250,.59)}.boot-top span:last-child,.boot-bottom span:last-child{display:none}.boot-bottom{font-size:8px}.boot h1{font-size:clamp(58px,18vw,104px)}}
@media(max-width:560px){.boot-top{top:20px}.boot-bottom{bottom:18px}.boot-card{padding:36px 22px}.boot-mark{font-size:8px;letter-spacing:.16em}.boot-experience{margin-top:32px}.boot-actions{align-items:flex-start;flex-direction:column;gap:12px}.boot .secondary{margin-left:14px}}

/* Persistent background stage: the key difference from a slide deck. */
.stage{position:fixed;inset:0;z-index:0;overflow:hidden;background:#071014}.bg-layer{position:absolute;inset:-5%;opacity:0;will-change:opacity,transform;transform:translate3d(calc(var(--bgp,0)*-1.8vw),0,0) scale(calc(1.08 + min(1,abs(var(--bgp,0)))*.025));transition:opacity .04s linear;overflow:hidden}.bg-layer video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(1.05) brightness(.84)}.bg-layer.code video{object-position:var(--home-focus-x,50%) var(--home-focus-y,50%)}.bg-layer.code:after{content:"";position:absolute;inset:0;z-index:2;background:rgba(4,9,11,var(--home-extra-dim,.18));pointer-events:none}.bg-layer.robot video{filter:saturate(.72) contrast(1.08) brightness(.78)}.bg-layer.data video{filter:saturate(.75) contrast(1.1) brightness(.70)}.stage:after{content:"";position:absolute;inset:0;z-index:30;background:linear-gradient(90deg,rgba(5,9,11,.64) 0%,rgba(5,9,11,.28) 48%,rgba(5,9,11,.08) 76%),linear-gradient(0deg,rgba(3,8,10,.55) 0%,transparent 48%),radial-gradient(circle at 80% 42%,transparent 0 25%,rgba(3,8,10,.16) 70%);pointer-events:none}.filmgrain{position:absolute;inset:0;z-index:35;pointer-events:none;opacity:.11;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.scanline{position:absolute;z-index:36;top:0;bottom:0;left:12vw;width:1px;background:linear-gradient(180deg,transparent,rgba(217,255,115,.55),transparent);opacity:.32;box-shadow:0 0 26px rgba(217,255,115,.28);animation:scan 11s ease-in-out infinite alternate;pointer-events:none}@keyframes scan{to{left:86vw}}

.top{position:fixed;z-index:80;top:0;left:0;right:0;height:78px;display:flex;align-items:center;padding:0 34px;gap:24px;pointer-events:none}.brand,.sound,.nav{pointer-events:auto}.brand{font-weight:650;letter-spacing:-.035em}.nav{margin-left:auto;display:flex;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(7,13,15,.16);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 14px 44px rgba(0,0,0,.12)}.nav a{font-size:11px;padding:9px 10px;border-radius:999px;color:rgba(255,255,255,.66);transition:.25s}.nav a.is-active{background:rgba(255,255,255,.15);color:#fff}.sound{width:40px;height:40px;border:1px solid rgba(255,255,255,.19);border-radius:50%;background:rgba(7,13,15,.18);color:#fff;backdrop-filter:blur(20px);cursor:pointer;display:grid;place-items:center}.sound .bars{display:flex;align-items:center;gap:2px}.sound i{display:block;width:2px;height:6px;background:#fff;border-radius:4px}.sound.is-on i:nth-child(1){animation:eq .8s infinite alternate}.sound.is-on i:nth-child(2){animation:eq .55s infinite alternate-reverse}.sound.is-on i:nth-child(3){animation:eq .72s infinite alternate}.sound.is-on i:nth-child(4){animation:eq .5s infinite alternate-reverse}@keyframes eq{to{height:17px}}

.cinema{position:fixed;inset:0;z-index:40;overflow:hidden}.timeline{display:flex;width:max-content;height:100%;will-change:transform;transform:translate3d(0,0,0)}.chapter{position:relative;flex:0 0 100vw;width:100vw;height:100vh;overflow:visible;--p:0;--ap:0;--presence:1}.content{height:100%;max-width:1600px;margin:0 auto;padding:104px clamp(34px,6vw,96px) 94px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:3}.chapter.hero .content{justify-content:center}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0 0 22px;color:var(--muted);transform:translate3d(calc(var(--p)*-3vw),calc(var(--p)*-18px),0);opacity:calc(.4 + var(--presence)*.6)}h1,h2{margin:0;letter-spacing:-.067em;font-weight:640;line-height:.89;text-wrap:balance;transform-origin:left center;transform:translate3d(calc(var(--p)*-6vw),calc(var(--p)*-2vh),0) scale(calc(.93 + var(--presence)*.07));opacity:calc(.12 + var(--presence)*.88)}h1{font-size:clamp(74px,13.4vw,216px);max-width:1250px}h2{font-size:clamp(56px,8.7vw,138px);max-width:1180px}.hero h1 span{display:block;font-weight:330}.lede{font-size:clamp(18px,2vw,29px);line-height:1.35;max-width:760px;margin:30px 0 0;color:rgba(255,255,255,.80);transform:translate3d(calc(var(--p)*-2.5vw),0,0);opacity:calc(.22 + var(--presence)*.78)}.chapter .ghost-word{position:absolute;right:-5vw;top:13vh;font-size:clamp(100px,20vw,360px);line-height:.7;letter-spacing:-.09em;font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.15);opacity:calc(.05 + var(--presence)*.25);transform:translateX(calc(var(--p)*-10vw));white-space:nowrap;pointer-events:none}.corner{position:absolute;right:5vw;bottom:10vh;text-align:right;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.56)}

.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.82fr);gap:7vw;align-items:end}.glass-card{align-self:center;margin-bottom:3vh;border:1px solid rgba(255,255,255,.22);border-radius:34px;padding:32px;background:rgba(255,255,255,.085);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 32px 90px rgba(0,0,0,.14);transform:translate3d(calc(var(--p)*5vw),calc((1 - var(--presence))*22px),0) scale(calc(.96 + var(--presence)*.04));opacity:calc(.18 + var(--presence)*.82)}.glass-card small{display:block;opacity:.58;text-transform:uppercase;letter-spacing:.16em;margin-bottom:22px}.glass-card p{font-size:clamp(21px,2.25vw,35px);line-height:1.18;letter-spacing:-.032em;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.chip{font-size:12px;padding:9px 12px;border:1px solid currentColor;border-radius:999px;opacity:.68}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:40px;perspective:1200px}.card{min-height:230px;border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:23px;background:rgba(10,18,20,.15);backdrop-filter:blur(21px);transform:translate3d(calc(var(--p)*2vw),calc((1 - var(--presence))*42px),0) rotateX(calc(var(--p)*-2deg));opacity:calc(.17 + var(--presence)*.83)}.card:nth-child(2){transform:translate3d(calc(var(--p)*1vw),calc((1 - var(--presence))*58px),0)}.card:nth-child(3){transform:translate3d(calc(var(--p)*-1vw),calc((1 - var(--presence))*70px),0)}.card:nth-child(4){transform:translate3d(calc(var(--p)*-2vw),calc((1 - var(--presence))*84px),0)}.card small{opacity:.52}.card h3{font-size:clamp(24px,2vw,34px);letter-spacing:-.045em;margin:54px 0 12px;line-height:1}.card p{font-size:14px;line-height:1.45;color:rgba(255,255,255,.69);margin:0}
.reel{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:15px;margin-top:38px}.poster{height:min(42vh,400px);border:1px solid rgba(255,255,255,.22);border-radius:30px;padding:24px;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.045));backdrop-filter:blur(24px);display:flex;flex-direction:column;justify-content:space-between;transform:translateY(calc((1 - var(--presence))*55px)) scale(calc(.96 + var(--presence)*.04));opacity:calc(.16 + var(--presence)*.84)}.poster:nth-child(2){transform:translateY(calc((1 - var(--presence))*78px)) scale(calc(.95 + var(--presence)*.05))}.poster:nth-child(3){transform:translateY(calc((1 - var(--presence))*100px)) scale(calc(.94 + var(--presence)*.06))}.poster small{letter-spacing:.15em;text-transform:uppercase;font-size:10px;opacity:.65}.poster h3{font-size:clamp(30px,3vw,52px);letter-spacing:-.055em;line-height:.98;margin:0 0 14px}.poster span{color:rgba(255,255,255,.7);font-size:13px}.poster b{align-self:flex-end;font-size:22px;font-weight:400}

/* Many published works fit here without turning the site into an endless slide. */
.works-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(450px,1.2fr);gap:6vw;align-items:end}.works-head h2{font-size:clamp(54px,7.4vw,118px)}.works-meta{font-size:14px;line-height:1.5;color:rgba(255,255,255,.68);max-width:570px;margin-left:auto}.works-list{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;border-top:1px solid rgba(255,255,255,.28)}.work-item{min-height:58px;display:grid;grid-template-columns:58px 76px 1fr 20px;gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);font-size:13px;opacity:calc(.20 + var(--presence)*.80);transform:translateY(calc((1 - var(--presence))*18px))}.work-item .year,.work-item .type{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.55)}.work-item strong{font-size:14px;font-weight:520;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.archive-link{display:inline-flex;gap:14px;align-items:center;margin-top:20px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.reflection-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:15px;margin-top:38px}.reflection{min-height:330px;border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:26px;background:rgba(5,12,14,.16);backdrop-filter:blur(24px);display:flex;flex-direction:column;justify-content:space-between;transform:translate3d(calc(var(--p)*2vw),calc((1 - var(--presence))*46px),0);opacity:calc(.14 + var(--presence)*.86)}.reflection:nth-child(2){transform:translate3d(calc(var(--p)*-1vw),calc((1 - var(--presence))*68px),0)}.reflection:nth-child(3){transform:translate3d(calc(var(--p)*-2vw),calc((1 - var(--presence))*90px),0)}.reflection time{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.58}.reflection h3{font-size:clamp(29px,3vw,50px);letter-spacing:-.055em;line-height:.98;margin:0 0 18px}.reflection p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.67);margin:0}.reflection b{font-weight:400;align-self:flex-end}
.contact-link{margin-top:42px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);padding:20px 0;font-size:clamp(22px,3vw,44px);letter-spacing:-.03em;max-width:1120px}.contact h2{font-size:clamp(80px,14vw,220px)}
.bottom{position:fixed;left:34px;right:34px;bottom:24px;z-index:80;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.75);pointer-events:none}.progress{height:1px;background:rgba(255,255,255,.24);position:relative}.progress i{position:absolute;left:0;top:-1px;height:3px;width:0;background:#fff;border-radius:10px}.hint{white-space:nowrap}.mobile-note{display:none}

@media(max-width:1100px){.nav a{padding:9px 8px}.works-list{grid-template-columns:1fr}.works-list .work-item:nth-child(n+8){display:none}.works-head{grid-template-columns:1fr}.works-meta{display:none}}
@media(max-width:900px){.nav{display:none}.top{padding:0 20px}.content{padding:98px 22px 82px}.split{grid-template-columns:1fr;gap:24px}.glass-card{max-width:640px;margin:0}.cards{grid-template-columns:repeat(2,1fr)}.reel{grid-template-columns:repeat(3,72vw);overflow:visible}.reflection-grid{grid-template-columns:78vw 68vw 68vw}.bottom{left:20px;right:20px}.hint{display:none}.mobile-note{display:block}.corner{display:none}.chapter .ghost-word{right:-28vw}.stage:after{background:linear-gradient(0deg,rgba(3,8,10,.66) 0%,rgba(3,8,10,.06) 72%)}}
@media(max-width:560px){h1{font-size:clamp(66px,23vw,116px)}h2{font-size:clamp(50px,16vw,90px)}.cards{gap:8px}.card{padding:16px;min-height:185px;border-radius:22px}.card h3{font-size:21px;margin-top:39px}.card p{font-size:12px}.works-list .work-item:nth-child(n+6){display:none}.work-item{grid-template-columns:48px 1fr 18px}.work-item .type{display:none}.boot-card{padding:42px 28px}.sound{margin-left:auto}.reflection-grid{grid-template-columns:82vw 74vw 74vw}.poster{height:42vh}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.timeline{transition:none!important}.bg-layer,.eyebrow,h1,h2,.lede,.glass-card,.card,.poster,.work-item,.reflection{transform:none!important}}
body.admin-bar .top{top:32px}@media(max-width:782px){body.admin-bar .top{top:46px}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* ===== V5: editorial depth, technohumanist projects, live reflections, scalable teaching ===== */
.bg-layer.code video{filter:saturate(.86) contrast(1.06) brightness(.9)}
.bg-layer.code:after{background:linear-gradient(90deg,rgba(4,10,13,.72) 0%,rgba(4,10,13,.34) 43%,rgba(4,10,13,.10) 72%),linear-gradient(0deg,rgba(6,12,14,.48),transparent 52%)}
.legal-code-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;opacity:.55}
.legal-code-overlay span{position:absolute;font-size:clamp(10px,1vw,14px);letter-spacing:.35em;font-weight:650;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.22);padding:10px 14px;border-radius:999px;backdrop-filter:blur(8px);transform:translate3d(calc(var(--bgp)*-6vw),0,0)}
.legal-code-overlay span:nth-child(1){left:58%;top:22%}.legal-code-overlay span:nth-child(2){left:70%;top:42%}.legal-code-overlay span:nth-child(3){left:54%;top:62%}.legal-code-overlay span:nth-child(4){left:82%;top:74%}
.hero-signals{display:flex;align-items:center;gap:12px;margin-top:34px;font-size:10px;letter-spacing:.19em;color:rgba(255,255,255,.62)}.hero-signals i{width:44px;height:1px;background:rgba(255,255,255,.35)}
.continuity-line{position:absolute;z-index:22;left:-15vw;top:54%;width:135vw;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 16%,rgba(255,255,255,.78) var(--phase,0%),rgba(255,255,255,.12) 80%,transparent);box-shadow:0 0 28px rgba(255,255,255,.18);opacity:.55;pointer-events:none;transition:opacity .3s linear;transform-origin:center}

.profile-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:6vw;align-items:end}.profile-main{max-width:870px}.profile-detail{max-width:730px;margin:20px 0 0;font-size:clamp(15px,1.35vw,20px);line-height:1.58;color:rgba(255,255,255,.70)}
.profile-dossier{align-self:center;margin-bottom:1vh;border:1px solid rgba(255,255,255,.22);border-radius:34px;padding:28px;background:rgba(255,255,255,.075);backdrop-filter:blur(30px) saturate(145%);box-shadow:0 32px 90px rgba(0,0,0,.14);transform:translate3d(calc(var(--p)*5vw),calc((1 - var(--presence))*22px),0) scale(calc(.96 + var(--presence)*.04));opacity:calc(.18 + var(--presence)*.82)}
.profile-dossier>small{display:block;letter-spacing:.16em;text-transform:uppercase;opacity:.55;margin-bottom:16px}.profile-lines{border-top:1px solid rgba(255,255,255,.19)}.profile-lines div{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15);align-items:start}.profile-lines b{font-size:10px;letter-spacing:.15em;opacity:.45}.profile-lines span{font-size:14px;line-height:1.35}.profile-dossier>p{font-size:15px;line-height:1.5;color:rgba(255,255,255,.72);margin:20px 0 0}

.bg-layer.human-tech video{filter:saturate(.76) contrast(.94) brightness(1.12)}.bg-layer.human-tech:after{background:linear-gradient(90deg,rgba(240,238,229,.08),rgba(4,10,13,.05) 50%,rgba(4,10,13,.50)),linear-gradient(0deg,rgba(4,10,13,.45),transparent 55%)}
.project-thesis{max-width:760px;margin:20px 0 0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.70)}

.reflections-chapter .content{justify-content:center;padding-top:92px;padding-bottom:76px}.reflection-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr);gap:5vw;align-items:end}.reflection-head h2{font-size:clamp(50px,7vw,108px)}
.reflection-tools{justify-self:end;width:min(520px,100%)}.reflection-tools label{display:block;margin:0 0 9px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62)}.search-shell{height:52px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:0 18px;background:rgba(8,14,16,.16);backdrop-filter:blur(26px)}.search-shell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;opacity:.65}.search-shell input{min-width:0;flex:1;border:0;background:transparent;color:#fff;outline:0;font:inherit;font-size:14px}.search-shell input::placeholder{color:rgba(255,255,255,.45)}.search-status{font-size:10px;white-space:nowrap;color:rgba(255,255,255,.55)}
.reflection-grid.six{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.reflection-grid.six .reflection{min-height:190px;border-radius:22px;padding:18px}.reflection-grid.six .reflection:nth-child(n){transform:translate3d(calc(var(--p)*1.4vw),calc((1 - var(--presence))*38px),0);opacity:calc(.12 + var(--presence)*.88)}.reflection-grid.six .reflection:nth-child(2n){transform:translate3d(calc(var(--p)*-.8vw),calc((1 - var(--presence))*50px),0)}.reflection-grid.six .reflection h3{font-size:clamp(19px,1.7vw,28px);line-height:1.02;margin:0 0 9px}.reflection-grid.six .reflection p{font-size:12px;line-height:1.4}.reflection-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}.reflection-actions{display:flex;align-items:center;gap:20px;margin-top:14px}.load-more{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:11px 16px;background:rgba(8,14,16,.15);color:#fff;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(20px)}.load-more:hover{background:rgba(255,255,255,.12)}.load-more:disabled{opacity:.45;cursor:wait}.load-more[hidden]{display:none}.result-count{font-size:10px;color:rgba(255,255,255,.48)}
.bg-layer.reflection-bg video{filter:saturate(.72) brightness(1.05) contrast(.96)}.bg-layer.reflection-bg:after{background:linear-gradient(90deg,rgba(5,10,12,.58),rgba(5,10,12,.16) 60%,rgba(5,10,12,.28)),linear-gradient(0deg,rgba(5,10,12,.52),transparent 60%)}

.teaching-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(500px,1.22fr);gap:6vw;align-items:end}.teaching-intro{padding-bottom:2vh}.teaching-stack{align-self:center;max-height:64vh;overflow:auto;border-top:1px solid rgba(255,255,255,.25);padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.teaching-row{display:grid;grid-template-columns:90px minmax(160px,.8fr) minmax(180px,1.2fr) 24px;gap:16px;align-items:center;padding:16px 3px;border-bottom:1px solid rgba(255,255,255,.18);transition:.25s}.teaching-row:hover{padding-left:9px;background:rgba(255,255,255,.055)}.teaching-type{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}.teaching-row strong{font-size:15px;font-weight:560}.teaching-desc{font-size:12px;line-height:1.35;color:rgba(255,255,255,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teaching-row b{font-size:17px;font-weight:400}.teaching-all{display:inline-block;margin-top:15px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.44);font-size:10px;letter-spacing:.12em;text-transform:uppercase}

@media(max-width:1100px){.profile-layout,.teaching-layout{grid-template-columns:1fr 1fr}.reflection-grid.six{grid-template-columns:repeat(2,1fr)}.reflection-grid.six .reflection:nth-child(n+5){display:none}}
@media(max-width:900px){.profile-layout,.teaching-layout,.reflection-head{grid-template-columns:1fr}.profile-dossier{max-width:720px}.reflection-tools{justify-self:start}.reflection-grid.six{grid-template-columns:72vw 72vw 72vw;overflow:visible}.reflection-grid.six .reflection:nth-child(n+5){display:flex}.teaching-stack{max-height:48vh}.teaching-row{grid-template-columns:76px 1fr 22px}.teaching-desc{display:none}}
@media(max-width:560px){.profile-detail{font-size:14px}.reflection-grid.six{grid-template-columns:82vw 82vw 82vw}.reflection-grid.six .reflection{min-height:205px}.search-shell{height:46px}.teaching-layout{display:block}.teaching-intro .lede{font-size:16px;margin-top:16px}.teaching-stack{margin-top:24px;max-height:41vh}.teaching-row{padding:12px 2px}.legal-code-overlay{display:none}}

/* ===== V6: single-background lock + stable in-scene reflection interaction ===== */

/* Background crossfades are calculated in JS. Keep compositing deterministic:
   when a chapter is centred only that chapter's video is visible. */
.bg-layer{transition:none!important}
.bg-layer video{transform:translateZ(0);backface-visibility:hidden}

/* Reflection search stays visually stable; results have their own scroll context. */
.reflection-tools{position:relative}
.search-shell{position:relative;background:rgba(5,12,14,.28);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.search-shell:focus-within{border-color:rgba(255,255,255,.48);background:rgba(5,12,14,.38)}
.search-status{display:block;min-height:14px;margin:7px 16px 0;text-align:right;font-size:10px;line-height:1.3;white-space:normal;color:rgba(255,255,255,.58)}
.reflection-results-shell{
  margin-top:20px;
  max-height:clamp(310px,46vh,500px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:2px 8px 4px 2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.34) transparent;
}
.reflection-results-shell::-webkit-scrollbar{width:6px}
.reflection-results-shell::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
.reflection-grid.six{margin-top:0}
.reflection-grid.six .reflection{min-height:168px}
.reflection-grid.six .reflection.is-new{animation:jnReflectionIn .42s var(--ease) both}
@keyframes jnReflectionIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.reflection-actions{
  min-height:42px;
  margin-top:12px;
  padding-top:2px;
  justify-content:space-between;
}
.load-more{min-width:196px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px}
.result-count{margin-left:auto}

/* Keep the internal results panel usable without handing wheel/touch events back
   to the global horizontal timeline. */
.reflection-results-shell,.search-shell,.load-more{touch-action:pan-y}

@media(max-height:820px) and (min-width:901px){
  .reflections-chapter .content{padding-top:82px;padding-bottom:64px}
  .reflection-head h2{font-size:clamp(48px,6vw,86px)}
  .reflection-results-shell{max-height:42vh}
  .reflection-grid.six .reflection{min-height:148px;padding:15px}
  .reflection-grid.six .reflection h3{font-size:clamp(18px,1.45vw,24px)}
  .reflection-grid.six .reflection p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

@media(max-width:900px){
  .reflection-results-shell{max-height:48vh;overflow-x:auto;overflow-y:hidden;padding-bottom:10px}
  .reflection-grid.six{display:grid;grid-auto-flow:column;grid-auto-columns:72vw;grid-template-columns:none}
  .reflection-grid.six .reflection{min-height:220px}
  .reflection-results-shell{touch-action:pan-x}
}


/* ===== V1.0: reflection exit resistance + scene-aware ambient audio ===== */
.reflection-results-shell.edge-resistance{box-shadow:inset 0 -18px 34px rgba(217,255,115,.08),0 0 0 1px rgba(217,255,115,.08);transition:box-shadow .22s ease}
.scene-audio-bank{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

/* ===== V1.0.5 · Inicio final: continuous reveal driven by CSS variables ===== */
.hero-detail{max-width:800px;margin:17px 0 0;font-size:clamp(14px,1.35vw,19px);line-height:1.55;color:rgba(255,255,255,.72);transform:translate3d(calc(var(--p)*-1.8vw),0,0)}
.hero .lede{max-width:840px;margin-top:26px;color:rgba(255,255,255,.88)}
.hero-signals{flex-wrap:wrap;margin-top:30px}.hero-signals i{flex:0 0 34px}
.hero .ghost-word{font-size:clamp(122px,20vw,340px);top:13vh;right:-1vw;letter-spacing:-.075em;z-index:1;-webkit-text-stroke:1px rgba(255,255,255,.32);text-shadow:0 0 42px rgba(255,255,255,.06)}
#inicio .hero-seq{--intro-opacity:0;--intro-blur:14px;--intro-y:14px;opacity:var(--intro-opacity)!important;filter:blur(var(--intro-blur));translate:0 var(--intro-y);will-change:opacity,filter,translate}
#inicio .hero-ghost{--intro-opacity:0;--intro-blur:22px;--intro-x:3.5vw;opacity:var(--intro-opacity)!important;filter:blur(var(--intro-blur));translate:var(--intro-x) 0;will-change:opacity,filter,translate}
#inicio .hero-seq-1{letter-spacing:.24em}
#inicio .hero-seq-3{max-width:900px}
#inicio .hero-seq-4{max-width:760px}
@media(max-width:900px){.hero-detail{max-width:680px}.hero-signals{gap:9px}.hero-signals i{flex-basis:20px}.hero .ghost-word{font-size:clamp(94px,29vw,205px);right:-18vw;top:18vh}}

/* ===== V1.0.6: Profile scene + in-scene trajectory ===== */
.bg-layer.profile-bg video{object-position:var(--profile-focus-x,50%) var(--profile-focus-y,50%);filter:saturate(.72) contrast(1.02) brightness(.92)}
.bg-layer.profile-bg:after{content:"";position:absolute;inset:0;z-index:2;background:rgba(4,9,11,var(--profile-extra-dim,.14));pointer-events:none}

.profile-shell{padding:0;display:block;position:relative}
.profile-view{position:absolute;inset:104px clamp(34px,6vw,96px) 94px;transition:opacity .62s var(--ease),transform .62s var(--ease),filter .62s var(--ease);will-change:opacity,transform,filter}
.profile-overview{opacity:1;transform:translate3d(0,0,0);filter:blur(0);pointer-events:auto}
.profile-overview .profile-layout{height:100%;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:6vw;align-items:end}
.profile-main{align-self:end;max-width:870px;padding-bottom:1vh}
.profile-main h2{max-width:900px}
.profile-main .lede{max-width:840px}
.profile-detail{max-width:790px;margin:18px 0 0;font-size:clamp(14px,1.2vw,18px);line-height:1.58;color:rgba(255,255,255,.72)}
.profile-detail-third{max-width:760px;color:rgba(255,255,255,.64)}
.profile-trajectory-open,.profile-trajectory-back{appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;font:inherit}
.profile-trajectory-open{display:inline-flex;align-items:center;gap:12px;margin-top:24px;padding:0 0 8px;border-bottom:1px solid rgba(255,255,255,.46);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:opacity .25s ease,border-color .25s ease,gap .25s ease}
.profile-trajectory-open:hover{opacity:.78;border-color:#fff;gap:17px}
.profile-trajectory-open span{font-size:15px;line-height:1}

.profile-dossier{align-self:center;margin-bottom:0;padding:26px 28px;border-radius:34px}
.profile-dossier>small{margin-bottom:14px}
.profile-lines div{grid-template-columns:38px 1fr;padding:12px 0}
.profile-lines span{display:grid;gap:3px}
.profile-lines span strong{font-size:14px;line-height:1.25;font-weight:620;color:#fff}
.profile-lines span em{font-style:normal;font-size:11px;line-height:1.35;color:rgba(255,255,255,.58)}
.profile-quote{font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:clamp(18px,1.45vw,24px)!important;line-height:1.2!important;color:rgba(255,255,255,.90)!important;letter-spacing:-.02em;margin-top:19px!important}
.profile-dossier .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.profile-dossier .chip{font-size:9px;letter-spacing:.09em;text-transform:uppercase;padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.72)}

.profile-trajectory-view{opacity:0;transform:translate3d(0,18px,0) scale(.992);filter:blur(8px);pointer-events:none;display:grid;grid-template-rows:auto minmax(0,1fr);gap:24px}
.profile-chapter.is-trajectory .profile-overview{opacity:0;transform:translate3d(0,-16px,0) scale(.992);filter:blur(7px);pointer-events:none}
.profile-chapter.is-trajectory .profile-trajectory-view{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);pointer-events:auto}
.profile-trajectory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.22)}
.profile-trajectory-head .eyebrow{margin-bottom:12px}
.profile-trajectory-head h2{font-size:clamp(44px,5.8vw,88px);line-height:.88;letter-spacing:-.058em;margin:0}
.profile-trajectory-back{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;padding:10px 0 8px;border-bottom:1px solid rgba(255,255,255,.42);font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:.76;transition:opacity .2s ease,gap .2s ease}
.profile-trajectory-back:hover{opacity:1;gap:14px}
.profile-trajectory-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:8px 26px 11vh 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.34) transparent;touch-action:pan-y}
.profile-trajectory-scroll::-webkit-scrollbar{width:6px}.profile-trajectory-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
.profile-trajectory-scroll.edge-resistance:after{content:"Continúa para cambiar de sección";position:sticky;display:block;bottom:8px;margin:24px auto 0;width:max-content;max-width:90%;padding:8px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(7,13,15,.42);backdrop-filter:blur(18px);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.profile-trajectory-prose{max-width:980px;margin:0 auto;font-size:clamp(16px,1.25vw,20px);line-height:1.72;color:rgba(255,255,255,.82)}
.profile-trajectory-prose>*:first-child{margin-top:0}
.profile-trajectory-prose h1,.profile-trajectory-prose h2,.profile-trajectory-prose h3,.profile-trajectory-prose h4{font-weight:600;letter-spacing:-.035em;color:#fff;line-height:1.08;margin-top:1.8em;margin-bottom:.65em}
.profile-trajectory-prose h2{font-size:clamp(32px,3.4vw,54px)}.profile-trajectory-prose h3{font-size:clamp(23px,2.2vw,34px)}
.profile-trajectory-prose p,.profile-trajectory-prose ul,.profile-trajectory-prose ol{max-width:820px}
.profile-trajectory-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.profile-trajectory-prose img{max-width:100%;height:auto;border-radius:24px}
.profile-trajectory-prose .wp-block-columns{gap:3vw}
.profile-trajectory-placeholder{max-width:760px;padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:rgba(255,255,255,.06);backdrop-filter:blur(24px)}
.profile-trajectory-placeholder h3{margin-top:0}.profile-trajectory-placeholder p{color:rgba(255,255,255,.68)}
.profile-chapter.is-trajectory .profile-ghost{opacity:.10!important;filter:blur(4px)}

@media(max-height:840px) and (min-width:901px){
  .profile-view{inset:88px clamp(34px,5vw,84px) 70px}
  .profile-overview .profile-layout{gap:4vw}
  .profile-main h2{font-size:clamp(52px,6vw,92px)}
  .profile-main .lede{font-size:clamp(18px,1.8vw,28px)}
  .profile-detail{font-size:13px;line-height:1.48;margin-top:12px}
  .profile-trajectory-open{margin-top:17px}
  .profile-dossier{padding:21px 23px}.profile-lines div{padding:9px 0}.profile-quote{font-size:17px!important;margin-top:14px!important}.profile-dossier .chips{margin-top:13px}
}
@media(max-width:1100px){
  .profile-overview .profile-layout{grid-template-columns:1fr 1fr;gap:4vw}
}
@media(max-width:900px){
  .profile-view{inset:86px 28px 72px}
  .profile-overview{overflow-y:auto;overscroll-behavior:contain;padding-right:6px}
  .profile-overview .profile-layout{height:auto;min-height:100%;grid-template-columns:1fr;gap:28px;align-content:end}
  .profile-main{padding-bottom:0}.profile-dossier{max-width:none;width:100%;align-self:auto}
  .profile-trajectory-head{align-items:flex-start;flex-direction:column;gap:16px}.profile-trajectory-head h2{font-size:clamp(44px,10vw,72px)}
}
@media(max-width:560px){
  .profile-view{inset:82px 22px 66px}.profile-main h2{font-size:clamp(50px,15vw,78px)}
  .profile-main .lede{font-size:17px}.profile-detail{font-size:13px}.profile-dossier{padding:20px;border-radius:26px}
  .profile-trajectory-scroll{padding-right:10px}.profile-trajectory-prose{font-size:15px;line-height:1.65}
}


/* =========================================================
   V1.0.7 · Perfil polish, contrast, responsive safety
   ========================================================= */
.bg-layer.profile-bg:before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,9,11,.70) 0%,rgba(4,9,11,.54) 36%,rgba(4,9,11,.24) 68%,rgba(4,9,11,.10) 100%),
    linear-gradient(0deg,rgba(3,8,10,.34) 0%,transparent 48%);
}
.profile-view{inset:94px clamp(34px,6vw,96px) 116px}
.profile-overview .profile-layout{align-items:center;gap:clamp(38px,5.2vw,84px)}
.profile-main{align-self:center;max-width:860px;padding:0;min-width:0}
.profile-main h2{font-size:clamp(54px,7.3vw,112px);line-height:.88}
.profile-main .lede{font-size:clamp(18px,1.72vw,26px);line-height:1.34;color:rgba(255,255,255,.94);text-shadow:0 2px 26px rgba(0,0,0,.30)}
.profile-detail{font-size:clamp(13px,1.02vw,16px);line-height:1.52;color:rgba(255,255,255,.88);text-shadow:0 2px 22px rgba(0,0,0,.28);margin-top:13px}
.profile-detail-third{color:rgba(255,255,255,.78);margin-top:10px}
.profile-trajectory-open{
  margin-top:20px;padding:12px 16px;border:1px solid rgba(255,255,255,.34);border-radius:999px;
  background:rgba(240,248,246,.14);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 12px 32px rgba(0,0,0,.13);
  color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  transition:background .25s ease,border-color .25s ease,transform .25s ease,gap .25s ease;
}
.profile-trajectory-open:hover{opacity:1;background:rgba(247,252,250,.22);border-color:rgba(255,255,255,.58);gap:16px;transform:translateY(-1px)}
.profile-dossier{
  position:relative;overflow:hidden;align-self:center;margin:0;padding:28px 30px;border-radius:34px;
  border:1px solid rgba(255,255,255,.46);
  background:linear-gradient(145deg,rgba(241,248,246,.25),rgba(220,235,232,.15));
  backdrop-filter:blur(46px) saturate(118%) brightness(1.06);-webkit-backdrop-filter:blur(46px) saturate(118%) brightness(1.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -1px 0 rgba(255,255,255,.10),0 30px 80px rgba(0,0,0,.20);
}
.profile-dossier:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 18% 4%,rgba(255,255,255,.26),transparent 28%),linear-gradient(115deg,rgba(255,255,255,.08),transparent 42%);
  opacity:.9;
}
.profile-dossier>*{position:relative;z-index:1}
.profile-dossier>small{opacity:.80;color:#fff}
.profile-lines{border-top-color:rgba(255,255,255,.32)}
.profile-lines div{border-bottom-color:rgba(255,255,255,.25)}
.profile-lines b{opacity:.68}
.profile-lines span strong{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.12)}
.profile-lines span em{color:rgba(255,255,255,.76)}
.profile-quote{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.15)}
.profile-dossier .chip{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.11);color:rgba(255,255,255,.92)}
.profile-ghost{opacity:calc(.035 + var(--presence)*.16)!important}

/* Compact desktop heights: nothing may fall behind the global progress rail. */
@media(max-height:820px) and (min-width:901px){
  .profile-view{inset:84px clamp(30px,5vw,78px) 104px}
  .profile-overview .profile-layout{gap:3.6vw}
  .profile-main h2{font-size:clamp(48px,5.8vw,82px)}
  .profile-main .lede{font-size:clamp(16px,1.45vw,21px);margin-top:18px}
  .profile-detail{font-size:12.5px;line-height:1.42;margin-top:9px}
  .profile-detail-third{margin-top:7px}
  .profile-trajectory-open{margin-top:13px;padding:9px 13px}
  .profile-dossier{padding:20px 22px;border-radius:28px}
  .profile-lines div{padding:8px 0}.profile-lines span strong{font-size:13px}.profile-lines span em{font-size:10px}
  .profile-quote{font-size:16px!important;margin-top:11px!important}.profile-dossier .chips{margin-top:10px}
}
@media(max-width:1100px) and (min-width:901px){
  .profile-overview .profile-layout{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:3.5vw}
  .profile-main h2{font-size:clamp(50px,6.2vw,82px)}
  .profile-main .lede{font-size:17px}.profile-detail{font-size:12.5px}
}
@media(max-width:900px){
  .profile-view{inset:82px 22px 78px}
  .profile-overview{overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
  .profile-overview .profile-layout{height:auto;min-height:100%;grid-template-columns:1fr;gap:24px;align-content:start;align-items:start;padding:7vh 0 5vh}
  .profile-main{align-self:auto;width:100%}
  .profile-main h2{font-size:clamp(48px,12vw,82px)}
  .profile-main .lede{font-size:clamp(17px,3.5vw,22px)}
  .profile-detail{font-size:13px;line-height:1.5}
  .profile-dossier{width:100%;max-width:none;align-self:auto;padding:24px;border-radius:28px}
  .profile-trajectory-open{margin-top:18px}
  .profile-trajectory-view{gap:18px}
  .profile-trajectory-scroll{padding-bottom:9vh}
}
@media(max-width:560px){
  .profile-view{inset:76px 18px 72px}
  .profile-overview .profile-layout{padding-top:4vh;gap:20px}
  .profile-main h2{font-size:clamp(44px,14vw,68px)}
  .profile-main .lede{font-size:16px;line-height:1.4;margin-top:18px}
  .profile-detail{font-size:12.5px;line-height:1.5}
  .profile-trajectory-open{width:100%;justify-content:space-between;padding:12px 14px}
  .profile-dossier{padding:20px;border-radius:24px;background:linear-gradient(145deg,rgba(241,248,246,.28),rgba(220,235,232,.18))}
  .profile-lines div{grid-template-columns:34px 1fr;padding:10px 0}
  .profile-quote{font-size:18px!important}
  .profile-trajectory-head h2{font-size:clamp(38px,11vw,58px)}
}

/* =========================================================
   V1.0.10 · Perfil: deterministic two-way resistance, larger topic transition,
   deterministic edge resistance and responsive detail view
   ========================================================= */
.profile-dossier{
  color:#17211f;
  border:1px solid rgba(255,255,255,.88);
  background:
    linear-gradient(142deg,rgba(244,250,248,.82) 0%,rgba(226,238,234,.70) 58%,rgba(210,226,222,.64) 100%);
  -webkit-backdrop-filter:blur(54px) saturate(82%) brightness(1.08);
  backdrop-filter:blur(54px) saturate(82%) brightness(1.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(71,94,89,.10),
    inset 18px 0 42px rgba(255,255,255,.14),
    0 32px 90px rgba(0,0,0,.23);
}
.profile-dossier:before{
  background:
    radial-gradient(circle at 14% 3%,rgba(255,255,255,.90),transparent 26%),
    linear-gradient(118deg,rgba(255,255,255,.42),transparent 36% 72%,rgba(255,255,255,.10));
  opacity:.62;
}
.profile-dossier:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.20;mix-blend-mode:soft-light;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.20) 0 1px,rgba(30,49,45,.06) 1px 2px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 3px);
}
.profile-dossier>*{position:relative;z-index:1}
.profile-dossier>small{color:rgba(18,31,28,.70);opacity:1;font-weight:650}
.profile-lines{border-top:1px solid rgba(20,38,34,.18)}
.profile-line-button{
  appearance:none;width:100%;margin:0;border:0;border-bottom:1px solid rgba(20,38,34,.16);border-radius:0;
  background:transparent;color:#17211f;text-align:left;display:grid;grid-template-columns:38px minmax(0,1fr) 24px;
  gap:10px;align-items:start;padding:12px 0;cursor:pointer;position:relative;overflow:hidden;
  transition:padding .28s var(--ease),background .28s ease,color .28s ease,transform .28s var(--ease);
}
.profile-line-button:before{
  content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.52),rgba(255,255,255,.12));
  transform:translateX(-105%);transition:transform .45s var(--ease);pointer-events:none;
}
.profile-line-button>*{position:relative;z-index:1}
.profile-line-button:hover,.profile-line-button:focus-visible{padding-left:10px;padding-right:8px;background:rgba(255,255,255,.22);outline:none}
.profile-line-button:hover:before,.profile-line-button:focus-visible:before{transform:translateX(0)}
.profile-line-button b{font-size:10px;letter-spacing:.15em;color:rgba(20,38,34,.54);opacity:1;padding-top:2px}
.profile-line-button span{display:grid;gap:3px;min-width:0}
.profile-line-button span strong{font-size:14px;line-height:1.25;font-weight:700;color:#15201e;text-shadow:none}
.profile-line-button span em{font-style:normal;font-size:11px;line-height:1.35;color:rgba(20,38,34,.68)}
.profile-line-button i{font-style:normal;font-size:14px;color:rgba(20,38,34,.52);transform:translate(-4px,2px);opacity:.58;transition:transform .3s var(--ease),opacity .3s ease}
.profile-line-button:hover i,.profile-line-button:focus-visible i{transform:translate(0,0);opacity:1}
.profile-quote{color:#16211f!important;text-shadow:none!important;font-weight:590}
.profile-dossier .chip{border-color:rgba(19,37,33,.22);background:rgba(255,255,255,.32);color:rgba(17,31,28,.76)}

/* Expanded dossier topic: same scene, no navigation/reload. */
.profile-topic-view{
  opacity:0;transform:translate3d(0,22px,0) scale(.988);filter:blur(10px);pointer-events:none;
  display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;overflow:hidden;
}
.profile-chapter.is-topic .profile-overview{opacity:0;transform:translate3d(-3vw,-28px,0) scale(.955);filter:blur(18px);pointer-events:none}
.profile-chapter.is-topic .profile-topic-view{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);pointer-events:auto}
.profile-chapter.is-topic .profile-trajectory-view{opacity:0;pointer-events:none}
.profile-chapter.is-topic .profile-ghost{opacity:.08!important;filter:blur(4px)}
.profile-topic-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.22)}
.profile-topic-back{
  appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.42);
  display:inline-flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.76;transition:opacity .22s ease,gap .22s ease
}
.profile-topic-back:hover{opacity:1;gap:14px}
.profile-topic-hint{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.profile-topic-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px 26px 10vh 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.34) transparent;touch-action:pan-y;position:relative}
.profile-topic-scroll::-webkit-scrollbar{width:6px}.profile-topic-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
.profile-topic-panel{display:none;max-width:1120px;margin:0 auto;position:relative;min-height:100%;padding-top:3vh}
.profile-topic-panel.is-active{display:block;animation:profileTopicReveal 1.02s var(--ease) both}
.profile-topic-panel.is-active:after{content:"";position:absolute;left:-10vw;right:-10vw;top:-1vh;height:2px;background:linear-gradient(90deg,transparent,rgba(217,255,115,.94),rgba(255,255,255,.86),transparent);box-shadow:0 0 34px rgba(217,255,115,.32);transform-origin:left;animation:profileTopicSweep .96s var(--ease) both;pointer-events:none}
.profile-topic-number{position:absolute;right:-5vw;top:-10vh;font-size:clamp(220px,35vw,560px);line-height:.76;font-weight:700;letter-spacing:-.11em;color:rgba(255,255,255,.085);pointer-events:none;user-select:none;transform:translate3d(10vw,0,0) scale(.92);animation:profileTopicNumber 1.22s var(--ease) both}
.profile-topic-intro{position:relative;z-index:1;max-width:900px;padding-right:12vw}
.profile-topic-intro .eyebrow{margin-bottom:14px}
.profile-topic-intro h2{font-size:clamp(68px,10.2vw,164px);line-height:.84;letter-spacing:-.068em;margin:0;max-width:1080px}
.profile-topic-summary{font-size:clamp(17px,1.55vw,24px);line-height:1.38;color:rgba(255,255,255,.76);max-width:760px;margin:26px 0 0}
.profile-topic-prose{position:relative;z-index:1;max-width:900px;margin-top:clamp(34px,5vh,72px);font-size:clamp(15px,1.15vw,19px);line-height:1.72;color:rgba(255,255,255,.82)}
.profile-topic-prose .jn-profile-detail-lead{font-family:ui-serif,Georgia,"Times New Roman",serif;font-size:clamp(23px,2.3vw,36px);line-height:1.28;color:#fff;letter-spacing:-.025em;max-width:860px}
.profile-topic-prose h2,.profile-topic-prose h3,.profile-topic-prose h4{color:#fff;letter-spacing:-.035em;line-height:1.08;margin:1.7em 0 .6em}
.profile-topic-prose h2{font-size:clamp(30px,3.2vw,52px)}.profile-topic-prose h3{font-size:clamp(22px,2.1vw,32px)}
.profile-topic-prose p,.profile-topic-prose ul,.profile-topic-prose ol{max-width:820px}
.profile-topic-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.profile-topic-prose img{max-width:100%;height:auto;border-radius:24px}
.profile-topic-prose .wp-block-columns{gap:3vw}
@keyframes profileTopicReveal{0%{opacity:0;transform:translate3d(0,54px,0) scale(.965);filter:blur(22px)}42%{opacity:.72;transform:translate3d(0,12px,0) scale(.992);filter:blur(5px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes profileTopicSweep{0%{opacity:0;transform:scaleX(0)}24%{opacity:1}100%{opacity:0;transform:scaleX(1)}}
@keyframes profileTopicNumber{0%{opacity:0;transform:translate3d(15vw,-2vh,0) scale(.84);filter:blur(24px)}55%{opacity:.72;filter:blur(5px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}

/* Resistance is visible and progressive: the gesture must be sustained. */
.profile-trajectory-scroll.edge-resistance:after,.profile-topic-scroll.edge-resistance:after{
  content:"Mantén el gesto para cambiar de sección";position:sticky;display:block;bottom:8px;margin:24px auto 0;width:max-content;max-width:92%;padding:9px 13px 9px 34px;
  border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(7,13,15,.58);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.72);box-shadow:0 8px 28px rgba(0,0,0,.18)
}
.profile-trajectory-scroll.edge-resistance:before,.profile-topic-scroll.edge-resistance:before{
  content:"";position:sticky;display:block;z-index:3;bottom:18px;margin:0 auto -31px;transform:translateX(-73px);width:17px;height:17px;border-radius:50%;
  background:conic-gradient(var(--accent) calc(var(--edge-progress,0)*1turn),rgba(255,255,255,.16) 0);box-shadow:inset 0 0 0 5px rgba(7,13,15,.72)
}

@media(max-height:820px) and (min-width:901px){
  .profile-line-button{padding:8px 0}.profile-line-button span strong{font-size:13px}.profile-line-button span em{font-size:10px}
  .profile-topic-panel{padding-top:1vh}.profile-topic-intro h2{font-size:clamp(48px,6.6vw,88px)}.profile-topic-summary{margin-top:16px;font-size:16px}.profile-topic-prose{margin-top:24px;font-size:14px;line-height:1.58}
}
@media(max-width:900px){
  .profile-dossier{background:linear-gradient(142deg,rgba(244,250,248,.88),rgba(218,233,229,.76));-webkit-backdrop-filter:blur(44px) saturate(80%);backdrop-filter:blur(44px) saturate(80%)}
  .profile-line-button{grid-template-columns:36px minmax(0,1fr) 22px;padding:12px 0}
  .profile-topic-view{gap:12px}.profile-topic-head{align-items:flex-start;flex-direction:column;gap:10px}.profile-topic-hint{display:none}
  .profile-topic-scroll{padding-right:8px;padding-bottom:12vh}.profile-topic-panel{padding-top:3vh}.profile-topic-number{right:-12vw;top:-1vh;font-size:clamp(170px,52vw,340px)}
  .profile-topic-intro{padding-right:4vw}.profile-topic-intro h2{font-size:clamp(52px,13vw,88px)}.profile-topic-summary{font-size:17px;margin-top:20px}.profile-topic-prose{font-size:15px;line-height:1.65;margin-top:34px}
}
@media(max-width:560px){
  .profile-dossier{border-radius:25px;padding:19px 18px}.profile-line-button{grid-template-columns:32px minmax(0,1fr) 20px;padding:11px 0}.profile-line-button span strong{font-size:13px}.profile-line-button span em{font-size:10.5px}
  .profile-topic-intro h2{font-size:clamp(46px,14.5vw,70px)}.profile-topic-summary{font-size:15px;line-height:1.45}.profile-topic-prose .jn-profile-detail-lead{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.profile-topic-panel.is-active,.profile-topic-panel.is-active:after,.profile-topic-number{animation:none!important}}

/* ===== V1.0.10: deterministic Profile resistance + visible topic transition ===== */
/* The old pseudo notice is retired; one persistent indicator is used instead. */
.profile-trajectory-scroll.edge-resistance:before,
.profile-trajectory-scroll.edge-resistance:after,
.profile-topic-scroll.edge-resistance:before,
.profile-topic-scroll.edge-resistance:after{content:none!important;display:none!important}

.profile-edge-indicator{
  --edge-progress:0;
  position:absolute;left:50%;bottom:76px;z-index:32;
  display:flex;align-items:center;gap:11px;
  padding:10px 15px 10px 11px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(8,15,17,.66);
  -webkit-backdrop-filter:blur(24px) saturate(125%);backdrop-filter:blur(24px) saturate(125%);
  box-shadow:0 16px 50px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10);
  color:rgba(255,255,255,.82);font-size:9px;letter-spacing:.13em;text-transform:uppercase;
  opacity:0;visibility:hidden;transform:translate3d(-50%,12px,0) scale(.97);
  transition:opacity .22s ease,transform .28s var(--ease),visibility .22s;
  pointer-events:none;white-space:nowrap
}
.profile-edge-indicator.is-visible{opacity:1;visibility:visible;transform:translate3d(-50%,0,0) scale(1)}
.profile-edge-indicator i{width:20px;height:20px;border-radius:50%;flex:0 0 20px;background:conic-gradient(var(--accent) calc(var(--edge-progress)*1turn),rgba(255,255,255,.16) 0);box-shadow:inset 0 0 0 6px rgba(8,15,17,.88),0 0 18px rgba(217,255,115,.10)}

/* The expanded-profile change is a visible cinematic beat, not an instant swap. */
.profile-chapter .profile-overview{
  transition:opacity .92s cubic-bezier(.2,.72,.2,1),transform 1.05s cubic-bezier(.2,.72,.2,1),filter .92s cubic-bezier(.2,.72,.2,1)
}
.profile-topic-view{
  opacity:0!important;transform:translate3d(0,54px,0) scale(.965)!important;filter:blur(24px)!important;
  transition:opacity 1.05s cubic-bezier(.18,.76,.18,1),transform 1.12s cubic-bezier(.18,.76,.18,1),filter 1.05s cubic-bezier(.18,.76,.18,1)!important
}
.profile-chapter.is-topic-opening .profile-overview{opacity:.28;transform:translate3d(-2.6vw,-16px,0) scale(.975);filter:blur(11px)}
.profile-chapter.is-topic .profile-overview{opacity:0;transform:translate3d(-5vw,-34px,0) scale(.945);filter:blur(22px);pointer-events:none}
.profile-chapter.is-topic .profile-topic-view{
  opacity:1!important;transform:translate3d(0,0,0) scale(1)!important;filter:blur(0)!important;pointer-events:auto;
  transition-delay:.16s,.16s,.16s!important
}
.profile-chapter.is-topic-closing .profile-overview{transition-delay:.12s}

/* Panel content is staged with transitions, so it remains visible even when the
   OS disables CSS keyframe animation. */
.profile-topic-panel.is-active{display:block;animation:none!important;opacity:1;transform:none;filter:none}
.profile-topic-panel.is-active:after{animation:none!important;opacity:0;transform:scaleX(.08);transition:opacity .38s ease,transform 1.05s cubic-bezier(.12,.74,.18,1)}
.profile-topic-number{animation:none!important;opacity:0;transform:translate3d(12vw,-1vh,0) scale(.88);filter:blur(26px);transition:opacity 1.15s ease .18s,transform 1.35s cubic-bezier(.12,.78,.16,1) .08s,filter 1.15s ease .12s}
.profile-topic-intro{opacity:0;transform:translate3d(0,34px,0);filter:blur(14px);transition:opacity .95s ease .34s,transform 1.05s cubic-bezier(.18,.76,.18,1) .28s,filter .95s ease .30s}
.profile-topic-prose{opacity:0;transform:translate3d(0,30px,0);filter:blur(10px);transition:opacity .90s ease .58s,transform 1.05s cubic-bezier(.18,.76,.18,1) .52s,filter .90s ease .54s}
.profile-chapter.is-topic .profile-topic-panel.is-active:after{opacity:1;transform:scaleX(1)}
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-number{opacity:.82;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-intro{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-prose{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}

.profile-topic-transition{
  position:absolute;inset:0;z-index:24;overflow:hidden;pointer-events:none;
  display:grid;align-content:center;padding:0 clamp(34px,7vw,120px);
  opacity:0;visibility:hidden;filter:blur(16px);transform:scale(.965);
  background:linear-gradient(90deg,rgba(4,10,12,.24),rgba(4,10,12,.06) 62%,transparent);
  transition:opacity .48s ease,filter .72s ease,transform .9s cubic-bezier(.12,.78,.16,1),visibility .48s
}
.profile-topic-transition.is-visible{opacity:1;visibility:visible;filter:blur(0);transform:scale(1)}
.profile-topic-transition.is-receding{opacity:0;filter:blur(14px);transform:scale(1.035);transition-duration:.62s,.72s,.8s,.62s}
.profile-topic-transition strong{
  position:absolute;right:-2vw;top:50%;transform:translate3d(10vw,-50%,0) scale(.88);
  font-size:clamp(280px,48vw,760px);line-height:.68;letter-spacing:-.12em;font-weight:720;
  color:rgba(255,255,255,.10);text-shadow:0 0 80px rgba(255,255,255,.035);
  opacity:0;filter:blur(24px);
  transition:opacity .78s ease .06s,transform 1.10s cubic-bezier(.12,.80,.16,1),filter .86s ease
}
.profile-topic-transition span{
  position:relative;z-index:2;display:block;max-width:1050px;
  font-size:clamp(58px,8.8vw,148px);line-height:.84;letter-spacing:-.07em;font-weight:640;
  opacity:0;transform:translate3d(0,42px,0);filter:blur(16px);
  transition:opacity .72s ease .16s,transform .92s cubic-bezier(.16,.78,.18,1) .10s,filter .74s ease .12s
}
.profile-topic-transition-line{position:absolute;left:7vw;right:7vw;top:50%;height:1px;z-index:1;transform:scaleX(.04);transform-origin:left;background:linear-gradient(90deg,transparent,var(--accent),rgba(255,255,255,.78),transparent);opacity:0;box-shadow:0 0 34px rgba(217,255,115,.30);transition:transform 1.05s cubic-bezier(.12,.80,.16,1),opacity .34s ease}
.profile-topic-transition.is-visible strong{opacity:1;transform:translate3d(0,-50%,0) scale(1);filter:blur(0)}
.profile-topic-transition.is-visible span{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.profile-topic-transition.is-visible .profile-topic-transition-line{transform:scaleX(1);opacity:.92}
.profile-topic-transition.is-receding strong{opacity:.15;transform:translate3d(-3vw,-50%,0) scale(1.08)}
.profile-topic-transition.is-receding span{opacity:0;transform:translate3d(0,-24px,0);filter:blur(10px)}

.profile-chapter.is-profile-exiting .profile-topic-view,.profile-chapter.is-profile-exiting .profile-trajectory-view{filter:blur(5px);opacity:.82;transition:opacity .32s ease,filter .32s ease}

@media(max-width:900px){
  .profile-edge-indicator{bottom:68px;max-width:calc(100vw - 32px);white-space:normal;text-align:center}
  .profile-topic-transition{padding:0 24px}.profile-topic-transition strong{font-size:clamp(210px,68vw,520px);right:-16vw}.profile-topic-transition span{font-size:clamp(50px,13vw,92px)}
}
@media(max-width:560px){
  .profile-edge-indicator{font-size:8px;letter-spacing:.10em;padding-right:12px}.profile-edge-indicator i{width:18px;height:18px;flex-basis:18px}
  .profile-topic-transition strong{font-size:clamp(190px,82vw,390px);right:-24vw}.profile-topic-transition span{font-size:clamp(46px,14vw,74px)}
}


/* ===== V1.0.11 · Perfil: single-title morph + quicker chapter settling =====
   The expanded profile now animates the real h2/number into their final positions.
   No duplicate title overlay is rendered, removing the multi-frame visual jump. */
.profile-topic-transition{display:none!important}
.profile-chapter.is-topic-preflight .profile-topic-view,
.profile-chapter.is-topic-opening .profile-topic-view{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
  pointer-events:none!important;
}
.profile-chapter.is-topic-preflight .profile-topic-head,
.profile-chapter.is-topic-opening .profile-topic-head{
  opacity:0;transform:translate3d(0,-10px,0);pointer-events:none
}
.profile-topic-head{transition:opacity .42s ease,transform .52s cubic-bezier(.18,.76,.18,1)}
.profile-chapter.is-topic .profile-topic-head{opacity:1;transform:none}

/* Keep the panel itself present while the real title performs the opening morph. */
.profile-chapter.is-topic-preflight .profile-topic-panel.is-active,
.profile-chapter.is-topic-opening .profile-topic-panel.is-active{display:block!important}
.profile-topic-panel.is-active .profile-topic-intro{
  opacity:1!important;transform:none!important;filter:none!important
}
.profile-topic-panel.is-active .profile-topic-intro .eyebrow{
  opacity:0;transform:translate3d(0,14px,0);filter:blur(7px);
  transition:opacity .48s ease .30s,transform .58s cubic-bezier(.18,.76,.18,1) .25s,filter .48s ease .26s
}
.profile-topic-panel.is-active .profile-topic-intro h2{
  opacity:0;
  transform:translate3d(0,28px,0) scale(1.38);
  transform-origin:left center;
  filter:blur(20px);
  transition:opacity .74s cubic-bezier(.18,.72,.2,1),transform .88s cubic-bezier(.12,.78,.16,1),filter .72s ease
}
.profile-topic-panel.is-active .profile-topic-summary{
  opacity:0;transform:translate3d(0,24px,0);filter:blur(10px);
  transition:opacity .62s ease .08s,transform .72s cubic-bezier(.18,.76,.18,1) .04s,filter .62s ease .04s
}
.profile-topic-panel.is-active .profile-topic-prose{
  opacity:0;transform:translate3d(0,26px,0);filter:blur(9px);
  transition:opacity .72s ease .18s,transform .82s cubic-bezier(.18,.76,.18,1) .12s,filter .72s ease .12s
}
.profile-topic-panel.is-active .profile-topic-number{
  opacity:0;
  transform:translate3d(14vw,-2vh,0) scale(1.34);
  filter:blur(24px);
  transition:opacity .78s ease,transform .94s cubic-bezier(.12,.80,.16,1),filter .76s ease
}
.profile-topic-panel.is-active:after{
  opacity:0;transform:scaleX(.03);
  transition:opacity .30s ease .08s,transform .88s cubic-bezier(.12,.80,.16,1) .06s
}

/* Opening beat: title and number visibly travel into the exact final layout. */
.profile-chapter.is-topic-opening .profile-topic-panel.is-active .profile-topic-number,
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-number{
  opacity:.82;transform:translate3d(0,0,0) scale(1);filter:blur(0)
}
.profile-chapter.is-topic-opening .profile-topic-panel.is-active .profile-topic-intro h2,
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-intro h2{
  opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)
}
.profile-chapter.is-topic-opening .profile-topic-panel.is-active .profile-topic-intro .eyebrow,
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-intro .eyebrow{
  opacity:1;transform:none;filter:blur(0)
}
.profile-chapter.is-topic-opening .profile-topic-panel.is-active:after,
.profile-chapter.is-topic .profile-topic-panel.is-active:after{
  opacity:1;transform:scaleX(1)
}

/* Supporting copy waits until the title has settled; it does not replace it. */
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-summary,
.profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-prose{
  opacity:1;transform:none;filter:blur(0)
}

@media(max-width:900px){
  .profile-topic-panel.is-active .profile-topic-intro h2{transform:translate3d(0,22px,0) scale(1.22)}
  .profile-chapter.is-topic-opening .profile-topic-panel.is-active .profile-topic-intro h2,
  .profile-chapter.is-topic .profile-topic-panel.is-active .profile-topic-intro h2{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .profile-topic-panel.is-active .profile-topic-intro h2,
  .profile-topic-panel.is-active .profile-topic-number,
  .profile-topic-panel.is-active .profile-topic-summary,
  .profile-topic-panel.is-active .profile-topic-prose{transition-duration:.01ms!important;transition-delay:0ms!important}
}


/* =========================================================
   V1.0.12 · Áreas — production polish, staggered reveal,
   responsive frosted cards and tactile mobile carousel
   ========================================================= */
#areas{--areas-glass:.16;--areas-focus-x:50%;--areas-focus-y:50%}
.bg-layer.data video{object-position:var(--areas-focus-x,50%) var(--areas-focus-y,50%)}
.bg-layer.data:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:rgba(3,10,13,var(--areas-extra-dim,.13))}
#areas .content{justify-content:flex-end}
#areas .areas-intro{max-width:980px}
#areas .areas-intro h2{max-width:920px}
#areas .areas-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:38px;
  perspective:1400px;position:relative;z-index:4
}
#areas .area-card{
  --area-reveal:1;--area-accent:#d9ff73;
  appearance:none;text-align:left;color:#fff;position:relative;isolation:isolate;overflow:hidden;
  min-height:242px;border:1px solid rgba(226,246,247,.28);border-radius:28px;padding:23px;
  background:
    linear-gradient(145deg,rgba(211,235,238,var(--areas-glass)) 0%,rgba(116,158,166,var(--areas-glass)) 100%);
  -webkit-backdrop-filter:blur(28px) saturate(112%);backdrop-filter:blur(28px) saturate(112%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.27),0 24px 72px rgba(0,0,0,.12);
  opacity:var(--area-opacity,1);
  transform:translate3d(0,var(--area-y,0px),0) scale(var(--area-scale,1));
  filter:blur(var(--area-blur,0px));
  transition:background .42s var(--ease),border-color .42s ease,box-shadow .42s var(--ease),transform .42s var(--ease),opacity .42s ease,filter .42s ease;
  cursor:pointer
}
#areas .area-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 22% 0%,rgba(255,255,255,.27),transparent 35%),linear-gradient(118deg,rgba(255,255,255,.12),transparent 42% 76%,rgba(255,255,255,.05));opacity:.62;transition:opacity .35s ease}
#areas .area-card:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--area-accent),rgba(255,255,255,.85),transparent);opacity:.45;transform:scaleX(.58);transform-origin:left;transition:transform .48s var(--ease),opacity .35s ease}
#areas .area-card small{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.17em;color:rgba(255,255,255,.62);opacity:1}
#areas .area-card small i{font-style:normal;font-size:18px;line-height:1;color:var(--area-accent);opacity:.55;transform:translateX(-5px);transition:opacity .3s ease,transform .3s var(--ease)}
#areas .area-card h3{font-size:clamp(24px,2vw,34px);letter-spacing:-.045em;margin:52px 0 13px;line-height:1.02;max-width:12ch}
#areas .area-card p{font-size:13px;line-height:1.48;color:rgba(255,255,255,.73);margin:0;max-width:30ch}
#areas .area-card .area-symbol{position:absolute;right:17px;bottom:13px;font-size:clamp(38px,4vw,66px);font-weight:650;letter-spacing:-.08em;color:rgba(255,255,255,.055);line-height:1;pointer-events:none;transition:color .35s ease,transform .45s var(--ease)}
#areas .areas-grid.has-active .area-card:not(.is-active){opacity:.36;filter:blur(1.2px) saturate(.72);transform:scale(.982)}
#areas .area-card:hover,#areas .area-card:focus-visible,#areas .area-card.is-active{
  outline:none;background:linear-gradient(145deg,rgba(223,243,244,calc(var(--areas-glass) + .12)) 0%,rgba(116,165,172,calc(var(--areas-glass) + .06)) 100%);
  border-color:rgba(235,255,255,.54);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 28px 90px rgba(0,0,0,.18);transform:translate3d(0,-8px,0) scale(1.012);filter:none;opacity:1
}
#areas .area-card:hover:after,#areas .area-card:focus-visible:after,#areas .area-card.is-active:after{transform:scaleX(1);opacity:.9}
#areas .area-card:hover small i,#areas .area-card:focus-visible small i,#areas .area-card.is-active small i{opacity:1;transform:translateX(0)}
#areas .area-card:hover .area-symbol,#areas .area-card:focus-visible .area-symbol,#areas .area-card.is-active .area-symbol{color:var(--area-accent);opacity:.22;transform:translate3d(-4px,-4px,0) scale(1.08)}
#areas .ghost-word{opacity:calc(.035 + var(--presence)*.14)}

@media(max-width:1100px) and (min-width:561px){
  #areas .content{padding-top:92px;padding-bottom:88px}
  #areas .areas-intro h2{font-size:clamp(50px,7vw,82px)}
  #areas .areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:25px;max-width:930px}
  #areas .area-card{min-height:168px;padding:18px 20px;border-radius:24px}
  #areas .area-card h3{margin-top:25px;font-size:clamp(22px,3vw,31px);max-width:none}
  #areas .area-card p{font-size:12.5px;max-width:46ch}
}
@media(max-height:790px) and (min-width:901px){
  #areas .content{padding-top:90px;padding-bottom:82px}
  #areas .areas-intro h2{font-size:clamp(48px,6vw,78px)}
  #areas .areas-grid{margin-top:24px}
  #areas .area-card{min-height:184px;padding:18px 20px}
  #areas .area-card h3{margin-top:30px;font-size:clamp(21px,1.8vw,29px)}
  #areas .area-card p{font-size:12px}
}
@media(max-width:560px){
  #areas .content{padding-left:18px;padding-right:0;padding-bottom:82px;justify-content:center}
  #areas .areas-intro{padding-right:20px}
  #areas .areas-intro .eyebrow{margin-bottom:14px}
  #areas .areas-intro h2{font-size:clamp(47px,14vw,72px);max-width:92vw}
  #areas .areas-grid{
    display:flex;gap:11px;margin-top:28px;width:100vw;overflow-x:auto;overflow-y:hidden;padding:3px 18vw 17px 0;
    scroll-snap-type:x mandatory;scroll-padding-left:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scrollbar-width:none;touch-action:pan-x
  }
  #areas .areas-grid::-webkit-scrollbar{display:none}
  #areas .area-card{flex:0 0 78vw;min-height:300px;padding:22px;border-radius:28px;scroll-snap-align:start}
  #areas .area-card h3{font-size:clamp(28px,8vw,38px);margin-top:70px;max-width:11ch}
  #areas .area-card p{font-size:13px;max-width:31ch}
  #areas .area-card .area-symbol{font-size:72px}
  #areas .areas-grid.has-active .area-card:not(.is-active){opacity:.62;filter:none;transform:none}
}
@media(prefers-reduced-motion:reduce){#areas .area-card{filter:none!important;transform:none!important;transition:background .2s ease,border-color .2s ease!important}}


/* Áreas · V1.0.13 cinematic expansion */
#areas .area-card small i{font-size:0}
#areas .area-card small i:after{content:"＋";font-size:18px}
#areas .area-card{cursor:pointer}
#areas .area-card h3,#areas .area-card p,#areas .area-card small,#areas .area-symbol{transition:transform .42s var(--ease),opacity .35s ease,color .35s ease}
#areas.is-modal-open .areas-intro,#areas.is-modal-open .areas-grid,#areas.is-modal-open>.ghost-word{filter:blur(13px);opacity:.17;transform:scale(.975);transition:filter .55s var(--ease),opacity .45s ease,transform .55s var(--ease)}
.area-modal{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:clamp(76px,8vh,110px) clamp(22px,5vw,80px) clamp(62px,7vh,90px);pointer-events:none;visibility:hidden}
.area-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(3,8,10,0);backdrop-filter:blur(0px) saturate(100%);-webkit-backdrop-filter:blur(0px) saturate(100%);cursor:default;transition:background .65s ease,backdrop-filter .65s ease}
.area-modal-shell{position:relative;width:min(1240px,86vw);height:min(760px,78vh);overflow:hidden;border-radius:38px;border:1px solid rgba(255,255,255,.38);background:linear-gradient(145deg,rgba(226,240,241,.18),rgba(202,225,228,.12) 48%,rgba(255,255,255,.08));box-shadow:0 60px 140px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.56),inset 0 0 80px rgba(195,235,240,.06);backdrop-filter:blur(34px) saturate(132%);-webkit-backdrop-filter:blur(34px) saturate(132%);opacity:0;transform:translate3d(var(--modal-origin-x,0),var(--modal-origin-y,18px),0) scale(.62);transform-origin:var(--modal-origin,50% 50%);transition:opacity .42s ease,transform .78s cubic-bezier(.16,.86,.2,1),border-color .55s ease,background .55s ease}
.area-modal-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.23),transparent 31%),linear-gradient(112deg,rgba(255,255,255,.09),transparent 35% 68%,rgba(217,255,115,.035));z-index:0}
.area-modal.is-open{visibility:visible;pointer-events:auto}
.area-modal.is-open .area-modal-backdrop{background:rgba(3,8,10,.48);backdrop-filter:blur(15px) saturate(72%);-webkit-backdrop-filter:blur(15px) saturate(72%)}
.area-modal.is-open .area-modal-shell{opacity:1;transform:translate3d(0,0,0) scale(1)}
.area-modal.is-closing .area-modal-shell{opacity:0;transform:translate3d(var(--modal-origin-x,0),var(--modal-origin-y,18px),0) scale(.66)}
.area-modal-top,.area-modal-foot{position:absolute;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:0 30px;letter-spacing:.17em;text-transform:uppercase;font-size:9px;color:rgba(255,255,255,.64)}
.area-modal-top{top:0;height:72px;border-bottom:1px solid rgba(255,255,255,.13)}
.area-modal-foot{bottom:0;height:58px;border-top:1px solid rgba(255,255,255,.11)}
.area-modal-close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:25px;font-weight:250;line-height:1;transition:background .25s ease,transform .25s var(--ease)}
.area-modal-close:hover{background:rgba(255,255,255,.17);transform:rotate(5deg) scale(1.04)}
.area-modal-foot button{border:0;background:transparent;color:#fff;cursor:pointer;font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:10px}
.area-modal-stage{position:absolute;inset:72px 0 58px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.area-modal-panel{display:none;position:relative;min-height:100%;padding:clamp(48px,7vh,78px) clamp(38px,7vw,110px) 72px;isolation:isolate}
.area-modal-panel.is-active{display:block}
.area-modal-number{position:absolute;z-index:-1;right:4%;top:-5%;font-size:clamp(190px,29vw,470px);line-height:.8;letter-spacing:-.11em;font-weight:700;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--area-accent) 52%,rgba(255,255,255,.14));opacity:0;transform:translate3d(8vw,-2vh,0) scale(1.12);transition:opacity .7s .14s ease,transform 1s .08s cubic-bezier(.16,.86,.2,1)}
.area-modal.is-open .area-modal-panel.is-active .area-modal-number{opacity:.32;transform:translate3d(0,0,0) scale(1)}
.area-modal-copy{position:relative;z-index:3;max-width:850px}
.area-modal-index{margin:0 0 18px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--area-accent);opacity:0;transform:translateY(13px);transition:opacity .5s .25s ease,transform .65s .22s var(--ease)}
.area-modal-panel h3{font-size:clamp(54px,7.4vw,118px);line-height:.88;letter-spacing:-.065em;margin:0;max-width:900px;opacity:0;filter:blur(12px);transform:translate3d(0,32px,0) scale(1.035);transform-origin:left center;transition:opacity .7s .2s ease,filter .82s .18s ease,transform .9s .18s cubic-bezier(.16,.86,.2,1)}
.area-modal-keywords{font-size:clamp(14px,1.35vw,20px);line-height:1.45;color:rgba(255,255,255,.72);max-width:760px;margin:25px 0 0;opacity:0;transform:translateY(18px);transition:opacity .62s .42s ease,transform .72s .4s var(--ease)}
.area-modal-rule{width:min(560px,70%);height:1px;margin:31px 0;background:linear-gradient(90deg,var(--area-accent),rgba(255,255,255,.42),transparent);transform:scaleX(0);transform-origin:left;transition:transform .8s .47s var(--ease)}
.area-modal-content{max-width:790px;font-size:clamp(15px,1.15vw,18px);line-height:1.7;color:rgba(255,255,255,.86);opacity:0;transform:translateY(20px);transition:opacity .72s .55s ease,transform .8s .52s var(--ease)}
.area-modal-content h2,.area-modal-content h3,.area-modal-content h4{font-size:clamp(24px,2.4vw,38px);line-height:1.05;letter-spacing:-.035em;margin:1.2em 0 .45em;transform:none;opacity:1}
.area-modal-content a{text-decoration:underline;text-underline-offset:3px}
.area-modal-content img{max-width:100%;height:auto;border-radius:20px}
.area-modal-symbol{position:absolute;right:6%;bottom:8%;font-size:clamp(90px,11vw,180px);font-weight:700;line-height:1;color:var(--area-accent);opacity:.09;pointer-events:none}
.area-modal.is-open .area-modal-panel.is-active .area-modal-index,
.area-modal.is-open .area-modal-panel.is-active h3,
.area-modal.is-open .area-modal-panel.is-active .area-modal-keywords,
.area-modal.is-open .area-modal-panel.is-active .area-modal-content{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}
.area-modal.is-open .area-modal-panel.is-active .area-modal-rule{transform:scaleX(1)}
.area-modal-scan{position:absolute;z-index:10;top:0;bottom:0;left:-18%;width:16%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),color-mix(in srgb,var(--accent) 35%,transparent),rgba(255,255,255,.11),transparent);filter:blur(7px);opacity:0}
.area-modal.is-open .area-modal-scan{animation:areaModalScan .9s .08s cubic-bezier(.16,.86,.2,1) both}
@keyframes areaModalScan{0%{left:-18%;opacity:0}18%{opacity:.9}100%{left:112%;opacity:0}}
@media(max-width:900px){
 .area-modal{padding:74px 24px 64px}.area-modal-shell{width:92vw;height:82vh;border-radius:30px}.area-modal-panel{padding:44px 34px 66px}.area-modal-number{font-size:clamp(170px,42vw,340px)}.area-modal-panel h3{font-size:clamp(48px,9vw,82px)}
}
@media(max-width:600px){
 .area-modal{padding:68px 10px 12px}.area-modal-shell{width:calc(100vw - 20px);height:calc(100vh - 84px);border-radius:26px}.area-modal-top{height:62px;padding:0 18px}.area-modal-stage{inset:62px 0 52px}.area-modal-foot{height:52px;padding:0 18px}.area-modal-foot>span{display:none}.area-modal-panel{padding:34px 22px 60px}.area-modal-number{right:-5%;top:0;font-size:55vw}.area-modal-panel h3{font-size:clamp(43px,13vw,70px)}.area-modal-keywords{font-size:14px}.area-modal-content{font-size:15px}.area-modal-symbol{font-size:28vw}
}
@media(prefers-reduced-motion:reduce){.area-modal-shell,.area-modal-number,.area-modal-index,.area-modal-panel h3,.area-modal-keywords,.area-modal-rule,.area-modal-content{transition-duration:.18s!important}.area-modal-scan{display:none}}

/* Proyectos · V1.0.14 */
.project-chapter .content{max-width:none}.project-scene{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(620px,1.65fr);gap:clamp(34px,5vw,90px);align-items:center}.project-head{max-width:620px;position:relative;z-index:4}.project-head h2{font-size:clamp(62px,7.1vw,126px)}
.project-lab{position:relative;height:min(66vh,690px);min-height:520px;display:grid;align-items:center;perspective:1500px;isolation:isolate}.project-deck{position:absolute;inset:0;overflow:visible;touch-action:pan-y}
.project-card{position:absolute;left:50%;top:50%;width:min(38vw,590px);height:min(60vh,620px);border:1px solid rgba(255,255,255,.25);border-radius:36px;overflow:hidden;background:rgba(7,14,17,.48);box-shadow:0 40px 100px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.25);backdrop-filter:blur(28px) saturate(115%);transform:translate3d(calc(-50% + var(--slot)*44%),-50%,0) rotateY(calc(var(--slot)*-7deg)) scale(calc(1 - min(abs(var(--slot)),2)*.12));opacity:calc(1 - min(abs(var(--slot)),2)*.34);transition:transform .72s cubic-bezier(.16,.86,.2,1),opacity .55s ease,filter .55s ease,box-shadow .55s ease;z-index:10;filter:blur(calc(max(abs(var(--slot)) - .25,0)*1.5px));cursor:grab}.project-card.is-current{z-index:15;box-shadow:0 55px 130px rgba(0,0,0,.42),0 0 0 1px color-mix(in srgb,var(--project-accent) 24%,transparent),inset 0 1px rgba(255,255,255,.3)}
.project-media{position:absolute;inset:0;overflow:hidden}.project-media video,.project-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform 1s var(--ease)}.project-card.is-current .project-media video,.project-card.is-current .project-media img{transform:scale(1)}.project-media-placeholder{position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,color-mix(in srgb,var(--project-accent) 30%,transparent),transparent 30%),linear-gradient(145deg,#152127,#071013 68%);display:grid;place-items:center}.project-media-placeholder span{font-size:clamp(180px,24vw,390px);font-weight:700;letter-spacing:-.12em;color:rgba(255,255,255,.045);-webkit-text-stroke:1px color-mix(in srgb,var(--project-accent) 40%,transparent)}.project-media-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,9,.06) 10%,rgba(2,7,9,.32) 43%,rgba(2,7,9,.94) 100%)}
.project-card-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:32px 34px 30px;transform:translateY(10px);transition:transform .55s var(--ease)}.project-card.is-current .project-card-copy{transform:none}.project-index,.project-tech{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--project-accent)}.project-card h3{font-size:clamp(38px,4.2vw,68px);line-height:.92;letter-spacing:-.06em;margin:10px 0 12px}.project-tech{letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:13px}.project-summary{font-size:13px;line-height:1.5;color:rgba(255,255,255,.76);max-width:460px}
.project-facts{display:flex;gap:30px;margin-top:18px}.project-facts span{font-size:11px;color:rgba(255,255,255,.84)}.project-facts small{display:block;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:4px}.project-explore{margin-top:20px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;padding:11px 15px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}.project-card.is-current .project-explore{opacity:1;transform:none}
.project-nav{position:absolute;z-index:20;top:50%;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(7,14,17,.38);backdrop-filter:blur(14px);color:#fff;cursor:pointer;transform:translateY(-50%);font-size:17px}.project-prev{left:-12px}.project-next{right:-12px}.project-nav:disabled{opacity:.2}.project-dots{position:absolute;z-index:20;bottom:2px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.project-dot{width:6px;height:6px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.28);cursor:pointer;transition:.3s}.project-dot.is-active{width:24px;border-radius:6px;background:var(--dot-accent,#fff)}
.project-detail{position:absolute;inset:0;z-index:35;visibility:hidden;pointer-events:none}.project-detail-backdrop{position:absolute;inset:0;border:0;background:rgba(2,7,9,0);backdrop-filter:blur(0);transition:.65s}.project-detail-shell{position:absolute;inset:5vh 4vw 4vh;border:1px solid rgba(255,255,255,.25);border-radius:40px;background:linear-gradient(145deg,rgba(10,20,24,.84),rgba(6,13,16,.76));box-shadow:0 60px 150px rgba(0,0,0,.45);backdrop-filter:blur(38px) saturate(120%);opacity:0;transform:scale(.72) translateY(30px);transform-origin:var(--project-origin,50% 50%);transition:opacity .42s,transform .82s cubic-bezier(.16,.86,.2,1);overflow:hidden}.project-detail.is-open{visibility:visible;pointer-events:auto}.project-detail.is-open .project-detail-backdrop{background:rgba(2,7,9,.55);backdrop-filter:blur(16px)}.project-detail.is-open .project-detail-shell{opacity:1;transform:scale(1)}
.project-detail-top{position:absolute;z-index:5;left:0;right:0;top:0;height:70px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.58)}.project-detail-top button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:#fff;font-size:24px;cursor:pointer}.project-detail-scroll{position:absolute;inset:70px 0 0;overflow-y:auto;overscroll-behavior:contain}.project-detail-panel{display:none;position:relative;min-height:100%;padding:clamp(54px,8vh,92px) clamp(38px,9vw,150px) 100px}.project-detail-panel.is-active{display:block}.project-detail-number{position:absolute;right:4%;top:-2%;font-size:clamp(230px,34vw,550px);line-height:.8;font-weight:700;letter-spacing:-.12em;color:rgba(255,255,255,.035);-webkit-text-stroke:1px color-mix(in srgb,var(--project-accent) 34%,transparent);pointer-events:none;opacity:0;transform:translateX(8vw) scale(1.08);transition:1s .12s var(--ease)}.project-detail.is-open .project-detail-panel.is-active .project-detail-number{opacity:.4;transform:none}
.project-detail-index,.project-detail-tech{position:relative;z-index:2;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--project-accent)}.project-detail-panel h3{position:relative;z-index:2;font-size:clamp(66px,10vw,158px);line-height:.84;letter-spacing:-.075em;margin:14px 0 22px;max-width:1000px}.project-detail-tech{color:rgba(255,255,255,.68)}.project-detail-facts{position:relative;z-index:2;display:flex;gap:50px;margin:30px 0}.project-detail-facts small{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.17em;color:rgba(255,255,255,.42);margin-bottom:5px}.project-detail-rule{height:1px;width:min(680px,72%);background:linear-gradient(90deg,var(--project-accent),rgba(255,255,255,.3),transparent);margin:35px 0}.project-detail-content{position:relative;z-index:2;max-width:860px;font-size:clamp(16px,1.2vw,19px);line-height:1.72;color:rgba(255,255,255,.84)}.project-detail-content h2,.project-detail-content h3{font-size:clamp(28px,3vw,46px);line-height:1;letter-spacing:-.04em;margin:1.4em 0 .5em}.project-detail-content img{max-width:100%;height:auto;border-radius:22px}.project-detail-links{display:flex;gap:12px;margin-top:40px}.project-detail-links a{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:12px 16px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}#proyectos.is-detail-open .project-scene{opacity:.13;filter:blur(15px);transform:scale(.975);transition:.55s var(--ease)}
@media(max-width:1100px){.project-scene{grid-template-columns:.7fr 1.3fr;gap:30px}.project-card{width:min(48vw,540px)}}@media(max-width:900px){.project-scene{display:block}.project-lab{height:55vh;min-height:450px;margin-top:20px}.project-card{width:68vw;height:48vh}.project-prev{left:2px}.project-next{right:2px}.project-detail-shell{inset:4vh 3vw 3vh}.project-detail-panel{padding:48px 42px 90px}}@media(max-width:600px){.project-head h2{font-size:clamp(48px,14vw,72px)}.project-thesis{font-size:13px}.project-lab{height:53vh;min-height:420px}.project-card{width:78vw;height:46vh;border-radius:28px}.project-card-copy{padding:24px 22px}.project-card h3{font-size:40px}.project-summary{font-size:12px}.project-facts{display:none}.project-nav{width:38px;height:38px}.project-detail-shell{inset:68px 10px 10px;border-radius:28px}.project-detail-top{height:60px;padding:0 18px}.project-detail-scroll{inset:60px 0 0}.project-detail-panel{padding:36px 22px 70px}.project-detail-panel h3{font-size:clamp(52px,15vw,78px)}.project-detail-number{font-size:55vw}.project-detail-facts{gap:26px}}

/* V1.0.22: only dossier containment fix; visual V1.0.14 remains intact */
body > .project-detail{position:fixed;inset:0;z-index:100000}
body > .project-detail .project-detail-shell{color:#fff}
body > .project-detail .project-detail-content{color:rgba(255,255,255,.84)}

/* V1.0.23 · dossier edge resistance; background scene remains locked */
body > .project-detail .project-detail-shell{transition:opacity .42s,transform .82s cubic-bezier(.16,.86,.2,1)}
body > .project-detail .project-detail-scroll.project-edge-bottom .project-detail-panel.is-active{animation:projectEdgeBottom .34s cubic-bezier(.2,.8,.2,1)}
body > .project-detail .project-detail-scroll.project-edge-top .project-detail-panel.is-active{animation:projectEdgeTop .34s cubic-bezier(.2,.8,.2,1)}
@keyframes projectEdgeBottom{0%{transform:translateY(0)}42%{transform:translateY(-14px)}100%{transform:translateY(0)}}
@keyframes projectEdgeTop{0%{transform:translateY(0)}42%{transform:translateY(14px)}100%{transform:translateY(0)}}

/* V1.0.24 · Áreas + Proyectos reuse Perfil's exact resistance indicator/threshold model */
.area-edge-indicator,.project-edge-indicator{position:fixed!important;left:50%!important;bottom:76px!important;z-index:2147483640!important}
.area-modal.is-edge-exiting .area-modal-shell,
body > .project-detail.is-edge-exiting .project-detail-shell{filter:blur(5px);opacity:.82;transition:opacity .32s ease,filter .32s ease}
@media(max-width:900px){.area-edge-indicator,.project-edge-indicator{bottom:68px!important;max-width:calc(100vw - 32px)}}

/* V1.0.25 · Project dossier: white scrollbar */
body > .project-detail .project-detail-scroll{
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.92) rgba(255,255,255,.10);
}
body > .project-detail .project-detail-scroll::-webkit-scrollbar{width:8px}
body > .project-detail .project-detail-scroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08);
  border-radius:999px;
}
body > .project-detail .project-detail-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.94);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
body > .project-detail .project-detail-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,1);
  background-clip:padding-box;
}

/* Obra publicada V1.0.26 */
.works-scene{width:min(1440px,92vw);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:18px}.works-head h2{font-size:clamp(44px,5.5vw,82px);line-height:.92;margin:7px 0 12px}.works-head>p{color:#ffffff9c}.works-toolbar{display:grid;grid-template-columns:minmax(240px,360px) 1fr auto;gap:16px;align-items:center;padding:11px 0;border-block:1px solid #ffffff1c;font-size:10px;letter-spacing:.12em}.works-toolbar label{display:flex;gap:10px;align-items:center}.works-toolbar input{width:100%;background:transparent;border:0;border-bottom:1px solid #ffffff40;color:#fff;padding:7px;outline:0}#worksFilters{display:flex;gap:6px;overflow:auto;scrollbar-width:none}#worksFilters button{white-space:nowrap;border:1px solid #ffffff24;border-radius:99px;background:#ffffff0a;color:#ffffff99;padding:7px 10px;text-transform:uppercase;font-size:9px}#worksFilters button.is-active{background:#fff;color:#111}.works-toolbar>span{white-space:nowrap;color:#ffffff80}.works-toolbar b{font-size:18px;color:#fff}.works-archive{min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:30px;overflow:hidden}.works-list{overflow:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#fff transparent}.works-year{position:sticky;top:0;z-index:2;padding:12px 0 6px;background:#090b0fe8;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff1c}.works-year strong{font-size:25px}.work-row{width:100%;display:grid;grid-template-columns:38px 1fr 145px 20px;gap:10px;align-items:center;text-align:left;padding:12px 5px;border:0;border-bottom:1px solid #ffffff12;background:transparent;color:#fff;transition:.22s}.work-row:hover,.work-row:focus{background:#ffffff12;padding-left:12px}.work-row span,.work-row small{font-size:9px;color:#ffffff70;text-transform:uppercase;letter-spacing:.1em}.work-row b{font-size:14px;font-weight:500}.work-row i{font-style:normal;opacity:.4}.works-preview{position:relative;border-left:1px solid #ffffff20;padding:25px 0 25px 30px}.works-preview article{height:100%;display:flex;flex-direction:column;justify-content:flex-end}.preview-year{font-size:clamp(85px,10vw,155px);font-weight:800;line-height:.75;color:#ffffff10}.works-preview small{margin-top:auto;letter-spacing:.15em;text-transform:uppercase;color:#ffffff70}.works-preview h3{font-size:clamp(26px,2.5vw,42px);line-height:1.02;margin:10px 0}.works-preview p{color:#ffffff80}.works-preview button{align-self:flex-start;margin-top:18px;border:1px solid #ffffff50;border-radius:99px;background:#ffffff0c;color:#fff;padding:10px 15px}.work-detail{position:fixed;inset:0;z-index:2147483000;visibility:hidden;opacity:0;pointer-events:none;transition:.4s}.work-detail.is-open{visibility:visible;opacity:1;pointer-events:auto}.work-backdrop{position:absolute;inset:0;border:0;background:#020408d9;backdrop-filter:blur(22px)}.work-shell{position:absolute;inset:4vh 4vw;border:1px solid #ffffff2e;border-radius:25px;background:#0a0c12f5;overflow:hidden;transform:scale(.96);transition:.65s cubic-bezier(.16,.86,.2,1)}.work-detail.is-open .work-shell{transform:none}.work-shell>header{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;border-bottom:1px solid #ffffff20;font-size:10px;letter-spacing:.16em}.work-shell>header button{border:0;background:none;color:#fff;font-size:30px}.work-scroll{height:calc(100% - 62px);overflow:auto;padding:clamp(30px,6vw,88px);scrollbar-width:thin;scrollbar-color:#fff transparent}#workPanel{max-width:1050px;margin:auto}.detail-year{font-size:clamp(100px,17vw,240px);font-weight:800;line-height:.7;color:#ffffff0d}#workPanel>small{text-transform:uppercase;letter-spacing:.15em;color:#ffffff80}#workPanel h2{font-size:clamp(35px,5vw,75px);line-height:.98;margin:12px 0 38px}#workPanel dl{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff25;gap:0 28px}#workPanel dl div{padding:13px 0;border-bottom:1px solid #ffffff18}#workPanel dt{font-size:9px;color:#ffffff70;text-transform:uppercase;letter-spacing:.12em}#workPanel dd{margin:5px 0 0}.work-source{display:inline-block;margin-top:30px;color:#fff;text-decoration:none;border-bottom:1px solid #fff}@media(max-width:900px){.works-toolbar{grid-template-columns:1fr auto}.works-toolbar #worksFilters{grid-column:1/-1;grid-row:2}.works-archive{grid-template-columns:1fr}.works-preview{display:none}.work-row{grid-template-columns:30px 1fr 18px}.work-row small{display:none}.work-shell{inset:2vh 3vw}#workPanel dl{grid-template-columns:1fr}}
/* V1.0.27 · Obra publicada — archivo editorial escalable */
.works-scene{width:min(1540px,94vw)!important;height:min(830px,88vh);display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:18px!important}.works-head{max-width:none!important;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:60px}.works-head h2{font-size:clamp(46px,5.4vw,84px)!important;margin:4px 0 0!important}.works-head>p{margin:0 0 7px;color:rgba(255,255,255,.56);line-height:1.5}.works-console{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022));backdrop-filter:blur(24px)}.works-toolbar{padding:12px 18px!important;display:grid!important;grid-template-columns:minmax(220px,340px) 1fr auto!important;align-items:center;gap:18px;background:rgba(0,0,0,.17)}.works-search{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.16em}.works-search input{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:8px 2px;outline:none}.works-filters{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.works-filters button{white-space:nowrap;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.55);padding:7px 10px;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.works-filters button.is-active{background:#fff;color:#111}.works-count{white-space:nowrap;color:rgba(255,255,255,.5)}.works-count b{font-size:18px;color:#fff}.works-count small{font-size:8px;letter-spacing:.16em}.works-browser{min-height:0;display:grid;grid-template-columns:98px minmax(440px,1.3fr) minmax(300px,.7fr)}.works-years{padding:18px 10px;border-right:1px solid rgba(255,255,255,.1);overflow:auto;scrollbar-width:none}.works-years button{width:100%;position:relative;border:0;background:none;color:rgba(255,255,255,.28);padding:8px;text-align:left;transition:.25s}.works-years strong{font-size:17px;font-weight:500}.works-years i{position:absolute;right:0;top:50%;width:0;height:1px;background:#fff;transition:.25s}.works-years button:hover,.works-years button.is-active{color:#fff}.works-years button.is-active i{width:18px}.works-list{min-height:0;overflow:auto!important;padding:8px 15px 24px!important;scrollbar-width:thin;scrollbar-color:#fff transparent}.year-marker{position:sticky;top:0;z-index:4;height:31px;display:flex;align-items:center;background:rgba(14,16,21,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.1)}.year-marker span{font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.42)}.work-row{width:100%;display:grid!important;grid-template-columns:32px minmax(0,1fr) 118px 18px!important;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.075);background:transparent;color:#fff;min-height:56px;padding:9px 6px!important;transition:.22s}.work-row:hover,.work-row.is-current{padding-left:12px!important;background:rgba(255,255,255,.07)}.row-no,.row-type{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4)}.row-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.row-copy b{font-size:13px;line-height:1.18;font-weight:520}.row-copy small{font-size:10px;color:rgba(255,255,255,.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.works-preview{position:relative!important;padding:0!important;border-left:1px solid rgba(255,255,255,.1)!important;overflow:hidden;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.08),transparent 44%)}.works-preview article{position:absolute;inset:0;padding:30px 27px;display:flex;flex-direction:column}.preview-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.46)}.preview-no{margin-top:auto;font-size:clamp(82px,9vw,150px);font-weight:750;line-height:.7;color:rgba(255,255,255,.055)}.works-preview h3{font-size:clamp(21px,2vw,34px);line-height:1.04;margin:20px 0 9px}.works-preview p{font-size:11px;line-height:1.45;color:rgba(255,255,255,.5)}.works-preview button{align-self:flex-start;display:flex;justify-content:space-between;gap:28px;margin-top:16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.05);color:#fff;padding:10px 14px}.work-detail{position:fixed!important;inset:0!important;z-index:2147483000!important;visibility:hidden;opacity:0;pointer-events:none;transition:.4s}.work-detail.is-open{visibility:visible;opacity:1;pointer-events:auto}.work-backdrop{position:absolute;inset:0;border:0;background:rgba(3,5,9,.64)!important;backdrop-filter:blur(26px)!important}.work-shell{position:absolute;inset:3vh 3vw!important;border:1px solid rgba(255,255,255,.17);border-radius:30px!important;background:linear-gradient(145deg,rgba(23,26,34,.99),rgba(8,10,15,.99))!important;box-shadow:0 42px 150px rgba(0,0,0,.62)!important;color:#fff!important;overflow:hidden}.work-detail-top{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.11);font-size:9px;letter-spacing:.18em}.work-detail-top button{border:0;background:none;color:#fff;font-size:30px}.work-scroll{height:calc(100% - 62px);overflow:auto!important;padding:0!important;scrollbar-width:thin;scrollbar-color:#fff rgba(255,255,255,.08)!important}.detail-sheet{min-height:100%;padding:clamp(34px,5vw,74px) clamp(32px,6vw,100px) 80px}.detail-hero{position:relative;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px 0 40px;border-bottom:1px solid rgba(255,255,255,.14);overflow:hidden}.detail-kicker{display:flex;gap:18px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}.detail-watermark{position:absolute;right:0;bottom:-35px;font-size:clamp(140px,20vw,300px);font-weight:800;line-height:.7;color:rgba(255,255,255,.035)}.detail-hero h2{position:relative;z-index:1;font-size:clamp(36px,5.1vw,78px)!important;line-height:.98;max-width:1120px;margin:17px 0}.detail-hero>p{position:relative;z-index:1;color:rgba(255,255,255,.62)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:clamp(38px,7vw,105px);padding-top:46px}.detail-grid label{display:block;font-size:9px;letter-spacing:.19em;color:rgba(255,255,255,.4);margin-bottom:20px}.detail-abstract{font-size:clamp(15px,1.2vw,19px);line-height:1.75;color:rgba(255,255,255,.78);max-width:760px}.detail-empty{border-left:1px solid rgba(255,255,255,.24);padding-left:20px;color:rgba(255,255,255,.47)}.detail-grid dl{margin:0;border-top:1px solid rgba(255,255,255,.14)}.detail-grid dl div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}.detail-grid dt{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4)}.detail-grid dd{margin:0;font-size:12px;line-height:1.45}.detail-links{display:flex;flex-direction:column;margin-top:27px}.detail-links a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:900px){.works-scene{height:89vh}.works-head{grid-template-columns:1fr}.works-head>p{display:none}.works-browser{grid-template-columns:62px minmax(0,1fr)}.works-preview{display:none!important}.works-years{padding:12px 4px}.works-years strong{font-size:13px}.works-toolbar{grid-template-columns:1fr auto!important}.works-filters{grid-column:1/-1}.work-row{grid-template-columns:28px minmax(0,1fr) 18px!important}.row-type{display:none}.work-shell{inset:1.5vh 2.5vw!important}.detail-sheet{padding:26px 23px 60px}.detail-grid{grid-template-columns:1fr;gap:38px}}

/* V1.0.28 · Obra — corrections from production capture */
.works-chapter .works-scene{
  height:min(760px,80vh)!important;
  grid-template-rows:clamp(112px,16vh,155px) minmax(0,1fr)!important;
  gap:12px!important;
  align-self:center!important;
}
.works-chapter .works-head{
  grid-template-columns:minmax(430px,.9fr) minmax(330px,.62fr)!important;
  gap:50px!important;
  align-items:end!important;
}
.works-chapter .works-head h2{
  font-size:clamp(38px,4.25vw,66px)!important;
  line-height:.94!important;
  max-width:650px!important;
}
.works-chapter .works-head>p{font-size:13px!important;max-width:520px!important}
.works-chapter .works-console{height:100%!important;min-height:0!important}
.works-chapter .works-toolbar{min-height:54px!important}
.works-chapter .works-browser{height:100%!important;min-height:0!important}

/* Critical: old theme declared .works-list as a two-column grid. */
.works-chapter .works-list{
  display:block!important;
  grid-template-columns:none!important;
  column-gap:0!important;
  margin-top:0!important;
  height:100%!important;
}
.works-chapter .year-marker{width:100%!important}
.works-chapter .work-row{
  display:grid!important;
  width:100%!important;
  min-height:62px!important;
}
.works-chapter .row-copy b{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
}
.works-chapter .works-preview h3{
  font-size:clamp(22px,1.9vw,31px)!important;
  line-height:1.08!important;
  overflow-wrap:anywhere;
}

/* Modal now lives directly under BODY, outside the transformed horizontal track. */
body>.work-detail{position:fixed!important;inset:0!important;transform:none!important}
body>.work-detail .work-backdrop{
  background:rgba(8,10,15,.40)!important;
  backdrop-filter:blur(18px) saturate(.8)!important;
}
body>.work-detail .work-shell{
  inset:5vh 5vw!important;
  background:
    radial-gradient(circle at 78% 15%,rgba(255,255,255,.13),transparent 34%),
    linear-gradient(145deg,rgba(54,58,68,.985),rgba(24,27,34,.99))!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 36px 120px rgba(0,0,0,.48)!important;
}
body>.work-detail .work-detail-top{
  height:66px!important;
  background:rgba(255,255,255,.035)!important;
}
body>.work-detail .work-scroll{
  height:calc(100% - 66px)!important;
  background:transparent!important;
}
body>.work-detail #workPanel{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}
body>.work-detail .detail-sheet{
  width:min(1320px,88%)!important;
  margin:0 auto!important;
  padding:50px 0 76px!important;
}
body>.work-detail .detail-hero{
  min-height:240px!important;
  padding:12px 0 34px!important;
}
body>.work-detail .detail-hero h2{
  font-size:clamp(34px,4.2vw,64px)!important;
  line-height:1.02!important;
  max-width:1000px!important;
  margin:14px 0!important;
}
body>.work-detail .detail-watermark{
  font-size:clamp(110px,16vw,240px)!important;
  color:rgba(255,255,255,.055)!important;
}
body>.work-detail .detail-grid{
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr)!important;
  gap:70px!important;
  padding-top:38px!important;
}
body>.work-detail .detail-abstract{
  color:rgba(255,255,255,.90)!important;
  font-size:16px!important;
  line-height:1.72!important;
}
body>.work-detail .detail-grid label{color:rgba(255,255,255,.62)!important}
body>.work-detail .detail-grid dt{color:rgba(255,255,255,.58)!important}
body>.work-detail .detail-grid dd{color:rgba(255,255,255,.92)!important}
body>.work-detail .detail-empty{
  color:rgba(255,255,255,.70)!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-left:3px solid rgba(255,255,255,.55)!important;
  border-radius:0 12px 12px 0!important;
  padding:18px 20px!important;
}
body>.work-detail .detail-links a{
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
}
@media(max-width:900px){
 .works-chapter .works-scene{height:84vh!important;grid-template-rows:105px minmax(0,1fr)!important}
 .works-chapter .works-head{grid-template-columns:1fr!important}
 .works-chapter .works-head h2{font-size:clamp(34px,9vw,52px)!important}
 body>.work-detail .work-shell{inset:2vh 2.5vw!important}
 body>.work-detail .detail-sheet{width:88%!important;padding:32px 0 60px!important}
 body>.work-detail .detail-grid{grid-template-columns:1fr!important;gap:38px!important}
}

/* V1.0.29 · Obra publicada — full-width archive, no duplicated preview */
.works-chapter .works-scene{width:min(1580px,94vw)!important;height:min(790px,84vh)!important;grid-template-rows:clamp(100px,14vh,132px) minmax(0,1fr)!important}
.works-chapter .works-head{grid-template-columns:minmax(520px,1fr) minmax(330px,520px)!important}
.works-chapter .works-head h2{font-size:clamp(40px,4.55vw,70px)!important;max-width:760px!important}
.works-chapter .works-console{border-radius:28px!important}
.works-chapter .works-browser{grid-template-columns:104px minmax(0,1fr)!important}
.works-index{min-width:0;min-height:0;display:grid;grid-template-rows:38px minmax(0,1fr)}
.works-columns{display:grid;grid-template-columns:42px minmax(0,1fr) 150px 64px 124px;gap:14px;align-items:center;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.32);font-size:8px;letter-spacing:.17em;text-transform:uppercase;background:rgba(0,0,0,.13)}
.works-chapter .works-list{padding:0 18px 28px!important}
.works-chapter .year-marker{height:34px!important;margin:0!important}
.works-chapter .work-row{display:grid!important;grid-template-columns:42px minmax(0,1fr) 150px 64px 124px!important;gap:14px!important;min-height:68px!important;padding:10px 0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;background:transparent!important;align-items:center}
.works-chapter .work-row:hover{padding-left:0!important;background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.015))!important}
.works-chapter .row-copy{padding-right:18px}
.works-chapter .row-copy b{font-size:14px!important;line-height:1.27!important;font-weight:540!important}
.works-chapter .row-copy small{margin-top:5px;font-size:10px!important;color:rgba(255,255,255,.42)!important}
.works-chapter .row-type,.works-chapter .row-year{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.works-chapter .row-year{color:rgba(255,255,255,.72)}
.works-chapter .row-open{justify-self:end;min-width:112px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.045);color:#fff;font-size:9px;letter-spacing:.08em;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease}
.works-chapter .row-open:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.42);transform:translateX(2px)}
@media(max-width:1100px){.works-columns,.works-chapter .work-row{grid-template-columns:36px minmax(0,1fr) 120px 104px!important}.works-columns span:nth-child(4),.row-year{display:none}}
@media(max-width:760px){.works-chapter .works-browser{grid-template-columns:58px minmax(0,1fr)!important}.works-columns{display:none!important}.works-index{grid-template-rows:minmax(0,1fr)}.works-chapter .work-row{grid-template-columns:28px minmax(0,1fr) 42px!important;min-height:72px!important}.row-type,.row-year{display:none!important}.works-chapter .row-open{width:38px;min-width:38px;height:38px;padding:0;justify-content:center;border-radius:50%;font-size:0}.works-chapter .row-open span{font-size:14px}}

/* V1.0.30 · Obra — more vertical space + bibliography above abstract */
.works-chapter .works-scene{
  height:calc(100vh - 150px)!important;
  max-height:900px!important;
  min-height:600px!important;
  grid-template-rows:clamp(82px,11vh,108px) minmax(0,1fr)!important;
  gap:10px!important;
}
.works-chapter .works-head{
  align-items:end!important;
}
.works-chapter .works-head h2{
  font-size:clamp(36px,4.15vw,64px)!important;
  line-height:.93!important;
}
.works-chapter .works-head>p{
  font-size:12px!important;
  line-height:1.42!important;
  margin-bottom:3px!important;
}
.works-chapter .works-console{
  height:100%!important;
}
.works-chapter .works-toolbar{
  min-height:50px!important;
  padding:9px 18px!important;
}
.works-chapter .works-browser,
.works-index,
.works-chapter .works-list{
  min-height:0!important;
  height:100%!important;
}
.works-chapter .works-columns{
  height:34px!important;
}
.works-chapter .work-row{
  min-height:62px!important;
  padding:8px 0!important;
}
.works-chapter .year-marker{
  height:30px!important;
}

/* Individual fiche: full width bibliographic block BEFORE abstract */
body>.work-detail .work-shell{
  inset:3vh 3.5vw 2.5vh!important;
}
body>.work-detail .work-scroll{
  height:calc(100% - 66px)!important;
}
body>.work-detail .detail-sheet{
  width:min(1380px,90%)!important;
  padding:34px 0 72px!important;
}
body>.work-detail .detail-hero{
  min-height:210px!important;
  padding:8px 0 30px!important;
}
body>.work-detail .detail-hero h2{
  font-size:clamp(34px,4.2vw,64px)!important;
  max-width:1160px!important;
  margin:13px 0 0!important;
}
body>.work-detail .detail-watermark{
  right:0!important;
  bottom:-38px!important;
  font-size:clamp(100px,15vw,220px)!important;
}
body>.work-detail .detail-bibliography{
  padding:30px 0 34px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
body>.work-detail .detail-bibliography>label,
body>.work-detail .detail-abstract-block>label{
  display:block!important;
  margin-bottom:16px!important;
  color:rgba(255,255,255,.62)!important;
  font-size:9px!important;
  letter-spacing:.19em!important;
}
body>.work-detail .detail-bibliography dl{
  margin:0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
body>.work-detail .detail-bibliography dl>div{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:start!important;
  padding:11px 2px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
body>.work-detail .detail-bibliography dt{
  color:rgba(255,255,255,.48)!important;
  font-size:9px!important;
  line-height:1.35!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
body>.work-detail .detail-bibliography dd{
  margin:0!important;
  color:rgba(255,255,255,.94)!important;
  font-size:13px!important;
  line-height:1.48!important;
}
body>.work-detail .detail-links{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:22px!important;
}
body>.work-detail .detail-links a{
  width:auto!important;
  min-width:190px!important;
  gap:28px!important;
  padding:10px 14px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  text-decoration:none!important;
}
body>.work-detail .detail-abstract-block{
  padding-top:34px!important;
  max-width:1080px!important;
}
body>.work-detail .detail-abstract{
  max-width:980px!important;
  font-size:clamp(15px,1.12vw,18px)!important;
  line-height:1.72!important;
  color:rgba(255,255,255,.91)!important;
}
body>.work-detail .detail-abstract p:first-child{margin-top:0!important}

/* Remove obsolete two-column detail styling from visual flow */
body>.work-detail .detail-grid{display:block!important}

/* Responsive */
@media(max-width:1200px){
 .works-chapter .works-scene{
   height:calc(100vh - 135px)!important;
 }
 body>.work-detail .detail-sheet{width:88%!important}
 body>.work-detail .detail-bibliography dl>div{
   grid-template-columns:150px minmax(0,1fr)!important;
 }
}
@media(max-width:900px){
 .works-chapter .works-scene{
   height:calc(100vh - 118px)!important;
   min-height:540px!important;
   grid-template-rows:82px minmax(0,1fr)!important;
 }
 .works-chapter .works-head h2{font-size:clamp(32px,8vw,50px)!important}
 body>.work-detail .work-shell{inset:1.5vh 2.5vw 1.5vh!important}
 body>.work-detail .detail-sheet{width:88%!important;padding:26px 0 60px!important}
 body>.work-detail .detail-hero{min-height:180px!important}
 body>.work-detail .detail-bibliography dl>div{
   grid-template-columns:120px minmax(0,1fr)!important;
   gap:16px!important;
 }
}
@media(max-width:600px){
 .works-chapter .works-scene{
   width:94vw!important;
   height:calc(100vh - 96px)!important;
   grid-template-rows:70px minmax(0,1fr)!important;
 }
 .works-chapter .works-head>p{display:none!important}
 .works-chapter .works-toolbar{
   min-height:0!important;
   grid-template-columns:1fr auto!important;
 }
 .works-chapter .works-filters{
   grid-column:1/-1!important;
 }
 body>.work-detail .detail-sheet{width:86%!important}
 body>.work-detail .detail-hero{min-height:160px!important}
 body>.work-detail .detail-hero h2{font-size:clamp(30px,10vw,46px)!important}
 body>.work-detail .detail-bibliography dl>div{
   display:block!important;
   padding:10px 0!important;
 }
 body>.work-detail .detail-bibliography dt{margin-bottom:4px!important}
 body>.work-detail .detail-links{flex-direction:column!important}
 body>.work-detail .detail-links a{width:100%!important}
 body>.work-detail .detail-abstract-block{padding-top:28px!important}
}

/* V1.0.33 · Obra publicada — lectura */
body > .work-detail .detail-abstract{
  text-align:justify!important;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}
body > .work-detail .detail-abstract h1,
body > .work-detail .detail-abstract h2,
body > .work-detail .detail-abstract h3,
body > .work-detail .detail-abstract h4,
body > .work-detail .detail-abstract h5,
body > .work-detail .detail-abstract h6,
body > .work-detail .detail-abstract ul,
body > .work-detail .detail-abstract ol,
body > .work-detail .detail-abstract blockquote{
  text-align:left!important;
}

/* ============================================================
   Reflexiones · V1.0.34 — THOUGHT FIELD
   ============================================================ */
.reflections-v2{overflow:hidden!important;isolation:isolate}
.reflection-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.reflection-atmosphere:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(205,245,255,.17),transparent 25%),radial-gradient(circle at 23% 72%,rgba(219,255,159,.10),transparent 24%),linear-gradient(115deg,rgba(255,255,255,.035),transparent 42%);mix-blend-mode:screen}
.reflection-orbit{position:absolute;border:1px solid rgba(255,255,255,.075);border-radius:50%;transform:rotate(-18deg)}
.orbit-a{width:64vw;height:64vw;right:-18vw;top:-28vw}.orbit-b{width:38vw;height:38vw;left:-12vw;bottom:-20vw}
.reflection-scan{position:absolute;left:-12%;top:0;width:10%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);filter:blur(14px);animation:thoughtScan 12s linear infinite}
@keyframes thoughtScan{to{left:112%}}
.reflection-word{position:absolute;right:-.04em;bottom:-.15em;font-size:clamp(140px,23vw,420px);font-weight:760;letter-spacing:-.1em;line-height:.75;color:rgba(255,255,255,.024);-webkit-text-stroke:1px rgba(255,255,255,.055)}

.reflection-stage{position:relative;z-index:2;width:min(1540px,94vw)!important;height:min(860px,88vh);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px}
.reflection-v2-head{display:grid;grid-template-columns:minmax(430px,.9fr) minmax(390px,.72fr);gap:clamp(34px,7vw,110px);align-items:end}
.reflection-v2-title h2{font-size:clamp(48px,6.3vw,104px);line-height:.87;letter-spacing:-.075em;margin:5px 0 12px}
.reflection-v2-lede{max-width:650px;margin:0;color:rgba(255,255,255,.57);font-size:13px;line-height:1.55}
.reflection-command>label{display:block;margin-bottom:8px;font-size:8px;letter-spacing:.19em;color:rgba(255,255,255,.42)}
.reflection-search-shell{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.32);background:linear-gradient(90deg,rgba(255,255,255,.055),transparent)}
.reflection-search-shell svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;color:rgba(255,255,255,.55)}
.reflection-search-shell input{border:0;background:transparent;color:#fff;font-size:15px;outline:none;width:100%;padding:5px 0}
.reflection-search-shell kbd{font:inherit;font-size:8px;letter-spacing:.08em;color:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:4px 6px}
.reflection-statusline{display:flex;justify-content:space-between;gap:18px;margin-top:8px;font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.38)}
.reflection-categories{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding:1px 0 5px}
.reflection-categories button{flex:0 0 auto;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.54);padding:7px 11px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.25s}
.reflection-categories button:hover{color:#fff;border-color:rgba(255,255,255,.32)}
.reflection-categories button.is-active{background:#fff;color:#0c1014;border-color:#fff}

.reflection-field-shell{position:relative;min-height:0;overflow:auto;padding:4px 4px 60px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.8) transparent;overscroll-behavior:contain}
.reflection-field{display:grid;grid-template-columns:1.22fr .78fr .78fr;grid-auto-rows:minmax(205px,auto);gap:12px}
.thought-node{--node-accent:rgba(220,246,255,.85);position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding:20px 21px 18px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));backdrop-filter:blur(21px) saturate(115%);transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .35s ease,border-color .35s ease,background .35s ease;animation:thoughtEnter .72s calc(var(--node-index)*70ms) both cubic-bezier(.16,.86,.2,1)}
@keyframes thoughtEnter{from{opacity:0;transform:translateY(26px) scale(.975);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.thought-node:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.09),transparent 33%);opacity:.5;pointer-events:none}
.thought-node:nth-child(4n+2){--node-accent:rgba(221,255,157,.86)}.thought-node:nth-child(4n+3){--node-accent:rgba(231,207,255,.9)}.thought-node:nth-child(4n){--node-accent:rgba(255,225,176,.88)}
.thought-node.is-featured{grid-row:span 2;padding:26px 28px 24px;background:linear-gradient(145deg,rgba(225,246,249,.15),rgba(255,255,255,.035))}
.thought-node-line{position:absolute;left:0;top:0;width:0;height:2px;background:linear-gradient(90deg,var(--node-accent),transparent);transition:width .55s cubic-bezier(.2,.8,.2,1)}
.thought-node:hover{transform:translateY(-5px) scale(1.012);border-color:rgba(255,255,255,.31);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));z-index:3}
.thought-node:hover .thought-node-line{width:72%}.reflection-field.has-focus .thought-node:not(:hover){opacity:.53}
.thought-node-meta,.thought-node footer{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2}
.thought-node-meta{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.44)}
.thought-node-number{margin-top:auto;font-size:clamp(46px,5vw,86px);font-weight:720;line-height:.8;letter-spacing:-.08em;color:rgba(255,255,255,.045)}
.thought-node h3{position:relative;z-index:2;font-size:clamp(22px,2.05vw,35px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 8px;max-width:660px}
.thought-node.is-featured h3{font-size:clamp(34px,3.4vw,60px)}
.thought-node p{position:relative;z-index:2;margin:0;color:rgba(255,255,255,.57);font-size:12px;line-height:1.48;max-width:620px}
.thought-node footer{margin-top:19px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.thought-node footer>span{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.36)}
.thought-node footer button{display:flex;align-items:center;gap:14px;border:0;background:none;color:#fff;padding:5px 0;font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.thought-node mark{background:transparent;color:#fff;border-bottom:1px solid var(--node-accent)}
.reflection-more{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);z-index:6;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(15,20,24,.74);backdrop-filter:blur(18px);color:#fff;padding:10px 16px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.reflection-field-empty{padding:60px;text-align:center;color:rgba(255,255,255,.45)}.reflection-field-empty strong{display:block;font-size:32px;color:#fff;margin-bottom:8px}

/* Reader */
.reflection-reader{position:fixed;inset:0;z-index:2147483500;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .4s ease}
.reflection-reader.is-open{visibility:visible;opacity:1;pointer-events:auto}
.reflection-reader-backdrop{position:absolute;inset:0;border:0;background:rgba(5,8,12,.58);backdrop-filter:blur(24px) saturate(.8)}
.reflection-reader-shell{position:absolute;inset:3vh 4vw;border:1px solid rgba(255,255,255,.22);border-radius:34px;background:linear-gradient(145deg,rgba(31,37,43,.985),rgba(10,14,18,.99));box-shadow:0 50px 150px rgba(0,0,0,.58);overflow:hidden;transform:scale(.95) translateY(22px);transition:transform .72s cubic-bezier(.16,.86,.2,1),opacity .45s ease;opacity:0}
.reflection-reader.is-open .reflection-reader-shell{transform:none;opacity:1}
.reflection-reader-top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid rgba(255,255,255,.11);font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.5)}
.reflection-reader-top button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.23);background:rgba(255,255,255,.06);color:#fff;font-size:24px}
.reflection-reader-scroll{height:calc(100% - 64px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff transparent}
#reflectionReaderContent{width:min(1320px,88%);margin:auto;padding:50px 0 90px}
.reader-hero{position:relative;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid rgba(255,255,255,.13);padding:20px 0 42px;overflow:hidden}
.reader-kicker{display:flex;gap:18px;flex-wrap:wrap;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.reader-watermark{position:absolute;right:0;bottom:-35px;font-size:clamp(150px,22vw,340px);font-weight:780;line-height:.7;letter-spacing:-.1em;color:rgba(255,255,255,.03)}
.reader-hero h2{position:relative;z-index:1;font-size:clamp(44px,6vw,96px);line-height:.91;letter-spacing:-.065em;max-width:1150px;margin:20px 0 18px}
.reader-hero>p{position:relative;z-index:1;max-width:780px;color:rgba(255,255,255,.62);font-size:15px;line-height:1.55}
.reader-layout{display:grid;grid-template-columns:210px minmax(0,780px);justify-content:center;gap:clamp(40px,7vw,100px);padding:55px 0 30px}
.reader-aside{align-self:start;position:sticky;top:25px;display:flex;flex-direction:column;gap:17px;padding-top:7px}
.reader-label{font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.38)}
.reader-tags{display:flex;flex-wrap:wrap;gap:6px}.reader-tags span{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 8px;font-size:9px;color:rgba(255,255,255,.65)}
.reader-aside a{color:#fff;font-size:9px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:8px}
.reader-body{font-size:clamp(16px,1.2vw,19px);line-height:1.78;color:rgba(255,255,255,.88)}
.reader-body p{margin:0 0 1.25em}.reader-body h2,.reader-body h3{line-height:1.06;letter-spacing:-.035em;margin:1.5em 0 .65em}.reader-body h2{font-size:clamp(30px,3vw,48px)}.reader-body h3{font-size:clamp(24px,2.3vw,36px)}.reader-body img{max-width:100%;height:auto;border-radius:20px}.reader-body blockquote{margin:2em 0;padding:10px 0 10px 24px;border-left:2px solid rgba(255,255,255,.45);font-size:1.2em}
.reader-related{margin-top:50px;padding-top:38px;border-top:1px solid rgba(255,255,255,.13);display:grid;grid-template-columns:260px 1fr;gap:50px}.reader-related h3{font-size:34px;line-height:1;margin:10px 0}.related-network{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.related-node{display:grid;grid-template-columns:32px 1fr;gap:2px 12px;text-align:left;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.025);color:#fff;padding:13px;cursor:pointer}.related-node span{grid-row:1/3;color:rgba(255,255,255,.3);font-size:20px}.related-node b{font-size:12px}.related-node small{color:rgba(255,255,255,.45)}

@media(max-width:1100px){
 .reflection-stage{height:86vh}.reflection-field{grid-template-columns:1.2fr .8fr}.thought-node.is-featured{grid-row:span 2}.reflection-v2-head{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
 .reflection-stage{width:92vw!important;height:88vh;grid-template-rows:auto auto minmax(0,1fr)}
 .reflection-v2-head{grid-template-columns:1fr;gap:18px}.reflection-v2-title h2{font-size:clamp(48px,11vw,76px)}.reflection-v2-lede{display:none}
 .reflection-field{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.thought-node.is-featured{grid-column:1/-1;grid-row:auto}
 .reflection-reader-shell{inset:1.5vh 2.5vw}.reader-layout{grid-template-columns:1fr}.reader-aside{position:static}.reader-related{grid-template-columns:1fr}.related-network{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .reflection-stage{width:94vw!important;height:91vh;gap:9px}.reflection-v2-title h2{font-size:clamp(42px,13vw,62px)}.reflection-command>label,.reflection-search-shell kbd{display:none}
 .reflection-categories{margin-right:-3vw;padding-right:3vw}.reflection-field{grid-template-columns:1fr;gap:8px}.thought-node,.thought-node.is-featured{min-height:190px;padding:18px;border-radius:18px}.thought-node.is-featured h3,.thought-node h3{font-size:clamp(25px,7.4vw,36px)}
 .reflection-word{font-size:42vw}.reflection-reader-shell{inset:68px 8px 8px;border-radius:25px}.reflection-reader-top{height:58px;padding:0 17px}.reflection-reader-scroll{height:calc(100% - 58px)}#reflectionReaderContent{width:86%;padding:28px 0 70px}.reader-hero{min-height:235px;padding-bottom:30px}.reader-hero h2{font-size:clamp(38px,11vw,58px)}.reader-layout{padding-top:35px;gap:30px}.related-network{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.reflection-scan{display:none}.thought-node{animation:none}.reflection-reader-shell{transition-duration:.18s}}

/* ============================================================
   Reflexiones · V1.0.35 — CINEMATIC THOUGHT SYSTEM
   ============================================================ */
.reflections-v3{overflow:hidden!important;isolation:isolate;background:linear-gradient(118deg,rgba(10,17,21,.10),rgba(8,12,16,.02))}
.thought-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.thought-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 68% 42%,transparent 0,rgba(8,13,17,.06) 37%,rgba(4,8,11,.38) 100%),linear-gradient(90deg,rgba(6,10,13,.28),transparent 52%,rgba(6,10,13,.18))}
.thought-grain{position:absolute;inset:-40%;z-index:1;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");animation:grainMove .32s steps(2) infinite}
@keyframes grainMove{0%{transform:translate(0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}100%{transform:translate(0)}}

.thought-scene{position:relative;z-index:3;width:min(1580px,94vw)!important;height:min(860px,88vh);display:grid;grid-template-rows:62px minmax(0,1fr) 36px;gap:0}
.thought-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:26px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}
.thought-brand{display:flex;align-items:center;gap:17px;white-space:nowrap}.thought-brand .eyebrow{margin:0}.thought-brand>span{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.34)}
.thought-filters{display:flex;justify-content:center;gap:16px;overflow:auto;scrollbar-width:none}
.thought-filters button{position:relative;border:0;background:none;color:rgba(255,255,255,.38);padding:10px 0;font-size:9px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.thought-filters button:after{content:"";position:absolute;left:50%;bottom:2px;width:0;height:1px;background:#fff;transform:translateX(-50%);transition:.28s}
.thought-filters button.is-active,.thought-filters button:hover{color:#fff}.thought-filters button.is-active:after{width:100%}
.thought-search-trigger{display:flex;align-items:center;gap:12px;border:0;background:none;color:#fff;padding:9px 0;cursor:pointer;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.thought-search-trigger kbd{font:inherit;color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.13);border-radius:5px;padding:3px 5px}

.thought-stage{min-height:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.55fr);gap:clamp(40px,6vw,100px);align-items:stretch}
.thought-focus{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:6vh 0 6vh 3vw}
.thought-focus:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.22),transparent)}
.thought-focus-kicker{display:flex;align-items:center;gap:17px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42)}
#thoughtFocusIndex{font-size:20px;color:#fff;letter-spacing:-.04em}
.thought-focus-ghost{position:absolute;left:7%;top:12%;max-width:85%;font-size:clamp(100px,15vw,250px);font-weight:760;letter-spacing:-.1em;line-height:.72;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none}
.thought-focus h2{position:relative;z-index:2;max-width:1040px;font-size:clamp(60px,7.6vw,128px);line-height:.83;letter-spacing:-.077em;margin:24px 0 27px;text-wrap:balance}
.thought-focus>p{position:relative;z-index:2;max-width:720px;margin:0;font-size:clamp(14px,1.15vw,18px);line-height:1.58;color:rgba(255,255,255,.62)}
.thought-focus-actions{position:relative;z-index:2;display:flex;align-items:center;gap:24px;margin-top:34px}
.thought-focus-actions button{display:flex;align-items:center;gap:30px;border:0;border-bottom:1px solid rgba(255,255,255,.36);background:none;color:#fff;padding:9px 0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.thought-focus-actions button:hover{border-color:#fff}.thought-focus-actions>span{font-size:9px;color:rgba(255,255,255,.38)}
.thought-focus-progress{position:absolute;left:3vw;bottom:5vh;width:min(440px,50%);height:1px;background:rgba(255,255,255,.11)}.thought-focus-progress i{display:block;height:100%;width:0;background:rgba(255,255,255,.82);transition:width .7s cubic-bezier(.2,.8,.2,1)}
.thought-shift .thought-focus h2{animation:focusShift .72s cubic-bezier(.16,.86,.2,1)}
.thought-shift .thought-focus>p,.thought-shift .thought-focus-kicker{animation:focusMeta .6s .05s both cubic-bezier(.16,.86,.2,1)}
@keyframes focusShift{0%{opacity:.05;transform:translateY(34px);filter:blur(12px)}100%{opacity:1;transform:none;filter:none}}
@keyframes focusMeta{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:none}}

.thought-stream{min-height:0;display:grid;grid-template-rows:42px minmax(0,1fr) 48px;border-left:1px solid rgba(255,255,255,.12);padding-left:24px;margin:4vh 0}
.thought-stream-head{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.34)}
.thought-stream-list{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.5) transparent;overscroll-behavior:contain}
.thought-stream-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;color:#fff;padding:15px 0;cursor:pointer;transition:padding .3s,opacity .3s,background .3s}
.thought-stream-item:hover,.thought-stream-item.is-active{padding-left:9px;background:linear-gradient(90deg,rgba(255,255,255,.065),transparent)}
.thought-stream-item:not(.is-active){opacity:.52}.thought-stream-item:hover{opacity:.9}.thought-stream-item.is-active{opacity:1}
.stream-no{font-size:10px;color:rgba(255,255,255,.32)}.stream-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.stream-copy b{font-size:12px;line-height:1.22;font-weight:520}.stream-copy small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.32)}.thought-stream-item i{font-style:normal;color:rgba(255,255,255,.25)}
.thought-stream-more{align-self:end;justify-self:start;border:0;background:none;color:rgba(255,255,255,.62);padding:10px 0;font-size:9px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.thought-stream-more:hover{color:#fff}
.thought-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.09);font-size:8px;letter-spacing:.1em;color:rgba(255,255,255,.3)}.thought-footer-line{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.2),transparent)}

.thought-search-overlay{position:absolute;inset:0;z-index:20;visibility:hidden;opacity:0;pointer-events:none;transition:.32s}
.thought-search-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto}
.thought-search-backdrop{position:absolute;inset:0;border:0;background:rgba(8,12,16,.52);backdrop-filter:blur(22px)}
.thought-search-panel{position:absolute;left:50%;top:23%;width:min(920px,82vw);transform:translate(-50%,-10px);padding:28px 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.14);opacity:0;transition:.45s cubic-bezier(.16,.86,.2,1)}
.thought-search-overlay.is-open .thought-search-panel{opacity:1;transform:translate(-50%,0)}
.thought-search-panel>span{font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.45)}
.thought-search-field{display:grid;grid-template-columns:1fr 46px;gap:12px;align-items:center;margin-top:13px}.thought-search-field input{width:100%;border:0;background:none;outline:none;color:#fff;font-size:clamp(32px,5vw,72px);font-weight:560;letter-spacing:-.055em;padding:0}.thought-search-field button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:none;color:#fff;font-size:25px}
.thought-search-meta{display:flex;justify-content:space-between;margin-top:15px;color:rgba(255,255,255,.35);font-size:9px}

/* lector de reflexión: fullscreen editorial */
.reflection-reader-shell{inset:0!important;border:0!important;border-radius:0!important;background:linear-gradient(120deg,rgba(25,31,36,.995),rgba(8,12,16,.997))!important}
.reflection-reader-backdrop{background:rgba(4,7,10,.8)!important}
.reflection-reader-top{height:66px!important;padding:0 4vw!important}
.reflection-reader-scroll{height:calc(100% - 66px)!important}
#reflectionReaderContent{width:min(1320px,88%)!important}
.reader-layout{grid-template-columns:190px minmax(0,760px)!important;justify-content:center!important}
.reader-body{text-align:justify;text-justify:inter-word;hyphens:auto}

@media(max-width:1100px){
 .thought-scene{height:86vh}.thought-stage{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:40px}.thought-focus h2{font-size:clamp(56px,8vw,98px)}.thought-filters{justify-content:flex-start}.thought-brand>span{display:none}
}
@media(max-width:820px){
 .thought-scene{width:92vw!important;height:89vh;grid-template-rows:56px minmax(0,1fr) 30px}.thought-topbar{grid-template-columns:auto 1fr auto}.thought-filters{display:none}.thought-stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1.1fr) minmax(190px,.55fr);gap:0}.thought-focus{padding:4vh 3vw}.thought-focus:before{display:none}.thought-focus h2{font-size:clamp(48px,10vw,82px);max-width:90%}.thought-focus-progress{left:3vw;bottom:3vh}.thought-stream{border-left:0;border-top:1px solid rgba(255,255,255,.12);margin:0;padding:10px 0 0;grid-template-rows:30px minmax(0,1fr) 38px}.thought-stream-list{display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.thought-stream-item{flex:0 0 min(72vw,420px);border-bottom:0;border-right:1px solid rgba(255,255,255,.08);padding:12px 18px 12px 0;margin-right:18px}.thought-footer>span:last-child{display:none}.thought-footer{grid-template-columns:auto 1fr}
 .reader-layout{grid-template-columns:1fr!important}.reader-aside{position:static!important}
}
@media(max-width:560px){
 .thought-scene{width:94vw!important;height:91vh;grid-template-rows:52px minmax(0,1fr) 28px}.thought-brand .eyebrow{font-size:8px}.thought-search-trigger span{display:none}.thought-stage{grid-template-rows:minmax(0,1.22fr) 175px}.thought-focus{padding:3vh 1vw}.thought-focus h2{font-size:clamp(43px,12.5vw,64px);margin:18px 0}.thought-focus>p{font-size:13px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.thought-focus-ghost{font-size:34vw;left:0}.thought-focus-actions{margin-top:23px}.thought-focus-progress{left:1vw;width:60%;bottom:2vh}.thought-stream{padding-top:8px}.thought-stream-item{flex-basis:82vw}.thought-footer{font-size:7px}.thought-search-panel{top:20%;width:88vw}.thought-search-field input{font-size:11vw}.thought-search-meta span:first-child{display:none}
 #reflectionReaderContent{width:86%!important;padding-top:30px!important}.reader-hero h2{font-size:clamp(38px,11vw,58px)!important}
}
@media(prefers-reduced-motion:reduce){.thought-grain{animation:none}.thought-shift .thought-focus h2,.thought-shift .thought-focus>p,.thought-shift .thought-focus-kicker{animation:none}}

/* ============================================================
   Reflexiones · V1.0.36 — IDEA CONSTELLATION
   ============================================================ */
.reflections-v4{overflow:hidden!important;isolation:isolate}
.constellation-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.constellation-glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:
 radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(211,242,250,.13),transparent 20%),
 radial-gradient(circle at 50% 48%,rgba(255,255,255,.04),transparent 33%),
 linear-gradient(110deg,rgba(4,8,11,.28),transparent 45%,rgba(8,12,16,.2))}
.constellation-word{position:absolute;z-index:1;left:50%;top:52%;transform:translate(-50%,-50%);font-size:clamp(150px,25vw,440px);font-weight:760;letter-spacing:-.11em;line-height:.65;color:rgba(255,255,255,.024);white-space:nowrap;pointer-events:none;transition:opacity .5s,transform .8s cubic-bezier(.16,.86,.2,1)}

.constellation-scene{position:relative;z-index:3;width:min(1580px,94vw)!important;height:min(870px,89vh);display:grid;grid-template-rows:58px minmax(0,1fr)}
.constellation-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:26px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}
.constellation-brand{display:flex;align-items:center;gap:17px;white-space:nowrap}.constellation-brand .eyebrow{margin:0}.constellation-brand>span{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.34)}
.constellation-filters{display:flex;justify-content:center;gap:15px;overflow:auto;scrollbar-width:none}
.constellation-filters button{position:relative;border:0;background:none;color:rgba(255,255,255,.38);padding:10px 0;font-size:9px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.constellation-filters button:after{content:"";position:absolute;left:50%;bottom:1px;width:0;height:1px;background:#fff;transform:translateX(-50%);transition:.25s}.constellation-filters button.is-active,.constellation-filters button:hover{color:#fff}.constellation-filters button.is-active:after{width:100%}
.constellation-search{border:0;background:none;color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.constellation-search kbd{font:inherit;color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.13);border-radius:5px;padding:3px 5px;margin-left:8px}

.constellation-stage{position:relative;min-height:0;overflow:hidden}
.constellation-core{position:absolute;z-index:8;left:50%;top:50%;width:min(800px,57vw);transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.constellation-core-meta{display:flex;justify-content:center;gap:18px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.constellation-core-meta>span:first-child{font-size:22px;color:#fff;letter-spacing:-.04em}
.constellation-core h2{font-size:clamp(52px,6.2vw,104px);line-height:.87;letter-spacing:-.072em;margin:18px auto 20px;text-wrap:balance;max-width:900px}
.constellation-core>p{max-width:650px;margin:0 auto;color:rgba(255,255,255,.62);font-size:clamp(13px,1vw,17px);line-height:1.55}
.constellation-core-actions{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:28px;pointer-events:auto}
.constellation-core-actions button{display:flex;align-items:center;gap:28px;border:0;border-bottom:1px solid rgba(255,255,255,.38);background:none;color:#fff;padding:9px 0;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.constellation-core-actions>span{font-size:8px;color:rgba(255,255,255,.38)}

.constellation-nodes{position:absolute;inset:0;z-index:5}
.constellation-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:min(230px,18vw);min-height:44px;display:grid;grid-template-columns:20px 1fr;gap:2px 10px;text-align:left;border:0;background:none;color:#fff;padding:8px 0;cursor:pointer;opacity:.42;transition:opacity .3s,transform .5s cubic-bezier(.16,.86,.2,1),filter .3s}
.constellation-node:hover{opacity:.85;transform:translate(-50%,-50%) scale(1.06)}
.constellation-node.is-active{opacity:1;transform:translate(-50%,-50%) scale(1.12);filter:drop-shadow(0 8px 22px rgba(0,0,0,.28))}
.constellation-dot{position:absolute;left:-15px;top:50%;width:7px;height:7px;border:1px solid rgba(255,255,255,.72);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 0 rgba(255,255,255,.18);transition:.4s}.constellation-node.is-active .constellation-dot{background:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.08)}
.constellation-node-no{grid-row:1/3;font-size:9px;color:rgba(255,255,255,.34);padding-top:2px}.constellation-node-title{font-size:12px;line-height:1.2;font-weight:560;text-wrap:balance}.constellation-node small{font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.33)}
.camera-shift .constellation-core h2{animation:constellationFocus .78s cubic-bezier(.16,.86,.2,1)}.camera-shift .constellation-word{transform:translate(-50%,-50%) scale(1.045);opacity:.55}
@keyframes constellationFocus{0%{opacity:.02;transform:scale(.94);filter:blur(16px)}55%{opacity:.76}100%{opacity:1;transform:none;filter:none}}

.constellation-hud{position:absolute;z-index:10;left:0;right:0;bottom:0;height:40px;display:grid;grid-template-columns:auto 1fr auto auto;gap:17px;align-items:center;border-top:1px solid rgba(255,255,255,.09);font-size:8px;letter-spacing:.11em;color:rgba(255,255,255,.33)}.constellation-hud>i{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent)}.constellation-hud button{border:0;background:none;color:rgba(255,255,255,.6);font-size:8px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}

/* Search overlay from v3, kept intentionally cinematic */
.reflections-v4 .thought-search-overlay{position:absolute;inset:0;z-index:30}

/* Reader launches as an expanding field, not a card. */
.reflection-reader{--origin-x:50vw;--origin-y:50vh}
.reflection-reader:before{content:"";position:absolute;left:var(--origin-x);top:var(--origin-y);width:18px;height:18px;border-radius:50%;background:rgba(22,29,35,.98);transform:translate(-50%,-50%) scale(0);transition:transform .7s cubic-bezier(.16,.86,.2,1);z-index:0}
.reflection-reader.is-open:before{transform:translate(-50%,-50%) scale(180)}
.reflection-reader-shell{z-index:2!important;background:linear-gradient(120deg,rgba(25,31,36,.975),rgba(8,12,16,.985))!important}
.reflection-reader-backdrop{z-index:1!important;background:rgba(4,7,10,.18)!important;backdrop-filter:blur(18px)!important}

@media(max-width:1100px){
 .constellation-scene{height:87vh}.constellation-core{width:min(760px,64vw)}.constellation-core h2{font-size:clamp(48px,7vw,88px)}.constellation-node{width:20vw}.constellation-brand>span{display:none}.constellation-filters{justify-content:flex-start}
}
@media(max-width:820px){
 .constellation-scene{width:92vw!important;height:90vh;grid-template-rows:54px minmax(0,1fr)}.constellation-header{grid-template-columns:auto 1fr auto}.constellation-filters{display:none}.constellation-core{width:80vw;top:44%}.constellation-core h2{font-size:clamp(44px,10vw,72px)}.constellation-core>p{max-width:72vw}.constellation-node{width:30vw}.constellation-node:nth-child(n+7){display:none}.constellation-hud{grid-template-columns:auto 1fr auto}.constellation-hud>span:nth-of-type(2){display:none}
}
@media(max-width:560px){
 .constellation-scene{width:94vw!important;height:92vh;grid-template-rows:50px minmax(0,1fr)}.constellation-search{font-size:0}.constellation-search kbd{font-size:8px;margin:0}.constellation-core{width:88vw;top:42%}.constellation-core h2{font-size:clamp(39px,12vw,58px);margin:15px auto}.constellation-core>p{font-size:12px;max-width:82vw;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.constellation-core-actions{margin-top:20px}.constellation-node{width:38vw}.constellation-node:nth-child(n+6){display:none}.constellation-node-title{font-size:10px}.constellation-hud{grid-template-columns:auto 1fr auto;font-size:7px}.constellation-word{font-size:42vw}
}
@media(prefers-reduced-motion:reduce){.camera-shift .constellation-core h2{animation:none}.reflection-reader:before{transition:none}}

/* V1.0.37 · Reflexiones — central breathing room */
.reflections-v4 .constellation-core{width:min(700px,50vw)!important;top:49%!important}
.reflections-v4 .constellation-core h2{max-width:720px!important;font-size:clamp(46px,5.2vw,82px)!important;line-height:.9!important;margin:17px auto 18px!important;text-wrap:balance}
.reflections-v4 .constellation-core>p{max-width:590px!important;font-size:clamp(12px,.95vw,15px)!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.reflections-v4 .constellation-core-actions{margin-top:22px!important}
.reflections-v4 .constellation-node{width:min(185px,14vw)!important;opacity:.30!important}
.reflections-v4 .constellation-node:hover{opacity:.78!important}
.reflections-v4 .constellation-node.is-active{opacity:.92!important;transform:translate(-50%,-50%) scale(1.045)!important}
.reflections-v4 .constellation-node-title{font-size:10.5px!important;line-height:1.18!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.reflections-v4 .constellation-node small{font-size:6.5px!important}
.reflections-v4 .constellation-node-no{font-size:8px!important}
.reflections-v4 .constellation-dot{left:-11px!important;width:6px!important;height:6px!important}
.reflections-v4 .constellation-word{font-size:clamp(130px,20vw,340px)!important;opacity:.72}
.reflections-v4 .constellation-hud{height:36px!important}
@media(max-width:1100px){.reflections-v4 .constellation-core{width:min(640px,58vw)!important}.reflections-v4 .constellation-core h2{font-size:clamp(42px,6.2vw,70px)!important}.reflections-v4 .constellation-node{width:17vw!important}}
@media(max-width:820px){.reflections-v4 .constellation-core{width:78vw!important;top:45%!important}.reflections-v4 .constellation-core h2{font-size:clamp(40px,9vw,62px)!important}.reflections-v4 .constellation-node{width:26vw!important}.reflections-v4 .constellation-node:nth-child(n+7){display:none!important}}
@media(max-width:560px){.reflections-v4 .constellation-core{width:86vw!important;top:42%!important}.reflections-v4 .constellation-core h2{font-size:clamp(36px,11vw,52px)!important}.reflections-v4 .constellation-node{width:34vw!important}.reflections-v4 .constellation-node:nth-child(n+6){display:none!important}}

/* ============================================================
   Reflexiones · V1.0.38 — DARK CINEMATIC CONSTELLATION
   ============================================================ */
.reflections-v4{
  background:
    linear-gradient(rgba(4,7,10,.62),rgba(4,7,10,.62)),
    radial-gradient(circle at 50% 42%,rgba(58,92,108,.18),transparent 34%)!important;
}
.reflections-v4 .constellation-glow{
  background:
    radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(128,204,228,.13),transparent 16%),
    radial-gradient(circle at 50% 48%,rgba(102,164,188,.08),transparent 28%),
    linear-gradient(115deg,rgba(2,5,8,.62),rgba(5,9,13,.32) 48%,rgba(3,6,9,.58))!important;
}
.reflections-v4 .constellation-word{
  color:rgba(176,224,240,.028)!important;
  -webkit-text-stroke:1px rgba(181,226,240,.035);
}
.reflections-v4 .constellation-scene{
  height:min(860px,88vh)!important;
}
.reflections-v4 .constellation-stage{
  overflow:visible!important;
}
.reflections-v4 .constellation-core{
  width:min(620px,44vw)!important;
  top:48%!important;
  z-index:12!important;
}
.reflections-v4 .constellation-core h2{
  max-width:620px!important;
  font-size:clamp(42px,4.65vw,72px)!important;
  line-height:.92!important;
  color:#fff!important;
  text-shadow:0 10px 30px rgba(0,0,0,.32);
}
.reflections-v4 .constellation-core>p{
  max-width:520px!important;
  color:rgba(230,240,244,.68)!important;
}
.reflections-v4 .constellation-core-meta{
  color:rgba(204,226,234,.5)!important;
}
.reflections-v4 .constellation-core-meta>span:first-child{
  color:#dff7ff!important;
}
.reflections-v4 .constellation-node{
  width:min(165px,12.5vw)!important;
  opacity:.22!important;
  animation:nodeFloat 7s ease-in-out infinite;
  animation-delay:calc(var(--phase) * -1s);
}
@keyframes nodeFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0)}
  50%{transform:translate(-50%,-50%) translateY(calc(var(--drift) * -1px))}
}
.reflections-v4 .constellation-node:hover{
  opacity:.85!important;
  transform:translate(-50%,-50%) scale(1.08)!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1.06)!important;
}
.reflections-v4 .constellation-node-title{
  color:rgba(241,249,251,.84)!important;
  font-size:10px!important;
}
.reflections-v4 .constellation-node small{
  color:rgba(191,220,230,.35)!important;
}
.reflections-v4 .constellation-dot{
  border-color:rgba(185,232,246,.66)!important;
}
.reflections-v4 .constellation-node.is-active .constellation-dot{
  background:#dff8ff!important;
  box-shadow:0 0 0 9px rgba(169,227,244,.07),0 0 26px rgba(169,227,244,.25)!important;
}
.reflections-v4 .constellation-header{
  border-bottom-color:rgba(197,229,239,.11)!important;
}
.reflections-v4 .constellation-filters button,
.reflections-v4 .constellation-search{
  color:rgba(219,237,243,.46)!important;
}
.reflections-v4 .constellation-filters button.is-active,
.reflections-v4 .constellation-filters button:hover,
.reflections-v4 .constellation-search:hover{color:#fff!important}
.reflections-v4 .constellation-hud{
  color:rgba(197,223,232,.34)!important;
}

/* fullscreen build transition */
.thought-build{
  position:fixed;inset:0;z-index:2147483600;
  visibility:hidden;opacity:0;pointer-events:none;
  background:radial-gradient(circle at center,rgba(18,32,39,.98),rgba(4,7,10,.995) 60%);
  transition:opacity .28s ease,visibility .28s;
}
.thought-build.is-open{visibility:visible;opacity:1;pointer-events:auto}
.thought-build.is-leaving{opacity:0}
.thought-build-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(180,230,244,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(180,230,244,.05) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at center,#000 20%,transparent 74%);
  animation:gridPulse 1.8s ease-in-out infinite;
}
@keyframes gridPulse{50%{opacity:.45;transform:scale(1.02)}}
.thought-build-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(620px,82vw);text-align:center;
}
.thought-build-kicker{display:block;font-size:9px;letter-spacing:.22em;color:rgba(207,235,244,.46);margin-bottom:26px}
.thought-build-ring{
  position:relative;width:140px;height:140px;margin:0 auto 28px;border-radius:50%;
  border:1px solid rgba(186,231,244,.13)
}
.thought-build-ring:before,.thought-build-ring:after,.thought-build-ring i,.thought-build-ring b{
  content:"";position:absolute;border-radius:50%;
}
.thought-build-ring:before{inset:16px;border:1px solid rgba(184,232,246,.18);animation:spin 2.2s linear infinite}
.thought-build-ring:after{inset:34px;border:1px dashed rgba(188,236,248,.32);animation:spinReverse 1.5s linear infinite}
.thought-build-ring i{inset:50%;width:7px;height:7px;transform:translate(-50%,-50%);background:#dff8ff;box-shadow:0 0 22px rgba(179,233,249,.8)}
.thought-build-ring b{left:50%;top:-3px;width:7px;height:7px;background:#b9edfb;box-shadow:0 0 18px rgba(176,235,251,.65);animation:orbitDot 1.65s linear infinite;transform-origin:0 73px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes orbitDot{to{transform:rotate(360deg)}}
.thought-build-center strong{display:block;font-size:clamp(34px,4.5vw,68px);line-height:.95;letter-spacing:-.055em;color:#fff}
.thought-build-center small{display:block;margin-top:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(203,229,237,.38)}
.thought-build-progress{width:min(360px,70%);height:1px;margin:26px auto 0;background:rgba(205,233,241,.12);overflow:hidden}
.thought-build-progress i{display:block;width:34%;height:100%;background:linear-gradient(90deg,transparent,#dff8ff,transparent);animation:buildProgress .9s ease-in-out infinite}
@keyframes buildProgress{from{transform:translateX(-130%)}to{transform:translateX(390%)}}

/* futuristic reader */
.reflection-reader-shell{
  background:
    radial-gradient(circle at 80% 8%,rgba(91,154,177,.12),transparent 24%),
    linear-gradient(125deg,rgba(10,17,22,.995),rgba(4,8,11,.998))!important;
}
.reflection-reader-top{
  background:rgba(255,255,255,.015)!important;
  border-bottom-color:rgba(190,228,240,.10)!important;
}
#reflectionReaderContent{width:min(1380px,90%)!important}
.reader-hero{
  min-height:360px!important;
  padding-top:50px!important;
  border-bottom-color:rgba(187,226,238,.12)!important;
}
.reader-hero:before{
  content:"";position:absolute;left:0;top:52px;width:46px;height:1px;background:#dff8ff;box-shadow:0 0 18px rgba(183,232,246,.45)
}
.reader-hero h2{
  max-width:1060px!important;
  font-size:clamp(46px,6.4vw,94px)!important;
  color:#fff!important;
}
.reader-watermark{
  color:rgba(174,225,241,.025)!important;
  -webkit-text-stroke:1px rgba(174,225,241,.035);
}
.reader-layout{
  grid-template-columns:220px minmax(0,820px)!important;
  gap:clamp(50px,8vw,120px)!important;
  padding-top:64px!important;
}
.reader-aside{
  border-top:1px solid rgba(190,228,240,.18);
  padding-top:18px!important;
}
.reader-body{
  position:relative;
  color:rgba(236,245,248,.9)!important;
  text-align:justify!important;
}
.reader-body:before{
  content:"";position:absolute;left:-30px;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(183,228,241,.14),transparent)
}
.reader-body p:first-child:first-letter{
  float:left;font-size:4.6em;line-height:.78;padding:.08em .12em 0 0;color:#dff8ff;font-weight:650
}
.reader-body h2,.reader-body h3{color:#fff!important}
.reader-body blockquote{
  border-left-color:#bdeefa!important;
  background:rgba(190,235,246,.035);
  padding:20px 22px!important;
}
.reader-related{
  border-top-color:rgba(188,228,240,.12)!important;
}
.related-node{
  background:rgba(187,231,244,.02)!important;
  border-color:rgba(187,231,244,.10)!important;
}
.related-node:hover{
  background:rgba(187,231,244,.06)!important;
  border-color:rgba(187,231,244,.22)!important;
}
@media(max-width:820px){
 .reflections-v4 .constellation-core{width:74vw!important}
 .reflections-v4 .constellation-node{width:24vw!important}
 .reader-layout{grid-template-columns:1fr!important}
 .reader-body:before{display:none}
}
@media(max-width:560px){
 .reflections-v4 .constellation-core{width:84vw!important}
 .reflections-v4 .constellation-core h2{font-size:clamp(35px,10.5vw,50px)!important}
 .reflections-v4 .constellation-node{width:31vw!important}
 .reflections-v4 .constellation-node:nth-child(n+5){display:none!important}
 .thought-build-ring{width:110px;height:110px}
 .thought-build-ring b{transform-origin:0 58px}
}

/* ============================================================
   Reflexiones · V1.0.39 — clearer hierarchy, real movement,
   less overlap, lighter scene, fullscreen build retained
   ============================================================ */
.reflections-v4{
  background:
    linear-gradient(rgba(9,15,20,.28),rgba(9,15,20,.28)),
    radial-gradient(circle at 50% 46%,rgba(142,198,216,.12),transparent 30%)!important;
}
.reflections-v4 .constellation-glow{
  background:
    radial-gradient(circle at 50% 46%,rgba(235,247,251,.08),transparent 22%),
    radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(142,210,230,.10),transparent 18%),
    linear-gradient(115deg,rgba(5,8,12,.26),rgba(5,8,12,.10) 50%,rgba(5,8,12,.22))!important;
}
.reflections-v4 .constellation-word{
  color:rgba(196,231,241,.030)!important;
  opacity:.95!important;
}

.reflections-v4 .constellation-scene{height:min(860px,88vh)!important}
.reflections-v4 .constellation-core{
  width:min(650px,46vw)!important;
  top:49%!important;
  z-index:14!important;
  padding:34px 36px 30px!important;
  border-radius:28px!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  background:linear-gradient(180deg,rgba(10,17,22,.18),rgba(10,17,22,.08))!important;
  border:1px solid rgba(226,243,249,.10)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.14)!important;
}
.reflections-v4 .constellation-core h2{
  max-width:580px!important;
  font-size:clamp(36px,4vw,62px)!important;
  line-height:.95!important;
  margin:14px auto 18px!important;
  text-shadow:0 6px 18px rgba(0,0,0,.18)!important;
}
.reflections-v4 .constellation-core>p{
  max-width:500px!important;
  font-size:clamp(14px,.95vw,16px)!important;
  line-height:1.55!important;
  color:rgba(245,249,250,.78)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.10)!important;
}
.reflections-v4 .constellation-core-meta{
  color:rgba(225,240,246,.64)!important;
}
.reflections-v4 .constellation-core-actions{
  margin-top:22px!important;
}
.reflections-v4 .constellation-core-actions button{
  border-bottom-color:rgba(240,250,253,.44)!important;
}

.reflections-v4 .constellation-nodes{z-index:8!important}
.reflections-v4 .constellation-node{
  width:min(150px,11vw)!important;
  min-height:38px!important;
  opacity:.36!important;
  transition:opacity .35s ease, filter .35s ease, left .45s ease-out, top .45s ease-out, transform .35s ease!important;
}
.reflections-v4 .constellation-node:hover{
  opacity:.86!important;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.18));
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
  filter:drop-shadow(0 8px 24px rgba(130,205,229,.18));
}
.reflections-v4 .constellation-node-title{
  font-size:9.5px!important;
  line-height:1.18!important;
  color:rgba(249,252,253,.86)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.reflections-v4 .constellation-node small{
  font-size:6.5px!important;
  color:rgba(215,233,239,.42)!important;
}
.reflections-v4 .constellation-dot{
  width:6px!important;height:6px!important;left:-10px!important;
  border-color:rgba(209,238,247,.72)!important;
}
.reflections-v4 .constellation-node.is-active .constellation-dot{
  background:#e7fbff!important;
  box-shadow:0 0 0 8px rgba(173,228,244,.07), 0 0 20px rgba(173,228,244,.22)!important;
}
.reflections-v4 .constellation-hud{
  color:rgba(217,235,241,.46)!important;
}
.reflections-v4 .constellation-hud button{
  color:rgba(236,245,248,.72)!important;
}

/* Real scene entry */
.reflections-v4 .constellation-core,
.reflections-v4 .constellation-node,
.reflections-v4 .constellation-hud{
  opacity:0;
}
.reflections-v4 .constellation-core{
  transform:translate(-50%,-50%) translateY(28px) scale(.985);
}
.reflections-v4 .constellation-node{
  transform:translate(-50%,-50%) scale(.96);
}
.reflections-v4.is-awake .constellation-core{
  opacity:1;
  transform:translate(-50%,-50%) translateY(0) scale(1);
  transition:opacity .75s ease, transform .9s cubic-bezier(.16,.86,.2,1);
}
.reflections-v4.is-awake .constellation-node{
  opacity:.36;
  transition:opacity .7s ease, transform .9s cubic-bezier(.16,.86,.2,1), left .45s ease-out, top .45s ease-out;
}
.reflections-v4.is-awake .constellation-node:nth-child(1){transition-delay:.08s}
.reflections-v4.is-awake .constellation-node:nth-child(2){transition-delay:.14s}
.reflections-v4.is-awake .constellation-node:nth-child(3){transition-delay:.20s}
.reflections-v4.is-awake .constellation-node:nth-child(4){transition-delay:.26s}
.reflections-v4.is-awake .constellation-node:nth-child(5){transition-delay:.32s}
.reflections-v4.is-awake .constellation-node:nth-child(6){transition-delay:.38s}
.reflections-v4.is-awake .constellation-hud{
  opacity:1;
  transition:opacity .8s ease .25s;
}
.reflections-v4.is-awake .constellation-node.is-active{opacity:1}
.reflections-v4.is-awake.camera-shift .constellation-core{
  animation:constellationPulse .8s cubic-bezier(.16,.86,.2,1);
}
@keyframes constellationPulse{
  0%{filter:blur(10px);opacity:.35}
  100%{filter:none;opacity:1}
}

/* fullscreen transition overlay kept prominent */
.thought-build{
  background:
    radial-gradient(circle at center,rgba(30,56,68,.82),rgba(7,11,15,.96) 58%),
    linear-gradient(180deg,rgba(7,11,15,.96),rgba(7,11,15,.96))!important;
}
.thought-build-center strong{
  text-shadow:0 8px 26px rgba(164,226,244,.12);
}

/* Reader more futurist and less plain */
.reflection-reader-shell{
  background:
    radial-gradient(circle at 84% 10%,rgba(98,170,194,.14),transparent 22%),
    radial-gradient(circle at 18% 84%,rgba(91,141,165,.10),transparent 20%),
    linear-gradient(125deg,rgba(10,17,22,.99),rgba(5,8,11,.995))!important;
}
.reader-hero{
  position:relative!important;
}
.reader-hero:after{
  content:"";position:absolute;right:0;top:24px;width:180px;height:180px;border-radius:50%;
  border:1px solid rgba(192,232,243,.10);box-shadow:0 0 0 24px rgba(192,232,243,.02),0 0 0 48px rgba(192,232,243,.01)
}
.reader-layout{
  grid-template-columns:230px minmax(0,860px)!important;
}
.reader-aside{
  background:rgba(189,230,243,.02);
  border:1px solid rgba(189,230,243,.08);
  border-radius:18px;
  padding:20px!important;
}
.reader-meta-stack{
  display:flex;flex-direction:column;gap:8px;
  color:rgba(225,240,246,.66);
  font-size:12px;
  margin:8px 0 18px;
}
.reader-permalink{
  display:inline-flex;align-items:center;gap:8px;
  color:#e7fbff;text-decoration:none;font-size:12px;letter-spacing:.04em
}
.reader-body{
  font-size:17px;
  line-height:1.78;
}
.reader-body p:first-child:first-letter{
  color:#e7fbff!important;
}
@media(max-width:1100px){
  .reflections-v4 .constellation-core{width:min(620px,56vw)!important}
  .reflections-v4 .constellation-node{width:13vw!important}
}
@media(max-width:820px){
  .reflections-v4 .constellation-core{
    width:78vw!important;
    padding:26px 24px 24px!important;
  }
  .reflections-v4 .constellation-core h2{font-size:clamp(34px,8vw,52px)!important}
  .reflections-v4 .constellation-node{width:20vw!important}
  .reflections-v4 .constellation-node:nth-child(n+6){display:none!important}
  .reader-layout{grid-template-columns:1fr!important}
  .reader-hero:after{display:none}
}
@media(max-width:560px){
  .reflections-v4 .constellation-core{
    width:86vw!important;
    top:48%!important;
    padding:20px 18px 18px!important;
  }
  .reflections-v4 .constellation-core h2{font-size:clamp(31px,10vw,44px)!important}
  .reflections-v4 .constellation-core>p{font-size:13px!important}
  .reflections-v4 .constellation-node{width:28vw!important}
  .reflections-v4 .constellation-node:nth-child(n+5){display:none!important}
}

/* ============================================================
   Reflexiones · V1.0.40 — centered composition + fixed footer
   ============================================================ */
.reflections-v4{
  background:
    linear-gradient(rgba(8,13,18,.18),rgba(8,13,18,.18)),
    radial-gradient(circle at 50% 44%,rgba(178,220,232,.11),transparent 30%)!important;
}
.reflections-v4 .constellation-glow{
  background:
    radial-gradient(circle at 50% 46%,rgba(240,247,250,.06),transparent 24%),
    radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(155,216,234,.08),transparent 20%),
    linear-gradient(115deg,rgba(5,8,12,.18),rgba(5,8,12,.06) 50%,rgba(5,8,12,.16))!important;
}
.reflections-v4 .constellation-scene{height:min(860px,88vh)!important;grid-template-rows:58px minmax(0,1fr)!important}
.reflections-v4 .constellation-header{
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;
}
.reflections-v4 .constellation-brand{display:flex;align-items:center;gap:14px!important}
.reflections-v4 .constellation-mode{
  border:1px solid rgba(232,245,249,.14);background:rgba(255,255,255,.04);color:rgba(241,248,250,.68);
  border-radius:999px;padding:8px 12px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
}
.reflections-v4 .constellation-mode:hover{color:#fff;border-color:rgba(232,245,249,.28)}
.reflections-v4.constellation-freeze .constellation-mode{background:rgba(181,226,240,.10);color:#fff;border-color:rgba(181,226,240,.26)}
.reflections-v4 .constellation-core{
  width:min(720px,54vw)!important;top:46%!important;left:50%!important;
  padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;
}
.reflections-v4 .constellation-core h2{
  max-width:760px!important;font-size:clamp(38px,4.5vw,70px)!important;line-height:.92!important;margin:0 auto 18px!important;text-align:center;
}
.reflections-v4 .constellation-core>p{
  max-width:600px!important;font-size:clamp(15px,1vw,17px)!important;line-height:1.6!important;text-align:center;margin:0 auto;
}
.reflections-v4 .constellation-core-actions{
  justify-content:center!important;margin-top:28px!important;
}
.reflections-v4 .constellation-core-actions button{
  border-bottom-color:rgba(240,250,253,.42)!important;background:rgba(255,255,255,.04)!important;
  border-radius:999px!important;padding:12px 22px!important;border:1px solid rgba(240,250,253,.12)!important;
}
.reflections-v4 .constellation-core-actions button:hover{
  background:rgba(255,255,255,.08)!important;border-color:rgba(240,250,253,.22)!important;
}
.reflections-v4 .constellation-word{
  font-size:clamp(140px,23vw,370px)!important;left:50%!important;top:50%!important;opacity:.9!important;
}

.reflections-v4 .constellation-node{
  width:min(165px,12vw)!important;min-height:42px!important;opacity:.42!important;
}
.reflections-v4 .constellation-node-title{
  font-size:10px!important;line-height:1.18!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
}
.reflections-v4 .constellation-node:nth-child(1),
.reflections-v4 .constellation-node:nth-child(2),
.reflections-v4 .constellation-node:nth-child(3),
.reflections-v4 .constellation-node:nth-child(4){text-align:center}
.reflections-v4 .constellation-node:nth-child(5),
.reflections-v4 .constellation-node:nth-child(6){text-align:center}

.reflections-v4 .constellation-footer{
  position:absolute;left:0;right:0;bottom:0;height:56px;display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:18px;border-top:1px solid rgba(232,245,249,.10);padding:0 4px;
  color:rgba(221,238,244,.52);font-size:8px;letter-spacing:.12em;text-transform:uppercase;
}
.reflections-v4 .constellation-footer-left{justify-self:start}
.reflections-v4 .constellation-footer-center{
  display:flex;align-items:center;gap:18px;justify-content:center;white-space:nowrap;
}
.reflections-v4 .constellation-footer-center span:first-child{
  font-size:20px;letter-spacing:-.05em;color:#fff;text-transform:none;
}
.reflections-v4 .constellation-footer-right{
  display:flex;align-items:center;gap:18px;justify-self:end;
}
.reflections-v4 .constellation-footer button{
  border:0;background:none;color:rgba(241,248,250,.78);cursor:pointer;font-size:8px;letter-spacing:.14em;text-transform:uppercase;
}
.reflections-v4 .constellation-footer button:hover{color:#fff}

.reflections-v4 .constellation-hud{display:none!important;} /* legacy */
.reflections-v4 .constellation-nodes{z-index:8!important}
.reflections-v4 .constellation-stage{overflow:hidden!important}

@media(max-width:1100px){
 .reflections-v4 .constellation-core{width:min(760px,62vw)!important}
 .reflections-v4 .constellation-node{width:13vw!important}
}
@media(max-width:820px){
 .reflections-v4 .constellation-header{grid-template-columns:auto 1fr auto!important}
 .reflections-v4 .constellation-core{width:80vw!important;top:45%!important}
 .reflections-v4 .constellation-core h2{font-size:clamp(36px,8vw,56px)!important}
 .reflections-v4 .constellation-node{width:20vw!important}
 .reflections-v4 .constellation-footer{grid-template-columns:1fr;justify-items:center;height:auto;padding:10px 0 12px;gap:8px}
 .reflections-v4 .constellation-footer-left,.reflections-v4 .constellation-footer-right{justify-self:center}
}
@media(max-width:560px){
 .reflections-v4 .constellation-mode{display:none}
 .reflections-v4 .constellation-core{width:88vw!important;top:44%!important}
 .reflections-v4 .constellation-core h2{font-size:clamp(30px,10vw,44px)!important}
 .reflections-v4 .constellation-core>p{font-size:13px!important}
 .reflections-v4 .constellation-node{width:26vw!important}
 .reflections-v4 .constellation-node:nth-child(n+5){display:none!important}
 .reflections-v4 .constellation-footer-center{flex-wrap:wrap;gap:10px 14px}
}

/* ============================================================
   Reflexiones · V1.0.41 — redistributed layout + immersive reader
   ============================================================ */
.reflections-v4{
  background:
    linear-gradient(rgba(8,13,18,.09),rgba(8,13,18,.09)),
    radial-gradient(circle at 50% 42%,rgba(203,229,238,.12),transparent 30%)!important;
}
.reflections-v4 .constellation-glow{
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.07),transparent 22%),
    radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(173,225,241,.08),transparent 18%),
    linear-gradient(115deg,rgba(5,8,12,.12),rgba(5,8,12,.03) 50%,rgba(5,8,12,.10))!important;
}
.reflections-v4 .constellation-scene{height:min(860px,88vh)!important}
.reflections-v4 .constellation-core{
  width:min(760px,60vw)!important;
  top:45.5%!important;
  left:50%!important;
}
.reflections-v4 .constellation-core h2{
  max-width:780px!important;
  font-size:clamp(36px,4.6vw,74px)!important;
  line-height:.92!important;
  margin:0 auto 20px!important;
  text-align:center;
  text-wrap:balance;
}
.reflections-v4 .constellation-core>p{
  max-width:700px!important;
  font-size:clamp(15px,1vw,18px)!important;
  line-height:1.62!important;
  margin:0 auto!important;
  text-align:center;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.reflections-v4 .constellation-core-actions{margin-top:32px!important}
.reflections-v4 .constellation-core-actions button{
  min-width:230px;
}
.reflections-v4 .constellation-word{
  font-size:clamp(170px,27vw,460px)!important;
  opacity:.84!important;
}
.reflections-v4 .constellation-nodes{z-index:8!important}
.reflections-v4 .constellation-node{
  width:min(180px,13vw)!important;
  min-height:44px!important;
  text-align:center!important;
  opacity:.44!important;
}
.reflections-v4 .constellation-node-title{
  font-size:10px!important;
  line-height:1.18!important;
}
.reflections-v4 .constellation-node small{
  font-size:6.5px!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
}
.reflections-v4 .constellation-node-no{
  font-size:8px!important;
}
.reflections-v4 .constellation-footer{
  height:60px!important;
  padding:0 8px!important;
  background:linear-gradient(180deg,rgba(7,12,16,0),rgba(7,12,16,.10))!important;
}
.reflections-v4 .constellation-footer-center{
  gap:20px!important;
}
.reflections-v4 .constellation-footer-center span:first-child{
  font-size:22px!important;
}
.reflections-v4 .constellation-mode{
  font-size:8px!important;
}

/* clearer scene entry */
.reflections-v4.is-awake .constellation-core{
  transition:opacity .7s ease, transform .85s cubic-bezier(.16,.86,.2,1)!important;
}
.reflections-v4.is-awake .constellation-node{
  transition:opacity .8s ease, transform 1s cubic-bezier(.16,.86,.2,1), left .55s ease-out, top .55s ease-out!important;
}
.reflections-v4.is-awake.camera-shift .constellation-core h2{
  animation:reflectionTitleShift .7s cubic-bezier(.16,.86,.2,1);
}
@keyframes reflectionTitleShift{
  0%{opacity:.2;transform:translateY(18px);filter:blur(12px)}
  100%{opacity:1;transform:none;filter:none}
}

/* Build overlay: stronger and unmistakable */
.thought-build{
  background:
    radial-gradient(circle at center,rgba(53,96,114,.68),rgba(7,11,15,.96) 58%),
    linear-gradient(180deg,rgba(7,11,15,.98),rgba(7,11,15,.98))!important;
}
.thought-build-center{width:min(720px,86vw)!important}
.thought-build-center strong{font-size:clamp(42px,5.2vw,78px)!important}
.thought-build-ring{width:170px!important;height:170px!important}
.thought-build-ring b{transform-origin:0 88px!important}
.thought-build-progress{width:min(460px,80%)!important}

/* Reader: no columns, hero media protagonist, gradient fade into text */
#reflectionReaderContent{
  width:min(1480px,92%)!important;
  padding:38px 0 90px!important;
}
.reader-hero{
  min-height:auto!important;
  padding:24px 0 24px!important;
  border-bottom:0!important;
}
.reader-kicker{
  display:flex;gap:18px;flex-wrap:wrap;
}
.reader-hero h2{
  max-width:1100px!important;
  font-size:clamp(46px,6.4vw,96px)!important;
  line-height:.9!important;
  margin-top:18px!important;
}
.reader-hero p{
  max-width:980px!important;
  font-size:clamp(16px,1.2vw,21px)!important;
  line-height:1.65!important;
}
.reader-tags-inline{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:20px
}
.reader-tags-inline span{
  border:1px solid rgba(198,233,243,.14);
  background:rgba(198,233,243,.04);
  border-radius:999px;
  padding:7px 10px;
  font-size:10px;
  color:rgba(232,244,248,.72);
}
.reader-media-band{
  position:relative;
  height:clamp(340px,58vh,720px);
  margin:18px 0 0;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(22,33,40,.92),rgba(10,16,22,.98));
  border:1px solid rgba(191,230,242,.10);
}
.reader-media-band figure,
.reader-media-band .reader-media-figure{
  margin:0!important;
  width:100%;
  height:100%;
}
.reader-media-band img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.04) contrast(1.03);
}
.reader-media-fallback{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 74% 24%,rgba(122,196,220,.16),transparent 18%),
    linear-gradient(135deg,rgba(22,33,40,.96),rgba(10,16,22,.98));
}
.reader-media-fallback span{
  font-size:clamp(88px,14vw,240px);
  letter-spacing:-.08em;
  color:rgba(216,241,248,.08);
  font-weight:700;
}
.reader-media-gradient{
  position:absolute;left:0;right:0;bottom:0;height:48%;
  background:linear-gradient(180deg,rgba(8,13,18,0) 0%,rgba(8,13,18,.32) 35%,rgba(8,13,18,.88) 78%,rgba(8,13,18,.98) 100%);
  pointer-events:none;
}
.reader-body.reader-body-full{
  width:min(900px,88vw)!important;
  margin:-76px auto 0!important;
  position:relative;
  z-index:3;
  background:linear-gradient(180deg,rgba(8,13,18,.58),rgba(8,13,18,0) 28px);
  padding-top:34px!important;
  font-size:18px!important;
  line-height:1.82!important;
  text-align:justify!important;
}
.reader-body.reader-body-full > *{
  max-width:100%;
}
.reader-body.reader-body-full h2,
.reader-body.reader-body-full h3,
.reader-body.reader-body-full h4{
  margin-top:1.8em;
}
.reader-body.reader-body-full figure{
  margin:2.3em 0!important;
}
.reader-body.reader-body-full img{
  width:100%;
  height:auto;
  border-radius:18px;
}
.reader-body.reader-body-full:before{
  display:none!important;
}
.reader-related{
  width:min(1180px,90vw);
  margin:54px auto 0!important;
  border-top:1px solid rgba(198,233,243,.10)!important;
  padding-top:28px!important;
}
.reader-related-top{
  display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px;
}
.reader-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.related-node{
  min-height:130px;
}
.reader-layout,.reader-aside{display:none!important}

@media(max-width:1100px){
  .reflections-v4 .constellation-core{width:min(780px,68vw)!important}
  .reflections-v4 .constellation-node{width:14vw!important}
  .reader-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .reflections-v4 .constellation-core{width:82vw!important;top:44.5%!important}
  .reflections-v4 .constellation-core h2{font-size:clamp(34px,8vw,60px)!important}
  .reflections-v4 .constellation-core>p{font-size:14px!important}
  .reflections-v4 .constellation-node{width:22vw!important}
  .reflections-v4 .constellation-footer{grid-template-columns:1fr!important;gap:8px;height:auto!important;padding:10px 0 12px!important}
  .reflections-v4 .constellation-footer-left,.reflections-v4 .constellation-footer-right{justify-self:center!important}
  .reader-media-band{height:clamp(280px,44vh,500px);border-radius:24px}
  .reader-body.reader-body-full{margin:-44px auto 0!important;width:min(90vw,760px)!important;padding-top:26px!important}
  .reader-related-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .reflections-v4 .constellation-mode{display:none!important}
  .reflections-v4 .constellation-core{width:88vw!important;top:43.5%!important}
  .reflections-v4 .constellation-core h2{font-size:clamp(30px,10vw,46px)!important}
  .reflections-v4 .constellation-node{width:28vw!important}
  .reflections-v4 .constellation-node:nth-child(n+5){display:none!important}
  .reader-hero h2{font-size:clamp(34px,12vw,54px)!important}
  .reader-media-band{height:260px}
  .reader-body.reader-body-full{margin:-26px auto 0!important}
}

/* ============================================================
   Reflexiones · V1.0.42 — structural reset
   ============================================================ */
.reflections-v4{
  background:
    linear-gradient(rgba(6,10,14,.04),rgba(6,10,14,.04)),
    radial-gradient(circle at 50% 43%,rgba(215,238,245,.10),transparent 31%)!important;
}
.reflections-v4 .constellation-glow{
  background:
    radial-gradient(circle at 50% 43%,rgba(255,255,255,.05),transparent 22%),
    radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(174,225,241,.07),transparent 19%)!important;
}
.reflections-v4 .constellation-core{
  width:min(690px,55vw)!important;
  top:47%!important;
  left:50%!important;
  padding:24px 30px 26px!important;
  background:rgba(8,14,18,.14)!important;
  border:1px solid rgba(238,248,251,.08)!important;
  border-radius:28px!important;
  backdrop-filter:blur(12px) saturate(110%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(110%)!important;
}
.reflections-v4 .constellation-core h2{
  max-width:650px!important;
  font-size:clamp(34px,4.1vw,62px)!important;
  line-height:.94!important;
  margin:0 auto 16px!important;
}
.reflections-v4 .constellation-core>p{
  max-width:610px!important;
  font-size:clamp(14px,1vw,17px)!important;
  line-height:1.58!important;
  -webkit-line-clamp:2!important;
}
.reflections-v4 .constellation-core-actions{margin-top:22px!important}
.reflections-v4 .constellation-core-actions button{min-width:220px!important}
.reflections-v4 .constellation-node{
  width:min(155px,11.5vw)!important;
  min-height:38px!important;
  opacity:.48!important;
}
.reflections-v4 .constellation-node-title{
  font-size:9px!important;
  line-height:1.15!important;
  -webkit-line-clamp:2!important;
}
.reflections-v4 .constellation-node small{font-size:6px!important}
.reflections-v4 .constellation-node.is-active{opacity:1!important}
.reflections-v4 .constellation-word{
  font-size:clamp(150px,24vw,400px)!important;
  opacity:.64!important;
}
.reflections-v4 .constellation-footer{
  height:58px!important;
  background:linear-gradient(180deg,rgba(7,12,16,0),rgba(7,12,16,.08))!important;
}
.reflections-v4 .constellation-footer-center{gap:16px!important}
.reflections-v4 .constellation-footer-center span:first-child{font-size:20px!important}

.reflections-v4 .constellation-dot:after{
  content:"";position:absolute;left:50%;top:50%;width:100%;height:100%;
  border:1px solid rgba(210,240,248,.36);border-radius:50%;
  transform:translate(-50%,-50%) scale(1);opacity:.5;
  animation:ideaPulse 2.2s ease-out infinite;
}
@keyframes ideaPulse{
  0%{transform:translate(-50%,-50%) scale(1);opacity:.45}
  75%,100%{transform:translate(-50%,-50%) scale(4.2);opacity:0}
}

body > .thought-build{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  transform:none!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(63,118,138,.82),rgba(6,10,14,.985) 58%),
    linear-gradient(180deg,#071016,#05090d)!important;
}
body > .thought-build .thought-build-grid{background-size:48px 48px!important;opacity:.8!important}
body > .thought-build .thought-build-center{width:min(760px,88vw)!important}
body > .thought-build .thought-build-ring{width:190px!important;height:190px!important;box-shadow:0 0 80px rgba(151,220,240,.08)}
body > .thought-build .thought-build-ring b{transform-origin:0 98px!important}
body > .thought-build .thought-build-center strong{font-size:clamp(44px,5.4vw,82px)!important}
body > .thought-build .thought-build-progress{width:min(520px,78%)!important}

.reflection-reader-shell{
  clip-path:circle(0 at var(--origin-x,50vw) var(--origin-y,50vh));
  transition:clip-path .82s cubic-bezier(.16,.86,.2,1),opacity .35s ease!important;
}
.reflection-reader.is-open .reflection-reader-shell{
  clip-path:circle(160vmax at var(--origin-x,50vw) var(--origin-y,50vh));
}

#reflectionReaderContent{
  width:100%!important;
  max-width:none!important;
  padding:0 0 110px!important;
}
.reader-cinematic-hero{
  position:relative;
  height:clamp(520px,78vh,900px);
  min-height:520px;
  overflow:hidden;
  background:linear-gradient(135deg,#102029,#071016);
}
.reader-cinematic-media{position:absolute;inset:0}
.reader-cinematic-media .reader-hero-image,
.reader-cinematic-media img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:center!important;display:block!important;border-radius:0!important;
}
.reader-media-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 72% 22%,rgba(108,191,216,.22),transparent 19%),
    linear-gradient(135deg,#17313d,#081117);
}
.reader-media-fallback span{
  font-size:clamp(90px,16vw,260px);font-weight:720;letter-spacing:-.08em;color:rgba(216,241,248,.08);
}
.reader-cinematic-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(5,9,12,.52),rgba(5,9,12,.12) 58%,rgba(5,9,12,.08)),
    linear-gradient(180deg,rgba(4,8,11,.05) 0%,rgba(4,8,11,.10) 45%,rgba(5,9,12,.68) 74%,#071016 100%);
}
.reader-cinematic-title{
  position:absolute;left:max(6vw,70px);right:max(6vw,70px);bottom:72px;z-index:3;max-width:1120px;
}
.reader-cinematic-title .reader-kicker{
  display:flex;gap:18px;flex-wrap:wrap;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(230,244,248,.72);
}
.reader-cinematic-title h2{
  margin:18px 0 18px;font-size:clamp(44px,6.4vw,100px);line-height:.88;letter-spacing:-.06em;
  color:#fff;text-wrap:balance;text-shadow:0 12px 32px rgba(0,0,0,.28);
}
.reader-cinematic-title>p{
  max-width:880px;margin:0;font-size:clamp(16px,1.25vw,21px);line-height:1.58;color:rgba(245,250,252,.84);
}
.reader-body.reader-body-full{
  width:min(900px,86vw)!important;
  margin:-34px auto 0!important;
  position:relative;z-index:4;
  padding:0 0 30px!important;background:transparent!important;
  font-size:18px!important;line-height:1.84!important;text-align:justify!important;
}
.reader-body.reader-body-full:before{display:none!important}
.reader-body.reader-body-full p:first-child:first-letter{
  float:left;font-size:4.4em;line-height:.76;padding:.08em .13em 0 0;color:#dff8ff;font-weight:650;
}
.reader-related{width:min(1120px,88vw)!important;margin:56px auto 0!important}
.reader-related-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.reader-fixed-footer{
  position:fixed;left:0;right:0;bottom:0;min-height:58px;z-index:20;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;
  padding:10px 4vw;border-top:1px solid rgba(199,232,242,.12);
  background:rgba(6,11,15,.78);
  backdrop-filter:blur(20px) saturate(120%);
  -webkit-backdrop-filter:blur(20px) saturate(120%);
}
.reader-fixed-tags{display:flex;gap:7px;overflow:auto;scrollbar-width:none}
.reader-fixed-tags span{
  flex:0 0 auto;border:1px solid rgba(205,235,244,.14);border-radius:999px;padding:6px 9px;
  color:rgba(231,244,248,.68);font-size:8px;letter-spacing:.08em;text-transform:uppercase;
}
.reader-fixed-meta{
  display:flex;gap:18px;color:rgba(226,241,246,.62);font-size:8px;letter-spacing:.12em;text-transform:uppercase;
}
.reader-layout,.reader-aside,.reader-media-band,.reader-hero{display:none!important}

@media(max-width:1100px){
  .reflections-v4 .constellation-core{width:min(700px,64vw)!important}
  .reflections-v4 .constellation-node{width:13vw!important}
  .reader-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .reflections-v4 .constellation-core{width:80vw!important;top:45%!important}
  .reflections-v4 .constellation-node{width:21vw!important}
  .reflections-v4 .constellation-node:nth-child(n+6){display:none!important}
  .reader-cinematic-hero{height:70vh;min-height:500px}
  .reader-cinematic-title{left:6vw;right:6vw;bottom:62px}
  .reader-cinematic-title h2{font-size:clamp(38px,9vw,68px)}
  .reader-fixed-footer{grid-template-columns:1fr;gap:8px;padding:9px 5vw}
  .reader-fixed-meta{justify-content:space-between}
  .reader-related-grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .reflections-v4 .constellation-core{width:88vw!important;top:44%!important;padding:18px 18px 20px!important}
  .reflections-v4 .constellation-core h2{font-size:clamp(30px,10vw,44px)!important}
  .reflections-v4 .constellation-node{width:27vw!important}
  .reflections-v4 .constellation-node:nth-child(n+5){display:none!important}
  .reader-cinematic-hero{height:66vh;min-height:470px}
  .reader-cinematic-title{bottom:54px}
  .reader-cinematic-title h2{font-size:clamp(34px,11vw,52px)}
  .reader-cinematic-title>p{font-size:14px}
  .reader-body.reader-body-full{width:88vw!important;font-size:16px!important}
}

/* ============================================================
   V1.0.43 · Reflexiones — small laptop / short viewport pass
   Target reference: ~1377×769 and similar 11–13" laptops.
   ============================================================ */

/* Ensure declared widths include padding and borders. */
.reflections-v4 .constellation-core,
.reflections-v4 .constellation-footer,
.reflections-v4 .constellation-node,
.reflections-v4 .constellation-scene{
  box-sizing:border-box!important;
}

/* General laptop tightening before mobile/tablet breakpoints. */
@media (max-width:1440px){
  .reflections-v4 .constellation-scene{
    width:min(1500px,92vw)!important;
  }
  .reflections-v4 .constellation-header{
    gap:18px!important;
  }
  .reflections-v4 .constellation-brand{
    gap:11px!important;
  }
  .reflections-v4 .constellation-mode{
    padding:7px 10px!important;
    font-size:7px!important;
  }
  .reflections-v4 .constellation-filters{
    gap:12px!important;
  }
  .reflections-v4 .constellation-filters button,
  .reflections-v4 .constellation-search{
    font-size:8px!important;
  }

  .reflections-v4 .constellation-core{
    width:min(650px,51vw)!important;
    padding:20px 24px 22px!important;
  }
  .reflections-v4 .constellation-core h2{
    max-width:600px!important;
    font-size:clamp(34px,3.8vw,56px)!important;
  }
  .reflections-v4 .constellation-core>p{
    max-width:560px!important;
    font-size:14px!important;
  }
  .reflections-v4 .constellation-core-actions{
    margin-top:18px!important;
  }
  .reflections-v4 .constellation-core-actions button{
    min-width:205px!important;
    padding:10px 20px!important;
  }

  .reflections-v4 .constellation-node{
    width:min(145px,10.6vw)!important;
  }
  .reflections-v4 .constellation-node-title{
    font-size:8.5px!important;
  }

  .reflections-v4 .constellation-footer{
    height:52px!important;
  }
  .reflections-v4 .constellation-footer-center{
    gap:13px!important;
  }
  .reflections-v4 .constellation-footer-center span:first-child{
    font-size:18px!important;
  }
}

/* Critical short-height layout: this is what 11" laptops expose. */
@media (max-height:820px) and (min-width:900px){
  .reflections-v4 .constellation-scene{
    height:calc(100vh - 92px)!important;
    max-height:none!important;
    min-height:610px!important;
    grid-template-rows:52px minmax(0,1fr)!important;
  }

  .reflections-v4 .constellation-header{
    min-height:52px!important;
  }

  .reflections-v4 .constellation-brand .eyebrow{
    font-size:10px!important;
  }

  .reflections-v4 .constellation-stage{
    min-height:0!important;
    overflow:hidden!important;
  }

  /* Smaller nucleus and slightly higher position, leaving footer breathing room. */
  .reflections-v4 .constellation-core{
    width:min(610px,48vw)!important;
    top:45%!important;
    padding:18px 22px 19px!important;
    border-radius:24px!important;
  }

  .reflections-v4 .constellation-core h2{
    max-width:570px!important;
    font-size:clamp(32px,3.65vw,52px)!important;
    line-height:.94!important;
    margin-bottom:13px!important;
  }

  .reflections-v4 .constellation-core>p{
    max-width:530px!important;
    font-size:13px!important;
    line-height:1.48!important;
    -webkit-line-clamp:2!important;
  }

  .reflections-v4 .constellation-core-actions{
    margin-top:15px!important;
  }

  .reflections-v4 .constellation-core-actions button{
    min-width:190px!important;
    padding:9px 18px!important;
    font-size:8px!important;
  }

  /* Perimeter becomes a real perimeter instead of sitting above/below nucleus. */
  .reflections-v4 .constellation-node{
    width:min(132px,10vw)!important;
    opacity:.50!important;
  }

  .reflections-v4 .constellation-node-title{
    font-size:8px!important;
    -webkit-line-clamp:2!important;
  }

  .reflections-v4 .constellation-node small{
    font-size:5.5px!important;
  }

  /* Footer visually detached from nucleus. */
  .reflections-v4 .constellation-footer{
    height:46px!important;
    bottom:3px!important;
    padding:0 5px!important;
    background:rgba(7,12,16,.05)!important;
  }

  .reflections-v4 .constellation-footer-left,
  .reflections-v4 .constellation-footer-center,
  .reflections-v4 .constellation-footer-right{
    transform:translateY(0)!important;
  }

  .reflections-v4 .constellation-footer{
    font-size:7px!important;
  }

  .reflections-v4 .constellation-footer-center{
    gap:11px!important;
  }

  .reflections-v4 .constellation-footer-center span:first-child{
    font-size:17px!important;
  }

  .reflections-v4 .constellation-word{
    font-size:clamp(135px,21vw,320px)!important;
    opacity:.52!important;
  }
}

/* Extra-short laptop screens: 720–760 px high */
@media (max-height:760px) and (min-width:900px){
  .reflections-v4 .constellation-scene{
    height:calc(100vh - 76px)!important;
    min-height:570px!important;
  }

  .reflections-v4 .constellation-core{
    top:43.5%!important;
    width:min(570px,46vw)!important;
    padding:16px 20px 17px!important;
  }

  .reflections-v4 .constellation-core h2{
    font-size:clamp(30px,3.35vw,47px)!important;
    max-width:530px!important;
  }

  .reflections-v4 .constellation-core>p{
    max-width:490px!important;
    font-size:12.5px!important;
  }

  .reflections-v4 .constellation-core-actions{
    margin-top:13px!important;
  }

  .reflections-v4 .constellation-footer{
    height:42px!important;
  }

  .reflections-v4 .constellation-node{
    width:min(122px,9.2vw)!important;
  }
}

/* Wide-but-short 11–13" notebook range. */
@media (min-width:1180px) and (max-width:1450px) and (max-height:820px){
  .reflections-v4 .constellation-node:nth-child(1){margin-top:-5px}
  .reflections-v4 .constellation-node:nth-child(2){margin-top:-8px}
  .reflections-v4 .constellation-node:nth-child(3){margin-top:-5px}
  .reflections-v4 .constellation-node:nth-child(6){margin-top:4px}
}

/* Reader also needs a short-height pass. */
@media (max-height:820px) and (min-width:900px){
  .reader-cinematic-hero{
    height:72vh!important;
    min-height:470px!important;
  }

  .reader-cinematic-title{
    bottom:52px!important;
  }

  .reader-cinematic-title h2{
    font-size:clamp(40px,5.2vw,78px)!important;
  }

  .reader-cinematic-title>p{
    font-size:16px!important;
  }

  .reader-body.reader-body-full{
    margin:-22px auto 0!important;
  }
}


/* ============================================================
   V1.0.44 · Reflexiones — remove glass panel / open composition
   ============================================================ */
.reflections-v4 .constellation-core{
  width:min(760px,58vw)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
  isolation:isolate;
}
.reflections-v4 .constellation-core::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(900px,74vw);
  height:min(470px,54vh);
  transform:translate(-50%,-50%);
  background:
    radial-gradient(ellipse at center,
      rgba(247,250,251,.26) 0%,
      rgba(247,250,251,.14) 24%,
      rgba(247,250,251,.06) 44%,
      rgba(247,250,251,0) 72%);
  filter:blur(14px);
  pointer-events:none;
  z-index:-1;
}
.reflections-v4 .constellation-core::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(1040px,88vw);
  height:min(560px,66vh);
  transform:translate(-50%,-50%);
  background:
    radial-gradient(ellipse at center,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,.04) 22%,
      rgba(255,255,255,0) 62%);
  pointer-events:none;
  z-index:-2;
}
.reflections-v4 .constellation-core h2{
  max-width:min(900px,72vw)!important;
  margin:0 auto 18px!important;
  text-shadow:0 12px 34px rgba(0,0,0,.16), 0 3px 10px rgba(0,0,0,.12)!important;
}
.reflections-v4 .constellation-core > p{
  max-width:min(700px,62vw)!important;
  text-shadow:0 6px 18px rgba(0,0,0,.12)!important;
}
.reflections-v4 .constellation-core-actions{
  margin-top:20px!important;
}
.reflections-v4 .constellation-core-actions button{
  background:rgba(255,255,255,.05)!important;
  border:1px solid rgba(245,250,252,.18)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.08)!important;
}
.reflections-v4 .constellation-core-actions button:hover{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(245,250,252,.28)!important;
}
.reflections-v4 .constellation-word{
  opacity:.50!important;
}
.reflections-v4 .constellation-node{
  opacity:.56!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
}
.reflections-v4 .constellation-footer{
  background:linear-gradient(180deg,rgba(7,12,16,0),rgba(7,12,16,.06))!important;
}

@media (max-width:1440px){
  .reflections-v4 .constellation-core{
    width:min(700px,55vw)!important;
  }
  .reflections-v4 .constellation-core::before{
    width:min(820px,72vw);
    height:min(430px,52vh);
  }
}

@media (max-height:820px) and (min-width:900px){
  .reflections-v4 .constellation-core{
    width:min(620px,50vw)!important;
    top:44.5%!important;
  }
  .reflections-v4 .constellation-core::before{
    width:min(720px,66vw);
    height:min(360px,44vh);
    filter:blur(12px);
  }
  .reflections-v4 .constellation-core::after{
    width:min(860px,80vw);
    height:min(430px,52vh);
  }
  .reflections-v4 .constellation-core h2{
    max-width:min(660px,58vw)!important;
  }
  .reflections-v4 .constellation-core > p{
    max-width:min(560px,50vw)!important;
  }
}

@media (max-height:760px) and (min-width:900px){
  .reflections-v4 .constellation-core{
    width:min(580px,47vw)!important;
    top:43.5%!important;
  }
  .reflections-v4 .constellation-core::before{
    width:min(660px,62vw);
    height:min(320px,41vh);
  }
  .reflections-v4 .constellation-core::after{
    width:min(800px,76vw);
    height:min(390px,48vh);
  }
}

@media (max-width:820px){
  .reflections-v4 .constellation-core{
    width:82vw!important;
    top:45%!important;
  }
  .reflections-v4 .constellation-core::before{
    width:88vw;
    height:34vh;
  }
  .reflections-v4 .constellation-core::after{
    width:96vw;
    height:44vh;
  }
  .reflections-v4 .constellation-core h2{
    max-width:84vw!important;
  }
  .reflections-v4 .constellation-core > p{
    max-width:74vw!important;
  }
}

@media (max-width:560px){
  .reflections-v4 .constellation-core{
    width:88vw!important;
  }
  .reflections-v4 .constellation-core::before{
    width:96vw;
    height:30vh;
    filter:blur(10px);
  }
  .reflections-v4 .constellation-core::after{
    width:108vw;
    height:38vh;
  }
  .reflections-v4 .constellation-core h2{
    max-width:90vw!important;
  }
  .reflections-v4 .constellation-core > p{
    max-width:80vw!important;
  }
}


/* ============================================================
   V1.0.45 · Reflexiones — wide orbit + Apple graphite reader
   ============================================================ */

/* The focus owns the centre; satellites use the wide perimeter. */
.reflections-v4 .constellation-node{
  width:min(176px,12vw)!important;
  opacity:.72!important;
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.42)!important;
}
.reflections-v4 .constellation-node-title{
  color:rgba(255,255,255,.96)!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}
.reflections-v4 .constellation-node small,
.reflections-v4 .constellation-node-no{
  color:rgba(245,245,247,.62)!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
}
.reflections-v4 .constellation-core h2{
  color:#f5f5f7!important;
  text-shadow:0 8px 28px rgba(0,0,0,.32),0 2px 7px rgba(0,0,0,.24)!important;
}
.reflections-v4 .constellation-core>p{
  color:rgba(245,245,247,.86)!important;
  text-shadow:0 4px 15px rgba(0,0,0,.28)!important;
}
.reflections-v4 .constellation-core::before{
  background:
    radial-gradient(ellipse at center,
      rgba(20,20,22,.20) 0%,
      rgba(20,20,22,.10) 31%,
      rgba(20,20,22,.035) 49%,
      rgba(20,20,22,0) 73%)!important;
}

/* Apple-like neutral graphite reading environment. */
.reflection-reader-shell{
  background:#151517!important;
  border-color:rgba(255,255,255,.10)!important;
}
.reflection-reader-top{
  background:rgba(21,21,23,.84)!important;
  border-bottom-color:rgba(255,255,255,.10)!important;
  color:rgba(245,245,247,.62)!important;
  backdrop-filter:blur(24px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(135%)!important;
}
.reflection-reader-top button{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#f5f5f7!important;
}
.reflection-reader-scroll{
  background:#151517!important;
  scrollbar-color:rgba(245,245,247,.72) transparent!important;
}
.reader-cinematic-hero{
  background:#1c1c1e!important;
}
.reader-cinematic-shade{
  background:
    linear-gradient(90deg,rgba(18,18,20,.48),rgba(18,18,20,.10) 60%,rgba(18,18,20,.04)),
    linear-gradient(180deg,rgba(18,18,20,.02) 0%,rgba(18,18,20,.08) 46%,rgba(21,21,23,.58) 75%,#151517 100%)!important;
}
.reader-cinematic-title .reader-kicker{
  color:rgba(245,245,247,.72)!important;
}
.reader-cinematic-title h2{
  color:#f5f5f7!important;
}
.reader-cinematic-title>p{
  color:rgba(245,245,247,.86)!important;
}
.reader-body.reader-body-full{
  color:rgba(245,245,247,.91)!important;
  line-height:1.9!important;
}
.reader-body.reader-body-full p,
.reader-body.reader-body-full li{
  color:rgba(245,245,247,.89)!important;
}
.reader-body.reader-body-full h2,
.reader-body.reader-body-full h3,
.reader-body.reader-body-full h4{
  color:#f5f5f7!important;
}
.reader-body.reader-body-full a{
  color:#fff!important;
  text-decoration-color:rgba(255,255,255,.36)!important;
}
.reader-body.reader-body-full p:first-child:first-letter{
  color:#f5f5f7!important;
  margin-right:.02em!important;
  text-shadow:0 3px 18px rgba(255,255,255,.08)!important;
}
.reader-related{
  color:#f5f5f7!important;
}
.reader-fixed-footer{
  background:rgba(28,28,30,.82)!important;
  border-top-color:rgba(255,255,255,.10)!important;
  backdrop-filter:blur(28px) saturate(140%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(140%)!important;
}
.reader-fixed-tags span{
  color:rgba(245,245,247,.72)!important;
  border-color:rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.035)!important;
}
.reader-fixed-meta{
  color:rgba(245,245,247,.66)!important;
}

/* Keep the graphite transition continuous after the photographic fade. */
#reflectionReaderContent{
  background:#151517!important;
}

/* Short laptops: retain the wide orbit instead of collapsing inward. */
@media (min-width:900px) and (max-height:820px){
  .reflections-v4 .constellation-node{
    width:min(160px,11.5vw)!important;
  }
}
@media (min-width:1180px) and (max-width:1450px) and (max-height:820px){
  .reflections-v4 .constellation-node{
    width:min(154px,11vw)!important;
  }
}


/* ============================================================
   V1.0.46 · Reflexiones
   Full-bleed orbit + visible two-stage transition + Apple graphite
   ============================================================ */

/* 1. The constellation must not feel trapped inside an invisible screen. */
.reflections-v4 .constellation-stage{
  overflow:visible!important;
}
.reflections-v4 .constellation-scene{
  overflow:visible!important;
}
.reflections-v4 .constellation-nodes{
  left:-10vw!important;
  right:-10vw!important;
  top:-1.5vh!important;
  bottom:-1.5vh!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
}
.reflections-v4 .constellation-node{
  width:min(184px,12vw)!important;
  opacity:.76!important;
  z-index:9!important;
}
.reflections-v4 .constellation-node-title{
  font-size:10px!important;
  line-height:1.2!important;
  color:rgba(255,255,255,.98)!important;
}
.reflections-v4 .constellation-node small,
.reflections-v4 .constellation-node-no{
  color:rgba(245,245,247,.72)!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
}
.reflections-v4 .constellation-dot{
  border-color:rgba(255,255,255,.82)!important;
}
.reflections-v4 .constellation-node.is-active .constellation-dot{
  box-shadow:
    0 0 0 9px rgba(255,255,255,.07),
    0 0 28px rgba(255,255,255,.26)!important;
}

/* Preserve the central exclusion zone while allowing the satellites to travel beyond it. */
.reflections-v4 .constellation-core{
  z-index:14!important;
}
.reflections-v4 .constellation-core::before{
  width:min(980px,76vw)!important;
  height:min(500px,58vh)!important;
}
.reflections-v4 .constellation-core h2{
  position:relative;
  z-index:2;
}
.reflections-v4 .constellation-core>p,
.reflections-v4 .constellation-core-actions{
  position:relative;
  z-index:2;
}

/* Short laptops still get a wide orbit rather than a clipped interior canvas. */
@media (max-height:820px) and (min-width:900px){
  .reflections-v4 .constellation-stage{
    overflow:visible!important;
  }
  .reflections-v4 .constellation-nodes{
    left:-11vw!important;
    right:-11vw!important;
    top:-2vh!important;
    bottom:-2vh!important;
  }
  .reflections-v4 .constellation-node{
    width:min(166px,11.5vw)!important;
  }
}
@media (max-height:760px) and (min-width:900px){
  .reflections-v4 .constellation-nodes{
    left:-12vw!important;
    right:-12vw!important;
  }
}

/* 2. Two-stage reader animation: primed but still collapsed, then visible expansion. */
.reflection-reader.is-primed{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none!important;
}
.reflection-reader.is-primed .reflection-reader-shell{
  opacity:1!important;
  transform:none!important;
  clip-path:circle(0 at var(--origin-x,50vw) var(--origin-y,50vh))!important;
}
.reflection-reader.is-open .reflection-reader-shell{
  clip-path:circle(160vmax at var(--origin-x,50vw) var(--origin-y,50vh))!important;
  transition:
    clip-path 1.05s cubic-bezier(.16,.86,.2,1),
    opacity .35s ease!important;
}

/* The build sequence should read as a complete full-screen stage, not a flash. */
body > .thought-build{
  transition:opacity .62s cubic-bezier(.2,.7,.2,1),visibility .62s!important;
}
body > .thought-build.is-leaving{
  opacity:0!important;
}
body > .thought-build .thought-build-ring{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.03),
    0 0 90px rgba(255,255,255,.07)!important;
}

/* 3. Apple graphite: visibly lighter than black, still cinematic and neutral. */
.reflection-reader-shell{
  background:
    radial-gradient(circle at 82% 9%,rgba(255,255,255,.055),transparent 24%),
    linear-gradient(180deg,#2c2c2e 0%,#242426 42%,#202022 100%)!important;
}
.reflection-reader-scroll{
  background:
    linear-gradient(180deg,#2a2a2c 0%,#242426 34%,#202022 100%)!important;
}
#reflectionReaderContent{
  background:
    linear-gradient(180deg,#29292b 0%,#242426 36%,#202022 100%)!important;
}
.reader-cinematic-hero{
  background:#2c2c2e!important;
}
.reader-cinematic-shade{
  background:
    linear-gradient(90deg,rgba(28,28,30,.42),rgba(28,28,30,.08) 62%,rgba(28,28,30,.03)),
    linear-gradient(180deg,
      rgba(28,28,30,.02) 0%,
      rgba(28,28,30,.05) 48%,
      rgba(36,36,38,.48) 73%,
      #242426 100%)!important;
}
.reader-body.reader-body-full{
  color:#f5f5f7!important;
}
.reader-body.reader-body-full p,
.reader-body.reader-body-full li{
  color:rgba(245,245,247,.92)!important;
}
.reader-body.reader-body-full h2,
.reader-body.reader-body-full h3,
.reader-body.reader-body-full h4{
  color:#ffffff!important;
}
.reader-related{
  color:#f5f5f7!important;
}
.reader-related-grid .related-node{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.reader-related-grid .related-node:hover{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.reader-fixed-footer{
  background:rgba(44,44,46,.84)!important;
  border-top-color:rgba(255,255,255,.12)!important;
}
.reflection-reader-top{
  background:rgba(44,44,46,.86)!important;
  border-bottom-color:rgba(255,255,255,.11)!important;
}
.reader-fixed-tags span{
  background:rgba(255,255,255,.055)!important;
}


/* ============================================================
   V1.0.47 · Safe orbit + stronger contrast + lighter Apple graphite
   + performance pass
   ============================================================ */

/* Keep the wide constellation, but give it a hard safe corridor. */
.reflections-v4 .constellation-nodes{
  left:-9vw!important;
  right:-9vw!important;
  top:58px!important;
  bottom:62px!important;
  overflow:visible!important;
}
.reflections-v4 .constellation-stage,
.reflections-v4 .constellation-scene{
  overflow:visible!important;
}

/* Satellite readability: bright type, dark text shadow, no global darkening. */
.reflections-v4 .constellation-node{
  opacity:.86!important;
  width:min(188px,12.5vw)!important;
  color:#fff!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.80),
    0 5px 16px rgba(0,0,0,.48)!important;
}
.reflections-v4 .constellation-node-title{
  color:#fff!important;
  font-size:10px!important;
  font-weight:600!important;
}
.reflections-v4 .constellation-node small,
.reflections-v4 .constellation-node-no{
  color:rgba(255,255,255,.76)!important;
}
.reflections-v4 .constellation-node.is-active{
  opacity:1!important;
}
.reflections-v4 .constellation-dot{
  background:rgba(255,255,255,.18)!important;
  border-color:#fff!important;
}

/* Main focus remains crisp without a visible central panel. */
.reflections-v4 .constellation-core h2{
  color:#fff!important;
  text-shadow:
    0 2px 5px rgba(0,0,0,.72),
    0 10px 30px rgba(0,0,0,.36)!important;
}
.reflections-v4 .constellation-core>p{
  color:rgba(255,255,255,.92)!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.68),
    0 7px 18px rgba(0,0,0,.34)!important;
}
.reflections-v4 .constellation-core::before{
  filter:none!important; /* large blur was expensive */
  background:
    radial-gradient(ellipse at center,
      rgba(20,20,22,.18) 0%,
      rgba(20,20,22,.08) 34%,
      rgba(20,20,22,0) 72%)!important;
}

/* Short desktop: same wide radius, safe from both bars. */
@media (max-height:820px) and (min-width:900px){
  .reflections-v4 .constellation-nodes{
    left:-10vw!important;
    right:-10vw!important;
    top:52px!important;
    bottom:56px!important;
  }
  .reflections-v4 .constellation-node{
    width:min(166px,11.5vw)!important;
  }
}
@media (max-height:760px) and (min-width:900px){
  .reflections-v4 .constellation-nodes{
    top:48px!important;
    bottom:50px!important;
  }
}

/* APPLE GRAPHITE — materially lighter than the previous reader. */
.reflection-reader-shell{
  background:
    linear-gradient(180deg,#3a3a3c 0%,#343436 36%,#2c2c2e 100%)!important;
}
.reflection-reader-scroll{
  background:
    linear-gradient(180deg,#3a3a3c 0%,#343436 38%,#2c2c2e 100%)!important;
}
#reflectionReaderContent{
  background:
    linear-gradient(180deg,#3a3a3c 0%,#343436 36%,#2c2c2e 100%)!important;
}
.reader-cinematic-hero{
  background:#3a3a3c!important;
}
.reader-cinematic-shade{
  background:
    linear-gradient(90deg,
      rgba(28,28,30,.42),
      rgba(28,28,30,.08) 62%,
      rgba(28,28,30,.03)),
    linear-gradient(180deg,
      rgba(44,44,46,.01) 0%,
      rgba(44,44,46,.04) 47%,
      rgba(52,52,54,.38) 72%,
      #343436 100%)!important;
}
.reader-body.reader-body-full{
  color:#f5f5f7!important;
}
.reader-body.reader-body-full p,
.reader-body.reader-body-full li{
  color:rgba(245,245,247,.95)!important;
}
.reader-related{
  color:#f5f5f7!important;
}
.reader-related-grid .related-node{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.13)!important;
}
.reader-fixed-footer{
  background:rgba(58,58,60,.94)!important;
  border-top-color:rgba(255,255,255,.13)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.reflection-reader-top{
  background:rgba(58,58,60,.96)!important;
  border-bottom-color:rgba(255,255,255,.13)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.reader-fixed-tags span{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.14)!important;
}

/* Performance: remove expensive blur/saturation from the reflection scene. */
.reflections-v4 .constellation-core,
.reflections-v4 .constellation-mode,
.reflections-v4 .constellation-footer{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.reflections-v4 .constellation-node{
  filter:none!important;
}
.reflections-v4 .constellation-node:hover,
.reflections-v4 .constellation-node.is-active{
  filter:none!important;
}


/* ============================================================
   V1.0.48 · Reflexiones brightness pass
   The geometry is now right; this pass only lifts the scene.
   ============================================================ */

/* Lighter scene overlay: no more “ultra-dark” veil over the writing shot. */
.reflections-v4 .constellation-glow{
  background:
    radial-gradient(circle at calc(var(--mx,.5)*100%) calc(var(--my,.5)*100%),rgba(214,242,250,.12),transparent 19%),
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.06),transparent 34%),
    linear-gradient(110deg,rgba(7,11,14,.12),transparent 44%,rgba(7,11,14,.10))!important;
}

/* The giant word stays atmospheric but should not create a dirty dark cast. */
.reflections-v4 .constellation-word{
  color:rgba(212,233,240,.040)!important;
  -webkit-text-stroke:1px rgba(212,233,240,.045)!important;
  opacity:.58!important;
}

/* Brighten the focus text a little more for quick reading. */
.reflections-v4 .constellation-core h2{
  color:#ffffff!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.52),
    0 10px 26px rgba(0,0,0,.24)!important;
}
.reflections-v4 .constellation-core>p{
  color:rgba(255,255,255,.95)!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.46),
    0 8px 20px rgba(0,0,0,.18)!important;
}

/* The satellite notes should remain readable even on bright areas of the video. */
.reflections-v4 .constellation-node{
  color:#fff!important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.85),
    0 4px 12px rgba(0,0,0,.48)!important;
}
.reflections-v4 .constellation-node-title{
  color:#fff!important;
}
.reflections-v4 .constellation-node small,
.reflections-v4 .constellation-node-no{
  color:rgba(255,255,255,.82)!important;
}

/* Footer and top strip stay visible but no longer darken the whole stage by association. */
.reflections-v4 .constellation-header{
  border-bottom-color:rgba(255,255,255,.16)!important;
}
.reflections-v4 .constellation-hud{
  color:rgba(255,255,255,.52)!important;
  border-top-color:rgba(255,255,255,.12)!important;
}
.reflections-v4 .constellation-hud button{
  color:rgba(255,255,255,.78)!important;
}

/* Reading view: one extra lift so Safari no longer reads it as near-black. */
.reflection-reader-shell,
.reflection-reader-scroll,
#reflectionReaderContent{
  background:
    linear-gradient(180deg,#47474a 0%,#3f3f42 34%,#363639 100%)!important;
}
.reader-cinematic-hero{
  background:#47474a!important;
}
.reader-cinematic-shade{
  background:
    linear-gradient(90deg,
      rgba(31,31,33,.35),
      rgba(31,31,33,.06) 63%,
      rgba(31,31,33,.02)),
    linear-gradient(180deg,
      rgba(71,71,74,.01) 0%,
      rgba(71,71,74,.03) 48%,
      rgba(63,63,66,.28) 72%,
      #3f3f42 100%)!important;
}
.reflection-reader-top{
  background:rgba(71,71,74,.97)!important;
}
.reader-fixed-footer{
  background:rgba(71,71,74,.96)!important;
}


/* ============================================================
   V1.0.49 · Reader material redesign
   Light Apple grey + full photo fade into body
   ============================================================ */

/* Light Apple grey reader instead of dark graphite */
.reflection-reader-shell,
.reflection-reader-scroll,
#reflectionReaderContent{
  background:
    linear-gradient(180deg,#efeff4 0%,#ececf1 34%,#e6e7ec 100%)!important;
}

.reflection-reader-top{
  background:rgba(244,244,248,.94)!important;
  border-bottom:1px solid rgba(17,17,19,.10)!important;
  color:#3a3a3c!important;
}

.reader-fixed-footer{
  background:rgba(244,244,248,.96)!important;
  border-top:1px solid rgba(17,17,19,.08)!important;
  color:#3a3a3c!important;
}

.reader-fixed-footer,
.reader-fixed-footer *{
  color:#3a3a3c!important;
}

.reader-fixed-tags span{
  background:rgba(17,17,19,.05)!important;
  border-color:rgba(17,17,19,.08)!important;
  color:#1d1d1f!important;
}

.reader-cinematic-hero{
  background:#efeff4!important;
}

/* Critical change: the image now fades completely into the light body.
   No hard dark band; the lower section dissolves naturally. */
.reader-cinematic-shade{
  background:
    linear-gradient(90deg,
      rgba(239,239,244,.00) 0%,
      rgba(239,239,244,.02) 40%,
      rgba(239,239,244,.07) 65%,
      rgba(239,239,244,.14) 100%),
    linear-gradient(180deg,
      rgba(239,239,244,.00) 0%,
      rgba(239,239,244,.00) 38%,
      rgba(239,239,244,.16) 56%,
      rgba(239,239,244,.52) 72%,
      rgba(239,239,244,.82) 86%,
      #efeff4 100%)!important;
}

/* Title block still sits over the image, but with cleaner contrast */
.reader-hero-copy,
.reader-cinematic-copy{
  color:#ffffff!important;
}
.reader-cinematic-copy h1,
.reader-hero-copy h1,
.reflection-reader h1{
  color:#ffffff!important;
  text-shadow:
    0 2px 5px rgba(0,0,0,.28),
    0 10px 28px rgba(0,0,0,.18)!important;
}
.reader-cinematic-copy .reader-meta,
.reader-hero-copy .reader-meta,
.reflection-reader .reader-meta{
  color:rgba(255,255,255,.90)!important;
  text-shadow:0 2px 4px rgba(0,0,0,.18)!important;
}
.reader-cinematic-copy .reader-excerpt,
.reader-hero-copy .reader-excerpt,
.reflection-reader .reader-excerpt{
  color:rgba(255,255,255,.94)!important;
  text-shadow:
    0 2px 4px rgba(0,0,0,.18),
    0 6px 18px rgba(0,0,0,.10)!important;
}

/* Body: dark typography on light grey */
.reader-body.reader-body-full{
  color:#1d1d1f!important;
}
.reader-body.reader-body-full p,
.reader-body.reader-body-full li,
.reader-body.reader-body-full blockquote{
  color:#2c2c2e!important;
}
.reader-body.reader-body-full h2,
.reader-body.reader-body-full h3,
.reader-body.reader-body-full h4{
  color:#111113!important;
}
.reader-body.reader-body-full a{
  color:#2b5fb3!important;
}
.reader-body.reader-body-full strong{
  color:#111113!important;
}
.reader-body.reader-body-full em{
  color:#3a3a3c!important;
}

/* Cap drop and first paragraph integrated on light background */
.reader-body.reader-body-full p:first-of-type::first-letter,
.reader-body-full p:first-of-type::first-letter{
  color:#2c2c2e!important;
  text-shadow:none!important;
}

/* Related / auxiliary areas in the same light family */
.reader-related{
  color:#1d1d1f!important;
}
.reader-related h3,
.reader-related h4{
  color:#111113!important;
}
.reader-related-grid .related-node{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(17,17,19,.08)!important;
  color:#1d1d1f!important;
}
.reader-related-grid .related-node:hover{
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(17,17,19,.13)!important;
}

/* If the template uses a body card below the hero, remove dark fills there too */
.reflection-reader article,
.reflection-reader .reader-article,
.reflection-reader .reader-content,
.reflection-reader .reader-body-wrap,
.reflection-reader .reader-main{
  background:transparent!important;
  color:#1d1d1f!important;
}

/* Slightly softer divider between hero and body */
.reflection-reader hr,
.reader-body hr{
  border:none!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(17,17,19,.14),transparent)!important;
}


/* ============================================================
   V1.0.56 · Reader fusion + centred hero + adaptive contrast
   ============================================================ */

.reader-cinematic-hero{
  position:relative!important;
  min-height:clamp(560px,82vh,980px)!important;
  height:clamp(560px,82vh,980px)!important;
  isolation:isolate!important;
}
.reader-cinematic-title{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:clamp(78px,11vh,126px)!important;
  transform:translateX(-50%)!important;
  width:min(980px,76vw)!important;
  max-width:min(980px,76vw)!important;
  text-align:center!important;
  z-index:4!important;
}
.reader-cinematic-title .reader-kicker{
  justify-content:center!important;
  align-items:center!important;
}
.reader-cinematic-title h2{
  margin:16px auto 14px!important;
  max-width:12ch!important;
  text-wrap:balance!important;
}
.reader-cinematic-title > p{
  max-width:780px!important;
  margin:0 auto!important;
}
.reader-cinematic-shade{
  z-index:2!important;
  background:
    linear-gradient(90deg,
      rgba(239,239,244,.14) 0%,
      rgba(239,239,244,.04) 18%,
      rgba(239,239,244,.00) 36%,
      rgba(239,239,244,.00) 64%,
      rgba(239,239,244,.05) 82%,
      rgba(239,239,244,.14) 100%),
    linear-gradient(180deg,
      #efeff4 0%,
      rgba(239,239,244,.86) 5%,
      rgba(239,239,244,.26) 13%,
      rgba(239,239,244,.04) 25%,
      rgba(239,239,244,.00) 38%,
      rgba(239,239,244,.00) 58%,
      rgba(239,239,244,.12) 69%,
      rgba(239,239,244,.42) 79%,
      rgba(239,239,244,.78) 89%,
      #efeff4 100%)!important;
}
.reader-body.reader-body-full{
  position:relative!important;
  z-index:5!important;
  width:min(900px,74vw)!important;
  margin:-18px auto 0!important;
  padding-top:0!important;
}

/* Adaptive contrast */
.reader-cinematic-hero.reader-tone-dark .reader-kicker,
.reader-cinematic-hero.reader-tone-mid .reader-kicker{
  color:rgba(255,255,255,.92)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18)!important;
}
.reader-cinematic-hero.reader-tone-dark h2,
.reader-cinematic-hero.reader-tone-mid h2{
  color:#ffffff!important;
  text-shadow:0 2px 6px rgba(0,0,0,.26),0 12px 34px rgba(0,0,0,.18)!important;
}
.reader-cinematic-hero.reader-tone-dark p,
.reader-cinematic-hero.reader-tone-mid p{
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22),0 8px 24px rgba(0,0,0,.14)!important;
}

.reader-cinematic-hero.reader-tone-light .reader-kicker{
  color:rgba(17,17,19,.78)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.32)!important;
}
.reader-cinematic-hero.reader-tone-light h2{
  color:#111113!important;
  text-shadow:0 1px 0 rgba(255,255,255,.28),0 10px 28px rgba(255,255,255,.14)!important;
}
.reader-cinematic-hero.reader-tone-light p{
  color:rgba(28,28,30,.86)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.22)!important;
}

/* Editorial related list */
.reader-related{
  width:min(1120px,86vw)!important;
  margin:72px auto 0!important;
  padding-top:0!important;
  border-top:none!important;
}
.reader-related-top{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-top:1px solid rgba(17,17,19,.12)!important;
  padding-top:24px!important;
  margin-bottom:8px!important;
}
.reader-label{
  font-size:11px!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  color:#6b6b70!important;
}
.reader-permalink{
  font-size:12px!important;
  letter-spacing:.02em!important;
  color:#2b5fb3!important;
}
.reader-related-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.related-node{
  display:grid!important;
  grid-template-columns:54px 1fr auto!important;
  align-items:center!important;
  gap:0 20px!important;
  width:100%!important;
  padding:18px 6px!important;
  border:0!important;
  border-bottom:1px solid rgba(17,17,19,.10)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111113!important;
  box-shadow:none!important;
  text-align:left!important;
}
.related-node:hover{
  background:rgba(17,17,19,.025)!important;
}
.related-node-no{
  display:block!important;
  font-size:26px!important;
  font-weight:560!important;
  letter-spacing:-.04em!important;
  color:#8e8e93!important;
}
.related-node-copy{
  display:block!important;
}
.related-node-copy b{
  display:block!important;
  font-size:18px!important;
  line-height:1.14!important;
  color:#111113!important;
  font-weight:600!important;
}
.related-node-copy small{
  display:block!important;
  margin-top:6px!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#6b6b70!important;
}
.related-node-arrow{
  display:block!important;
  font-style:normal!important;
  font-size:20px!important;
  color:#8e8e93!important;
  transition:transform .24s ease, color .24s ease!important;
}
.related-node:hover .related-node-arrow{
  color:#2b5fb3!important;
  transform:translateX(4px)!important;
}
.reader-empty{
  padding:20px 0!important;
  color:#6b6b70!important;
}

@media (max-width:980px){
  .reader-cinematic-title{
    width:min(88vw,760px)!important;
    max-width:min(88vw,760px)!important;
  }
  .reader-body.reader-body-full{
    width:min(88vw,760px)!important;
  }
}
@media (max-width:820px){
  .reader-cinematic-hero{
    min-height:520px!important;
    height:74vh!important;
  }
  .reader-cinematic-title{
    width:88vw!important;
    max-width:88vw!important;
    bottom:58px!important;
  }
  .reader-cinematic-title h2{
    max-width:none!important;
    font-size:clamp(36px,8.2vw,62px)!important;
  }
  .reader-cinematic-title > p{
    font-size:15px!important;
  }
  .reader-related-top{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .related-node{
    grid-template-columns:40px 1fr auto!important;
    gap:0 12px!important;
    padding:16px 2px!important;
  }
  .related-node-copy b{
    font-size:16px!important;
  }
}
@media (max-width:560px){
  .reader-cinematic-hero{
    min-height:480px!important;
    height:70vh!important;
  }
  .reader-cinematic-title{
    width:90vw!important;
    max-width:90vw!important;
    bottom:54px!important;
  }
  .reader-cinematic-title h2{
    font-size:clamp(32px,10.8vw,48px)!important;
  }
  .reader-cinematic-title .reader-kicker{
    gap:10px!important;
    font-size:8px!important;
  }
  .reader-body.reader-body-full{
    width:90vw!important;
    font-size:16px!important;
    line-height:1.76!important;
  }
}


/* ============================================================
   V1.0.56 · Reader refinement after review
   - less fog at top, stronger seamless lower fusion
   - much wider hero title
   - stronger auto-contrast support
   - compact horizontal related suggestions
   ============================================================ */

.reader-cinematic-hero{
  min-height:clamp(560px,84vh,1020px)!important;
  height:clamp(560px,84vh,1020px)!important;
}
.reader-cinematic-title{
  width:min(1380px,88vw)!important;
  max-width:min(1380px,88vw)!important;
  bottom:clamp(92px,13vh,152px)!important;
}
.reader-cinematic-title h2{
  max-width:none!important;
  font-size:clamp(56px,7.1vw,112px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
}
.reader-cinematic-title > p{
  max-width:980px!important;
  font-size:clamp(18px,1.48vw,24px)!important;
}
.reader-cinematic-shade{
  background:
    linear-gradient(90deg,
      rgba(239,239,244,.08) 0%,
      rgba(239,239,244,.02) 14%,
      rgba(239,239,244,0) 28%,
      rgba(239,239,244,0) 72%,
      rgba(239,239,244,.03) 86%,
      rgba(239,239,244,.08) 100%),
    linear-gradient(180deg,
      #efeff4 0%,
      rgba(239,239,244,.68) 3.2%,
      rgba(239,239,244,.26) 7.8%,
      rgba(239,239,244,.05) 13.5%,
      rgba(239,239,244,0) 20%,
      rgba(239,239,244,0) 66%,
      rgba(239,239,244,.12) 75%,
      rgba(239,239,244,.38) 83%,
      rgba(239,239,244,.72) 91%,
      #efeff4 100%)!important;
}
.reader-body.reader-body-full{
  width:min(920px,74vw)!important;
  margin:-42px auto 0!important;
}
.reader-cinematic-hero.reader-tone-light .reader-kicker,
.reader-cinematic-hero.reader-tone-light h2,
.reader-cinematic-hero.reader-tone-light .reader-cinematic-title > p{
  color:#111113!important;
}
.reader-cinematic-hero.reader-tone-light .reader-kicker{
  text-shadow:0 1px 0 rgba(255,255,255,.34),0 4px 14px rgba(255,255,255,.18)!important;
}
.reader-cinematic-hero.reader-tone-light h2{
  text-shadow:0 1px 0 rgba(255,255,255,.32),0 10px 28px rgba(255,255,255,.16)!important;
}
.reader-cinematic-hero.reader-tone-light .reader-cinematic-title > p{
  text-shadow:0 1px 0 rgba(255,255,255,.30),0 8px 20px rgba(255,255,255,.18)!important;
}
.reader-cinematic-hero.reader-tone-mid .reader-cinematic-title > p,
.reader-cinematic-hero.reader-tone-dark .reader-cinematic-title > p{
  color:rgba(255,255,255,.98)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.20),0 10px 22px rgba(0,0,0,.14)!important;
}

.reader-related{
  width:min(1220px,88vw)!important;
  margin:30px auto 14px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(17,17,19,.11)!important;
}
.reader-related-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 12px!important;
  padding:0!important;
  border-top:none!important;
}
.reader-label{
  font-size:10px!important;
  letter-spacing:.22em!important;
  color:#7b7b80!important;
}
.reader-permalink{
  font-size:11px!important;
  color:#436fb6!important;
}
.reader-related-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.related-node{
  display:grid!important;
  grid-template-columns:22px 1fr 14px!important;
  gap:0 10px!important;
  align-items:start!important;
  padding:0 14px 0 0!important;
  min-height:unset!important;
  border:none!important;
  border-right:1px solid rgba(17,17,19,.10)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.related-node:last-child{border-right:none!important;padding-right:0!important;}
.related-node:hover{background:transparent!important;}
.related-node-no{
  font-size:12px!important;
  line-height:1.3!important;
  color:#9a9aa0!important;
}
.related-node-copy b{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  font-size:13px!important;
  line-height:1.28!important;
  font-weight:600!important;
  color:#111113!important;
}
.related-node-copy small{
  margin-top:5px!important;
  font-size:9px!important;
  letter-spacing:.16em!important;
  color:#8c8c92!important;
}
.related-node-arrow{
  font-size:14px!important;
  color:#a2a2a8!important;
  align-self:start!important;
  padding-top:1px!important;
}
.reader-empty{padding:0!important;font-size:13px!important;}

@media (max-width:1100px){
  .reader-cinematic-title{
    width:min(92vw,1180px)!important;
    max-width:min(92vw,1180px)!important;
  }
  .reader-cinematic-title h2{
    font-size:clamp(48px,7vw,86px)!important;
  }
  .reader-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .related-node:nth-child(2n){border-right:none!important;padding-right:0!important;}
}
@media (max-width:820px){
  .reader-cinematic-shade{
    background:
      linear-gradient(180deg,
        #efeff4 0%,
        rgba(239,239,244,.55) 4%,
        rgba(239,239,244,.18) 9%,
        rgba(239,239,244,0) 15%,
        rgba(239,239,244,0) 63%,
        rgba(239,239,244,.16) 73%,
        rgba(239,239,244,.42) 84%,
        #efeff4 100%)!important;
  }
  .reader-cinematic-title{
    width:92vw!important;
    max-width:92vw!important;
    bottom:72px!important;
  }
  .reader-cinematic-title h2{
    font-size:clamp(40px,9vw,68px)!important;
  }
  .reader-cinematic-title > p{font-size:16px!important;}
  .reader-body.reader-body-full{width:88vw!important;margin:-26px auto 0!important;}
}
@media (max-width:680px){
  .reader-related-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .related-node{border-right:none!important;border-top:1px solid rgba(17,17,19,.08)!important;padding:12px 0 0!important;}
  .reader-related-top{align-items:flex-start!important;flex-direction:column!important;}
}
@media (max-width:560px){
  .reader-cinematic-title{
    width:92vw!important;
    max-width:92vw!important;
    bottom:64px!important;
  }
  .reader-cinematic-title h2{
    font-size:clamp(34px,11.5vw,52px)!important;
    line-height:.94!important;
  }
  .reader-cinematic-title > p{font-size:14px!important;}
}


/* ============================================================
   V1.0.56 · Reader close button glass styling
   ============================================================ */

.reflection-reader-top button,
.reflection-reader-top .reflection-reader-close,
.reflection-reader-shell .reflection-reader-close,
.reflection-reader [aria-label="Cerrar"],
.reflection-reader [aria-label="Close"]{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.14))!important;
  color:#ffffff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.35)!important;
  backdrop-filter:blur(18px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(155%)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18)!important;
}

.reflection-reader-top button:hover,
.reflection-reader-top .reflection-reader-close:hover,
.reflection-reader-shell .reflection-reader-close:hover,
.reflection-reader [aria-label="Cerrar"]:hover,
.reflection-reader [aria-label="Close"]:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.18))!important;
  border-color:rgba(255,255,255,.54)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.44)!important;
  transform:translateY(-1px)!important;
}

.reflection-reader-top button:focus-visible,
.reflection-reader-top .reflection-reader-close:focus-visible,
.reflection-reader-shell .reflection-reader-close:focus-visible,
.reflection-reader [aria-label="Cerrar"]:focus-visible,
.reflection-reader [aria-label="Close"]:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.28), 0 10px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.4)!important;
}

.reflection-reader-top button svg,
.reflection-reader-top .reflection-reader-close svg,
.reflection-reader [aria-label="Cerrar"] svg,
.reflection-reader [aria-label="Close"] svg{
  width:18px!important;
  height:18px!important;
  stroke:currentColor!important;
}


/* ============================================================
   V1.0.56 · Reader related navigation + text-only suggestions
   ============================================================ */

.reflection-reader.is-switching #reflectionReaderContent{
  opacity:.72!important;
  transform:translateY(10px)!important;
  transition:opacity .22s ease, transform .22s ease!important;
}
.reflection-reader #reflectionReaderContent{
  transition:opacity .22s ease, transform .22s ease!important;
}

.reader-related{
  width:min(1240px,88vw)!important;
  margin:30px auto 10px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(17,17,19,.10)!important;
}
.reader-related-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:0 0 12px!important;
  padding:0!important;
  border-top:none!important;
}
.reader-related-grid{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 6px!important;
  scrollbar-width:thin!important;
}
.reader-related-grid::-webkit-scrollbar{height:6px;}
.reader-related-grid::-webkit-scrollbar-thumb{background:rgba(17,17,19,.18);border-radius:999px;}
.reader-related-grid::-webkit-scrollbar-track{background:transparent;}

.related-node{
  -webkit-appearance:none!important;
  appearance:none!important;
  flex:1 1 0!important;
  min-width:220px!important;
  max-width:280px!important;
  display:grid!important;
  grid-template-columns:24px 1fr!important;
  gap:0 10px!important;
  align-items:start!important;
  width:auto!important;
  padding:0 18px 0 0!important;
  margin:0!important;
  border:none!important;
  border-right:1px solid rgba(17,17,19,.10)!important;
  border-bottom:none!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111113!important;
  box-shadow:none!important;
  text-align:left!important;
}
.related-node:last-child{
  border-right:none!important;
  padding-right:0!important;
}
.related-node:hover,
.related-node:focus-visible{
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
}
.related-node-no{
  display:block!important;
  font-size:10px!important;
  line-height:1.45!important;
  letter-spacing:.16em!important;
  font-weight:650!important;
  color:#8e8e93!important;
  padding-top:2px!important;
}
.related-node-copy{
  display:block!important;
  min-width:0!important;
}
.related-node-copy b{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  font-size:13px!important;
  line-height:1.34!important;
  font-weight:600!important;
  color:#111113!important;
}
.related-node-copy small{
  display:block!important;
  margin-top:6px!important;
  font-size:9px!important;
  line-height:1.4!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:#8b8b91!important;
}
.related-node-arrow{display:none!important;}

@media (max-width:900px){
  .reader-related{width:min(92vw,1240px)!important;}
  .reader-related-grid{gap:14px!important;}
  .related-node{min-width:210px!important;max-width:240px!important;}
}
@media (max-width:680px){
  .reader-related-top{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .reader-related-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .related-node{
    min-width:unset!important;
    max-width:none!important;
    width:100%!important;
    padding:0 0 12px!important;
    border-right:none!important;
    border-bottom:1px solid rgba(17,17,19,.10)!important;
  }
  .related-node:last-child{border-bottom:none!important;}
}


/* ============================================================
   V1.0.56 · Reader close button + inline related suggestions
   ============================================================ */
.reflection-reader.is-switching #reflectionReaderContent{
  opacity:.84!important;
  transform:translateY(10px)!important;
  transition:opacity .30s ease, transform .30s ease!important;
}
.reflection-reader #reflectionReaderContent{
  transition:opacity .30s ease, transform .30s ease!important;
}

.reflection-reader-top button[data-reflection-close]{
  position:relative!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.20))!important;
  box-shadow:0 18px 38px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.45)!important;
  color:#1c1c1e!important;
  font-size:28px!important;
  font-weight:300!important;
  line-height:1!important;
  backdrop-filter:blur(24px) saturate(165%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(165%)!important;
  text-shadow:none!important;
}
.reflection-reader-top button[data-reflection-close]:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,255,255,.28))!important;
  transform:translateY(-1px)!important;
}
.reflection-reader-top button[data-reflection-close]:focus-visible{
  outline:2px solid rgba(17,17,19,.28)!important;
  outline-offset:3px!important;
}

.reader-related{
  width:min(1280px,88vw)!important;
  margin:26px auto 10px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(17,17,19,.10)!important;
}
.reader-related-top{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:0!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:none!important;
}
.reader-permalink{display:none!important;}
.reader-label{
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  color:#7b7b80!important;
}
.reader-related-grid{
  display:flex!important;
  align-items:flex-start!important;
  gap:26px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 6px!important;
  scrollbar-width:thin!important;
}
.reader-related-grid::-webkit-scrollbar{height:4px;}
.reader-related-grid::-webkit-scrollbar-thumb{background:rgba(17,17,19,.15);border-radius:999px;}
.reader-related-grid::-webkit-scrollbar-track{background:transparent;}
.related-node{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  flex:0 0 220px!important;
  min-width:220px!important;
  max-width:220px!important;
  padding:0!important;
  margin:0!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  text-align:left!important;
  color:#111113!important;
}
.related-node:hover,
.related-node:focus-visible{
  background:none!important;
  box-shadow:none!important;
  outline:none!important;
  opacity:.9!important;
}
.related-node-no,
.related-node-arrow{display:none!important;}
.related-node-copy{
  display:block!important;
}
.related-node-copy b{
  display:block!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  color:#3a3a3f!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.related-node-copy small{
  display:block!important;
  margin-top:5px!important;
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:#9a9aa1!important;
}

@media (max-width:900px){
  .reader-related{width:min(92vw,1280px)!important;}
  .reader-related-grid{gap:20px!important;}
  .related-node{flex:0 0 180px!important;min-width:180px!important;max-width:180px!important;}
}
@media (max-width:680px){
  .reflection-reader-top button[data-reflection-close]{
    width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;font-size:24px!important;
  }
  .reader-related-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .related-node{flex:none!important;min-width:unset!important;max-width:none!important;width:100%!important;}
}


/* ============================================================
   V1.0.56 · Reader refinement before variants A/B
   ============================================================ */

/* 1) Clean hero header: no duplicated meta, centered title/excerpt */
.reader-cinematic-title{
  top:50%!important;
  bottom:auto!important;
  transform:translate(-50%,-36%)!important;
  width:min(1320px,86vw)!important;
  max-width:min(1320px,86vw)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.reader-cinematic-title .reader-kicker{
  display:none!important;
}
.reader-cinematic-title h2{
  margin:0 auto 18px!important;
  max-width:16ch!important;
  font-size:clamp(54px,7.2vw,124px)!important;
  line-height:.93!important;
  letter-spacing:-.05em!important;
  text-wrap:balance!important;
}
.reader-cinematic-title > p{
  max-width:min(980px,72vw)!important;
  margin:0 auto!important;
  font-size:clamp(16px,1.45vw,24px)!important;
  line-height:1.5!important;
}

/* 2) Apple-like glass close button */
.reflection-reader-top button,
.reflection-reader-top button[data-reflection-close],
.reflection-reader-top .reflection-reader-close,
.reflection-reader-shell .reflection-reader-close,
.reflection-reader [aria-label="Cerrar"],
.reflection-reader [aria-label="Close"]{
  position:relative!important;
  overflow:hidden!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,.34))!important;
  color:rgba(28,28,30,.82)!important;
  text-shadow:none!important;
  box-shadow:0 8px 24px rgba(17,17,19,.10), inset 0 1px 0 rgba(255,255,255,.88)!important;
  backdrop-filter:blur(24px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(180%)!important;
}
.reflection-reader-top button::before,
.reflection-reader-top button[data-reflection-close]::before,
.reflection-reader-top .reflection-reader-close::before,
.reflection-reader-shell .reflection-reader-close::before,
.reflection-reader [aria-label="Cerrar"]::before,
.reflection-reader [aria-label="Close"]::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0) 48%,rgba(255,255,255,.12));
  pointer-events:none!important;
}
.reflection-reader-top button:hover,
.reflection-reader-top button[data-reflection-close]:hover,
.reflection-reader-top .reflection-reader-close:hover,
.reflection-reader [aria-label="Cerrar"]:hover,
.reflection-reader [aria-label="Close"]:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.42))!important;
  color:rgba(17,17,19,.92)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 28px rgba(17,17,19,.12), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.reflection-reader-top button:focus-visible,
.reflection-reader-top button[data-reflection-close]:focus-visible,
.reflection-reader-top .reflection-reader-close:focus-visible,
.reflection-reader-shell .reflection-reader-close:focus-visible,
.reflection-reader [aria-label="Cerrar"]:focus-visible,
.reflection-reader [aria-label="Close"]:focus-visible{
  outline:2px solid rgba(17,17,19,.18)!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.55),0 10px 24px rgba(17,17,19,.12)!important;
}
.reflection-reader-top button svg,
.reflection-reader-top button[data-reflection-close] svg,
.reflection-reader-top .reflection-reader-close svg,
.reflection-reader [aria-label="Cerrar"] svg,
.reflection-reader [aria-label="Close"] svg{
  width:18px!important;
  height:18px!important;
  stroke:currentColor!important;
  stroke-width:2.15!important;
}

/* 3) Inline suggestions, same family as the section label, no cards */
.reader-related{
  width:min(1320px,90vw)!important;
  margin:34px auto 10px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(17,17,19,.10)!important;
}
.reader-related-top{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:none!important;
}
.reader-label{
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  color:#7d7d83!important;
}
.reader-related-grid{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:28px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 0 8px!important;
  scrollbar-width:thin!important;
  background:transparent!important;
}
.reader-related-grid > *,
.reader-related-grid button,
.reader-related-grid .related-node,
.reader-related-grid .related-node *{
  background:transparent!important;
  box-shadow:none!important;
}
.reader-related-grid::-webkit-scrollbar{height:4px;}
.reader-related-grid::-webkit-scrollbar-thumb{background:rgba(17,17,19,.12);border-radius:999px;}
.reader-related-grid::-webkit-scrollbar-track{background:transparent;}
.related-node,
.reader-related-grid .related-node{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  flex:0 0 250px!important;
  min-width:250px!important;
  max-width:250px!important;
  width:250px!important;
  padding:0!important;
  margin:0!important;
  border:none!important;
  border-radius:0!important;
  background:transparent!important;
  text-align:left!important;
  color:#6f6f76!important;
  position:relative!important;
}
.related-node::before,
.related-node::after{display:none!important;content:none!important;}
.related-node:hover,
.related-node:focus-visible{
  background:transparent!important;
  outline:none!important;
  opacity:.9!important;
}
.related-node-no,
.related-node-arrow,
.related-node-copy small{
  display:none!important;
}
.related-node-copy{
  display:block!important;
  min-width:0!important;
}
.related-node-copy b{
  display:block!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  font-size:11px!important;
  line-height:1.58!important;
  font-weight:500!important;
  letter-spacing:.055em!important;
  text-transform:none!important;
  color:#7d7d83!important;
}

/* 4) Mobile fit */
@media (max-width:980px){
  .reader-cinematic-title{
    width:min(92vw,1320px)!important;
    max-width:min(92vw,1320px)!important;
    transform:translate(-50%,-34%)!important;
  }
  .reader-cinematic-title h2{
    max-width:15ch!important;
    font-size:clamp(42px,9vw,88px)!important;
  }
  .reader-cinematic-title > p{
    max-width:min(86vw,760px)!important;
  }
  .reader-related-grid{gap:20px!important;}
  .related-node,
  .reader-related-grid .related-node{
    flex:0 0 210px!important;
    min-width:210px!important;
    max-width:210px!important;
    width:210px!important;
  }
}
@media (max-width:680px){
  .reflection-reader-top button,
  .reflection-reader-top button[data-reflection-close],
  .reflection-reader-top .reflection-reader-close,
  .reflection-reader-shell .reflection-reader-close,
  .reflection-reader [aria-label="Cerrar"],
  .reflection-reader [aria-label="Close"]{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  .reader-cinematic-title{
    transform:translate(-50%,-30%)!important;
  }
  .reader-cinematic-title h2{
    max-width:14ch!important;
    font-size:clamp(34px,10vw,64px)!important;
  }
  .reader-cinematic-title > p{
    font-size:15px!important;
    line-height:1.48!important;
  }
  .reader-related-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    overflow:visible!important;
  }
  .related-node,
  .reader-related-grid .related-node{
    width:100%!important;
    min-width:unset!important;
    max-width:none!important;
    flex:none!important;
  }
}


/* ============================================================
   V1.0.56 · REFLEXIONES — Direction A / Apple Editorial Spatial
   Reading is intentionally calm; the constellation remains experimental.
   ============================================================ */

.reflection-reader{
  --reader-progress:0;
  --reader-scroll-y:0px;
  --reader-paper:#f2f2f7;
  --reader-ink:#1d1d1f;
  --reader-muted:#6e6e73;
}
.reflection-reader-shell,
.reflection-reader-scroll,
#reflectionReaderContent{
  background:var(--reader-paper)!important;
}
.reflection-reader-top{
  height:62px!important;
  padding:0 clamp(20px,3.4vw,58px)!important;
  background:rgba(242,242,247,.72)!important;
  border-bottom:1px solid rgba(29,29,31,.08)!important;
  color:#6e6e73!important;
  backdrop-filter:blur(28px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(180%)!important;
}
.reflection-reader-scroll{
  height:calc(100% - 62px)!important;
  scrollbar-color:rgba(29,29,31,.25) transparent!important;
}

/* Hero: image is the opening page, not a card. */
.reader-cinematic-hero{
  position:relative!important;
  height:clamp(600px,88vh,1080px)!important;
  min-height:clamp(600px,88vh,1080px)!important;
  background:var(--reader-paper)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.reader-cinematic-media{
  position:absolute!important;
  inset:0!important;
  transform:translate3d(0,calc(var(--reader-progress) * -32px),0) scale(calc(1 + var(--reader-progress) * .018))!important;
  transform-origin:center center!important;
  will-change:transform!important;
}
.reader-cinematic-media img,
.reader-hero-image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.reader-cinematic-shade{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,
      rgba(242,242,247,.44) 0%,
      rgba(242,242,247,.12) 5%,
      rgba(242,242,247,0) 11%,
      rgba(242,242,247,0) 62%,
      rgba(242,242,247,.06) 69%,
      rgba(242,242,247,.26) 78%,
      rgba(242,242,247,.64) 88%,
      rgba(242,242,247,.92) 96%,
      var(--reader-paper) 100%)!important;
}
.reader-cinematic-title{
  z-index:3!important;
  top:50%!important;
  bottom:auto!important;
  left:50%!important;
  width:min(1480px,91vw)!important;
  max-width:min(1480px,91vw)!important;
  transform:translate3d(-50%,calc(-42% + var(--reader-progress) * -18px),0)!important;
  opacity:calc(1 - var(--reader-progress) * .72)!important;
  transition:none!important;
  will-change:transform,opacity!important;
}
.reader-cinematic-title h2{
  width:100%!important;
  max-width:18ch!important;
  margin:0 auto clamp(18px,2.1vh,28px)!important;
  font-size:clamp(54px,7vw,118px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  text-align:center!important;
  text-wrap:balance!important;
}
.reader-cinematic-title>p{
  width:min(100%,980px)!important;
  max-width:980px!important;
  margin:0 auto!important;
  font-size:clamp(17px,1.42vw,23px)!important;
  line-height:1.48!important;
  text-align:center!important;
  text-wrap:balance!important;
}

/* Automatic tone remains image-dependent but gains a small local halo,
   so contrast never requires darkening the whole photograph. */
.reader-cinematic-title::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  top:50%!important;
  width:min(1180px,86vw)!important;
  height:130%!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  filter:blur(28px)!important;
  opacity:.36!important;
  pointer-events:none!important;
}
.reader-tone-dark .reader-cinematic-title::before,
.reader-tone-mid .reader-cinematic-title::before{
  background:radial-gradient(ellipse,rgba(0,0,0,.30),rgba(0,0,0,.12) 48%,transparent 73%)!important;
}
.reader-tone-light .reader-cinematic-title::before{
  background:radial-gradient(ellipse,rgba(255,255,255,.44),rgba(255,255,255,.16) 48%,transparent 73%)!important;
}
.reader-cinematic-hero.reader-tone-dark h2,
.reader-cinematic-hero.reader-tone-mid h2{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.22)!important;}
.reader-cinematic-hero.reader-tone-dark .reader-cinematic-title>p,
.reader-cinematic-hero.reader-tone-mid .reader-cinematic-title>p{color:rgba(255,255,255,.96)!important;text-shadow:0 1px 8px rgba(0,0,0,.22)!important;}
.reader-cinematic-hero.reader-tone-light h2{color:#1d1d1f!important;text-shadow:0 1px 10px rgba(255,255,255,.28)!important;}
.reader-cinematic-hero.reader-tone-light .reader-cinematic-title>p{color:rgba(29,29,31,.88)!important;text-shadow:0 1px 7px rgba(255,255,255,.34)!important;}

/* Editorial article: a single calm reading measure. */
.reader-body.reader-body-full{
  position:relative!important;
  z-index:6!important;
  width:min(820px,76vw)!important;
  margin:-10px auto 0!important;
  padding:clamp(34px,5vh,72px) 0 clamp(82px,10vh,132px)!important;
  color:var(--reader-ink)!important;
  font-size:clamp(17px,1.14vw,20px)!important;
  line-height:1.82!important;
  letter-spacing:-.006em!important;
}
.reader-body.reader-body-full p,
.reader-body.reader-body-full li{color:#303033!important;}
.reader-body.reader-body-full p{margin:0 0 1.55em!important;}
.reader-body.reader-body-full h2,
.reader-body.reader-body-full h3,
.reader-body.reader-body-full h4{
  color:var(--reader-ink)!important;
  letter-spacing:-.035em!important;
  line-height:1.08!important;
  margin:2.1em 0 .72em!important;
}
.reader-body.reader-body-full h2{font-size:clamp(34px,3.1vw,52px)!important;}
.reader-body.reader-body-full h3{font-size:clamp(26px,2.2vw,38px)!important;}
.reader-body.reader-body-full a{color:#06c!important;text-decoration-color:rgba(0,102,204,.28)!important;}
.reader-body.reader-body-full blockquote{
  margin:2.4em -7vw!important;
  padding:0 7vw!important;
  border:0!important;
  font-size:clamp(25px,2.5vw,40px)!important;
  line-height:1.22!important;
  letter-spacing:-.03em!important;
  color:#1d1d1f!important;
}
.reader-body.reader-body-full p:first-child:first-letter{
  float:left!important;
  margin:.03em .10em 0 0!important;
  font-size:4.25em!important;
  line-height:.74!important;
  font-weight:650!important;
  color:#1d1d1f!important;
  text-shadow:none!important;
}

/* Related ideas become a typographic continuation, never cards. */
.reader-related{
  width:min(1240px,88vw)!important;
  margin:0 auto!important;
  padding:22px 0 108px!important;
  border-top:1px solid rgba(29,29,31,.11)!important;
  color:var(--reader-muted)!important;
}
.reader-related-top{margin:0 0 18px!important;}
.reader-label{
  color:#86868b!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.22em!important;
}
.reader-related-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(20px,3vw,52px)!important;
  overflow:visible!important;
  padding:0!important;
}
.related-node,
.reader-related-grid .related-node{
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#86868b!important;
  transition:color .22s ease,transform .22s ease!important;
}
.related-node:hover{color:#1d1d1f!important;transform:translateY(-2px)!important;}
.related-node-copy b{
  color:currentColor!important;
  font-size:11px!important;
  line-height:1.52!important;
  font-weight:550!important;
  letter-spacing:.045em!important;
  -webkit-line-clamp:3!important;
}

/* Fixed metadata behaves like an unobtrusive Apple utility bar. */
.reader-fixed-footer{
  background:rgba(242,242,247,.78)!important;
  border-top:1px solid rgba(29,29,31,.08)!important;
  color:#6e6e73!important;
  backdrop-filter:blur(30px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(30px) saturate(180%)!important;
}
.reader-fixed-tags span{
  color:#6e6e73!important;
  border-color:rgba(29,29,31,.11)!important;
  background:rgba(255,255,255,.24)!important;
}
.reader-fixed-meta{color:#6e6e73!important;}

/* Reader entrance: photograph arrives first, then typography settles in. */
.reflection-reader.is-primed .reader-cinematic-media{opacity:0!important;transform:scale(1.055)!important;}
.reflection-reader.is-primed .reader-cinematic-title{opacity:0!important;transform:translate3d(-50%,-34%,0) scale(.975)!important;}
.reflection-reader.is-open .reader-cinematic-media{
  animation:readerAImageIn .95s cubic-bezier(.16,.86,.2,1) both!important;
}
.reflection-reader.is-open .reader-cinematic-title{
  animation:readerATitleIn .82s .18s cubic-bezier(.16,.86,.2,1) both!important;
}
@keyframes readerAImageIn{
  from{opacity:0;transform:scale(1.055)}
  to{opacity:1;transform:translate3d(0,calc(var(--reader-progress) * -32px),0) scale(calc(1 + var(--reader-progress) * .018))}
}
@keyframes readerATitleIn{
  from{opacity:0;transform:translate3d(-50%,-34%,0) scale(.975)}
  to{opacity:calc(1 - var(--reader-progress) * .72);transform:translate3d(-50%,calc(-42% + var(--reader-progress) * -18px),0) scale(1)}
}

/* Changing reflection from the footer suggestions repeats a restrained editorial transition. */
.reflection-reader.is-switching #reflectionReaderContent{
  opacity:.18!important;
  transform:scale(.992)!important;
  filter:blur(7px)!important;
  transition:opacity .28s ease,transform .38s ease,filter .28s ease!important;
}
.reflection-reader #reflectionReaderContent{
  transition:opacity .42s ease,transform .52s cubic-bezier(.16,.86,.2,1),filter .36s ease!important;
}

@media (max-width:980px){
  .reader-cinematic-title{width:92vw!important;max-width:92vw!important;}
  .reader-cinematic-title h2{max-width:16ch!important;font-size:clamp(46px,8.3vw,86px)!important;}
  .reader-body.reader-body-full{width:min(82vw,760px)!important;}
  .reader-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:22px!important;}
}
@media (max-width:680px){
  .reader-cinematic-hero{height:76vh!important;min-height:520px!important;}
  .reader-cinematic-title{transform:translate3d(-50%,calc(-38% + var(--reader-progress) * -12px),0)!important;}
  .reader-cinematic-title h2{max-width:14ch!important;font-size:clamp(36px,10vw,58px)!important;line-height:.95!important;}
  .reader-cinematic-title>p{font-size:15px!important;max-width:86vw!important;}
  .reader-body.reader-body-full{width:86vw!important;padding-top:32px!important;font-size:17px!important;line-height:1.72!important;}
  .reader-body.reader-body-full blockquote{margin:2em 0!important;padding:0!important;}
  .reader-related{width:86vw!important;padding-bottom:118px!important;}
  .reader-related-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .related-node-copy b{font-size:11px!important;}
}
@media (prefers-reduced-motion:reduce){
  .reader-cinematic-media,
  .reader-cinematic-title,
  .reflection-reader #reflectionReaderContent{animation:none!important;transition:none!important;transform:none!important;}
  .reader-cinematic-title{transform:translate(-50%,-42%)!important;}
}


/* ============================================================
   V1.0.57 · Responsive architecture + alternate reflection list
   ============================================================ */

/* Cross-browser reader transition: transform + opacity only. */
.reflection-reader.is-primed .reflection-reader-shell{
  clip-path:none!important;
  opacity:0!important;
  transform:translate3d(0,12px,0) scale(.985)!important;
}
.reflection-reader.is-open .reflection-reader-shell{
  clip-path:none!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transition:opacity .48s ease,transform .62s cubic-bezier(.2,.78,.2,1)!important;
}
.reflection-reader.reader-entering .reader-cinematic-media{
  animation:v57ReaderMediaIn .82s cubic-bezier(.2,.78,.2,1) both!important;
}
.reflection-reader.reader-entering .reader-cinematic-title{
  animation:v57ReaderTitleIn .76s .08s cubic-bezier(.2,.78,.2,1) both!important;
}
@keyframes v57ReaderMediaIn{
  from{opacity:0;transform:translate3d(0,12px,0) scale(1.025)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes v57ReaderTitleIn{
  from{opacity:0;transform:translate3d(-50%,-34%,0) scale(.985)}
  to{opacity:1;transform:translate3d(-50%,-42%,0) scale(1)}
}

/* Reflection view selector */
.reflections-v4 .constellation-view-switch{
  display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:999px;
  border:1px solid rgba(255,255,255,.20);background:rgba(7,12,16,.12);
}
.reflections-v4 .constellation-view-switch button{
  appearance:none;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.62);
  padding:7px 11px;font:inherit;font-size:8px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;
}
.reflections-v4 .constellation-view-switch button.is-active{
  background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

/* Alternative list: constellation translated into an editorial line system, never cards. */
.reflection-list-view{
  position:absolute;z-index:18;inset:18px 4vw 62px 4vw;display:none;overflow-y:auto;overflow-x:hidden;
  padding:8px 2px 22px;overscroll-behavior:contain;scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}
.reflection-view-list .reflection-list-view{display:block;}
.reflection-view-list .constellation-core,
.reflection-view-list .constellation-nodes,
.reflection-view-list .constellation-canvas,
.reflection-view-list .constellation-word{opacity:0!important;pointer-events:none!important;}
.reflection-list-row{
  position:relative;width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) 150px 24px;gap:18px;
  align-items:center;padding:18px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.15);border-radius:0;
  background:transparent;color:#fff;text-align:left;cursor:pointer;
  transition:padding-left .22s ease,border-color .22s ease,opacity .22s ease;
}
.reflection-list-row:before{
  content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:rgba(255,255,255,.72);
  transition:width .22s ease;
}
.reflection-list-row:hover,.reflection-list-row:focus-visible{padding-left:14px;border-color:rgba(255,255,255,.28);outline:none;}
.reflection-list-row:hover:before,.reflection-list-row:focus-visible:before{width:8px;}
.reflection-list-no{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.46);}
.reflection-list-main{min-width:0;display:flex;align-items:baseline;gap:18px;}
.reflection-list-main strong{font-size:clamp(17px,1.55vw,25px);line-height:1.12;letter-spacing:-.025em;font-weight:560;color:#fff;}
.reflection-list-main small{flex:0 0 auto;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.52);}
.reflection-list-meta{display:flex;justify-content:flex-end;gap:15px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.48);}
.reflection-list-meta i{font-style:normal;}
.reflection-list-arrow{font-size:16px;color:rgba(255,255,255,.56);}
.reflection-list-empty{margin:30px 0;color:rgba(255,255,255,.65);font-size:13px;}

/* Areas: modal is portaled to body so it is no longer clipped by the transformed timeline. */
body > .area-modal{position:fixed!important;inset:0!important;z-index:2147481200!important;}

/* Tablet/mobile Areas */
@media (max-width:820px){
  #areas .content{height:100%;padding:76px 18px 70px!important;justify-content:flex-start!important;overflow:hidden;}
  #areas .areas-intro{padding-right:8px;flex:0 0 auto;}
  #areas .areas-intro h2{font-size:clamp(42px,10vw,68px)!important;line-height:.92;max-width:94vw!important;}
  #areas .areas-grid{
    display:flex!important;flex:1 1 auto;min-height:0;width:calc(100vw - 18px)!important;max-width:none!important;
    gap:12px!important;margin-top:24px!important;padding:4px 18vw 14px 0!important;overflow-x:auto!important;overflow-y:hidden!important;
    scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  #areas .areas-grid::-webkit-scrollbar{display:none;}
  #areas .area-card{
    flex:0 0 min(76vw,430px)!important;width:min(76vw,430px)!important;min-height:0!important;height:min(43svh,390px)!important;
    padding:20px!important;border-radius:26px!important;scroll-snap-align:start;
  }
  #areas .area-card h3{margin-top:clamp(34px,7vh,64px)!important;font-size:clamp(27px,6.7vw,38px)!important;}
  #areas .area-card p{font-size:12.5px!important;line-height:1.46!important;}
  body > .area-modal{padding:0!important;place-items:stretch!important;}
  body > .area-modal .area-modal-shell{width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important;border-left:0!important;border-right:0!important;}
  body > .area-modal .area-modal-stage{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;}
}
@media (max-width:560px){
  #areas .content{padding:70px 14px 62px!important;}
  #areas .areas-intro h2{font-size:clamp(38px,12vw,58px)!important;}
  #areas .areas-grid{width:calc(100vw - 14px)!important;margin-top:18px!important;padding-right:20vw!important;}
  #areas .area-card{flex-basis:80vw!important;width:80vw!important;height:min(45svh,360px)!important;}
  body > .area-modal .area-modal-top{height:58px!important;padding:0 16px!important;}
  body > .area-modal .area-modal-stage{inset:58px 0 0!important;padding-bottom:max(26px,env(safe-area-inset-bottom))!important;}
  body > .area-modal .area-modal-foot{display:none!important;}
  body > .area-modal .area-modal-panel{padding:30px 20px 64px!important;}
  body > .area-modal .area-modal-panel h3{font-size:clamp(38px,12vw,62px)!important;}
  body > .area-modal .area-modal-content{font-size:15px!important;line-height:1.68!important;}
}

/* Projects: real mobile composition rather than compressed desktop deck. */
@media (max-width:820px){
  #proyectos .project-scene{height:100%;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:12px!important;padding:74px 16px 62px!important;overflow:hidden;}
  #proyectos .project-head{max-width:92vw;}
  #proyectos .project-head h2{font-size:clamp(42px,9vw,66px)!important;line-height:.92!important;}
  #proyectos .project-thesis{max-width:82vw;font-size:12.5px!important;line-height:1.45;}
  #proyectos .project-lab{height:auto!important;min-height:0!important;margin-top:0!important;}
  #proyectos .project-deck{touch-action:pan-x!important;}
  #proyectos .project-card{width:min(72vw,500px)!important;height:min(50svh,500px)!important;max-height:100%!important;}
  #proyectos .project-card h3{font-size:clamp(34px,7vw,52px)!important;}
  #proyectos .project-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  body > .project-detail .project-detail-shell{inset:0!important;border-radius:0!important;width:100vw!important;height:100dvh!important;}
  body > .project-detail .project-detail-scroll{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;}
}
@media (max-width:560px){
  #proyectos .project-scene{padding:68px 12px 56px!important;gap:8px!important;}
  #proyectos .project-head h2{font-size:clamp(38px,11vw,54px)!important;}
  #proyectos .project-thesis{font-size:11.5px!important;max-width:90vw;}
  #proyectos .project-card{width:82vw!important;height:min(48svh,430px)!important;border-radius:26px!important;}
  #proyectos .project-card-copy{padding:20px 18px!important;}
  #proyectos .project-card h3{font-size:clamp(31px,9vw,44px)!important;}
  #proyectos .project-tech{font-size:8px!important;margin-bottom:8px!important;}
  #proyectos .project-summary{font-size:11.5px!important;line-height:1.42!important;}
  #proyectos .project-explore{margin-top:12px!important;padding:10px 13px!important;opacity:1!important;transform:none!important;}
  #proyectos .project-dots{bottom:2px!important;}
  body > .project-detail .project-detail-top{height:58px!important;padding:0 16px!important;}
  body > .project-detail .project-detail-scroll{inset:58px 0 0!important;}
  body > .project-detail .project-detail-panel{padding:28px 20px 72px!important;}
  body > .project-detail .project-detail-panel h3{font-size:clamp(42px,12vw,66px)!important;}
}

/* Reflection scene/mobile reader */
@media (max-width:820px){
  .reflections-v4 .constellation-scene{width:100vw!important;height:100%!important;padding:68px 14px 58px!important;grid-template-rows:auto minmax(0,1fr)!important;overflow:hidden!important;}
  .reflections-v4 .constellation-header{display:grid!important;grid-template-columns:1fr auto!important;grid-template-areas:"brand search" "filters filters";gap:10px 12px!important;min-height:0!important;}
  .reflections-v4 .constellation-brand{grid-area:brand;display:flex!important;align-items:center!important;gap:10px!important;min-width:0;}
  .reflections-v4 .constellation-search{grid-area:search;align-self:center;}
  .reflections-v4 .constellation-filters{grid-area:filters;display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:4px!important;scrollbar-width:none;}
  .reflections-v4 .constellation-filters::-webkit-scrollbar{display:none;}
  .reflections-v4 .constellation-view-switch{flex:0 0 auto;}
  .reflections-v4 .constellation-stage{min-height:0!important;overflow:hidden!important;}
  .reflection-list-view{inset:8px 0 54px 0!important;padding:0 2px 18px!important;}
  .reflection-list-row{grid-template-columns:38px minmax(0,1fr) 22px!important;gap:10px!important;padding:15px 2px!important;}
  .reflection-list-main{display:block!important;}
  .reflection-list-main strong{font-size:17px!important;line-height:1.2!important;}
  .reflection-list-main small{display:block;margin-top:5px;}
  .reflection-list-meta{display:none!important;}
  .reflection-list-arrow{display:block!important;}

  body > .reflection-reader{inset:0!important;}
  body > .reflection-reader .reflection-reader-shell{inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important;border:0!important;}
  body > .reflection-reader .reflection-reader-top{height:56px!important;padding:0 16px!important;}
  body > .reflection-reader .reflection-reader-scroll{height:calc(100dvh - 56px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;}
  body > .reflection-reader .reader-cinematic-hero{height:72svh!important;min-height:500px!important;}
  body > .reflection-reader .reader-cinematic-title{width:90vw!important;max-width:90vw!important;}
  body > .reflection-reader .reader-cinematic-title h2{font-size:clamp(38px,9vw,68px)!important;max-width:15ch!important;}
  body > .reflection-reader .reader-body.reader-body-full{width:min(86vw,720px)!important;}
  body > .reflection-reader .reader-related{width:86vw!important;padding-bottom:34px!important;}
  body > .reflection-reader .reader-related-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px 24px!important;}
  body > .reflection-reader .related-node,body > .reflection-reader .reader-related-grid .related-node{width:auto!important;min-width:0!important;max-width:none!important;}
  body > .reflection-reader .reader-fixed-footer{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;min-height:0!important;margin-top:20px!important;padding:14px 7vw max(16px,env(safe-area-inset-bottom))!important;grid-template-columns:1fr!important;}
}
@media (max-width:560px){
  .reflections-v4 .constellation-scene{padding:62px 10px 52px!important;}
  .reflections-v4 .constellation-brand{align-items:flex-start!important;flex-direction:column!important;gap:6px!important;}
  .reflections-v4 .constellation-view-switch button{padding:6px 9px!important;font-size:7px!important;}
  .reflections-v4 .constellation-core{width:88vw!important;top:46%!important;padding:14px 12px 16px!important;}
  .reflections-v4 .constellation-core h2{font-size:clamp(30px,9.5vw,44px)!important;}
  .reflections-v4 .constellation-core>p{font-size:12.5px!important;line-height:1.42!important;}
  .reflections-v4 .constellation-node{width:31vw!important;}
  body > .reflection-reader .reflection-reader-top{height:54px!important;}
  body > .reflection-reader .reflection-reader-scroll{height:calc(100dvh - 54px)!important;}
  body > .reflection-reader .reader-cinematic-hero{height:68svh!important;min-height:450px!important;}
  body > .reflection-reader .reader-cinematic-title{transform:translate3d(-50%,-38%,0)!important;}
  body > .reflection-reader .reader-cinematic-title h2{font-size:clamp(34px,10vw,52px)!important;line-height:.96!important;}
  body > .reflection-reader .reader-cinematic-title>p{font-size:14px!important;line-height:1.45!important;}
  body > .reflection-reader .reader-body.reader-body-full{width:88vw!important;font-size:16.5px!important;line-height:1.72!important;padding-bottom:56px!important;}
  body > .reflection-reader .reader-related{width:88vw!important;padding:16px 0 24px!important;}
  body > .reflection-reader .reader-related-grid{grid-template-columns:1fr!important;gap:12px!important;}
  body > .reflection-reader .related-node-copy b{font-size:11px!important;line-height:1.48!important;}
}

/* Feature fallbacks. Blur is enhancement, never a functional dependency. */
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .reflection-reader-top{background:rgba(242,242,247,.97)!important;}
  .reflection-reader-top button[data-reflection-close]{background:rgba(255,255,255,.94)!important;}
  .area-modal-shell{background:rgba(20,31,35,.96)!important;}
}
@media (prefers-reduced-motion:reduce){
  .reflection-reader.reader-entering .reader-cinematic-media,
  .reflection-reader.reader-entering .reader-cinematic-title{animation:none!important;}
  .reflection-reader.is-open .reflection-reader-shell{transition:opacity .15s ease!important;transform:none!important;}
  .reflection-list-row{transition:none!important;}
}


/* ============================================================
   V1.0.58 · MOBILE STRUCTURAL PASS
   List mode, reader visibility, Areas/Projects mobile isolation,
   and cross-browser reader animation.
   ============================================================ */

/* ---------- REFLEXIONES / LISTA ---------- */
/* Give the list the whole stage width. It must read like a publication index,
   not a narrow column inside the constellation. */
.reflection-view-list .constellation-stage{
  overflow:hidden!important;
}
.reflection-list-view{
  inset:0 0 58px 0!important;
  width:100%!important;
  max-width:none!important;
  padding:18px clamp(10px,3.5vw,54px) 30px!important;
  box-sizing:border-box!important;
}
.reflection-list-row{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:52px minmax(0,1fr) 190px 24px!important;
  gap:14px!important;
  padding:19px 0!important;
  box-sizing:border-box!important;
}
.reflection-list-main{
  min-width:0!important;
  display:block!important;
}
.reflection-list-main strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  max-width:none!important;
  width:100%!important;
  font-size:clamp(18px,2.2vw,28px)!important;
  line-height:1.08!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.reflection-list-main small{
  display:block!important;
  margin-top:7px!important;
}
.reflection-list-meta{
  min-width:0!important;
  justify-content:flex-end!important;
  align-items:center!important;
  white-space:nowrap!important;
}
.reflection-list-arrow{
  justify-self:end!important;
}

/* Medium notebook / narrow desktop: still use a wide editorial row. */
@media (max-width:1100px) and (min-width:821px){
  .reflection-list-view{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .reflection-list-row{
    grid-template-columns:46px minmax(0,1fr) 150px 20px!important;
    gap:12px!important;
  }
  .reflection-list-main strong{
    font-size:clamp(18px,2.4vw,24px)!important;
  }
  .reflection-list-meta{
    gap:8px!important;
    font-size:7px!important;
  }
}

/* Mobile list becomes a native full-width index. */
@media (max-width:820px){
  .reflection-list-view{
    inset:6px 0 46px!important;
    padding:8px 0 18px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .reflection-list-row{
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    gap:10px!important;
    padding:16px 4px!important;
  }
  .reflection-list-no{
    font-size:9px!important;
    align-self:start!important;
    padding-top:3px!important;
  }
  .reflection-list-main strong{
    font-size:16px!important;
    line-height:1.18!important;
    -webkit-line-clamp:3!important;
  }
  .reflection-list-main small{
    margin-top:5px!important;
    font-size:7px!important;
  }
  .reflection-list-meta{display:none!important;}
  .reflection-list-arrow{
    display:block!important;
    align-self:center!important;
  }
}

/* ---------- REFLEXIONES / READER ---------- */
/* The top utility bar must belong to the light editorial reader, not read dark. */
body > .reflection-reader .reflection-reader-top,
.reflection-reader-top{
  background:rgba(247,247,250,.96)!important;
  color:#6e6e73!important;
  border-bottom:1px solid rgba(29,29,31,.08)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
}

/* On mobile the reader is a simple document. No fixed utility layer can hide
   the bottom continuation links. */
@media (max-width:820px){
  body > .reflection-reader,
  body > .reflection-reader .reflection-reader-shell{
    width:100vw!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  body > .reflection-reader .reflection-reader-scroll{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body > .reflection-reader #reflectionReaderContent{
    min-height:100%!important;
    overflow:visible!important;
  }
  body > .reflection-reader .reader-body.reader-body-full{
    padding-bottom:34px!important;
  }
  body > .reflection-reader .reader-related{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:88vw!important;
    margin:12px auto 0!important;
    padding:18px 0 20px!important;
    border-top:1px solid rgba(29,29,31,.10)!important;
  }
  body > .reflection-reader .reader-related-top{
    display:block!important;
    margin:0 0 12px!important;
  }
  body > .reflection-reader .reader-label{
    color:#86868b!important;
  }
  body > .reflection-reader .reader-related-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:20px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:0 0 8px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body > .reflection-reader .related-node,
  body > .reflection-reader .reader-related-grid .related-node{
    display:block!important;
    flex:0 0 190px!important;
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body > .reflection-reader .related-node-copy b{
    color:#6e6e73!important;
    font-size:11px!important;
    line-height:1.45!important;
  }
  body > .reflection-reader .reader-fixed-footer{
    position:relative!important;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    margin:12px 0 0!important;
    padding:14px 6vw max(18px,env(safe-area-inset-bottom))!important;
    background:rgba(247,247,250,.92)!important;
  }
}

/* ---------- CROSS-BROWSER READER ANIMATION ---------- */
/* Use only opacity + transform for the functional animation. */
.reflection-reader.reader-entering .reader-cinematic-media{
  animation:v58ReaderMediaIn .62s cubic-bezier(.2,.78,.2,1) both!important;
}
.reflection-reader.reader-entering .reader-cinematic-title{
  animation:v58ReaderTitleIn .68s .06s cubic-bezier(.2,.78,.2,1) both!important;
}
@keyframes v58ReaderMediaIn{
  from{opacity:0;transform:translate3d(0,10px,0) scale(1.018)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes v58ReaderTitleIn{
  from{opacity:0;transform:translate3d(-50%,-34%,0) scale(.985)}
  to{opacity:1;transform:translate3d(-50%,-42%,0) scale(1)}
}

/* ---------- ÁREAS MOBILE ---------- */
/* Mobile becomes a contained vertical document, not a horizontal strip that
   can spill into the neighbouring chapter. */
@media (max-width:820px){
  #areas{
    width:100vw!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  #areas .content{
    box-sizing:border-box!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100%!important;
    padding:70px 16px 58px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    justify-content:flex-start!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #areas .areas-intro{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  #areas .areas-intro h2{
    max-width:100%!important;
  }
  #areas .areas-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    margin:22px 0 0!important;
    padding:0!important;
    gap:12px!important;
    overflow:visible!important;
    touch-action:pan-y!important;
  }
  #areas .area-card{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:190px!important;
    flex:none!important;
    padding:19px 18px!important;
    border-radius:22px!important;
  }
  #areas .area-card h3{
    margin-top:28px!important;
    max-width:90%!important;
    font-size:clamp(26px,7vw,36px)!important;
  }
  #areas .area-card p{
    max-width:90%!important;
    font-size:12px!important;
  }
}
@media (max-width:560px){
  #areas .content{
    padding:64px 12px 52px!important;
  }
  #areas .areas-grid{
    margin-top:18px!important;
  }
  #areas .area-card{
    min-height:176px!important;
  }
}

/* ---------- PROYECTOS MOBILE ---------- */
/* Remove desktop 3D stacking on mobile; use native horizontal snap cards.
   This prevents projects from visually overlapping the next chapter. */
@media (max-width:820px){
  #proyectos{
    width:100vw!important;
    max-width:100vw!important;
    overflow:hidden!important;
  }
  #proyectos .project-scene{
    box-sizing:border-box!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100%!important;
    padding:70px 14px 56px!important;
    overflow:hidden!important;
  }
  #proyectos .project-head{
    width:100%!important;
    max-width:100%!important;
  }
  #proyectos .project-thesis{
    max-width:92%!important;
  }
  #proyectos .project-lab{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  #proyectos .project-deck{
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:4px 0 18px!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  #proyectos .project-deck::-webkit-scrollbar{display:none!important;}
  #proyectos .project-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    opacity:1!important;
    filter:none!important;
    z-index:1!important;
    flex:0 0 calc(100vw - 40px)!important;
    width:calc(100vw - 40px)!important;
    max-width:calc(100vw - 40px)!important;
    height:min(50svh,460px)!important;
    margin:0!important;
    scroll-snap-align:center!important;
  }
  #proyectos .project-card:first-child{margin-left:0!important;}
  #proyectos .project-card.is-current{
    transform:none!important;
    z-index:2!important;
  }
  #proyectos .project-nav{
    display:none!important;
  }
  #proyectos .project-dots{
    bottom:0!important;
  }
}
@media (max-width:560px){
  #proyectos .project-scene{
    padding:64px 10px 50px!important;
  }
  #proyectos .project-card{
    flex-basis:calc(100vw - 28px)!important;
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    height:min(47svh,410px)!important;
  }
}


/* ============================================================
   V1.0.59 · Projects mobile rebuild + desktop continuations
   + universal cinematic build animation
   ============================================================ */

/* ---------- PROJECTS: MOBILE VERTICAL DOCUMENT ---------- */
@media (max-width:820px){
  #areas,
  #proyectos{
    overflow:hidden!important;
    clip-path:inset(0)!important;
    isolation:isolate!important;
    contain:paint!important;
  }

  #proyectos .project-scene{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:18px!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    padding:66px 14px 50px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }

  #proyectos .project-head{
    position:relative!important;
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  #proyectos .project-head h2{
    max-width:100%!important;
    font-size:clamp(46px,14vw,76px)!important;
    line-height:.90!important;
  }

  #proyectos .project-thesis{
    max-width:94%!important;
    margin-top:14px!important;
    font-size:14px!important;
    line-height:1.45!important;
  }

  #proyectos .project-lab{
    position:relative!important;
    flex:0 0 auto!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    perspective:none!important;
    overflow:visible!important;
  }

  #proyectos .project-deck{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    padding:0!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    touch-action:pan-y!important;
  }

  #proyectos .project-card,
  #proyectos .project-card.is-current{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    flex:none!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:clamp(330px,48svh,440px)!important;
    min-height:330px!important;
    margin:0!important;
    transform:none!important;
    opacity:1!important;
    filter:none!important;
    z-index:1!important;
    scroll-snap-align:none!important;
    border-radius:24px!important;
  }

  #proyectos .project-card-copy{
    padding:24px 22px 22px!important;
    transform:none!important;
  }

  #proyectos .project-card h3{
    max-width:100%!important;
    font-size:clamp(34px,10vw,52px)!important;
  }

  #proyectos .project-summary{
    max-width:100%!important;
    font-size:12px!important;
  }

  #proyectos .project-facts{
    gap:18px!important;
    flex-wrap:wrap!important;
  }

  #proyectos .project-explore,
  #proyectos .project-card.is-current .project-explore{
    opacity:1!important;
    transform:none!important;
  }

  #proyectos .project-nav,
  #proyectos .project-dots{
    display:none!important;
  }
}

@media (max-width:560px){
  #proyectos .project-scene{
    padding:62px 10px 46px!important;
  }
  #proyectos .project-card,
  #proyectos .project-card.is-current{
    height:clamp(315px,46svh,400px)!important;
    min-height:315px!important;
  }
  #proyectos .project-card-copy{
    padding:20px 18px 18px!important;
  }
}

/* ---------- READER: DESKTOP CONTINUATIONS FORCED VISIBLE ---------- */
@media (min-width:821px){
  body > .reflection-reader .reflection-reader-scroll{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
  }

  body > .reflection-reader #reflectionReaderContent{
    min-height:100%!important;
    padding-bottom:118px!important;
    overflow:visible!important;
  }

  body > .reflection-reader .reader-related{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:8!important;
    width:min(1280px,88vw)!important;
    margin:46px auto 0!important;
    padding:16px 0 90px!important;
    border-top:1px solid rgba(29,29,31,.10)!important;
    background:transparent!important;
  }

  body > .reflection-reader .reader-related-top{
    display:block!important;
    visibility:visible!important;
    margin:0 0 13px!important;
    padding:0!important;
  }

  body > .reflection-reader .reader-label{
    display:block!important;
    color:#86868b!important;
    font-size:10px!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
  }

  body > .reflection-reader .reader-related-grid{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:flex-start!important;
    gap:28px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:2px 0 8px!important;
    background:transparent!important;
  }

  body > .reflection-reader .reader-related-grid > *,
  body > .reflection-reader .related-node,
  body > .reflection-reader .related-node *{
    background:transparent!important;
    box-shadow:none!important;
  }

  body > .reflection-reader .related-node{
    display:block!important;
    flex:0 0 230px!important;
    width:230px!important;
    min-width:230px!important;
    max-width:230px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    color:#6e6e73!important;
    text-align:left!important;
  }

  body > .reflection-reader .related-node-no,
  body > .reflection-reader .related-node-arrow,
  body > .reflection-reader .related-node-copy small{
    display:none!important;
  }

  body > .reflection-reader .related-node-copy b{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
    color:#6e6e73!important;
    font-size:11px!important;
    font-weight:500!important;
    line-height:1.55!important;
    letter-spacing:.04em!important;
  }

  body > .reflection-reader .reader-fixed-footer{
    z-index:18!important;
  }
}

/* ---------- UNIVERSAL CINEMATIC BUILD ANIMATION ---------- */
body > .thought-build{
  overflow:hidden!important;
}
body > .thought-build .thought-build-center{
  position:relative!important;
  z-index:4!important;
}
body > .thought-build .thought-build-ring{
  position:relative!important;
  overflow:visible!important;
  transform:translateZ(0)!important;
}
body > .thought-build .thought-build-ring::before{
  animation:v59OrbitOuter 2.4s linear infinite!important;
  transform-origin:50% 50%!important;
  will-change:transform!important;
}
body > .thought-build .thought-build-ring::after{
  animation:v59OrbitInner 1.55s linear infinite reverse!important;
  transform-origin:50% 50%!important;
  will-change:transform!important;
}
body > .thought-build .thought-build-ring b{
  animation:v59Satellite 1.7s linear infinite!important;
  will-change:transform,opacity!important;
}
body > .thought-build .thought-build-ring i{
  animation:v59CorePulse 1.25s ease-in-out infinite!important;
  will-change:transform,opacity!important;
}
body > .thought-build .thought-build-progress i{
  animation:v59Progress 1.15s cubic-bezier(.4,0,.2,1) infinite!important;
  will-change:transform!important;
}

body > .thought-build.is-animating .thought-build-center::before,
body > .thought-build.is-animating .thought-build-center::after{
  content:"";
  position:absolute;
  left:50%;
  top:46%;
  width:min(520px,62vw);
  height:min(520px,62vw);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  border:1px solid rgba(205,239,248,.10);
  transform:translate(-50%,-50%) scale(.72);
  opacity:0;
}
body > .thought-build.is-animating .thought-build-center::before{
  border-top-color:rgba(223,248,255,.40);
  border-right-color:rgba(185,237,251,.18);
  animation:v59HaloA 2.8s linear infinite!important;
}
body > .thought-build.is-animating .thought-build-center::after{
  width:min(410px,50vw);
  height:min(410px,50vw);
  border-bottom-color:rgba(223,248,255,.32);
  border-left-color:rgba(185,237,251,.16);
  animation:v59HaloB 2.0s linear infinite reverse!important;
}
body > .thought-build.is-animating .thought-build-ring{
  animation:v59SystemArrive .72s cubic-bezier(.16,.86,.2,1) both!important;
}
body > .thought-build.is-animating .thought-build-center strong{
  animation:v59TitleBuild .70s .12s cubic-bezier(.16,.86,.2,1) both!important;
}
body > .thought-build.is-animating .thought-build-center small,
body > .thought-build.is-animating .thought-build-kicker,
body > .thought-build.is-animating .thought-build-progress{
  animation:v59CaptionBuild .60s .24s ease both!important;
}

@keyframes v59OrbitOuter{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes v59OrbitInner{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes v59Satellite{
  0%{transform:rotate(0deg);opacity:.65}
  48%{opacity:1}
  100%{transform:rotate(360deg);opacity:.65}
}
@keyframes v59CorePulse{
  0%,100%{transform:translate(-50%,-50%) scale(.8);opacity:.58}
  50%{transform:translate(-50%,-50%) scale(1.65);opacity:1}
}
@keyframes v59Progress{
  0%{transform:translateX(-180%)}
  100%{transform:translateX(320%)}
}
@keyframes v59HaloA{
  0%{transform:translate(-50%,-50%) rotate(0deg) scale(.78);opacity:.12}
  20%{opacity:.60}
  100%{transform:translate(-50%,-50%) rotate(360deg) scale(1);opacity:.12}
}
@keyframes v59HaloB{
  0%{transform:translate(-50%,-50%) rotate(0deg) scale(.84);opacity:.08}
  30%{opacity:.42}
  100%{transform:translate(-50%,-50%) rotate(360deg) scale(1.04);opacity:.08}
}
@keyframes v59SystemArrive{
  from{opacity:0;transform:translateY(16px) scale(.72)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes v59TitleBuild{
  from{opacity:0;transform:translateY(16px);letter-spacing:-.08em}
  to{opacity:1;transform:translateY(0);letter-spacing:-.055em}
}
@keyframes v59CaptionBuild{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

@media (min-width:821px){
  body > .thought-build .thought-build-ring{
    width:210px!important;
    height:210px!important;
  }
  body > .thought-build .thought-build-ring b{
    transform-origin:0 108px!important;
  }
  body > .thought-build .thought-build-center strong{
    font-size:clamp(50px,5.7vw,88px)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body > .thought-build .thought-build-ring::before,
  body > .thought-build .thought-build-ring::after,
  body > .thought-build .thought-build-ring b,
  body > .thought-build .thought-build-ring i,
  body > .thought-build .thought-build-progress i,
  body > .thought-build.is-animating .thought-build-center::before,
  body > .thought-build.is-animating .thought-build-center::after,
  body > .thought-build.is-animating .thought-build-ring,
  body > .thought-build.is-animating .thought-build-center strong,
  body > .thought-build.is-animating .thought-build-center small,
  body > .thought-build.is-animating .thought-build-kicker,
  body > .thought-build.is-animating .thought-build-progress{
    animation:none!important;
  }
}


/* ============================================================
   V1.0.60 · Cross-browser JS-driven cinematic build
   CSS supplies material only; motion is requestAnimationFrame.
   ============================================================ */

body > .thought-build.is-js-motion .thought-build-ring,
body > .thought-build.is-js-motion .thought-build-ring::before,
body > .thought-build.is-js-motion .thought-build-ring::after,
body > .thought-build.is-js-motion .thought-build-ring i,
body > .thought-build.is-js-motion .thought-build-ring b,
body > .thought-build.is-js-motion .thought-build-progress i,
body > .thought-build.is-js-motion .thought-build-grid,
body > .thought-build.is-js-motion .thought-build-center strong,
body > .thought-build.is-js-motion .thought-build-kicker,
body > .thought-build.is-js-motion .thought-build-center small{
  animation:none!important;
}

/* Actual DOM FX layers so every browser gets identical motion. */
body > .thought-build .thought-build-jsfx{
  position:absolute;
  left:50%;
  top:47%;
  width:1px;
  height:1px;
  z-index:-1;
  pointer-events:none;
  overflow:visible;
}

body > .thought-build .thought-build-js-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-sizing:border-box;
  will-change:transform,opacity;
}

body > .thought-build .orbit-a{
  width:min(500px,58vw);
  height:min(500px,58vw);
  border:1px solid rgba(224,248,255,.24);
  border-left-color:rgba(224,248,255,.04);
  border-bottom-color:rgba(224,248,255,.08);
  box-shadow:0 0 70px rgba(173,229,245,.035);
}

body > .thought-build .orbit-b{
  width:min(390px,46vw);
  height:min(390px,46vw);
  border:1px dashed rgba(194,239,251,.20);
  border-right-color:rgba(194,239,251,.42);
}

body > .thought-build .orbit-c{
  width:min(610px,70vw);
  height:min(610px,70vw);
  border:1px solid rgba(201,239,249,.08);
  border-top-color:rgba(220,248,255,.18);
}

body > .thought-build .thought-build-js-scan{
  position:absolute;
  left:50%;
  top:50%;
  width:min(680px,76vw);
  height:1px;
  transform-origin:center;
  background:linear-gradient(90deg,transparent,rgba(221,248,255,.52),transparent);
  box-shadow:0 0 22px rgba(183,235,250,.18);
  will-change:transform,opacity;
}

body > .thought-build .thought-build-js-flare{
  position:absolute;
  left:50%;
  top:50%;
  width:150px;
  height:150px;
  margin:-75px 0 0 -75px;
  border-radius:50%;
  filter:blur(18px);
  will-change:transform,opacity;
}

body > .thought-build .flare-a{
  background:radial-gradient(circle,rgba(175,232,248,.22),rgba(175,232,248,0) 70%);
}

body > .thought-build .flare-b{
  width:210px;
  height:210px;
  margin:-105px 0 0 -105px;
  background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,0) 72%);
}

/* Keep the central system very visible on desktop. */
@media (min-width:821px){
  body > .thought-build .thought-build-center{
    width:min(820px,88vw)!important;
  }
  body > .thought-build .thought-build-ring{
    width:224px!important;
    height:224px!important;
    margin-bottom:34px!important;
  }
  body > .thought-build .thought-build-ring b{
    transform-origin:0 115px!important;
  }
  body > .thought-build .thought-build-center strong{
    font-size:clamp(54px,6vw,92px)!important;
  }
}

/* On small devices reduce the halo footprint, not the motion architecture. */
@media (max-width:820px){
  body > .thought-build .orbit-a{
    width:78vw;
    height:78vw;
  }
  body > .thought-build .orbit-b{
    width:62vw;
    height:62vw;
  }
  body > .thought-build .orbit-c{
    width:92vw;
    height:92vw;
  }
  body > .thought-build .thought-build-js-scan{
    width:90vw;
  }
}

/* If the OS requests reduced motion, preserve a restrained visible build
   rather than making the transition disappear entirely. */
@media (prefers-reduced-motion:reduce){
  body > .thought-build.is-js-motion .thought-build-js-orbit{
    opacity:.20!important;
  }
  body > .thought-build.is-js-motion .thought-build-js-scan{
    opacity:.12!important;
  }
}


/* ============================================================
   V1.0.61 · Mobile chapter isolation + constellation safe zone
   + list contrast + desktop animation parity + no reader flash
   ============================================================ */

/* ---------- LIST MODE: META MUST BE READABLE ---------- */
.reflection-list-meta{
  color:rgba(255,255,255,.86)!important;
  opacity:1!important;
  font-size:9px!important;
  font-weight:550!important;
  letter-spacing:.10em!important;
}
.reflection-list-meta span{
  color:rgba(255,255,255,.86)!important;
  opacity:1!important;
}
.reflection-list-arrow{
  color:#fff!important;
  opacity:.92!important;
  font-size:17px!important;
  font-weight:500!important;
  text-shadow:0 2px 7px rgba(0,0,0,.28)!important;
}

/* ---------- READER: REMOVE THE FLASH BETWEEN BUILD AND ARTICLE ---------- */
/* Keep the already-rendered light reader behind the cinematic overlay while
   the overlay fades. Only media/title are withheld until the entrance begins. */
.reflection-reader.is-primed .reflection-reader-shell{
  clip-path:none!important;
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  transition:none!important;
}
.reflection-reader.is-primed .reader-cinematic-media{
  opacity:0!important;
}
.reflection-reader.is-primed .reader-cinematic-title{
  opacity:0!important;
}

/* ---------- BUILD ANIMATION: SAME LAYERS ON DESKTOP AND MOBILE ---------- */
body > .thought-build .thought-build-jsfx{
  z-index:1!important;
}
body > .thought-build .thought-build-ring{
  z-index:4!important;
}
body > .thought-build .thought-build-center strong,
body > .thought-build .thought-build-center small,
body > .thought-build .thought-build-kicker,
body > .thought-build .thought-build-progress{
  position:relative!important;
  z-index:5!important;
}
body > .thought-build .thought-build-js-orbit,
body > .thought-build .thought-build-js-scan,
body > .thought-build .thought-build-js-flare{
  display:block!important;
  visibility:visible!important;
}

/* Desktop gets the same clearly visible orbital hierarchy, simply larger. */
@media (min-width:821px){
  body > .thought-build .orbit-a{
    width:min(560px,58vw)!important;
    height:min(560px,58vw)!important;
    border-color:rgba(224,248,255,.30)!important;
  }
  body > .thought-build .orbit-b{
    width:min(430px,46vw)!important;
    height:min(430px,46vw)!important;
    border-color:rgba(194,239,251,.26)!important;
  }
  body > .thought-build .orbit-c{
    width:min(680px,70vw)!important;
    height:min(680px,70vw)!important;
    border-color:rgba(201,239,249,.13)!important;
  }
  body > .thought-build .thought-build-js-scan{
    width:min(760px,76vw)!important;
    opacity:.30;
  }
}

/* ---------- MOBILE REFLECTION CONSTELLATION ---------- */
@media (max-width:820px){
  .reflections-v4 .constellation-stage{
    overflow:hidden!important;
  }
  .reflections-v4 .constellation-nodes{
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:50px!important;
    width:100%!important;
    height:auto!important;
    overflow:hidden!important;
  }
  .reflections-v4 .constellation-node{
    width:25vw!important;
    max-width:122px!important;
    min-width:86px!important;
    opacity:.70!important;
  }
  .reflections-v4 .constellation-node-title{
    font-size:8px!important;
    line-height:1.18!important;
    -webkit-line-clamp:2!important;
  }
  .reflections-v4 .constellation-node small{
    font-size:5.5px!important;
  }
  .reflections-v4 .constellation-core{
    width:82vw!important;
    top:44%!important;
    padding:10px 8px 12px!important;
  }
  .reflections-v4 .constellation-core h2{
    font-size:clamp(28px,8.8vw,42px)!important;
    max-width:80vw!important;
  }
  .reflections-v4 .constellation-core>p{
    max-width:76vw!important;
    font-size:12px!important;
  }
  .reflections-v4 .constellation-footer{
    z-index:20!important;
    background:linear-gradient(180deg,rgba(7,12,16,0),rgba(7,12,16,.38) 42%,rgba(7,12,16,.58))!important;
  }
}
@media (max-width:560px){
  .reflections-v4 .constellation-node{
    width:23vw!important;
    min-width:76px!important;
  }
  .reflections-v4 .constellation-node-title{
    font-size:7.5px!important;
  }
  .reflections-v4 .constellation-core{
    width:84vw!important;
    top:43%!important;
  }
}

/* ---------- MOBILE PROJECTS + WORKS: HARD CHAPTER BOUNDARIES ---------- */
@media (max-width:820px){
  #proyectos,
  #obra{
    position:relative!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:100vw!important;
    height:100dvh!important;
    overflow:hidden!important;
    isolation:isolate!important;
    contain:paint!important;
    clip-path:inset(0)!important;
  }

  #proyectos .content,
  #obra .content{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }

  /* Projects stays entirely inside its chapter. */
  #proyectos .project-scene{
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
  }

  /* Works becomes a contained mobile archive. */
  #obra .content{
    padding:64px 10px 50px!important;
    justify-content:flex-start!important;
  }
  #obra .works-scene{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    gap:14px!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  #obra .works-head{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #obra .works-head h2{
    max-width:100%!important;
    font-size:clamp(36px,10vw,54px)!important;
    line-height:.94!important;
  }
  #obra .works-head>p{
    display:none!important;
  }
  #obra .works-console{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    min-width:0!important;
    min-height:0!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }
  #obra .works-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    padding:9px 10px!important;
    box-sizing:border-box!important;
  }
  #obra .works-search{
    min-width:0!important;
  }
  #obra .works-filters{
    grid-column:1/-1!important;
    display:flex!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:6px!important;
    scrollbar-width:none!important;
  }
  #obra .works-filters::-webkit-scrollbar{display:none!important;}
  #obra .works-count{
    align-self:center!important;
  }
  #obra .works-browser{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }
  #obra .works-years{
    min-width:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px 2px!important;
  }
  #obra .works-years strong{
    font-size:11px!important;
  }
  #obra .works-index{
    min-width:0!important;
    min-height:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
  #obra .works-columns{
    display:none!important;
  }
  #obra .works-list{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 8px 22px!important;
  }
  #obra .year-marker{
    width:100%!important;
    max-width:100%!important;
  }
  #obra .work-row{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:25px minmax(0,1fr) 38px!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:66px!important;
    padding:9px 0!important;
  }
  #obra .row-copy{
    min-width:0!important;
  }
  #obra .row-copy b{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    font-size:12px!important;
  }
  #obra .row-copy small{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #obra .row-type,
  #obra .row-year{
    display:none!important;
  }
  #obra .row-open{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    padding:0!important;
    justify-content:center!important;
    border-radius:50%!important;
    font-size:0!important;
  }
  #obra .row-open span{
    font-size:13px!important;
  }
  #obra .works-preview{
    display:none!important;
  }
}


/* ============================================================
   V1.0.62 · Final mobile constellation safe-zone
   + zero-gap reader compositing
   ============================================================ */

/* MOBILE CONSTELLATION:
   All six satellites remain inside a strict safe frame.
   The field no longer uses edge clipping as a positioning strategy. */
@media (max-width:820px){
  .reflections-v4 .constellation-stage{
    overflow:hidden!important;
  }

  .reflections-v4 .constellation-nodes{
    left:10px!important;
    right:10px!important;
    top:4px!important;
    bottom:58px!important;
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
    pointer-events:none!important;
  }

  .reflections-v4 .constellation-node{
    display:grid!important;
    pointer-events:auto!important;
    width:22vw!important;
    max-width:108px!important;
    min-width:78px!important;
    padding:5px 0!important;
    transform:translate(-50%,-50%) scale(.96)!important;
  }

  .reflections-v4 .constellation-node.is-active{
    transform:translate(-50%,-50%) scale(1.02)!important;
  }

  /* Restore the sixth node hidden by an older mobile breakpoint. */
  .reflections-v4 .constellation-node:nth-child(6){
    display:grid!important;
  }

  .reflections-v4 .constellation-dot{
    left:-7px!important;
    width:5px!important;
    height:5px!important;
  }

  .reflections-v4 .constellation-node-title{
    font-size:7.5px!important;
    line-height:1.16!important;
    -webkit-line-clamp:2!important;
  }

  .reflections-v4 .constellation-node-no{
    font-size:6.5px!important;
  }

  .reflections-v4 .constellation-node small{
    font-size:5px!important;
  }

  /* Keep the focus well above the lower satellites/footer. */
  .reflections-v4 .constellation-core{
    top:42.5%!important;
    width:78vw!important;
  }

  .reflections-v4 .constellation-footer,
  .reflections-v4 .constellation-hud{
    z-index:30!important;
  }
}

@media (max-width:560px){
  .reflections-v4 .constellation-nodes{
    left:8px!important;
    right:8px!important;
    bottom:54px!important;
  }

  .reflections-v4 .constellation-node{
    width:21vw!important;
    max-width:94px!important;
    min-width:68px!important;
  }

  .reflections-v4 .constellation-node-title{
    font-size:7px!important;
  }

  .reflections-v4 .constellation-core{
    top:41.5%!important;
    width:80vw!important;
  }
}

/* DESKTOP READER:
   The primed/open reader must be a fully opaque compositing layer before
   the loader starts disappearing. No transparent frame is allowed. */
.reflection-reader.is-primed,
.reflection-reader.is-open{
  visibility:visible!important;
  opacity:1!important;
}

.reflection-reader.is-primed .reflection-reader-shell,
.reflection-reader.is-open .reflection-reader-shell{
  visibility:visible!important;
  opacity:1!important;
  background:#f2f2f7!important;
}

.reflection-reader.is-primed .reflection-reader-backdrop,
.reflection-reader.is-open .reflection-reader-backdrop{
  opacity:1!important;
}

/* While primed, only the cinematic content is withheld; the paper itself
   already fills the viewport behind the build animation. */
.reflection-reader.is-primed .reader-cinematic-media,
.reflection-reader.is-primed .reader-cinematic-title{
  opacity:0!important;
  visibility:hidden!important;
}

.reflection-reader.is-open:not(.is-primed) .reader-cinematic-media,
.reflection-reader.is-open:not(.is-primed) .reader-cinematic-title{
  visibility:visible!important;
}

/* Do not let the old radial :before transition create an intermediate dark frame. */
.reflection-reader.is-primed::before,
.reflection-reader.is-open::before{
  display:none!important;
}


/* ============================================================
   V1.0.63 · Softer reflections background + localized readability masks
   - Reflection background video is calmer and more diffuse.
   - Contrast help is now local: core title + floating ideas.
   ============================================================ */

/* The reflections background should feel more atmospheric than descriptive.
   We soften the current clip instead of dimming the whole chapter. */
.bg-layer.reflection-bg video{
  filter:saturate(.60) contrast(.90) brightness(1.04) blur(6px)!important;
  transform:scale(1.095)!important;
  object-position:50% 46%!important;
}
.bg-layer.reflection-bg:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.10) 0%,rgba(255,255,255,.045) 24%,rgba(255,255,255,.012) 46%,transparent 68%),
    linear-gradient(180deg,rgba(237,240,244,.07) 0%,rgba(237,240,244,.02) 14%,rgba(237,240,244,0) 34%,rgba(237,240,244,0) 68%,rgba(237,240,244,.04) 100%);
  mix-blend-mode:screen;
}
.bg-layer.reflection-bg:after{
  background:
    radial-gradient(ellipse at 50% 44%,rgba(13,17,20,.16) 0%,rgba(13,17,20,.08) 28%,rgba(13,17,20,.03) 46%,transparent 68%),
    linear-gradient(90deg,rgba(8,12,15,.38) 0%,rgba(8,12,15,.14) 22%,rgba(8,12,15,.04) 48%,rgba(8,12,15,.10) 80%,rgba(8,12,15,.18) 100%),
    linear-gradient(180deg,rgba(8,12,15,.08) 0%,rgba(8,12,15,.02) 22%,rgba(8,12,15,0) 42%,rgba(8,12,15,0) 68%,rgba(8,12,15,.08) 100%)!important;
}

/* Localized mask for the main focus block. */
.reflections-v4 .constellation-core{
  isolation:isolate!important;
}
.reflections-v4 .constellation-core > *{
  position:relative;
  z-index:1;
}
.reflections-v4 .constellation-core::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(1040px,88vw);
  height:min(470px,54vh);
  transform:translate(-50%,-50%);
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  background:radial-gradient(ellipse at center,
    rgba(9,13,16,.48) 0%,
    rgba(9,13,16,.34) 34%,
    rgba(9,13,16,.18) 56%,
    rgba(9,13,16,.08) 68%,
    transparent 82%);
  filter:blur(24px);
  opacity:.96;
}

/* Each floating idea now carries its own subtle local readability field.
   This follows the node automatically and avoids darkening the whole video. */
.reflections-v4 .constellation-node{
  isolation:isolate!important;
}
.reflections-v4 .constellation-node::before{
  content:"";
  position:absolute;
  inset:-15px -18px -15px -20px;
  z-index:-1;
  pointer-events:none;
  border-radius:999px;
  background:radial-gradient(ellipse at 48% 50%,
    rgba(10,14,18,.58) 0%,
    rgba(10,14,18,.34) 42%,
    rgba(10,14,18,.17) 62%,
    rgba(10,14,18,.07) 72%,
    transparent 84%);
  filter:blur(12px);
  opacity:.90;
  transform:translateZ(0);
}
.reflections-v4 .constellation-node.is-active::before,
.reflections-v4 .constellation-node:hover::before{
  background:radial-gradient(ellipse at 50% 50%,
    rgba(8,12,15,.66) 0%,
    rgba(8,12,15,.40) 40%,
    rgba(8,12,15,.20) 60%,
    rgba(8,12,15,.08) 72%,
    transparent 84%);
  filter:blur(14px);
  opacity:1;
}

/* Clean, slightly brighter type with less dependence on very heavy shadows. */
.reflections-v4 .constellation-node,
.reflections-v4 .constellation-node-title,
.reflections-v4 .constellation-node small,
.reflections-v4 .constellation-node-no{
  color:#fff!important;
}
.reflections-v4 .constellation-node-title{
  text-shadow:0 1px 2px rgba(0,0,0,.52),0 6px 16px rgba(0,0,0,.18)!important;
}
.reflections-v4 .constellation-node small,
.reflections-v4 .constellation-node-no{
  color:rgba(255,255,255,.88)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.34)!important;
}
.reflections-v4 .constellation-core h2{
  text-shadow:0 2px 4px rgba(0,0,0,.44),0 10px 24px rgba(0,0,0,.16)!important;
}
.reflections-v4 .constellation-core>p{
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 2px 4px rgba(0,0,0,.28),0 8px 20px rgba(0,0,0,.10)!important;
}

/* Keep halos discreet on small screens. */
@media (max-width:820px){
  .reflections-v4 .constellation-core::before{
    width:90vw;
    height:40vh;
    filter:blur(18px);
  }
  .reflections-v4 .constellation-node::before{
    inset:-12px -12px -12px -14px;
    filter:blur(10px);
  }
}


/* ============================================================
   V1.0.65 · DOCENCIA — Campus / Learning System
   ============================================================ */
.teaching-system{
  overflow:hidden!important;
  isolation:isolate;
}
.teaching-system-layout{
  box-sizing:border-box;
  width:min(1560px,92vw)!important;
  height:min(870px,88vh);
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) 44px;
  gap:22px;
  align-items:stretch!important;
}
.teaching-system-head{
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);
  gap:5vw;
  align-items:end;
  border-bottom:1px solid rgba(255,255,255,.12);
  padding-bottom:18px;
}
.teaching-system-intro h2{
  margin:8px 0 14px;
  max-width:820px;
  font-size:clamp(52px,6vw,96px);
  line-height:.88;
  letter-spacing:-.065em;
  text-wrap:balance;
}
.teaching-system-intro .lede{
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.64);
  font-size:clamp(13px,1vw,16px);
  line-height:1.55;
}
.teaching-filterbar{
  display:flex;
  justify-content:flex-end;
  gap:17px;
  overflow-x:auto;
  scrollbar-width:none;
}
.teaching-filterbar::-webkit-scrollbar{display:none}
.teaching-filterbar button{
  position:relative;
  flex:0 0 auto;
  border:0;
  background:none;
  color:rgba(255,255,255,.40);
  padding:8px 0;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
}
.teaching-filterbar button::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:1px;
  width:0;
  height:1px;
  transform:translateX(-50%);
  background:#fff;
  transition:width .28s ease;
}
.teaching-filterbar button:hover,
.teaching-filterbar button.is-active{color:#fff}
.teaching-filterbar button.is-active::after{width:100%}

.teaching-system-main{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(390px,.86fr) minmax(520px,1.14fr);
  gap:5vw;
}
.teaching-timeline{
  position:relative;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:6px 6px 20px 0;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
}
.teaching-spine{
  position:absolute;
  left:38px;
  top:16px;
  bottom:16px;
  width:1px;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}
.teaching-spine i{
  display:block;
  width:100%;
  height:0;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.14));
  transition:height 1.1s cubic-bezier(.16,.86,.2,1);
}
.teaching-system.is-awake .teaching-spine i{height:100%}

.teaching-node{
  position:relative;
  z-index:2;
  width:100%;
  display:grid;
  grid-template-columns:28px 20px minmax(0,1fr) 22px;
  gap:12px;
  align-items:start;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:none;
  color:#fff;
  padding:17px 4px 17px 0;
  text-align:left;
  cursor:pointer;
  opacity:.60;
  transition:opacity .28s ease, transform .36s cubic-bezier(.16,.86,.2,1),background .28s ease;
}
.teaching-node:hover{
  opacity:.92;
  transform:translateX(6px);
}
.teaching-node.is-active{
  opacity:1;
}
.teaching-node-index{
  font-size:9px;
  line-height:1.6;
  color:rgba(255,255,255,.34);
}
.teaching-node-dot{
  width:8px;
  height:8px;
  margin-top:4px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.58);
  background:#0a1115;
  box-shadow:0 0 0 0 rgba(255,255,255,.08);
  transition:.35s ease;
}
.teaching-node.is-active .teaching-node-dot{
  background:#fff;
  box-shadow:0 0 0 7px rgba(255,255,255,.07),0 0 26px rgba(255,255,255,.18);
}
.teaching-node-copy{
  min-width:0;
}
.teaching-node-copy small{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.45);
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.teaching-node-copy strong{
  display:block;
  color:#fff;
  font-size:17px;
  font-weight:590;
  line-height:1.16;
}
.teaching-node-copy em{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.52);
  font-size:11px;
  line-height:1.42;
  font-style:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.teaching-node-arrow{
  align-self:center;
  color:rgba(255,255,255,.42);
  font-size:15px;
}
.teaching-node[hidden]{display:none!important}

.teaching-focus{
  min-width:0;
  min-height:0;
}
.teaching-focus-frame{
  position:relative;
  box-sizing:border-box;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 28px 90px rgba(0,0,0,.16);
}
.teaching-focus-frame::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 14%,rgba(255,255,255,.08),transparent 26%),
    linear-gradient(120deg,rgba(255,255,255,.025),transparent 42%);
}
.teaching-focus-label{
  position:absolute;
  z-index:4;
  left:26px;
  top:22px;
  color:rgba(255,255,255,.40);
  font-size:8px;
  letter-spacing:.18em;
}
.teaching-focus-content{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  box-sizing:border-box;
  padding:54px 26px 26px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.20) transparent;
}
.teaching-focus-placeholder{
  display:grid;
  height:100%;
  place-items:center;
  color:rgba(255,255,255,.30);
  font-size:11px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.teaching-focus.is-transitioning .teaching-focus-content{
  animation:teachingFocusIn .62s cubic-bezier(.16,.86,.2,1);
}
@keyframes teachingFocusIn{
  from{opacity:.08;transform:translateY(18px) scale(.985);filter:blur(8px)}
  to{opacity:1;transform:none;filter:none}
}
.teaching-detail-article{
  display:grid;
  grid-template-columns:minmax(180px,.44fr) minmax(0,.56fr);
  gap:28px;
  align-items:start;
}
.teaching-detail-article:not(:has(.teaching-detail-media)){
  grid-template-columns:1fr;
}
.teaching-detail-media{
  position:sticky;
  top:0;
  aspect-ratio:4/5;
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
}
.teaching-detail-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.teaching-detail-copy{
  min-width:0;
}
.teaching-detail-meta{
  display:flex;
  gap:14px;
  color:rgba(255,255,255,.46);
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.teaching-detail-copy h3{
  margin:14px 0 15px;
  color:#fff;
  font-size:clamp(34px,4.2vw,68px);
  line-height:.92;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.teaching-detail-lede{
  margin:0 0 24px;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.55;
}
.teaching-detail-body{
  color:rgba(255,255,255,.74);
  font-size:13px;
  line-height:1.70;
}
.teaching-detail-body h2,
.teaching-detail-body h3,
.teaching-detail-body h4{
  color:#fff;
}
.teaching-detail-body a{color:#fff}
.teaching-detail-link{
  display:inline-flex;
  gap:24px;
  align-items:center;
  margin-top:24px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.34);
  color:#fff;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.teaching-system-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.34);
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.teaching-system-footer a{
  color:rgba(255,255,255,.72);
}

.teaching-empty{
  padding:32px 0;
  color:rgba(255,255,255,.50);
}
.teaching-empty span{
  display:block;
  margin-bottom:8px;
  font-size:9px;
}
.teaching-empty strong{
  display:block;
  color:#fff;
  font-size:22px;
}
.teaching-empty p{font-size:12px}

/* medium */
@media(max-width:1100px){
  .teaching-system-layout{
    width:94vw!important;
  }
  .teaching-system-head{
    grid-template-columns:1fr;
    gap:16px;
  }
  .teaching-filterbar{
    justify-content:flex-start;
  }
  .teaching-system-main{
    grid-template-columns:minmax(310px,.85fr) minmax(420px,1.15fr);
    gap:28px;
  }
  .teaching-detail-article{
    grid-template-columns:1fr;
  }
  .teaching-detail-media{
    position:relative;
    aspect-ratio:16/7;
  }
}

/* MOBILE: timeline first, expanded content directly beneath */
@media(max-width:820px){
  .teaching-system{
    width:100vw!important;
    max-width:100vw!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  .teaching-system-layout{
    box-sizing:border-box;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    padding:62px 12px 48px!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
  }
  .teaching-system-head{
    display:block;
    padding-bottom:14px;
  }
  .teaching-system-intro h2{
    max-width:92vw;
    font-size:clamp(42px,12vw,62px);
  }
  .teaching-system-intro .lede{
    max-width:92vw;
    font-size:13px;
  }
  .teaching-filterbar{
    margin-top:18px;
    justify-content:flex-start;
    gap:15px;
    width:100%;
    overflow-x:auto;
  }
  .teaching-system-main{
    display:block;
    width:100%;
    margin-top:16px;
  }
  .teaching-timeline{
    width:100%;
    max-height:none;
    overflow:visible;
    padding:0;
  }
  .teaching-spine{
    left:32px;
  }
  .teaching-node{
    grid-template-columns:24px 16px minmax(0,1fr) 18px;
    gap:9px;
    padding:15px 0;
  }
  .teaching-node-copy strong{
    font-size:16px;
  }
  .teaching-node-copy em{
    -webkit-line-clamp:2;
    font-size:10.5px;
  }
  .teaching-focus{
    width:100%;
    margin-top:20px;
  }
  .teaching-focus-frame{
    height:auto;
    min-height:440px;
    border-radius:24px;
  }
  .teaching-focus-content{
    height:auto;
    max-height:none;
    overflow:visible;
    padding:52px 18px 22px;
  }
  .teaching-detail-article{
    display:block;
  }
  .teaching-detail-media{
    position:relative;
    aspect-ratio:16/9;
    margin-bottom:18px;
  }
  .teaching-detail-copy h3{
    font-size:clamp(34px,10vw,52px);
  }
  .teaching-system-footer{
    margin-top:20px;
    padding:14px 0 8px;
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ============================================================
   V1.0.67 · DOCENCIA — institutional metadata
   ============================================================ */
.teaching-node-copy small{
  color:rgba(255,255,255,.52)!important;
}
.teaching-detail-program{
  margin:-4px 0 18px!important;
  max-width:780px;
  color:rgba(255,255,255,.48)!important;
  font-size:9px!important;
  line-height:1.5!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.teaching-detail-meta{
  flex-wrap:wrap;
}
@media(max-width:820px){
  .teaching-node-copy small{
    font-size:7.5px!important;
    line-height:1.35!important;
  }
  .teaching-detail-program{
    font-size:8px!important;
    max-width:88vw;
  }
}

/* ============================================================
   V1.0.68 · DOCENCIA — usability / space refinement
   ============================================================ */
.teaching-system-layout{
  width:min(1680px,94vw)!important;
  height:min(910px,90vh);
  grid-template-rows:auto minmax(0,1fr) 38px;
  gap:18px;
}
.teaching-system-head{
  grid-template-columns:minmax(320px,.74fr) minmax(520px,1.26fr);
  gap:clamp(24px,4vw,68px);
  padding-bottom:16px;
}
.teaching-system-intro h2{
  max-width:680px;
  margin:6px 0 12px;
  font-size:clamp(44px,5.2vw,82px);
  line-height:.9;
}
.teaching-system-intro .lede{
  max-width:760px;
  font-size:clamp(13px,.98vw,16px);
  line-height:1.6;
}
.teaching-filterbar{
  gap:18px;
  align-items:flex-end;
}
.teaching-system-main{
  grid-template-columns:minmax(430px,.92fr) minmax(640px,1.24fr);
  gap:clamp(24px,3.2vw,52px);
}
.teaching-timeline{
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  box-shadow:0 18px 52px rgba(0,0,0,.12);
  padding:8px 16px 16px 12px;
}
.teaching-spine{
  left:46px;
  top:18px;
  bottom:18px;
}
.teaching-node{
  grid-template-columns:32px 20px minmax(0,1fr) 18px;
  gap:12px;
  padding:15px 4px 15px 0;
}
.teaching-node-index{
  font-size:10px;
}
.teaching-node-copy strong{
  font-size:19px;
  line-height:1.12;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.teaching-node-copy em{
  margin-top:6px;
  font-size:11px;
  line-height:1.45;
  -webkit-line-clamp:2;
}
.teaching-focus-frame{
  border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  box-shadow:0 26px 84px rgba(0,0,0,.18);
}
.teaching-focus-label{
  left:28px;
  top:24px;
}
.teaching-focus-content{
  padding:58px 30px 28px;
}
.teaching-detail-article{
  grid-template-columns:minmax(210px,.38fr) minmax(0,.62fr);
  gap:32px;
}
.teaching-detail-media{
  aspect-ratio:4/5;
  border-radius:24px;
}
.teaching-detail-copy h3{
  margin:10px 0 14px;
  max-width:14ch;
  font-size:clamp(30px,3.6vw,58px);
  line-height:.96;
}
.teaching-detail-program{
  margin:-2px 0 14px!important;
}
.teaching-detail-lede{
  max-width:62ch;
  margin:0 0 18px;
  font-size:14px;
  line-height:1.6;
}
.teaching-detail-body{
  max-width:68ch;
  font-size:13px;
  line-height:1.72;
}
.teaching-detail-link{
  margin-top:18px;
}
.teaching-system-footer{
  padding-top:2px;
}

@media(max-width:1320px){
  .teaching-system-layout{
    width:min(96vw,1600px)!important;
  }
  .teaching-system-head{
    grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr);
    gap:28px;
  }
  .teaching-system-main{
    grid-template-columns:minmax(370px,.9fr) minmax(0,1.1fr);
    gap:24px;
  }
  .teaching-node-copy strong{
    font-size:18px;
  }
  .teaching-detail-copy h3{
    font-size:clamp(28px,3.2vw,50px);
  }
}

@media(max-width:1100px){
  .teaching-system-layout{
    width:94vw!important;
    height:min(900px,92vh);
  }
  .teaching-system-head{
    grid-template-columns:1fr;
    gap:16px;
  }
  .teaching-system-intro h2{
    max-width:820px;
    font-size:clamp(44px,6.8vw,72px);
  }
  .teaching-system-main{
    grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);
  }
  .teaching-timeline{
    border-radius:24px;
  }
  .teaching-detail-article{
    grid-template-columns:1fr;
    gap:20px;
  }
  .teaching-detail-media{
    aspect-ratio:16/8;
  }
  .teaching-detail-copy h3{
    max-width:18ch;
  }
}

@media(max-width:820px){
  .teaching-system-layout{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    padding:62px 12px 46px!important;
  }
  .teaching-system-head{
    padding-bottom:12px;
  }
  .teaching-system-intro h2{
    max-width:94vw;
    font-size:clamp(40px,12vw,58px);
  }
  .teaching-system-intro .lede{
    max-width:94vw;
  }
  .teaching-system-main{
    margin-top:14px;
  }
  .teaching-timeline{
    border-radius:22px;
    padding:4px 12px 10px 10px;
  }
  .teaching-spine{
    left:30px;
  }
  .teaching-node{
    grid-template-columns:22px 14px minmax(0,1fr) 16px;
    gap:8px;
    padding:13px 0;
  }
  .teaching-node-copy strong{
    font-size:16px;
  }
  .teaching-node-copy em{
    font-size:10px;
  }
  .teaching-focus{
    margin-top:16px;
  }
  .teaching-focus-frame{
    min-height:420px;
    border-radius:22px;
  }
  .teaching-focus-content{
    padding:50px 18px 20px;
  }
  .teaching-detail-copy h3{
    max-width:100%;
    font-size:clamp(30px,9vw,46px);
  }
}


/* ============================================================
   V1.0.69 · DOCENCIA — Apple / Academia Premium
   Cleaner, lighter, less panel-heavy, more editorial.
   ============================================================ */

.teaching-system-layout{
  width:min(1720px,95vw)!important;
  height:min(920px,91vh)!important;
  grid-template-rows:auto minmax(0,1fr) 34px!important;
  gap:16px!important;
}

/* Header: quieter, more editorial */
.teaching-system-head{
  grid-template-columns:minmax(360px,.78fr) minmax(560px,1.22fr)!important;
  gap:clamp(26px,4vw,72px)!important;
  align-items:end!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  padding-bottom:14px!important;
}
.teaching-system-intro .eyebrow{
  color:rgba(255,255,255,.58)!important;
  font-size:9px!important;
  letter-spacing:.24em!important;
}
.teaching-system-intro h2{
  max-width:700px!important;
  margin:4px 0 10px!important;
  font-size:clamp(42px,4.9vw,78px)!important;
  line-height:.91!important;
  letter-spacing:-.06em!important;
}
.teaching-system-intro .lede{
  max-width:760px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:clamp(13px,.95vw,15px)!important;
  line-height:1.55!important;
}

/* Apple-like text filters, no pill/table feeling */
.teaching-filterbar{
  justify-content:flex-end!important;
  align-items:center!important;
  gap:22px!important;
  padding-bottom:2px!important;
}
.teaching-filterbar button{
  color:rgba(255,255,255,.46)!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
  padding:7px 0!important;
  transition:color .22s ease,opacity .22s ease!important;
}
.teaching-filterbar button:hover,
.teaching-filterbar button.is-active{
  color:#fff!important;
}
.teaching-filterbar button::after{
  height:1px!important;
  bottom:0!important;
  background:rgba(255,255,255,.92)!important;
}

/* Main canvas: more usable width, less boxed */
.teaching-system-main{
  grid-template-columns:minmax(430px,.88fr) minmax(700px,1.32fr)!important;
  gap:clamp(28px,3vw,48px)!important;
  min-height:0!important;
}

/* Timeline becomes a clean editorial rail */
.teaching-timeline{
  border:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:2px 10px 10px 0!important;
}
.teaching-timeline::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.11) 10%,rgba(255,255,255,.11) 90%,transparent);
  pointer-events:none;
}
.teaching-spine{
  left:40px!important;
  background:rgba(255,255,255,.12)!important;
}
.teaching-spine i{
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.16))!important;
}

.teaching-node{
  grid-template-columns:30px 18px minmax(0,1fr) 16px!important;
  gap:11px!important;
  padding:13px 0!important;
  border-bottom:1px solid rgba(255,255,255,.095)!important;
  opacity:.62!important;
  transform:none!important;
}
.teaching-node:hover{
  opacity:.92!important;
  transform:none!important;
}
.teaching-node.is-active{
  opacity:1!important;
}
.teaching-node-index{
  color:rgba(255,255,255,.32)!important;
  font-size:9px!important;
}
.teaching-node-dot{
  width:7px!important;
  height:7px!important;
  margin-top:5px!important;
  border-color:rgba(255,255,255,.62)!important;
  background:rgba(255,255,255,.04)!important;
}
.teaching-node.is-active .teaching-node-dot{
  background:#fff!important;
  box-shadow:0 0 0 6px rgba(255,255,255,.07),0 0 22px rgba(255,255,255,.14)!important;
}
.teaching-node-copy small{
  margin-bottom:5px!important;
  color:rgba(255,255,255,.47)!important;
  font-size:7.5px!important;
  letter-spacing:.14em!important;
}
.teaching-node-copy strong{
  color:#fff!important;
  font-size:18px!important;
  font-weight:560!important;
  line-height:1.14!important;
}
.teaching-node-copy em{
  margin-top:5px!important;
  color:rgba(255,255,255,.54)!important;
  font-size:10.5px!important;
  line-height:1.42!important;
}
.teaching-node-arrow{
  color:rgba(255,255,255,.36)!important;
  font-size:13px!important;
}

/* Focus panel: Apple glass, lighter and less "card" */
.teaching-focus-frame{
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:30px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045))!important;
  box-shadow:
    0 28px 90px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(22px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(125%)!important;
}
.teaching-focus-frame::before{
  background:
    radial-gradient(circle at 80% 8%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(120deg,rgba(255,255,255,.025),transparent 48%)!important;
}
.teaching-focus-label{
  top:20px!important;
  left:26px!important;
  color:rgba(255,255,255,.44)!important;
  font-size:7.5px!important;
  letter-spacing:.18em!important;
}
.teaching-focus-content{
  padding:50px 26px 24px!important;
}

/* Detail: editorial hierarchy, larger usable text column */
.teaching-detail-article{
  grid-template-columns:minmax(190px,.34fr) minmax(0,.66fr)!important;
  gap:30px!important;
}
.teaching-detail-article:not(:has(.teaching-detail-media)){
  grid-template-columns:1fr!important;
}
.teaching-detail-media{
  border-radius:22px!important;
  background:rgba(255,255,255,.04)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;
}
.teaching-detail-meta{
  gap:10px 14px!important;
  color:rgba(255,255,255,.50)!important;
  font-size:7.5px!important;
  letter-spacing:.15em!important;
}
.teaching-detail-copy h3{
  max-width:17ch!important;
  margin:10px 0 12px!important;
  font-size:clamp(30px,3.3vw,54px)!important;
  line-height:.95!important;
  letter-spacing:-.05em!important;
}
.teaching-detail-program{
  max-width:70ch!important;
  margin:0 0 14px!important;
  color:rgba(255,255,255,.52)!important;
  font-size:8.5px!important;
  letter-spacing:.10em!important;
}
.teaching-detail-lede{
  max-width:70ch!important;
  margin-bottom:16px!important;
  color:rgba(255,255,255,.74)!important;
  font-size:13.5px!important;
  line-height:1.58!important;
}
.teaching-detail-body{
  max-width:72ch!important;
  color:rgba(255,255,255,.72)!important;
  font-size:12.5px!important;
  line-height:1.68!important;
}
.teaching-detail-body p{
  margin-top:0!important;
  margin-bottom:13px!important;
}
.teaching-detail-link{
  margin-top:14px!important;
  gap:18px!important;
  color:rgba(255,255,255,.90)!important;
  border-color:rgba(255,255,255,.30)!important;
}

/* Footer becomes almost invisible, like a system status line */
.teaching-system-footer{
  border-top:1px solid rgba(255,255,255,.08)!important;
  color:rgba(255,255,255,.28)!important;
  font-size:7.5px!important;
}
.teaching-system-footer a{
  color:rgba(255,255,255,.58)!important;
}

/* Slight local contrast layer only around content, preserving the video */
.teaching-system-layout::before{
  content:"";
  position:absolute;
  inset:5% 2% 5% 2%;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 22% 52%,rgba(0,0,0,.18),transparent 54%),
    radial-gradient(ellipse at 73% 54%,rgba(0,0,0,.12),transparent 56%);
  filter:blur(26px);
}

/* Medium desktop */
@media(max-width:1320px){
  .teaching-system-layout{
    width:96vw!important;
  }
  .teaching-system-main{
    grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr)!important;
    gap:24px!important;
  }
  .teaching-system-head{
    grid-template-columns:minmax(300px,.82fr) minmax(440px,1.18fr)!important;
  }
  .teaching-detail-article{
    grid-template-columns:minmax(160px,.30fr) minmax(0,.70fr)!important;
  }
  .teaching-detail-copy h3{
    font-size:clamp(28px,3.1vw,46px)!important;
  }
}

/* Notebook */
@media(max-width:1100px){
  .teaching-system-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .teaching-filterbar{
    justify-content:flex-start!important;
  }
  .teaching-system-main{
    grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr)!important;
  }
  .teaching-detail-article{
    grid-template-columns:1fr!important;
  }
  .teaching-detail-media{
    aspect-ratio:16/7!important;
  }
}

/* Mobile: same language, no heavy cards */
@media(max-width:820px){
  .teaching-system-layout{
    padding:60px 12px 44px!important;
  }
  .teaching-system-intro h2{
    font-size:clamp(38px,11.5vw,56px)!important;
  }
  .teaching-filterbar{
    gap:16px!important;
  }
  .teaching-timeline{
    border:none!important;
    background:transparent!important;
    padding:0!important;
  }
  .teaching-timeline::after{
    display:none!important;
  }
  .teaching-spine{
    left:29px!important;
  }
  .teaching-node{
    grid-template-columns:22px 14px minmax(0,1fr) 14px!important;
    gap:8px!important;
    padding:12px 0!important;
  }
  .teaching-node-copy strong{
    font-size:15.5px!important;
  }
  .teaching-focus-frame{
    border-radius:24px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important;
  }
  .teaching-focus-content{
    padding:48px 17px 20px!important;
  }
  .teaching-detail-copy h3{
    max-width:100%!important;
    font-size:clamp(30px,9.2vw,44px)!important;
  }
}


/* ============================================================
   V1.0.70 · DOCENCIA — usability / grouping / light archive
   ============================================================ */
.teaching-system-layout{
  width:min(1820px,97vw)!important;
  height:min(934px,92vh)!important;
  gap:14px!important;
}
.teaching-system-head{
  grid-template-columns:minmax(660px,1.15fr) minmax(460px,.85fr)!important;
  gap:clamp(20px,3vw,48px)!important;
}
.teaching-system-intro h2{
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(40px,4.35vw,76px)!important;
  line-height:.96!important;
}
.teaching-system-intro .lede{
  max-width:900px!important;
}
.teaching-system-main{
  grid-template-columns:minmax(560px,.98fr) minmax(760px,1.02fr)!important;
  gap:clamp(22px,2.6vw,40px)!important;
}
.teaching-timeline,
.teaching-focus-content{
  overscroll-behavior:contain!important;
}
.teaching-timeline{
  padding:0 8px 6px 0!important;
}
.teaching-group-label{
  display:block;
  margin:18px 0 6px 48px;
  color:rgba(255,255,255,.78);
  font-size:9px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.teaching-group-label:first-of-type{
  margin-top:2px;
}
.teaching-node{
  padding:14px 0!important;
}
.teaching-node-copy strong{
  font-size:20px!important;
}
.teaching-node-copy em{
  color:rgba(255,255,255,.60)!important;
}
.teaching-focus-frame{
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.07))!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.14)!important;
}
.teaching-focus-content{
  padding:50px 30px 28px!important;
}
.teaching-detail-article{
  grid-template-columns:minmax(200px,.30fr) minmax(0,.70fr)!important;
  gap:26px!important;
}
.teaching-detail-copy h3{
  max-width:24ch!important;
  font-size:clamp(24px,2.6vw,42px)!important;
  line-height:1.02!important;
}
.teaching-detail-lede{
  font-size:14px!important;
  color:rgba(255,255,255,.80)!important;
}
.teaching-detail-body{
  font-size:13px!important;
  color:rgba(255,255,255,.78)!important;
}
@media(max-width:1320px){
  .teaching-system-head{grid-template-columns:minmax(380px,1fr) minmax(380px,1fr)!important;}
  .teaching-system-main{grid-template-columns:minmax(400px,.94fr) minmax(0,1.06fr)!important;}
  .teaching-system-intro h2{font-size:clamp(38px,4.9vw,64px)!important;}
}
@media(max-width:1100px){
  .teaching-system-intro h2{white-space:normal!important;max-width:14ch!important;}
  .teaching-system-main{grid-template-columns:minmax(330px,.92fr) minmax(0,1.08fr)!important;}
}
@media(max-width:820px){
  .teaching-system-intro h2{white-space:normal!important;max-width:11ch!important;font-size:clamp(38px,11.2vw,56px)!important;}
  .teaching-system-main{display:block!important;}
  .teaching-group-label{margin:16px 0 6px 36px;font-size:8px;}
  .teaching-node-copy strong{font-size:16px!important;}
  .teaching-focus-content{padding:48px 18px 20px!important;}
  .teaching-detail-copy h3{max-width:100%!important;font-size:clamp(28px,8.4vw,40px)!important;}
}

/* Archive / Ver toda la docencia */
body.post-type-archive-jn_teaching{
  background:#eef1f5!important;
  color:#111827!important;
}
body.post-type-archive-jn_teaching .top,
body.post-type-archive-jn_teaching .ghost-word,
body.post-type-archive-jn_teaching .bg-layer{display:none!important;}
body.post-type-archive-jn_teaching a{color:inherit;}
.archive-teaching-shell{
  min-height:100vh;
  background:linear-gradient(180deg,#f3f5f8 0%,#eceff4 100%);
}
.archive-teaching-inner{
  width:min(1460px,94vw);
  margin:0 auto;
  padding:88px 0 80px;
}
.archive-teaching-head{
  display:grid;
  grid-template-columns:minmax(260px,.48fr) minmax(0,.52fr);
  gap:42px;
  align-items:end;
  padding-bottom:24px;
  border-bottom:1px solid rgba(17,24,39,.10);
}
.archive-teaching-back{
  display:inline-flex;align-items:center;gap:10px;
  color:rgba(17,24,39,.62);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
}
.archive-teaching-head h1{
  margin:10px 0 0;
  font-size:clamp(44px,6vw,88px);
  line-height:.94;letter-spacing:-.06em;color:#111827;
}
.archive-teaching-head p{margin:0;color:rgba(17,24,39,.66);font-size:15px;line-height:1.65;}
.archive-teaching-list{margin-top:28px;display:grid;gap:14px;}
.archive-teaching-item{
  display:grid;grid-template-columns:78px minmax(180px,.9fr) minmax(0,1.1fr) 28px;gap:18px;align-items:start;
  padding:22px 22px; border:1px solid rgba(17,24,39,.08); border-radius:24px;
  background:rgba(255,255,255,.78); box-shadow:0 18px 50px rgba(15,23,42,.06); backdrop-filter:blur(10px);
}
.archive-teaching-num{color:rgba(17,24,39,.35);font-size:34px;line-height:1;font-weight:600;letter-spacing:-.05em;}
.archive-teaching-type{display:block;margin-bottom:8px;color:rgba(17,24,39,.50);font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.archive-teaching-title{margin:0;color:#111827;font-size:26px;line-height:1.06;letter-spacing:-.04em;}
.archive-teaching-title a{text-decoration:none;}
.archive-teaching-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;color:rgba(17,24,39,.48);font-size:10px;letter-spacing:.14em;text-transform:uppercase;}
.archive-teaching-excerpt{margin:0;color:rgba(17,24,39,.75);font-size:14px;line-height:1.65;}
.archive-teaching-arrow{align-self:center;justify-self:end;color:rgba(17,24,39,.44);font-size:20px;text-decoration:none;}
@media(max-width:900px){
  .archive-teaching-head{grid-template-columns:1fr;}
  .archive-teaching-item{grid-template-columns:1fr;gap:10px;}
  .archive-teaching-num{font-size:24px;}
  .archive-teaching-title{font-size:22px;}
  .archive-teaching-arrow{justify-self:start;}
}


/* ============================================================
   V1.0.71 · DOCENCIA — individual teaching entry
   Light Apple editorial reader instead of generic black single.php
   ============================================================ */

body.single-jn_teaching{
  background:#eef1f5!important;
  color:#111827!important;
}
body.single-jn_teaching .top,
body.single-jn_teaching .ghost-word,
body.single-jn_teaching .bg-layer{
  display:none!important;
}
body.single-jn_teaching a{
  color:inherit;
}

.single-teaching-shell{
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 8%,rgba(255,255,255,.92),transparent 28%),
    linear-gradient(180deg,#f6f7f9 0%,#edf0f4 100%);
}
.single-teaching-article{
  width:min(1460px,94vw);
  margin:0 auto;
  padding:34px 0 76px;
}
.single-teaching-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:52px;
  border-bottom:1px solid rgba(17,24,39,.09);
}
.single-teaching-back,
.single-teaching-all{
  color:rgba(17,24,39,.58)!important;
  text-decoration:none;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.single-teaching-back:hover,
.single-teaching-all:hover{
  color:#111827!important;
}

.single-teaching-hero{
  padding:clamp(56px,8vh,104px) 0 44px;
  border-bottom:1px solid rgba(17,24,39,.10);
}
.single-teaching-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-bottom:18px;
  color:rgba(17,24,39,.52);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.single-teaching-hero h1{
  max-width:16ch;
  margin:0;
  color:#111827;
  font-size:clamp(54px,7vw,112px);
  line-height:.90;
  letter-spacing:-.065em;
  text-wrap:balance;
}
.single-teaching-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:48px;
}
.single-teaching-meta>div{
  padding-top:14px;
  border-top:1px solid rgba(17,24,39,.10);
}
.single-teaching-meta small{
  display:block;
  margin-bottom:7px;
  color:rgba(17,24,39,.42);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.single-teaching-meta strong{
  display:block;
  color:#111827;
  font-size:14px;
  line-height:1.45;
  font-weight:560;
}

.single-teaching-reading{
  display:grid;
  grid-template-columns:minmax(240px,.34fr) minmax(0,.66fr);
  gap:clamp(40px,6vw,96px);
  padding:54px 0 64px;
}
.single-teaching-reading:not(:has(.single-teaching-media)){
  grid-template-columns:minmax(0,1fr);
}
.single-teaching-media{
  margin:0;
  position:sticky;
  top:28px;
  align-self:start;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 70px rgba(15,23,42,.08);
}
.single-teaching-media img{
  display:block;
  width:100%;
  height:auto;
}
.single-teaching-copy{
  max-width:820px;
}
.single-teaching-lede{
  margin:0 0 28px;
  color:#303642;
  font-size:clamp(20px,1.8vw,28px);
  line-height:1.45;
  letter-spacing:-.018em;
}
.single-teaching-content{
  color:#343a45;
  font-size:17px;
  line-height:1.82;
}
.single-teaching-content p{
  margin:0 0 1.25em;
}
.single-teaching-content h2,
.single-teaching-content h3,
.single-teaching-content h4{
  color:#111827;
  letter-spacing:-.035em;
}
.single-teaching-content h2{
  margin:1.6em 0 .6em;
  font-size:34px;
}
.single-teaching-content h3{
  margin:1.5em 0 .5em;
  font-size:25px;
}
.single-teaching-content a{
  color:#1769aa!important;
  text-decoration:none;
  border-bottom:1px solid rgba(23,105,170,.24);
}
.single-teaching-source{
  display:inline-flex;
  gap:18px;
  align-items:center;
  margin-top:22px;
  padding-bottom:7px;
  color:#4b5563!important;
  border-bottom:1px solid rgba(17,24,39,.18);
  text-decoration:none;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.single-teaching-footer{
  display:flex;
  justify-content:space-between;
  gap:30px;
  padding-top:22px;
  border-top:1px solid rgba(17,24,39,.10);
  color:rgba(17,24,39,.56);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.single-teaching-footer a{
  text-decoration:none;
}
.single-teaching-footer nav{
  display:flex;
  gap:24px;
}

@media(max-width:820px){
  .single-teaching-article{
    width:min(92vw,760px);
    padding-top:16px;
  }
  .single-teaching-topbar{
    min-height:48px;
  }
  .single-teaching-all{
    display:none;
  }
  .single-teaching-hero{
    padding:44px 0 30px;
  }
  .single-teaching-hero h1{
    max-width:100%;
    font-size:clamp(48px,14vw,72px);
  }
  .single-teaching-meta{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:34px;
  }
  .single-teaching-reading{
    display:block;
    padding:34px 0 46px;
  }
  .single-teaching-media{
    position:relative;
    top:auto;
    margin-bottom:26px;
    border-radius:22px;
  }
  .single-teaching-lede{
    font-size:20px;
  }
  .single-teaching-content{
    font-size:16px;
    line-height:1.75;
  }
  .single-teaching-footer{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ============================================================
   V1.0.73 · DOCENCIA — full-screen workspace
   ============================================================ */
#docencia .teaching-system-layout{
  box-sizing:border-box!important;width:100vw!important;max-width:none!important;height:100vh!important;margin:0!important;
  padding:58px clamp(24px,3vw,52px) 42px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  gap:12px!important;justify-content:stretch!important;align-items:stretch!important;
}
#docencia .teaching-system-head{display:grid!important;grid-template-columns:minmax(720px,1.2fr) minmax(430px,.8fr)!important;gap:28px!important;align-items:end!important;padding:0 0 12px!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
#docencia .teaching-system-intro .eyebrow{margin:0 0 5px!important;font-size:8px!important}
#docencia .teaching-system-intro h2{max-width:none!important;margin:0!important;white-space:nowrap!important;font-size:clamp(38px,4vw,66px)!important;line-height:.98!important;letter-spacing:-.055em!important}
#docencia .teaching-system-intro .lede{max-width:980px!important;margin:8px 0 0!important;font-size:clamp(11px,.86vw,14px)!important;line-height:1.45!important}
#docencia .teaching-filterbar{align-self:end!important;justify-content:flex-end!important;gap:18px!important;padding:0 0 2px!important}
#docencia .teaching-system-main{min-height:0!important;height:100%!important;display:grid!important;grid-template-columns:minmax(600px,.96fr) minmax(760px,1.04fr)!important;gap:clamp(20px,2.1vw,34px)!important;align-items:stretch!important}
#docencia .teaching-timeline{min-height:0!important;height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 10px 12px 0!important;border-right:1px solid rgba(255,255,255,.10)!important;scrollbar-width:thin!important;scrollbar-color:rgba(255,255,255,.26) transparent!important}
#docencia .teaching-group-label{margin:13px 0 4px 46px!important;font-size:8px!important;letter-spacing:.17em!important}
#docencia .teaching-group-label:first-of-type{margin-top:1px!important}
#docencia .teaching-spine{left:38px!important;top:9px!important;bottom:10px!important}
#docencia .teaching-node{grid-template-columns:28px 16px minmax(0,1fr) 14px!important;gap:9px!important;padding:10px 0!important}
#docencia .teaching-node-copy small{margin-bottom:3px!important;font-size:7px!important;line-height:1.25!important}
#docencia .teaching-node-copy strong{font-size:17px!important;line-height:1.12!important}
#docencia .teaching-node-copy em{margin-top:4px!important;font-size:9.5px!important;line-height:1.35!important;-webkit-line-clamp:1!important}
#docencia .teaching-focus{min-width:0!important;min-height:0!important;height:100%!important}
#docencia .teaching-focus-frame{width:100%!important;height:100%!important;min-height:0!important;border-radius:28px!important;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.065))!important;border-color:rgba(255,255,255,.19)!important}
#docencia .teaching-focus-label{top:17px!important;left:24px!important}
#docencia .teaching-focus-content{width:100%!important;height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:43px 26px 24px!important;scrollbar-width:thin!important;scrollbar-color:rgba(255,255,255,.27) transparent!important}
#docencia .teaching-detail-article{min-height:100%!important;display:grid!important;grid-template-columns:minmax(180px,.26fr) minmax(0,.74fr)!important;gap:24px!important;align-items:start!important}
#docencia .teaching-detail-article:not(:has(.teaching-detail-media)){grid-template-columns:1fr!important}
#docencia .teaching-detail-media{top:0!important;max-height:calc(100vh - 210px)!important}
#docencia .teaching-detail-copy{max-width:none!important}
#docencia .teaching-detail-meta{margin-bottom:5px!important}
#docencia .teaching-detail-copy h3{max-width:26ch!important;margin:6px 0 8px!important;font-size:clamp(24px,2.15vw,38px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
#docencia .teaching-detail-program{max-width:none!important;margin:0 0 10px!important;font-size:8px!important}
#docencia .teaching-detail-lede{max-width:78ch!important;margin:0 0 12px!important;font-size:12.5px!important;line-height:1.5!important}
#docencia .teaching-detail-body{max-width:82ch!important;font-size:12px!important;line-height:1.62!important}
#docencia .teaching-detail-body p{margin:0 0 9px!important}
#docencia .teaching-system-footer,#docencia .teaching-detail-link{display:none!important}
@media(max-width:1350px) and (min-width:821px){
  #docencia .teaching-system-layout{padding:54px 22px 38px!important}
  #docencia .teaching-system-head{grid-template-columns:minmax(560px,1.1fr) minmax(370px,.9fr)!important;gap:18px!important}
  #docencia .teaching-system-intro h2{font-size:clamp(34px,4.2vw,54px)!important}
  #docencia .teaching-system-main{grid-template-columns:minmax(440px,.92fr) minmax(0,1.08fr)!important;gap:18px!important}
  #docencia .teaching-node-copy strong{font-size:15.5px!important}
  #docencia .teaching-detail-copy h3{font-size:clamp(22px,2.55vw,34px)!important}
}
@media(max-width:820px){
  #docencia .teaching-system-layout{width:100vw!important;max-width:100vw!important;height:100dvh!important;padding:58px 12px 42px!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important}
  #docencia .teaching-system-head{display:block!important;padding-bottom:10px!important}
  #docencia .teaching-system-intro h2{white-space:normal!important;max-width:11ch!important;font-size:clamp(36px,10.8vw,52px)!important}
  #docencia .teaching-filterbar{margin-top:14px!important;justify-content:flex-start!important;overflow-x:auto!important}
  #docencia .teaching-system-main{display:block!important;height:auto!important;margin-top:12px!important}
  #docencia .teaching-timeline{height:auto!important;max-height:none!important;border-right:0!important;overflow:visible!important}
  #docencia .teaching-focus{height:auto!important;margin-top:16px!important}
  #docencia .teaching-focus-frame{height:auto!important;min-height:390px!important}
  #docencia .teaching-focus-content{height:auto!important;overflow:visible!important;padding:44px 17px 18px!important}
  #docencia .teaching-detail-article{display:block!important;min-height:0!important}
  #docencia .teaching-detail-copy h3{max-width:100%!important;font-size:clamp(28px,8.6vw,40px)!important}
}


/* ============================================================
   V1.0.74 · CONTACTO — cinematic closing scene
   ============================================================ */
#contacto.contact-v174{
  overflow:hidden!important;
  isolation:isolate;
}
#contacto .contact-layout{
  box-sizing:border-box;
  width:min(1660px,94vw)!important;
  height:min(860px,88vh);
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) 34px;
  gap:22px;
  align-items:stretch!important;
}
#contacto .contact-hero{
  align-self:end;
}
#contacto .contact-hero h2{
  margin:6px 0 12px;
  font-size:clamp(82px,12vw,196px)!important;
  line-height:.82;
  letter-spacing:-.075em;
  white-space:nowrap;
}
#contacto .contact-intro{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:clamp(14px,1vw,17px);
  line-height:1.55;
}

#contacto .contact-actions{
  align-self:end;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(340px,.72fr);
  gap:14px;
  width:100%;
}
#contacto .contact-primary,
#contacto .contact-vcard{
  position:relative;
  box-sizing:border-box;
  min-width:0;
  min-height:150px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  box-shadow:0 26px 70px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(20px) saturate(125%);
  -webkit-backdrop-filter:blur(20px) saturate(125%);
  color:#fff;
  text-decoration:none;
  overflow:hidden;
  transition:transform .32s cubic-bezier(.16,.86,.2,1),background .32s ease,border-color .32s ease;
}
#contacto .contact-primary::before,
#contacto .contact-vcard::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.12),transparent 34%);
}
#contacto .contact-primary:hover,
#contacto .contact-vcard:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.28);
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
}
#contacto .contact-primary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto 1fr;
  gap:10px;
  padding:24px 26px;
}
#contacto .contact-primary small{
  grid-column:1/-1;
  color:rgba(255,255,255,.50);
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
#contacto .contact-primary strong{
  align-self:end;
  min-width:0;
  overflow-wrap:anywhere;
  font-size:clamp(22px,2.2vw,38px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:560;
}
#contacto .contact-primary>span{
  align-self:end;
  justify-self:end;
  color:rgba(255,255,255,.62);
  font-size:21px;
}

#contacto .contact-vcard{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  gap:20px;
  align-items:center;
  padding:18px 18px 18px 24px;
}
#contacto .contact-vcard-copy{
  display:block;
  min-width:0;
}
#contacto .contact-vcard-copy small{
  display:block;
  margin-bottom:9px;
  color:rgba(255,255,255,.50);
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
#contacto .contact-vcard-copy strong{
  display:block;
  margin-bottom:8px;
  font-size:21px;
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:560;
}
#contacto .contact-vcard-copy em{
  display:block;
  color:rgba(255,255,255,.60);
  font-size:10px;
  line-height:1.45;
  font-style:normal;
}
#contacto .contact-qr-shell{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:112px;
  height:112px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}
#contacto .contact-qr-shell img{
  display:block;
  width:92px;
  height:92px;
  object-fit:contain;
}

#contacto .contact-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.38);
  font-size:7.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

@media(max-width:1100px){
  #contacto .contact-layout{
    width:94vw!important;
  }
  #contacto .contact-actions{
    grid-template-columns:1fr 1fr;
  }
  #contacto .contact-vcard{
    grid-column:1/-1;
  }
}

@media(max-width:820px){
  #contacto .contact-layout{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    padding:62px 12px 48px!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  #contacto .contact-hero h2{
    margin-top:8px;
    font-size:clamp(68px,21vw,108px)!important;
    white-space:normal;
  }
  #contacto .contact-intro{
    font-size:13px;
  }
  #contacto .contact-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:26px;
  }
  #contacto .contact-primary,
  #contacto .contact-vcard{
    min-height:126px;
    border-radius:24px;
  }
  #contacto .contact-vcard{
    grid-column:auto;
    grid-template-columns:minmax(0,1fr) 96px;
    padding:16px 16px 16px 20px;
  }
  #contacto .contact-qr-shell{
    width:96px;
    height:96px;
    border-radius:18px;
  }
  #contacto .contact-qr-shell img{
    width:78px;
    height:78px;
  }
  #contacto .contact-status{
    margin-top:22px;
    padding-top:14px;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:8px 18px;
  }
}


/* ============================================================
   V1.0.76 · CONTACTO — compact cinematic rail
   ============================================================ */
#contacto.contact-v176{
  overflow:hidden!important;
  isolation:isolate;
}
#contacto .contact-layout-v176{
  box-sizing:border-box;
  width:min(1720px,95vw)!important;
  height:min(860px,88vh)!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto 28px;
  gap:16px;
  align-items:stretch!important;
}
#contacto .contact-copy-v176{
  align-self:end;
  padding-bottom:clamp(18px,4vh,44px);
}
#contacto .contact-copy-v176 h2{
  margin:6px 0 10px!important;
  font-size:clamp(86px,13vw,214px)!important;
  line-height:.80!important;
  letter-spacing:-.078em!important;
  white-space:nowrap!important;
}
#contacto .contact-copy-v176>p:last-child{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:clamp(13px,1vw,16px);
  line-height:1.52;
}
#contacto .contact-rail-v176{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) 1px minmax(0,1fr) 1px minmax(300px,.82fr);
  align-items:center;
  min-height:84px;
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(8,12,15,.14);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
}
#contacto .contact-rail-v176>i{
  width:1px;
  height:48%;
  background:rgba(255,255,255,.16);
}
#contacto .contact-rail-v176>a{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:4px 16px;
  align-items:end;
  padding:13px 20px;
  color:#fff;
  text-decoration:none;
  background:transparent;
  transition:background .24s ease;
}
#contacto .contact-rail-v176>a:hover{
  background:rgba(255,255,255,.055);
}
#contacto .contact-rail-v176 small{
  grid-column:1/-1;
  color:rgba(255,255,255,.46);
  font-size:7.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
#contacto .contact-rail-v176 strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:clamp(14px,1.35vw,21px);
  line-height:1.1;
  font-weight:550;
  letter-spacing:-.025em;
}
#contacto .contact-rail-v176>a>span:last-child{
  align-self:end;
  color:rgba(255,255,255,.58);
  font-size:16px;
}
#contacto .contact-save-v176{
  grid-template-columns:minmax(0,1fr) 64px!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
}
#contacto .contact-save-copy-v176{
  display:block;
  min-width:0;
}
#contacto .contact-save-copy-v176 small{
  display:block;
  margin-bottom:4px;
}
#contacto .contact-save-copy-v176 strong{
  display:block;
}
#contacto .contact-save-copy-v176 em{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.46);
  font-size:8.5px;
  line-height:1.3;
  font-style:normal;
}
#contacto .contact-qr-mini-v176{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:13px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
#contacto .contact-qr-mini-v176 img{
  display:block;
  width:48px;
  height:48px;
  object-fit:contain;
}
#contacto .contact-footer-v176{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,255,255,.35);
  font-size:7px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
@media(max-width:1100px){
  #contacto .contact-layout-v176{width:94vw!important;}
  #contacto .contact-rail-v176{grid-template-columns:1fr 1px .9fr 1px .86fr;}
}
@media(max-width:820px){
  #contacto .contact-layout-v176{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    padding:60px 12px 46px!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  #contacto .contact-copy-v176{
    padding-bottom:24px;
  }
  #contacto .contact-copy-v176 h2{
    font-size:clamp(70px,22vw,108px)!important;
    white-space:normal!important;
  }
  #contacto .contact-rail-v176{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  #contacto .contact-rail-v176>i{display:none;}
  #contacto .contact-rail-v176>a{
    min-height:68px;
    padding:12px 2px;
    border-top:1px solid rgba(255,255,255,.10);
  }
  #contacto .contact-rail-v176>a:first-child{border-top:0;}
  #contacto .contact-save-v176{
    grid-template-columns:minmax(0,1fr) 58px!important;
  }
  #contacto .contact-qr-mini-v176{
    width:54px;height:54px;border-radius:12px;
  }
  #contacto .contact-qr-mini-v176 img{width:44px;height:44px;}
  #contacto .contact-footer-v176{
    margin-top:16px;
    padding-top:12px;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:8px 18px;
  }
}
