/* ═══════════════════════════════════════════════════════════════════════════
   Maria Eduarda Maniezo — editorial cinematic portfolio
   MOBILE-FIRST: a base é 390px. Desktop entra por media query, não o contrário.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --espresso:      #241713;
  --deep-burgundy: #591F2E;
  --warm-cream:    #F1E9DE;
  --near-black:    #11100F;
  --sunset-pink:   #E9A7B5;
  --warm-metal:    #B49A78;

  --ink:   var(--warm-cream);
  --muted: rgba(241,233,222,.62);

  --display: "Bricolage Grotesque", ui-sans-serif, sans-serif;
  --body:    "Schibsted Grotesk", ui-sans-serif, sans-serif;
  --accent:  "Gloock", Georgia, serif;

  --ease: cubic-bezier(.22,.61,.24,1);
  --gut: 6vw;
}

*,*::before,*::after{ box-sizing:border-box; }
/* clip, NÃO hidden: overflow-x:hidden cria contexto de rolagem e quebra o
   position:sticky dos palcos. clip recorta sem criar scroll container.     */
html{ scrollbar-width:none; overflow-x:clip; }
html::-webkit-scrollbar{ display:none; }

body{
  margin:0; background:var(--near-black); color:var(--ink);
  font-family:var(--body); font-weight:400; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
body.loading,body.locked{ overflow:hidden; height:100svh; }

/* [hidden] perde para qualquer display do autor — precisa ganhar */
[hidden]{ display:none !important; }

img,video,canvas{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; }
::selection{ background:var(--sunset-pink); color:var(--near-black); }
:focus-visible{ outline:2px solid var(--sunset-pink); outline-offset:3px; }

.skip{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--warm-cream); color:var(--near-black); padding:.8rem 1.2rem;
}
.skip:focus{ left:0; }

/* ── tipografia display: grande e física, como o briefing pede ─────────── */
.hero-h,.rt-h,.sec-h{
  font-family:var(--display);
  font-weight:800;
  font-variation-settings:'opsz' 96;
  letter-spacing:-.035em; line-height:.86;
  margin:0; text-transform:uppercase;
}
.sec-h em{ font-family:var(--accent); font-weight:400; font-style:normal; text-transform:none; letter-spacing:-.01em; }

.meta,.hero-meta,.work-meta,.hdr,.brand-rel,.flow-label{
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
}


/* ══════════════════════════ LOADER ══════════════════════════ */
#loader{
  position:fixed; inset:0; z-index:999; background:var(--near-black);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 var(--gut) 12vh;
  transition:opacity .9s var(--ease), visibility .9s;
}
#loader.done{ opacity:0; visibility:hidden; }
.loader-name{
  font-family:var(--display); font-weight:800; font-size:clamp(3rem,18vw,7rem);
  letter-spacing:-.04em; margin:0 0 .3rem; line-height:.9;
}
.loader-num{ display:flex; gap:.5rem; font-size:.66rem; letter-spacing:.24em; color:var(--muted); margin-bottom:1.2rem; }
.loader-num i{ font-style:normal; opacity:.5; }
.loader-rule{ height:1px; background:rgba(241,233,222,.16); }
#loader-bar{ display:block; height:100%; width:0; background:var(--sunset-pink); transition:width .25s linear; }


/* ══════════════════════════ CURSOR ══════════════════════════ */
#cursor{ position:fixed; inset:0; z-index:900; pointer-events:none; display:none; }
#cursor-dot{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background:var(--warm-cream); mix-blend-mode:difference;
}
#cursor-label{
  position:absolute; font-size:.56rem; letter-spacing:.2em; color:var(--near-black);
  background:var(--sunset-pink); padding:.45rem .7rem; border-radius:999px;
  opacity:0; transition:opacity .25s var(--ease);
}
#cursor.on #cursor-label{ opacity:1; }
@media (hover:hover) and (pointer:fine){ body,a,button{ cursor:none; } }


