:root{--bg:#0a0a0a;--surface:#111211;--text:#f1f0e9;--muted:#9a9a92;--line:#2b2c29;--acid:#d7ff3f;--max:1440px;--pad:clamp(1.25rem,4vw,4rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:var(--acid);color:#0a0a0a}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--acid);outline-offset:5px}
.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;opacity:.28;pointer-events:none}.ambient span{position:absolute;width:42vw;aspect-ratio:1;border:1px solid rgba(215,255,63,.12);border-radius:50%;filter:blur(1px)}.ambient span:nth-child(1){top:-25vw;right:-5vw;animation:orbit 24s linear infinite}.ambient span:nth-child(2){top:-16vw;right:-14vw;animation:orbit 32s linear infinite reverse}.ambient span:nth-child(3){top:-8vw;right:-23vw;animation:orbit 40s linear infinite}@keyframes orbit{to{transform:rotate(360deg) translateX(2vw)}}
.site-header,footer{width:min(100%,var(--max));margin:auto;padding:1.35rem var(--pad);display:flex;align-items:center;justify-content:space-between}.site-header{position:absolute;inset:0 0 auto;z-index:10}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:650;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;border:1px solid var(--text);border-radius:50%;font-size:.65rem;letter-spacing:.02em}nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem)}nav a{color:var(--muted);text-decoration:none;font-size:.82rem}nav a:hover{color:var(--text)}.nav-contact{padding:.65rem 1rem;border:1px solid var(--line);border-radius:2rem}
main,footer{overflow:clip}.hero,.section{width:min(100%,var(--max));margin:auto;padding-inline:var(--pad)}.hero{position:relative;min-height:min(930px,100svh);padding-top:clamp(9rem,17vh,13rem);padding-bottom:3rem;display:flex;flex-direction:column;justify-content:space-between}.eyebrow,.section-label{margin:0;color:var(--acid);font:600 .72rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase}.hero h1{max-width:1180px;margin:1.25rem 0 5rem;font-size:clamp(3.2rem,7.8vw,8.4rem);line-height:.9;letter-spacing:-.075em;font-weight:600}.hero h1 em{color:var(--muted);font-style:normal;font-weight:450}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.hero-bottom p{max-width:630px;margin:0;color:#c3c3bb;font-size:clamp(1rem,1.5vw,1.3rem)}.text-link{white-space:nowrap;text-underline-offset:.35rem}.text-link span{color:var(--acid)}.hero-index{position:absolute;right:var(--pad);bottom:7rem;z-index:-1;color:rgba(255,255,255,.035);font-size:clamp(10rem,27vw,28rem);font-weight:700;line-height:.7;letter-spacing:-.1em}.hero-index span{color:rgba(215,255,63,.05)}.hero-index-label{position:absolute;right:var(--pad);bottom:4.2rem;margin:0;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}
.section{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:clamp(2rem,7vw,8rem);padding-block:clamp(6rem,12vw,12rem);border-top:1px solid var(--line)}.section h2{margin:0;font-size:clamp(2.7rem,6vw,6.3rem);line-height:.97;letter-spacing:-.065em;font-weight:550}.statement-copy h2 span,.profile h2 span{color:var(--muted)}.statement-copy>p{max-width:760px;margin:4rem 0 0 auto;color:#c3c3bb;font-size:clamp(1.1rem,1.8vw,1.55rem)}.section-heading{display:contents}
.discipline-list{border-top:1px solid var(--line)}.discipline{display:grid;grid-template-columns:3rem 1fr minmax(200px,.8fr);gap:1.5rem;align-items:baseline;padding:2rem 0;border-bottom:1px solid var(--line)}.discipline>span,.project-number{color:var(--acid);font:.72rem ui-monospace,monospace}.discipline h3{margin:0;font-size:clamp(1.35rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.04em}.discipline p{margin:0;color:var(--muted)}
.work{display:block}.work .section-heading{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:clamp(2rem,7vw,8rem);margin-bottom:6rem}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.project{min-height:410px;padding:clamp(1.5rem,3vw,2.6rem);background:var(--surface);display:flex;flex-direction:column;justify-content:space-between}.project-featured{grid-column:1/-1;min-height:480px;background:var(--acid);color:#0a0a0a}.project-meta{display:flex;justify-content:space-between;gap:1rem;font:.66rem ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}.project-body{display:grid;grid-template-columns:3rem 1fr;gap:2rem;align-items:end}.project-featured .project-number{color:#0a0a0a}.project h3{margin:0 0 1rem;font-size:clamp(2.6rem,6vw,6rem);line-height:.9;letter-spacing:-.06em}.project p:not(.project-number){max-width:650px;margin:0;color:var(--muted)}.project-featured p:not(.project-number){color:rgba(10,10,10,.7)}
.recognition ul{margin:5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.recognition li{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--line)}.recognition strong{font-size:clamp(1.25rem,2.5vw,2.2rem);letter-spacing:-.04em}.recognition li span{color:var(--muted);text-align:right}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);margin-top:4rem;color:#c3c3bb;font-size:clamp(1rem,1.35vw,1.25rem)}
.contact{background:var(--acid);color:#0a0a0a;width:100%;max-width:none;padding-inline:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.contact .section-label{color:#0a0a0a}.contact-inner p{margin:0 0 1rem}.contact-inner h2{font-size:clamp(5rem,15vw,14rem);line-height:.8}.contact-inner a{display:inline-flex;gap:1rem;margin-top:4rem;font-size:clamp(1.15rem,2.4vw,2rem);text-underline-offset:.5rem}footer{min-height:150px;color:var(--muted);font-size:.75rem}footer .brand{color:var(--text)}
.error-page{min-height:100svh;padding:clamp(3rem,9vw,8rem) var(--pad);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.error-page h1{max-width:900px;margin:1.5rem 0;font-size:clamp(4rem,12vw,10rem);line-height:.85;letter-spacing:-.07em}.error-page>p:not(.eyebrow){max-width:500px;color:var(--muted);font-size:1.1rem}.error-page .text-link{margin-top:2rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){nav a:not(.nav-contact){display:none}.hero{min-height:820px;padding-top:8.5rem}.hero h1{margin-bottom:3rem}.hero-bottom{display:block}.hero-bottom .text-link{display:inline-block;margin-top:2rem}.hero-index{bottom:8rem}.section,.work .section-heading{grid-template-columns:1fr}.section{gap:2.5rem}.statement-copy>p{margin-top:2.5rem}.discipline{grid-template-columns:2.5rem 1fr}.discipline p{grid-column:2}.work .section-heading{margin-bottom:3rem}.projects{grid-template-columns:1fr}.project-featured{grid-column:auto}.project,.project-featured{min-height:360px}.recognition li{display:block}.recognition li span{display:block;margin-top:.5rem;text-align:left}.profile-grid{grid-template-columns:1fr}footer{align-items:flex-start;flex-wrap:wrap;gap:1.5rem}footer>p:first-of-type{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.brand-logo{display:block;width:2.4rem;height:2.3rem;object-fit:contain;flex:none}
.media h2 span,.thinking h2 span{color:var(--muted)}
.media-intro{max-width:650px;margin:2.5rem 0 3rem;color:#c3c3bb;font-size:clamp(1rem,1.5vw,1.25rem)}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.media-card{min-height:245px;padding:1.6rem;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.media-card:hover{background:#1b1d18;border-color:var(--acid);transform:translateY(-3px)}
.media-card-featured{background:#1c2411;border-color:#445226}
.media-type{color:var(--acid);font:600 .68rem ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.media-card strong{max-width:24rem;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:550;line-height:1.05;letter-spacing:-.045em}
.media-action{font-size:.82rem;color:var(--muted)}.media-action span,.media-more span{color:var(--acid)}
.media-more{display:inline-block;margin-top:2rem;text-underline-offset:.35rem}
.thinking-inner{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:2rem;align-items:center}
.thinking-inner p{max-width:650px;margin:2.5rem 0;color:#c3c3bb;font-size:clamp(1rem,1.5vw,1.25rem)}
.thinking-link{display:inline-flex;gap:1.25rem;align-items:center;padding:1rem 1.35rem;border:1px solid var(--acid);border-radius:3rem;color:var(--acid);text-decoration:none;transition:background .2s ease,color .2s ease}
.thinking-link:hover{background:var(--acid);color:var(--bg)}
.thinking-logo{width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.media-grid{grid-template-columns:1fr}.media-card{min-height:210px}.thinking-inner{grid-template-columns:1fr}.thinking-logo{width:140px;order:-1}.brand-logo{width:2rem;height:2rem}}

/* Complementary media: compact links in the existing visual language. */
.media-sources{margin-top:3rem;border-top:1px solid var(--line)}
.press-disclosure{border-bottom:1px solid var(--line)}
.press-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0;cursor:pointer;list-style:none;font-size:1.1rem;letter-spacing:-.02em}
.press-disclosure summary::-webkit-details-marker{display:none}
.source-count{margin-left:.6rem;color:var(--muted);font:.65rem ui-monospace,monospace;letter-spacing:.08em}
.disclosure-icon{color:var(--acid);font-size:1.5rem;line-height:1;transition:transform .2s ease}
.press-disclosure[open] .disclosure-icon{transform:rotate(45deg)}
.press-intro{max-width:38rem;margin:0 0 1rem;color:var(--muted);font-size:.9rem}
.press-list{list-style:none;margin:0 0 1.2rem;padding:0}
.press-list li+li{border-top:1px solid var(--line)}
.press-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;text-decoration:none}
.press-list strong{display:block;font-size:.95rem;font-weight:500}
.press-context{display:block;margin-top:.2rem;color:var(--muted);font-size:.8rem}
.press-arrow{color:var(--acid)}
.press-list a:hover strong,.media-outlinks a:hover{color:var(--acid)}
.media-outlinks{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding-top:1.4rem}
.media-outlinks a{font-size:.85rem;text-decoration:none;color:#c3c3bb}
.media-outlinks a span{margin-left:.5rem;color:var(--acid)}
@media(max-width:760px){.media-sources{margin-top:2rem}.media-outlinks{flex-direction:column;gap:1.1rem}.press-context{max-width:28ch}}

/* Scroll editorial: primer bloque blanco, segundo gris y relleno verde progresivo. */
.phrase-pin{position:relative;height:180svh}
.phrase-scroll{position:sticky;top:24svh;--fill:0%}
.phrase-scroll .phrase-primary,.phrase-scroll .phrase-accent{display:block}
.phrase-scroll .phrase-primary{color:var(--text)!important}
.phrase-scroll .phrase-accent{position:relative;color:var(--muted)!important}
.phrase-scroll .phrase-accent::after{content:attr(data-text);position:absolute;inset:0;color:var(--acid);clip-path:inset(0 calc(100% - var(--fill)) 0 0);will-change:clip-path;pointer-events:none}
.disciplines .discipline-list{overflow:visible}
.discipline{--focus-scale:.86;--focus-opacity:.38;min-height:28svh;padding-block:clamp(2.5rem,6vh,5rem);transform:scale(var(--focus-scale));transform-origin:left center;opacity:var(--focus-opacity);will-change:transform,opacity}
.discipline h3,.discipline p{will-change:transform}
.logo-finale{position:relative;height:300svh;background:#10110f;--logo-draw:0;--logo-complete:0}
.logo-finale__sticky{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;display:grid;place-items:center}
.logo-finale__mark{position:relative;width:min(48vw,470px);padding-bottom:4.5rem}
.logo-finale__ribbon{display:block;width:100%;height:auto;overflow:visible;opacity:calc(1 - var(--logo-complete))}
.logo-finale__ribbon path{fill:none;stroke:var(--text);stroke-width:32;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--logo-draw))}
.logo-finale__mark img{position:absolute;left:13.5%;top:13.5%;width:73%;height:73%;object-fit:contain;opacity:var(--logo-complete)}
.logo-finale__registered{position:absolute;right:17%;top:49%;color:#bdbdb6;font-size:clamp(.7rem,1vw,.88rem);opacity:var(--logo-complete)}
.logo-finale__mark p{position:absolute;left:50%;bottom:0;width:100%;margin:0;transform:translateX(-50%);color:var(--text);text-align:center;font-size:clamp(.78rem,1.15vw,1rem);font-weight:600;letter-spacing:.27em;opacity:var(--logo-complete)}

@media(max-width:760px){
  .phrase-pin{height:150svh}.phrase-scroll{top:23svh}
  .discipline{min-height:0;padding-block:2rem;transform:none;opacity:1}
  .logo-finale{height:260svh}.logo-finale__mark{width:min(78vw,390px);padding-bottom:4rem}.logo-finale__registered{right:16%;top:47%}.logo-finale__mark p{font-size:.7rem;letter-spacing:.21em}
}
@media(prefers-reduced-motion:reduce){
  .phrase-pin{height:auto}.phrase-scroll{position:relative;top:auto;--fill:100%}
  .discipline{min-height:0;padding-block:2rem;transform:none;opacity:1}
  .logo-finale{height:auto;--logo-draw:1;--logo-complete:1}.logo-finale__sticky{position:relative;min-height:100svh}.logo-finale__ribbon{display:none}
}
