:root{--ink:#101d29;--dark:#0b1722;--paper:#f6f2e9;--gold:#a57c43;--light-gold:#e5bf86;--line:#d7cbb9;color:var(--ink);background:var(--paper);font:16px/1.65 system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}body,p,h1,h2,h3,figure{margin:0}a{color:inherit;text-underline-offset:.24em}img,video{max-width:100%;display:block}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.03}h1{font-size:clamp(3.15rem,8vw,7.8rem);letter-spacing:-.055em}h2{font-size:clamp(2.25rem,4.8vw,4.3rem);letter-spacing:-.045em}h3{font-size:1.8rem}em{color:#7d582b;font-weight:inherit}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.eyebrow{font-size:.73rem;font-weight:750;letter-spacing:.16em;color:#765026;margin-bottom:1.2rem}.header{position:sticky;top:0;z-index:5;background:var(--dark);color:var(--paper);border-bottom:1px solid #e5bf8640}.head,.foot{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:15px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:Georgia,serif;font-size:1.2rem;line-height:1.1}.brand small{display:block;font:600 .57rem/1.8 system-ui,sans-serif;letter-spacing:.17em;color:var(--light-gold)}nav{display:flex;gap:clamp(14px,2.3vw,34px)}nav a{font-size:.9rem;text-decoration:none;white-space:nowrap}nav a:hover,nav a[aria-current]{color:var(--light-gold);text-decoration:underline}.menu{display:none}.hero,.intro,.closing,.cinema,footer{background:var(--dark);color:var(--paper)}.hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:min(76svh,850px);background:linear-gradient(90deg,#09141ff5 4%,#09141fc9 39%,#09141f42 100%),url('/assets/images/justice-cinematic.jpg') center/cover}.hero-inner{padding-block:90px 112px}.hero em,.intro em,.closing em,.cinema em,.hero .eyebrow,.intro .eyebrow,.closing .eyebrow,.cinema .eyebrow{color:var(--light-gold)}.hero-caption{position:absolute;bottom:24px;left:max(32px,calc((100% - 1180px)/2));right:max(32px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;border-top:1px solid #e5bf8666;padding-top:9px;font-size:.68rem;letter-spacing:.15em;color:var(--light-gold)}.lead{font-size:clamp(1.05rem,1.8vw,1.35rem);max-width:56ch}.hero .lead,.intro .lead{margin-top:22px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}.button,.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.9rem;font-weight:700}.button{background:var(--light-gold);border:1px solid transparent;color:var(--dark);padding:12px 18px;text-decoration:none}.button:hover{background:#f2d6ac}.outline{background:transparent;color:inherit;border-color:currentColor}.outline:hover{background:#e5bf8630}.section,.intro,.closing,.cinema{padding-block:clamp(52px,8vw,110px)}.intro{background:linear-gradient(110deg,#0b1722 25%,#203243);border-bottom:2px solid var(--gold)}.intro h1{font-size:clamp(2.8rem,7vw,6.3rem);max-width:16ch}.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(24px,7vw,104px)}.section h2+p,.section p+p,.section p+.text-link,.section h2+.text-link,.section .cards+.text-link,.card h3+p{margin-top:16px}.section figure img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center 35%;background:#dfd5c5}.section figcaption{font-size:.67rem;letter-spacing:.17em;color:#765026;padding-block:12px}.tinted{background:#ebe3d4}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}.card{background:var(--paper);padding:clamp(18px,3vw,36px);text-decoration:none;display:block}.card:hover:where(a){background:#fffaf0}.card .eyebrow,.arrow{display:block}.arrow{margin-top:16px;color:#765026}.timeline article{border-left:1px solid var(--gold);padding:0 0 26px 22px}.timeline h2,.article h2{font-size:clamp(1.5rem,3vw,2.3rem)}.article{max-width:740px}.article p{margin-bottom:24px}.cinema video{width:100%;aspect-ratio:16/9;margin-top:30px;background:#09141f}.foot{padding-block:32px;border-top:1px solid #e5bf8640;font-size:.9rem}.foot a{display:block}.closing .button{justify-self:end}.skip{position:fixed;z-index:9;left:10px;top:8px;padding:10px;background:var(--paper);transform:translateY(-160%)}.skip:focus{transform:none}:focus-visible{outline:2px solid #ab7338;outline-offset:5px}#introduccion,#privacidad{scroll-margin-top:82px}
@media(max-width:800px){.wrap{width:calc(100% - 38px)}.menu{display:block;background:transparent;color:inherit;border:1px solid #e5bf8677;padding:8px 13px;font:inherit;cursor:pointer}.head{flex-wrap:wrap;gap:12px}.head nav{display:none;flex-basis:100%;flex-direction:column;gap:0}.head nav.open{display:flex}.head nav a{padding:9px 0}.split{grid-template-columns:1fr;gap:30px}.cards{grid-template-columns:1fr}.closing .button{justify-self:start}.hero{min-height:72svh;background-position:63% center}.hero-caption{left:19px;right:19px}.foot{align-items:start;flex-direction:column}.section figure img{max-height:500px}}
.sequence{height:155vh;margin-top:30px}.sequence-still{position:sticky;top:90px;overflow:hidden;background:#09141f}.sequence-still img{width:100%;height:min(62svh,590px);object-fit:cover}@media(max-width:800px){.sequence{height:115vh}.sequence-still img{height:46svh}}@media(prefers-reduced-motion:reduce){.sequence{display:none}}

/* Portada cinematográfica */
:root{--header-height:70px}
.hero{display:block;min-height:0;background:var(--dark);isolation:auto}
.hero.has-cinema{height:265svh}
.hero-stage{position:relative;display:grid;align-items:center;isolation:isolate;min-height:calc(90svh - var(--header-height));overflow:hidden}
.has-cinema .hero-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height))}
.hero-frame,.hero-veil{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-frame{object-fit:cover;object-position:center}
.hero-veil{background:linear-gradient(90deg,#091420ed 4%,#091420ae 40%,#09142022 100%),linear-gradient(0deg,#091420b8,transparent 29%)}
.hero-inner{padding-block:54px 90px}
.hero-copy{max-width:710px}
.hero-line{opacity:calc(1 - var(--phase,0));translate:0 var(--drift,0px)}
.hero-line:nth-child(2){translate:0 calc(var(--drift,0px) * .72)}
.hero-line:nth-child(3){translate:0 calc(var(--drift,0px) * .50)}
.hero-line:nth-child(4){opacity:calc(1 - var(--phase,0) * .48);translate:0 calc(var(--drift,0px) * .32)}
.hero-copy:focus-within .hero-line{opacity:1;translate:none}
.hero-caption{gap:18px;align-items:center}
.hero-progress{height:2px;flex:1;background:#e5bf8652;overflow:hidden}
.hero-progress i{display:block;width:100%;height:100%;transform:scaleX(var(--progress,0));transform-origin:left;background:#ffe0ab}
#enfoque,#historia{scroll-margin-top:calc(var(--header-height) + 20px)}

/* Cristal, navegación y contacto */
.header{background:#0c1926eb;backdrop-filter:blur(20px) saturate(125%)}
.head{min-height:var(--header-height);padding-block:10px}
.head nav{gap:4px}
.head nav a{display:block;padding:8px 12px;border:1px solid transparent;border-radius:999px;transition:background .24s,color .24s,transform .24s,border-color .24s}
.head nav a:hover,.head nav a[aria-current]{background:#e5bf861a;border-color:#e5bf863d;text-decoration:none}
.head nav a:active{transform:scale(.96)}
.button,.menu{border-radius:999px;background:linear-gradient(135deg,#fff0c7e8,#e5bf869e);border:1px solid #f6d8a980;box-shadow:inset 0 1px #ffffff69,0 7px 20px #0b172218;backdrop-filter:blur(13px);transition:transform .25s,background .25s,box-shadow .25s;color:#132332}
.button:hover,.menu:hover{transform:translateY(-3px);box-shadow:inset 0 1px #ffffff7a,0 10px 22px #0b172237;background:linear-gradient(135deg,#fff6da,#ebc98f)}
.button:active,.menu:active{transform:translateY(0) scale(.97)}
.button.outline,.menu{color:inherit;background:#ffffff15;border-color:currentColor}
.button.outline:hover,.menu:hover{background:#e5bf8636}
.action-label,.action-icon{display:inline-flex;align-items:center;transition:transform .25s,color .25s;line-height:1.2}
.action-icon{width:1.8rem;height:1.8rem;border:1px solid #ab794b66;background:#ffffff29;border-radius:50%;justify-content:center;flex-shrink:0}
.button:hover .action-label,.text-link:hover .action-label,.menu:hover .action-label{transform:translateX(3px)}
.button:hover .action-icon,.text-link:hover .action-icon{transform:rotate(12deg) translate(2px,-2px)}
.button.outline .action-icon{border-color:#e5bf8680}
.menu-icon{display:inline-block;width:15px;height:8px;margin-left:8px;border-block:1px solid currentColor;transition:transform .25s}
.menu[aria-expanded=true] .menu-icon{transform:rotate(90deg)}
.foot{align-items:start;padding-block:44px;gap:32px}
.foot .brand{display:inline-flex}
.foot-contact .eyebrow,.profile-hero .eyebrow,.bulletin .eyebrow{color:var(--light-gold)}
.foot-contact .actions{margin-top:10px}
.foot-contact p:last-child{margin-top:14px;overflow-wrap:anywhere}
.foot-contact p:last-child a{display:inline}
.foot-contact .actions .button{display:inline-flex}
.foot-base{display:flex;justify-content:space-between;gap:16px;padding-block:16px;border-top:1px solid #e5bf8640;color:#f0e5d5;font-size:.8rem}

/* Perfil, cronología y boletín */
.profile-hero,.bulletin{padding-block:clamp(45px,8vw,100px);color:var(--paper);background:radial-gradient(ellipse at 82% 12%,#385165 0,transparent 65%),var(--dark)}
.profile-hero h1,.bulletin h1{font-size:clamp(3rem,6vw,6rem)}
.profile-hero em,.bulletin em{color:var(--light-gold)}
.profile-copy{padding:clamp(15px,3.7vw,48px);border:1px solid #e5bf8645;border-radius:30px;background:linear-gradient(135deg,#ffffff12,#ffffff04);backdrop-filter:blur(14px)}
.profile-copy .lead,.bulletin .lead{margin-top:24px}
.profile-copy h1,.profile-copy .lead{animation:profile-enter .65s both}
.profile-copy .lead{animation-delay:.13s}
@keyframes profile-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.image-frame img{border-radius:24px;box-shadow:0 18px 44px #0b172224;border:1px solid #e5bf8670}
.profile-portrait img,.bulletin figure img{width:100%;height:auto;object-fit:cover}
.profile-portrait figcaption,.bulletin figcaption{color:#e5bf86;font-size:.7rem;letter-spacing:.13em;padding-top:12px}
.story-grid,.timeline-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(22px,7vw,94px)}
.story-portrait,.timeline-photo{position:sticky;top:100px}
.story-portrait img{aspect-ratio:4/5!important}
.chapters article{padding:clamp(20px,5vw,58px) 0;border-bottom:1px solid var(--line)}
.chapters article:first-child{padding-top:0}
.chapters p:last-child{font-size:1.11rem;max-width:58ch}
.academic-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;margin-top:30px}
.academic-grid img{aspect-ratio:auto!important;max-height:none!important}
.timeline-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
.milestone{border-bottom:1px solid var(--line)}
.milestone summary{display:grid;grid-template-columns:105px 1fr 36px;gap:16px;align-items:center;padding:20px 8px;cursor:pointer;list-style:none;transition:background .2s}
.milestone summary::-webkit-details-marker{display:none}
.milestone summary:hover{background:#e9dfce}
.milestone .eyebrow{margin:0}
.milestone-icon{height:35px;width:35px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:#ffffff70;transition:transform .25s}
.milestone[open] .milestone-icon{transform:rotate(45deg)}
.milestone>div{padding:0 16px 22px 129px}
.bulletin .issue{font-size:.82rem;color:#eedbc0;margin-bottom:14px}
.card{transition:background .25s,box-shadow .25s}
.card:hover:where(a) .arrow{translate:4px -3px}
.card .arrow{transition:translate .25s}
.will-reveal{opacity:.25;transform:translateY(20px);transition:opacity .55s,transform .55s}
.will-reveal.revealed,.will-reveal:focus-within{opacity:1;transform:none}
@media(max-width:900px){.head nav a{padding-inline:8px}}
@media(max-width:800px){.header{position:sticky}.head{min-height:var(--header-height)}.head nav.open{max-height:calc(100svh - var(--header-height));overflow:auto}.head nav a{padding:9px 12px}.hero.has-cinema{height:220svh}.hero-veil{background:linear-gradient(90deg,#091420e0,#0914204c),linear-gradient(0deg,#091420d9,transparent 46%)}.hero-frame{object-position:55% center}.hero-stage{min-height:calc(86svh - var(--header-height))}.hero-caption{gap:10px}.profile-copy{border-radius:20px}.story-grid,.timeline-layout{grid-template-columns:1fr}.story-portrait,.timeline-photo{position:static}.story-portrait img{aspect-ratio:5/4!important}.academic-grid{grid-template-columns:1fr}.milestone summary{grid-template-columns:1fr 35px;gap:5px 12px}.milestone summary .eyebrow{grid-column:1/-1}.milestone>div{padding-left:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero.has-cinema{height:auto}.has-cinema .hero-stage{position:relative;top:auto;height:auto}.hero-line{opacity:1;translate:none}.will-reveal{opacity:1;transform:none}}

/* Identidad visual de la edición original */
:root{--ink:#edf1f6;--dark:#0b1723;--paper:#e9edf1;--light-gold:#efd2a0;--line:#26394b;background:#0b1723;color:var(--ink)}
body{background:radial-gradient(ellipse at 15% 22%,#102335 0,transparent 46%),#0b1723}
.wrap{width:min(1500px,calc(100% - 8vw))}
em,.eyebrow{color:var(--light-gold)}
h1,h2,h3{letter-spacing:-.044em}
.lead,.section p:not(.eyebrow),.foot-brand p{color:#b7c5d1}
.header{position:sticky;top:14px;z-index:5;background:none;border:0;backdrop-filter:none;pointer-events:none}
.head{width:min(950px,calc(100% - 32px));border-radius:44px;background:#101e2eea;border:1px solid #aec8dc30;box-shadow:0 10px 44px #03090f49;padding:10px clamp(15px,3vw,30px);backdrop-filter:blur(20px) saturate(125%);pointer-events:auto}
.header .brand{color:var(--paper)}
.head nav a{color:#c0cedb}
.head nav a:hover,.head nav a[aria-current]{color:#ffe0aa}
.inner-page .header{margin-top:14px}
.home .header{position:fixed;top:14px;left:0;right:0;transition:opacity .3s,translate .3s}
.home.cinema-playing .header:not(:focus-within):not(:has(.open)){opacity:0;translate:0 -12px;visibility:hidden}
.cinema-brand{position:absolute;z-index:1;left:4vw;top:24px;display:none;align-items:center;gap:14px;font-size:.65rem;font-weight:700;letter-spacing:.32em;color:#e1d8c7}
.has-cinema .cinema-brand{display:flex}
.hero-stage,.has-cinema .hero-stage{top:0;height:100svh;min-height:0}
.hero.has-cinema{height:385svh}
.hero-inner{padding-top:90px}
.hero-frame,.hero-canvas,.hero-veil{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-frame,.hero-canvas{object-fit:cover;object-position:center}
.hero-canvas{visibility:hidden}
.hero-canvas.is-drawn{visibility:visible}
.hero-veil{background:linear-gradient(90deg,#050d17cf 0%,#050d1778 36%,#050d171c 69%),linear-gradient(0deg,#08101c99,transparent 32%)}
.hero h1{font-size:clamp(3.3rem,7vw,7.2rem);letter-spacing:-.035em}
.hero-copy{color:#f4efe6}
.has-cinema .hero-copy{opacity:var(--title-opacity,0);translate:0 var(--title-offset,24px)}
.has-cinema .hero-copy:focus-within{opacity:1;translate:none}
.cinema-credits{display:none}
.has-cinema .cinema-credits{display:grid;position:absolute;inset-inline:4vw;top:42%;transform:translateY(-50%);pointer-events:none}
.cinema-credit{grid-area:1/1;opacity:0;color:#fff6e7}
.cinema-credit p:last-child{font:400 clamp(3.3rem,8vw,8.2rem)/1 Georgia,serif;letter-spacing:-.045em}
.hero-caption{left:4vw;right:4vw;font-size:.65rem;letter-spacing:.14em}
.hero-caption a{white-space:nowrap}
.hero-progress{height:1px}
.service-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-block:28px}
.service-ribbon a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:24px;background:#14283978;color:#edf1f6;white-space:normal;transition:background .25s,transform .25s}
.service-ribbon a:hover{background:#21394e;transform:translateY(-3px);text-decoration:none}
.service-ribbon small{display:block;margin-top:4px;color:#adbdcb;font-size:.73rem}
.service-ribbon .action-icon{color:var(--light-gold);font-size:1rem}
.legal-intro{border-block:1px solid #26394b}
.defense-story figure{position:relative;overflow:hidden;border-radius:32px;background:#0e202f}
.defense-story figure img{aspect-ratio:1/1.05;filter:grayscale(1);border:0}
.defense-story figure::after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(transparent,#081421e8);pointer-events:none}
.defense-story figure figcaption{position:absolute;z-index:1;inset:auto 7% 7%;font:400 clamp(1.25rem,2.2vw,2rem)/1.3 Georgia,serif;letter-spacing:0;color:#fff}
.defense-story li{padding:12px;border-top:1px solid var(--line);color:#d7e1e9}
.profile-feature{gap:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);overflow:hidden;border-radius:34px;border:1px solid var(--line);background:linear-gradient(105deg,#172b3e,#0c1b29)}
.profile-feature>div{padding:clamp(26px,5vw,72px)}
.profile-feature figure,.profile-feature img{height:100%}
.profile-feature figure img{aspect-ratio:4/4.4;border-radius:0;object-position:center top}
.profile-hero>.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.profile-hero figure{order:-1;position:relative}
.profile-hero figure::after{content:'';position:absolute;inset:6% 7% 11%;border:1px solid #e5bf8655;border-radius:14px;pointer-events:none}
.profile-hero figure img{aspect-ratio:1/1.08;object-fit:cover;object-position:center 28%;filter:grayscale(1)}
.profile-copy{background:none;box-shadow:none;border:0;backdrop-filter:none}
.tinted{background:#0e1f2e}
.cards{gap:14px;border:0;background:none}
.card{border-radius:22px;border:1px solid var(--line);background:#102232;color:var(--ink)}
.card:hover:where(a){background:#1a3042}
.arrow,.section figcaption,.text-link{color:var(--light-gold)}
.milestone summary:hover{background:#172d40}
.milestone-icon{color:var(--light-gold);background:#1a3042}
.button{color:#132332}
.button.outline{color:var(--ink)}
.skip{color:#0b1723}
@media(max-width:800px){.wrap{width:calc(100% - 38px)}.head{border-radius:25px;width:calc(100% - 30px)}.hero.has-cinema{height:300svh}.hero-frame,.hero-canvas{object-position:58% center}.hero-veil{background:linear-gradient(90deg,#050d17bf,#050d1733),linear-gradient(0deg,#08101cbe,transparent 52%)}.service-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-ribbon a{padding:11px;border-radius:16px}.profile-feature,.profile-hero>.split{grid-template-columns:1fr}.profile-feature figure img{aspect-ratio:5/4}.hero-caption>span:last-child{display:none}}
@media(max-width:360px){.service-ribbon a{gap:6px;padding:8px}.service-ribbon .action-icon{width:1.35rem;height:1.35rem}.hero-copy .actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.hero-stage,.has-cinema .hero-stage{height:auto;min-height:80svh}.home .header{position:absolute}}
