
/* ========================= ACE — Contact Us (Final) =========================
   Principles: premium, calm, uncluttered. One panel style, consistent rhythm,
   thoughtful typography, tight mobile behavior.
============================================================================= */
:root{
  --bg:#ffffff;
  --ink-900:#0f172a; --ink-800:#1f2937; --ink-700:#334155; --ink-600:#475569;
  --metal-050:#f8fafc; --metal-100:#f1f5f9; --metal-200:#e2e8f0;
  --brand:#0ea5e9; --brand-600:#0284c7; --whatsapp:#25D366;
  --s6:12px; --s8:16px; --s10:20px; --s12:24px; --s16:32px; --s20:40px;
  --r:14px; --fs-sm:.94rem; --fs-base:1rem; --fs-h1:clamp(1.9rem,2.2vw+1rem,2.6rem); --fs-h2:clamp(1.2rem,1.2vw+1rem,1.5rem);
  --container:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink-900);font:400 16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-600);text-decoration:underline}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--s8)}

header.site-header{border-bottom:1px solid var(--metal-200);background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(6px);position:sticky;top:0;z-index:20}
.site-header .row{display:flex;align-items:center;justify-content:space-between;gap:var(--s8);padding:var(--s8) 0}
.logo{display:flex;align-items:center;gap:var(--s8);font-weight:800;color:var(--ink-900)}
.logo img{height:28px;width:auto}
.nav{display:flex;gap:var(--s8)}
.nav a{color:var(--ink-700);padding:6px 10px;border-radius:10px}
.nav a:hover{background:var(--metal-100);text-decoration:none;color:var(--ink-900)}

/* Banner hero */
.hero{
  position:relative;
  min-height:260px;
  display:grid;
  place-items:center;
  margin-bottom:var(--s16);
  border-bottom:1px solid var(--metal-200);
}
.hero .hero-img{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.25)),
    radial-gradient(80% 60% at 50% 0%, rgba(14,165,233,.25), transparent 55%),
    linear-gradient(180deg,#eef6ff,#f7fbff);
  background-size:cover;
  background-position:center;
  filter:saturate(105%);
}
.hero[data-banner]{}
.hero .inner{position:relative; z-index:1; text-align:center; color:#fff; padding:var(--s16) var(--s8)}
.hero h1{font-size:var(--fs-h1); margin:0 0 8px; letter-spacing:.2px}
.hero p{margin:0; opacity:.95}

/* Grid + panels */
.grid{display:grid;gap:var(--s12)}
.two{grid-template-columns: 1.1fr .9fr}
@media (max-width: 980px){ .two{grid-template-columns:1fr} }

.panel{border:1px solid var(--metal-200);border-radius:var(--r);background:#fff}
.panel .head{padding:var(--s10);border-bottom:1px solid var(--metal-200);display:flex;align-items:center;justify-content:space-between}
.panel .title{font-size:var(--fs-h2);margin:0}
.panel .body{padding:var(--s10)}

/* Quick connect strip */
.quick{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--metal-200);border-radius:999px;padding:8px 12px;background:#fff}
.pill strong{font-weight:800}
.pill.wa{border-color:#baf2d2;background:#effdf6}
.pill.wa a{color:#0a7c45;text-decoration:none}

/* Form */
.form{display:grid;gap:var(--s8)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8)}
@media (max-width: 760px){ .form .row{grid-template-columns:1fr} }
label{display:block;font-weight:600;margin-bottom:6px}
input,select,textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--metal-200);font-size:1rem;color:var(--ink-900);outline:none;transition:border-color .15s}
input:focus,select:focus,textarea:focus{border-color:#91d8f8;box-shadow:0 0 0 3px rgba(14,165,233,.18)}
.help{color:var(--ink-600);font-size:var(--fs-sm);margin-top:4px}
.actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;border:1px solid var(--metal-200);background:#fff;color:var(--ink-900);transition:transform .12s, box-shadow .12s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.08);text-decoration:none}
.btn.primary{background:linear-gradient(135deg,#0ea5e9,#38bdf8);border-color:transparent;color:#fff;position:relative;overflow:hidden}
.btn.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-120%);transition:transform 600ms cubic-bezier(.16,1,.3,1)}
.btn.primary:hover::after{transform:translateX(120%)}

/* Map + address */
.map{border:1px solid var(--metal-200);border-radius:12px;overflow:hidden}
.map iframe{width:100%;height:260px;border:0;display:block}
.addr{margin-top:10px;color:var(--ink-800)}
.addr strong{font-weight:800}
.addr a{font-weight:800}

/* Footer */
footer.site-footer{border-top:1px solid var(--metal-200);margin-top:var(--s20);background:linear-gradient(180deg,var(--metal-100),var(--metal-050))}
.site-footer .micro{padding:var(--s8) 0;color:var(--ink-600);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:var(--s8);flex-wrap:wrap}

:focus-visible{outline:3px solid rgba(56,189,248,.35);outline-offset:2px}
@media (prefers-reduced-motion: reduce){ *{transition:none !important; animation:none !important;} }
