/* =========================================================
   CONTATO — página dedicada
   ========================================================= */
.contact-page{background:#fff}
.contact-page .kicker.light{color:#bdeef1}
.contact-hero-page{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);min-height:calc(91svh - var(--header-h));background:var(--dark);color:#fff}
.contact-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(88px,9vw,148px) 7vw clamp(74px,7vw,112px)}
.contact-hero-copy h1{max-width:900px;margin:18px 0 28px;font:600 clamp(62px,7vw,108px)/.89 var(--serif);letter-spacing:-.056em;color:#fff}
.contact-hero-copy h1 em{font-style:italic;color:#70e7ed}
.contact-hero-copy>p:not(.kicker){max-width:720px;margin:0 0 34px;font-size:15px;line-height:1.86;color:#dceff0}
.contact-hero-copy .btn{align-self:flex-start}
.contact-hero-media{position:relative;min-height:680px;margin:0;overflow:hidden;background:#d9e9ea}
.contact-hero-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.contact-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,39,44,.28),transparent 36%),linear-gradient(180deg,transparent 62%,rgba(0,39,44,.58))}
.contact-hero-media figcaption{position:absolute;z-index:2;left:34px;right:34px;bottom:28px;color:#fff;font-size:9px;line-height:1.6;letter-spacing:.16em;text-transform:uppercase}

.contact-form-section{padding:12vw 7vw;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:9vw;align-items:start;background:#fff}
.contact-form-intro{position:sticky;top:120px}
.contact-form-intro h2{margin:16px 0 28px;font:600 clamp(54px,5.8vw,94px)/.92 var(--serif);letter-spacing:-.05em;color:var(--ink)}
.contact-form-intro h2 em{font-style:italic;color:var(--cyan)}
.contact-form-intro>p:not(.kicker){max-width:540px;margin:0;font-size:14px;line-height:1.86;color:#55757a}
.contact-form-note{display:grid;grid-template-columns:42px 1fr;gap:18px;margin-top:48px;padding-top:22px;border-top:1px solid #bdd7da}
.contact-form-note span{font-size:9px;letter-spacing:.18em;color:#6c9599}
.contact-form-note p{margin:0;max-width:430px;font-size:12px;line-height:1.75;color:#607e82}
.contact-page-form{padding:clamp(34px,4vw,58px);background:#f2f9f9;border:1px solid #d1e4e6}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
.contact-page-form label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#55777b}
.contact-page-form input,.contact-page-form select,.contact-page-form textarea{display:block;width:100%;margin-top:10px;padding:16px 0;border:0;border-bottom:1px solid #a9c9cc;border-radius:0;background:transparent;outline:0;color:var(--ink);font:14px/1.5 var(--sans);transition:border-color .25s ease}
.contact-page-form select{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#007d89 50%),linear-gradient(135deg,#007d89 50%,transparent 50%);background-position:calc(100% - 13px) 52%,calc(100% - 8px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.contact-page-form textarea{resize:vertical;min-height:130px}
.contact-page-form input:focus,.contact-page-form select:focus,.contact-page-form textarea:focus{border-bottom-color:var(--teal)}
.contact-field-full{grid-column:1/-1}
.contact-form-submit{display:flex;align-items:center;gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid #d0e2e4}
.contact-form-submit small{display:block;max-width:420px;font-size:9px;line-height:1.65;letter-spacing:.04em;color:#6b8589}

.contact-direct{padding:11vw 7vw;background:var(--dark);color:#fff}
.contact-direct-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);gap:8vw;align-items:end;margin-bottom:64px}
.contact-direct-head h2{margin:14px 0 0;font:600 clamp(56px,6vw,98px)/.91 var(--serif);letter-spacing:-.052em}
.contact-direct-head h2 em{font-style:italic;color:#71e7ec}
.contact-direct-head>p{max-width:560px;margin:0 0 6px;font-size:14px;line-height:1.84;color:#d6eaeb}
.contact-direct-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}
.contact-direct-grid>a{position:relative;min-height:190px;padding:28px;display:grid;grid-template-columns:36px 30px 1fr 18px;gap:18px;align-items:center;color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);transition:background .28s ease}
.contact-direct-grid>a:hover{background:rgba(255,255,255,.055)}
.contact-direct-grid>a>span{align-self:start;font-size:8px;letter-spacing:.17em;color:#72dfe4}
.contact-direct-grid>a>img:not(.contact-direct-arrow){width:25px;height:25px;filter:brightness(0) invert(1);opacity:.92}
.contact-direct-grid small{display:block;margin-bottom:8px;font-size:8px;letter-spacing:.18em;color:#86e4e8}
.contact-direct-grid strong{display:block;font:500 clamp(20px,2vw,30px)/1.15 var(--serif);overflow-wrap:anywhere}
.contact-direct-arrow{width:16px;height:16px;filter:brightness(0) invert(1);opacity:.75}

.contact-next{padding:12vw 7vw;background:#eef8f8;display:grid;grid-template-columns:minmax(320px,.76fr) minmax(0,1.24fr);gap:8vw}
.contact-next-title h2{margin:14px 0 28px;font:600 clamp(54px,5.8vw,94px)/.92 var(--serif);letter-spacing:-.05em;color:var(--ink)}
.contact-next-title h2 em{font-style:italic;color:var(--cyan)}
.contact-next-title>p:not(.kicker){max-width:520px;margin:0;font-size:14px;line-height:1.84;color:#55757a}
.contact-next-steps{border-top:1px solid #b7d4d7}
.contact-next-steps article{display:grid;grid-template-columns:54px minmax(180px,.7fr) minmax(0,1.1fr);gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid #b7d4d7}
.contact-next-steps span{font-size:9px;letter-spacing:.18em;color:#6d9599}
.contact-next-steps h3{margin:0;font:600 clamp(25px,2.4vw,36px)/1.1 var(--serif);color:var(--ink)}
.contact-next-steps p{margin:0;font-size:13px;line-height:1.78;color:#5a787c}

.contact-closing{padding:12vw 7vw 13vw;background:var(--teal);color:#fff}
.contact-closing h2{max-width:1200px;margin:16px 0 42px;font:600 clamp(64px,8vw,132px)/.87 var(--serif);letter-spacing:-.063em}
.contact-closing h2 em{font-style:italic;color:#82edf1}

@media(max-width:1000px){
  .contact-hero-page{grid-template-columns:1fr 44%}
  .contact-form-section{gap:6vw}
}

@media(max-width:900px){
  .contact-hero-page{grid-template-columns:1fr;min-height:0}
  .contact-hero-copy{min-height:72svh;padding:18vw 6vw 12vw}
  .contact-hero-copy h1{max-width:98%;font-size:clamp(49px,12.8vw,76px);line-height:.92;margin:14px 0 22px}
  .contact-hero-copy>p:not(.kicker){font-size:13px;line-height:1.74;margin-bottom:28px}
  .contact-hero-media{min-height:78vw;max-height:620px}
  .contact-hero-media figcaption{left:6vw;right:6vw;bottom:20px;font-size:7px}

  .contact-form-section{padding:20vw 6vw;grid-template-columns:1fr;gap:46px}
  .contact-form-intro{position:static}
  .contact-form-intro h2{font-size:clamp(49px,13vw,72px);margin:14px 0 22px}
  .contact-form-intro>p:not(.kicker){font-size:13px;line-height:1.78}
  .contact-form-note{margin-top:34px}
  .contact-page-form{padding:34px 24px}
  .contact-field-grid{grid-template-columns:1fr;gap:24px}
  .contact-field-full{grid-column:auto}
  .contact-form-submit{align-items:flex-start;flex-direction:column;gap:16px;margin-top:30px}
  .contact-form-submit .btn{width:100%;justify-content:center}

  .contact-direct{padding:20vw 6vw}
  .contact-direct-head{grid-template-columns:1fr;gap:22px;margin-bottom:42px}
  .contact-direct-head h2{font-size:clamp(50px,13vw,74px)}
  .contact-direct-head>p{font-size:13px;line-height:1.76}
  .contact-direct-grid{grid-template-columns:1fr;border-left:0}
  .contact-direct-grid>a{min-height:0;padding:24px 0;grid-template-columns:30px 26px 1fr 16px;border-right:0}
  .contact-direct-grid strong{font-size:clamp(20px,6vw,28px)}

  .contact-next{padding:20vw 6vw;grid-template-columns:1fr;gap:46px}
  .contact-next-title h2{font-size:clamp(49px,13vw,72px)}
  .contact-next-title>p:not(.kicker){font-size:13px;line-height:1.78}
  .contact-next-steps article{grid-template-columns:38px 1fr;gap:12px 16px;padding:24px 0}
  .contact-next-steps h3{font-size:29px}
  .contact-next-steps p{grid-column:2;font-size:13px;line-height:1.72}

  .contact-closing{padding:20vw 6vw 22vw}
  .contact-closing h2{font-size:clamp(54px,15vw,88px);line-height:.88;margin-bottom:32px}
}

@media(max-width:560px){
  .contact-hero-copy{min-height:68svh}
  .contact-page-form{padding:28px 20px}
  .contact-direct-grid>a{grid-template-columns:24px 24px 1fr 14px;gap:12px}
}
