:root { --ink:#101010; --paper:#f4f1e8; --white:#fff; --yellow:#ffcb05; --red:#ad002b; --line:rgba(16,16,16,.2); --body:"Archivo",Arial,sans-serif; --serif:"Newsreader",Georgia,serif; --pad:clamp(1.25rem,4vw,4.5rem); }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55} body.menu-open{overflow:hidden} img{display:block;width:100%;height:100%;object-fit:cover} a{color:inherit;text-decoration:none} button{font:inherit;color:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem}.skip:focus{top:1rem}.shell{padding-inline:var(--pad)}
.nav{position:absolute;inset:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:82px;padding:1rem var(--pad);border-bottom:1px solid rgba(16,16,16,.35);transition:.25s}.nav.is-stuck{position:fixed;background:rgba(244,241,232,.95);backdrop-filter:blur(12px)}.mark{width:210px;height:50px}.mark img{object-fit:contain;object-position:left}.nav__links{display:flex;gap:2rem;font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em}.nav__action{justify-self:end;padding:.75rem 1rem;background:var(--ink);color:#fff;font-size:.69rem;text-transform:uppercase;letter-spacing:.1em}.menu{display:none;width:44px;height:44px;border:0;background:none;padding:10px 2px}.menu span{display:block;height:2px;background:var(--ink);margin:7px 0}.drawer{position:fixed;inset:0;z-index:15;background:var(--yellow);display:flex;flex-direction:column;justify-content:center;padding:var(--pad);opacity:0;pointer-events:none;transition:.2s}.drawer.is-open{opacity:1;pointer-events:auto}.drawer a{font:400 clamp(2.8rem,12vw,5.5rem)/1 var(--serif);border-bottom:1px solid rgba(16,16,16,.3);padding:.6rem 0}
.hero{min-height:100svh;padding-top:82px;display:grid;grid-template-columns:1fr 1fr;position:relative;background:var(--yellow);overflow:hidden}.hero__copy{padding:clamp(7rem,13vw,12rem) var(--pad) 5rem;align-self:center}.label{margin:0 0 1.2rem;font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em}.hero h1{margin:0;font:400 clamp(4.3rem,8vw,9rem)/.82 var(--serif);letter-spacing:-.045em}.hero h1 em{font-weight:400}.hero__lede{max-width:39rem;margin:2rem 0;font-size:clamp(1rem,1.4vw,1.2rem)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;min-height:48px;padding:.85rem 1rem;border:1px solid;cursor:pointer}.button--dark{background:var(--ink);color:#fff}.button--light{background:#fff;color:var(--ink)}.hero__drawing{position:relative;display:flex;align-items:center;justify-content:center;background:#fff;padding:8rem 4vw 5rem;overflow:hidden}.hero__drawing img{height:auto;object-fit:contain;position:relative;z-index:2}.hero__letter{position:absolute;right:-.05em;top:.03em;color:rgba(173,0,43,.08);font:700 min(49vw,46rem)/1 var(--body)}.hero__drawing p{position:absolute;z-index:3;right:var(--pad);bottom:2rem;margin:0;text-align:right;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.hero__stripe{position:absolute;z-index:5;left:0;bottom:0;width:50%;height:12px;display:grid;grid-template-columns:1fr 1fr 1fr}.hero__stripe span:nth-child(1){background:var(--ink)}.hero__stripe span:nth-child(2){background:var(--red)}.hero__stripe span:nth-child(3){background:#fff}
.promise{display:grid;grid-template-columns:.75fr 1.4fr .5fr;gap:4vw;align-items:center;padding:clamp(5rem,10vw,10rem) var(--pad);background:var(--ink);color:#fff}.promise__number{font:400 clamp(10rem,23vw,25rem)/.7 var(--serif);color:var(--yellow)}.promise h2,.timeline h2,.residence h2,.work h2,.visualize h2,.practice h2,.contact h2{margin:0;font:400 clamp(3rem,6vw,6.7rem)/.9 var(--serif);letter-spacing:-.04em}.promise h2{font-size:clamp(2.8rem,4.5vw,5rem)}.promise__copy>p:last-child{max-width:44rem;color:rgba(255,255,255,.75)}.promise__days{font:600 clamp(1.2rem,2vw,2rem)/1.1 var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--yellow)}
.timeline{padding-block:clamp(6rem,11vw,10rem)}.timeline__head{display:grid;grid-template-columns:.45fr 1.4fr;gap:5vw;margin-bottom:5rem}.steps{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(6,1fr)}.steps li{min-height:220px;padding:1.2rem 1rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.steps li:last-child{border:0;background:var(--yellow)}.steps span,.steps small{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em}.steps strong{margin-top:auto;font:400 clamp(1.15rem,1.8vw,1.8rem)/1.05 var(--serif)}.steps small{margin-top:.5rem}
.residence{display:grid;grid-template-columns:1.2fr .8fr;min-height:720px;background:var(--red);color:#fff}.residence__copy{align-self:center;padding:clamp(3rem,8vw,8rem)}.residence h2{font-size:clamp(2.8rem,4.5vw,5rem)}.residence__copy>p:not(.label){max-width:36rem;color:rgba(255,255,255,.82)}.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:1rem;border-bottom:1px solid;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.work{padding-block:clamp(6rem,11vw,10rem)}.work__head{display:grid;grid-template-columns:.4fr 1.1fr .65fr;gap:4vw;align-items:end;margin-bottom:4rem}.work__head>p:last-child{color:#484848}.mosaic{display:grid;grid-template-columns:1.45fr .8fr;grid-template-rows:1fr 1fr;gap:1rem}.mosaic figure{margin:0;min-height:300px;position:relative;overflow:hidden;background:#ddd}.mosaic__large{grid-row:1/3}.mosaic figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;background:rgba(16,16,16,.9);color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;font:400 1.25rem var(--serif)}.mosaic figcaption span{font:500 .62rem var(--body);text-transform:uppercase;letter-spacing:.12em}
.visualize{padding-block:clamp(5rem,10vw,9rem);background:var(--yellow);overflow:hidden}.visualize__intro{display:grid;grid-template-columns:.35fr 1.05fr .5fr;gap:4vw;align-items:end;margin-bottom:3rem}.visualize__intro>p:not(.label){align-self:end}.visualize__controls{grid-column:3;display:flex;align-items:center;gap:.8rem;font-size:.7rem}.visualize__controls button{width:44px;height:44px;border:1px solid;background:transparent;border-radius:50%;cursor:pointer}.render-rail{display:flex;gap:1rem;overflow-x:auto;padding:0 var(--pad) 1rem;scroll-snap-type:x mandatory;scrollbar-width:none}.render-rail::-webkit-scrollbar{display:none}.render-rail figure{flex:0 0 min(75vw,1000px);margin:0;scroll-snap-align:start}.render-rail img{height:min(48vw,620px);background:#fff}.render-rail figcaption{padding:.8rem 0;border-bottom:1px solid;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.practice{display:grid;grid-template-columns:.75fr 1.15fr;gap:clamp(3rem,10vw,10rem);padding-block:clamp(6rem,11vw,10rem)}.practice__portrait{min-height:700px}.practice__copy{align-self:center}.practice__copy>p:not(.label){max-width:43rem;color:#484848;font-size:1.05rem}.practice dl{margin:3rem 0 0;border-top:1px solid var(--line)}.practice dl div{display:grid;grid-template-columns:.7fr 1.3fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.practice dt{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}.practice dd{margin:0}.quote{padding:clamp(6rem,12vw,12rem) var(--pad);background:var(--ink);color:#fff}.quote blockquote{max-width:1300px;margin:0 0 2rem;font:400 clamp(3rem,7vw,8rem)/.9 var(--serif);letter-spacing:-.045em}.quote cite{font-style:normal;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--yellow)}
.contact{display:grid;grid-template-columns:1.4fr .6fr;gap:6vw;padding:clamp(6rem,11vw,10rem) var(--pad);background:var(--red);color:#fff}.contact__body{align-self:end}.contact__body>p:first-child{max-width:32rem}.contact__email{margin-top:3rem;font-size:.8rem}.footer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:3rem;padding:1.2rem var(--pad);background:#fff;font-size:.65rem}.footer img{width:190px;height:42px;object-fit:contain;object-position:left}
@media(max-width:900px){.nav{grid-template-columns:1fr auto}.nav__links,.nav__action{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero__copy{padding-bottom:6rem}.hero__drawing{min-height:58vw;padding-top:5rem}.hero__stripe{width:100%}.promise{grid-template-columns:1fr 1fr}.promise__copy{grid-column:1/3}.timeline__head,.work__head,.visualize__intro{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.visualize__controls{grid-column:auto}.practice{gap:3rem}.practice__portrait{min-height:600px}.footer{grid-template-columns:1fr;gap:.5rem}}
@media(max-width:620px){.mark{width:165px}.hero__copy{padding:6.5rem var(--pad) 2rem}.hero h1{font-size:clamp(3.75rem,18vw,5.5rem)}.hero__drawing{min-height:125px;padding:.75rem 1rem}.hero__drawing img{max-height:110px}.hero__drawing p{display:none}.promise{display:block}.promise__number{font-size:13rem}.promise__days{margin-top:2rem}.steps{grid-template-columns:1fr}.steps li{min-height:150px;border-right:0;border-bottom:1px solid var(--line)}.residence,.practice,.contact{grid-template-columns:1fr}.residence__image{min-height:80vw}.mosaic{grid-template-columns:1fr;grid-template-rows:auto}.mosaic__large{grid-row:auto}.mosaic figure{min-height:72vw}.render-rail figure{flex-basis:88vw}.render-rail img{height:60vw}.practice__portrait{min-height:125vw}.contact__body{margin-top:2rem}}

.client-logo{display:block;width:auto;max-width:min(240px,42vw);height:clamp(34px,4vw,54px);object-fit:contain;object-position:left center}.mark .client-logo{width:100%;height:100%;max-width:none}.footer .client-logo{height:44px;max-width:min(240px,42vw)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media (min-width:621px) and (max-width:900px){.hero{height:100svh;min-height:0;grid-template-rows:58% 42%}.hero__copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:6.5rem var(--pad) 2rem}.hero__drawing{min-height:0;padding:2.5rem 5vw 2rem}.hero__drawing img{max-height:100%;width:auto}.hero__drawing p{bottom:1rem}}
.error-page{min-height:100svh;padding:clamp(2rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--yellow)}.error-page img{width:min(280px,70vw);height:auto;object-fit:contain;margin-bottom:4rem}.error-page h1{max-width:900px;margin:.15em 0;font:400 clamp(4rem,9vw,9rem)/.82 var(--serif);letter-spacing:-.045em}.error-page>p:not(.label){max-width:560px}.error-page .button{margin-top:1rem}
.visualize__controls button{width:auto;min-width:88px;padding:0 14px;border-radius:0;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}
@media (min-width:901px) and (max-height:950px){.hero{height:100svh;min-height:0}.hero__copy{padding:6rem var(--pad) 3rem}.hero h1{font-size:clamp(4rem,7vw,7rem)}.hero__drawing{padding-top:6rem}}
