/* VMTECH Software — Solicitação de Exclusão de Dados | estilos */

:root{
  --paper:      #E6E8EA;
  --paper-2:    #F5F5F5;
  --field-bg:   #EEE8E6;
  --ink:        #02244A;
  --ink-soft:   #54504E;
  --line:       #D4D4D4;
  --accent:     #F9380F;
  --accent-ink: #C42D0C;
  --radius:     18px;
  --ease: cubic-bezier(.2,.7,.2,1);
}
*{ box-sizing:border-box; margin:0; padding:0; }
[hidden]{ display:none !important; }
body{
  background:var(--paper);
  color:var(--ink-soft);
  font-family:'DM Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
  overflow-x:clip;
  background-image:
    radial-gradient(circle at 15% 6%, rgba(249,56,15,.04), transparent 42%),
    radial-gradient(circle at 88% 38%, rgba(2,36,74,.04), transparent 40%);
}
.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
a{ color:var(--accent-ink); }

/* ---------- CABEÇALHO ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(230,232,234,.82);
  backdrop-filter:saturate(160%) blur(12px);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .bar{
  max-width:1180px; margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.brand .name{ font-weight:700; font-size:1.32rem; letter-spacing:-.02em; color:var(--ink); }
.header-cta{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  text-decoration:none; font-weight:600; font-size:.92rem;
  color:var(--ink); background:#fff; border:1px solid var(--line);
  padding:10px 17px; border-radius:10px;
  transition:background .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.header-cta svg{ transition:transform .3s var(--ease); }
.header-cta:hover{ background:var(--paper-2); border-color:var(--accent); color:var(--accent-ink); transform:translateY(-2px); }
.header-cta:hover svg{ transform:translateX(-3px); }
.header-cta:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:560px){
  .brand .name{ font-size:1.06rem; }
  .header-cta{ font-size:.82rem; padding:9px 13px; gap:6px; }
  .site-header .bar{ gap:12px; }
}

/* eyebrow */
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:.72rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent-ink); margin-bottom:22px;
}
.eyebrow::before{ content:""; width:26px; height:1.5px; background:var(--accent); display:inline-block; }

/* ---------- HERO ---------- */
.page-hero{ padding:64px 28px 26px; }
.page-hero h1{
  font-family:'DM Sans', sans-serif; font-weight:600;
  font-size:clamp(2.3rem, 5vw, 3.6rem); line-height:1.04; letter-spacing:-.025em;
  color:var(--ink);
}
.page-hero h1 em{ font-family:'Fraunces', serif; font-weight:500; font-style:italic; color:var(--accent); letter-spacing:0; }
.lead{ max-width:680px; margin-top:24px; }
.lead p{ font-size:1.08rem; line-height:1.65; color:var(--ink-soft); }
.lead a{ color:var(--accent-ink); text-decoration:underline; text-underline-offset:2px; }

/* ---------- FORMULÁRIO ---------- */
.contact{ padding:30px 28px 110px; }
.form-shell{
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px;
  background:var(--paper-2); border:1px solid var(--line); border-radius:24px;
  padding:48px; align-items:start;
}
.form-intro h2{
  font-family:'DM Sans', sans-serif; font-weight:600; font-size:1.5rem;
  line-height:1.12; letter-spacing:-.02em; color:var(--ink);
}
.form-intro p{ margin-top:14px; color:var(--ink-soft); font-size:1rem; line-height:1.6; }
.form-intro .point{ display:flex; gap:12px; margin-top:18px; font-size:.95rem; color:var(--ink-soft); line-height:1.45; }
.form-intro .point svg{ flex:none; margin-top:2px; color:var(--accent); }
.form-intro .point strong{ color:var(--ink); font-weight:600; }
.form-intro .point a{ color:var(--accent-ink); }