/* ══════════════════════════ HEADER ══════════════════════════ */
.hdr{
  position:fixed; top:0; left:0; right:0; z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem var(--gut); pointer-events:none;
  mix-blend-mode:difference;
}
.hdr > *{ pointer-events:auto; }
.hdr-name{ font-size:.6rem; letter-spacing:.2em; }
.hdr-nav{ display:none; gap:1.6rem; }
.hdr-nav a{ position:relative; padding-bottom:.2rem; }
.hdr-nav a::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:var(--sunset-pink); transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ease);
}
.hdr-nav a:hover::after{ transform:scaleX(1); transform-origin:left; }

.hdr-burger{ display:flex; flex-direction:column; gap:5px; padding:.7rem .3rem; }
.hdr-burger span{ display:block; width:22px; height:1.5px; background:var(--ink); }

.menu{
  position:fixed; inset:0; z-index:600; background:var(--near-black);
  display:flex; flex-direction:column; justify-content:center; gap:.4rem;
  padding:0 var(--gut);
}
.menu nav{ display:flex; flex-direction:column; gap:.2rem; }
.menu a{
  font-family:var(--display); font-weight:800; font-size:clamp(2.2rem,13vw,4rem);
  letter-spacing:-.03em; line-height:1.05;
}
.menu a:active{ color:var(--sunset-pink); }
.menu-meta{ margin-top:2.4rem; font-size:.6rem; letter-spacing:.22em; color:var(--muted); }


/* ══════════════════════════ ATOS / PALCO ══════════════════════════ */
.act{ position:relative; }
.act-hero{ height:320svh; }   /* filme encurtou de 8s para 4,75s */
.act-rt{ height:380svh; background:var(--near-black); }

.stage{
  position:sticky; top:0; height:100svh; overflow:hidden;
  background:var(--near-black);
}
.stage canvas:first-child{
  position:absolute; inset:-8%; width:116%; height:116%;
  object-fit:cover; filter:blur(30px) saturate(1.02) brightness(.9); transform:scale(1.08);
}
.stage canvas + canvas{ position:absolute; inset:0; width:100%; height:100%; }
/* contém a mídia saturada onde a tipografia vive — a interface não compete
   com o filme, só garante que o texto exista sobre ele                     */
.stage::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(17,16,15,.82) 0%, rgba(17,16,15,.4) 34%, rgba(17,16,15,0) 66%);
}
@media (min-width:1024px){
  .stage::after{
    background:linear-gradient(100deg, rgba(17,16,15,.78) 0%, rgba(17,16,15,.42) 28%, rgba(17,16,15,0) 56%);
  }
}
.stage-veil{
  position:absolute; inset:0; opacity:0; pointer-events:none;
  background:linear-gradient(to top, rgba(17,16,15,.96) 0%, rgba(17,16,15,.6) 40%, rgba(17,16,15,0) 100%);
}
.grain{
  position:absolute; inset:-30px; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}


/* ══════════════════════════ HERO ══════════════════════════ */
.hero-type{
  position:absolute; left:var(--gut); right:var(--gut); bottom:13svh; z-index:10;
  pointer-events:none;
}
.hero-type a{ pointer-events:auto; }
.hero-h{ font-size:clamp(2.4rem,14.5vw,5.2rem); }
.hero-h .ln{ display:block; overflow:hidden; padding-top:.06em; margin-top:-.06em; }
.hero-h .ln i{ display:block; font-style:normal; will-change:transform,clip-path; }
.hero-sub{ margin:1.4rem 0 0; font-size:.95rem; color:rgba(241,233,222,.82); max-width:26ch;
  text-shadow:0 1px 18px rgba(17,16,15,.9); }
.hero-cta{
  display:inline-flex; align-items:center; gap:.7rem; margin-top:1.6rem;
  font-size:.64rem; letter-spacing:.2em; padding:.9rem 0;
  border-bottom:1px solid rgba(241,233,222,.35);
}
.hero-cta i{ font-style:normal; transition:transform .4s var(--ease); }
.hero-cta:hover i{ transform:translateY(4px); }

.hero-meta{
  position:absolute; top:4.5rem; left:var(--gut); right:var(--gut); z-index:10;
  display:flex; flex-direction:column; gap:.25rem; margin:0; color:var(--muted);
  pointer-events:none;
}

