@charset "UTF-8";

/* Camada de evolução: preserva tipografia, FAQ, brilho e entradas existentes. */
.depth-ready .hero-backdrop img,.depth-ready .hero-atmosphere { will-change:transform; }

.services .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.services .service-card { padding:26px 26px 20px; min-height:258px; border-radius:16px; }
.services .service-card h3 { font-size:21px; letter-spacing:-.45px; margin-bottom:12px; padding-right:24px; }
.services .service-card p { font-size:14px; line-height:1.75; max-width:38ch; margin-bottom:18px; }
.services .service-icon-wrap { width:52px; height:52px; margin-bottom:19px; }
.services .service-link { font-size:13px; gap:13px; }
.service-number { position:absolute; top:25px; right:25px; font-size:11px; font-weight:600; letter-spacing:1.5px; color:#5a767c; }

.about { padding-top:32px; }
.about-content>p:not(.eyebrow) { line-height:1.85; }
.about-signoff { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; }
.about-signoff .about-button { max-width:100%; margin:0; }
.signature-frame { display:block; flex:0 0 130px; width:130px; margin-left:auto; }
.about-signoff .about-signature { position:static; width:130px; margin:0; opacity:.85; }
.signature-frame.is-written { animation:signature-write 950ms 250ms cubic-bezier(.22,1,.36,1) both; }
@keyframes signature-write {
  from { clip-path:inset(0 100% 0 0); opacity:0; }
  to { clip-path:inset(0 0 0 0); opacity:1; }
}

.audience { padding-block:52px; background:linear-gradient(115deg,#f2f8f7,#f7fafb); }
.audience .audience-inner { display:grid; grid-template-columns:.75fr 1.6fr; gap:56px; align-items:start; }
.audience-intro { padding-top:8px; }
.audience .eyebrow { font-size:10px; margin-bottom:16px; flex-wrap:wrap; }
.audience h2 { font-size:32px; line-height:1.23; letter-spacing:-.8px; margin-bottom:18px; }
.audience-intro>p:last-child { font-size:14px; line-height:1.8; color:var(--muted); max-width:32ch; }
.audience-explorer { min-width:0; }
.audience-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:6px; margin-bottom:16px; border:1px solid #d4e4e2; border-radius:12px; background:#e9f2f1; }
.audience-tabs button { min-width:0; min-height:48px; padding:12px 10px; border:1px solid transparent; border-radius:8px; background:transparent; color:#365960; font-size:13px; font-weight:600; line-height:1.4; transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease; }
.audience-tabs button:hover { background:#ffffff8c; color:var(--teal); }
.audience-tabs button[aria-selected="true"] { background:#fff; color:var(--teal); border-color:#c6ddda; box-shadow:0 3px 9px #101d3508; }
.audience-tabs button:focus-visible { outline:2px solid var(--teal); outline-offset:1px; }
.audience-panel { display:grid; grid-template-columns:60px 1fr; gap:24px; padding:30px; margin-bottom:18px; border:1px solid #d4e4e2; border-radius:16px; background:#fff; box-shadow:0 8px 28px #101d3505; }
.tabs-ready .audience-panel { min-height:296px; margin-bottom:0; }
.audience-panel:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
.audience-panel-icon { display:grid; place-items:center; width:60px; height:60px; border-radius:16px; background:#edf7f5; color:var(--teal); }
.audience-panel-icon .icon { width:32px; height:32px; }
.audience-panel-label { color:var(--teal); font-size:9px; font-weight:600; letter-spacing:1.7px; margin-bottom:10px; }
.audience-panel h3 { font-size:25px; line-height:1.25; margin-bottom:12px; letter-spacing:-.5px; }
.audience-panel div>p:not(.audience-panel-label) { color:var(--muted); font-size:14px; line-height:1.8; max-width:58ch; }
.audience-needs { display:flex; flex-wrap:wrap; gap:8px 20px; padding:0; margin:18px 0 7px; list-style:none; }
.audience-needs li { display:flex; align-items:center; gap:7px; color:#365960; font-size:12px; line-height:1.5; }
.audience-needs li::before { content:""; width:5px; height:5px; border-radius:50%; background:#4d9d93; flex:0 0 auto; }
.audience-panel .text-link { font-size:13px; font-weight:600; }

.process { padding-block:48px 30px; }
.process-timeline { position:relative; isolation:isolate; }
.process .process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.process .process-grid li { display:block; position:relative; padding:82px 24px 24px; background:transparent; border:0; border-radius:0; box-shadow:none; }
.process .process-grid li::before { content:""; position:absolute; z-index:-1; inset:68px 0 0; border:1px solid var(--line); border-radius:14px; background:#fbfdfd; transition:border-color 250ms ease,box-shadow 250ms ease; }
.timeline-node { display:grid; place-items:center; position:absolute; top:0; left:0; width:56px; height:56px; border-radius:50%; border:1px solid #bad8d2; background:#f5faf8; color:var(--teal); transition:background-color 280ms ease,border-color 280ms ease,color 280ms ease; }
.process .step-number { color:inherit; font-size:21px; letter-spacing:-.5px; }
.process .process-grid h3 { font-size:20px; line-height:1.4; letter-spacing:-.4px; margin-bottom:10px; }
.process .process-grid p { font-size:14px; line-height:1.75; }
.timeline-track { position:absolute; z-index:-1; top:27px; left:28px; right:calc((100% - 48px)/3 - 28px); height:2px; overflow:hidden; background:#d9e9e5; }
.timeline-progress { display:block; height:100%; width:100%; background:#369589; transform-origin:left; }
.process .is-reached .timeline-node { background:var(--teal); border-color:var(--teal); color:#fff; }
.process .is-reached::before { border-color:#b9d9d2; }

.contact { padding-top:14px; padding-bottom:36px; }
.contact .contact-panel { grid-template-columns:1.1fr 1fr; gap:64px; padding:48px; border-radius:20px; }
.contact h2 { font-size:34px; line-height:1.23; letter-spacing:-.8px; max-width:19ch; margin-bottom:18px; }
.contact-intro>p:not(.eyebrow) { color:#dfeded; font-size:15px; line-height:1.8; }
.contact .contact-info { display:block; border:0; padding:24px 0 0; }
.contact .contact-info>p { font-size:13px; line-height:1.7; margin-block:12px; }
.contact .contact-info>.contact-phone { font-size:20px; font-weight:600; margin-bottom:20px; }
.contact .contact-phone .icon { width:26px; height:26px; }
.contact-card { padding:30px; border:1px solid #ffffff40; border-radius:16px; background:#ffffff; color:var(--navy); box-shadow:0 16px 40px #001c2b16; }
.contact-card-label { color:var(--teal); font-size:9px; letter-spacing:1.8px; font-weight:600; margin-bottom:10px; }
.contact-card h3 { font-size:24px; line-height:1.35; letter-spacing:-.5px; margin-bottom:22px; max-width:26ch; }
.contact-topic { margin-bottom:20px; }
.contact-topic label { display:block; color:#3f5869; font-size:12px; line-height:1.5; margin-bottom:9px; }
.topic-trigger { display:grid; grid-template-columns:32px minmax(0,1fr) 18px; align-items:center; gap:12px; width:100%; min-height:54px; padding:10px 13px; border:1px solid #bdd3d1; border-radius:10px; background:#f6faf9; color:var(--navy); font:inherit; font-size:13px; line-height:1.5; text-align:left; transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.topic-trigger:hover { border-color:#80b6ae; background:#f0f8f6; }
.topic-trigger:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.topic-trigger[aria-expanded="true"] { border-color:var(--teal); background:#fff; box-shadow:0 0 0 3px #00656b0d; }
.topic-trigger-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:#e5f2ef; color:var(--teal); }
.topic-trigger-icon .icon { width:18px; height:18px; }
.topic-trigger-value { min-width:0; }
.topic-chevron { width:18px; height:18px; color:var(--teal); transition:transform 180ms ease; }
.topic-trigger[aria-expanded="true"] .topic-chevron { transform:rotate(180deg); }
.topic-listbox { position:fixed; z-index:150; max-height:352px; overflow-y:auto; overscroll-behavior:contain; padding:7px; border:1px solid #b9d7d2; border-radius:12px; background:#fff; color:var(--navy); box-shadow:0 14px 36px #082f3b20,0 3px 9px #082f3b0a; scrollbar-width:thin; scrollbar-color:#7fb8ae #f1f7f5; scroll-padding:7px; }
.topic-listbox::-webkit-scrollbar { width:6px; }
.topic-listbox::-webkit-scrollbar-track { background:#f1f7f5; border-radius:8px; }
.topic-listbox::-webkit-scrollbar-thumb { background:#7fb8ae; border-radius:8px; }
.topic-listbox.is-open { animation:topic-list-arrival 170ms ease-out both; }
.topic-option { display:grid; grid-template-columns:20px minmax(0,1fr) 18px; align-items:center; gap:10px; min-height:44px; padding:10px 11px; margin-block:2px; border-radius:7px; font-family:var(--sans); font-size:13px; line-height:1.5; cursor:pointer; touch-action:pan-y; transition:background-color 130ms ease,color 130ms ease; }
.topic-option-icon { width:19px; height:19px; color:#547c7d; }
.topic-option-label { min-width:0; }
.topic-option-check { width:18px; height:18px; opacity:0; color:var(--teal); }
.topic-option[aria-selected="true"] { color:var(--teal-dark); background:#e9f5f1; font-weight:600; }
.topic-option[aria-selected="true"] .topic-option-check { opacity:1; }
.topic-option[aria-selected="true"] .topic-option-icon { color:var(--teal); }
.topic-option.is-active { box-shadow:inset 0 0 0 1px #aad1c9; }
@keyframes topic-list-arrival { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
.topic-listbox.opens-up.is-open { animation-name:topic-list-arrival-up; }
@keyframes topic-list-arrival-up { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.contact-card .contact-actions { gap:12px; }
.contact-card .contact-actions .button { min-height:52px; font-size:14px; }
.contact-card .contact-actions .button-outline { color:var(--teal); border-color:#87b6b0; background-color:#fff; }
.contact-card .contact-actions .button-outline:hover { color:var(--teal-dark); background-color:#edf7f5; border-color:var(--teal); }
.contact-card-note { color:#536a78; font-size:11px; line-height:1.7; margin-top:18px; }
.contact-availability,.contact-note { grid-column:1/-1; }

@media(max-width:1199px) {
  .services .service-card { padding:24px; }
  .audience .audience-inner { grid-template-columns:.8fr 1.5fr; gap:32px; }
  .audience-panel { padding:25px; gap:19px; grid-template-columns:50px 1fr; }
  .audience-panel-icon { width:50px; height:50px; }
  .audience-panel h3 { font-size:23px; }
  .contact .contact-panel { padding:36px; gap:36px; }
  .contact h2 { font-size:30px; }
}
@media(max-width:1099px) { .services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1023px) {
  .audience .audience-inner { grid-template-columns:1fr; gap:25px; }
  .audience-intro>p:last-child { max-width:55ch; }
  .audience h2 br { display:none; }
  .audience-panel { grid-template-columns:56px 1fr; }
  .tabs-ready .audience-panel { min-height:280px; }
  .process .process-grid { grid-template-columns:1fr; gap:18px; }
  .process .process-grid li { padding:4px 0 26px 78px; }
  .process .process-grid li::before { inset:0 0 0 78px; }
  .process .process-grid li>div { padding:19px 22px 0; }
  .process .process-grid li:not(:last-child)::after { content:""; position:absolute; z-index:-1; top:56px; bottom:-18px; left:27px; width:2px; background:#d7e8e3; }
  .timeline-track { display:none; }
  .contact .contact-panel { gap:30px; }
  .contact-card { padding:25px; }
  .contact-card h3 { font-size:22px; }
  .contact h2 { font-size:28px; }
}
@media(max-width:767px) {
  .services .service-card { padding:22px; min-height:250px; }
  .services .service-card h3 { font-size:20px; }
  .about-signoff { gap:12px; }
  .signature-frame { flex-basis:125px; width:125px; }
  .about-signoff .about-signature { width:125px; }
  .audience { padding-block:36px; }
  .audience h2 { font-size:29px; }
  .audience-tabs { gap:4px; padding:5px; }
  .audience-tabs button { font-size:12px; padding:12px 6px; min-height:52px; }
  .audience-panel { grid-template-columns:1fr; padding:25px; gap:18px; }
  .tabs-ready .audience-panel { min-height:360px; }
  .audience-panel-icon { width:48px; height:48px; }
  .audience-panel-icon .icon { width:27px; height:27px; }
  .audience-panel h3 { font-size:23px; }
  .audience-needs { flex-direction:column; gap:8px; }
  .process { padding-block:36px 24px; }
  .process .process-grid h3 { font-size:20px; }
  .contact .contact-panel { grid-template-columns:1fr; padding:30px 24px; gap:27px; }
  .contact h2 { max-width:25ch; font-size:29px; }
  .contact .contact-info { padding-top:13px; }
  .contact .contact-info>.contact-phone { font-size:19px; }
  .contact-card { padding:25px; }
  .contact-card .contact-actions .button { font-size:14px; }
  .topic-trigger,.topic-option { font-size:14px; }
}
@media(max-width:639px) {
  .services .services-grid { grid-template-columns:1fr; gap:16px; }
  .services .service-card { min-height:0; padding:25px; }
  .services .service-card p { max-width:none; }
  .services .service-icon-wrap { margin-bottom:17px; }
  .services .service-card h3 { padding-right:10px; }
}
@media(max-width:359px) {
  .topic-trigger { grid-template-columns:28px minmax(0,1fr) 16px; gap:8px; padding:10px; font-size:13px; }
  .topic-trigger-icon { width:28px; height:28px; }
  .topic-trigger-icon .icon,.topic-chevron { width:16px; height:16px; }
  .audience-panel { padding:21px; }
  .audience-panel h3 { font-size:21px; }
  .audience-tabs button { font-size:11px; padding-inline:4px; }
  .process .process-grid li { padding-left:64px; }
  .process .process-grid li::before { left:64px; }
  .process .process-grid li>div { padding:17px 16px 0; }
  .timeline-node { width:48px; height:48px; }
  .process .process-grid li:not(:last-child)::after { left:23px; top:48px; }
  .contact .contact-panel { padding:28px 20px; }
  .contact h2 { font-size:26px; }
  .contact-card { padding:21px 18px; }
  .contact-card h3 { font-size:22px; }
  .contact-card .contact-actions .button { font-size:12px; padding-inline:9px; gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .signature-frame { animation:none!important; clip-path:none!important; opacity:1!important; }
  .hero-backdrop img,.hero-atmosphere { transform:none!important; will-change:auto!important; }
  .timeline-progress { transform:none!important; }
}
@media print {
  .topic-listbox { display:none!important; }
  .audience-tabs,.timeline-track,.service-number,.signature-frame { display:none!important; }
  .audience-panel[hidden] { display:grid!important; }
  .audience .audience-inner { display:block; }
  .audience-panel { box-shadow:none; break-inside:avoid; min-height:0; }
  .services .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .services .service-card { padding:16px; min-height:0; }
  .process .process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .process .process-grid li { padding:0 12px; }
  .process .process-grid li::before,.process .process-grid li::after { display:none; }
  .process .process-grid li>div { padding:0; }
  .timeline-node { position:static; margin-bottom:12px; }
}
