
/* ===== HERO ===== */

  :root{
    --mv-black:#0a0a0a;
    --mv-yellow:#f5a623;
    --mv-red:#c8342d;
    --mv-blue:#2f7fc1;
    --mv-white:#f2ede3;
  }
  *{box-sizing:border-box;}
  html,body{
    margin:0;padding:0;
    background:var(--mv-black);
    width:100%;height:100%;
    overflow-x:hidden;
    font-family:'Arial Narrow', Arial, sans-serif;
  }
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:80px 20px 60px;
    background:
      radial-gradient(ellipse at 50% 30%, rgba(200,52,45,0.10), transparent 60%),
      var(--mv-black);
    overflow:hidden;
  }

  /* faint film-grain / static noise */
  .noise{
    position:absolute; inset:0;
    pointer-events:none;
    opacity:0.05;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    animation: grain 0.4s steps(4) infinite;
  }
  @keyframes grain{
    0%{transform:translate(0,0)}
    50%{transform:translate(-2%,1%)}
    100%{transform:translate(1%,-2%)}
  }

  .eyebrow{
    color:var(--mv-blue);
    letter-spacing:0.35em;
    font-size:13px;
    display:flex; align-items:center; gap:14px;
    margin-bottom:34px;
    z-index:2;
  }
  .eyebrow .dot{
    width:8px;height:8px;border-radius:50%;
    background:var(--mv-red);
    box-shadow:0 0 8px var(--mv-red);
    animation:blink 1.4s infinite;
  }
  @keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0.15}}

  /* CRT TV frame */
  .tv-wrap{
    position:relative;
    z-index:2;
    width:min(560px, 82vw);
  }
  .tv-shell{
    background:linear-gradient(155deg,#232323,#0c0c0c 60%);
    border-radius:26px;
    padding:26px 26px 46px;
    box-shadow:
      0 0 0 2px #000,
      0 30px 60px rgba(0,0,0,0.6),
      inset 0 2px 0 rgba(255,255,255,0.06);
    position:relative;
  }
  .tv-antenna{
    position:absolute; top:-46px; left:50%;
    width:2px; height:50px;
    transform:translateX(-50%);
  }
  .tv-antenna::before, .tv-antenna::after{
    content:'';
    position:absolute; bottom:0;
    width:2px; height:60px;
    background:#555;
    transform-origin:bottom center;
  }
  .tv-antenna::before{transform:rotate(-28deg) translateX(-6px);}
  .tv-antenna::after{transform:rotate(28deg) translateX(6px);}

  .tv-screen{
    position:relative;
    background:#000;
    border-radius:14px;
    overflow:hidden;
    aspect-ratio: 4 / 3;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.9);
  }
  .tv-screen::before{ /* screen curvature vignette */
    content:'';
    position:absolute; inset:0;
    z-index:5;
    background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,0.65) 100%);
    pointer-events:none;
  }
  .scanlines{
    position:absolute; inset:0; z-index:4;
    background:repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,0.28) 0px,
      rgba(0,0,0,0.28) 1px,
      transparent 2px,
      transparent 3px
    );
    pointer-events:none;
    animation:scan-shift 6s linear infinite;
    mix-blend-mode:multiply;
  }
  @keyframes scan-shift{
    0%{background-position-y:0px;}
    100%{background-position-y:60px;}
  }
  .flicker{
    position:absolute; inset:0; z-index:6;
    background:rgba(255,255,255,0.02);
    pointer-events:none;
    animation:flicker 5.2s infinite;
  }
  @keyframes flicker{
    0%,93%,100%{opacity:0;}
    94%{opacity:0.5;}
    95%{opacity:0;}
    96%{opacity:0.3;}
    97%{opacity:0;}
  }

  .logo-stage{
    position:relative;
    width:100%; height:100%;
    display:flex; align-items:center; justify-content:center;
    background:#050505;
  }
  .logo-img{
    width:78%;
    filter: drop-shadow(0 0 18px rgba(245,166,35,0.15));
    animation: logo-glitch 7s infinite;
    position:relative; z-index:2;
  }
  .logo-ghost{
    position:absolute;
    width:78%;
    opacity:0;
    mix-blend-mode:screen;
  }
  .logo-ghost.red{filter:hue-rotate(0deg) saturate(3) drop-shadow(0 0 0 var(--mv-red));}
  @keyframes logo-glitch{
    0%,96%,100%{ transform:translate(0,0) skew(0deg); }
    96.3%{ transform:translate(-6px,0) skew(-2deg); }
    96.6%{ transform:translate(5px,-2px) skew(1deg); }
    96.9%{ transform:translate(-3px,1px) skew(0deg); }
  }

  .rec-overlay{
    position:absolute; top:12px; left:14px; z-index:7;
    color:#e8e8e8;
    font-family:'Courier New', monospace;
    font-size:12px; letter-spacing:0.08em;
    display:flex; align-items:center; gap:7px;
    text-shadow:0 1px 2px rgba(0,0,0,0.8);
  }
  .rec-overlay .rec-dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--mv-red);
    animation:blink 1s infinite;
  }
  .rec-overlay .tc{
    font-variant-numeric:tabular-nums;
    opacity:0.9;
  }
  .batt-overlay{
    position:absolute; top:12px; right:14px; z-index:7;
    display:flex; align-items:center; gap:4px;
    opacity:0.75;
  }
  .batt-overlay svg{width:20px;height:auto;}

  .tv-base{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:16px; padding:0 6px;
    color:#666; font-size:10px; letter-spacing:0.15em;
  }
  .tv-base .pwr{
    display:flex; align-items:center; gap:6px;
  }
  .tv-base .pwr .led{
    width:6px;height:6px;border-radius:50%;
    background:var(--mv-red);
    box-shadow:0 0 6px var(--mv-red);
  }

  /* headline */
  .headline{
    margin-top:56px;
    text-align:center;
    z-index:2;
    max-width:900px;
  }
  .headline h1{
    margin:0;
    color:var(--mv-white);
    font-family:'Arial Black', Arial, sans-serif;
    text-transform:uppercase;
    font-weight:900;
    font-size:clamp(30px, 6vw, 62px);
    line-height:1.05;
    letter-spacing:-0.01em;
    position:relative;
  }
  .headline h1 .glitchtext{
    position:relative;
    display:inline-block;
  }
  .headline h1 .glitchtext::before,
  .headline h1 .glitchtext::after{
    content:attr(data-text);
    position:absolute; left:0; top:0;
    width:100%;
    overflow:hidden;
    color:var(--mv-white);
  }
  .headline h1 .glitchtext::before{
    color:var(--mv-red);
    animation: glitch-1 6s infinite linear alternate-reverse;
    mix-blend-mode:screen;
  }
  .headline h1 .glitchtext::after{
    color:var(--mv-blue);
    animation: glitch-2 6s infinite linear alternate-reverse;
    mix-blend-mode:screen;
  }
  @keyframes glitch-1{
    0%,92%,100%{ clip-path:inset(0 0 0 0); transform:translate(0,0);}
    93%{ clip-path:inset(10% 0 60% 0); transform:translate(3px,-2px);}
    94%{ clip-path:inset(60% 0 5% 0); transform:translate(-2px,1px);}
    95%{ clip-path:inset(30% 0 40% 0); transform:translate(2px,0);}
  }
  @keyframes glitch-2{
    0%,92%,100%{ clip-path:inset(0 0 0 0); transform:translate(0,0);}
    93%{ clip-path:inset(50% 0 10% 0); transform:translate(-3px,2px);}
    94%{ clip-path:inset(5% 0 70% 0); transform:translate(2px,-1px);}
    95%{ clip-path:inset(35% 0 30% 0); transform:translate(-2px,0);}
  }

  .sub{
    margin-top:22px;
    color:#8a8a8a;
    font-size:15px;
    letter-spacing:0.02em;
  }

  html{ scroll-behavior:smooth; }
  .hero-cta{
    display:inline-flex; align-items:center; gap:12px;
    margin-top:38px;
    font-family:'Courier New', monospace;
    font-size:13px;
    letter-spacing:0.2em;
    color:var(--mv-white);
    text-decoration:none;
    border:1px solid rgba(242,237,227,0.35);
    background:rgba(10,10,10,0.5);
    padding:14px 24px;
    transition:border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
  }
  .hero-cta:hover{ border-color:var(--mv-red); color:var(--mv-red); transform:translateY(-2px); }
  .hero-cta .arrow{ display:inline-block; animation:cta-nudge 1.6s ease-in-out infinite; }
  @keyframes cta-nudge{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(4px); } }

  .hero-hazard{
    position:absolute; left:0; right:0;
    height:10px;
    background:repeating-linear-gradient(
      -45deg,
      var(--mv-yellow), var(--mv-yellow) 12px,
      #111 12px, #111 24px
    );
    z-index:3;
  }
  .hero-hazard.top{top:0;}
  .hero-hazard.bottom{bottom:0;}

