:root{
  --ct-navy:#0a2438;
  --ct-deep:#061923;
  --ct-blue:#15506f;
  --ct-gold:#b99150;
  --ct-muted:#5e6c76;
  --ct-line:#dce5ea;
  --ct-soft:#f3f7f9;
}
.ct-breadcrumb{background:#fff;border-bottom:1px solid var(--ct-line)}
.ct-breadcrumb-inner{min-height:42px;display:flex;align-items:center;gap:8px;font-size:.74rem;color:#77858e}
.ct-breadcrumb a{color:var(--ct-blue);font-weight:700;text-decoration:none}
.ct-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--ct-blue);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em}
.ct-kicker:before{content:"";width:28px;height:2px;background:var(--ct-gold)}

.ct-hero{background:radial-gradient(circle at 84% 15%,rgba(21,80,111,.15),transparent 28%),linear-gradient(135deg,#f8fbfc,#edf4f7)}
.ct-hero-grid{min-height:490px;padding:66px 0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:52px;align-items:center}
.ct-hero h1{margin:14px 0 18px;color:var(--ct-deep);font-size:clamp(2.8rem,5vw,5rem);line-height:.98;letter-spacing:-.055em}
.ct-lead{max-width:820px;margin:0;color:#4d606b;font-size:1.04rem;line-height:1.72}
.ct-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ct-hero-panel{padding:28px;border-radius:19px;background:linear-gradient(145deg,var(--ct-navy),#0b3149);color:#fff;box-shadow:0 25px 55px rgba(6,25,35,.14)}
.ct-panel-label{display:block;color:#d9b66c;font-size:.61rem;font-weight:900;letter-spacing:.14em}
.ct-hero-panel strong{display:block;margin-top:10px;font-size:1.18rem;line-height:1.35}
.ct-hero-panel p{margin:11px 0 0;color:#b8cad2;font-size:.86rem;line-height:1.65}

.ct-section{padding:66px 0}
.ct-section-soft{background:var(--ct-soft)}
.ct-heading{max-width:920px;margin-bottom:28px}
.ct-heading h2,.ct-heading-form h2,.ct-regional-grid h2,.ct-cta h2{margin:12px 0 0;color:var(--ct-deep);font-size:clamp(2rem,3.2vw,3rem);line-height:1.08;letter-spacing:-.035em}
.ct-heading p,.ct-heading-form p{color:var(--ct-muted);line-height:1.65}

.ct-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ct-channel-grid>a,.ct-channel-card{display:block;padding:22px;border:1px solid var(--ct-line);border-radius:14px;background:#fff;text-decoration:none}
.ct-channel-grid>a{transition:transform .18s ease,box-shadow .18s ease}
.ct-channel-grid>a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(6,25,35,.06)}
.ct-channel-grid span,.ct-channel-card>span{display:block;color:var(--ct-gold);font-size:.58rem;font-weight:900;letter-spacing:.13em}
.ct-channel-grid strong,.ct-channel-card strong{display:block;margin-top:8px;color:var(--ct-deep);font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
.ct-channel-grid p,.ct-channel-card p{margin:7px 0 0;color:var(--ct-muted);font-size:.79rem;line-height:1.55}

.ct-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ct-service-grid a{display:block;padding:21px;border:1px solid var(--ct-line);border-radius:14px;background:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.ct-service-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(6,25,35,.06)}
.ct-service-grid strong{display:block;color:var(--ct-deep);font-size:.98rem;line-height:1.3}
.ct-service-grid span{display:block;margin-top:7px;color:var(--ct-muted);font-size:.79rem;line-height:1.55}

.ct-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.ct-heading-form{margin-bottom:22px}
.ct-form{padding:27px;border:1px solid var(--ct-line);border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(6,25,35,.045)}
.ct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.ct-field{display:flex;flex-direction:column;gap:7px}
.ct-field-full{grid-column:1/-1}
.ct-field label{color:var(--ct-deep);font-size:.79rem;font-weight:800}
.ct-field input,.ct-field textarea{
  width:100%;
  min-height:45px;
  padding:11px 12px;
  border:1px solid #cfdbe1;
  border-radius:10px;
  background:#fff;
  color:#263b47;
  font:inherit;
  font-size:.9rem;
  outline:none;
}
.ct-field textarea{min-height:120px;resize:vertical;line-height:1.55}
.ct-field input:focus,.ct-field textarea:focus{border-color:var(--ct-blue);box-shadow:0 0 0 3px rgba(21,80,111,.10)}
.ct-consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:15px;border:1px solid var(--ct-line);border-radius:11px;background:#fafcfd;color:#53636d;font-size:.77rem;line-height:1.5}
.ct-consent input{margin-top:3px}
.ct-form-actions{display:flex;align-items:center;gap:18px;margin-top:18px}
.ct-detail-link{color:var(--ct-blue);font-size:.78rem;font-weight:850;text-decoration:none}
.ct-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.ct-side{position:sticky;top:104px;display:grid;gap:14px}
.ct-side-card{padding:22px;border-radius:15px;background:linear-gradient(145deg,var(--ct-navy),#0b3149);color:#fff}
.ct-side-card>span{display:block;color:#d8b66f;font-size:.59rem;font-weight:900;letter-spacing:.13em}
.ct-side-card strong{display:block;margin-top:9px;font-size:1rem}
.ct-side-card ul{margin:12px 0 0;padding-left:20px}
.ct-side-card li{margin:7px 0;color:#c0d0d7;font-size:.8rem;line-height:1.5}
.ct-side-light{background:var(--ct-soft);border:1px solid var(--ct-line);color:var(--ct-deep)}
.ct-side-light p{color:var(--ct-muted);font-size:.8rem;line-height:1.55}
.ct-side-light a{color:var(--ct-blue);font-weight:850;text-decoration:none;font-size:.79rem}

.ct-section-dark{background:var(--ct-deep);color:#fff}
.ct-regional-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center}
.ct-section-dark .ct-kicker{color:#9ed1e5}
.ct-regional-grid h2{color:#fff}
.ct-regional-grid p{color:#b8cad2;line-height:1.7}
.ct-regions{display:flex;flex-wrap:wrap;gap:9px}
.ct-regions span{display:inline-flex;align-items:center;min-height:39px;padding:0 13px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.045);color:#d5e0e5;font-size:.76rem;font-weight:750}

.ct-cta{padding:58px 0;background:linear-gradient(120deg,var(--ct-navy),#0b3149);color:#fff}
.ct-cta-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:40px;align-items:center}
.ct-cta h2{color:#fff}
.ct-cta p{margin:12px 0 0;color:#b8cad2}
.ct-cta .ct-kicker{color:#9ed1e5}

@media(max-width:1050px){
  .ct-hero-grid,.ct-contact-layout,.ct-regional-grid,.ct-cta-grid{grid-template-columns:1fr;gap:32px}
  .ct-hero-grid{min-height:auto}
  .ct-channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .ct-breadcrumb{display:none}
  .ct-hero-grid{padding:48px 0}
  .ct-hero h1{font-size:clamp(2.3rem,11vw,3.4rem)}
  .ct-actions{flex-direction:column}
  .ct-actions .btn{width:100%}
  .ct-section{padding:52px 0}
  .ct-channel-grid,.ct-service-grid,.ct-form-grid,.ct-side{grid-template-columns:1fr}
  .ct-field-full{grid-column:auto}
  .ct-form{padding:20px}
  .ct-form-actions{flex-direction:column;align-items:stretch}
  .ct-form-actions .btn{width:100%}
  .ct-heading h2,.ct-heading-form h2,.ct-regional-grid h2,.ct-cta h2{font-size:clamp(1.75rem,7vw,2.35rem)}
}


/* PASSO 16.1 — GOOGLE MAPS */
.ct-map-section{
  background:#fff;
}

.ct-map-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
  margin-bottom:24px;
}

.ct-map-heading h2{
  margin:12px 0 0;
  color:var(--ct-deep);
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.08;
  letter-spacing:-.035em;
}

.ct-map-heading p{
  max-width:850px;
  margin:12px 0 0;
  color:var(--ct-muted);
  line-height:1.65;
}

.ct-map-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--ct-blue);
  font-size:.82rem;
  font-weight:850;
  text-decoration:none;
  white-space:nowrap;
}

.ct-map-frame{
  position:relative;
  width:100%;
  overflow:hidden;
  border:1px solid var(--ct-line);
  border-radius:18px;
  background:var(--ct-soft);
  aspect-ratio:16/7;
}

.ct-map-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

@media(max-width:900px){
  .ct-map-heading{
    grid-template-columns:1fr;
    gap:14px;
    align-items:start;
  }

  .ct-map-frame{
    aspect-ratio:4/3;
  }
}

@media(max-width:600px){
  .ct-map-frame{
    aspect-ratio:1/1;
    border-radius:14px;
  }

  .ct-map-link{
    white-space:normal;
  }
}


/* PASSO 16.2 — AJUSTE DO E-MAIL E REDUÇÃO DO MAPA */
.ct-channel-email strong{
  font-size:.78rem;
  line-height:1.45;
  letter-spacing:-.01em;
  word-break:break-all;
  overflow-wrap:normal;
}

.ct-map-section .container{
  display:block;
}

.ct-map-heading{
  margin-bottom:20px;
}

.ct-map-frame{
  width:min(100%, 720px);
  max-width:720px;
  aspect-ratio:4 / 3;
  margin-top:10px;
  box-shadow:0 12px 32px rgba(6,25,35,.06);
}

@media(max-width:900px){
  .ct-channel-email strong{
    font-size:.86rem;
    word-break:break-word;
    overflow-wrap:anywhere;
  }

  .ct-map-frame{
    width:100%;
    max-width:none;
    aspect-ratio:4 / 3;
  }
}

@media(max-width:600px){
  .ct-map-frame{
    width:100%;
    aspect-ratio:1 / 1;
  }
}


/* PASSO 16.3 — DUAS COLUNAS: CONTATOS + MAPA */
.ct-contact-map{
  background:#fff;
}

.ct-contact-map-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:32px;
  align-items:start;
}

.ct-contact-column,
.ct-map-column{
  min-width:0;
}

.ct-contact-column .ct-heading,
.ct-map-inline-heading{
  margin-bottom:22px;
}

.ct-contact-column .ct-channel-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.ct-map-column{
  padding:2px 0 0;
}

.ct-map-inline-heading p{
  max-width:none;
}

.ct-map-frame{
  width:100%;
  max-width:none;
  margin-top:0;
  aspect-ratio:4 / 3;
}

.ct-map-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}

.ct-channel-email strong{
  font-size:.76rem;
  line-height:1.42;
  letter-spacing:-.01em;
  word-break:break-all;
}

@media(max-width:1050px){
  .ct-contact-map-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .ct-map-actions{
    justify-content:flex-start;
  }
}

@media(max-width:760px){
  .ct-contact-column .ct-channel-grid{
    grid-template-columns:1fr;
  }
}


/* PASSO 16.4 — CONTATO 1/3 + MAPA 2/3 */
.ct-contact-map-grid{
  grid-template-columns:minmax(300px,1fr) minmax(0,2fr);
  gap:34px;
  align-items:start;
}

.ct-contact-column .ct-channel-grid{
  grid-template-columns:1fr;
  gap:11px;
}

.ct-contact-column .ct-heading h2{
  font-size:clamp(1.9rem,2.35vw,2.6rem);
}

.ct-contact-column .ct-channel-grid>a,
.ct-contact-column .ct-channel-card{
  padding:18px 19px;
  min-height:0;
}

.ct-contact-column .ct-channel-grid p,
.ct-contact-column .ct-channel-card p{
  margin-top:5px;
  font-size:.76rem;
  line-height:1.5;
}

.ct-contact-column .ct-channel-email strong{
  font-size:.72rem;
  line-height:1.4;
}

.ct-map-column{
  min-width:0;
}

.ct-map-inline-heading{
  max-width:880px;
}

.ct-map-inline-heading h2{
  font-size:clamp(2rem,2.75vw,3rem);
}

.ct-map-frame{
  width:100%;
  max-width:none;
  aspect-ratio:16 / 9;
  min-height:430px;
}

.ct-map-actions{
  justify-content:flex-start;
}

@media(max-width:1100px){
  .ct-contact-map-grid{
    grid-template-columns:minmax(280px,.85fr) minmax(0,1.65fr);
    gap:26px;
  }

  .ct-map-frame{
    min-height:380px;
  }
}

@media(max-width:900px){
  .ct-contact-map-grid{
    grid-template-columns:1fr;
  }

  .ct-contact-column .ct-channel-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ct-map-frame{
    min-height:0;
    aspect-ratio:16 / 9;
  }
}

@media(max-width:620px){
  .ct-contact-column .ct-channel-grid{
    grid-template-columns:1fr;
  }

  .ct-map-frame{
    aspect-ratio:4 / 3;
  }
}
