@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-400.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-500.woff) format("woff")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-600.woff) format("woff")}
:root{--navy:#071d2c;--navy2:#0b293d;--cream:#f5f0e7;--paper:#fbf9f4;--ink:#092238;--gold:#c99a43;--gold-d:#9c7831;--muted:#5d6d79;--line:#e0d8c8;--sans:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.narrow{max-width:760px}
/* header */
header{background:var(--navy);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(201,154,67,.25)}
.nav{display:flex;align-items:center;gap:28px;min-height:74px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;margin-right:auto}
.brand img{height:44px;width:auto}
.brand span{font:600 10.5px/1 var(--sans);letter-spacing:.28em;color:#cfd8de}
nav{display:flex;gap:26px}
nav a{color:#d5dde3;text-decoration:none;font:500 14px/1 var(--sans);padding:6px 0;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{color:#fff;border-bottom-color:var(--gold)}
.lang{display:flex;gap:10px;font:600 11px/1 var(--sans);letter-spacing:.12em}
.lang a{color:#8fa1ad;text-decoration:none}.lang a[aria-current]{color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0}
/* type */
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.1;margin:0}
.k{font:600 11px/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);margin:0 0 18px}
.dark .k,.hero .k{color:var(--gold)}
h2{font-size:clamp(30px,3.4vw,44px)}
h3{font-size:22px;line-height:1.25}
p{margin:0 0 1em}
.lead{font-size:1.2rem;line-height:1.6;color:var(--muted);max-width:640px}
/* hero */
.hero{background:var(--navy);color:#fff;padding:clamp(64px,9vw,120px) 0 clamp(56px,8vw,100px);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-12%;top:-30%;width:62%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(201,154,67,.22);box-shadow:0 0 0 70px rgba(201,154,67,.035),0 0 0 140px rgba(201,154,67,.025);pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(44px,6.6vw,88px);line-height:.98;letter-spacing:-.035em;max-width:780px}
.hero h1 em{color:var(--gold);font-style:normal}
.hero .lead{color:#b8c3ca;margin-top:28px}
.hero.sm{padding:clamp(48px,6vw,84px) 0 clamp(40px,5vw,64px)}
.hero.sm h1{font-size:clamp(38px,5vw,64px)}
.rule{width:56px;height:1px;background:var(--gold);margin:30px 0 0}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.btn{display:inline-block;text-decoration:none;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:17px 26px;border:1px solid var(--gold);color:#fff;transition:.2s}
.btn.solid{background:var(--gold);color:var(--navy)}
.btn:hover{background:#fff;border-color:#fff;color:var(--navy)}
.btn.ink{color:var(--ink);border-color:var(--ink)}.btn.ink:hover{background:var(--ink);color:#fff}
.more{font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:8px;display:inline-block}
.more:hover{color:var(--gold-d)}
/* sections */
section{padding:clamp(56px,7vw,96px) 0}
section.cream{background:var(--cream)}
section.dark{background:var(--navy);color:#fff}
.dark p{color:#b8c3ca}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px;flex-wrap:wrap}
.head p{max-width:420px;margin:0;color:var(--muted)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.cols3>div{padding:32px 32px 8px 0}
.cols3>div+div{padding-left:32px;border-left:1px solid var(--line)}
.cols3 h3{margin-bottom:12px}.cols3 p{color:var(--muted);font-size:16px}
.num{font:400 15px/1 var(--serif);color:var(--gold-d);display:block;margin-bottom:18px}
/* feature */
.feature{display:block;text-decoration:none;background:var(--navy);color:#fff;padding:clamp(32px,5vw,56px);position:relative;overflow:hidden}
.feature h3{font-size:clamp(28px,3.4vw,44px);line-height:1.08;max-width:640px;margin:6px 0 16px}
.feature p{color:#b8c3ca;max-width:560px}
.feature .meta{font:500 12px/1.5 var(--sans);letter-spacing:.08em;color:#8fa1ad;margin-top:24px}
.feature .go{display:inline-block;margin-top:26px;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:8px}
.badge{display:inline-block;font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;border:1px solid currentColor;padding:5px 8px;margin-left:12px;vertical-align:middle}
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:90px 1fr 24px;gap:24px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none}
.row:hover h3{color:var(--gold-d)}
.row .code{font:600 11px/1.6 var(--sans);letter-spacing:.16em;color:var(--gold-d)}
.row h3{margin-bottom:6px}
.row .tags{font:500 12px/1.5 var(--sans);letter-spacing:.06em;color:var(--muted)}
.row .j{margin:10px 0 0;font-size:15.5px;color:var(--ink);max-width:640px;line-height:1.55}
.row .j b{font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-right:10px}
.row .arr{color:var(--gold);font-size:20px;line-height:1.2}
.group-t{font:600 11px/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);margin:56px 0 14px}
.group-t:first-child{margin-top:0}
.note{font-size:14.5px;color:var(--muted);max-width:640px;margin-top:36px}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.steps div{padding:6px 28px 6px 0}.steps div+div{padding-left:28px;border-left:1px solid rgba(201,154,67,.35)}
.steps b{display:block;font:600 11px/1 var(--sans);letter-spacing:.22em;color:var(--gold);margin-bottom:12px}
.steps span{color:#b8c3ca;font-size:15px;line-height:1.5;display:block}
/* team */
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.pcard{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start;text-decoration:none}
.pcard img{width:150px;aspect-ratio:4/5;object-fit:cover;background:#ddd}
.pcard h3{margin:2px 0 6px}.pcard small{display:block;font:600 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin-bottom:12px}
.pcard p{font-size:15.5px;color:var(--muted);margin:0 0 12px}
.pcard:hover h3{color:var(--gold-d)}
.assoc{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:8px}
.assoc div{border-top:1px solid var(--line);padding-top:16px}
.assoc small{font:600 10.5px/1 var(--sans);letter-spacing:.2em;color:var(--gold-d);display:block;margin-bottom:10px}
.assoc h3{font-size:19px;margin-bottom:6px}.assoc p{font-size:14.5px;color:var(--muted);margin:0}
.partner{border-top:1px solid var(--line);padding-top:22px;margin-top:44px;max-width:720px}
.partner small{font:600 10.5px/1 var(--sans);letter-spacing:.2em;color:var(--gold-d);display:block;margin-bottom:10px;text-transform:uppercase}
.partner p{color:var(--muted);font-size:15.5px;margin:6px 0 0}
/* services */
.svc{display:grid;grid-template-columns:90px 1fr 1fr;gap:32px;padding:44px 0;border-top:1px solid var(--line)}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc h2{font-size:clamp(26px,2.6vw,34px)}
.svc .tags{font:600 10.5px/1.7 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-top:14px}
.svc ul{margin:0;padding:0;list-style:none}
.svc li{padding:0 0 12px 18px;position:relative;color:var(--muted);font-size:16px;line-height:1.55}
.svc li:before{content:"";position:absolute;left:0;top:.75em;width:8px;height:1px;background:var(--gold)}
.svc p{color:var(--muted);margin:0}
/* prose pages */
.prose{max-width:760px}
.prose h2{font-size:clamp(26px,2.8vw,34px);margin:2.2em 0 .6em}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#2c3f4d}
.prose ul{padding-left:1.1em}
.prose .meta-note{font-size:14.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:2.4em}
.mt-row{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.mt-row b{font:600 11px/1.6 var(--sans);letter-spacing:.18em;color:var(--gold-d)}
.mt-row span{color:#2c3f4d;font-size:16px}
/* profile */
.profile-head{display:grid;grid-template-columns:1fr 240px;gap:56px;align-items:start}
.profile-head img{width:240px;aspect-ratio:4/5;object-fit:cover}
.profile-head .lead{max-width:none;margin-top:22px}
.cv h2{font-size:24px;margin:0 0 10px}
.cv section{padding:30px 0;border-top:1px solid var(--line)}
.cv section p{max-width:760px;margin:0;color:#2c3f4d}
.back{display:inline-block;margin:28px 0 0;color:var(--gold-d);text-decoration:none;font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
/* collection pages (legacy content, restyled) */
.collection .lede{font-size:1.15rem;color:var(--muted);max-width:760px}
.collection .doc-list{border-top:1px solid var(--line);margin:28px 0}
.collection .doc-list a{display:grid;grid-template-columns:70px 1fr 24px;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}
.collection .doc-list a:hover h3{color:var(--gold-d)}
.collection .doc-list b{font:600 11px/1 var(--sans);letter-spacing:.16em;color:var(--gold-d)}
.collection .doc-list h3{font-size:19px;margin-bottom:4px}
.collection .doc-list p{margin:0;color:var(--muted);font-size:15px}
.collection .doc-list span{color:var(--gold);font-size:18px}
.collection .subcollection{margin-top:46px}.collection .subcollection h2{font-size:26px;margin-bottom:6px}.collection .subcollection>p{color:var(--muted)}
.collection .prose h2{font-size:26px}
/* contact */
.mail{font:400 clamp(26px,4vw,48px)/1.1 var(--serif);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px;word-break:break-all}
.mail:hover{color:var(--gold-d)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px}
/* footer */
footer{background:var(--navy);color:#8fa1ad;padding:34px 0;font:500 12px/1.6 var(--sans);letter-spacing:.06em}
footer .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{text-decoration:none}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:50}
@media(max-width:900px){
 nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);flex-direction:column;gap:0;padding:8px 24px 18px;border-bottom:1px solid rgba(201,154,67,.25)}
 header.open nav{display:flex}nav a{padding:14px 0;border:0;border-bottom:1px solid rgba(255,255,255,.08)}
 .nav-toggle{display:block}.nav{gap:16px}.brand span{display:none}
 .cols3,.steps,.assoc,.people,.two{grid-template-columns:1fr}
 .cols3>div,.cols3>div+div{padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}
 .steps div,.steps div+div{padding:16px 0;border-left:0;border-bottom:1px solid rgba(201,154,67,.25)}
 .svc{grid-template-columns:1fr;gap:14px}.profile-head{grid-template-columns:1fr}.profile-head img{order:-1;width:180px}
 .row{grid-template-columns:1fr 20px}.row .code{grid-column:1/-1}
 .pcard{grid-template-columns:110px 1fr}.pcard img{width:110px}.mt-row{grid-template-columns:1fr;gap:4px}.two{gap:36px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.prose section{padding:0;margin:0 0 2.2em}.prose section h2{margin:0 0 .5em}
.cv section:last-of-type{border-bottom:1px solid var(--line)}
/* Intelligence Room hero */
.hero.room{padding:clamp(48px,6vw,88px) 0}
.hero.room:after{display:none}
.hero.room:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(140,161,178,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(140,161,178,.07) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 60%);mask-image:linear-gradient(90deg,transparent 0,#000 60%)}
.room-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.coords{font:500 11px/1.6 var(--sans);letter-spacing:.14em;color:#8fa1ad;margin-top:34px}
.stats{background:var(--navy2);color:#fff;border-top:1px solid rgba(201,154,67,.25)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stats div{padding:26px 24px 26px 0}.stats div+div{padding-left:24px;border-left:1px solid rgba(201,154,67,.25)}
.stats b{display:block;font:400 clamp(30px,3.4vw,44px)/1 var(--serif);color:var(--gold)}
.stats span{font:600 10.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#b8c3ca;display:block;margin-top:8px}
/* archive */
details.coll{border-top:1px solid var(--line)}details.coll:last-of-type{border-bottom:1px solid var(--line)}
details.coll summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:70px 1fr auto 24px;gap:20px;align-items:baseline;padding:22px 0}
details.coll summary::-webkit-details-marker{display:none}
details.coll summary .code{font:600 11px/1 var(--sans);letter-spacing:.16em;color:var(--gold-d)}
details.coll summary h3{font-size:22px}
details.coll summary .n{font:600 11px/1 var(--sans);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
details.coll summary:after{content:"+";color:var(--gold);font-size:22px;line-height:1}
details.coll[open] summary:after{content:"–"}
details.coll ul{list-style:none;margin:0 0 22px 90px;padding:0}
details.coll li{padding:10px 0;border-top:1px solid rgba(224,216,200,.6);display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:16px}
details.coll li a{text-decoration:none;color:var(--ink)}details.coll li a:hover{color:var(--gold-d)}
details.coll li small{font:600 10.5px/1 var(--sans);letter-spacing:.14em;color:var(--muted);white-space:nowrap}
details.coll li small a{color:var(--gold-d);margin-left:10px}
.events{border-top:1px solid var(--line)}
.ev{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.ev time{font:600 11px/1.6 var(--sans);letter-spacing:.14em;color:var(--gold-d);text-transform:uppercase}
.ev h3{font-size:19px;margin-bottom:4px}.ev p{margin:0;color:var(--muted);font-size:15px}
@media(max-width:900px){.room-grid{grid-template-columns:1fr;gap:40px}.stats .wrap{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0;padding-left:0}.stats div{border-top:1px solid rgba(201,154,67,.2)}details.coll summary{grid-template-columns:1fr 24px}details.coll summary .code,details.coll summary .n{grid-column:1}details.coll ul{margin-left:0}.ev{grid-template-columns:1fr;gap:4px}}
.hero.room h1{font-size:clamp(40px,5vw,72px)}

/* Juicio central: el producto de J&H es el juicio, no el dato */
.judg{position:relative;border-left:1px solid var(--gold);padding:6px 0 6px 34px;max-width:560px;justify-self:end}
.judg-label{font:600 10.5px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.judg-label i{font-style:normal;color:#8fa1ad;letter-spacing:.14em}
.judg-stack{display:grid}
.judg-item{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;display:block;text-decoration:none;color:#fff}
.judg-item.on{opacity:1;visibility:visible}
.judg-item q{display:block;quotes:"«" "»";font:400 clamp(26px,2.9vw,38px)/1.2 var(--serif);letter-spacing:-.01em}
.judg-item q:before,.judg-item q:after{color:var(--gold)}
.judg-item span{display:block;margin-top:24px;font:600 11px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#b8c3ca}
.judg-item span b{color:var(--gold);font-weight:600;margin-right:10px}
.judg-item:hover span{color:#fff}
.judg-dots{display:flex;gap:10px;margin-top:30px}
.judg-dots button{width:26px;height:26px;border:0;padding:12px 0;background:rgba(255,255,255,.25) content-box;cursor:pointer}
.judg-dots button[aria-current="true"]{background:var(--gold) content-box}
.judg-tags{margin-top:26px;font:500 11px/1.7 var(--sans);letter-spacing:.12em;color:#8fa1ad}
.judg-tags a{color:#b8c3ca}
@media(max-width:900px){.judg{justify-self:start;padding-left:24px}}
@media(prefers-reduced-motion:reduce){.judg-item{transition:none}}
.cols4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.cols4>div{padding:30px 28px 8px 0}.cols4>div+div{padding-left:28px;border-left:1px solid var(--line)}
.cols4 h3{margin-bottom:10px;font-size:20px}.cols4 p{color:var(--muted);font-size:15.5px}
.cols3.six{grid-template-columns:repeat(3,1fr)}
.cols3.six>div{border-bottom:1px solid var(--line);padding-bottom:28px}
.cols3.six>div:nth-child(3n+1){padding-left:0;border-left:0}
.cols3.six>div:nth-child(3n+1){padding-right:32px}
.darkcols{border-top-color:rgba(201,154,67,.35)}.darkcols>div+div{border-left-color:rgba(201,154,67,.35)}.darkcols p{color:#b8c3ca}.darkcols h3{color:#fff}
.stats span{text-transform:none;letter-spacing:.04em;font-size:12.5px}
@media(max-width:900px){.cols4,.cols3.six{grid-template-columns:1fr}.cols4>div,.cols4>div+div{padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}.cols3.six>div,.cols3.six>div:nth-child(3n+1){padding:22px 0;border-left:0}}

.legalp h2{font-size:22px;margin:34px 0 10px}.legalp p{margin:0 0 12px}.todo{background:#f6e3b4;padding:0 4px}footer .legal a{color:inherit}
