:root{--ink:#22201f;--paper:#faf9f6;--accent:#ff8200;--line:#d9d7d0;--muted:#66635d;--gutter:clamp(22px,6vw,110px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;min-height:100svh;display:flex;flex-direction:column;width:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}main{flex:1;min-width:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}a,button{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;color:var(--ink);padding:16px}.skip:focus{top:10px}.eyebrow{font-size:10px;letter-spacing:1.5px;line-height:1.5;font-weight:600}.star{width:25px;height:25px;flex-shrink:0;color:var(--accent)}
/* Navigation */
.nav{height:92px;flex-shrink:0;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper);color:var(--ink)}.wordmark{font-size:38px;line-height:1;font-weight:800;letter-spacing:-2.8px}.nav nav{display:flex;align-items:center;gap:38px;font-size:13px}.nav nav a{display:inline-flex;align-items:center;gap:12px;min-height:44px}.nav nav span{color:var(--accent)}.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:7px;text-decoration-thickness:2px}.nav nav a:hover{text-decoration:underline;text-underline-offset:7px}.menu-toggle{display:none}
/* Home */
.home-page{background:var(--ink)}.home-page main{background:var(--ink);color:var(--paper)}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-height:610px;height:calc(100svh - 92px);background:var(--ink)}.hero-art{overflow:hidden;background:var(--ink)}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:40px 6vw 38px 4vw}.hero-identity{margin:auto 0}.hero h1{font-size:clamp(30px,4.55vw,100px);font-weight:700;line-height:1.07;letter-spacing:-.065em}.hero h1>span{display:block;white-space:nowrap}.hero-role{color:var(--accent);font-size:clamp(12px,1.1vw,20px);line-height:1.5;letter-spacing:.2px;margin-top:22px}.hero-bottom p{font-size:18px;line-height:1.45;letter-spacing:-.3px}.art-caption{position:absolute;right:16px;bottom:30px;writing-mode:vertical-rl;font-size:8px;letter-spacing:1.8px;color:var(--paper)}
/* Page headings and equal project rows */
.page-intro{padding:75px var(--gutter) 60px}.page-intro h1{font-size:clamp(42px,6.5vw,110px);line-height:1.03;font-weight:500;letter-spacing:-.065em;margin:24px 0}.page-intro h1>span{color:var(--accent)}.page-intro p{font-size:15px;line-height:1.6;color:var(--muted)}.work-list{padding:0 var(--gutter) 90px}.work-row{position:relative;border-top:1px solid var(--ink)}.work-row:last-child{border-bottom:1px solid var(--ink)}.work-row-link{display:block}.work-row-heading{display:grid;grid-template-columns:38px minmax(0,1fr) 235px 32px;gap:20px;align-items:center;min-height:116px;padding:24px 0}.row-number{font-size:11px;color:var(--muted)}.work-row h2{font-size:clamp(24px,2.6vw,40px);font-weight:500;letter-spacing:-.055em;line-height:1.12;transition:color .2s}.row-category{font-size:11px;line-height:1.5;color:var(--muted)}.row-arrow{font-size:29px;transition:transform .3s,color .3s}.row-expansion{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.logo-preview{min-height:0;overflow:hidden}.logo-stage{height:245px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;background:#fff;padding:45px}.logo-stage img{display:block;max-width:min(440px,85%);max-height:150px;width:auto;height:auto;object-fit:contain}.logo-stage-solidarieta img{filter:brightness(0);width:min(440px,85%)}.logo-stage-jet img{filter:grayscale(1) invert(1) contrast(10);height:105px;width:auto}.logo-stage-libro img{width:480px}.logo-toggle{display:none}.work-row:focus-within h2,.work-row.is-open h2{color:var(--accent)}.work-row:focus-within .row-expansion,.work-row.is-open .row-expansion{grid-template-rows:1fr}
@media(hover:hover) and (min-width:701px){.work-row:hover .row-expansion{grid-template-rows:1fr}.work-row:hover h2{color:var(--accent)}.work-row:hover .row-arrow{color:var(--accent);transform:rotate(45deg)}}
/* About */
.about-page{background:var(--ink);color:var(--paper)}.about-page .nav{background:var(--ink);color:var(--paper);border-bottom-color:#66625e}.about-page .eyebrow{color:var(--accent)}.about-page .page-intro p{color:#cfcdc8}.about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:9%;padding:55px 9% 95px;align-items:center}.about-portrait img{width:100%;aspect-ratio:.74;object-fit:cover}.about-copy h2{font-size:clamp(45px,5.8vw,88px);letter-spacing:-.065em;font-weight:500;line-height:.98;margin:25px 0 35px}.about-copy p{font-size:15px;line-height:1.8;color:#cfcdc8;margin-bottom:16px}.about-copy .about-lead{font-size:22px;line-height:1.4;color:var(--paper);letter-spacing:-.5px}.expertise{display:flex;flex-wrap:wrap;gap:9px;padding-top:17px}.expertise span{border:1px solid #77736d;border-radius:30px;padding:9px 12px;font-size:11px}.approach{padding:45px 9% 85px}.approach-title{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:28px 0 65px}.approach-title h2{font-size:clamp(37px,5.2vw,76px);font-weight:500;letter-spacing:-.06em;line-height:1.04}.approach-title .star{width:100px;height:100px}.approach-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.approach-steps>div{border-top:2px solid var(--accent);padding-top:16px}.approach-steps span{font-size:10px}.approach-steps h3{font-size:22px;font-weight:500;margin:25px 0 13px;letter-spacing:-.5px}.approach-steps p{font-size:14px;line-height:1.7;color:#cfcdc8;max-width:320px}.about-contact{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:45px 9%;border-top:1px solid #66625e;font-size:clamp(26px,3.5vw,50px);letter-spacing:-.05em}.about-contact span{color:var(--accent)}
/* Project pages */
.case-header{padding:40px var(--gutter) 55px}.back-link{font-size:12px;display:inline-block;padding:12px 0;margin-bottom:45px}.back-link:hover{text-decoration:underline}.case-kicker{display:flex;justify-content:space-between;gap:20px;font-size:11px}.case-header h1{font-size:clamp(48px,8vw,125px);font-weight:500;letter-spacing:-.065em;line-height:1.04;max-width:1100px;margin:25px 0;overflow-wrap:break-word}.case-header>p{font-size:20px;letter-spacing:-.4px;line-height:1.4}.case-cover{margin:0 var(--gutter);background:white;overflow:hidden}.case-cover img{width:100%;height:auto;max-height:760px;object-fit:contain}.case-cover.book-cover img{height:670px;object-fit:contain}.case-story{padding:85px 9%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:60px}.case-story h2{font-size:38px;letter-spacing:-1.8px;font-weight:500}.case-story h2>span{color:var(--accent)}.case-story p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:20px}.case-story .story-lead{font-size:22px;line-height:1.5;color:var(--ink);letter-spacing:-.4px}.case-gallery{padding:0 var(--gutter) 50px}.case-figure{margin:0 0 60px}.case-figure img{width:100%;height:auto;border:1px solid #e8e6e0}.case-figure figcaption{display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.5;margin-top:15px;color:var(--muted)}.next-project{display:block;padding:40px var(--gutter) 70px;border-top:1px solid var(--line)}.next-title{font-size:clamp(30px,5vw,72px);letter-spacing:-.055em;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:25px;line-height:1.15}.next-project:hover .next-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}.next-title>span{color:var(--accent)}
/* Contact and full-width footer */
.contact-panel{padding:75px 9% 90px}.contact-panel h1{font-size:clamp(48px,7vw,110px);line-height:1.04;letter-spacing:-.06em;font-weight:500;margin:40px 0 28px}.contact-panel h1>span{color:var(--accent)}.contact-panel>p{font-size:17px;line-height:1.6;color:#cfcdc8}.contact-field-label{display:block;margin-top:45px}.email-link,.phone-link{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #666;padding:12px 0 22px;font-size:clamp(20px,3vw,43px);letter-spacing:-.035em;line-height:1.3;overflow-wrap:anywhere}.email-link>span,.phone-link>span{color:var(--accent);flex-shrink:0}.email-link:hover,.phone-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.contact-details{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-top:38px}.compact-footer{width:100%;align-self:stretch;margin:0;flex-shrink:0;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px var(--gutter);font-size:11px;line-height:1.6}.compact-footer a{overflow-wrap:anywhere}.compact-footer a:hover{color:var(--accent)}.about-page .compact-footer{border-top:1px solid #66625e}
/* Tablet */
@media(max-width:1000px){.hero{min-height:510px}.hero-bottom p{font-size:15px}.work-row-heading{grid-template-columns:25px minmax(0,1fr) 160px 30px;gap:12px}.row-category{font-size:10px}.about{padding:35px var(--gutter) 65px;gap:6%}.about-copy p{font-size:14px}.about-copy .about-lead{font-size:20px}.approach{padding:40px var(--gutter) 65px}.approach-title .star{width:70px;height:70px}.case-story{gap:35px;padding:65px var(--gutter)}.contact-panel{padding:60px var(--gutter)}}
/* Mobile */
@media(max-width:700px){
:root{--gutter:6vw}.nav{height:auto;min-height:76px;flex-wrap:wrap;gap:0;padding:18px var(--gutter)}.wordmark{font-size:32px;letter-spacing:-2.2px}.nav nav{width:100%;flex-wrap:wrap;gap:24px;margin-top:15px}.js .menu-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-width:88px;min-height:44px;padding:8px 0 8px 12px;background:none;border:0;cursor:pointer;font-size:12px}.menu-icon{display:flex;flex-direction:column;gap:5px;width:22px}.menu-icon i{width:22px;height:1px;background:currentColor;display:block;transition:transform .2s}.menu-open .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.js .nav nav{display:none}.js .nav.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:15px 0 0;margin:15px 0 0;border-top:1px solid var(--line)}.nav nav a{justify-content:space-between;min-height:48px;font-size:16px}.about-page .nav.menu-open nav{border-top-color:#66625e}
.hero{grid-template-columns:1fr;min-height:calc(100svh - 80px);height:auto}.hero-art{height:clamp(210px,63vw,360px)}.hero-art img{object-position:center}.hero-copy{min-height:330px;padding:40px 10% 35px 6%;gap:35px}.hero-identity{margin:0}.hero h1{font-size:8.9vw;line-height:1.08}.hero-role{font-size:13px;margin-top:18px}.hero-bottom p{font-size:15px;line-height:1.5}.art-caption{right:10px;bottom:28px;font-size:7px;letter-spacing:1.3px}
.page-intro{padding:45px var(--gutter) 35px}.page-intro h1{font-size:clamp(38px,10.5vw,65px);margin:20px 0;line-height:1.05}.page-intro p{font-size:14px}.work-list{padding:0 var(--gutter) 55px}.work-row-heading{grid-template-columns:22px minmax(0,1fr);gap:8px;min-height:125px;padding:24px 52px 24px 0}.row-number{grid-column:1;grid-row:1 / 3}.work-row h2{grid-column:2;font-size:clamp(23px,6vw,32px);line-height:1.13}.row-category{grid-column:2;font-size:10px}.row-arrow{display:none}.js .logo-toggle{display:grid;place-items:center;position:absolute;z-index:2;top:36px;right:0;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;font-size:25px}.logo-toggle[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}.row-expansion,.work-row:focus-within .row-expansion{grid-template-rows:0fr}.work-row.is-open .row-expansion,html:not(.js) .row-expansion{grid-template-rows:1fr}.logo-stage{height:175px;margin-bottom:20px;padding:28px}.logo-stage img{max-width:95%;max-height:105px}.logo-stage-jet img{height:75px}.logo-stage-solidarieta img{width:90%}
.about{grid-template-columns:1fr;gap:40px;padding:10px var(--gutter) 55px}.about-portrait{width:min(100%,380px);margin:auto}.about-copy h2{font-size:clamp(48px,13vw,72px);margin-bottom:28px}.about-copy p{font-size:15px;line-height:1.75}.about-copy .about-lead{font-size:22px}.expertise span{font-size:11px}.approach{padding:25px var(--gutter) 55px}.approach-title{margin:25px 0 38px;gap:15px}.approach-title h2{font-size:clamp(32px,8.4vw,48px)}.approach-title .star{width:40px;height:40px}.approach-steps{grid-template-columns:1fr;gap:28px}.approach-steps>div{display:grid;grid-template-columns:30px 1fr;gap:0 12px}.approach-steps span{padding-top:5px}.approach-steps h3{margin:0 0 12px}.approach-steps p{grid-column:2;max-width:none}.about-contact{padding:32px var(--gutter);font-size:28px;line-height:1.15}
.case-header{padding:22px var(--gutter) 32px}.back-link{margin-bottom:28px}.case-kicker{display:block}.case-kicker>span:last-child{display:block;margin-top:12px}.case-header h1{font-size:clamp(40px,11vw,65px);line-height:1.06}.case-header>p{font-size:18px}.case-cover{margin:0}.case-cover img{max-height:none}.case-cover.book-cover img{height:420px;width:100%}.case-story{grid-template-columns:1fr;gap:24px;padding:45px var(--gutter) 20px}.case-story h2{font-size:34px}.case-story .story-lead{font-size:20px}.case-gallery{padding:0 3% 25px}.case-figure{margin-bottom:32px}.case-figure figcaption{flex-direction:column;gap:5px;font-size:11px;padding:0 3%}.case-figure figcaption>span:last-child{color:var(--ink);font-weight:600}.next-project{padding:30px var(--gutter) 45px}.next-title{font-size:clamp(28px,8vw,45px);gap:15px}
.contact-panel{padding:45px var(--gutter) 60px}.contact-panel h1{font-size:clamp(43px,11.5vw,70px);margin-top:28px}.contact-panel>p{font-size:15px}.contact-field-label{margin-top:35px}.email-link{font-size:clamp(17px,4.8vw,28px);gap:10px}.phone-link{font-size:clamp(23px,6.5vw,35px);gap:10px}.contact-details{flex-direction:column;gap:12px;font-size:12px}.compact-footer{flex-direction:column;align-items:flex-start;gap:12px;padding:28px var(--gutter);font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Seamless white canvas for the work index and its logo previews. */
.works-page{--paper:#fff;background:#fff}.works-page main,.works-page .nav,.works-page .logo-stage{background:#fff}
