  .std-root, .std-root * { box-sizing: border-box; }
  .std-root {
    --black:#000000; --panel:#282828; --mid:#646464; --light:#EBEBEB; --white:#FFFFFF;
    --ease: cubic-bezier(.16,.84,.32,1);
    --radius: var(--r-2); /* padrão Lavytier — cards, botões e campos reais do site. */
    font-family:'Sora',sans-serif; background:var(--white); color:var(--panel);
    overflow-x:hidden; line-height:1.55; scroll-behavior:smooth; position:relative;
  }
  .std-root section { position:relative; padding:92px 24px; }
  @media (max-width:700px){ .std-root section { padding:60px 18px; } }
  @media (max-width:420px){ .std-root section { padding:52px 16px; } }
  .std-wrap { max-width:1120px; width:100%; margin:0 auto; }
  .std-wrap-narrow { max-width:760px; width:100%; margin:0 auto; }
  .std-eyebrow { font-size:12px; letter-spacing:.32em; text-transform:uppercase; color:var(--mid); font-weight:600; margin-bottom:22px; display:block; }
  /* O ponto do rótulo — ver a nota em studio.css. A faixa escura aqui é uma só. */
  .std-eyebrow::before {
    content:''; display:inline-block;
    width:5px; height:5px; border-radius:50%;
    background:var(--ac); margin-right:11px;
    vertical-align:.18em; letter-spacing:0;
  }
  .std-close-contato .std-eyebrow::before { background:var(--ac-claro); }
  .std-root h1,.std-root h2,.std-root h3,.std-root h4 { font-weight:700; letter-spacing:-.02em; margin:0; color:var(--black); }
  .std-root p { color:var(--mid); font-weight:300; font-size:15.5px; margin:0; }
  .std-root a { text-decoration:none; }
  .std-section-head { max-width:640px; margin-bottom:48px; }
  .std-section-head.std-center { max-width:680px; margin-left:auto; margin-right:auto; text-align:center; }
  .std-section-head h2 { font-size:clamp(23px,2.7vw,34px); line-height:1.24; }
  .std-section-head p { margin-top:14px; font-size:15.5px; }
  [data-std-reveal] { opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
  [data-std-reveal].std-in { opacity:1; transform:translateY(0); }

  /* ---------- BOTÕES ---------- */
  .std-cta-row { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; align-items:center; }
  .std-btn { font-family:'Sora',sans-serif; font-weight:600; font-size:13.5px; padding:13.5px 22px; border-radius:var(--r-pill);
    cursor:pointer; border:1.5px solid transparent; display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
    position:relative; overflow:hidden; isolation:isolate;
    transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease); }
  .std-btn::before { content:''; position:absolute; inset:0; z-index:-1; opacity:0; pointer-events:none; border-radius:inherit;
    background:radial-gradient(130px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.32), transparent 70%); transition:opacity .35s ease; }
  .std-btn-ghost::before { background:radial-gradient(130px circle at var(--mx,50%) var(--my,50%), rgba(0,0,0,.11), transparent 70%); }
  .std-btn:hover::before { opacity:1; }
  .std-btn:hover { transform:translateY(-2px); }
  .std-btn-primary { background:var(--black); color:var(--white); }
  .std-btn-primary:hover { background:var(--panel); box-shadow:0 14px 30px -14px rgba(0,0,0,.45); }
  .std-btn-ghost { background:rgba(0,0,0,.02); color:var(--black); border-color:rgba(0,0,0,.55); }
  .std-btn-ghost:hover { border-color:var(--black); background:rgba(0,0,0,.05); }
  .std-btn:disabled { opacity:.5; cursor:not-allowed; transform:none!important; }
  @media (max-width:480px){ .std-btn{ font-size:12.5px; padding:12px 18px; } }
  @media (max-width:360px){ .std-cta-row{ flex-direction:column; align-items:stretch; } .std-cta-row .std-btn{ justify-content:center; } }

  /* ---------- HERO CONTATO ---------- */
  .std-root .std-hero-contato { padding-top:calc(var(--nav-h) + var(--s-16)); background:var(--white); text-align:center; }
  @media (max-width:700px){ .std-root .std-hero-contato{ padding-top:calc(var(--nav-h) + var(--s-8)); } }
  .std-hero-contato .std-eyebrow { margin-left:auto; margin-right:auto; }
  .std-hero-contato h1 { font-size:clamp(27px,3.8vw,46px); line-height:1.2; font-weight:800; letter-spacing:-.015em; max-width:820px; margin:0 auto; }
  .std-hero-contato p.lead { font-size:15.5px; font-weight:300; max-width:560px; margin:20px auto 0; color:var(--panel); }
  .std-hero-contato .std-cta-row { justify-content:center; }
  @keyframes std-rise { from{opacity:0;transform:translateY(22px);} to{opacity:1;transform:translateY(0);} }
  .std-hero-contato .std-eyebrow,.std-hero-contato h1,.std-hero-contato p.lead,.std-hero-contato .std-cta-row {
    opacity:0; animation:std-rise 1s var(--ease) forwards; }
  .std-hero-contato .std-eyebrow{animation-delay:.05s} .std-hero-contato h1{animation-delay:.16s}
  .std-hero-contato p.lead{animation-delay:.3s} .std-hero-contato .std-cta-row{animation-delay:.44s}

  /* ---------- CANAIS DIRETOS ---------- */
  .std-channels { background:var(--white); border-top:1px solid var(--light); }
  .std-channels-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:800px){ .std-channels-grid{ grid-template-columns:1fr; } }
  .std-channel-card { border:1px solid var(--light); border-radius:var(--radius); padding:30px; position:relative; overflow:hidden; display:flex; flex-direction:column; height:100%;
    opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease), border-color .4s, box-shadow .4s; }
  .std-channel-card::before { content:''; position:absolute; inset:0; z-index:0; opacity:0; pointer-events:none;
    background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%), rgba(0,0,0,.15), transparent 70%); transition:opacity .35s ease; }
  .std-channel-card:hover::before { opacity:1; }
  .std-channel-card:hover { border-color:var(--mid); transform:translateY(-6px); box-shadow:0 30px 60px -35px rgba(0,0,0,.18); }
  .std-channel-card>* { position:relative; z-index:1; }
  .std-channel-card.std-in { opacity:1; transform:translateY(0); }
  .std-channel-card:nth-child(1){transition-delay:0s} .std-channel-card:nth-child(2){transition-delay:.1s} .std-channel-card:nth-child(3){transition-delay:.2s}
  .std-channel-icon { width:46px; height:46px; border-radius:var(--radius); background:var(--black); display:flex; align-items:center; justify-content:center; margin-bottom:20px; flex-shrink:0; }
  .std-channel-icon svg { width:19px; height:19px; stroke:var(--white); fill:none; color:var(--white); overflow:visible; }
  .std-channel-icon svg path, .std-channel-icon svg rect, .std-channel-icon svg circle { stroke:inherit; stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
  .std-channel-card h3 { font-size:17px; margin-bottom:9px; line-height:1.3; }
  .std-channel-card p { font-size:14px; flex-grow:1; }
  .std-channel-card a.std-channel-link { margin-top:18px; font-size:13.5px; font-weight:600; color:var(--black); display:inline-flex; align-items:center; gap:6px; }
  .std-channel-card a.std-channel-link span.arrow { transition:transform .3s var(--ease); }
  .std-channel-card a.std-channel-link:hover span.arrow { transform:translateX(4px); }

  /* ---------- FORMULÁRIO ---------- */
  .std-form-section { background:var(--white); border-top:1px solid var(--light); }
  .std-form-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:flex-start; }
  @media (max-width:900px){ .std-form-grid{ grid-template-columns:1fr; gap:40px; } }
  .std-form-side h2 { font-size:clamp(22px,2.6vw,30px); line-height:1.28; }
  .std-form-side p.desc { margin-top:16px; font-size:14.5px; max-width:400px; }
  .std-form-note { border:1px solid var(--light); border-radius:var(--radius); padding:20px 22px; margin-top:28px; }
  .std-form-note h4 { font-size:14px; font-weight:600; margin:0 0 8px; }
  .std-form-note p { font-size:13px; }
  .std-form-note ul { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:10px; }
  .std-form-note li { font-size:13px; color:var(--mid); display:flex; gap:9px; align-items:flex-start; }
  .std-form-note li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--black); margin-top:6px; flex-shrink:0; }

  .std-form { display:grid; gap:18px; }
  .std-field { display:grid; gap:8px; }
  .std-field label { font-size:12.5px; font-weight:600; color:var(--black); letter-spacing:.01em; }
  .std-field input, .std-field select, .std-field textarea {
    font-family:'Sora',sans-serif; font-size:14.5px; font-weight:400; color:var(--black);
    background:var(--white); border:1.5px solid var(--light); border-radius:var(--radius); padding:13px 16px;
    outline:none; transition:border-color .3s var(--ease), box-shadow .3s var(--ease); width:100%;
  }
  .std-field textarea { resize:vertical; min-height:120px; font-family:'Sora',sans-serif; }
  .std-field input:focus, .std-field select:focus, .std-field textarea:focus {
    border-color:var(--black); box-shadow:0 0 0 4px rgba(0,0,0,.06);
  }
  .std-field input::placeholder, .std-field textarea::placeholder { color:#a8a8a8; font-weight:300; }
  .std-field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:520px){ .std-field-row{ grid-template-columns:1fr; } }
  .std-form-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-top:6px; }
  .std-form-foot .std-microcopy { font-size:12px; color:var(--mid); max-width:340px; }
  .std-form-status { font-size:13px; font-weight:500; margin-top:4px; display:none; }
  .std-form-status.std-show { display:block; }
  .std-form-status.ok { color:var(--black); }
  select.std-field-select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23646464' stroke-width='1.6' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:38px; }

  /* ---------- FAQ ---------- */
  .std-faq { background:var(--white); border-top:1px solid var(--light); }
  .std-faq-list { display:grid; gap:1px; background:var(--light); border:1px solid var(--light); border-radius:var(--radius); overflow:hidden; }
  .std-faq-item { background:var(--white); }
  .std-faq-q { width:100%; text-align:left; padding:24px 26px; background:none; border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:'Sora',sans-serif; }
  .std-faq-q span.txt { font-size:15px; font-weight:600; color:var(--black); }
  .std-faq-q span.icon { width:22px; height:22px; border-radius:50%; border:1.5px solid var(--mid); flex-shrink:0; position:relative; transition:transform .35s var(--ease), border-color .3s; }
  .std-faq-q span.icon::before, .std-faq-q span.icon::after { content:''; position:absolute; background:var(--black); top:50%; left:50%; transform:translate(-50%,-50%); }
  .std-faq-q span.icon::before { width:9px; height:1.6px; }
  .std-faq-q span.icon::after { width:1.6px; height:9px; transition:opacity .3s var(--ease); }
  .std-faq-item.std-open .std-faq-q span.icon::after { opacity:0; }
  .std-faq-item.std-open .std-faq-q span.icon { transform:rotate(180deg); border-color:var(--black); }
  .std-faq-a { max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
  .std-faq-a p { padding:0 26px 24px; font-size:14px; max-width:640px; }

  /* ---------- CTA FINAL ---------- */
  .std-close-contato { background:var(--black); color:var(--light); text-align:center; border-top:1px solid var(--panel); }
  .std-close-contato h2 { color:var(--white); font-size:clamp(22px,3vw,34px); max-width:680px; margin:0 auto; line-height:1.32; }
  .std-close-contato p { margin:18px auto 0; max-width:520px; color:var(--mid); }
  .std-close-contato .std-cta-row { justify-content:center; margin-top:34px; }
  .std-close-contato .std-btn-primary { background:var(--white); color:var(--black); }
  .std-close-contato .std-btn-primary:hover { background:var(--light); box-shadow:0 14px 30px -14px rgba(0,0,0,.6); }
  .std-close-contato .std-btn-primary::before { background:radial-gradient(130px circle at var(--mx,50%) var(--my,50%), rgba(0,0,0,.1), transparent 70%); }
  .std-close-contato .std-btn-ghost { color:var(--white); border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.04); }
  .std-close-contato .std-btn-ghost:hover { border-color:var(--white); background:rgba(255,255,255,.1); }
  .std-close-contato .std-btn-ghost::before { background:radial-gradient(130px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.18), transparent 70%); }

  @media (prefers-reduced-motion: reduce) {
    [data-std-reveal],.std-channel-card { transition:none!important; opacity:1!important; transform:none!important; }
    .std-hero-contato .std-eyebrow,.std-hero-contato h1,.std-hero-contato p.lead,.std-hero-contato .std-cta-row { animation:none!important; opacity:1!important; }
  }

/* ==========================================================================
   DISPOSITIVOS

   16px nos campos não é escolha estética: abaixo disso o Safari do iPhone
   dá zoom sozinho quando o campo recebe foco, a página salta e o formulário
   passa a impressão de quebrado. É o piso que evita o salto — e vale só na
   largura de celular, para o desktop manter a escala desenhada.
   ========================================================================== */
@media (max-width: 820px) {
  /* O seletor precisa empatar em especificidade com o do componente
     (.std-field input vale 0,1,1 e vencia "input" sozinho). O seletor por
     atributo empata e, vindo depois no arquivo, ganha — e cobre qualquer
     prefixo de campo que o site venha a ter. */
  [class*="-field"] input,
  [class*="-field"] select,
  [class*="-field"] textarea,
  input, textarea, select { font-size: 16px; }
}