.hero-out{
  position:absolute; inset:0; z-index:12; display:flex; flex-direction:column;
  justify-content:center; padding:0 var(--gut); opacity:0; pointer-events:none;
}
.hero-out-h{ margin:0; font-family:var(--display); font-weight:800;
  font-size:clamp(2.8rem,17vw,7rem); line-height:.86; letter-spacing:-.04em; }
.hero-out-h span{ display:block; }


/* ══════════════════════════ SEÇÕES ══════════════════════════ */
.sec{ position:relative; z-index:20; padding:14vh var(--gut); }
.sec-h{ font-size:clamp(2.2rem,12vw,4.4rem); }
.sec-h-sm{ font-size:clamp(1.8rem,9vw,3rem); }
.sec-lead{ margin:1.2rem 0 0; color:var(--muted); font-size:.92rem; max-width:34ch; }

/* ── TRABALHOS — grid quadrado clicável ──────────────────────────────────
   Clicável como um feed, mas sem virar rede social: sem card, sem sombra,
   sem borda arredondada. O rótulo de categoria vive fora do ladrilho.      */
.sec-work{ background:var(--near-black); }
.sec-head{ margin-bottom:8vh; }

.work-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:3vh 2vw; }
.work{ min-width:0; }
.work.is-live{ cursor:pointer; }

.tile{
  position:relative; aspect-ratio:1/1; overflow:hidden;
  background:#1a1817; display:grid; place-items:center;
}
.tile img,.tile video{ width:100%; height:100%; object-fit:cover; }
.tile img,.tile video{ transition:transform 1.1s var(--ease); }
.work.is-live:hover .tile img,.work.is-live:hover .tile video{ transform:scale(1.04); }

/* ladrilho de marca, quando ainda não há mídia */
.tile-mark,.tile-logo{
  position:absolute; inset:0; display:grid; place-items:center;
  background:var(--bc, #2a2422);
}
.tile-mark{
  font-family:var(--display); font-weight:800; font-size:clamp(.95rem,4.6vw,1.7rem);
  letter-spacing:-.02em; text-transform:uppercase; color:var(--warm-cream);
  text-align:center; padding:0 10%; line-height:1.02;
}
.tile-logo img{ width:42%; height:auto; object-fit:contain; filter:brightness(0) invert(1); opacity:.92; }

.tile-soon{
  position:absolute; left:0; bottom:0; padding:.45rem .7rem;
  font-size:.5rem; letter-spacing:.22em; color:var(--near-black);
  background:var(--warm-cream);
}
.tile-count{
  position:absolute; top:.6rem; right:.7rem;
  font-size:.58rem; letter-spacing:.1em; color:var(--warm-cream);
  text-shadow:0 1px 6px rgba(0,0,0,.7);
}
/* badge de play: diz que é vídeo sem virar botão de player */
.tile-play{
  position:absolute; top:.6rem; right:.7rem; width:0; height:0;
  border-left:11px solid var(--warm-cream);
  border-top:7px solid transparent; border-bottom:7px solid transparent;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.6));
}

.work-meta{
  display:flex; flex-direction:column; gap:.15rem; margin:.7rem 0 0; color:var(--muted);
}
.work-title{ color:var(--ink); }
.work-sub{ font-size:.55rem; display:flex; gap:.5rem; }
.work-sub i{ font-style:normal; opacity:.6; }
.work-empty{ color:var(--muted); font-size:.85rem; }

/* ── REAL-TIME ────────────────────────────────────────────────────────── */
.rt-marquee{
  position:absolute; top:34svh; left:0; z-index:11; width:max-content;
  display:flex; gap:2.5vw; align-items:center; white-space:nowrap;
  font-family:var(--display); font-weight:800; font-size:15vw; line-height:1;
  letter-spacing:-.035em; color:var(--warm-cream); opacity:0;
  mix-blend-mode:exclusion; pointer-events:none; will-change:transform;
}
.rt-marquee i{ font-style:normal; color:var(--sunset-pink); font-size:.34em; }

