@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101010;--surface:#171717;--text:#f1f0eb;--muted:#a7a7a1;--line:#32322f;--lime:#b5ff67;--soft:#d8d7d1}*{box-sizing:border-box}html{scroll-behavior:smooth}html[data-theme=light]{--bg:#f1f0eb;--surface:#e4e3de;--text:#11110f;--muted:#5d5d58;--line:#c9c8c1;--soft:#242420}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.skip-link{position:fixed;z-index:1000;top:-5rem;left:1rem;background:var(--lime);color:#111;padding:.7rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:5.3rem;padding:1rem 3.5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.brand{font-size:1.08rem;font-weight:700;letter-spacing:-.06em}.brand span:first-child{font-weight:400}.brand .dot{color:var(--lime);font-size:1.4rem}.main-nav{display:flex;gap:2rem;margin-left:8vw;font-size:.78rem;color:var(--muted)}.main-nav a:hover,.contact-link:hover,.contact-links a:hover{color:var(--lime)}.nav-services{position:relative}.nav-services summary{cursor:pointer;list-style:none}.nav-services summary::-webkit-details-marker{display:none}.nav-services[open] summary{color:var(--text)}.service-menu{position:absolute;top:1.9rem;left:-1rem;background:var(--surface);border:1px solid var(--line);padding:.8rem;display:grid;gap:.55rem;min-width:10rem;border-radius:1rem;box-shadow:0 1rem 3rem #0005}.service-menu a{white-space:nowrap}.header-actions{display:flex;align-items:center;gap:1.2rem;font-size:.78rem}.theme-toggle,.menu-toggle{background:none;border:0;cursor:pointer}.theme-toggle{font-size:1.2rem;line-height:1}.menu-toggle{display:none}.mobile-menu{display:none}.hero{min-height:calc(100vh - 5.3rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 1.5rem 5rem}.eyebrow{font:500 .67rem/1.2 'DM Mono',monospace;letter-spacing:.1em;color:var(--muted);margin:0 0 2rem}.eyebrow span{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.4rem,10vw,9.8rem);line-height:.9;letter-spacing:-.095em;font-weight:500;margin-bottom:2.4rem}h1 em,h2 span{font-style:normal;color:var(--lime)}.hero-period{color:var(--lime)}.hero-copy{max-width:34rem;color:var(--muted);font-size:clamp(1rem,1.7vw,1.2rem);margin-bottom:2rem}.pill{display:inline-flex;align-items:center;gap:1rem;border-radius:99rem;padding:1rem 1.3rem;font-size:.8rem;font-weight:700}.pill-lime{background:var(--lime);color:#111;transition:transform .2s}.pill-lime:hover{transform:translateY(-3px)}.scroll-cue{margin-top:8rem;color:var(--muted);font: .65rem 'DM Mono',monospace;display:flex;gap:.5rem;align-items:center}.scroll-cue span{color:var(--lime);font-size:1.1rem}.work-mosaic{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:.7rem;padding:.7rem}.mosaic-card{min-height:29rem;position:relative;overflow:hidden;background:#d5d4cf}.mosaic-card.wide{grid-row:span 1}.mosaic-card.dark{background:#242424}.mosaic-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.mosaic-card:hover img{transform:scale(1.04)}.mosaic-card span,.project-item span{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;font-size:.86rem;font-weight:700}.mosaic-card span b,.project-item span b{display:block;color:currentColor;opacity:.6;font: .63rem 'DM Mono',monospace;margin-top:.35rem;text-transform:uppercase}.section-pad{padding:9rem 7vw}.statement{border-bottom:1px solid var(--line)}h2{font-size:clamp(3rem,8vw,8rem);line-height:.88;letter-spacing:-.09em;font-weight:500;margin:0}.statement-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;margin-top:5rem}.lead{font-size:clamp(1.4rem,2.5vw,2.3rem);line-height:1.15;letter-spacing:-.04em}.statement-grid p:last-child,.about-copy p:last-child{color:var(--muted);max-width:25rem}.section-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:5rem}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:5rem 1fr 38%;gap:2rem;align-items:center;padding:3rem 0;border-bottom:1px solid var(--line)}.service-row.reverse{grid-template-columns:5rem 38% 1fr}.service-row.reverse>div:nth-child(2){grid-column:3}.service-row.reverse>.service-visual{grid-column:2;grid-row:1}.service-index{font: .72rem 'DM Mono',monospace;color:var(--lime)}.service-row h3{font-size:clamp(2rem,4vw,4.5rem);letter-spacing:-.08em;font-weight:500;margin-bottom:1rem}.service-row h3 span{font-size:1.5rem;color:var(--lime)}.service-row p{color:var(--muted);max-width:23rem}.service-row a,.text-link{font-size:.75rem;color:var(--lime);font-weight:700}.service-visual{min-height:21rem;border-radius:.4rem;overflow:hidden}.browser-ui{background:#deded9;color:#111;padding:1rem}.browser-top{display:flex;gap:.3rem}.browser-top i{width:.5rem;height:.5rem;border-radius:50%;background:#aaa}.browser-body{background:#c1f57c;height:18rem;margin-top:.8rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.browser-body span{font-size:2.8rem;line-height:.9;letter-spacing:-.08em}.browser-body small{font:.65rem 'DM Mono',monospace}.poster-ui{background:#e7dfd1;color:#1d2723;padding:2rem;display:flex;flex-direction:column;justify-content:space-between}.poster-ui span{font-size:3.8rem;line-height:.8;letter-spacing:-.1em}.poster-ui span strong{color:#e15c35}.poster-ui i{font:1rem 'DM Mono',monospace;font-style:normal;max-width:9rem}.ai-ui{background:#24262d;color:#f8f4e5;display:flex;align-items:center;justify-content:center;gap:.7rem;position:relative;font-size:1.2rem}.ai-ui b{color:var(--lime);font-size:2.3rem}.ai-line{position:absolute;width:70%;height:1px;background:var(--lime);bottom:4rem}.ai-ui em{position:absolute;bottom:2rem;font: .65rem 'DM Mono',monospace;color:#b6b6ad}.stories{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.stories-image{position:relative;min-height:40rem;overflow:hidden}.stories-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.stories-image span{position:absolute;bottom:1.5rem;left:1.5rem;background:var(--lime);color:#111;padding:.6rem .8rem;font: .65rem 'DM Mono',monospace}.stories-copy h2{margin-bottom:2rem}.stories-copy>p:not(.eyebrow){max-width:25rem;color:var(--muted);font-size:1.1rem}.projects{background:var(--surface)}.projects-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:4rem}.filters{display:flex;gap:.4rem;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;border-radius:99rem;padding:.6rem .9rem;font-size:.7rem;cursor:pointer}.filters button.active,.filters button:hover{background:var(--lime);color:#111;border-color:var(--lime)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.project-item{position:relative;aspect-ratio:1.05;overflow:hidden;background:#c7c7c0}.project-item.large{grid-column:span 2;aspect-ratio:2.07}.project-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-item:hover img{transform:scale(1.05)}.project-item span{color:#111}.project-item::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#0006)}.project-item span{z-index:1;color:#fff}.project-item[data-category=visual]{background:#d8d0c0}.about{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.about-copy{padding-top:3rem}.process{background:var(--lime);color:#111}.process .eyebrow{color:#314429}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;margin-top:5rem}.process-grid strong{font: .7rem 'DM Mono',monospace}.process-grid h3{font-size:2rem;letter-spacing:-.06em;margin:1rem 0}.process-grid p{max-width:15rem}.faq-list{max-width:55rem;margin:5rem 0 0 auto;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:1.5rem 0}.faq summary{cursor:pointer;font-size:1.3rem;letter-spacing:-.03em;list-style:none;display:flex;justify-content:space-between}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:var(--lime)}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);max-width:35rem;margin:1rem 0 0}.contact{background:#d9d8d2;color:#111;min-height:90vh;display:flex;flex-direction:column;justify-content:center}.contact .eyebrow{color:#666}.contact h2 span{color:#4b8d2b}.contact-email{font-size:clamp(1.7rem,4vw,4.5rem);letter-spacing:-.08em;margin:4rem 0 3rem;border-bottom:2px solid #111;align-self:flex-start}.contact-email span{font-size:.6em}.contact-links{display:flex;gap:2rem;font: .7rem 'DM Mono',monospace}.site-footer{padding:2rem 3.5vw;display:flex;justify-content:space-between;color:var(--muted);font: .65rem 'DM Mono',monospace}.site-footer a{color:var(--text)}@media(max-width:800px){.site-header{padding:1rem 1.2rem;height:4.5rem}.main-nav,.contact-link{display:none}.menu-toggle{display:flex;flex-direction:column;gap:.25rem;padding:.3rem}.menu-toggle i{display:block;width:1.3rem;height:1px;background:var(--text)}.mobile-menu{position:fixed;z-index:19;top:4.5rem;left:0;right:0;background:var(--surface);padding:1rem 1.2rem 1.5rem;display:grid;gap:1rem;border-bottom:1px solid var(--line)}.mobile-menu[hidden]{display:none}.mobile-menu a{font-size:1.5rem;letter-spacing:-.05em}.hero{min-height:calc(100svh - 4.5rem);padding:6rem 1.2rem 3rem}.hero h1{font-size:clamp(3.2rem,16vw,6rem)}.scroll-cue{margin-top:5rem}.work-mosaic{grid-template-columns:1fr 1fr}.mosaic-card{min-height:16rem}.mosaic-card.wide{grid-column:span 2}.section-pad{padding:5rem 1.2rem}h2{font-size:clamp(3rem,15vw,6rem)}.statement-grid,.stories,.about{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.section-intro,.projects-head{display:block;margin-bottom:3rem}.filters{margin-top:2rem}.service-row,.service-row.reverse{grid-template-columns:2rem 1fr;gap:1rem;padding:2.4rem 0}.service-row>div:nth-child(2),.service-row.reverse>div:nth-child(2){grid-column:2;grid-row:1}.service-visual,.service-row.reverse>.service-visual{grid-column:2;grid-row:2;min-height:16rem}.browser-body{height:13rem}.browser-body span{font-size:2rem}.project-grid{grid-template-columns:1fr 1fr}.project-item.large{grid-column:span 2}.process-grid{grid-template-columns:1fr;gap:2.5rem;margin-top:3rem}.contact{min-height:75vh}.contact-email{margin:3rem 0 2rem;font-size:clamp(1.7rem,8vw,3rem)}.contact-links{gap:1rem;flex-wrap:wrap}.site-footer{padding:1.5rem 1.2rem;flex-wrap:wrap;gap:.7rem}.site-footer span:nth-child(2){display:none}}@media(max-width:360px){.hero h1{font-size:3rem}.mosaic-card{min-height:13rem}.mosaic-card span{font-size:.72rem;left:.7rem;bottom:.7rem}.project-grid{gap:.4rem}.project-item span{font-size:.7rem;left:.7rem;right:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* portada refinements */
.site-header{border-bottom:0;background:transparent}
.nav-pill{display:flex;align-items:center;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:99rem;padding:.55rem .7rem;box-shadow:0 .5rem 2rem #0003}
.nav-pill-left{gap:2rem}.nav-pill-right{background:var(--lime);color:#111;border-color:var(--lime);padding:.55rem 1rem}
.hero{min-height:calc(78vh - 5.3rem);padding:5rem 1.5rem 3.5rem}
h1{letter-spacing:-.065em;word-spacing:.04em}
.work-mosaic{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr}
.mosaic-card{min-height:24rem}.mosaic-card.wide{grid-column:span 2}
@media(max-width:800px){.site-header{padding:1rem 1.2rem}.nav-pill-left{gap:0}.nav-pill-left .main-nav{display:none}.nav-pill-right{padding:.55rem .8rem}.work-mosaic{grid-template-columns:1fr 1fr}.mosaic-card{min-height:16rem}.mosaic-card.wide{grid-column:span 2}}
.nav-pill-right .menu-toggle i{background:#111}.hero .scroll-cue{margin-top:1.8rem}h2{letter-spacing:-.055em}.site-header a:focus-visible,.site-header button:focus-visible,.main-nav summary:focus-visible,.filters button:focus-visible,.mosaic-card:focus-visible,.project-item:focus-visible,.pill:focus-visible,.text-link:focus-visible,.contact-email:focus-visible,.contact-links a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.section-pad,.hero,.work-mosaic{scroll-margin-top:6rem}.poster-ui{padding:0}.poster-ui img{width:100%;height:100%;object-fit:cover}