form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:flex; flex-direction:column; }
.field.full{ grid-column:1 / -1; }
label{ font-size:.82rem; font-weight:600; margin-bottom:7px; color:var(--ink); }
label .req{ color:var(--accent); }
label .opt{ color:#8c8987; font-weight:400; font-style:italic; }
input, select, textarea{
  font-family:inherit; font-size:.98rem; color:var(--ink);
  background:var(--field-bg); border:1px solid var(--line); border-radius:11px;
  padding:13px 14px; transition:border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease); width:100%;
}
textarea{ resize:vertical; min-height:96px; }
input:focus, select:focus, textarea:focus{
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(249,56,15,.15);
}
select{ appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2354504E' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
}
.consent{
  grid-column:1/-1; display:flex; gap:11px; align-items:flex-start;
  font-size:.9rem; color:var(--ink-soft); line-height:1.5; cursor:pointer;
}
.consent input{ width:auto; flex:none; margin-top:2px; accent-color:var(--accent); }
.submit{
  grid-column:1 / -1; margin-top:6px;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:var(--accent); color:#fff; border:none; border-radius:12px;
  padding:15px; font-size:1rem; font-weight:600; cursor:pointer;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.submit svg{ transition:transform .3s var(--ease); }
.submit:hover{ background:var(--accent-ink); transform:translateY(-2px); }
.submit:hover svg{ transform:translateX(4px); }
.submit:focus-visible{ outline:2px solid var(--accent-ink); outline-offset:2px; }
.form-note{ grid-column:1/-1; font-size:.8rem; color:var(--ink-soft); text-align:center; margin-top:2px; }
.form-note a{ color:var(--accent-ink); }
.success{
  grid-column:1/-1; display:none; text-align:center; padding:28px;
  background:var(--field-bg); border:1px dashed var(--accent); border-radius:14px;
  color:var(--ink); line-height:1.65;
}
.success strong{ font-size:1.05rem; }
.success a{ color:var(--accent-ink); }
.success:focus{ outline:none; }
.error{
  grid-column:1/-1; display:none; padding:16px 18px;
  background:rgba(249,56,15,.08); border:1px solid var(--accent); border-radius:12px;
  color:var(--ink); font-size:.9rem; line-height:1.6;
}
.error strong{ color:var(--accent-ink); }
.error a{ color:var(--accent-ink); }
.submit[disabled]{ opacity:.7; cursor:wait; }
.submit[disabled]:hover{ background:var(--accent); transform:none; }

/* ---------- RODAPÉ ---------- */
footer{ border-top:1px solid var(--line); background:var(--paper-2); }
.foot-inner{ max-width:1180px; margin:0 auto; padding:54px 28px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px; }
.foot-brand{ font-size:1.4rem; font-weight:700; letter-spacing:-.02em; color:var(--ink); }
.foot-legal{ margin-top:14px; font-size:.86rem; color:var(--ink-soft); line-height:1.7; max-width:420px; }
.foot-email{ color:var(--ink-soft); font-size:.86rem; margin-top:6px; }
.foot-links{ display:flex; flex-direction:column; gap:11px; }
.foot-links a{ color:var(--ink-soft); text-decoration:none; font-size:.9rem; font-weight:500; transition:color .25s; }
.foot-links a:hover{ color:var(--accent); }
.foot-links a[aria-current="page"]{ color:var(--accent-ink); font-weight:600; }
.foot-links a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.foot-bottom{ border-top:1px solid var(--line); text-align:center; padding:20px; font-size:.8rem; color:var(--ink-soft); }

/* ---------- MOBILE ---------- */
@media (max-width:840px){ .form-shell{ grid-template-columns:1fr; gap:30px; padding:34px; } }
@media (max-width:680px){
  .wrap, .site-header .bar, .foot-inner{
    width:95%; max-width:95%; margin-left:auto; margin-right:auto;
    padding-left:0; padding-right:0;
  }
  .site-header .bar{ padding-top:15px; padding-bottom:15px; }
  .page-hero{ padding:44px 0 18px; }
  .contact{ padding:18px 0 72px; }
  .form-shell{ padding:24px 18px; border-radius:18px; }
  form{ grid-template-columns:1fr; gap:15px; }
  .form-intro h2{ font-size:1.35rem; }
  input, select, textarea{ font-size:16px; }
  .submit{ padding:16px; }
  .foot-inner{ flex-direction:column; gap:28px; padding-top:40px; padding-bottom:40px; text-align:center; }
  .foot-legal{ margin-left:auto; margin-right:auto; }
  .foot-links{ align-items:center; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }
