/*
Theme Name: Reche Films
Author: Gabriel Reche
Version: 1.0
*/:root{
  /* --- Reche brand tokens (Manual de Marca) --- */
  --teal-noite:#003030;
  --teal-profundo:#005656;
  --teal:#008384;
  --teal-claro:#93d7d8;
  --teal-palido:#ccf3f4;
  --orange-clear:#ffa154;
  --orange:#d36434;
  --orange-terroso:#9e4221;
  --red-range:#cb502f;
  --void:#0a0a0a;
  --escuro:#141414;
  --cinza3:#1f1f1f;
  --cinza2:#2b2b2b;
  --cinza:#828282;
  --cream:#e8e3da;

  --bg: var(--void);
  --bg-alt: var(--escuro);
  --ink: var(--cream);
  --ink-muted: var(--cinza);
  --line: #2a3d3d;

  --font-display:'Unbounded', sans-serif;
  --font-body:'Archivo', sans-serif;
  --font-mono:'Space Mono', monospace;

  --rects-pattern: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22480%22%20height%3D%22320%22%20viewBox%3D%220%200%20480%20320%22%3E%3Crect%20x%3D%22202%22%20y%3D%2224%22%20width%3D%2234%22%20height%3D%2225%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.24%22/%3E%3Crect%20x%3D%22331%22%20y%3D%22224%22%20width%3D%2225%22%20height%3D%2223%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.28%22/%3E%3Crect%20x%3D%22398%22%20y%3D%22162%22%20width%3D%2246%22%20height%3D%2226%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.36%22/%3E%3Crect%20x%3D%22127%22%20y%3D%22101%22%20width%3D%2237%22%20height%3D%2233%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221.5%22%20opacity%3D%220.4%22/%3E%3Crect%20x%3D%2255%22%20y%3D%2246%22%20width%3D%2260%22%20height%3D%2214%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.31%22/%3E%3Crect%20x%3D%22287%22%20y%3D%2277%22%20width%3D%2219%22%20height%3D%2237%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.22%22/%3E%3Crect%20x%3D%2216%22%20y%3D%22200%22%20width%3D%2244%22%20height%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.33%22/%3E%3Crect%20x%3D%22440%22%20y%3D%2255%22%20width%3D%2222%22%20height%3D%2242%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.45%22/%3E%3Crect%20x%3D%22178%22%20y%3D%22210%22%20width%3D%2254%22%20height%3D%2220%22%20fill%3D%22%230f4d4d%22%20opacity%3D%220.4%22/%3E%3Crect%20x%3D%2296%22%20y%3D%22150%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22/%3E%3Crect%20x%3D%22240%22%20y%3D%2210%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221.5%22%20opacity%3D%220.42%22/%3E%3Crect%20x%3D%22350%22%20y%3D%2290%22%20width%3D%2248%22%20height%3D%2214%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.26%22/%3E%3Crect%20x%3D%2210%22%20y%3D%22270%22%20width%3D%2226%22%20height%3D%2226%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22/%3E%3Crect%20x%3D%2263%22%20y%3D%22250%22%20width%3D%2218%22%20height%3D%2240%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.2%22/%3E%3Crect%20x%3D%22405%22%20y%3D%22260%22%20width%3D%2260%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.34%22/%3E%3Crect%20x%3D%22150%22%20y%3D%2245%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221.5%22%20opacity%3D%220.5%22/%3E%3Crect%20x%3D%22300%22%20y%3D%22180%22%20width%3D%2234%22%20height%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.27%22/%3E%3Crect%20x%3D%22222%22%20y%3D%22140%22%20width%3D%2216%22%20height%3D%2230%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.38%22/%3E%3Crect%20x%3D%2270%22%20y%3D%2210%22%20width%3D%2240%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.29%22/%3E%3Crect%20x%3D%22430%22%20y%3D%22160%22%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.35%22/%3E%3Crect%20x%3D%22265%22%20y%3D%22250%22%20width%3D%2242%22%20height%3D%2216%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22/%3E%3Crect%20x%3D%2210%22%20y%3D%22120%22%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221.5%22%20opacity%3D%220.46%22/%3E%3Crect%20x%3D%22370%22%20y%3D%2230%22%20width%3D%2226%22%20height%3D%2234%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.23%22/%3E%3Crect%20x%3D%22120%22%20y%3D%22270%22%20width%3D%2246%22%20height%3D%2218%22%20fill%3D%22none%22%20stroke%3D%22%231f9a9a%22%20stroke-width%3D%221%22%20opacity%3D%220.32%22/%3E%3C/svg%3E");

  --streaks-pattern: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22400%22%20height%3D%22400%22%20viewBox%3D%220%200%20400%20400%22%3E%3Cline%20x1%3D%22181.0%22%20y1%3D%22393.0%22%20x2%3D%2276.0%22%20y2%3D%22261.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.4%22/%3E%3Cline%20x1%3D%22320.0%22%20y1%3D%2240.0%22%20x2%3D%22225.0%22%20y2%3D%22-79.7%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%222%22%20opacity%3D%220.35%22/%3E%3Cline%20x1%3D%2260.0%22%20y1%3D%22150.0%22%20x2%3D%22-20.0%22%20y2%3D%2249.0%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22/%3E%3Cline%20x1%3D%22250.0%22%20y1%3D%22300.0%22%20x2%3D%22160.0%22%20y2%3D%22187.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22/%3E%3Cline%20x1%3D%22120.0%22%20y1%3D%2280.0%22%20x2%3D%2260.0%22%20y2%3D%224.4%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.25%22/%3E%3Cline%20x1%3D%22350.0%22%20y1%3D%22200.0%22%20x2%3D%22270.0%22%20y2%3D%2299.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%222%22%20opacity%3D%220.45%22/%3E%3Cline%20x1%3D%2210.0%22%20y1%3D%22320.0%22%20x2%3D%22-60.0%22%20y2%3D%22229.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.2%22/%3E%3Cline%20x1%3D%22200.0%22%20y1%3D%2210.0%22%20x2%3D%22140.0%22%20y2%3D%22-64.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.4%22/%3E%3Cline%20x1%3D%22380.0%22%20y1%3D%22300.0%22%20x2%3D%22300.0%22%20y2%3D%22199.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22/%3E%3Cline%20x1%3D%2290.0%22%20y1%3D%22250.0%22%20x2%3D%2210.0%22%20y2%3D%22149.6%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.35%22/%3E%3Cline%20x1%3D%22150.0%22%20y1%3D%22350.0%22%20x2%3D%2280.0%22%20y2%3D%22262.9%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.5%22/%3E%3Cline%20x1%3D%22280.0%22%20y1%3D%22120.0%22%20x2%3D%22220.0%22%20y2%3D%2244.4%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.28%22/%3E%3Cline%20x1%3D%2230.0%22%20y1%3D%2280.0%22%20x2%3D%22-30.0%22%20y2%3D%224.4%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.22%22/%3E%3Cline%20x1%3D%22360.0%22%20y1%3D%2260.0%22%20x2%3D%22280.0%22%20y2%3D%22-40.4%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%222%22%20opacity%3D%220.4%22/%3E%3Cline%20x1%3D%22140.0%22%20y1%3D%22200.0%22%20x2%3D%2270.0%22%20y2%3D%22112.9%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.32%22/%3E%3Cline%20x1%3D%2220.0%22%20y1%3D%22180.0%22%20x2%3D%22-40.0%22%20y2%3D%22104.4%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.24%22/%3E%3Cline%20x1%3D%22240.0%22%20y1%3D%22260.0%22%20x2%3D%22170.0%22%20y2%3D%22172.9%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.36%22/%3E%3Cline%20x1%3D%22400.0%22%20y1%3D%22160.0%22%20x2%3D%22330.0%22%20y2%3D%2272.9%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.3%22/%3E%3Cline%20x1%3D%2270.0%22%20y1%3D%22340.0%22%20x2%3D%220.0%22%20y2%3D%22252.9%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.45%22/%3E%3Cline%20x1%3D%22310.0%22%20y1%3D%2290.0%22%20x2%3D%22250.0%22%20y2%3D%2214.4%22%20stroke%3D%22%231fb3b3%22%20stroke-width%3D%221%22%20opacity%3D%220.25%22/%3E%3C/svg%3E");
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

a{ color:inherit; }
img{ max-width:100%; display:block; }

.wrap{ max-width:1280px; margin:0 auto; padding:0 56px; }

h1,h2,h3{ margin:0; font-family:var(--font-display); font-weight:800; text-transform:uppercase; letter-spacing:-0.01em; line-height:1.05; color:var(--ink); }
p{ margin:0; }
.body-copy{ font-family:var(--font-body); font-size:16px; line-height:1.65; color:#cfc9bd; max-width:560px; }
.body-copy.small{ font-size:14px; color:var(--ink-muted); }

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.12em;
  color:var(--orange-clear); text-transform:uppercase; margin-bottom:22px;
}
.eyebrow::before{ content:""; width:18px; height:1px; background:var(--orange-clear); }

/* ---------- buttons ---------- */
.btn{
  font-family:var(--font-mono); font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  padding:16px 30px; display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--orange); background:transparent; color:var(--ink);
  cursor:pointer; text-decoration:none; position:relative; overflow:hidden;
  transition:color .25s ease, border-color .25s ease;
}
.btn::before{
  content:""; position:absolute; inset:0; background:var(--orange);
  transform:translateX(-101%); transition:transform .3s ease; z-index:-1;
}
.btn:hover::before{ transform:translateX(0); }
.btn:hover{ color:var(--void); border-color:var(--orange); }
.btn:focus-visible{ outline:2px solid var(--teal-claro); outline-offset:3px; }