.rt-rail{
  position:absolute; z-index:11; top:50%; opacity:0; pointer-events:none;
  font-size:.56rem; letter-spacing:.3em; color:var(--muted);
  writing-mode:vertical-rl;
}
.rt-rail-l{ left:calc(var(--gut) - 1.2rem); transform:translateY(-50%) rotate(180deg); }
.rt-rail-r{ right:calc(var(--gut) - 1.2rem); transform:translateY(-50%); }

.rt-counter{
  position:absolute; z-index:11; left:var(--gut); top:4.5rem; opacity:0;
  font-size:.6rem; letter-spacing:.18em; color:var(--muted); pointer-events:none;
}
.rt-counter i{ font-style:normal; opacity:.45; margin:0 .3rem; }

.rt-type{
  position:absolute; left:var(--gut); right:var(--gut); bottom:16svh; z-index:12;
  opacity:0; pointer-events:none;
}
.rt-h{ font-size:clamp(2.2rem,13vw,4.6rem); }
.rt-h .ln{ display:block; overflow:hidden; padding-top:.06em; margin-top:-.06em; }
.rt-h .ln i{ display:block; font-style:normal; will-change:transform; }
.rt-sub{ margin:1.2rem 0 0; color:var(--muted); font-size:.9rem; max-width:32ch; }

.rt-steps{
  position:absolute; left:var(--gut); right:var(--gut); bottom:6svh; z-index:12;
  display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; pointer-events:none;
  font-size:.55rem; letter-spacing:.24em; color:var(--muted);
}
.rt-steps span{ opacity:0; }

/* ── BRANDS — índice ──────────────────────────────────────────────────── */
.sec-brands{ background:var(--warm-cream); color:var(--espresso); }
.sec-brands .sec-h{ color:var(--espresso); }
.brand-index{ list-style:none; margin:6vh 0 0; padding:0; border-top:1px solid rgba(36,23,19,.18); }
.brand{
  display:flex; align-items:baseline; gap:1rem; padding:1.1rem 0;
  border-bottom:1px solid rgba(36,23,19,.18);
}
.brand-logo{ width:20px; height:20px; object-fit:contain; opacity:.85; flex:none; }
.brand-name{ font-family:var(--display); font-weight:600; font-size:1.35rem; letter-spacing:-.02em; }
.brand-rel{ margin-left:auto; color:rgba(36,23,19,.55); font-size:.55rem; }
.brand.is-live{ cursor:pointer; }
.brand.is-live .brand-name{ text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--deep-burgundy); }
.brand-note{ margin-top:1.6rem; font-size:.72rem; color:rgba(36,23,19,.6); max-width:40ch; }

/* ── UGC — zona clara, mais ar, vertical ──────────────────────────────── */
.sec-ugc{ background:var(--warm-cream); color:var(--espresso); padding-top:8vh; }
.sec-ugc .sec-h{ color:var(--espresso); }
.sec-ugc .sec-lead{ color:rgba(36,23,19,.65); }
.ugc-head{ margin-bottom:7vh; }
.ugc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:3vh 2vw; }
.ugc-grid .tile{ background:rgba(36,23,19,.06); }
.ugc-grid .work-meta{ color:rgba(36,23,19,.6); }
.ugc-grid .work-title{ color:var(--espresso); }
.ugc-grid .tile-soon{ background:var(--espresso); color:var(--warm-cream); }

/* ── PROCESS — linha editorial, sem cards ─────────────────────────────── */
.sec-process{ background:var(--deep-burgundy); }
.proc-lead{ margin:1.2rem 0 7vh; font-family:var(--accent); font-size:1.4rem; color:rgba(241,233,222,.8); }
.flow + .flow{ margin-top:7vh; }
.flow-label{ color:var(--sunset-pink); margin:0 0 1.4rem; }
.flow-steps{
  list-style:none; margin:0; padding:0;
  border-top:1px solid rgba(241,233,222,.2);
}
.flow-steps li{
  display:flex; align-items:baseline; gap:1.1rem; padding:.85rem 0;
  border-bottom:1px solid rgba(241,233,222,.2);
  font-family:var(--display); font-weight:600; font-size:1.2rem; letter-spacing:-.015em;
  text-transform:uppercase;
}
.flow-steps li i{ font-style:normal; font-family:var(--body); font-weight:400;
  font-size:.6rem; letter-spacing:.2em; color:rgba(241,233,222,.5); min-width:2rem; }

