:root{--acid:#dff426;--ink:#171817;--blue:#4034e9;--orange:#ff6546;--paper:#f7f6f0;--rule:rgba(23,24,23,.25);--display:"Unbounded","Arial Black",Arial,sans-serif;--body:"Manrope","Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,a{font:inherit}
a{color:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
::selection{color:var(--paper);background:var(--blue)}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.skip-link{position:absolute;left:1rem;top:-6rem;z-index:100;background:var(--ink);color:white;padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.site-header{height:82px;background:var(--acid);border-bottom:1px solid var(--rule);padding:0 3.9vw;display:flex;align-items:center;gap:3.3vw;position:relative;z-index:20}
.wordmark{font-family:var(--display);font-size:clamp(.9rem,1.33vw,1.21rem);font-weight:900;line-height:1;letter-spacing:-.09em;text-decoration:none;white-space:nowrap}
.wordmark-dot{color:var(--orange)}
.desktop-nav{margin-left:auto;display:flex;gap:clamp(1.2rem,2.8vw,3rem);align-items:center}
.desktop-nav a{text-decoration:none;font-size:.86rem;font-weight:700;position:relative;padding:.4rem 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:currentColor;transition:right .3s ease}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}
.header-actions{display:flex;align-items:center;gap:1.2rem;margin-left:1vw}
.language-switch{font-size:.78rem;font-weight:800;text-decoration:none;letter-spacing:.07em;padding:.4rem}
.header-contact{background:var(--ink);color:white;text-decoration:none;padding:.7rem 1rem;display:flex;gap:1.5rem;align-items:center;font-size:.85rem;font-weight:800;transition:background .2s ease,transform .2s ease}
.header-contact:hover{background:var(--blue);transform:translateY(-2px)}
.header-contact span{font-size:1.2rem;font-weight:500;line-height:1}
.hero{background:var(--acid);overflow:hidden}
.hero-main{min-height:calc(100svh - 158px);padding:clamp(3rem,5vw,5.8rem) 5.8vw 2rem;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:center;gap:1vw}
.hero-copy{position:relative;z-index:2;min-width:0}
.eyebrow{font-size:.71rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 clamp(1.5rem,3.5vw,3.3rem)}
.eyebrow-square{height:.6rem;width:.6rem;background:var(--blue);transform:rotate(20deg);display:inline-block}
.hero-title{font-family:var(--display);font-size:clamp(4rem,9.2vw,11rem);letter-spacing:-.105em;line-height:.91;font-weight:900;margin:0 0 clamp(1.7rem,4vw,4rem);text-transform:uppercase}
.hero-title span{display:block;white-space:nowrap}
.hero-title span:last-child{margin-left:-.04em}
.hero-title .title-period{display:inline;color:var(--blue)}
.hero-description{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;max-width:625px;border-top:1px solid var(--ink);padding-top:1.05rem}
.hero-sub{font-weight:800;font-size:clamp(1.16rem,1.8vw,1.7rem);line-height:1.19;max-width:15ch;margin:0}
.hero-body{font-size:.9rem;line-height:1.52;max-width:27ch;margin:0}
.hero-links{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);margin-top:2.2rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.7rem;text-decoration:none;font-weight:800;transition:transform .24s ease,background .24s ease,color .24s ease}
.button-ink{background:var(--ink);color:white;padding:1.1rem 1.3rem;min-width:188px}
.button-ink:hover{background:var(--blue);transform:translateY(-4px)}
.button span{font-size:1.15rem;line-height:1;font-weight:400}
.text-link{font-size:.91rem;font-weight:800;text-decoration:none;border-bottom:1px solid var(--ink);padding:.4rem 0;display:flex;gap:1.5rem;align-items:center;transition:gap .2s ease}
.text-link:hover{gap:2rem}
.poster-zone{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;padding:0 2vw}
.poster-shadow{width:min(91%,450px);aspect-ratio:.86;position:absolute;background:var(--ink);transform:translate(26px,27px) rotate(4deg)}
.poster{width:min(91%,450px);aspect-ratio:.86;position:relative;transform:rotate(-6deg) rotateY(var(--peel-angle,0deg));transform-style:preserve-3d;box-shadow:0 20px 32px rgba(23,24,23,.18);transition:transform .45s cubic-bezier(.2,.7,.2,1);overflow:hidden}
.poster-scene{position:absolute;inset:0;padding:1.7rem 1.65rem 1.4rem;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transform:scale(.88) rotate(-11deg);transition:opacity .35s ease,transform .55s cubic-bezier(.16,1,.3,1),visibility 0s linear .5s}
.hero[data-poster-state="0"] .poster-scene-0,.hero[data-poster-state="1"] .poster-scene-1,.hero[data-poster-state="2"] .poster-scene-2{opacity:1;visibility:visible;transform:scale(1) rotate(0deg);transition:opacity .35s ease,transform .55s cubic-bezier(.16,1,.3,1),visibility 0s}
.poster-scene-0{background:var(--blue);color:var(--acid)}
.poster-scene-1{background:var(--orange);color:var(--ink)}
.poster-scene-2{background:var(--ink);color:var(--paper)}
.poster-issue,.poster-bottom{font-size:.61rem;font-weight:800;letter-spacing:.16em;line-height:1.3}
.poster-bottom{border-top:1px solid currentColor;padding-top:1rem}
.poster-art{font-family:var(--display);font-weight:900;font-size:clamp(2.9rem,4.15vw,5.5rem);letter-spacing:-.11em;line-height:1.13;display:block;transform:rotate(-4deg);text-align:left}
.poster-art-1{transform:rotate(5deg)}
.poster-art-2{transform:rotate(-7deg)}
.poster-point{color:var(--acid)}
.poster-scene-0 .poster-point{color:var(--orange)}
.poster-fold{position:absolute;right:0;top:0;width:5.5rem;height:5.5rem;background:linear-gradient(225deg,var(--acid) 0 49%,rgba(0,0,0,.18) 49.5% 53%,transparent 54%);clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none;z-index:4;filter:drop-shadow(-4px 5px 4px rgba(0,0,0,.14))}
.poster-control{position:absolute;right:-1.6rem;bottom:3.3rem;width:9.5rem;min-height:9.5rem;border:0;border-radius:50%;background:var(--ink);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;font-size:.7rem;line-height:1.25;font-weight:800;padding:1.8rem;z-index:5;transform:rotate(10deg);transition:transform .28s ease,background .28s ease;touch-action:manipulation;user-select:none}
.poster-control:hover{transform:rotate(-7deg) scale(1.08);background:var(--blue)}
.poster-control-symbol{font-size:2.35rem;line-height:1;font-weight:400}
.poster-index{position:absolute;right:1.4rem;top:1.1rem;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.hero-footer{height:76px;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 5.8vw;font-size:.69rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800}
.hero-footer a{text-decoration:none;justify-self:center;display:flex;gap:3rem;align-items:center}
.hero-footer a span{font-size:1.1rem;line-height:1}
.hero-coordinates{justify-self:end}
.work-intro{padding:6rem 5.8vw 9rem;background:var(--paper)}
.section-label{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);padding-top:1.1rem;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.section-index{color:var(--blue)}
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:4rem;margin:2.7rem 0 3.8rem}
.work-heading h2{font-family:var(--display);font-weight:800;font-size:clamp(2.5rem,5vw,5.4rem);line-height:1.04;letter-spacing:-.085em;margin:0;max-width:14ch}
.work-heading p{max-width:18rem;margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.5}
.featured-preview{text-decoration:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);background:#121212;color:var(--paper);min-height:570px;overflow:hidden;position:relative}
.featured-media{overflow:hidden;position:relative;min-height:490px}
.featured-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(1.27);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease}
.featured-preview:hover .featured-media img{transform:scale(1.06);filter:brightness(1.55)}
.featured-open{position:absolute;right:1.6rem;top:1.6rem;width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;background:var(--acid);color:var(--ink);font-size:1.65rem;transition:transform .35s ease}
.featured-preview:hover .featured-open{transform:rotate(45deg)}
.featured-info{padding:2rem 2.2rem;display:flex;flex-direction:column;justify-content:flex-end;gap:1.15rem;border-left:1px solid rgba(255,255,255,.18)}
.featured-info>span:first-child{font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#e8cc83;margin-bottom:auto}
.featured-info strong{font-family:var(--display);font-size:clamp(1.9rem,3.3vw,3.5rem);letter-spacing:-.08em;line-height:1.03}
.featured-info p{font-size:.96rem;line-height:1.55;max-width:23ch;margin:0}
.featured-action{font-size:.78rem;font-weight:800;border-top:1px solid rgba(255,255,255,.35);padding-top:1.1rem;margin-top:1.4rem}
.temporary-footer{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:2rem;padding:2rem 5.8vw;font-size:.84rem}
.temporary-footer p{margin:0}
.temporary-footer a{font-weight:800}
@media(max-width:1100px){.desktop-nav{gap:1.2rem}.hero-main{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr)}.hero-title{font-size:9vw}.poster-zone{min-height:480px}.poster-art{font-size:clamp(2.8rem,4vw,4.5rem)}.poster-control{right:-.5rem;bottom:1rem;width:8.5rem;min-height:8.5rem}}
@media(max-width:780px){.site-header{height:68px;padding:0 5vw}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:.6rem}.header-contact{padding:.65rem .7rem;gap:.65rem}.hero-main{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:2.4rem 5vw 3rem}.hero-eyebrow{margin-bottom:2.2rem}.hero-title{font-size:clamp(3.9rem,13.6vw,7rem);margin-bottom:2rem}.hero-description{gap:1.3rem}.hero-links{margin-top:1.9rem}.poster-zone{min-height:530px;margin-top:2.2rem}.poster{max-width:460px}.poster-shadow{max-width:460px}.poster-art{font-size:clamp(3.2rem,7vw,5rem)}.poster-control{right:1.5rem;bottom:1rem}.hero-footer{padding:0 5vw}.work-intro{padding:4rem 5vw 6rem}.featured-preview{grid-template-columns:1fr;min-height:0}.featured-media{min-height:390px;aspect-ratio:1.35}.featured-info{min-height:310px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.featured-info>span:first-child{margin-bottom:auto}}
@media(max-width:520px){.wordmark{font-size:.85rem}.header-contact{font-size:.72rem}.header-contact span{font-size:1rem}.hero-main{padding-top:1.8rem}.hero-eyebrow{font-size:.57rem;margin-bottom:1.6rem}.hero-title{font-size:clamp(3.2rem,13.7vw,5rem);letter-spacing:-.105em}.hero-description{display:block}.hero-sub{font-size:1.16rem;margin-bottom:.5rem;max-width:none}.hero-body{font-size:.82rem;max-width:34ch}.hero-links{gap:1.15rem;margin-top:1.45rem}.button-ink{min-width:0;padding:.9rem .95rem;gap:1rem;font-size:.79rem}.text-link{font-size:.77rem;gap:.5rem}.poster-zone{min-height:390px;margin:2.6rem -.6rem 0;padding:0 1.6rem}.poster{width:min(76vw,350px)}.poster-shadow{width:min(76vw,350px);transform:translate(18px,20px) rotate(4deg)}.poster-scene{padding:1.2rem}.poster-art{font-size:clamp(2.1rem,8.5vw,3.5rem)}.poster-control{right:0;bottom:0;width:6.7rem;min-height:6.7rem;font-size:.58rem;padding:1rem}.poster-control-symbol{font-size:1.55rem}.poster-index{top:-.3rem;right:.9rem}.poster-fold{width:4rem;height:4rem}.hero-footer{height:56px;font-size:.55rem}.hero-footer a{gap:.4rem}.hero-note{display:none}.hero-footer{grid-template-columns:1fr 1fr}.work-heading{display:block;margin:2.5rem 0 2.4rem}.work-heading h2{font-size:clamp(2.2rem,8.3vw,3.7rem);margin-bottom:1.4rem}.work-heading p{font-size:.88rem}.section-label{font-size:.57rem}.featured-media{min-height:270px;aspect-ratio:1.25}.featured-info{padding:1.4rem;min-height:260px}.featured-info strong{font-size:2rem}.temporary-footer{display:block;padding:2rem 5vw}.temporary-footer p{margin:0 0 .5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.menu-toggle{display:none;border:0;background:none;padding:.5rem;align-items:center;justify-content:center;flex-direction:column;gap:.3rem;width:2.6rem;height:2.6rem}
.menu-toggle span{display:block;width:1.45rem;height:2px;background:currentColor;transition:transform .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(.27rem) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-.27rem) rotate(-45deg)}
.mobile-nav[hidden]{display:none}
.mobile-nav{position:absolute;left:0;right:0;top:100%;background:var(--acid);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1rem 5vw 1.5rem;display:grid;gap:.5rem;box-shadow:0 15px 35px rgba(0,0,0,.12)}
.mobile-nav a{text-decoration:none;font-family:var(--display);font-size:1.2rem;font-weight:800;padding:.5rem 0}
.more-work{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem;margin-top:1.35rem}
.work-card{text-decoration:none;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.work-card-media{aspect-ratio:1.36;background:#111;overflow:hidden;position:relative}
.work-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.16,1,.3,1),filter .5s ease}
.work-card:hover .work-card-media img{transform:scale(1.06)}
.work-card-arrow{position:absolute;right:1.35rem;top:1.35rem;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--acid);display:grid;place-items:center;font-size:1.6rem;transition:transform .35s ease}
.work-card:hover .work-card-arrow{transform:rotate(45deg)}
.work-card-meta{padding:1.65rem;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;min-height:265px}
.work-card-sonora .work-card-meta{background:#901f3b;color:#fff9eb}
.work-card-lokal-barbershop .work-card-meta{background:#202120;color:var(--paper)}
.work-card-meta>span:first-child{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;line-height:1.4}
.work-card-meta strong{font-family:var(--display);font-size:clamp(1.4rem,2.45vw,2.75rem);letter-spacing:-.08em;line-height:1.08}
.work-card-meta p{margin:0;max-width:32ch;font-size:.85rem}
.work-card-link{font-size:.73rem;font-weight:800;border-top:1px solid currentColor;padding-top:.8rem;width:100%;margin-top:auto}
.services-section{padding:6rem 5.8vw 8rem;background:var(--acid)}
.services-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);gap:3rem;align-items:end;margin:4rem 0 5rem}
.services-heading h2,.process-sticky h2,.studio-grid h2{font-family:var(--display);font-size:clamp(3rem,6.1vw,7rem);line-height:1.02;letter-spacing:-.09em;font-weight:800;margin:0}
.services-heading p{margin:0;font-size:1.15rem;line-height:1.4;font-weight:700;max-width:18ch}
.service-list{border-top:1px solid var(--ink)}
.service-row{display:grid;grid-template-columns:5rem minmax(0,1fr) minmax(0,.75fr) 2rem;gap:1.5rem;border-bottom:1px solid var(--ink);align-items:center;padding:2rem 0;transition:padding .28s ease,background .28s ease}
.service-row:hover{padding-left:1rem;background:rgba(255,255,255,.18)}
.service-number{font-family:var(--display);font-weight:800;font-size:.8rem}
.service-row h3{font-family:var(--display);font-size:clamp(1.6rem,2.7vw,3.2rem);letter-spacing:-.07em;line-height:1.1;margin:0}
.service-row p{max-width:27ch;margin:0;font-size:.9rem;font-weight:600}
.service-symbol{font-size:1.75rem;line-height:1;font-weight:300}
.services-contact{display:inline-flex;gap:4rem;background:var(--ink);color:white;padding:1.1rem 1.25rem;margin-top:2.6rem;text-decoration:none;font-weight:800;transition:transform .25s ease,background .25s ease}
.services-contact:hover{transform:translateY(-4px);background:var(--blue)}
.process-section{background:var(--blue);color:#f5f3f0;padding:6rem 5.8vw 9rem;overflow:hidden}
.process-section .section-label{border-color:rgba(255,255,255,.5)}
.process-section .section-index{color:var(--acid)}
.process-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8vw;margin-top:4.4rem}
.process-sticky{position:sticky;top:2rem;align-self:start}
.process-sticky h2{max-width:11ch}
.process-sticky>p{max-width:26rem;font-weight:600;font-size:1rem;line-height:1.55;margin:2rem 0 2.5rem}
.process-art{width:min(100%,420px);aspect-ratio:1.25;background:var(--acid);color:var(--ink);position:relative;overflow:hidden;display:grid;place-items:center;transform:rotate(-4deg);transition:transform .55s ease,background .55s ease}
.process-section[data-active-step="1"] .process-art{transform:rotate(3deg);background:var(--orange)}
.process-section[data-active-step="2"] .process-art{transform:rotate(-2deg);background:var(--paper)}
.process-section[data-active-step="3"] .process-art{transform:rotate(6deg);background:var(--ink);color:var(--acid)}
.process-art-slab{position:absolute;width:60%;height:145%;background:var(--blue);transform:rotate(33deg) translate(-30%,0);transition:transform .55s ease,background .55s ease}
.process-section[data-active-step="1"] .process-art-slab{transform:rotate(-25deg) translate(50%,0);background:var(--acid)}
.process-section[data-active-step="2"] .process-art-slab{transform:rotate(80deg) translate(-22%,0);background:var(--orange)}
.process-section[data-active-step="3"] .process-art-slab{transform:rotate(-68deg) translate(10%,0);background:var(--blue)}
.process-art-word{font-family:var(--display);font-size:clamp(9rem,19vw,16rem);line-height:1;font-weight:900;letter-spacing:-.17em;z-index:1;mix-blend-mode:difference;color:#fff}
.process-art-star{font-size:.45em;display:inline-block;vertical-align:top;transform:rotate(-20deg);letter-spacing:0}
.process-art-count{position:absolute;bottom:1.1rem;left:1.3rem;z-index:2;font-size:.65rem;font-weight:800;letter-spacing:.12em}
.process-steps{border-top:1px solid rgba(255,255,255,.65);min-width:0}
.process-step{padding:1.7rem 0 4rem;border-bottom:1px solid rgba(255,255,255,.65);min-height:250px;opacity:.65;transition:opacity .3s ease,transform .3s ease}
.process-step.is-active{opacity:1;transform:translateX(.5rem)}
.process-step>span{font-family:var(--display);font-size:.73rem;letter-spacing:.08em;color:var(--acid)}
.process-step h3{font-family:var(--display);font-size:clamp(1.8rem,2.7vw,3.2rem);letter-spacing:-.07em;line-height:1.1;margin:2.2rem 0 1rem;overflow-wrap:anywhere}
.process-step p{margin:0;max-width:30ch;font-size:.9rem;line-height:1.55}
.studio-section{background:var(--orange);padding:6rem 5.8vw 9rem}
.studio-section .section-index{color:var(--ink)}
.studio-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8vw;margin-top:5rem;align-items:end}
.studio-grid h2{max-width:13ch;min-width:0;overflow-wrap:anywhere}
.studio-right>p{font-weight:700;font-size:clamp(1.25rem,1.8vw,1.8rem);line-height:1.45;max-width:24ch;margin:0 0 3rem}
.studio-right ol{padding:0;margin:0;list-style:none;border-top:1px solid var(--ink)}
.studio-right li{border-bottom:1px solid var(--ink);padding:1.1rem 0;display:flex;gap:1.5rem;align-items:baseline;font-weight:800}
.studio-right li span{font-family:var(--display);font-size:.67rem;min-width:2rem}
.contact-section{background:var(--ink);color:var(--paper);padding:6rem 5.8vw 7rem;position:relative;overflow:hidden;min-height:700px}
.contact-section .section-label{position:relative;z-index:2;border-color:rgba(255,255,255,.45)}
.contact-section .section-index{color:var(--acid)}
.contact-content{position:relative;z-index:2;margin-top:5vw}
.contact-content h2{font-family:var(--display);font-size:clamp(3.6rem,8.6vw,10rem);line-height:.98;letter-spacing:-.105em;font-weight:900;max-width:13ch;margin:0;color:var(--acid)}
.contact-end{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:4rem}
.contact-end p{font-size:1.1rem;max-width:26rem;margin:0}
.contact-end a{background:var(--acid);color:var(--ink);width:min(100%,400px);padding:1.7rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-weight:800;letter-spacing:-.05em;text-decoration:none;transition:transform .3s ease,background .3s ease}
.contact-end a:hover{background:var(--orange);transform:translateY(-6px)}
.contact-end a span{font-family:var(--body);font-weight:400;font-size:2rem}
.contact-shape{width:24vw;aspect-ratio:1;position:absolute;right:-3vw;top:18%;border:3vw solid var(--blue);border-radius:50%;transform:rotate(-14deg);opacity:.38}
.contact-shape span{font-family:var(--display);font-weight:900;font-size:4vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.site-footer{background:var(--paper);padding:4rem 5.8vw 2rem}
.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:5rem}
.footer-top .wordmark{font-size:clamp(1.5rem,3vw,3rem)}
.footer-contact{font-family:var(--display);font-weight:800;text-decoration:none;font-size:clamp(1rem,1.8vw,1.5rem);border-bottom:2px solid var(--ink)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--ink);padding-top:1.3rem;text-transform:uppercase;letter-spacing:.07em;font-size:.65rem;font-weight:800}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:.25em}
.legal-page{background:var(--paper)}
.legal-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--acid);padding:5rem 5.8vw 4rem;min-height:420px}
.legal-hero::after{content:"";position:absolute;width:min(27vw,360px);aspect-ratio:1;border:clamp(25px,4.5vw,70px) solid var(--blue);border-radius:50%;right:-5vw;top:-8vw;transform:rotate(-18deg);opacity:.42;z-index:-1}
.legal-hero .eyebrow{margin:0 0 2rem}
.legal-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(2.7rem,6.9vw,7.2rem);line-height:1.03;letter-spacing:-.09em;max-width:14ch;overflow-wrap:anywhere;margin:0 0 2rem}
.legal-intro{max-width:46ch;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:700;margin:0}
.legal-updated{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin:3rem 0 0}
.legal-content{max-width:1380px;margin:0 auto;padding:3rem 5.8vw 8rem}
.legal-section{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:2rem;border-top:1px solid var(--ink);padding:2rem 0 2.5rem}
.legal-index{font-family:var(--display);font-size:.72rem;font-weight:800;color:var(--blue);padding-top:.45rem}
.legal-section h2{font-family:var(--display);font-size:clamp(1.35rem,2.25vw,2.2rem);letter-spacing:-.07em;line-height:1.18;margin:0 0 1.4rem}
.legal-section p,.legal-section address{max-width:75ch;font-size:1rem;line-height:1.75;margin:0 0 1rem;font-style:normal}
.legal-section a{text-decoration-thickness:1px;text-underline-offset:.2em;overflow-wrap:anywhere}
.legal-section a:hover{color:var(--blue)}
.legal-section code{background:#e8e9db;padding:.1em .3em;border-radius:.15em}
@media(max-width:780px){.legal-hero{padding:4rem 5vw;min-height:0}.legal-content{padding:3rem 5vw 6rem}.legal-section{grid-template-columns:3rem minmax(0,1fr);gap:1rem}}
@media(max-width:520px){.legal-hero{padding:3rem 5vw}.legal-hero h1{font-size:clamp(2.4rem,10vw,4rem)}.legal-hero::after{width:50vw;right:-18vw;top:-14vw}.legal-section{display:block;padding:1.7rem 0 2.2rem}.legal-index{display:block;margin-bottom:1.2rem}.legal-section p,.legal-section address{font-size:.92rem}}
@media(max-width:780px){.menu-toggle{display:flex}.mobile-nav{top:68px}.more-work{grid-template-columns:1fr}.services-section,.process-section,.studio-section,.contact-section{padding-left:5vw;padding-right:5vw}.services-heading{display:block;margin:3.2rem 0}.services-heading h2{font-size:clamp(2.5rem,8vw,4.8rem)}.services-heading p{margin-top:1.5rem}.service-row{grid-template-columns:3rem 1fr 2rem;gap:1rem}.service-row p{grid-column:2;grid-row:2}.service-symbol{grid-column:3;grid-row:1}.process-grid{grid-template-columns:1fr;gap:4rem}.process-sticky{position:static}.process-sticky h2{font-size:clamp(2.7rem,8vw,5rem)}.process-art{max-width:360px}.studio-grid{grid-template-columns:1fr;gap:3rem}.studio-grid h2{font-size:clamp(2rem,7.5vw,4rem)}.studio-right{min-width:0}.studio-right>p{max-width:31ch;overflow-wrap:anywhere}.contact-content h2{font-size:clamp(3rem,10vw,6.3rem)}.contact-end{align-items:start;flex-direction:column}.contact-shape{width:45vw}.site-footer{padding-left:5vw;padding-right:5vw}}
@media(max-width:520px){.site-header .header-contact{display:none}.mobile-nav{top:68px}.work-card-media{aspect-ratio:1.3}.work-card-meta{min-height:245px}.service-row{padding:1.5rem 0}.service-row h3{font-size:1.55rem}.service-row p{font-size:.82rem}.services-heading p{font-size:1rem}.process-section,.services-section,.studio-section,.contact-section{padding-top:4rem;padding-bottom:5rem}.process-grid,.studio-grid{margin-top:3rem}.process-step{min-height:0;padding-bottom:2.5rem}.contact-section{min-height:600px}.contact-content{margin-top:4rem}.contact-end{margin-top:3rem}.footer-top{align-items:start;flex-direction:column;gap:2rem;padding-bottom:3rem}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{order:3;width:100%;margin-top:.8rem;flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.hero-title span{animation:title-rise .7s cubic-bezier(.16,1,.3,1) both}.hero-title span:last-child{animation-delay:.12s}.poster-zone{animation:poster-enter .9s cubic-bezier(.16,1,.3,1) .14s both}.hero-description,.hero-links{animation:copy-enter .65s ease .35s both}.will-reveal{opacity:0;transform:translateY(36px)}.work-heading,.featured-preview,.work-card,.services-heading,.service-row,.studio-grid,.contact-content,.case-copy-block,.case-image{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}}
@keyframes title-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes poster-enter{from{opacity:0;transform:translate(35px,45px) rotate(7deg)}to{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes copy-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.case-page{background:var(--paper)}
.case-hero{padding:2.2rem 5.8vw 5rem;overflow:hidden}
.case-luminodio .case-hero{background:#101011;color:#e5c579}
.case-sonora .case-hero{background:#811d38;color:#fff9ee}
.case-lokal .case-hero{background:#202020;color:#f4f2eb}
.case-hero-top{border-top:1px solid currentColor;display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.68rem;letter-spacing:.09em;font-weight:800;text-transform:uppercase}
.back-link{text-decoration:none;transition:transform .25s ease;display:inline-block}
.back-link:hover{transform:translateX(-5px)}
.case-hero-heading{margin:4.7rem 0 3.5rem}
.case-hero-heading .eyebrow{margin:0 0 1.7rem}
.case-hero-heading h1{font-family:var(--display);font-size:clamp(3.8rem,8.2vw,9rem);line-height:1.06;letter-spacing:-.06em;font-weight:900;margin:0;max-width:13ch;text-wrap:balance}
.case-luminodio .case-hero-heading h1{max-width:16ch}
.case-hero-heading>p:last-child{font-size:clamp(1.1rem,1.6vw,1.65rem);font-weight:700;max-width:35ch;margin:1.7rem 0 0;line-height:1.35}
.case-hero-media{display:block;position:relative;background:#151515;overflow:hidden;border:1px solid currentColor;aspect-ratio:16/8.5}
.case-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.case-luminodio .case-hero-media img{filter:brightness(1.38)}
.case-media-corner{position:absolute;top:1.1rem;right:1.1rem;width:3.8rem;height:3.8rem;background:var(--acid);color:var(--ink);display:grid;place-items:center;border-radius:50%;font-size:1.8rem}
.case-meta{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid currentColor;padding-top:1.7rem;gap:1.5rem}
.case-meta>div{padding:0 0 1.8rem}
.case-meta dt{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.6rem;opacity:.7}
.case-meta dd{margin:0;font-size:.85rem;font-weight:800;line-height:1.4}
.case-meta dd a{text-decoration-thickness:1px;text-underline-offset:.25rem}
.case-story{padding:8rem 5.8vw 9rem;background:var(--paper)}
.case-story-intro{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,.65fr);gap:6vw;align-items:start;border-top:1px solid var(--ink);padding-top:1.2rem}
.case-story-intro>span,.case-copy-block>span,.case-path>span,.case-image-caption>span,.case-statement>span{font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.case-story-intro>p{font-family:var(--display);font-size:clamp(1.7rem,3.2vw,3.4rem);letter-spacing:-.07em;line-height:1.2;margin:0;max-width:31ch}
.case-story-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,.35fr);gap:10vw;margin-top:9rem}
.case-copy-block{border-top:1px solid var(--ink);padding-top:1.2rem}
.case-copy-block h2{font-family:var(--display);font-size:clamp(2.3rem,4vw,4rem);line-height:1.05;letter-spacing:-.09em;margin:2.5rem 0}
.case-copy-block p{font-size:1rem;line-height:1.65;max-width:43ch;margin:0 0 1.5rem}
.case-path{background:var(--acid);color:var(--ink);padding:1.65rem 1.8rem;align-self:start;transform:rotate(3deg);box-shadow:14px 17px 0 var(--ink)}
.case-path>span{color:var(--ink)}
.case-path ol{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--ink)}
.case-path li{display:flex;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--ink);font-weight:800;font-size:.93rem}
.case-path li span{font-family:var(--display);font-size:.68rem;padding-top:.2rem}
.case-image-band{padding:5rem 5.8vw 7rem;background:var(--blue);color:white}
.case-sonora .case-image-band{background:#811d38}
.case-lokal .case-image-band{background:#202020}
.case-image{border:1px solid rgba(255,255,255,.35);overflow:hidden;aspect-ratio:16/9;background:#111}
.case-image img{height:100%;width:100%;object-fit:cover}
.case-image-caption{display:flex;align-items:start;justify-content:space-between;gap:3rem;margin-top:1.8rem}
.case-image-caption>span{color:var(--acid)}
.case-image-caption p{max-width:46ch;margin:0;font-size:1.05rem;font-weight:600;line-height:1.6}
.case-statement{display:grid;grid-template-columns:minmax(0,.35fr) minmax(0,.65fr);gap:6vw;padding:6rem 5.8vw;background:#dfc075;color:#171817}
.case-statement>span{color:var(--ink)}
.case-statement p{font-family:var(--display);font-size:clamp(1.8rem,3.8vw,4.1rem);letter-spacing:-.07em;line-height:1.17;margin:0}
.case-next{background:var(--acid);padding:6rem 5.8vw 7rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.8rem}
.case-next>span{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.case-next>a:nth-child(2){font-family:var(--display);font-size:clamp(2.8rem,6vw,6.6rem);line-height:1.07;letter-spacing:-.095em;font-weight:800;text-decoration:none;max-width:15ch;transition:transform .3s ease}
.case-next>a:nth-child(2):hover{transform:translateX(8px)}
.case-next>a:nth-child(2) span{font-family:var(--body);font-size:.65em;font-weight:400}
.case-next-contact{border-bottom:1px solid var(--ink);padding:.6rem 0;font-weight:800;text-decoration:none;margin-top:1rem}
@media(max-width:780px){.case-hero{padding-left:5vw;padding-right:5vw}.case-hero-heading{margin:3rem 0 2rem}.case-hero-heading h1{font-size:clamp(3.2rem,10vw,6rem)}.case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.case-story{padding:5rem 5vw 6rem}.case-story-grid{gap:3rem;margin-top:5rem}.case-image-band,.case-statement,.case-next{padding-left:5vw;padding-right:5vw}.case-path{transform:rotate(2deg)}.case-image-caption{gap:1.2rem}}
@media(max-width:520px){.case-hero{padding-top:1.2rem;padding-bottom:3rem}.case-hero-top{font-size:.58rem}.case-hero-top>span{white-space:nowrap}.case-hero-heading{margin:2.5rem 0}.case-hero-heading h1{font-size:clamp(2.7rem,10.8vw,4.5rem);overflow-wrap:normal}.case-hero-heading>p:last-child{font-size:1rem}.case-hero-media{aspect-ratio:1.14}.case-hero-media img{object-fit:cover}.case-sonora .case-hero-media img,.case-lokal .case-hero-media img{object-position:left center}.case-meta{gap:1rem;padding-top:1.2rem}.case-meta>div{padding-bottom:1.2rem}.case-meta dt{font-size:.58rem}.case-meta dd{font-size:.75rem}.case-story-intro,.case-story-grid,.case-statement{display:block}.case-story-intro>p{margin-top:2rem;font-size:1.55rem}.case-story-grid{margin-top:4rem}.case-copy-block h2{margin:1.8rem 0}.case-path{margin:3rem .4rem 0}.case-image-band{padding-top:4rem;padding-bottom:4rem}.case-image{aspect-ratio:1.14}.case-image-caption{display:block}.case-image-caption p{margin-top:1rem;font-size:.92rem}.case-statement{padding-top:4rem;padding-bottom:4rem}.case-statement p{font-size:1.8rem;margin-top:1.8rem}.case-next{padding-top:4rem;padding-bottom:5rem}.case-next>a:nth-child(2){font-size:clamp(2.4rem,10vw,4rem)}}