.btn.ghost{ border-color:var(--line); color:var(--ink-muted); }
.btn.ghost::before{ background:var(--teal); }
.btn.ghost:hover{ color:var(--void); border-color:var(--teal); }

.btn.solid{ background:var(--orange); border-color:var(--orange); color:var(--void); }
.btn.solid::before{ background:var(--cream); }
.btn.solid:hover{ color:var(--void); }

/* ---------- logo mark ---------- */
.logo-mark{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo-mark svg{ width:44px; height:34px; flex:none; }
.logo-mark .lockup{ font-family:var(--font-display); font-weight:800; font-size:17px; letter-spacing:.02em; color:var(--cream); }
.logo-mark .lockup small{ display:block; font-family:var(--font-mono); font-weight:400; font-size:9px; letter-spacing:.15em; color:var(--teal-claro); text-transform:uppercase; margin-top:2px; }

/* ---------- nav ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 56px; background:rgba(10,10,10,.82); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav .links{ display:flex; gap:36px; font-family:var(--font-mono); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; }
.nav .links a{ text-decoration:none; color:var(--ink-muted); position:relative; padding-bottom:4px; }
.nav .links a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--orange-clear); transition:width .25s ease; }
.nav .links a:hover{ color:var(--ink); }
.nav .links a:hover::after{ width:100%; }

/* ---------- mobile nav toggle ---------- */
.nav-toggle{
  display:none; width:36px; height:28px; border:none; background:none; padding:0;
  cursor:pointer; position:relative; z-index:60;
}
.nav-toggle span{
  position:absolute; left:0; width:100%; height:1px; background:var(--cream);
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle span:nth-child(1){ top:4px; }
.nav-toggle span:nth-child(2){ top:13px; }
.nav-toggle span:nth-child(3){ top:22px; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(9px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-9px) rotate(-45deg); }

.mobile-menu{
  display:none;
  position:fixed; inset:0; z-index:55;
  background:var(--void); background-image:var(--rects-pattern); background-size:480px 320px;
  padding:110px 32px 40px;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
.mobile-menu.is-open{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .25s ease, transform .25s ease; }
.mobile-menu a{
  display:block; font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:28px; color:var(--ink); text-decoration:none; padding:16px 0; border-bottom:1px solid var(--line);
}
.mobile-menu a:hover{ color:var(--teal-claro); }
.mobile-menu .btn{ margin-top:32px; }
body.menu-open{ overflow:hidden; }

/* ---------- JS scroll-reveal ---------- */
.js-reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.js-reveal.is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .js-reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- section chrome ---------- */
.section{ position:relative; padding:120px 0; border-bottom:1px solid var(--line); overflow:hidden; }
.section.alt{ background:var(--bg-alt); }
.section .ghost-num{
  position:absolute; right:36px; bottom:-4px;
  font-family:var(--font-display); font-weight:900; font-size:clamp(120px,18vw,260px);
  line-height:1; color:transparent; -webkit-text-stroke:1px var(--cinza3);
  pointer-events:none; user-select:none; z-index:0;
}
.section .inner{ position:relative; z-index:1; }

/* ---------- hero ---------- */
.hero{ padding-top:88px; }
.hero-grad{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 900px 600px at 78% -10%, rgba(0,131,132,.28), transparent 60%),
    var(--rects-pattern);
  background-repeat:no-repeat, repeat;
  background-position: 0 0, 0 0;
  opacity:1;
}
.hero-copy{ max-width:820px; position:relative; z-index:1; }
.hero h1{ font-size:clamp(34px,5.4vw,64px); }
.hero h1 .accent{ color:var(--teal-claro); }
.hero .body-copy{ margin-top:26px; max-width:600px; font-size:17px; }
.hero .cta-row{ margin-top:38px; display:flex; gap:16px; flex-wrap:wrap; }

.reveal{ opacity:0; transform:translateY(18px); animation:reveal .8s ease forwards; }
.reveal.d1{ animation-delay:.05s; }
.reveal.d2{ animation-delay:.18s; }
.reveal.d3{ animation-delay:.3s; }
.reveal.d4{ animation-delay:.42s; }
@keyframes reveal{ to{ opacity:1; transform:translateY(0); } }

.media-frame{
  margin-top:64px; position:relative; z-index:1; overflow:hidden;
  border:1px solid var(--line); background:var(--escuro);
  background-image:var(--rects-pattern); background-size:480px 320px;
}
.media-frame .frame-media{
  position:absolute; inset:0; width:100%; height:100%;
  display:block; z-index:0; border:0;
  background:var(--escuro);
}
img.frame-media{ object-fit:contain; object-position:center; }
iframe.frame-media{ background:#000; }
.yt-noninteractive{ pointer-events:none; }

/* ---------- YouTube click-to-play facade ---------- */
.yt-facade{
  background-color:var(--escuro);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  cursor:pointer; border:0; padding:0;
}
.yt-facade::after{
  content:""; position:absolute; inset:0; background:rgba(10,10,10,.28);
  transition:background .25s ease;
}
.yt-facade:hover::after{ background:rgba(10,10,10,.12); }
.yt-facade:focus-visible{ outline:2px solid var(--teal-claro); outline-offset:-2px; }
.yt-facade.yt-pending{ cursor:default; }
.yt-facade.yt-pending::after{ background:rgba(10,10,10,.5); }
.yt-facade.yt-pending .frame-play{ opacity:.35; }
.mute-toggle{
  position:absolute; top:16px; right:16px; z-index:2;
  width:34px; height:34px; padding:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,48,48,.55); border:1px solid var(--teal-profundo); color:var(--teal-claro);
  cursor:pointer; transition:background .25s ease, border-color .25s ease;
}
.mute-toggle:hover{ background:var(--teal-profundo); }
.mute-toggle:focus-visible{ outline:2px solid var(--teal-claro); outline-offset:2px; }
.logo-slot img{ max-width:65%; max-height:55%; width:auto; height:auto; object-fit:contain; }
.media-frame.video-hero{ height:min(58vw, 560px); min-height:320px; }
.media-frame .frame-tag{
  position:absolute; top:16px; left:16px; font-family:var(--font-mono); font-size:11px; color:var(--teal-claro);
  background:rgba(0,48,48,.55); border:1px solid var(--teal-profundo); padding:5px 10px; letter-spacing:.04em;
}
.media-frame .frame-play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.play-icon{ width:0; height:0; border-top:16px solid transparent; border-bottom:16px solid transparent; border-left:26px solid var(--teal-claro); opacity:.85; filter:drop-shadow(0 0 18px rgba(0,131,132,.5)); }
.media-frame .frame-caption{
  position:absolute; bottom:14px; right:16px; font-family:var(--font-mono); font-size:10.5px; color:var(--cinza);
}

/* ---------- value prop (block 02) ---------- */
.story{ display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:start; }
.story h2{ font-size:clamp(26px,3.4vw,42px); max-width:560px; }
.story .body-copy{ margin-top:22px; }
.story .body-copy + .body-copy{ margin-top:16px; }
.process-list{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.process-item{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 4px; border-bottom:1px solid var(--line);
  font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:.01em;
  color:var(--ink); transition:padding-left .25s ease, color .25s ease;
}
.process-item span.n{ font-family:var(--font-mono); font-size:12px; color:var(--teal-claro); font-weight:400; }
.process-item:hover{ padding-left:14px; color:var(--teal-claro); }

/* ---------- audience (block 03) ---------- */
.audience h2{ font-size:clamp(26px,3.4vw,42px); max-width:640px; }
.audience .body-copy{ margin-top:22px; font-size:17px; }
.audience .coverage{ margin-top:10px; font-family:var(--font-mono); font-size:13px; color:var(--teal-claro); letter-spacing:.03em; }
.segments{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.chip{
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.04em; text-transform:uppercase;
  border:1px solid var(--teal-profundo); color:var(--teal-claro); padding:9px 16px;
  transition:background .25s ease, color .25s ease;
}
.chip:hover{ background:var(--teal-profundo); color:var(--cream); }
.audience .cta-row{ margin-top:44px; }

/* ---------- portfolio (block 04) ---------- */
.portfolio-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.portfolio-grid .media-frame{ margin-top:0; height:320px; }
.photo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:22px; }
.photo-grid .media-frame{ margin-top:0; aspect-ratio:1080/1440; height:auto; }
.photo-grid .media-frame .frame-play{ display:none; }
.portfolio-cta{ margin-top:52px; display:flex; justify-content:center; }

/* ---------- method (block 05) ---------- */
.method h2{ font-size:clamp(26px,3.6vw,46px); max-width:680px; }
.method .body-copy{ margin-top:24px; font-size:17px; max-width:600px; }
.method .lead-in{ margin-top:14px; }
.method-pills{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:32px; background:var(--line); border:1px solid var(--line); }
.method-pill{
  background:var(--bg); padding:26px 20px; font-family:var(--font-mono); font-size:13px;
  letter-spacing:.03em; text-transform:uppercase; color:var(--ink); display:flex; align-items:flex-end; min-height:96px;
  transition:background .3s ease, color .3s ease;
}
.method-pill:hover{ background:var(--teal-noite); color:var(--teal-claro); }

/* ---------- client logos (block 06) ---------- */
.clients .kicker{ font-family:var(--font-mono); font-size:13px; color:var(--ink-muted); letter-spacing:.03em; text-align:center; margin-bottom:44px; }
.logos-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.logo-slot{ background:var(--bg); height:110px; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:11px; color:var(--cinza2); letter-spacing:.1em; }

/* ---------- cases (block 07) ---------- */
.case{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.case + .case{ margin-top:96px; }
.case .media-frame{ margin-top:0; height:340px; }
.case-meta .eyebrow{ margin-bottom:16px; }
.case-meta h3{ font-size:clamp(24px,3vw,36px); }
.case-meta .body-copy{ margin-top:16px; }
.case-meta .btn{ margin-top:26px; padding:13px 24px; }
.cases-more{ margin-top:64px; display:flex; justify-content:center; }

/* ---------- testimonials (block 08) ---------- */
.testi-row{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.testi-card{ background:var(--bg); padding:44px; }
.testi-card .quote-mark{ font-family:var(--font-display); font-size:44px; color:var(--orange); line-height:1; }
.testi-card .body-copy{ margin-top:18px; font-size:16.5px; max-width:none; }
.testi-card .attrib{ margin-top:24px; font-family:var(--font-mono); font-size:12.5px; color:var(--teal-claro); letter-spacing:.03em; }

/* ---------- final cta (block 09) ---------- */
.final-cta{ text-align:left; }
.final-cta .inner{ max-width:760px; }
.final-cta h2{ font-size:clamp(30px,4.6vw,54px); }
.final-cta .body-copy{ margin-top:22px; font-size:17px; max-width:600px; }
.final-cta .cta-row{ margin-top:38px; }
.final-cta .streaks{
  position:absolute; inset:0; background-image:var(--streaks-pattern); background-size:400px 400px;
  opacity:.5; z-index:0; mask-image:linear-gradient(to left, black, transparent 70%);
}

/* ---------- footer ---------- */
.footer{ padding:56px; display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; }
.footer .tagline{ font-family:var(--font-body); font-size:13px; color:var(--ink-muted); margin-top:10px; max-width:280px; }
.footer .meta{ font-family:var(--font-mono); font-size:12px; color:var(--cinza); letter-spacing:.04em; }

@media (max-width:980px){
  .wrap{ padding:0 28px; }
  .nav{ padding:18px 28px; }
  .nav .links{ display:none; }
  .nav-toggle{ display:block; }
  .nav > .btn{ display:none; }
  .section{ padding:80px 0; }
  .story, .case, .testi-row, .portfolio-grid, .logos-row{ grid-template-columns:1fr; }
  .photo-grid{ grid-template-columns:repeat(2,1fr); }
  .method-pills{ grid-template-columns:repeat(2,1fr); }
  .case + .case{ margin-top:56px; }
  .case .media-frame{ order:-1; height:240px; }
  .testi-row{ gap:1px; }
  .footer{ padding:40px 28px; }
}