@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#e30613;--ink:#111;--muted:#747474;--line:#dedede;--paper:#f7f7f5;--white:#fff;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif;--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:100%;object-fit:cover}.mono,.eyebrow,.nav,.project-meta,.stage-number,.footer-small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;font-size:11px}.topbar{height:78px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:18px;min-width:170px}.brand img{width:145px;height:auto;object-fit:contain}.brand-note{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#777}.nav{display:flex;align-items:center;gap:clamp(16px,3vw,44px)}.nav a{transition:color .2s}.nav a:hover{color:var(--red)}.menu-toggle{display:none;border:0;background:transparent;font-size:25px}.hero{min-height:min(760px,calc(100svh - 78px));padding:clamp(56px,8vw,120px) var(--pad) 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:var(--paper)}.hero:after{content:'R';position:absolute;right:-.04em;bottom:-.34em;font-weight:800;font-size:clamp(300px,54vw,820px);line-height:1;color:rgba(227,6,19,.035);pointer-events:none}.hero-top{position:relative;z-index:1;max-width:1250px}.eyebrow{color:var(--red);margin:0 0 25px}.hero h1{font-size:clamp(48px,8.7vw,136px);line-height:.98;letter-spacing:-.075em;font-weight:600;max-width:1200px;margin:0}.typing{color:var(--red);display:inline-block;min-width:1ch}.typing:after{content:'';display:inline-block;height:.72em;border-right:2px solid var(--red);margin-left:5px;animation:blink .8s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;position:relative;z-index:1;margin-top:70px}.hero-intro{max-width:520px;font-size:clamp(16px,1.7vw,22px);line-height:1.65}.hero-intro p{margin:0}.hero-links{display:flex;gap:12px;flex-wrap:wrap}.button{border:1px solid var(--ink);padding:14px 20px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;transition:all .2s;cursor:pointer;background:transparent}.button:hover{background:var(--ink);color:white}.button.red{background:var(--red);color:white;border-color:var(--red)}.button.red:hover{background:#b9000b}.section{padding:clamp(64px,8vw,120px) var(--pad)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-head h2{font-size:clamp(36px,5vw,72px);letter-spacing:-.065em;line-height:1;margin:0;font-weight:600}.section-head p{color:var(--muted);font-size:14px;max-width:380px;line-height:1.7;margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.filter{border:1px solid var(--line);background:white;padding:10px 14px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.5vw,22px)}.project-card{grid-column:span 4;min-width:0}.project-card.wide{grid-column:span 8}.project-card.tall .project-image{aspect-ratio: .82}.project-card.wide .project-image{aspect-ratio:1.55}.project-card:not(.wide):not(.tall) .project-image{aspect-ratio:1.1}.project-image{overflow:hidden;background:#e8e8e8;position:relative}.project-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1);filter:saturate(.92)}.project-card:hover .project-image img{transform:scale(1.035)}.project-image:after{content:'VER PROYECTO ↗';position:absolute;right:14px;bottom:14px;background:white;color:#111;padding:10px 12px;font:10px var(--mono);letter-spacing:.06em;opacity:0;transform:translateY(5px);transition:.25s}.project-card:hover .project-image:after{opacity:1;transform:none}.project-info{padding:14px 0 18px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.project-title{font-size:clamp(17px,1.8vw,24px);letter-spacing:-.045em;margin:4px 0 0;font-weight:600}.project-meta{color:var(--muted);font-size:10px;line-height:1.7}.project-number{color:var(--red);font-family:var(--mono);font-size:11px}.stats{background:var(--ink);color:white;padding:clamp(45px,6vw,86px) var(--pad);display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat{border-top:1px solid #555;padding-top:20px}.stat-number{font-size:clamp(44px,7vw,96px);line-height:1;letter-spacing:-.08em;font-weight:500}.stat-label{font:11px var(--mono);text-transform:uppercase;color:#aaa;margin-top:15px;letter-spacing:.06em}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,120px)}.about-grid h2{font-size:clamp(35px,5vw,68px);line-height:1.04;letter-spacing:-.07em;margin:0}.about-copy{font-size:16px;line-height:1.8;max-width:620px}.about-copy p{margin:0 0 18px}.service-list{border-top:1px solid var(--line);margin-top:30px}.service-row{display:grid;grid-template-columns:60px 1fr auto;gap:18px;padding:19px 0;border-bottom:1px solid var(--line);align-items:center}.service-row span:first-child{font:11px var(--mono);color:var(--red)}.service-row strong{font-size:16px;font-weight:500}.service-row small{color:var(--muted);font:10px var(--mono);text-transform:uppercase}.contact{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact h2{font-size:clamp(45px,7vw,96px);line-height:.95;letter-spacing:-.075em;margin:0}.contact p{line-height:1.7;max-width:450px}.contact-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.contact-form{display:grid;gap:14px}.field{display:grid;gap:8px}.field label{font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em}.field input,.field textarea,.field select{border:1px solid #cfcfcf;background:transparent;padding:14px 12px;border-radius:0;outline:none;width:100%}.field input:focus,.field textarea:focus{border-color:var(--red)}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:11px;color:var(--muted);line-height:1.6}.footer{background:#111;color:white;padding:35px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:24px}.footer img{width:125px;height:auto;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)}.footer-small{color:#aaa;font-size:10px}.footer-links{display:flex;gap:20px;font:10px var(--mono);text-transform:uppercase}.page-hero{padding:clamp(54px,8vw,110px) var(--pad) 35px;background:var(--paper)}.back-link{font:11px var(--mono);text-transform:uppercase;color:var(--muted);display:inline-flex;gap:10px;margin-bottom:50px}.page-hero h1{font-size:clamp(48px,8vw,120px);letter-spacing:-.075em;line-height:.95;margin:0;max-width:1150px;font-weight:600}.page-lede{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px;align-items:end}.page-lede p{font-size:clamp(16px,1.7vw,22px);line-height:1.6;max-width:650px;margin:0}.page-services{font:11px var(--mono);text-transform:uppercase;line-height:2;color:var(--muted)}.project-hero-image{height:clamp(320px,65vw,780px);background:#eee}.project-hero-image img{object-position:center}.process{padding:clamp(65px,8vw,120px) var(--pad)}.process-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:45px}.process-heading h2{font-size:clamp(35px,5vw,68px);letter-spacing:-.07em;margin:0}.process-heading p{max-width:350px;color:var(--muted);font-size:13px;line-height:1.7}.stage{display:grid;grid-template-columns:100px minmax(220px,.8fr) 1.2fr;gap:30px;border-top:1px solid var(--line);padding:28px 0 38px;align-items:start}.stage-number{color:var(--red);padding-top:6px}.stage h3{font-size:clamp(21px,2.5vw,34px);line-height:1.15;letter-spacing:-.05em;margin:0 0 12px;font-weight:600}.stage p{font-size:13px;line-height:1.75;color:#666;margin:0;max-width:380px}.stage-image{aspect-ratio:1.5;overflow:hidden;background:#eee;position:relative}.stage-image img{transition:transform .5s}.stage-image:hover img{transform:scale(1.025)}.stage-caption{font:10px var(--mono);text-transform:uppercase;color:#888;margin-top:8px}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:25px}.detail-gallery button{border:0;padding:0;background:#eee;cursor:zoom-in;aspect-ratio:1.35;overflow:hidden}.detail-gallery img{transition:transform .4s}.detail-gallery button:hover img{transform:scale(1.04)}.next-project{padding:clamp(55px,8vw,100px) var(--pad);background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}.next-project small{font:11px var(--mono);color:#aaa;text-transform:uppercase}.next-project h2{font-size:clamp(35px,5vw,70px);letter-spacing:-.07em;margin:12px 0 0}.next-project .button{border-color:#666}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{width:auto;height:auto;max-width:92vw;max-height:84vh;object-fit:contain}.lightbox-close{position:absolute;top:20px;right:24px;color:white;background:transparent;border:0;font-size:32px;cursor:pointer}.lightbox-caption{position:absolute;bottom:20px;left:24px;color:white;font:11px var(--mono);text-transform:uppercase}.mobile-note{display:none}
@media(max-width:800px){.topbar{height:66px}.brand img{width:120px}.brand-note{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:22px var(--pad);flex-direction:column;align-items:flex-start;gap:22px}.nav.open{display:flex}.hero{min-height:calc(90svh - 66px);padding-top:65px}.hero h1{font-size:clamp(47px,12vw,88px)}.hero-bottom{align-items:flex-start;flex-direction:column;gap:25px;margin-top:60px}.section-head{align-items:flex-start;flex-direction:column}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.project-card,.project-card.wide{grid-column:span 1}.project-card.wide .project-image,.project-card:not(.wide):not(.tall) .project-image{aspect-ratio:.88}.project-card.tall .project-image{aspect-ratio:.88}.project-title{font-size:17px}.project-image:after{opacity:1;transform:none;right:8px;bottom:8px;font-size:8px;padding:8px}.stats{grid-template-columns:repeat(2,1fr);gap:32px 20px}.about-grid,.contact-layout{grid-template-columns:1fr;gap:28px}.page-lede{grid-template-columns:1fr;gap:22px}.stage{grid-template-columns:42px 1fr;gap:14px}.stage-content{grid-column:2}.stage-media{grid-column:2}.stage-image{aspect-ratio:1.25}.process-heading{align-items:flex-start;flex-direction:column}.footer{align-items:flex-start;flex-direction:column}.next-project{align-items:flex-start;flex-direction:column}.detail-gallery{gap:8px}.back-link{margin-bottom:36px}}
@media(max-width:420px){.project-grid{grid-template-columns:1fr}.project-card.wide .project-image,.project-card:not(.wide):not(.tall) .project-image,.project-card.tall .project-image{aspect-ratio:1.12}.stats{padding-top:45px;padding-bottom:45px}.stat-number{font-size:54px}.service-row{grid-template-columns:32px 1fr}.service-row small{grid-column:2}.hero-links .button{flex:1}.detail-gallery{grid-template-columns:1fr}}

