/* ============================================================
   WJR FIXER — pages/contato.css
   Estilos exclusivos da página Contato (contato.html).
   ============================================================ */

.page-hero{ padding-top:clamp(8rem,16vw,11rem); padding-bottom:clamp(1rem,3vw,2rem); position:relative; overflow:hidden; }
.page-hero .ring{ position:absolute; right:var(--gut); bottom:2rem; width:80px; opacity:1; }
.page-hero h1{ max-width:14ch; margin-top:1.4rem; font-weight:300; font-size:clamp(1.95rem,3.7vw,3.25rem); line-height:1.2; letter-spacing:-.022em; }
.page-hero h1 span{ display:block; }
.page-hero h1 .a{ font-weight:300; color:var(--off-90); }
.page-hero h1 .b{ font-weight:800; color:var(--sand); }
.page-hero .lead{ max-width:48ch; margin-top:1.6rem; }

.contact-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4.5rem); align-items:start; }
@media(max-width:880px){ .contact-grid{ grid-template-columns:1fr; } }

/* aside */
.c-tagline{ font-size:clamp(1rem,1.4vw,1.15rem); color:var(--off-70); font-weight:300; line-height:1.55; max-width:30ch; margin:0; }
.c-aside .alt{ border-top:1px solid var(--line); padding-top:1.6rem; margin-top:2rem; }
.c-aside .alt h3{ font-size:1.1rem; font-weight:600; margin-bottom:1.1rem; }
.c-note{ display:flex; align-items:center; gap:.6rem; margin-top:2rem; font-size:.86rem; color:var(--off-40); }
.c-note .dotp{ width:8px; height:8px; border-radius:50%; background:var(--consultoria-lift); box-shadow:0 0 0 0 color-mix(in srgb,var(--consultoria-lift) 60%,transparent); animation:pulse 2.4s infinite; flex:none; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--consultoria-lift) 50%,transparent)} 70%{box-shadow:0 0 0 9px transparent} 100%{box-shadow:0 0 0 0 transparent} }

/* form card */
.form-card{ background:var(--ink-1); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.8rem,3.5vw,3rem); position:relative; overflow:hidden; }
.form-card .aura{ position:absolute; top:-30%; right:-20%; width:60%; height:60%; background:radial-gradient(ellipse,rgba(205,174,144,.14),transparent 70%); pointer-events:none; }
.f-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media(max-width:520px){ .f-row{ grid-template-columns:1fr; } }
.field{ margin-bottom:1.1rem; position:relative; }
.field label{ display:block; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--off-55); font-weight:600; margin-bottom:.55rem; }
.field label .opt{ color:var(--off-40); font-weight:400; letter-spacing:0; text-transform:none; }
.field label .req{ color:var(--sand); }
.field input, .field textarea{
  width:100%; background:var(--ink-3); border:1px solid var(--line); border-radius:6px;
  padding:.95em 1.05em; color:var(--off); font-family:inherit; font-size:1rem; transition:border-color .3s, background .3s; }
.field textarea{ resize:vertical; min-height:110px; }
.field input::placeholder, .field textarea::placeholder{ color:var(--off-40); }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--sand); background:var(--ink-2); }
.field.err input, .field.err textarea{ border-color:#b5654d; }
.field .msg{ font-size:.78rem; color:#cf8064; margin-top:.4rem; display:none; }
.field.err .msg{ display:block; }

/* custom select */
.cs-wrap{ position:relative; }
.cs-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  background:var(--ink-3); border:1px solid var(--line); border-radius:6px;
  padding:.95em 1.05em; font-family:inherit; font-size:1rem; color:var(--off-40);
  cursor:pointer; text-align:left; transition:border-color .3s, background .3s; }
.cs-trigger:focus{ outline:none; border-color:var(--sand); background:var(--ink-2); }
.cs-wrap.open .cs-trigger{ border-color:var(--sand); background:var(--ink-2); border-bottom-left-radius:0; border-bottom-right-radius:0; }
.field.err .cs-trigger{ border-color:#b5654d; }
.cs-trigger-val{ flex:1; }
.cs-trigger-val.has-val{ color:var(--off); }
.cs-arrow{ flex:none; color:var(--off-40); transition:transform .22s var(--ease,ease); }
.cs-wrap.open .cs-arrow{ transform:rotate(180deg); }

.cs-list{
  display:none; position:absolute; left:0; right:0; top:100%; z-index:200;
  background:var(--ink-2); border:1px solid var(--sand); border-top:none;
  border-bottom-left-radius:6px; border-bottom-right-radius:6px;
  padding:.3rem 0; list-style:none; margin:0;
  box-shadow:0 12px 36px rgba(0,0,0,.45); }
.cs-wrap.open .cs-list{ display:block; }
.cs-list li{
  padding:.75em 1.1em; font-size:.95rem; color:var(--off-55);
  cursor:pointer; transition:color .18s, background .18s; }
.cs-list li:hover, .cs-list li:focus{ background:var(--ink-3); color:var(--off); outline:none; }
.cs-list li[aria-selected="true"]{ color:var(--sand); font-weight:500; }

.form-card .btn{ width:100%; justify-content:center; margin-top:.6rem; }
.form-note{ font-size:.78rem; color:var(--off-40); text-align:center; margin-top:1rem; }

/* success */
.form-success{ display:none; text-align:center; padding:clamp(1rem,3vw,2rem) 0; }
.form-success.show{ display:block; }
.form-success .ok{ width:64px; height:64px; border-radius:50%; margin:0 auto 1.6rem; display:grid; place-items:center;
  background:color-mix(in srgb,var(--consultoria-lift) 16%, transparent); color:var(--consultoria-lift); }
.form-success h3{ font-size:1.7rem; font-weight:600; margin-bottom:.7rem; }
.form-success p{ color:var(--off-55); font-weight:300; max-width:38ch; margin-inline:auto; }
.form-hidden{ display:none !important; }

/* seção do formulário: menos respiro no topo (logo abaixo do hero) */
.section.contato-form-section{ padding-top:clamp(2rem,4vw,3rem); }
/* honeypot anti-spam: invisível para pessoas */
.hp-field{ position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0; pointer-events:none; }
