:root{--red:#f20d2f;--ink:#0a0a0a;--paper:#f7f4ee;--muted:#ada9a3;--line:rgba(255,255,255,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid rgba(255,255,255,.09)}.brand img{width:184px;filter:brightness(0) invert(1)}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}nav>a{transition:.25s}nav>a:hover{color:var(--red)}.nav-cta{border:1px solid var(--red);padding:12px 20px;border-radius:999px}.menu{display:none;background:none;border:0;color:white}.hero{min-height:760px;padding:145px 5vw 74px;display:grid;grid-template-columns:1.02fr .98fr;gap:5vw;align-items:center;position:relative;background:radial-gradient(circle at 70% 35%,rgba(242,13,47,.15),transparent 25%),linear-gradient(135deg,#0a0a0a,#101010 70%,#090909)}.hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:50px 50px;mask-image:linear-gradient(to bottom,black,transparent)}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow,.kicker{text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:2px;background:var(--red)}h1,h2,h3{font-family:Sora,sans-serif;margin:0}h1{font-size:clamp(56px,7vw,104px);line-height:.91;letter-spacing:-.065em;margin:24px 0 30px}em{font-style:normal;color:var(--red)}.lead{font-size:18px;line-height:1.65;color:#cac7c1;max-width:610px}.hero-actions{display:flex;gap:13px;margin:34px 0 46px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 23px;border-radius:4px;font-weight:700;font-size:14px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:white;box-shadow:0 14px 30px rgba(242,13,47,.2)}.btn-ghost{border:1px solid rgba(255,255,255,.23)}.proof{display:flex;gap:35px}.proof div{display:grid}.proof strong{font:800 28px Sora;color:white}.proof span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8e8b87}.hero-visual{max-width:610px;justify-self:end}.image-frame{transform:rotate(1.5deg);border:1px solid rgba(255,255,255,.15);padding:8px;background:#111;box-shadow:0 35px 80px #000;overflow:hidden}.image-frame img{width:100%;aspect-ratio:3/4;object-fit:cover}.floating-note{position:absolute;left:-42px;bottom:32px;background:var(--paper);color:var(--ink);padding:15px 19px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;transform:rotate(-3deg);box-shadow:0 14px 35px #000}.floating-note span{color:var(--red)}.trust-strip{display:flex;align-items:center;justify-content:space-around;gap:22px;padding:22px 5vw;background:var(--red);font:700 13px Sora;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;overflow:hidden}.trust-strip i{font-style:normal;color:#350108}.section{padding:110px 5vw}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:54px}.section-heading h2,.process h2,.delivery h2,.cta h2{font-size:clamp(38px,4.3vw,68px);line-height:1.02;letter-spacing:-.045em}.section-heading>p{max-width:470px;color:#aaa7a2;line-height:1.7}.kicker{color:var(--red);margin:0 0 17px}.services{background:var(--paper);color:var(--ink)}.services .section-heading>p{color:#666}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d6d1ca;border:1px solid #d6d1ca}.service-grid article{padding:38px;background:var(--paper);min-height:330px;display:flex;flex-direction:column}.service-grid .featured{background:var(--ink);color:var(--paper);transform:translateY(-10px)}.service-number{font:800 12px Sora;color:var(--red);margin-bottom:55px}.service-grid h3{font-size:32px;margin-bottom:17px}.service-grid p{color:#6b6864;line-height:1.65}.service-grid .featured p{color:#aba8a2}.service-grid small{margin-top:auto;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:10px}.custom-note{margin-top:26px;border-top:1px solid #d6d1ca;border-bottom:1px solid #d6d1ca;padding:22px 0;display:grid;grid-template-columns:220px 1fr auto;gap:25px;align-items:center;font-size:14px}.custom-note span{color:#6b6864}.custom-note a{color:var(--red);font-weight:800}.work{background:#0d0d0d}.section-heading.compact{align-items:end}.gallery{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:410px 410px;gap:15px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#171717}.gallery img{width:100%;height:100%;object-fit:cover;transition:.6s}.gallery figure:hover img{transform:scale(1.035)}.gallery figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.86))}.gallery figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;display:grid;gap:6px}.gallery figcaption span{color:#ff7287;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.gallery figcaption b{font:700 17px Sora}.g1{grid-row:span 2}.g2{grid-column:span 2}.process{background:#131313;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.process-intro>p:last-child{color:#a3a09a;line-height:1.7;max-width:470px}.process ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:75px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.process li>span{color:var(--red);font:800 12px Sora;padding-top:5px}.process h3{font-size:20px}.process li p{color:#96938e;line-height:1.6;margin:9px 0 0}.delivery{padding:95px 5vw;background:var(--red);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.delivery .kicker{color:#320007}.delivery h2 em{color:var(--ink)}.delivery-data>div{padding:14px 0;border-bottom:1px solid rgba(0,0,0,.23);display:flex;justify-content:space-between;gap:20px}.delivery-data span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.delivery-data strong{text-align:right}.delivery-data p{font-size:12px;color:#45020c;line-height:1.6}.cta{text-align:center;padding:120px 5vw 130px;position:relative;background:radial-gradient(circle,rgba(242,13,47,.16),transparent 35%)}.cta-badge{font:800 clamp(95px,18vw,260px) Sora;letter-spacing:-.09em;color:rgba(255,255,255,.025);position:absolute;inset:45% 0 auto;transform:translateY(-50%);white-space:nowrap;overflow:hidden}.cta-badge span{color:rgba(242,13,47,.08)}.cta>*:not(.cta-badge){position:relative}.cta>p:not(.kicker){color:#aaa7a1;line-height:1.6}.btn.large{padding:19px 28px;margin:24px auto 14px}.cta small{display:block;color:#77736e}footer{padding:38px 5vw;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;color:#817e79;font-size:12px}footer img{width:150px;filter:brightness(0) invert(1)}footer p{margin:0}footer div{display:flex;gap:22px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}.whatsapp-float{position:fixed;z-index:30;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font:800 12px Sora;box-shadow:0 12px 30px rgba(0,0,0,.35)}
@media(max-width:900px){.topbar{height:72px}.brand img{width:155px}nav{position:absolute;top:72px;left:0;right:0;background:#0b0b0b;padding:25px 5vw;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu{display:flex;align-items:center;gap:9px}.menu span{width:7px;height:7px;background:var(--red);border-radius:50%}.hero{grid-template-columns:1fr;padding-top:115px}.hero-visual{justify-self:center;max-width:530px}.proof{gap:20px}.section-heading,.process,.delivery{grid-template-columns:1fr;display:grid;gap:28px}.service-grid{grid-template-columns:1fr}.service-grid .featured{transform:none}.custom-note{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:440px 300px 300px}.g1{grid-row:auto;grid-column:span 2}.g2{grid-column:span 2}.process{gap:55px}footer{grid-template-columns:1fr}footer small{grid-column:auto}}
@media(max-width:560px){.hero{padding-left:22px;padding-right:22px;min-height:auto}.hero-actions{display:grid}.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.proof strong{font-size:22px}.proof span{font-size:9px}.floating-note{left:-7px}.trust-strip{justify-content:flex-start}.section,.cta{padding:78px 22px}.section-heading{margin-bottom:38px}.service-grid article{min-height:290px;padding:28px}.gallery{display:grid;grid-template-columns:1fr;grid-template-rows:420px repeat(4,300px)}.g1,.g2{grid-column:auto}.process{padding-left:22px;padding-right:22px}.process li{grid-template-columns:50px 1fr}.delivery{padding:72px 22px}.delivery-data>div{display:grid}.delivery-data strong{text-align:left}footer{padding:35px 22px}}

.extended-work{background:var(--paper);color:var(--ink);padding-top:105px}.extended-work .section-heading>p{color:#68645f}.project-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:12px}.project-card{margin:0;position:relative;overflow:hidden;background:#151515}.project-card.project-wide{grid-column:span 2}.project-card.project-tall,.project-card.project-process{grid-row:span 2}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease;filter:saturate(.82) contrast(1.05)}.project-card:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.03)}.project-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9))}.project-card figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:white;display:grid;gap:5px}.project-card figcaption span{text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:800;color:#ff657c}.project-card figcaption b{font:700 15px Sora}.project-process img{object-position:center}.volume-callout{margin-top:18px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 30px}.volume-callout>div{display:flex;align-items:center;gap:18px}.volume-callout p{margin:0;color:#a9a6a0;line-height:1.6;font-size:13px}.volume-callout strong{color:white;font:700 17px Sora}.volume-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--red);font:700 26px Sora;color:white;flex:0 0 auto}
@media(max-width:900px){.project-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:290px}.project-card.project-tall,.project-card.project-process{grid-row:span 1}.volume-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.extended-work{padding:78px 22px}.project-mosaic{grid-template-columns:1fr;grid-auto-rows:300px}.project-card.project-wide{grid-column:auto}.project-card.project-process{grid-row:span 1}.volume-callout{padding:24px 20px}.volume-callout>div{align-items:flex-start}.volume-callout .btn{width:100%}}

/* Portada de marca */
.hero.hero-statement{min-height:760px;padding:150px 5vw 44px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(242,13,47,.105),transparent 34%),#090909}.hero.hero-statement:before{opacity:.1;mask-image:radial-gradient(circle at center,black,transparent 70%)}.hero-watermark{position:absolute;z-index:0;left:50%;top:47%;transform:translate(-50%,-50%);font:800 clamp(150px,22vw,410px)/.8 Sora,sans-serif;letter-spacing:-.095em;white-space:nowrap;color:rgba(255,255,255,.022);user-select:none}.hero-watermark span{color:rgba(242,13,47,.055)}.hero-statement .hero-copy{width:min(1100px,100%);display:flex;flex-direction:column;align-items:center}.hero-statement .eyebrow{display:block;margin:0;color:var(--red);font-size:13px;letter-spacing:.22em}.hero-statement h1{font-size:clamp(54px,6.8vw,108px);line-height:.94;letter-spacing:-.065em;margin:25px 0 26px}.hero-statement .lead{max-width:850px;margin:0;color:#b6b2ad;font-size:clamp(16px,1.35vw,21px)}.hero-statement .hero-actions{margin:38px 0 14px}.hero-main-cta{padding:19px 34px;min-width:300px;font-size:16px}.hero-contact{margin:0;color:#6f6c68;font-size:13px}.scroll-cue{margin-top:46px;display:flex;gap:12px;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700;color:#77736e;transition:.25s}.scroll-cue:hover{color:var(--paper)}.scroll-cue span{color:var(--red);font-size:18px}.proof.proof-bar{position:absolute;z-index:2;left:5vw;right:5vw;bottom:32px;display:flex;justify-content:center;gap:0;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}.proof.proof-bar div{min-width:210px;padding:0 32px;border-right:1px solid rgba(255,255,255,.1)}.proof.proof-bar div:last-child{border-right:0}.proof.proof-bar strong{font-size:14px;letter-spacing:-.01em}.proof.proof-bar span{margin-top:4px;font-size:9px;letter-spacing:.12em}
@media(max-width:900px){.hero.hero-statement{padding-top:130px;min-height:730px}.proof.proof-bar{left:22px;right:22px}.proof.proof-bar div{min-width:0;flex:1;padding:0 14px}.hero-statement h1{font-size:clamp(48px,10vw,82px)}}
@media(max-width:560px){.hero.hero-statement{padding:118px 22px 150px;min-height:720px}.hero-statement .eyebrow{font-size:11px;line-height:1.6}.hero-statement h1{font-size:clamp(45px,14.5vw,68px);line-height:.98;margin:20px 0 24px}.hero-statement .lead{font-size:16px;line-height:1.6}.hero-main-cta{width:100%;min-width:0}.scroll-cue{margin-top:34px}.proof.proof-bar{bottom:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:17px}.proof.proof-bar div{padding:0;border:0}.proof.proof-bar div:last-child{grid-column:1/-1}.proof.proof-bar strong{font-size:12px}.hero-watermark{font-size:44vw;top:43%}}

.hero.hero-statement{min-height:100svh;padding-bottom:80px}.hero-statement .hero-copy{transform:translateY(18px)}.hero-statement .eyebrow{font-weight:800}.hero-statement .hero-contact{font-size:14px}.hero-statement .hero-actions{margin-top:42px}
@media(max-width:560px){.hero.hero-statement{min-height:100svh;padding:112px 22px 70px}.hero-statement .hero-copy{transform:none}.hero-statement .hero-actions{margin-top:34px}.hero-statement .hero-contact{font-size:12px}}

.design-teaser{padding:95px 5vw;background:#111;display:grid;grid-template-columns:1fr .78fr;gap:8vw;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.design-teaser h2{font:700 clamp(38px,4.3vw,68px)/1.03 Sora;letter-spacing:-.045em;margin:0 0 24px}.design-teaser-copy>p:not(.kicker){color:#aaa7a2;line-height:1.7;max-width:590px;margin:0 0 31px}.design-teaser-card{position:relative;min-height:460px;background:radial-gradient(circle,rgba(242,13,47,.18),transparent 48%),#090909;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.design-teaser-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:35px 35px}.design-teaser-card img{position:relative;width:min(85%,430px);filter:brightness(.8) contrast(1.15)}.design-teaser-card span{position:absolute;bottom:18px;background:var(--paper);color:var(--ink);padding:11px 16px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}
@media(max-width:900px){.design-teaser{grid-template-columns:1fr}.design-teaser-card{min-height:390px}}
@media(max-width:560px){.design-teaser{padding:76px 22px}.design-teaser-card{min-height:330px}}

/* The approved dark-background wordmark already carries its final colors. */
.brand img,footer img{filter:none}

/* Official WhatsApp treatment for the floating contact button. */
.whatsapp-float{width:60px;height:60px;padding:0;background:#25d366;color:#fff;font:inherit;border:3px solid #fff;overflow:hidden;transition:transform .25s,box-shadow .25s}
.whatsapp-float:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 16px 34px rgba(0,0,0,.4)}
.whatsapp-float img{display:block;width:100%;height:100%;max-width:none}
