@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

  :root{
    --bg: #170f24;
    --bg-elev: #221733;
    --bg-elev-2: #2c1f42;
    --signal: #8b2fd1;
    --signal-soft: rgba(139,47,209,0.18);
    --amber: #f0c419;
    --ink: #f6f2ff;
    --ink-muted: #bdb0d9;
    --ink-faint: #83729f;
    --line: rgba(246,242,255,0.12);
    --line-strong: rgba(246,242,255,0.22);
    --radius: 2px;
  }

  *{ box-sizing: border-box; }
  html{ scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior: auto; }
    *{ animation: none !important; transition: none !important; }
  }

  body{
    margin:0;
    background: var(--bg);
    color: var(--ink);
    font-family: 'IBM Plex Sans', sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
  }

  h1,h2,h3{ font-family:'Space Grotesk', sans-serif; margin:0; letter-spacing:-0.01em; }
  a{ color: inherit; }
  img{ max-width:100%; display:block; }

  .wrap{ max-width: 1040px; margin: 0 auto; padding: 0 24px; }

  /* ===== Nav ===== */
  header{
    position:sticky; top:0; z-index:50;
    background: rgba(23,15,36,0.88); backdrop-filter: blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1040px; margin:0 auto; gap:16px; }
  .nav-brand{ display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
  .nav-brand img{ height:38px; width:auto; }
  @media (max-width:640px){ .nav-brand img{ height:30px; } }
  .nav-links{ display:flex; align-items:center; gap:15px; list-style:none; margin:0; padding:0; }
  .nav-links a{
    position:relative;
    font-family:'IBM Plex Mono', monospace; font-size:11.5px;
    letter-spacing:0.05em; text-transform:uppercase; white-space:nowrap;
    color: var(--ink-muted); text-decoration:none; transition:color .15s ease;
  }
  .nav-links a:hover{ color: var(--amber); }
  .nav-links a.active{ color: var(--ink); }
  .nav-links a.active::after{
    content:''; position:absolute; left:0; right:0; bottom:-7px;
    height:2px; background: var(--amber);
  }
  .nav-cta{
    font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.05em;
    text-transform:uppercase; text-decoration:none;
    border:1px solid var(--line-strong); border-radius:var(--radius);
    padding:7px 13px; color:var(--ink); transition:border-color .15s ease, color .15s ease;
  }
  .nav-cta:hover{ border-color:var(--amber); color:var(--amber); }

  .nav-toggle{
    display:none; background:transparent; border:1px solid var(--line-strong);
    border-radius:var(--radius); color:var(--ink); cursor:pointer;
    width:42px; height:38px; align-items:center; justify-content:center; flex-shrink:0;
  }
  .nav-toggle span{ display:block; width:18px; height:2px; background:var(--ink); position:relative; }
  .nav-toggle span::before, .nav-toggle span::after{
    content:''; position:absolute; left:0; width:18px; height:2px; background:var(--ink);
    transition: transform .2s ease, top .2s ease;
  }
  .nav-toggle span::before{ top:-6px; }
  .nav-toggle span::after{ top:6px; }
  .nav-toggle[aria-expanded="true"] span{ background:transparent; }
  .nav-toggle[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }

  @media (max-width:980px){
    .nav-toggle{ display:flex; }
    .nav-links{
      display:none; position:absolute; top:100%; left:0; right:0;
      flex-direction:column; align-items:stretch; gap:0;
      background: rgba(23,15,36,0.98); border-bottom:1px solid var(--line);
      padding:8px 24px 16px;
    }
    .nav-links.open{ display:flex; }
    .nav-links li{ border-top:1px solid var(--line); }
    .nav-links a{ display:block; padding:13px 0; font-size:13px; }
    .nav-links a.active::after{ display:none; }
    .nav-cta{ display:inline-block; margin-top:12px; text-align:center; }
  }

  /* ===== Hero ===== */
  .hero{
    position:relative; padding:104px 0 72px;
    border-bottom:1px solid var(--line); overflow:hidden; isolation:isolate;
  }
  .hero .hero-bg{
    position:absolute; inset:0; z-index:-2;
    background-image:url('assets/hero-poster.jpg');
    background-size:cover; background-position:center;
  }
  .hero .hero-bg video{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center;
  }
  @media (prefers-reduced-motion: reduce){ .hero .hero-bg video{ display:none; } }
  .hero .hero-scrim{
    position:absolute; inset:0; z-index:-1;
    background:
      linear-gradient(100deg, rgba(23,15,36,0.96) 0%, rgba(23,15,36,0.86) 30%, rgba(23,15,36,0.42) 62%, rgba(23,15,36,0.10) 100%),
      radial-gradient(ellipse 700px 420px at 12% -10%, rgba(139,47,209,0.34), transparent 60%);
  }
  @media (max-width: 760px){
    .hero{ padding:72px 0 56px; }
    .hero .hero-scrim{
      background:
        linear-gradient(180deg, rgba(23,15,36,0.93) 0%, rgba(23,15,36,0.80) 55%, var(--bg) 100%),
        radial-gradient(ellipse 500px 340px at 20% 0%, rgba(139,47,209,0.38), transparent 62%);
    }
  }
  .eyebrow{ display:flex; align-items:center; gap:10px; margin-bottom:22px; flex-wrap:wrap; }
  .eyebrow .chan{
    font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.14em;
    color: var(--ink-muted); border:1px solid var(--line-strong);
    padding:3px 8px; border-radius: var(--radius); background: rgba(23,15,36,0.4);
  }
  .tally{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color: var(--ink-muted);
  }
  .tally .dot{
    width:8px; height:8px; border-radius:50%;
    background: var(--amber); animation: pulse 1.8s ease-in-out infinite; flex-shrink:0;
  }
  @keyframes pulse{
    0%,100%{ box-shadow:0 0 0 0 rgba(240,196,25,0.5); }
    50%{ box-shadow:0 0 0 6px rgba(240,196,25,0); }
  }
  .hero h1{ font-size: clamp(32px,5.2vw,56px); font-weight:700; line-height:1.06; max-width:16ch; margin-bottom:20px; }
  .hero h1 em{ font-style:normal; color: var(--amber); }
  .hero p.lead{ max-width:54ch; font-size:17px; color: var(--ink-muted); margin-bottom:30px; }

  .btn-primary{
    display:inline-flex; align-items:center; gap:10px;
    background: var(--signal); color: var(--ink);
    padding:14px 26px; font-size:15px; font-weight:600;
    border-radius: var(--radius); text-decoration:none;
    border:1px solid var(--signal); transition: background .15s ease;
  }
  .btn-primary:hover{ background:#7423b3; }
  .btn-ghost{
    display:inline-flex; align-items:center; gap:10px;
    background:transparent; color: var(--ink);
    padding:14px 26px; font-size:15px; font-weight:600;
    border-radius: var(--radius); text-decoration:none;
    border:1px solid var(--line-strong); transition: border-color .15s ease, color .15s ease;
  }
  .btn-ghost:hover{ border-color: var(--amber); color: var(--amber); }
  .cta-row{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:36px; }

  .proof{ display:flex; gap:34px; flex-wrap:wrap; padding-top:20px; border-top:1px solid var(--line); }
  .proof-item .n{ font-family:'Space Grotesk',sans-serif; font-size:27px; font-weight:700; color: var(--amber); line-height:1.1; }
  .proof-item .l{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color: var(--ink-faint); margin-top:4px; }

  /* ===== Sections ===== */
  section{ padding:76px 0; border-bottom:1px solid var(--line); }
  .section-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:34px; flex-wrap:wrap; }
  .section-head .chan{
    font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.14em;
    color: var(--amber); border:1px solid var(--line-strong); padding:3px 8px; border-radius:var(--radius);
  }
  .section-head h2{ font-size: clamp(23px,3.2vw,32px); font-weight:700; }
  .section-sub{ color:var(--ink-muted); font-size:15.5px; max-width:60ch; margin:-18px 0 32px; }

  .grid{ display:grid; gap:18px; }
  .g3{ grid-template-columns: repeat(3,1fr); }
  .g2{ grid-template-columns: repeat(2,1fr); }
  .g4{ grid-template-columns: repeat(4,1fr); }
  @media (max-width:900px){ .g4{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:820px){ .g3,.g2{ grid-template-columns:1fr; } }

  .card{
    background: var(--bg-elev); border:1px solid var(--line);
    border-radius: var(--radius); padding:22px;
  }
  .card h3{ font-size:16.5px; font-weight:600; margin-bottom:8px; }
  .card p{ margin:0; font-size:14.5px; color: var(--ink-muted); }
  .card .ico{
    display:inline-block; margin-bottom:12px;
    font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--amber);
    border:1px solid var(--line-strong); border-radius:var(--radius); padding:3px 8px;
  }

  /* Card de serviço (link) */
  a.card-link{
    display:block; text-decoration:none;
    background: var(--bg-elev); border:1px solid var(--line);
    border-radius: var(--radius); padding:20px;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
  }
  a.card-link:hover{ border-color: var(--signal); background: var(--bg-elev-2); transform: translateY(-2px); }
  a.card-link h3{ font-size:15.5px; font-weight:600; margin-bottom:7px; }
  a.card-link p{ margin:0; font-size:14px; color: var(--ink-muted); }
  a.card-link .arw{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-faint); margin-top:12px; display:block; }
  a.card-link:hover .arw{ color: var(--amber); }

  /* ===== Estúdios (blocos grandes) ===== */
  .studio{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:22px; background:var(--bg-elev); }
  .studio.rev .studio-media{ order:2; }
  @media (max-width:860px){ .studio{ grid-template-columns:1fr; } .studio.rev .studio-media{ order:0; } }
  .studio-media{ position:relative; min-height:320px; background:var(--bg-elev-2); }
  .studio-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .studio-body{ padding:34px 32px; display:flex; flex-direction:column; justify-content:center; }
  @media (max-width:640px){ .studio-body{ padding:26px 22px; } .studio-media{ min-height:230px; } }
  .studio-body .tag{
    font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--amber); margin-bottom:10px;
  }
  .studio-body h3{ font-size:clamp(21px,2.6vw,27px); font-weight:700; margin-bottom:12px; }
  .studio-body p{ color:var(--ink-muted); font-size:15px; margin:0 0 16px; }
  .studio-specs{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
  .studio-specs li{
    font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
    color:var(--ink-muted); border:1px solid var(--line); border-radius:var(--radius); padding:4px 9px;
  }

  /* ===== Vídeo destaque ===== */
  .video-feature{
    border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
    background:#000; line-height:0; position:relative;
  }
  .video-feature video{ width:100%; height:auto; display:block; }
  .video-caption{
    font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--ink-faint); margin-top:12px; line-height:1.5;
  }
  /* Vídeo vertical (9:16) ao lado do texto */
  .video-vert{ display:grid; grid-template-columns: 340px 1fr; gap:40px; align-items:start; }
  .video-vert-body{ padding-top:8px; }
  @media (max-width:820px){ .video-vert{ grid-template-columns:1fr; gap:24px; } }
  .video-vert .video-feature{ max-width:340px; }
  @media (max-width:820px){ .video-vert .video-feature{ max-width:280px; margin:0 auto; } }
  .video-vert-body h3{ font-size:clamp(19px,2.4vw,24px); margin-bottom:12px; }
  .video-vert-body p{ color:var(--ink-muted); font-size:15px; margin:0 0 14px; }

  /* ===== Logos ===== */
  .logos{ display:flex; flex-wrap:wrap; align-items:center; gap:20px 34px; }
  .logos img{
    height:32px; width:auto; opacity:.72;
    filter: grayscale(1) brightness(1.7);
    transition: opacity .2s ease, filter .2s ease;
  }
  .logos img.alto{ height:44px; }
  .logos img.largo{ height:26px; }
  .logos img:hover{ opacity:1; filter: grayscale(0) brightness(1); }
  @media (max-width:640px){
    .logos{ gap:14px 22px; }
    .logos img{ height:24px; }
    .logos img.alto{ height:34px; }
    .logos img.largo{ height:20px; }
  }

  /* ===== Carrossel ===== */
  .carousel-wrap{ position:relative; }
  .carousel{
    display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
    scroll-behavior:smooth; padding-bottom:6px;
    scrollbar-width:none; -ms-overflow-style:none;
  }
  .carousel::-webkit-scrollbar{ display:none; }
  .carousel figure{
    margin:0; flex:0 0 auto; width:calc((100% - 24px) / 3);
    scroll-snap-align:start; border:1px solid var(--line);
    border-radius:var(--radius); overflow:hidden; background:var(--bg-elev); line-height:0;
    position:relative;
  }
  .carousel figure img{
    width:100%; height:260px; object-fit:cover;
    transition:transform .4s ease, opacity .2s ease; opacity:.94;
  }
  .carousel figure:hover img{ transform:scale(1.04); opacity:1; }
  .carousel figcaption{
    position:absolute; left:0; right:0; bottom:0; padding:22px 14px 11px;
    font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.08em;
    text-transform:uppercase; color:var(--ink); line-height:1.4;
    background:linear-gradient(180deg, transparent, rgba(23,15,36,.92));
  }
  .car-btn{
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:44px; height:44px; border-radius:50%; cursor:pointer;
    background:rgba(23,15,36,.86); border:1px solid var(--line-strong);
    color:var(--ink); font-size:19px; line-height:1;
    display:flex; align-items:center; justify-content:center;
    transition:border-color .15s ease, color .15s ease, opacity .2s ease;
  }
  .car-btn:hover{ border-color:var(--amber); color:var(--amber); }
  .car-btn[disabled]{ opacity:.28; cursor:default; }
  .car-btn.prev{ left:-14px; }
  .car-btn.next{ right:-14px; }
  .car-hint{
    font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--ink-faint); margin-top:14px;
  }
  @media (max-width:900px){
    .carousel figure{ width:78%; }
    .carousel figure img{ height:200px; }
    .car-btn{ display:none; }
  }

  /* ===== Galeria ===== */
  .gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
  @media (max-width:900px){ .gallery{ grid-template-columns:repeat(2,1fr); } }
  .gallery div{
    overflow:hidden; border:1px solid var(--line);
    border-radius:var(--radius); background: var(--bg-elev); line-height:0;
  }
  .gallery img{
    width:100%; height:180px; object-fit:cover;
    transition: transform .35s ease, opacity .2s ease; opacity:.92;
  }
  .gallery div:hover img{ transform:scale(1.05); opacity:1; }
  @media (max-width:640px){ .gallery img{ height:140px; } }

  /* ===== Steps ===== */
  .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  @media (max-width:820px){ .steps{ grid-template-columns:1fr; } }
  .step{ border-left:2px solid var(--signal); padding-left:18px; }
  .step .num{ font-family:'IBM Plex Mono',monospace; font-size:12px; color: var(--amber); letter-spacing:.14em; }
  .step h3{ font-size:16px; margin:6px 0 6px; }
  .step p{ margin:0; font-size:14.5px; color: var(--ink-muted); }

  /* ===== Depoimentos ===== */
  .quote{ background: var(--bg-elev); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
  .quote p{ margin:0 0 14px; font-size:15px; color: var(--ink); font-style:italic; }
  .quote .who{ font-family:'IBM Plex Mono',monospace; font-size:12px; color: var(--ink-faint); letter-spacing:.06em; }
  .stars{ color: var(--amber); font-size:14px; margin-bottom:10px; }

  /* ===== FAQ ===== */
  details{ border-bottom:1px solid var(--line); padding:16px 0; }
  details summary{
    cursor:pointer; font-family:'Space Grotesk',sans-serif; font-weight:600;
    font-size:16px; list-style:none; display:flex; justify-content:space-between; gap:16px;
  }
  details summary::-webkit-details-marker{ display:none; }
  details summary::after{ content:'+'; color: var(--amber); font-size:20px; line-height:1; }
  details[open] summary::after{ content:'–'; }
  details p{ margin:12px 0 0; color: var(--ink-muted); font-size:14.5px; }

  /* ===== Formulário ===== */
  .form-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:36px; align-items:start; }
  @media (max-width:860px){ .form-grid{ grid-template-columns:1fr; } }
  .form-intro p{ color: var(--ink-muted); font-size:15px; margin:0 0 20px; max-width:44ch; }
  .form-intro .alt-label{
    font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em;
    text-transform:uppercase; color: var(--ink-faint); display:block; margin:26px 0 12px;
  }
  .contact-block{ margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
  .contact-block .foot-title{ margin-bottom:8px; }
  .contact-block p{ font-size:14px; margin:0 0 12px; }
  .lead-form{
    background: var(--bg-elev); border:1px solid var(--line); border-radius: var(--radius);
    padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:16px;
  }
  @media (max-width:560px){ .lead-form{ grid-template-columns:1fr; padding:22px; } }
  .field{ display:flex; flex-direction:column; gap:6px; }
  .field.full{ grid-column:1 / -1; }
  .field label{
    font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em;
    text-transform:uppercase; color: var(--ink-faint);
  }
  .field label b{ color: var(--amber); }
  .field input, .field select, .field textarea{
    background: var(--bg); border:1px solid var(--line-strong); border-radius: var(--radius);
    color: var(--ink); font-family:'IBM Plex Sans',sans-serif; font-size:14.5px;
    padding:11px 12px; width:100%;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none; border-color: var(--signal);
  }
  .field textarea{ resize:vertical; }
  .field .err{ display:none; font-size:12px; color:#ff8095; }
  .field.invalid input, .field.invalid select{ border-color:#ff8095; }
  .field.invalid .err{ display:block; }
  .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .form-consent{ grid-column:1 / -1; margin:0; font-size:12px; color:var(--ink-faint); }
  .form-submit{ grid-column:1 / -1; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .form-submit button{
    background: var(--signal); color: var(--ink); border:1px solid var(--signal);
    border-radius: var(--radius); padding:13px 26px; font-size:15px; font-weight:600;
    font-family:'IBM Plex Sans',sans-serif; cursor:pointer; transition: background .15s ease;
  }
  .form-submit button:hover:not(:disabled){ background:#7423b3; }
  .form-submit button:disabled{ opacity:.6; cursor:default; }
  .form-status{ display:none; font-size:13px; color:#ff8095; }
  .form-toggle{
    display:none; background:transparent; color:var(--ink); border:1px solid var(--line-strong);
    border-radius:var(--radius); padding:12px 20px; font-size:14.5px; font-weight:600;
    font-family:'IBM Plex Sans',sans-serif; cursor:pointer; margin-bottom:16px;
  }
  .form-ok{
    display:none; background: var(--bg-elev); border:1px solid #25D366;
    border-radius:var(--radius); padding:28px;
  }
  .form-ok h3{ font-size:18px; margin-bottom:10px; }
  .form-ok p{ color:var(--ink-muted); font-size:14.5px; margin:0 0 18px; }
  .wa-main{
    display:block; width:100%; text-align:center; text-decoration:none;
    background:#25D366; color:#0b2e1a; border-radius:var(--radius); padding:16px;
    font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px;
    transition: filter .15s ease; margin-top:8px;
  }
  .wa-main:hover{ filter:brightness(1.07); }

  /* ===== Final CTA / footer ===== */
  .final-cta{
    background: radial-gradient(ellipse 600px 300px at 50% 0%, rgba(139,47,209,0.28), transparent 65%);
    text-align:center;
  }
  .final-cta h2{ font-size: clamp(24px,3.4vw,34px); margin-bottom:14px; }
  .final-cta p{ color: var(--ink-muted); max-width:52ch; margin:0 auto 26px; }

  footer{ padding:48px 0 60px; }
  .foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:28px; }
  @media (max-width:860px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .foot-grid{ grid-template-columns:1fr; } }
  footer p, footer a{ font-size:14px; color: var(--ink-muted); text-decoration:none; }
  footer a:hover{ color: var(--amber); }
  footer ul{ list-style:none; margin:0; padding:0; }
  footer li{ margin-bottom:7px; }
  .foot-title{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color: var(--ink-faint); margin-bottom:12px; }
  .copyright{ margin-top:34px; padding-top:20px; border-top:1px solid var(--line); font-size:12.5px; color: var(--ink-faint); }

  .float-wa{
    position:fixed; right:20px; bottom:20px; z-index:60;
    background:#25D366; color:#0b2e1a; width:54px; height:54px;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    text-decoration:none; font-size:26px; box-shadow:0 6px 20px rgba(0,0,0,.35);
  }

  /* Barra de ação fixa (só mobile — ativada na media query abaixo) */
  .mobile-bar{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:60;
    gap:10px; padding:10px 14px;
    background:rgba(23,15,36,.96); backdrop-filter:blur(8px);
    border-top:1px solid var(--line-strong);
  }
  .mobile-bar a{
    flex:1; text-align:center; text-decoration:none; padding:13px 8px;
    border-radius:var(--radius); font-size:14.5px; font-weight:600;
    font-family:'Space Grotesk',sans-serif;
  }
  .mobile-bar .mb-wa{ background:#25D366; color:#0b2e1a; }
  .mobile-bar .mb-form{ background:transparent; color:var(--ink); border:1px solid var(--line-strong); }

  /* =====================================================================
     Mobile objetivo: no celular a pessoa quer decidir rápido e chamar no
     WhatsApp. Encurtamos o caminho — texto de apoio some, seções
     secundárias enxugam, e a barra de ação fica fixa no rodapé.
     ===================================================================== */
  .desk-only{ display:initial; }
  @media (max-width:760px){
    .desk-only{ display:none !important; }
    section{ padding:48px 0; }
    .section-head{ margin-bottom:22px; }
    .section-sub{ margin:-12px 0 22px; font-size:14.5px; }
    .hero h1{ font-size:clamp(28px,7.6vw,36px); max-width:none; }
    .hero p.lead{ font-size:15.5px; margin-bottom:24px; }
    .cta-row{ margin-bottom:26px; }
    .cta-row .btn-primary, .cta-row .btn-ghost{ flex:1 1 100%; justify-content:center; }
    /* Três números, não quatro: "2 estúdios" já está no título */
    .proof{ gap:14px; display:grid; grid-template-columns:repeat(3,1fr); }
    .proof-item:nth-child(2){ display:none; }
    .proof-item .n{ font-size:21px; }
    .proof-item .l{ font-size:9.5px; letter-spacing:.04em; line-height:1.35; }
    .grid{ gap:12px; }
    .card{ padding:18px; }
    .steps{ gap:14px; }
    .gallery{ gap:8px; }
    /* Só as 4 primeiras fotos da galeria no celular */
    .gallery div:nth-child(n+5){ display:none; }
    /* Depoimentos: um por vez, deslizando */
    #depoimentos .grid{
      display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
      scrollbar-width:none; -ms-overflow-style:none;
    }
    #depoimentos .grid::-webkit-scrollbar{ display:none; }
    #depoimentos .quote{ flex:0 0 86%; scroll-snap-align:start; }
    /* Barra de ação fixa no rodapé */
    .mobile-bar{ display:flex; }
    .float-wa{ display:none; }
    body{ padding-bottom:70px; }
    footer{ padding:36px 0 40px; }
  }

/* =====================================================================
   Páginas internas (geradas por _conteudo.py)
   ===================================================================== */

/* Hero com foto de fundo, usado nas páginas que não têm vídeo */
.hero-img{ background-image: var(--hero-img); background-size:cover; background-position:center; }
.hero-img .hero-scrim{
  background:
    linear-gradient(100deg, rgba(23,15,36,0.97) 0%, rgba(23,15,36,0.90) 34%, rgba(23,15,36,0.55) 66%, rgba(23,15,36,0.25) 100%),
    radial-gradient(ellipse 700px 420px at 12% -10%, rgba(139,47,209,0.34), transparent 60%);
}
@media (max-width:760px){
  .hero-img .hero-scrim{
    background:
      linear-gradient(180deg, rgba(23,15,36,0.94) 0%, rgba(23,15,36,0.84) 55%, var(--bg) 100%),
      radial-gradient(ellipse 500px 340px at 20% 0%, rgba(139,47,209,0.36), transparent 62%);
  }
}
.hero-simples{
  padding:72px 0 56px;
  background: radial-gradient(ellipse 700px 380px at 15% -10%, rgba(139,47,209,0.26), transparent 62%);
}
.hero-simples h1, .hero-img h1{ font-size: clamp(28px,4.4vw,44px); max-width:20ch; }

/* Texto corrido */
.prosa{ color:var(--ink-muted); font-size:15.5px; max-width:68ch; margin:0 0 16px; }
.prosa a{ color:var(--amber); text-decoration:underline; text-underline-offset:3px; }
.prosa strong{ color:var(--ink); }
.prosa-bloco h2{
  font-size:clamp(19px,2.4vw,23px); margin:34px 0 12px;
  padding-top:22px; border-top:1px solid var(--line);
}
.prosa-bloco h2:first-child{ border-top:none; padding-top:0; margin-top:0; }

/* Lista do "o que está incluso" */
ul.check{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 26px; }
@media (max-width:760px){ ul.check{ grid-template-columns:1fr; } }
ul.check li{
  position:relative; padding-left:26px; color:var(--ink-muted); font-size:15px; line-height:1.5;
}
ul.check li::before{
  content:''; position:absolute; left:2px; top:9px;
  width:9px; height:9px; border-radius:50%;
  background:var(--signal); box-shadow:0 0 0 3px rgba(139,47,209,.18);
}

/* Cards do blog */
.posts .post-card{ padding:0; overflow:hidden; }
.post-card img{ width:100%; height:170px; object-fit:cover; opacity:.9; transition:opacity .2s ease, transform .35s ease; }
.post-card:hover img{ opacity:1; transform:scale(1.04); }
.post-card .post-body{ padding:20px; }
.post-card h3{ font-size:16px; line-height:1.35; margin-bottom:8px; }

/* ===== Blocos de formato (página de cenários do Studio B) ===== */
.format-block{
  display:grid; grid-template-columns:1.15fr 1fr; gap:32px; align-items:center;
  padding:30px 0; border-top:1px solid var(--line);
}
.format-block:first-of-type{ border-top:none; padding-top:6px; }
.format-block.reverse .format-media{ order:2; }
@media (max-width:820px){
  .format-block{ grid-template-columns:1fr; gap:20px; padding:24px 0; }
  .format-block.reverse .format-media{ order:0; }
}
.format-media{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; line-height:0; background:var(--bg-elev); }
.format-media img{ width:100%; height:280px; object-fit:cover; opacity:.94; transition:opacity .2s ease, transform .4s ease; }
.format-block:hover .format-media img{ opacity:1; transform:scale(1.03); }
@media (max-width:640px){ .format-media img{ height:210px; } }
.format-num{
  font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--amber); display:block; margin-bottom:10px;
}
.format-body h3{ font-size:clamp(19px,2.4vw,24px); margin-bottom:10px; }
.format-body p{ color:var(--ink-muted); font-size:15px; margin:0 0 16px; }
.format-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.format-tags span{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-muted);
  border:1px solid var(--line); border-radius:var(--radius); padding:4px 9px;
}

/* Larguras do carrossel: três por vez (cenários) ou dois (clientes, fotos mais largas) */
.carousel.car-dois figure{ width:calc((100% - 12px) / 2); }
.carousel.car-dois figure img{ height:320px; }
@media (max-width:900px){
  .carousel.car-dois figure{ width:88%; }
  .carousel.car-dois figure img{ height:220px; }
}
.carousel figcaption b{ color:var(--amber); font-weight:600; }