/* ===== APRESENTACAO ===== */

  :root{
    --mv-black:#0a0a0a;
    --mv-red:#c8342d;
    --mv-white:#f2ede3;
    --mv-grey:#8a8a8a;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:var(--mv-black);font-family:'Arial Narrow', Arial, sans-serif;}

  .hazard{
    height:8px;
    background:repeating-linear-gradient(-45deg, #f5a623, #f5a623 12px, #111 12px, #111 24px);
  }

  .apresentacao{
    background:var(--mv-black);
    color:var(--mv-white);
    padding:110px 7vw 130px;
  }

  .masthead{
    display:flex; justify-content:space-between; align-items:baseline;
    border-bottom:1px solid #2a2a2a;
    padding-bottom:22px;
    margin-bottom:70px;
  }
  .masthead .kicker{
    font-size:12px; letter-spacing:0.3em; color:var(--mv-grey);
  }
  .masthead .index{
    font-family:'Courier New', monospace;
    font-size:12px; color:#4a4a4a;
  }

  .grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:8vw;
    align-items:start;
  }
  @media (max-width:860px){
    .grid{ grid-template-columns:1fr; gap:50px; }
  }

  .lead{
    font-family:'Arial Black', Arial, sans-serif;
    font-weight:900;
    text-transform:uppercase;
    font-size:clamp(30px, 3.6vw, 48px);
    line-height:1.15;
    letter-spacing:-0.01em;
    margin:0;
  }
  .lead .accent{ color:var(--mv-red); }

  .lead-aside{
    font-size:14px;
    color:#6f6f6f;
    margin:18px 0 0;
    max-width:44ch;
  }

  .pull{
    font-family:'Arial Black', Arial, sans-serif;
    font-weight:900;
    text-transform:uppercase;
    font-size:clamp(22px, 2.6vw, 30px);
    line-height:1.35;
    color:var(--mv-white);
    margin:50px 0 0;
    max-width:20ch;
    border-left:3px solid var(--mv-red);
    padding-left:24px;
  }

  /* channel bumper, filling the empty space beneath the pull quote */
  .bumper{
    margin:60px 0 0 27px;
    width:190px;
    aspect-ratio:4/3;
    background:#000;
    border:1px solid #2a2a2a;
    position:relative;
    overflow:hidden;
  }
  .bumper-bars{
    display:flex;
    height:8px;
    width:100%;
  }
  .bumper-bars span{ flex:1; }
  .bumper-bars span:nth-child(1){background:#f5a623;}
  .bumper-bars span:nth-child(2){background:#2f7fc1;}
  .bumper-bars span:nth-child(3){background:#c8342d;}
  .bumper-bars span:nth-child(4){background:#f2ede3;}
  .bumper-bars span:nth-child(5){background:#5a5a5a;}
  .bumper-mid{
    position:relative;
    height:calc(100% - 34px);
    display:flex; align-items:center; justify-content:center;
    padding:14px 16px;
  }
  .bumper-logo{
    width:100%;
    height:auto;
    position:relative;
    animation:bumper-glitch 5s infinite;
    filter:drop-shadow(0 0 10px rgba(0,0,0,0.4));
  }
  @keyframes bumper-glitch{
    0%,90%,100%{ transform:translate(0,0); }
    91%{ transform:translate(-2px,1px); }
    93%{ transform:translate(2px,-1px); }
    95%{ transform:translate(0,0); }
  }
  @keyframes bg1{
    0%,90%,100%{ clip-path:inset(0 0 0 0); transform:translate(0,0); }
    91%{ clip-path:inset(30% 0 40% 0); transform:translate(3px,0); }
    93%{ clip-path:inset(0 0 0 0); transform:translate(0,0); }
  }
  @keyframes bg2{
    0%,90%,100%{ clip-path:inset(0 0 0 0); transform:translate(0,0); }
    92%{ clip-path:inset(50% 0 5% 0); transform:translate(-3px,0); }
    94%{ clip-path:inset(0 0 0 0); transform:translate(0,0); }
  }
  .bumper-foot{
    height:26px;
    display:flex; align-items:center; justify-content:center;
    font-size:9px; letter-spacing:0.12em;
    color:#7a7a7a;
    border-top:1px solid #1e1e1e;
  }

  .col-right{
    padding-top:6px;
  }
  .body-p{
    font-size:16px;
    line-height:1.75;
    color:#c9c4ba;
    margin:0 0 28px;
    max-width:42ch;
  }
  .disclaimer{
    font-size:14px;
    color:var(--mv-grey);
    margin:0 0 28px;
    letter-spacing:0.01em;
  }
  .closing{
    font-size:17px;
    color:var(--mv-white);
    font-weight:700;
    margin:0 0 40px;
    max-width:38ch;
  }

  .sequence{
    display:flex; align-items:center; flex-wrap:wrap;
    gap:10px;
    font-family:'Arial Black', Arial, sans-serif;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:0.02em;
  }
  .sequence .lead-word{
    color:var(--mv-grey);
    font-family:'Arial Narrow', Arial, sans-serif;
    font-weight:400;
    text-transform:none;
    font-size:14px;
    margin-right:2px;
  }
  .sequence .step{ color:var(--mv-white); }
  .sequence .sep{ color:#4a4a4a; font-weight:400; }

/* ===== TRABALHOS ===== */

  :root{
    --mv-black:#0a0a0a;
    --mv-yellow:#f5a623;
    --mv-red:#c8342d;
    --mv-blue:#2f7fc1;
    --mv-white:#f2ede3;
    --mv-grey:#8a8a8a;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:var(--mv-black);font-family:'Arial Narrow', Arial, sans-serif;}

  .hazard{
    height:8px;
    background:repeating-linear-gradient(-45deg, var(--mv-yellow), var(--mv-yellow) 12px, #111 12px, #111 24px);
  }

  .trabalhos{
    background:var(--mv-black);
    color:var(--mv-white);
    padding:110px 7vw 0;
  }

  .masthead{
    display:flex; justify-content:space-between; align-items:baseline;
    border-bottom:1px solid #2a2a2a;
    padding-bottom:22px;
    margin-bottom:70px;
  }
  .masthead .kicker{ font-size:12px; letter-spacing:0.3em; color:var(--mv-grey); }
  .masthead .index{ font-family:'Courier New', monospace; font-size:12px; color:#4a4a4a; }

  /* ---- category index, EPG style ---- */
  .index-title{
    font-family:'Anton', 'Arial Black', Arial, sans-serif;
    font-weight:400;
    text-transform:uppercase;
    font-size:clamp(48px, 8vw, 110px);
    line-height:0.9;
    margin:0 0 50px;
  }

  .cat-list{
    border-top:1px solid #2a2a2a;
  }
  .cat-row{
    display:flex; align-items:center; gap:24px;
    padding:26px 0;
    border-bottom:1px solid #2a2a2a;
    cursor:pointer;
    position:relative;
    transition:padding-left 0.25s ease;
  }
  .cat-row:hover{ padding-left:20px; }
  .cat-row:hover .cat-name{ color:var(--mv-red); }
  .cat-row:hover .cat-rule{ border-color:var(--mv-red); }
  .cat-num{
    font-family:'Courier New', monospace;
    font-size:14px;
    color:var(--mv-blue);
    min-width:28px;
  }
  .cat-name{
    font-family:'Arial Black', Arial, sans-serif;
    font-weight:900;
    text-transform:uppercase;
    font-size:clamp(20px, 3vw, 32px);
    letter-spacing:-0.01em;
    transition:color 0.2s ease;
    white-space:nowrap;
  }
  .cat-rule{
    flex:1;
    border-top:1px dashed #333;
    transition:border-color 0.2s ease;
  }
  .cat-count{
    font-size:12px;
    color:var(--mv-grey);
    letter-spacing:0.08em;
    min-width:70px;
    text-align:right;
  }

  /* ---- featured projects ---- */
  .destaque{
    margin-top:110px;
  }
  .destaque-head{
    display:flex; justify-content:space-between; align-items:baseline;
    margin-bottom:8px;
    flex-wrap:wrap; gap:12px;
  }
  .clear-filter{
    font-family:'Courier New', monospace;
    font-size:12px;
    letter-spacing:0.05em;
    color:var(--mv-red);
    background:none;
    border:1px solid var(--mv-red);
    padding:6px 12px;
    cursor:pointer;
  }
  .clear-filter:hover{ background:var(--mv-red); color:var(--mv-black); }
  .proj-card.is-hidden{ display:none; }
  .cat-row.is-active .cat-name{ color:var(--mv-red); }
  .cat-row.is-active .cat-rule{ border-color:var(--mv-red); }
  .destaque-title{
    font-family:'Arial Black', Arial, sans-serif;
    font-weight:900;
    text-transform:uppercase;
    font-size:clamp(24px,3vw,34px);
    margin:0;
  }
  .destaque-sub{
    font-size:13px;
    color:var(--mv-grey);
    letter-spacing:0.06em;
    margin:0 0 50px;
  }

  .proj-grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    gap:22px;
    padding-bottom:110px;
  }
  .proj-card{
    position:relative;
    grid-column:span 3;
    background:#111;
    border:1px solid #232323;
    overflow:hidden;
  }
  .proj-card.wide{ grid-column:span 4; }
  .proj-card.narrow{ grid-column:span 2; }
  @media (max-width:760px){
    .proj-grid{ grid-template-columns:1fr; }
    .proj-card, .proj-card.wide, .proj-card.narrow{ grid-column:1 / -1; }
  }

  .proj-thumb{
    position:relative;
    aspect-ratio:16/10;
    background:radial-gradient(ellipse at 50% 40%, #1e1e1e, #050505 75%);
    background-size:cover;
    background-position:center;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .proj-thumb.has-thumb .noise{ opacity:0.02; }
  .proj-thumb iframe{
    position:absolute; inset:0;
    width:100%; height:100%;
    border:none;
  }
  .proj-missing-id{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
    padding:20px;
    font-family:'Courier New', monospace;
    font-size:11px;
    color:var(--mv-yellow);
    background:rgba(0,0,0,0.6);
    letter-spacing:0.05em;
  }
  .proj-thumb .noise{
    position:absolute; inset:0; opacity:0.06; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='rn'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23rn)'/></svg>");
  }
  .proj-play{
    width:52px; height:52px; border-radius:50%;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.3);
    display:flex; align-items:center; justify-content:center;
    transition:background 0.2s ease, transform 0.2s ease;
  }
  .proj-card:hover .proj-play{ background:var(--mv-red); border-color:var(--mv-red); transform:scale(1.08); }
  .proj-tag{
    position:absolute; top:12px; left:12px;
    font-size:10px; letter-spacing:0.1em; color:var(--mv-grey);
    background:rgba(0,0,0,0.5);
    padding:4px 8px;
  }
  .proj-year{
    position:absolute; top:12px; right:12px;
    font-size:10px; letter-spacing:0.1em; color:var(--mv-grey);
  }

  .proj-info{
    padding:16px 18px 20px;
  }
  .proj-client{
    font-size:11px; letter-spacing:0.1em; color:var(--mv-blue);
    text-transform:uppercase;
    margin-bottom:6px;
  }
  .proj-name{
    font-family:'Arial Black', Arial, sans-serif;
    font-weight:900;
    text-transform:uppercase;
    font-size:18px;
    margin:0 0 12px;
    line-height:1.15;
  }
  .proj-roles{
    display:flex; flex-wrap:wrap; gap:6px;
    margin-bottom:14px;
  }
  .proj-roles span{
    font-size:10px; letter-spacing:0.05em;
    color:#9a9a9a;
    border:1px solid #2e2e2e;
    padding:3px 8px;
  }
  .proj-link{
    font-size:12px; font-weight:700; letter-spacing:0.04em;
    color:var(--mv-white);
    text-decoration:none;
    display:inline-flex; align-items:center; gap:6px;
  }
  .proj-link:hover{ color:var(--mv-red); }

/* ===== CONTATO ===== */

  :root{
    --mv-black:#0a0a0a;
    --mv-yellow:#f5a623;
    --mv-red:#c8342d;
    --mv-blue:#2f7fc1;
    --mv-white:#f2ede3;
    --mv-grey:#8a8a8a;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:var(--mv-black);font-family:'Arial Narrow', Arial, sans-serif;}

  .hazard{
    height:8px;
    background:repeating-linear-gradient(-45deg, var(--mv-yellow), var(--mv-yellow) 12px, #111 12px, #111 24px);
  }

  .contato{
    background:var(--mv-black);
    color:var(--mv-white);
    padding:130px 7vw 0;
    text-align:center;
    position:relative;
  }

  .cam-hud{
    position:absolute;
    top:24px; left:7vw;
    text-align:left;
    font-family:'Courier New', monospace;
    font-size:11px;
    letter-spacing:0.08em;
    color:#9a9a9a;
    line-height:1.8;
  }
  .cam-hud .rec-row{
    display:flex; align-items:center; gap:7px;
    color:#c9c4ba;
  }
  .cam-hud .rec-dot{
    width:7px; height:7px; border-radius:50%;
    background:var(--mv-red);
    animation:blink 1s infinite;
  }
  .cam-hud .dim{ color:#5a5a5a; }

  .kicker{
    font-size:12px; letter-spacing:0.3em; color:var(--mv-grey);
    margin-bottom:40px;
  }

  /* entrance: closing-frame flash (toca quando o Contato entra na tela) */
  .end-flash{
    position:absolute; inset:0;
    background:var(--mv-black);
    z-index:50;
    pointer-events:none;
    opacity:0;
  }
  .contato.in-view .end-flash{ animation:end-flash-out 0.5s ease forwards; }
  @keyframes end-flash-out{
    0%{ opacity:1; }
    30%{ opacity:1; }
    100%{ opacity:0; }
  }

  /* jump-cut title reveal */
  .big-ask{
    font-family:'Anton', 'Arial Black', Arial, sans-serif;
    font-weight:400;
    text-transform:uppercase;
    font-size:clamp(52px, 10vw, 140px);
    line-height:0.92;
    margin:0;
  }
  .big-ask .manda{ color:var(--mv-red); }
  .big-ask .cut{
    display:inline-block;
    opacity:0;
  }
  .contato.in-view .big-ask .cut{
    animation:jump-cut 0.12s steps(1) forwards;
  }
  .big-ask .cut.w1{ animation-delay:0.3s; }
  .big-ask .cut.w2{ animation-delay:0.55s; }
  .big-ask .cut.w3{ animation-delay:0.8s; }
  .big-ask .cut.w4{ animation-delay:1.15s; }
  @keyframes jump-cut{
    0%{ opacity:0; }
    100%{ opacity:1; }
  }

  /* status line under links */
  .status-line{
    font-family:'Courier New', monospace;
    font-size:12px;
    letter-spacing:0.12em;
    color:var(--mv-grey);
    margin-bottom:22px;
    height:16px;
  }
  .status-line .dot{
    display:inline-block;
    width:6px; height:6px;
    border-radius:50%;
    background:var(--mv-blue);
    margin-right:8px;
  }
  .status-line.sent .dot{ background:var(--mv-red); animation:blink 0.6s infinite; }
  @keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0.2}}

  .links-row{
    display:flex; justify-content:center; gap:18px;
    flex-wrap:wrap;
    margin:60px 0 100px;
  }
  .contact-link{
    display:inline-flex; align-items:center; gap:10px;
    border:1px solid #3a3a3a;
    color:var(--mv-white);
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:16px 30px;
    transition:border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
  }
  .contact-link:hover{
    border-color:var(--mv-red);
    color:var(--mv-red);
    transform:translateY(-2px);
  }
  .contact-link svg{ width:16px; height:16px; }

  .footer{
    border-top:1px solid #232323;
    padding:34px 7vw 40px;
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:14px;
    font-size:12px;
    color:var(--mv-grey);
    letter-spacing:0.06em;
    text-align:left;
  }
  .footer .brand{
    font-family:'Arial Black', Arial, sans-serif;
    color:var(--mv-white);
    font-size:13px;
    letter-spacing:0.02em;
  }
  .footer .made{
    text-align:right;
  }


/* ===== AJUSTE GLOBAL: a janela rola a página (não o body) ===== */
html{ height:auto; overflow-x:hidden; }
body{ height:auto; min-height:100%; overflow-x:visible; }

.proj-card{ display:flex; flex-direction:column; }
.proj-card .proj-info{ flex:1; }

/* ===== HERO: cabe numa tela só, em qualquer altura (em telas altas fica igual) ===== */
.hero{ padding-top:clamp(52px,8.9vh,80px); padding-bottom:clamp(44px,6.7vh,60px); }
.hero .eyebrow{ margin-bottom:clamp(18px,3.8vh,34px); }
.hero .headline{ margin-top:clamp(30px,6.2vh,56px); }
.hero-cta{ margin-top:clamp(22px,4.2vh,38px); }
.tv-wrap{ width:min(560px, 82vw, max(280px, calc((100vh - 480px) / 0.855))); }
