@font-face{font-family:PortfolioSans;src:local("Arial");font-display:swap}
:root{--paper:#f7f8fa;--ink:#151618;--muted:#62666f;--line:#d9dce1;--blue:#244ce7;--white:#fff;--sans:PortfolioSans,Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600}em{font-family:var(--serif);font-weight:400}::selection{background:var(--blue);color:#fff}.container{max-width:1320px;padding-inline:64px;margin-inline:auto}.blue{color:var(--blue)}.eyebrow{font-size:.75rem;line-height:1.5;font-weight:600;letter-spacing:.12em}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;top:-100px;left:16px;background:var(--blue);color:white;padding:12px 20px}.skip-link:focus{top:12px}
.header{max-width:1440px;margin:auto;min-height:100px;padding:20px 64px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:2.75rem;font-weight:800;letter-spacing:-.09em;line-height:1}.wordmark span{font-size:.7rem;letter-spacing:0;vertical-align:top;display:inline-block;margin:6px 0 0 6px}.header nav{display:flex;gap:38px;align-items:center;font-size:.875rem}.header nav a{transition:color .2s}.header nav a:hover{color:var(--blue)}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0}.nav-contact span{margin-left:12px}
.hero{padding-top:24px}.hero-topline{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;letter-spacing:.08em}.hero-topline span:last-child{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;padding-block:64px 50px}.hero-copy .eyebrow{color:var(--blue);margin-bottom:22px}.hero h1{font-size:clamp(4.5rem,7.6vw,7.1rem);line-height:1.02;letter-spacing:-.065em}.hero h1 em{color:var(--blue);letter-spacing:-.065em}.hero-intro{max-width:455px;margin-top:28px;color:var(--muted);font-size:1.125rem;line-height:1.6}.button{display:inline-flex;gap:28px;align-items:center;background:var(--ink);color:#fff;padding:15px 23px;font-size:.875rem;margin-top:30px;border:1px solid var(--ink);transition:background .2s,transform .2s}.button:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}.button span{font-size:1.2rem}.portrait-wrap{width:100%;max-width:405px;justify-self:end;transform:rotate(2deg)}.portrait-frame{background:#e5e7eb;padding:12px;position:relative;border:1px solid #bfc3cb;box-shadow:12px 12px 0 var(--blue)}.portrait-frame img{width:100%;height:405px;object-fit:cover;object-position:center 25%;filter:grayscale(1)}.portrait-wrap figcaption{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;color:var(--muted)}.photo-signature{font:italic 1.6rem var(--serif);color:var(--ink)}.hero-bottom{padding:22px 0;border-block:1px solid var(--line);display:flex;align-items:center;gap:20px;font-size:.75rem;letter-spacing:.08em}.divider{color:#999}.hero-index{margin-left:auto;color:var(--muted)}
.work{padding-block:90px 100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.section-heading h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.05em;line-height:1.2;margin-top:12px}.section-heading>p{color:var(--muted);font-size:.875rem}.project{background:white;border:1px solid var(--line)}.project-featured{display:grid;grid-template-columns:1fr 1fr}.freestyle-visual{min-height:485px;padding:30px 36px;background:var(--blue);color:white;display:flex;flex-direction:column;justify-content:space-between}.visual-top,.visual-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;letter-spacing:.06em}.visual-top span:last-child{font-size:.75rem;opacity:.85;text-align:right}.big-stat{font-size:clamp(6rem,11vw,10.5rem);font-weight:600;letter-spacing:-.09em;line-height:1.2;margin-top:25px}.big-stat span{font-size:.72em;letter-spacing:-.08em}.stat-caption{font-size:1.75rem;line-height:1.25;letter-spacing:-.03em;margin-top:10px;margin-bottom:38px}.visual-bottom{border-top:1px solid #ffffff55;padding-top:20px}.visual-bottom span:last-child{font-size:2.5rem;line-height:1}.project-content{padding:36px;min-width:0}.project-type{font-size:.75rem;letter-spacing:.06em;color:var(--muted)}.project h3{font-size:2rem;letter-spacing:-.045em;line-height:1.18;margin-top:18px;margin-bottom:20px}.project-content>p{color:var(--muted);line-height:1.65}.small-stats{display:flex;gap:40px;margin:26px 0 8px}.small-stats strong{display:block;font-size:1.8rem;line-height:1.3;letter-spacing:-.04em}.small-stats span{font-size:.75rem;color:var(--muted)}.project-content .data-note{font-size:.75rem}.text-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid var(--ink);font-size:.875rem;font-weight:600;padding-bottom:5px;margin-top:22px}.text-link:hover{color:var(--blue);border-color:var(--blue)}details{margin-top:26px;border-top:1px solid var(--line)}summary{font-size:.875rem;display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none;cursor:pointer;padding-top:18px;min-height:44px}summary::-webkit-details-marker{display:none}summary>span{font-size:1.5rem;line-height:1;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}.detail-content{padding-top:16px}.detail-content p{color:var(--muted);font-size:1rem;margin-bottom:12px}.detail-content strong{color:var(--ink);font-weight:500}.detail-content .credit{font-size:.75rem;margin-top:20px}.project-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:28px;margin-top:28px}.hispanum-visual,.bmw-visual{aspect-ratio:16/10;min-height:260px}.hispanum-visual{background:#191a1e;color:#fff;padding:28px 32px;display:flex;flex-direction:column;justify-content:space-between}.project-visual-label{font-size:.75rem;letter-spacing:.08em;color:#c4c6ce}.brand-type{font-size:clamp(2rem,3.2vw,3rem);font-weight:700;letter-spacing:-.045em;line-height:1.2}.brand-type>span{display:block;font-size:.875rem;letter-spacing:.08em;line-height:1.5;margin-top:10px;font-weight:400}.work-tags{display:flex;gap:10px}.work-tags>span{border:1px solid #777982;padding:5px 12px;font-size:.75rem;letter-spacing:.04em}.bmw-visual{position:relative;background:#dde5ed;display:flex;align-items:center;overflow:hidden}.bmw-visual img{width:100%;height:auto;object-fit:contain}.image-label{position:absolute;top:16px;left:16px;right:16px;width:fit-content;background:#fff;color:var(--ink);padding:7px 10px;font-size:.75rem;line-height:1.4;box-shadow:0 1px 10px #00000015}.project-small .project-content{padding:30px 32px}.project-small h3{font-size:1.75rem}.project-small summary{margin-bottom:0}
.about{background:#eceef2;padding-block:85px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about h2{font-size:clamp(2.5rem,4.2vw,3.7rem);line-height:1.15;letter-spacing:-.045em;margin-top:28px}.about h2 em{color:var(--blue)}.about-copy>p{color:var(--muted);margin-bottom:20px}.about-copy .about-lead{font-size:1.5rem;line-height:1.4;letter-spacing:-.025em;color:var(--ink)}.about-meta{border-top:1px solid #cdd0d7;margin-top:30px;padding-top:24px}.about-meta>div+div{margin-top:20px}.about-meta p{font-size:.875rem;margin-top:7px}.about-meta .eyebrow{color:var(--muted)}
.contact{padding-block:90px 72px}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-block:30px}.contact h2{font-size:clamp(3.3rem,6.5vw,6rem);line-height:1.06;letter-spacing:-.06em}.contact h2 em{color:var(--blue)}.contact-arrow{display:grid;place-items:center;width:116px;height:116px;border:1px solid var(--ink);border-radius:50%;flex-shrink:0;font-size:4rem;line-height:1;transition:background .2s,color .2s,transform .2s}.contact-arrow:hover{background:var(--blue);border-color:var(--blue);color:white;transform:rotate(8deg)}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-top:22px}.contact-bottom p{color:var(--muted)}.email{font-size:1.2rem;letter-spacing:-.025em;border-bottom:1px solid var(--ink);overflow-wrap:anywhere}.email:hover{color:var(--blue);border-color:var(--blue)}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:26px}.footer>span{font-size:.75rem;letter-spacing:.05em;color:var(--muted)}.footer>div{display:flex;gap:26px;font-size:.875rem}.footer a:hover{color:var(--blue)}
@media(min-width:1450px){.hero-grid{gap:110px}.hero h1{font-size:7.4rem}}
@media(max-width:1000px){.container{padding-inline:36px}.header{padding-inline:36px}.hero-grid{gap:40px}.hero h1{font-size:5.5rem}.portrait-frame img{height:345px}.portrait-wrap figcaption{flex-wrap:wrap}.hero-bottom{gap:14px}.freestyle-visual{padding:28px}.project-content{padding:28px}.project h3{font-size:1.7rem}.small-stats{gap:25px}.about-grid{gap:45px}.contact-bottom{flex-wrap:wrap}.hero-grid{padding-top:50px}.brand-type{font-size:2.1rem}}
@media(max-width:760px){html{scroll-padding-top:24px}.container{padding-inline:24px}.header{padding:20px 24px;min-height:84px}.header nav{gap:22px}.hero-topline{flex-wrap:wrap;row-gap:8px}.hero-topline span:last-child{font-size:.75rem}.hero-grid{grid-template-columns:1fr;gap:44px;padding-block:44px}.hero h1{font-size:clamp(4.4rem,13.5vw,6.8rem)}.hero-intro{max-width:500px}.portrait-wrap{justify-self:center;max-width:400px;width:85%;transform:rotate(1.5deg);margin-bottom:5px}.portrait-frame img{height:360px}.hero-bottom{flex-wrap:wrap;gap:9px 12px;line-height:1.8}.hero-index{margin-left:0;width:100%;margin-top:4px}.section-heading{align-items:start}.section-heading>p{display:none}.work{padding-block:62px}.section-heading h2{font-size:2.25rem}.project-featured{grid-template-columns:1fr}.freestyle-visual{min-height:400px;padding:26px}.big-stat{font-size:8rem;margin-top:12px}.stat-caption{font-size:1.6rem}.project-content{padding:28px}.project h3{font-size:1.9rem}.project-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.hispanum-visual,.bmw-visual{min-height:220px;aspect-ratio:16/10}.brand-type{font-size:clamp(2rem,6.8vw,3rem)}.project-small .project-content{padding:28px}.about{padding-block:62px}.about-grid{grid-template-columns:1fr;gap:32px}.about h2{font-size:2.85rem}.about-copy .about-lead{font-size:1.35rem}.contact{padding-block:62px 50px}.contact h2{font-size:clamp(2.8rem,8.5vw,4.1rem)}.contact-heading{gap:14px}.contact-arrow{width:68px;height:68px;font-size:2.5rem}.contact-bottom{align-items:start;gap:24px}.contact-bottom p{font-size:1rem}.email{font-size:1.06rem}.footer{align-items:start;flex-wrap:wrap}.footer>div{gap:24px}}
@media(max-width:390px){.container{padding-inline:20px}.header{padding-inline:20px}.header nav{gap:14px;font-size:.875rem}.wordmark{font-size:2.3rem}.wordmark span{display:none}.nav-contact span{margin-left:2px}.hero h1{font-size:4.1rem}.hero-copy .eyebrow{font-size:.75rem}.portrait-wrap{width:90%}.portrait-frame img{height:300px}.contact-arrow{width:54px;height:54px;font-size:2rem}.contact h2{font-size:2.65rem}.project-content,.project-small .project-content{padding:24px}.visual-top{align-items:start}.visual-top span{max-width:50%}.big-stat{font-size:7rem}.brand-type{font-size:1.9rem}.work-tags{gap:8px}.work-tags>span{padding:5px 9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Let enlarged text and small screens reflow naturally. */
.hero-grid{padding-block:42px 38px;gap:64px}.hero h1{font-size:clamp(4rem,6.8vw,6.5rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:20px 26px;align-items:center;margin-top:28px}.hero-actions .button,.hero-actions .text-link{margin-top:0}.cv-link{flex-wrap:wrap;gap:5px 12px}.cv-language{font-size:.75rem;font-weight:400;color:var(--muted)}.hero-availability{margin-top:20px;color:var(--muted);font-size:.875rem}.case-facts{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--line)}.case-facts>div+div{margin-top:16px}.case-facts dt{font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:4px}.case-facts dd{margin:0;color:var(--muted);font-size:1rem;line-height:1.6}.project-featured{align-items:stretch}.freestyle-visual{min-height:510px}.portrait-wrap{max-width:365px}.project-grid{align-items:stretch}.project-type,.visual-top,.visual-bottom,.project-visual-label,.work-tags>span,.image-label{font-size:.875rem}
@media(max-width:760px){.hero-grid{gap:34px;padding-block:36px}.hero h1{font-size:clamp(3.6rem,13vw,6rem)}.portrait-wrap{max-width:280px}.work{padding-top:48px}.freestyle-visual{min-height:360px}.visual-top,.visual-bottom{font-size:.75rem}.hero-availability{max-width:300px}.project-grid{align-items:start}}
h1,h2,h3{overflow-wrap:anywhere}.header nav{flex-wrap:wrap}.portrait-frame{background:#e5e7eb}.portrait-frame img{object-fit:contain;object-position:center;height:auto;aspect-ratio:1}.contact-heading{flex-wrap:wrap}.big-stat{font-size:min(10.5rem,11vw)}
@media(max-width:760px){.big-stat{font-size:min(8rem,24vw)}.portrait-frame img{height:auto}.small-stats{flex-wrap:wrap;gap:18px 28px}}
@media(max-width:390px){.hero h1{font-size:clamp(2.5rem,15vw,4.1rem)}.about h2{font-size:clamp(2rem,9vw,2.85rem)}.contact h2{font-size:clamp(1.5rem,8.5vw,2.65rem)}.header{flex-wrap:wrap}.header nav{row-gap:4px}.portrait-frame img{height:auto}}

/* Published work and the two alternating editorial formats. */
.work>.project+.project{margin-top:32px}.dome-project{grid-template-columns:1fr 1.08fr}.dome-evidence,.profile-evidence{padding:32px;background:#eef0f6;min-width:0}.dome-evidence{background:#211b39;color:#fff;display:flex;flex-direction:column;justify-content:center}.dome-evidence>.eyebrow,.profile-evidence>.eyebrow{margin-bottom:22px;font-size:.875rem}.dome-gallery,.profile-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.capture-link{display:block;transition:opacity .2s}.capture-link:hover{opacity:.88}.dome-gallery img{width:100%;height:auto}.dome-gallery figcaption,.profile-gallery figcaption,.company-gallery figcaption{padding-top:14px;line-height:1.45;overflow-wrap:anywhere}.dome-gallery figcaption strong,.company-gallery figcaption strong{display:block;font-size:1rem;font-weight:600}.dome-gallery figcaption>span{display:block;color:#d1cbdc;font-size:.875rem;margin-top:4px}.dome-gallery figcaption .evidence-stat{font-size:1rem;font-weight:600;color:#fff;margin-top:10px}.evidence-note{font-size:.8125rem;line-height:1.55;margin-top:22px;color:var(--muted)}.dome-evidence .evidence-note{color:#c4bfd0}.project-content .project-credit{font-size:.8125rem;line-height:1.55;margin-top:24px}.profile-gallery img{width:100%;height:auto;border:1px solid var(--line)}.profile-gallery figcaption{font-size:.875rem;font-weight:600}.profile-gallery figcaption a{border-bottom:1px solid currentColor;padding-bottom:3px}.profile-gallery figcaption a:hover{color:var(--blue)}.personal-project{grid-template-columns:1fr 1.08fr}.small-stats>div{flex:1;min-width:0}.small-stats span{display:block;max-width:210px;font-size:.875rem;line-height:1.5;margin-top:5px}.company-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px}.company-heading>div>p{color:var(--muted)}.company-heading .case-facts{margin:0}.company-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0 36px}.company-gallery figure{min-width:0}.company-gallery figcaption>span{display:block;font-size:.875rem;color:var(--muted);margin-top:7px}.artwork-window{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e7e8ec;border:1px solid var(--line)}.artwork-window img{position:absolute;left:0;width:100%;height:auto;max-width:none}.distrito-window img{width:104.65%;left:-2.21%;top:0;transform:translateY(-19.85%)}.reforma-window img{top:0;transform:translateY(-13.67%)}.demoliciones-window img{top:0;transform:translateY(-16.7%)}.company-footer{padding-block:22px 28px}.academic-project .bmw-visual{aspect-ratio:auto;min-height:0}.academic-project .bmw-visual img{width:100%;height:auto}.academic-project .project-content{align-self:center}.project-type{display:block;line-height:1.6}
@media(max-width:1000px){.dome-project,.personal-project{grid-template-columns:1fr 1fr}.dome-evidence,.profile-evidence{padding:24px}.dome-gallery,.profile-gallery{gap:14px}.company-heading{gap:28px}.company-gallery{padding-inline:28px;gap:18px}.small-stats{flex-wrap:wrap}.small-stats>div{flex:1 1 130px}}
@media(max-width:760px){.dome-project,.personal-project,.academic-project{grid-template-columns:1fr}.dome-gallery,.profile-gallery{gap:18px;max-width:480px;width:100%;margin-inline:auto}.dome-evidence,.profile-evidence{padding:28px 24px}.personal-project .project-content{grid-row:1}.company-heading{grid-template-columns:1fr;gap:24px}.company-gallery{grid-template-columns:1fr;padding-inline:28px;gap:28px}.company-gallery figure{max-width:420px;width:100%;margin-inline:auto}.academic-project .bmw-visual{aspect-ratio:16/9}.company-footer{padding-top:16px}.work>.project+.project{margin-top:24px}}
@media(max-width:390px){.dome-evidence,.profile-evidence{padding:24px 18px}.dome-gallery,.profile-gallery{gap:12px}.company-gallery{padding-inline:24px}.dome-gallery figcaption strong,.dome-gallery figcaption .evidence-stat{font-size:.875rem}.dome-gallery figcaption>span{font-size:.8125rem}}