/* ── ABOUT — foto grande + bio como legenda ───────────────────────────── */
.sec-about{ background:var(--espresso); padding-top:0; }
.about-fig{ margin:0 calc(var(--gut) * -1) 4vh; }
.about-fig img{ width:100%; height:auto; }
.about-tags{ display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin:1.2rem 0 1.6rem; }
.about-tags span{ font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--sunset-pink); }
.about-bio{ margin:0 0 1rem; color:rgba(241,233,222,.82); max-width:44ch; }
.about-bio-sm{ font-size:.82rem; color:var(--muted); }

/* ── CTA ──────────────────────────────────────────────────────────────── */
.sec-cta{ background:var(--near-black); position:relative; overflow:hidden; }
.cta-photo{ position:absolute; inset:0; opacity:.22; }
.cta-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.cta-body{ position:relative; }
.cta-sub{ margin:1.2rem 0 2.4rem; color:var(--muted); font-size:.86rem; letter-spacing:.06em; }
.cta-channels{ display:flex; flex-wrap:wrap; gap:1.4rem; margin-bottom:3rem; }
.cta-channels a{ font-size:.62rem; letter-spacing:.2em; border-bottom:1px solid var(--sunset-pink); padding-bottom:.25rem; }

.form{ display:flex; flex-direction:column; gap:1.1rem; max-width:44rem; }
.f-row{ display:flex; flex-direction:column; gap:1.1rem; }
.f{ display:flex; flex-direction:column; gap:.4rem; }
.f span{ font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.f input,.f select,.f textarea{
  font:inherit; font-size:.95rem; color:var(--ink); background:transparent;
  border:0; border-bottom:1px solid rgba(241,233,222,.3); padding:.6rem 0;
  border-radius:0;
}
.f select option{ background:var(--near-black); }
.f input:focus,.f select:focus,.f textarea:focus{ outline:none; border-color:var(--sunset-pink); }
.btn{
  align-self:flex-start; margin-top:.8rem; padding:1.05rem 2rem;
  border:1px solid rgba(241,233,222,.4); font-size:.62rem; letter-spacing:.2em;
  transition:background .4s var(--ease), color .4s var(--ease);
}
.btn:hover{ background:var(--sunset-pink); color:var(--near-black); border-color:var(--sunset-pink); }
.f-status{ font-size:.78rem; color:var(--sunset-pink); margin:0; min-height:1.2em; }

.ft{
  display:flex; flex-direction:column; gap:.4rem;
  padding:4vh var(--gut); background:var(--near-black);
  font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
}

/* ── MODAL ────────────────────────────────────────────────────────────── */
.modal{ position:fixed; inset:0; z-index:800; background:rgba(17,16,15,.985);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); overflow-y:auto; }
.modal-close{ position:fixed; top:1rem; right:var(--gut); z-index:2; font-size:1.1rem; padding:.6rem; }
.modal-inner{ padding:14vh var(--gut) 10vh; }
.modal-head h3{ font-family:var(--display); font-weight:800; font-size:clamp(2rem,11vw,3.4rem);
  margin:0; letter-spacing:-.03em; text-transform:uppercase; }
.modal-head p{ margin:.6rem 0 5vh; color:var(--muted); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; }
.modal-media{ display:grid; gap:4vh; }
.modal-media img,.modal-media video{ width:100%; height:auto; }
.mv{ margin:0; }
.mv video[data-portrait]{ max-width:min(420px,80vw); margin:0 auto; display:block; background:#000; }
.mv-demo{ margin:.7rem 0 0; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--sunset-pink); text-align:center; }


/* ══════════════════════════ TABLET ══════════════════════════ */
@media (min-width:768px){
  :root{ --gut:5vw; }
  .work-grid{ grid-template-columns:repeat(3,1fr); }
  .ugc-grid{ grid-template-columns:repeat(3,1fr); }
  .f-row{ flex-direction:row; }
  .f-row .f{ flex:1; }
  .ft{ flex-direction:row; justify-content:space-between; }
  .sec-about{ display:grid; grid-template-columns:1.1fr .9fr; gap:4vw; align-items:end;
    padding:14vh var(--gut); }
  .about-fig{ margin:0; }
}