/* Rudibus Model Making & Prototyping portfolio update */
.project-overlay{position:absolute;right:14px;bottom:14px;background:#fff;color:#111;padding:10px 12px;font:10px var(--mono);letter-spacing:.06em;opacity:0;transform:translateY(5px);transition:.25s}.project-card:hover .project-overlay{opacity:1;transform:none}.project-subtitle{font:10px var(--mono);text-transform:uppercase;color:var(--muted);margin-top:8px;line-height:1.5}.hero-footnote{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px;margin-top:45px;position:relative;z-index:1;font:10px var(--mono);letter-spacing:.08em;color:var(--muted)}.gallery-heading{margin:85px 0 24px}.gallery-heading h2{font-size:clamp(35px,5vw,68px);letter-spacing:-.07em;margin:0 0 12px}.gallery-heading>p:last-child{max-width:650px;color:var(--muted);line-height:1.7;font-size:13px}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px}.gallery-tile{position:relative;display:block;aspect-ratio:1.2;padding:0;border:0;background:#eee;overflow:hidden;cursor:zoom-in;text-align:left}.gallery-tile img{transition:transform .45s}.gallery-tile:hover img{transform:scale(1.04)}.gallery-tile span{position:absolute;left:0;right:0;bottom:0;padding:35px 12px 12px;color:white;font:10px var(--mono);text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.72))}.gallery-instructions{font:10px var(--mono);color:var(--muted);margin-top:16px;line-height:1.7}.project-card a:focus-visible,.gallery-tile:focus-visible,.stage-image:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:800px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-footnote{font-size:8px}.gallery-heading{margin-top:60px}}@media(max-width:420px){.project-gallery{grid-template-columns:1fr}.hero-footnote{flex-direction:column;gap:8px}}

/* Portfolio grid: deliberate mix of landscape and portrait imagery */
.project-grid{grid-auto-flow:row dense;align-items:start;gap:clamp(22px,2.2vw,34px) clamp(12px,1.5vw,22px)}
.project-card.wide{grid-column:span 7}.project-card.tall{grid-column:span 5}.project-card:nth-child(3n){grid-column:span 4}.project-card:nth-child(3n) .project-image{aspect-ratio:1.02}.project-card:nth-child(4n+2) .project-image{aspect-ratio:.78}.project-card:nth-child(4n+1) .project-image{aspect-ratio:1.48}.project-card.wide .project-image{aspect-ratio:1.58}.project-card.tall .project-image{aspect-ratio:.82}
.clients-section{padding:clamp(58px,7vw,100px) var(--pad);background:#f0f0ed;border-top:1px solid var(--line)}.clients-head{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;align-items:end;margin-bottom:42px}.clients-head .eyebrow{grid-column:1/-1;margin:0}.clients-head h2{font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.065em;margin:0}.clients-head>p:last-child{max-width:390px;justify-self:end;color:var(--muted);font-size:13px;line-height:1.7;margin:0}.client-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-top:1px solid #deded8;border-left:1px solid #deded8}.client-logo{height:145px;padding:24px;display:flex;align-items:center;justify-content:center;border-right:1px solid #deded8;border-bottom:1px solid #deded8;min-width:0;filter:grayscale(1);transition:filter .25s,background .25s}.client-logo:hover{filter:grayscale(0);background:#fff}.client-logo img{width:100%;height:100%;max-width:230px;max-height:76px;object-fit:contain}.clients-note{font-size:10px;line-height:1.6;color:#777;margin:16px 0 0}
@media(max-width:800px){.project-card.wide,.project-card.tall,.project-card:nth-child(3n){grid-column:span 1}.project-card.wide .project-image,.project-card.tall .project-image,.project-card:nth-child(3n) .project-image{aspect-ratio:.9}.clients-head{grid-template-columns:1fr;gap:16px}.clients-head .eyebrow{grid-column:auto}.clients-head>p:last-child{justify-self:start}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.client-logo{height:115px;padding:16px}}
@media(max-width:420px){.project-card.wide .project-image,.project-card.tall .project-image,.project-card:nth-child(3n) .project-image{aspect-ratio:1.05}.client-logo{height:100px;padding:12px}}


/* PORTFOLIO EDITORIAL — referencia de galería de estudio */
#proyectos.section{padding:0 0 clamp(56px,7vw,100px)}
#proyectos .section-head{padding:clamp(52px,7vw,100px) var(--pad) 32px;margin-bottom:0}
#proyectos .section-head p:last-child{max-width:430px}
#proyectos .editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;grid-auto-flow:dense;gap:8px;margin:0}
#proyectos .editorial-grid .project-card{grid-column:span 1;min-width:0;position:relative;overflow:hidden;margin:0}
#proyectos .editorial-grid .project-card:nth-child(1){grid-row:span 38}
#proyectos .editorial-grid .project-card:nth-child(2){grid-row:span 47}
#proyectos .editorial-grid .project-card:nth-child(3){grid-row:span 34}
#proyectos .editorial-grid .project-card:nth-child(4){grid-row:span 43}
#proyectos .editorial-grid .project-card:nth-child(5){grid-row:span 35}
#proyectos .editorial-grid .project-card:nth-child(6){grid-row:span 45}
#proyectos .editorial-grid .project-card:nth-child(7){grid-row:span 37}
#proyectos .editorial-grid .project-card:nth-child(8){grid-row:span 32}
#proyectos .editorial-grid .project-card:nth-child(9){grid-row:span 42}
#proyectos .editorial-grid .project-card:nth-child(10){grid-row:span 34}
#proyectos .editorial-grid .project-card>a{height:100%;display:block;position:relative;overflow:hidden}
#proyectos .editorial-grid .project-image{position:absolute;inset:0;height:100%;aspect-ratio:auto;background:#eee}
#proyectos .editorial-grid .project-image img{height:100%;width:100%;object-fit:cover;filter:none;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
#proyectos .editorial-grid .project-card:hover .project-image img{transform:scale(1.035)}
#proyectos .editorial-grid .project-overlay{display:none}
#proyectos .editorial-grid .project-info{position:absolute;left:0;right:0;bottom:0;padding:58px 18px 17px;margin:0;align-items:flex-end;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
#proyectos .editorial-grid .project-card:hover .project-info,#proyectos .editorial-grid .project-card:focus-within .project-info{opacity:1;transform:none}
#proyectos .editorial-grid .project-title{font-size:clamp(16px,1.5vw,22px);color:#fff;margin:0}
#proyectos .editorial-grid .project-subtitle{color:rgba(255,255,255,.78);font-size:9px}
#proyectos .editorial-grid .project-number{color:#fff;white-space:nowrap}
#proyectos .editorial-grid .project-image:after{display:none}
#proyectos .editorial-grid .project-card:nth-child(3n+1) .project-image img{object-position:center}
#proyectos .editorial-grid .project-card:nth-child(4n+2) .project-image img{object-position:center 35%}
#proyectos .editorial-grid .project-card:nth-child(4n+3) .project-image img{object-position:center 45%}
@media(max-width:800px){
 #proyectos.section{padding-bottom:58px}
 #proyectos .section-head{padding:60px var(--pad) 26px}
 #proyectos .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:7px;gap:6px}
 #proyectos .editorial-grid .project-card:nth-child(n){grid-column:span 1;grid-row:span 34}
 #proyectos .editorial-grid .project-card:nth-child(3n+2){grid-row:span 42}
 #proyectos .editorial-grid .project-info{padding:48px 12px 12px;opacity:1;transform:none}
 #proyectos .editorial-grid .project-title{font-size:16px}
 #proyectos .editorial-grid .project-subtitle{font-size:8px}
 #proyectos .editorial-grid .project-number{font-size:9px}
}
@media(max-width:420px){
 #proyectos .editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;grid-auto-rows:6px}
 #proyectos .editorial-grid .project-card:nth-child(n){grid-row:span 30}
 #proyectos .editorial-grid .project-card:nth-child(3n+2){grid-row:span 37}
 #proyectos .editorial-grid .project-info{padding:38px 9px 9px}
 #proyectos .editorial-grid .project-title{font-size:14px}
}

/* Iconografía minimalista del proceso */
.process .stage-content h3{display:flex;align-items:center;gap:12px}.process-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #d8d8d8;border-radius:50%;color:#222}.process-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}#servicios .service-row{grid-template-columns:60px minmax(0,1fr) minmax(160px,.7fr)}#servicios .service-row small{max-width:300px;line-height:1.5}@media(max-width:650px){#servicios .service-row{grid-template-columns:34px 1fr}#servicios .service-row small{grid-column:2}}


/* Movimiento e interacciones editoriales */
:root{scroll-behavior:smooth;scroll-padding-top:90px}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--red);z-index:200;transition:width .08s linear}
.topbar{transition:background .25s,box-shadow .25s,transform .25s}
.topbar.scrolled{background:rgba(255,255,255,.9);backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(0,0,0,.06)}
.project-card{transform:translateY(0);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .35s}
.project-card:hover{transform:translateY(-5px)}
.project-card .project-image img{will-change:transform}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s,background .25s,color .25s,border-color .25s}
.button:before{content:"";position:absolute;inset:0;background:var(--red);transform:translateX(-102%);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:-1}
.button:hover:before{transform:translateX(0)}.button:hover{color:#fff;border-color:var(--red);transform:translateY(-2px)}
.hero h1{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}.hero-intro{animation:heroIn .9s .12s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.modelshop{position:relative;overflow:hidden;background:#151515;color:#fff;padding:clamp(65px,9vw,130px) var(--pad)}
.shop-wrap{max-width:1500px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,7vw,100px);align-items:center;position:relative;z-index:1}
.shop-copy .eyebrow{color:#ff4650}.shop-copy h2{font-size:clamp(45px,7vw,100px);line-height:.91;letter-spacing:-.08em;font-weight:600;margin:0 0 25px}.shop-copy h2 span{color:#ff4650}.shop-copy>p:not(.eyebrow){color:#bcbcbc;max-width:440px;line-height:1.8;font-size:14px;margin:0 0 28px}.shop-cta{background:var(--red);border-color:var(--red);color:#fff}.shop-meta{display:flex;gap:25px;flex-wrap:wrap;margin-top:55px;padding-top:16px;border-top:1px solid #444;font:10px var(--mono);letter-spacing:.08em;color:#aaa}
.shop-art{min-height:390px;aspect-ratio:1.1;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#393939 0,transparent 42%),linear-gradient(135deg,#242424,#080808);border:1px solid #444;color:#fff;transition:transform .5s,border-color .4s}.shop-art:hover{transform:translateY(-6px);border-color:#ff4650}.shop-art:before,.shop-art:after{content:"";position:absolute;width:58%;aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-8%;top:8%;transition:transform .7s}.shop-art:after{width:42%;right:0;top:17%;border-color:rgba(227,6,19,.55)}.shop-art:hover:before{transform:scale(1.15) rotate(25deg)}.shop-art:hover:after{transform:scale(.9) rotate(-25deg)}.shop-art-grid{display:flex;justify-content:space-between;align-items:flex-start;padding:28px;position:relative;z-index:1}.shop-art-grid span:first-child{font-size:clamp(120px,22vw,300px);font-weight:800;letter-spacing:-.13em;line-height:.8;color:#e30613}.shop-art-grid span:nth-child(2){font:11px var(--mono);line-height:1.6;letter-spacing:.12em;text-align:right}.shop-art-grid span:nth-child(3){position:absolute;left:28px;bottom:10px;font:9px var(--mono);letter-spacing:.1em;color:#aaa}.shop-art-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:22px 28px;border-top:1px solid #444;position:relative;z-index:1}.shop-art-bottom strong{font-size:clamp(15px,2vw,23px);letter-spacing:-.04em;font-weight:500}.shop-art-bottom span{font:10px var(--mono);white-space:nowrap;color:#ff4650}
.back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:0;border-radius:50%;background:var(--red);color:white;font-size:20px;z-index:80;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s,background .25s}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.back-top:hover{background:#111}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}[data-reveal].revealed{opacity:1;transform:none}
@media(max-width:800px){.shop-wrap{grid-template-columns:1fr;gap:28px}.shop-art{min-height:300px;aspect-ratio:1.25}.shop-meta{margin-top:32px}.shop-art-grid span:first-child{font-size:clamp(150px,45vw,260px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}.hero h1,.hero-intro{animation:none}}

/* Language switch */
.language-toggle{appearance:none;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:11px;letter-spacing:.08em;padding:9px 11px;cursor:pointer;margin-left:8px;min-width:42px;transition:background .2s,color .2s,border-color .2s}
.language-toggle:hover,.language-toggle:focus-visible{background:var(--red,#e30613);color:#fff;border-color:var(--red,#e30613)}
@media(max-width:760px){.language-toggle{margin:12px 0 0;align-self:flex-start}}


/* PROJECT CASE PAGES — simplified editorial redesign */
.case-page{background:#fff;color:var(--ink)}
.case-intro{padding:clamp(28px,4vw,58px) var(--pad) clamp(38px,5vw,72px);background:var(--paper)}
.case-intro .back-link{margin:0 0 clamp(35px,5vw,70px);display:inline-flex}
.case-kicker{display:flex;justify-content:space-between;gap:20px;padding:0 0 16px;border-bottom:1px solid var(--line);font:10px var(--mono);letter-spacing:.08em;color:var(--muted)}
.case-intro h1{font-size:clamp(48px,9vw,124px);line-height:.94;letter-spacing:-.08em;font-weight:600;margin:clamp(24px,4vw,48px) 0 0;max-width:1250px;overflow-wrap:anywhere}
.case-dot{color:var(--red)}
.case-intro-bottom{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:36px;align-items:end;margin-top:clamp(24px,4vw,44px)}
.case-description{font-size:clamp(16px,1.65vw,21px);line-height:1.65;max-width:690px;margin:0;color:#333}
.case-tags{display:grid;gap:8px;font:10px/1.7 var(--mono);letter-spacing:.045em;text-transform:uppercase;color:var(--muted)}
.case-cover{margin:0;position:relative;background:#e9e9e6;min-height:260px;height:clamp(300px,56vw,700px);overflow:hidden}
.case-cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.case-cover figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px var(--pad) 18px;display:flex;justify-content:space-between;gap:16px;color:#fff;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.case-process{padding:clamp(60px,8vw,108px) var(--pad)}
.case-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:36px;align-items:end;margin-bottom:clamp(30px,5vw,58px)}
.case-section-head .eyebrow{margin:0 0 20px}
.case-section-head h2{font-size:clamp(42px,6.6vw,82px);line-height:.97;letter-spacing:-.075em;font-weight:600;margin:0}
.case-section-head>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:360px;margin:0 0 5px}
.case-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,52px) clamp(16px,2.4vw,34px)}
.case-step{min-width:0;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column}
.case-step-image{aspect-ratio:1.42;background:#eee;overflow:hidden}
.case-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}
.case-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.case-image-button:hover img{transform:scale(1.025)}
.case-step-copy{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:14px;padding-top:18px;align-items:start}
.case-step-number{font:10px var(--mono);color:var(--red);padding-top:5px}
.case-step-copy h3{font-size:clamp(19px,2vw,26px);line-height:1.15;letter-spacing:-.045em;font-weight:600;margin:0 0 9px}
.case-step-copy p{grid-column:2;color:var(--muted);font-size:13px;line-height:1.7;max-width:440px;margin:0}
.case-navigation{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 var(--pad)}
.case-navigation>a{padding:25px 0 28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.case-navigation>a+ a{border-left:1px solid var(--line);padding-left:clamp(18px,3vw,42px);text-align:right;align-items:flex-end}
.case-navigation span{font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.case-navigation strong{font-size:clamp(17px,2.5vw,28px);font-weight:600;letter-spacing:-.045em;overflow-wrap:anywhere}
.case-contact{padding:clamp(55px,7vw,92px) var(--pad);display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--paper);margin-top:clamp(45px,7vw,88px)}
.case-contact .eyebrow{margin:0 0 14px}
.case-contact h2{font-size:clamp(42px,6vw,76px);line-height:.95;letter-spacing:-.075em;margin:0;font-weight:600}
.case-contact .button{flex-shrink:0}
.case-page+.lightbox{cursor:zoom-out}
.case-page~.lightbox .lightbox-caption{left:var(--pad);right:var(--pad);text-align:left}
@media(max-width:760px){.case-intro-bottom,.case-section-head{grid-template-columns:1fr;gap:22px}.case-tags{padding-top:16px;border-top:1px solid var(--line)}.case-steps{grid-template-columns:1fr;gap:30px}.case-step-image{aspect-ratio:1.28}.case-step-copy{grid-template-columns:48px minmax(0,1fr)}.case-contact{align-items:flex-start;flex-direction:column}.case-navigation strong{max-width:95%}.case-cover{height:clamp(280px,72vw,520px)}}
@media(max-width:420px){.case-kicker{font-size:8px}.case-intro h1{font-size:clamp(43px,12vw,62px)}.case-cover figcaption{font-size:8px}.case-navigation>a{padding:20px 0}.case-navigation strong{font-size:17px}.case-step-copy{grid-template-columns:40px minmax(0,1fr);column-gap:10px}}
@media(prefers-reduced-motion:reduce){.case-image-button img{transition:none}}

/* Rediseño limpio de páginas de proyecto — español únicamente */
.case-page{max-width:none;background:#fff;overflow:hidden}
.case-intro{background:#fff;padding:28px clamp(22px,6vw,88px) 42px}
.case-intro .back-link{font-size:12px;color:#666;margin:0 0 36px;gap:8px}
.case-intro .back-link:hover{color:var(--red)}
.case-kicker{border:0;border-top:1px solid #e8e8e8;padding:14px 0 0;font-size:9px;color:#777}
.case-intro h1{font-size:clamp(44px,7vw,92px);line-height:1.02;letter-spacing:-.065em;max-width:1000px;margin:24px 0 0;overflow-wrap:normal}
.case-intro-bottom{display:block;margin-top:18px;max-width:760px}
.case-description{font-size:clamp(15px,1.45vw,18px);line-height:1.65;color:#555;max-width:720px}
.case-tags{display:none}
.case-cover{height:clamp(280px,47vw,620px);min-height:0;margin:0 clamp(12px,2vw,28px);background:#f1f1ef;border-radius:2px}
.case-cover img{object-fit:cover;object-position:center}
.case-cover figcaption{padding:32px clamp(16px,3vw,40px) 14px;font-size:9px;background:linear-gradient(transparent,rgba(0,0,0,.42))}
.case-process{padding:clamp(54px,7vw,88px) clamp(22px,6vw,88px) 64px}
.case-section-head{grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:28px;margin-bottom:32px;align-items:end}
.case-section-head .eyebrow{font-size:9px;margin-bottom:13px}
.case-section-head h2{font-size:clamp(36px,4.7vw,60px);line-height:1.02;letter-spacing:-.06em}
.case-section-head>p{font-size:13px;line-height:1.7;max-width:320px}
.case-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}
.case-step{border-top:1px solid #e5e5e5;padding-top:10px}
.case-step-image{aspect-ratio:1.55;background:#f3f3f3}
.case-image-button{cursor:zoom-in}
.case-image-button img{transition:transform .25s ease}
.case-step-copy{grid-template-columns:44px minmax(0,1fr);column-gap:10px;padding-top:15px}
.case-step-number{font-size:9px;padding-top:3px}
.case-step-copy h3{font-size:clamp(17px,1.7vw,22px);line-height:1.2;letter-spacing:-.035em;margin-bottom:6px}
.case-step-copy p{font-size:12px;line-height:1.65;color:#666}
.case-navigation{margin:0 clamp(22px,6vw,88px);border-color:#e5e5e5}
.case-navigation>a{padding:22px 0}
.case-navigation span{font-size:9px}
.case-navigation strong{font-size:clamp(16px,2vw,24px)}
.case-contact{margin-top:50px;padding:clamp(34px,5vw,60px) clamp(22px,6vw,88px);background:#f6f6f4;align-items:center}
.case-contact .eyebrow{font-size:9px;margin-bottom:10px}
.case-contact h2{font-size:clamp(36px,5vw,60px);letter-spacing:-.065em;line-height:1}
.case-contact .button{padding:13px 17px;font-size:10px}
.case-page~.lightbox{z-index:100}
.footer{margin-top:0}
@media(max-width:700px){
 .case-intro{padding:22px 20px 30px}.case-intro .back-link{margin-bottom:30px}.case-kicker{font-size:8px}.case-intro h1{font-size:clamp(40px,10vw,62px);margin-top:20px}.case-intro-bottom{margin-top:14px}.case-description{font-size:15px}.case-cover{margin:0 8px;height:clamp(250px,70vw,430px)}.case-cover figcaption{font-size:8px;padding:28px 14px 12px}.case-process{padding:50px 20px 45px}.case-section-head{grid-template-columns:1fr;gap:12px;margin-bottom:25px}.case-section-head h2{font-size:clamp(36px,9vw,54px)}.case-section-head>p{max-width:500px}.case-steps{grid-template-columns:1fr;gap:25px}.case-step-image{aspect-ratio:1.45}.case-step-copy{grid-template-columns:42px minmax(0,1fr)}.case-step-copy h3{font-size:20px}.case-navigation{margin:0 20px}.case-navigation>a{padding:18px 0}.case-navigation>a+a{padding-left:14px}.case-contact{margin-top:36px;padding:35px 20px;gap:22px}.case-contact h2{font-size:44px}.case-contact .button{width:100%;max-width:320px}.footer{padding:28px 20px;gap:18px}.footer-links{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.case-image-button img{transition:none}}

/* Campo señuelo invisible del formulario de contacto */
.form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
