/* Identidade Sagaz: azul da marca, fotografias e caminho curto ao orçamento. */
:root {
  --navy: #071a33; --navy-2: #0b2545; --navy-light: #123f70;
  --brand-blue: #175bd4; --brand-blue-hover: #1047ac; --brand-cyan: #63e6ff;
  --ice: #edf6ff; --ice-2: #dbeeff; --gray-50: #f5f9ff; --gray-100: #edf3fa;
  --gray-200: #dce6f2; --gray-300: #bdcddd; --gray-400: #778ca5;
  --gray-500: #53677f; --gray-600: #3d526b; --gray-700: #233c55;
  --orange: #175bd4; --orange-dark: #1047ac; --green: #175bd4; --green-dark: #1047ac;
  --cyan-300: #176bad; --link-hover: #175bd4;
  --ff: "Segoe UI", Arial, sans-serif; --r: 12px; --r-lg: 16px; --r-xl: 20px;
  --shadow-card: 0 6px 24px #071a3307; --shadow-lg: 0 12px 40px #071a3314;
}
body { background: #fff; }
h1,h2,h3,h4 { font-family: "Segoe UI", Arial, sans-serif; }
h1,h2 { font-weight: 800; }
.hdr { background: #fff; border-bottom: 1px solid #e0e9f3; box-shadow: 0 3px 16px #071a3306; backdrop-filter: none; }
.hdr .brand img { width: 44px; height: 44px; }
.brand-txt b { font-family: "Segoe UI", sans-serif; color: var(--navy); font-weight: 800; }
.brand-txt span { color: var(--gray-500); }
.hdr-nav a.active { color: var(--brand-blue); box-shadow: inset 0 -2px var(--brand-blue); }
.hdr-cta .btn { border-radius: 8px; }
.btn { border-radius: 8px; font-weight: 750; transition: background .18s, border-color .18s; }
.btn-wpp, .btn-blue, .btn-orange { background: var(--brand-blue); border-color: var(--brand-blue); color: #fff; }
.btn-wpp:hover, .btn-blue:hover, .btn-orange:hover { background: var(--brand-blue-hover); border-color: var(--brand-blue-hover); color: #fff; }
.btn-outline, .btn-tel { background: #fff; border-color: #c5d5e7; color: var(--navy); }
.btn-outline:hover,.btn-tel:hover { color: var(--brand-blue); border-color: var(--brand-blue); background: var(--ice); }
:focus-visible { outline-color: var(--brand-blue); }
.hero, .pghead { background: var(--gray-50); }
.hero h1,.pghead h1 { color: var(--navy); font-size: clamp(2rem,4.2vw,3.35rem); letter-spacing: -.04em; }
.hero-badge,.live { text-transform: none; letter-spacing: .01em; }
.hero-art { padding: 0; background: var(--ice); border-radius: 16px; border: 0; overflow: hidden; position: relative; }
.hero-art .equip { display: block; width: 100%; height: clamp(280px,30vw,400px); max-height: none; object-fit: cover; border-radius: 0; }
.hero-art .selo { width: 80px; height: 80px; right: 14px; bottom: 14px; background: #fff; padding: 5px; }
.hero-img { border-radius: 16px; box-shadow: var(--shadow-lg); }
.home-hero { background: var(--navy); padding: 44px 0 36px; color: #fff; }
.home-hero .hero-grid { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: 48px; }
.home-intro { color: #9ceaff; letter-spacing: .08em; font-size: .75rem; margin-bottom: 18px; }
.home-hero h1 { color: #fff; font-size: clamp(2.6rem,4.6vw,4.3rem); max-width: 15ch; letter-spacing: -.045em; line-height: 1.08; }
.home-hero h1 em { color: var(--brand-cyan); }
.home-hero .hero-lead { color: #d1e0f2; font-size: 1.0625rem; max-width: 48ch; line-height: 1.7; margin: 22px 0; }
.home-hero .hero-acts { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: 12px; margin-bottom: 18px; }
.home-hero .hero-acts .btn { min-height: 54px; width: 100%; font-size: .95rem; }
.home-hero .hero-acts .btn-blue { background: var(--brand-cyan); border-color: var(--brand-cyan); color: var(--navy); }
.home-hero .hero-acts .btn-blue:hover { background: #a6f1ff; border-color: #a6f1ff; }
.home-hero .hero-acts .btn-wpp { color: #fff; background: #ffffff08; border-color: #ffffff66; }
.home-hero .hero-acts .btn-wpp:hover { background: #ffffff16; }
.hero-service-link { display: inline-flex; align-items: center; min-height: 40px; color: #c3dcfa; font-size: .875rem; margin-bottom: 12px; }
.hero-service-link:hover { color: #fff; }
.home-hero .hero-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.home-hero .hero-trust li { color: #d7e8f7; font-size: .8rem; min-height: 0; }
.home-visual { height: 456px; min-height: 0; background: #123f70; border-radius: 18px; border: 1px solid #ffffff28; box-shadow: 0 20px 54px #0002; }
.home-visual img { height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.home-visual::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,#071a33dd); pointer-events: none; }
.home-visual figcaption { bottom: 22px; z-index: 1; align-items: center; border: 0; padding: 0; gap: 16px; }
.home-visual figcaption b { font-size: 1rem; }
.home-visual figcaption span { font-size: .8rem; color: #d7e8f7; }
.home-visual figcaption svg { width: 28px; height: 28px; color: #63e6ff; }
.conversion-proof { background: #fff; padding: 0; }
.conversion-proof .trust-bar { border: 0; padding: 24px 0; background: #fff; gap: 16px; }
.conversion-proof .trust-bar > div { text-align: left; border-left: 3px solid #2c70ff; padding: 0 16px; }
.conversion-proof .trust-bar b { font-size: 1.05rem; }
.conversion-proof .trust-bar span { display: block; margin-top: 3px; font-size: .8rem; }
.home-quote-section { background: var(--gray-50); border-top: 1px solid var(--gray-200); padding: 40px 0; }
.home-quote-section .cta-band { background: transparent; color: var(--navy); display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 48px; padding: 0; overflow: visible; }
.home-quote-section .cta-band::before { display: none; }
.home-quote-section .quote-intro { align-self: start; padding-top: 18px; }
.home-quote-section .quote-intro > .eyebrow { color: var(--brand-blue); }
.home-quote-section .quote-intro h2 { color: var(--navy); font-size: clamp(1.75rem,3vw,2.7rem); max-width: 17ch; }
.home-quote-section .quote-intro p { color: var(--gray-600); font-size: 1rem; margin: 18px 0; max-width: 45ch; }
.home-quote-section .tel-big { color: var(--brand-blue); margin-top: 16px; font-size: 1.3rem; }
.home-quote-section .cta-actions { display: grid; gap: 10px; grid-template-columns: minmax(0,1fr); max-width: 350px; }
.home-quote-section .cta-actions .btn { width: 100%; }
.home-quote-section .cta-actions .btn-outline { background: #fff; color: var(--navy); border: 1px solid var(--gray-300); }
.quote-photo { margin-top: 24px; max-width: 350px; border-radius: 12px; overflow: hidden; }
.quote-photo img { width: 100%; height: 180px; object-fit: cover; }
.quote-photo figcaption { color: var(--gray-500); font-size: .75rem; padding: 8px 0; }
.home-quote-section .cta-band .lead-form-panel { margin-top: 0; border-radius: 16px; box-shadow: 0 10px 32px #071a3308; border-top: 4px solid var(--brand-blue); }
.lead-form-panel { border-radius: 16px; box-shadow: 0 6px 24px #071a3305; }
#pedir-orcamento { scroll-margin-top: 96px; }
.lead-form-panel h3 { color: var(--navy); font-size: 1.4rem; }
.lead-form .btn { background: var(--brand-blue); border-color: var(--brand-blue); color: #fff; min-height: 52px; width: 100%; }
.lead-form .btn:disabled { background: var(--brand-blue-hover); border-color: var(--brand-blue-hover); }
.lead-form :is(input,select,textarea) { border-color: #bfcee1; border-radius: 8px; background: #fff; }
.lead-form :is(input,select,textarea):focus-visible { outline-color: var(--brand-blue); }
.lead-form label { font-size: .875rem; }
.lead-form textarea { min-height: 84px; }
.lead-form .lead-form-note { text-align: center; color: #52677e; }
.sec-head .kicker,.eyebrow { color: var(--brand-blue); }
.sec-head { max-width: 730px; }
.sec-alt { background: var(--gray-50); }
.card { border-radius: 14px; box-shadow: var(--shadow-card); border-color: #dce6f2; }
.card:hover { border-color: #9abce9; box-shadow: 0 8px 28px #071a3310; }
.svc-img { aspect-ratio: 16/10; background: #e8f2ff; }
.svc-img img { object-fit: cover; }
.svc-img img[src*="sagaz_technician"] { object-position: center 35%; }
.problem-grid { border: 0; gap: 14px; }
.problem-link { background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; padding: 24px; }
.problem-link:last-child,.problem-link:nth-child(2) { border-right: 1px solid var(--gray-200); }
.problem-link:hover { background: #fff; border-color: var(--brand-blue); }
.problem-link .problem-num,.problem-link .problem-arrow { color: var(--brand-blue); }
.search-field { box-shadow: 0 4px 16px #071a3305; border-color: #bbcee4; }
.search-field .btn { background: var(--brand-blue); }
.emerg { background: #edf6ff; border: 1px solid #c5defa; border-left: 4px solid var(--brand-blue); border-radius: 10px; }
.emerg strong { color: var(--navy); }
.service-local { background: #edf6ff; border-left-color: var(--brand-blue); border-radius: 10px; }
.cta-band { background: var(--navy); border-radius: 16px; }
.steps li { border-radius: 12px; background: #102c4e; border: 1px solid #2d4968; }
.steps li::before { color: var(--navy); background: var(--brand-cyan); }
.steps p { color: #c4d9ef; }
.sec-navy .eyebrow,.sec-navy .kicker { color: var(--brand-cyan); }
.ft { background: var(--navy); }
.ft p,.ft li,.ft ul a { color: #cbdced; }
.fab-wpp { background: #137442; }
.fab-tel { background: var(--brand-blue); }
.dock { background: #fff; border-color: #d4e0ee; }
.dock .btn-wpp { background: #137442; border-color: #137442; color: #fff; }
.dock .btn-tel { background: var(--brand-blue); border-color: var(--brand-blue); color: #fff; }
.nav-mobile { background: #fff; }
.nav-mobile-body > .nav-priority { color: var(--brand-blue); }
.nav-mobile-body a.active { box-shadow: inset 3px 0 var(--brand-blue); }
.nav-mobile-footer { background: #f5f9ff; }
.search-dialog { background: #f5f9ff; }
.navegantes-page .live { color: var(--brand-blue); background: var(--ice); border-color: #b9d6fb; }
.navegantes-page .kicker,.navegantes-page .eyebrow { color: var(--brand-blue); }
.navegantes-page .hub-steps li::before { background: var(--brand-blue); color: #fff; }
.navegantes-page .hero-media figcaption,.navegantes-page .hub-section-media figcaption,.navegantes-page .tabela-ar thead,.navegantes-page .cta-band { background: var(--navy); }
@media(max-width:1023px) {
  .home-hero .hero-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr) !important; gap: 28px; }
  .home-hero h1 { font-size: clamp(2.1rem,4.8vw,3rem); }
  .home-visual { height: 430px; }
  .home-quote-section .cta-band { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 24px; }
  .home-quote-section .lead-form-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
}
@media(max-width:767px) {
  .hdr .brand img { width: 36px; height: 36px; }
  .home-hero { padding: 28px 0; }
  .home-hero .hero-grid { grid-template-columns: minmax(0,1fr) !important; gap: 24px; }
  .home-hero h1 { font-size: clamp(2.15rem,8.7vw,3.1rem); max-width: 15ch; }
  .home-intro { font-size: .68rem; margin-bottom: 14px; }
  .home-hero .hero-lead { font-size: .975rem; line-height: 1.65; margin: 16px 0 20px; }
  .home-hero .hero-acts { grid-template-columns: minmax(0,1fr); gap: 10px; margin-bottom: 6px; }
  .home-hero .hero-acts .btn { min-height: 50px; }
  .hero-service-link { margin: 0 0 10px; font-size: .8rem; }
  .home-hero .hero-trust { gap: 8px 14px; margin-top: 4px; }
  .home-hero .hero-trust li { font-size: .75rem; }
  .home-visual,.home-visual img { height: 255px; min-height: 0; }
  .home-visual img { object-position: center 38%; }
  .home-visual figcaption { left: 18px; right: 18px; bottom: 16px; }
  .home-visual figcaption b { font-size: .875rem; }
  .home-visual figcaption span { font-size: .7rem; }
  .conversion-proof .trust-bar { padding: 22px 0; gap: 20px 12px; }
  .conversion-proof .trust-bar > div { padding-left: 12px; }
  .conversion-proof .trust-bar b { font-size: .9rem; }
  .conversion-proof .trust-bar span { font-size: .75rem; }
  .home-quote-section { padding: 32px 0; }
  .home-quote-section .cta-band { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .home-quote-section .quote-intro { padding-top: 0; }
  .home-quote-section .quote-intro h2 { font-size: 1.9rem; max-width: 100%; }
  .home-quote-section .quote-intro p { margin: 12px 0; font-size: .9375rem; }
  .home-quote-section .cta-actions { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: none; }
  .home-quote-section .cta-actions .btn { min-height: 48px; font-size: .8125rem; padding-inline: 10px; }
  .home-quote-section .quote-photo { display: none; }
  .home-quote-section .cta-band .lead-form-panel { padding: 20px; }
  .home-quote-section .lead-form-grid { gap: 14px; }
  .hero-art .equip { height: 250px; }
  .problem-grid { gap: 12px; }
  .problem-link { padding: 18px; }
}
@media(min-width:1024px) { .home-quote-section .lead-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:359px) {
  .home-hero h1 { font-size: 2.05rem; }
  .home-quote-section .cta-actions { grid-template-columns: minmax(0,1fr); }
  .brand-txt b { font-size: .82rem; }
}
