@font-face{font-family:Big;src:url("bigshoulders.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
 --bg:#07080b;--ink:#f1f3f6;--muted:#9299a5;--dim:#7a8290;--line:#242832;
 --hot:#ffd9a0;--cool:#aabfff;--accent:#d9e1ff;
 --display:clamp(4.3rem,10.5vw,10.5rem);--h2:clamp(3rem,7vw,7.8rem);
 --body:clamp(1rem,1.25vw,1.18rem);--max:1280px;
 --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
html[data-lang='es'] [lang='en']{display:none}
html[data-lang='en'] [lang='es']{display:none}
/* Un hijo de grid tiene min-width:auto por omisión, que puede pedir mas
   espacio del que su columna tiene si el contenido no encoge del todo -en
   .other__grid eso empujaba la tarjeta 18px fuera de la pantalla a 320px.
   Se anula en todos los grids de dos columnas que llevan texto. */
.hero__grid>*,.split>*,.architecture__grid>*,.capability__intro>*,
.capability__grid>*,.other__grid>*,.education__grid>*{min-width:0}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--body);line-height:1.62;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 72% 35%,rgba(93,113,177,.08),transparent 28%),radial-gradient(circle at 25% 80%,rgba(255,190,110,.035),transparent 24%);pointer-events:none}
a{color:inherit}.grain{position:fixed;inset:-50%;z-index:50;pointer-events:none;opacity:.055;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='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");transform:rotate(.01deg)}
#space{position:fixed;inset:0;width:100%;height:100%;z-index:-1;display:block}
.topbar{position:fixed;z-index:30;top:0;left:0;right:0;height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(7,8,11,.86),rgba(7,8,11,.2));backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;letter-spacing:.12em;font-size:.875rem}.brand span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);font-family:Big;font-size:1.25rem}.brand b{font-weight:650}
.topbar__status{font-size:.875rem;letter-spacing:.17em;color:var(--muted)}.topbar__status i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#b9f6cf;vertical-align:middle}
.mandos{display:flex;gap:10px}.mando{border:1px solid var(--line);background:rgba(7,8,11,.35);color:var(--muted);padding:9px 13px;font:inherit;font-size:.875rem;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:.25s var(--ease)}.mando:hover{border-color:#667082;color:var(--ink)}.sound[aria-pressed=true]{border-color:#667082;color:var(--ink)}.sound span{font-size:.875rem;margin-right:6px}
.progress{position:fixed;z-index:31;left:0;top:76px;width:100%;height:2px;background:transparent}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cool),var(--hot))}
.section{position:relative;min-height:100vh;padding:140px 6vw 110px;display:flex;flex-direction:column;justify-content:center;isolation:isolate;background:radial-gradient(ellipse 85% 70% at 50% 50%,rgba(7,8,11,.74),rgba(7,8,11,.3) 100%)}.section:after{content:attr(data-section);position:absolute;right:5vw;bottom:5vh;font:500 clamp(7rem,19vw,19rem)/.75 Big;color:rgba(255,255,255,.025);z-index:-1;pointer-events:none}
.section__head{position:absolute;top:116px;left:6vw;right:6vw;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:600 .875rem/1 system-ui;letter-spacing:.18em;text-transform:uppercase}.section__head:after{content:"";height:1px;width:min(35vw,420px);background:var(--line);margin-left:auto;margin-right:18px;order:1}.section__head span{order:0}.section__head small{order:2;color:var(--dim);font-size:.875rem}
.eyebrow,.kicker{margin:0 0 24px;color:var(--muted);font:700 .875rem/1.3 system-ui;letter-spacing:.18em}.eyebrow b{color:var(--hot);margin-right:10px}.lead{font-size:clamp(1.15rem,1.65vw,1.55rem);line-height:1.45;color:#c7ccd5;max-width:650px}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Big,Impact,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:.86;text-wrap:balance}h1{font-size:var(--display);margin:0 0 38px}h1 em,h2 em{font-style:normal;color:var(--hot)}h2{font-size:var(--h2);margin-bottom:34px}h3{font-size:1.25rem;line-height:1.1;margin-bottom:8px}
.hero{min-height:100svh;padding-top:150px}.hero__meta{position:absolute;top:105px;left:6vw;right:6vw;display:flex;justify-content:space-between;font:600 .875rem system-ui;letter-spacing:.2em;color:var(--dim)}
.hero__grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:8vw;align-items:center}.hero__copy{max-width:900px}.hero__lead{max-width:720px;font-size:clamp(1.05rem,1.5vw,1.4rem);color:#aeb5c0;line-height:1.55}.hero__actions{display:flex;gap:10px;margin-top:38px}.button{display:inline-flex;gap:25px;align-items:center;border:1px solid var(--line);padding:13px 17px;text-decoration:none;font-size:.875rem;font-weight:700;letter-spacing:.1em;transition:.35s var(--ease)}.button:hover{transform:translateY(-3px);border-color:#6e7684}.button--solid{background:var(--ink);color:#090a0d;border-color:var(--ink)}.button span{font-size:1rem}
.hero__portrait{justify-self:end;width:min(100%,390px)}.portrait__frame{position:relative;aspect-ratio:4/5;border:1px solid #303641;background:#0d0f13;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}.portrait__frame:before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.12);z-index:2;pointer-events:none}.portrait__frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 13%;filter:contrast(1.04) saturate(.78);transform:scale(1.035)}.portrait__scan{position:absolute;left:0;right:0;height:1px;top:15%;background:linear-gradient(90deg,transparent,var(--hot),transparent);opacity:.6;animation:scan 4s ease-in-out infinite}.portrait__tag{position:absolute;left:20px;bottom:18px;font:600 .875rem monospace;letter-spacing:.14em;background:rgba(7,8,11,.7);padding:7px 9px;border:1px solid rgba(255,255,255,.12)}@keyframes scan{50%{top:85%}}
.portrait__caption{display:flex;justify-content:space-between;gap:20px;padding-top:15px;font-size:.875rem}.portrait__caption b{font-weight:600}.portrait__caption span{color:var(--muted);text-align:right}.hero__bottom{position:absolute;bottom:30px;left:6vw;right:6vw;display:flex;align-items:center;gap:15px;color:var(--dim);font:600 .875rem monospace;letter-spacing:.16em}.hero__bottom i{width:70px;height:1px;background:var(--line)}
.split{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.split .content{max-width:650px}.split .content>p{margin-bottom:25px;color:#aeb5c0}.split strong{color:var(--ink);font-weight:600}.principles{border-top:1px solid var(--line);margin-top:48px}.principles>div{display:grid;grid-template-columns:45px 1fr 1.5fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);align-items:baseline}.principles b{color:var(--hot);font:600 .875rem monospace}.principles span{font-weight:650}.principles small{color:var(--muted)}
.project__intro{width:min(930px,100%);margin:auto 0 55px}.project__intro h2{margin-bottom:28px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:42px}.metrics>div{padding:25px 20px 25px 0;border-right:1px solid var(--line);margin-right:20px}.metrics>div:last-child{border-right:0}.metrics b{display:block;font:500 clamp(3.2rem,5vw,5.4rem)/.8 Big;color:var(--ink)}.metrics span{display:block;margin-top:13px;font:700 .9rem/1.3 inherit;letter-spacing:.02em;color:var(--ink)}.metrics small{display:block;color:var(--muted);font-size:.875rem;line-height:1.4;margin-top:8px}.project__detail{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.label{font:700 .875rem system-ui;letter-spacing:.15em;color:var(--dim)}.project__detail p{margin:9px 0 0;color:#aeb5c0;font-size:.95rem}.private{margin-top:38px;color:#737b88;font:600 .875rem monospace;letter-spacing:.12em}.private span{color:#b9f6cf}
.architecture__grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.architecture__grid>div:first-child{max-width:570px}.diagram{position:relative;height:min(52vw,560px);min-height:390px;padding:20px;border:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(144,164,220,.09),transparent 42%);overflow:hidden}.diagram:before,.diagram:after{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.045);border-radius:50%}.diagram:after{inset:22%}.node{position:absolute;z-index:2;display:grid;place-items:center;gap:4px;width:132px;height:80px;border:1px solid #39404c;background:rgba(7,8,11,.85);backdrop-filter:blur(8px);font-size:.875rem;font-weight:750;letter-spacing:.11em}.node small{font:500 .875rem monospace;color:var(--dim)}.node--main{left:50%;top:50%;transform:translate(-50%,-50%);width:162px;height:98px;border-color:#737c8d}.node--a{left:10%;top:18%}.node--b{right:8%;top:18%}.node--c{left:9%;bottom:15%}.node--d{right:9%;bottom:15%}.line{position:absolute;left:50%;top:50%;height:1px;width:34%;background:linear-gradient(90deg,rgba(170,190,255,.5),transparent);transform-origin:left}.l1{transform:rotate(-143deg)}.l2{transform:rotate(-37deg)}.l3{transform:rotate(143deg)}.l4{transform:rotate(37deg)}.statline{width:min(var(--max),100%);margin-top:60px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:70px;font:600 1.1rem Big}.statline small{display:block;color:var(--muted);font:600 .875rem system-ui;letter-spacing:.13em;margin-top:5px}
.timeline>h2{width:min(var(--max),100%);margin:0 auto 70px}.timeline__list{width:min(var(--max),100%);margin:auto}.timeline__list article{display:grid;grid-template-columns:220px 1fr;gap:45px;padding:35px 0;border-top:1px solid var(--line)}.timeline__list article>span{font:600 .875rem monospace;color:var(--hot);letter-spacing:.1em}.timeline__list p{color:var(--muted);margin-bottom:20px}.timeline__list ul{padding-left:18px;margin:0;max-width:760px;color:#aeb5c0}.timeline__list li{margin-bottom:8px}
.capability__intro{width:min(var(--max),100%);margin:0 auto 65px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.capability__intro .lead{margin:0}.capability__grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability__grid article{min-height:240px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.4s var(--ease)}.capability__grid article:hover{background:rgba(255,255,255,.025);transform:translateY(-4px)}.capability__grid span{font:600 .9rem/1.3 inherit;color:var(--muted)}.capability__grid h3{font:700 1.6rem/1.2 inherit;letter-spacing:0;margin:38px 0 12px}.capability__grid p{color:var(--muted);max-width:500px;margin:0}
.other__grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.other__grid>div{padding:50px;min-height:470px;background:rgba(7,8,11,.82);transition:.4s var(--ease)}.other__grid>div:hover{background:#0b0d12}.project-no{font:600 .875rem monospace;color:var(--hot)}.other__grid h2{font-size:clamp(3.5rem,6vw,6.5rem);margin:70px 0 25px}.other__grid p{color:var(--muted);max-width:500px}
.education__grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:9vw}.education__grid .lead{color:var(--muted)}.education__facts{border-top:1px solid var(--line)}.education__facts>div{padding:25px 0;border-bottom:1px solid var(--line)}.education__facts span{font:700 .9rem/1.3 inherit;letter-spacing:.02em;color:var(--ink)}.education__facts p{color:#aeb5c0;margin:8px 0 0}
.contact{min-height:100svh;overflow:hidden}.contact__halo{position:absolute;width:55vw;height:55vw;right:-20vw;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(163,184,255,.13),transparent 60%);filter:blur(15px);z-index:-1}.contact h2{font-size:clamp(5rem,12vw,13rem);max-width:1050px}.contact__links{display:flex;flex-wrap:wrap;gap:14px 48px;align-items:baseline;margin-top:45px}.contact__links a{font-family:Big,Impact,sans-serif;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:600;text-underline-offset:9px;transition:.25s var(--ease)}.contact__links a:hover{color:var(--hot)}.contact__links span{color:var(--muted);font-size:1rem}.contact__links a span{color:var(--hot);margin-left:12px;font-size:.6em}.contact footer{position:absolute;left:6vw;right:6vw;bottom:35px;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;color:var(--dim);font:600 .875rem monospace;letter-spacing:.13em}
.hud{position:fixed;right:4vw;bottom:22px;z-index:30;color:#6b7280;font:600 .875rem monospace;letter-spacing:.12em}.hud span+span{margin-left:18px}.hud b{color:#8a929f}
.loader{position:fixed;inset:0;z-index:100;background:#07080b;display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s}.loader.is-done{opacity:0;visibility:hidden}.loader__orb{width:150px;height:150px;border:1px solid #3a414e;border-radius:50%;box-shadow:inset 0 0 45px rgba(255,255,255,.06),0 0 50px rgba(255,255,255,.05);animation:pulse 2s ease-in-out infinite}.loader__copy{position:absolute;display:flex;flex-direction:column;align-items:center;gap:5px;font:600 .7rem monospace;letter-spacing:.1em}.loader__copy b{font:500 2.2rem Big;color:var(--hot)}.loader__line{position:absolute;bottom:12vh;width:min(340px,55vw);height:1px;background:#242832}.loader__line i{display:block;width:0;height:100%;background:var(--ink)}@keyframes pulse{50%{transform:scale(1.12);box-shadow:inset 0 0 60px rgba(255,255,255,.09),0 0 70px rgba(255,255,255,.07)}}
.cursor{position:fixed;z-index:90;width:18px;height:18px;border:1px solid rgba(255,255,255,.45);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(1);transition:transform .2s,border-color .2s;mix-blend-mode:difference}.cursor.is-link{transform:translate(-50%,-50%) scale(2.333);border-color:#fff}
@media (hover:none),(pointer:coarse){.cursor{display:none}}
@media(max-width:800px){
 .topbar{padding:0 5vw}.topbar__status{display:none}.section{padding:120px 7vw 90px}.section__head{left:7vw;right:7vw;top:95px}.section__head:after{width:20vw}.hero{padding-top:130px}.hero__meta{left:7vw;right:7vw;top:92px}.hero__grid,.split,.architecture__grid,.education__grid,.capability__intro{grid-template-columns:1fr;gap:55px}.hero__portrait{justify-self:start;width:min(330px,85vw)}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border-right:0}.project__detail{grid-template-columns:1fr}.diagram{min-height:350px}.statline{gap:25px;flex-wrap:wrap}.timeline__list article{grid-template-columns:1fr;gap:12px}.capability__grid,.other__grid{grid-template-columns:1fr}.other__grid>div{min-height:350px;padding:30px}.other__grid h2{margin-top:60px}.contact footer{gap:10px;flex-wrap:wrap}.contact footer span:last-child{display:none}
}
@media(max-width:480px){:root{--display:clamp(4rem,20vw,6rem);--h2:clamp(3.2rem,15vw,5rem)}.mando{padding:8px 9px}.hero__actions{flex-wrap:wrap}.principles>div{grid-template-columns:35px 1fr}.principles small{grid-column:2}.metrics>div{padding:20px 10px 20px 0;margin-right:10px}.metrics b{font-size:3.5rem}.diagram{min-height:320px}.node{width:112px;height:72px;font-size:.8rem}.node--main{width:136px;height:84px}.hud{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait__scan,.loader__orb{animation:none}.cursor{display:none}}
