:root{--bg:#070707;--line:#1e1e1e;--text:#f3f3f3;--muted:#a6a6a6;--soft:#707070;--red:#ff3040;--max:1280px;--pad:clamp(22px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{position:sticky;top:0;z-index:50;height:78px;display:flex;align-items:center;gap:28px;padding:0 var(--pad);background:rgba(7,7,7,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center}.brand img{display:block;width:160px;height:auto;max-height:42px;object-fit:contain;object-position:left center}.nav{display:flex;gap:30px;margin-left:auto}.nav a{font-size:13px;color:#bcbcbc;transition:.2s}.nav a:hover{color:#fff}.nav-cta{font-size:13px;border:1px solid #2a2a2a;border-radius:999px;padding:11px 16px}.nav-cta:hover{border-color:#505050;background:#101010}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:22px;margin-left:auto}
.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1fr .9fr;gap:clamp(45px,8vw,130px);align-items:center;padding:clamp(56px,9vh,110px) var(--pad)}.hero-copy{max-width:650px}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#909090;margin:0 0 20px}.eyebrow .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px;vertical-align:1px}.hero h1,.page-hero h1{font-family:'Space Grotesk',Inter,sans-serif;font-size:clamp(56px,7vw,102px);line-height:.92;letter-spacing:-.055em;margin:0 0 34px;font-weight:700}.hero h1 em,.page-hero h1 em,h2 em{font-style:normal;color:#7b7b7b}.hero-text{color:#c3c3c3;font-size:16px;max-width:520px;line-height:1.55;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:0 22px;border-radius:999px;font-size:13px;border:1px solid #2b2b2b;transition:.2s}.button-primary{background:#f2f2f2;color:#0a0a0a;border-color:#f2f2f2}.button-primary:hover{transform:translateY(-1px);background:#fff}.button-ghost:hover{background:#101010;border-color:#4a4a4a}.hero-visual{position:relative;margin:0}.hero-media{width:100%;aspect-ratio:9/16;display:block;object-fit:cover;border-radius:3px;border:1px solid #242424;background:#0c0c0c}.media-play{position:absolute;right:18px;bottom:18px;width:40px;height:40px;border-radius:50%;border:1px solid #3a3a3a;background:rgba(8,8,8,.66);color:#fff;display:grid;place-items:center;font-size:12px}.hero-badge{position:absolute;left:-20px;bottom:24px;background:#0d0d0d;border:1px solid #232323;padding:13px 16px;font-size:11px;letter-spacing:.14em}.hero-badge span{color:#777;letter-spacing:.08em;font-size:9px}
.marquee{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  white-space:nowrap;
  width:100%;
}
.marquee-track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:scroll 26s linear infinite;
}
.marquee-item{
  flex:0 0 auto;
  padding:19px 0;
  padding-right:2rem;
  color:#737373;
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.marquee-item span{
  color:var(--red);
  padding:0 18px;
}
@keyframes scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.section{padding:clamp(90px,11vw,150px) var(--pad)}.section-inner{width:min(var(--max),100%);margin:auto}.section-head{display:grid;grid-template-columns:1fr .75fr;gap:50px;align-items:end;margin-bottom:58px}.section-head h2,.page-section h2{font-family:'Space Grotesk',Inter,sans-serif;font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.045em;margin:0}.section-intro{color:#8f8f8f;max-width:510px;font-size:15px;line-height:1.65;margin:0}
.work-group{margin-top:62px}.work-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.work-label h3{font-family:'Space Grotesk',Inter,sans-serif;font-size:16px;letter-spacing:.02em;margin:0}.work-label span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#646464}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-media{position:relative;overflow:hidden;background:#0d0d0d;border:1px solid #1e1e1e}.project-media img,.project-media video{width:100%;height:100%;display:block;object-fit:cover}.video-box{aspect-ratio:9/16}.photo-box{aspect-ratio:4/5}.media-tag{position:absolute;right:12px;top:12px;background:rgba(7,7,7,.76);border:1px solid #2a2a2a;padding:6px 8px;font-size:9px;letter-spacing:.15em}.video-control{position:absolute;left:12px;bottom:12px;width:32px;height:32px;border-radius:50%;background:rgba(7,7,7,.72);border:1px solid #333;color:#fff;font-size:11px;cursor:pointer}.project-info{display:flex;justify-content:space-between;gap:20px;padding:16px 2px 0}.project-info h4{margin:0 0 4px;font-size:14px;font-weight:600}.project-info p{margin:0;color:#666;font-size:11px}.project-info span{color:#555;font-size:10px}
.process{border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.process-row span{font-size:10px;color:#666;letter-spacing:.16em}.process-row h3{margin:0;font-size:18px}.process-row p{margin:0;color:#888;font-size:14px;max-width:490px}
.page-hero{padding:clamp(90px,13vw,180px) var(--pad) 70px;border-bottom:1px solid var(--line)}.page-hero-inner{width:min(var(--max),100%);margin:auto}.page-hero p{max-width:680px;color:#929292;font-size:17px;margin:28px 0 0}.page-section{padding:clamp(70px,10vw,130px) var(--pad)}.page-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}.page-grid p{color:#a4a4a4;font-size:16px;line-height:1.8;margin:0 0 18px}.service-stack{width:min(var(--max),100%);margin:auto;border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:90px 1fr 1.1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line)}.service-item .num{color:#5f5f5f;font-size:11px;letter-spacing:.16em}.service-item h3{margin:0;font-family:'Space Grotesk',Inter,sans-serif;font-size:26px}.service-item p{margin:0;color:#909090;line-height:1.7;font-size:14px}.contact-wrap{width:min(1000px,100%);margin:auto;text-align:center}.contact-wrap h2{font-family:'Space Grotesk',Inter,sans-serif;font-size:clamp(48px,6vw,84px);line-height:.95;letter-spacing:-.05em;margin:0 0 28px}.contact-wrap>p{max-width:560px;margin:0 auto 40px;color:#909090;font-size:16px}.contact-list{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.contact-card{border:1px solid #242424;padding:18px 22px;min-width:240px;text-align:left}.contact-card small{display:block;color:#5f5f5f;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-bottom:8px}.contact-card a{font-size:15px}.contact-card:hover{background:#0d0d0d;border-color:#3c3c3c}.footer{display:grid;grid-template-columns:1fr 1fr auto auto;gap:22px;padding:24px var(--pad);border-top:1px solid var(--line);color:#606060;font-size:10px}.footer a:hover{color:#aaa}
@media(max-width:900px){.nav{display:none}.nav-cta{display:none}.menu-toggle{display:block}.nav.is-open{display:flex;position:absolute;top:78px;left:0;right:0;padding:22px var(--pad);background:#090909;border-bottom:1px solid var(--line);flex-direction:column;gap:18px}.hero{grid-template-columns:1fr}.hero-visual{max-width:640px;margin:auto;width:100%}.section-head,.page-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr 1fr}.service-item{grid-template-columns:60px 1fr}.service-item p{grid-column:2}.footer{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(56px,13vw,92px)}}
@media(max-width:620px){.site-header{height:68px;padding:0 18px}.brand img{width:142px;max-height:38px}.hero{padding:55px 18px 70px}.section,.page-section,.page-hero{padding-left:18px;padding-right:18px}.video-grid,.photo-grid{grid-template-columns:1fr}.hero-badge{left:14px;bottom:14px}.section-head{margin-bottom:44px}.section-head h2{font-size:46px}.process-row{grid-template-columns:55px 1fr}.process-row p{grid-column:2}.footer{grid-template-columns:1fr;padding:22px 18px}.contact-card{width:100%;min-width:0}.page-hero h1{font-size:56px}}

/* Contacto: el enlace de Instagram se mantiene deliberadamente limpio,
   sin flecha ni pseudo-elemento. */
.contact-card .instagram-link::after,
.contact-card .instagram-link::before {
  content: none !important;
  display: none !important;
}

@media (max-width:620px){
  .marquee-track{animation-duration:22s}
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;transform:none}
}

/* Desktop hero: align the copy from the upper part of the tall feature-video
   instead of vertically centering it against the entire 9:16 media height. */
@media (min-width:901px){
  .hero{
    align-items:start;
  }
  .hero-copy{
    padding-top:clamp(72px,10vh,145px);
  }
}

@media (max-width:900px){
  .hero-copy{
    padding-top:0;
  }
}


/* ===== V10 layout corrections ===== */

/* Desktop:
   Keep the hero copy near the upper third of the page. It must not be
   vertically centered against the tall 9:16 feature video. */
@media (min-width:901px){
  .hero{
    min-height:auto;
    padding-top:54px;
    padding-bottom:72px;
    align-items:start;
  }

  .hero-copy{
    padding-top:42px !important;
    align-self:start;
  }

  .hero-visual{
    align-self:start;
  }
}

/* Give the marquee real breathing room before the Work section. */
.marquee{
  margin-bottom:0;
}

.marquee + .section{
  padding-top:clamp(115px,12vw,175px) !important;
}

/* Mobile:
   keep the hero tighter and maintain a clean, intentional gap between
   the moving strip and “01 — Trabajo”. */
@media (max-width:900px){
  .hero{
    min-height:auto;
    padding-top:44px;
    padding-bottom:70px;
    align-items:start;
  }

  .hero-copy{
    padding-top:0 !important;
  }

  .marquee{
    height:48px;
  }

  .marquee-item{
    padding:14px 0;
    font-size:9px;
    letter-spacing:.19em;
    padding-right:1.5rem;
  }

  .marquee-item span{
    padding:0 12px;
  }

  .marquee + .section{
    padding-top:92px !important;
  }
}

/* Extra-small screens: slightly more breathing room without creating a gap. */
@media (max-width:560px){
  .marquee + .section{
    padding-top:80px !important;
  }
}
