@font-face{font-family:ElyDM;src:url('../../assets/fonts/dm-sans.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{--ink:#080a20;--deep:#02030d;--paper:#f4f5f6;--coral:#fe645a;--salmon:#ff9e98;--violet:#525289;--line:rgba(255,255,255,.14);--pad:clamp(22px,5vw,92px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font-family:ElyDM,Arial,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}
h1,h2,h3{margin:0;font-weight:450;letter-spacing:-.04em;line-height:1.05}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:12px 18px;background:#fff;color:var(--ink)}
.skip-link:focus{left:12px;top:12px}

/* ===== hero ===== */
.contact-hero{position:relative;overflow:hidden;padding:clamp(150px,16vw,220px) var(--pad) clamp(60px,7vw,100px);background:linear-gradient(150deg,var(--deep),var(--ink) 62%)}
.contact-hero:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--coral) 26%,transparent),transparent 34%),radial-gradient(circle at 6% 90%,color-mix(in srgb,var(--violet) 40%,transparent),transparent 38%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px}
.contact-hero>*{position:relative;z-index:1}
.contact-hero p.eyebrow{margin:0 0 20px;color:var(--salmon);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.contact-hero h1{max-width:16ch;font-size:clamp(44px,7vw,104px);letter-spacing:-.055em}
.contact-hero>span{display:block;max-width:52ch;margin-top:26px;color:#b9bfd4;font-size:clamp(15px,1.5vw,19px)}

/* ===== bloco principal ===== */
.contact-main{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,5vw,80px);padding:clamp(60px,7vw,110px) var(--pad)}
.contact-card{padding:clamp(26px,3vw,44px);border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02))}
.contact-card h2{margin-bottom:8px;font-size:clamp(28px,3vw,42px)}
.contact-card>p{margin:0 0 30px;color:#b9bfd4;font-size:15px}

.contact-form{display:grid;gap:20px}
.contact-form label{display:grid;gap:8px;color:#9aa2c0;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;padding:13px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;font-family:inherit;font-size:16px;letter-spacing:normal;text-transform:none;transition:border-color .3s}
.contact-form textarea{min-height:118px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#6f7793}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--coral)}
.contact-form button{justify-self:start;margin-top:6px;display:inline-flex;align-items:center;gap:11px;padding:15px 26px;border:0;border-radius:999px;background:var(--coral);color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:transform .3s,background .3s}
.contact-form button:hover{transform:translateY(-3px);background:#ff7d74}
.form-status{margin:0;min-height:20px;color:var(--salmon);font-size:13px}

/* ===== contactos diretos ===== */
.contact-side{display:grid;align-content:start;gap:14px}
.contact-item{display:grid;gap:5px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03);text-decoration:none;transition:border-color .3s,background .3s,transform .3s}
.contact-item:hover{border-color:color-mix(in srgb,var(--coral) 55%,transparent);background:rgba(255,255,255,.06);transform:translateX(4px)}
.contact-item span{color:#9aa2c0;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.contact-item strong{font-size:clamp(17px,1.7vw,21px);font-weight:450;letter-spacing:-.02em}
.contact-item small{color:#8d95b4;font-size:12px}

/* ===== robos das redes sociais ===== */
.contact-socials{padding:0 var(--pad) clamp(50px,6vw,90px)}
.contact-socials h2{margin-bottom:34px;font-size:clamp(24px,2.4vw,34px)}
.socials-row{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,44px)}
.socials-row a{display:grid;justify-items:center;gap:10px;width:104px;color:#fff;text-decoration:none;opacity:.78;transition:opacity .3s,transform .3s}
.socials-row a:hover{opacity:1;transform:translateY(-6px)}
.socials-row svg{width:74px;height:auto;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.socials-row svg .head,.socials-row svg .body{fill:rgba(255,255,255,.05)}
.socials-row svg text{fill:currentColor;stroke:none;font-size:20px;font-weight:700;text-anchor:middle;font-family:inherit}
.socials-row a:hover svg{stroke:var(--salmon)}
.socials-row span{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9aa2c0}

/* ===== mapa ===== */
.contact-map{position:relative;padding:0 var(--pad) clamp(60px,7vw,110px)}
.contact-map__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:18px;margin-bottom:26px}
.contact-map__head h2{font-size:clamp(24px,2.4vw,34px)}
.contact-map__head a{display:inline-flex;align-items:center;gap:8px;color:var(--salmon);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.contact-map__head a:hover{color:#fff}
.map-frame{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--deep)}
.map-frame iframe{display:block;width:100%;height:clamp(320px,44vw,520px);border:0;filter:grayscale(.35) invert(.92) hue-rotate(185deg) contrast(.9)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1024px){
  .contact-main{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .site-header{height:80px}
  .brand{width:142px}
  .desktop-nav{display:none}
  .menu-button{display:block}
  .contact-main{padding-top:44px;gap:26px}
  .socials-row{gap:14px;justify-content:space-between}
  .socials-row a{width:60px}
  .socials-row svg{width:52px}
  footer{grid-template-columns:1fr;justify-items:center;text-align:center}
  footer img{margin-inline:auto}
  .footer-bottom{grid-column:1;flex-direction:column;align-items:center}
}
@media(min-width:1600px){
  .brand{width:208px}
  .desktop-nav a{font-size:17px}
  body{font-size:18px}
  .contact-main{max-width:1560px;margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .contact-item:hover,.socials-row a:hover,.contact-form button:hover{transform:none}
}

.contact-send{justify-self:start;margin-top:6px;display:inline-flex;align-items:center;gap:11px;padding:15px 26px;border:0;border-radius:999px;background:var(--coral);color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:transform .3s,background .3s}
.contact-send:hover{transform:translateY(-3px);background:#ff7d74}