/* ══════════════════════════ DESKTOP ══════════════════════════ */
@media (min-width:1024px){
  :root{ --gut:4.5vw; }
  body{ font-size:17px; }
  .hdr{ padding:1.6rem var(--gut); }
  .hdr-nav{ display:flex; }
  .hdr-burger,.menu{ display:none; }

  .act-hero{ height:400svh; }
  .act-rt{ height:460svh; }

  /* Hero: ela vive à direita do frame — a tipografia ocupa a esquerda */
  .hero-type{ left:var(--gut); right:auto; width:min(46vw,46rem); bottom:auto; top:50%;
    transform:translateY(-50%); }
  .hero-h{ font-size:clamp(3.4rem,6.4vw,8rem); }
  .hero-sub{ font-size:1.05rem; max-width:30ch; }
  .hero-meta{ top:auto; bottom:3.5svh; left:var(--gut); right:auto;
    flex-direction:row; gap:2.4rem; }
  .hero-out{ padding-left:var(--gut); }
  .hero-out-h{ font-size:clamp(5rem,11vw,13rem); }

  .sec{ padding:18vh var(--gut); }
  .sec-h{ font-size:clamp(3rem,6.6vw,8rem); }
  .sec-h-sm{ font-size:clamp(2.2rem,4vw,4.4rem); }
  .sec-lead{ font-size:1rem; }
  .sec-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:4vw; }
  .sec-head .sec-lead{ margin:0 0 .6rem; text-align:right; }

  .work-grid{ grid-template-columns:repeat(4,1fr); gap:5vh 1.5vw; }
  .work-sub{ font-size:.58rem; }
  .tile img,.tile video{ filter:saturate(.96); }
  .work.is-live:hover .tile img,.work.is-live:hover .tile video{ filter:saturate(1.06); }

  .rt-marquee{ font-size:13vw; top:30svh; }
  .rt-type{ left:var(--gut); right:auto; width:min(44vw,44rem); bottom:14svh; }
  .rt-h{ font-size:clamp(3rem,6vw,7rem); }
  .rt-rail{ font-size:.6rem; }

  .brand{ padding:1.5rem 0; }
  .brand-name{ font-size:2.6rem; }
  .brand.is-live:hover .brand-name{ color:var(--deep-burgundy); }

  .ugc-grid{ grid-template-columns:repeat(5,1fr); gap:5vh 1.5vw; }
  .ugc-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:4vw; }
  .ugc-head .sec-lead{ margin:0 0 .6rem; text-align:right; }

  .proc-flows{ display:grid; grid-template-columns:1fr 1fr; gap:5vw; }
  .flow + .flow{ margin-top:0; }
  .flow-steps li{ font-size:1.5rem; }

  .sec-about{ grid-template-columns:1.2fr .8fr; gap:5vw; }
  .about-bio{ font-size:1.02rem; }

  .cta-photo{ opacity:.3; }
  .cta-body{ max-width:72rem; }
  .modal-inner{ padding:16vh 12vw 12vh; }
  .modal-media{ grid-template-columns:repeat(2,1fr); }
  .modal-media > *:first-child{ grid-column:1 / -1; }
}

@media (min-width:1600px){
  .hero-h{ font-size:clamp(5rem,6.2vw,12rem); }
  .sec-h{ font-size:clamp(4rem,6.4vw,10rem); }
}


/* ══════════════════════════ MOVIMENTO REDUZIDO ══════════════════════════ */
@media (prefers-reduced-motion:reduce){
  .grain{ display:none; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .hero-h .ln i,.rt-h .ln i{ transform:none !important; clip-path:none !important; }
  .hero-sub,.hero-cta,.hero-meta,.rt-type,.rt-steps span,.rt-rail{ opacity:1 !important; }
  .rt-marquee{ opacity:.5 !important; transform:none !important; }
}
