:root {
  --c-navy: #0b1e36;
  --c-navy-deep: #071322;
  --c-navy-soft: #122e52;
  --c-garnet: #b31b34;
  --c-garnet-hover: #981329;
  --c-garnet-light: #fee2e6;
  --c-cyan: #00a3c4;
  --c-cyan-soft: #e6f6fa;
  --c-ink: #0f1722;
  --c-ink-soft: #475569;
  --c-ink-muted: #94a3b8;
  --c-bg: #f5f6fa;
  --c-card: #ffffff;
  --c-border: #e2e8f0;
  --c-focus: #00a3c4;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 14px;
  --shadow-sm: 0 1px 3px rgba(11,30,54,.08);
  --shadow: 0 6px 18px rgba(11,30,54,.10);
  --shadow-lg: 0 16px 40px rgba(11,30,54,.14);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.55;
  color: var(--c-ink);
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }
:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; }

/* Skip link */
.skip-link {
  position: absolute; left: -9999px; top: 8px; z-index: 10000;
  padding: 10px 16px; background: var(--c-navy); color: #fff; font-weight: 700;
  border-radius: var(--radius-sm);
}
.skip-link:focus { left: 8px; }

/* Containers */
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section-v2 { padding: 64px 0; }
.section-v2-sm { padding: 44px 0; }
.section-head { text-align: center; max-width: 820px; margin: 0 auto 36px; }
.section-head.text-start { text-align: left; margin-left: 0; }
.section-head h2 {
  font-size: clamp(26px, 2.6vw, 36px);
  line-height: 1.15;
  color: var(--c-navy);
  margin: 0 0 12px;
  font-weight: 800;
  letter-spacing: -.3px;
}
.red-bar {
  display: block; width: 64px; height: 3px; background: var(--c-garnet);
  border-radius: 2px; margin: 0 auto 14px;
}
.red-bar.bar-start { margin-left: 0; }
.section-sub { font-size: 16px; color: var(--c-ink-soft); margin: 0; }
.section-kicker {
  font-size: 11px; font-weight: 800; letter-spacing: 1.6px;
  text-transform: uppercase; color: var(--c-garnet); margin-bottom: 8px;
}

/* UTILITY TOP BAR */
.util-bar {
  background: linear-gradient(90deg, var(--c-navy-deep) 0%, var(--c-navy-soft) 100%);
  color: #fff; font-size: 12px; font-weight: 600;
}
.util-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 38px; padding-top: 4px; padding-bottom: 4px;
}
.util-left { display: flex; align-items: center; gap: 8px; }
.seg {
  display: inline-flex; align-items: center; padding: 4px 12px;
  border-radius: 99px; color: #cbd5e1; font-size: 11px; font-weight: 800;
  letter-spacing: 1.1px; transition: background .15s, color .15s;
}
.seg:hover { color: #fff; background: rgba(255,255,255,.08); }
.seg.seg-active { background: #fff; color: var(--c-navy); }
.util-badge {
  display: inline-flex; align-items: center; gap: 6px;
  color: #94a3b8; font-size: 11px; margin-left: 8px;
}
.util-badge svg { width: 12px; height: 12px; fill: currentColor; }
.util-right { display: flex; align-items: center; gap: 12px; }
.util-search {
  position: relative; display: flex; align-items: center;
}
.util-search input {
  height: 28px; width: 230px; border-radius: 99px; border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08); color: #fff; font-size: 12px;
  padding: 0 30px 0 12px; font-family: var(--font);
}
.util-search input::placeholder { color: #94a3b8; }
.util-search button {
  position: absolute; right: 8px; color: #cbd5e1; font-size: 13px; line-height: 1;
}
.btn-acc {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 12px; border-radius: 99px;
  background: linear-gradient(90deg, #5b21b6 0%, #7c3aed 100%);
  color: #fff; font-size: 10px; font-weight: 800; letter-spacing: 1px;
}
.btn-acc svg { width: 14px; height: 14px; fill: currentColor; }

/* MAIN HEADER */
.site-header {
  background: #ffffff; position: sticky; top: 0; z-index: 100;
  box-shadow: 0 1px 0 #e2e8f0, 0 4px 16px rgba(11,30,54,.04);
}
.site-header::after {
  content: ""; display: block; height: 2px;
  background: linear-gradient(90deg, var(--c-garnet) 0%, var(--c-cyan) 60%, var(--c-navy) 100%);
}
.hdr-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; min-height: 66px;
}
.logo-link { display: flex; align-items: center; flex-shrink: 0; }
.hdr-nav { display: flex; align-items: center; gap: 4px; }
.hdr-nav > a, .hdr-nav > .nav-dd > button {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 13px; border-radius: var(--radius-sm); font-size: 13.5px;
  font-weight: 700; color: var(--c-navy); letter-spacing: -.1px;
  transition: color .15s, background .15s;
}
.hdr-nav > a:hover, .hdr-nav > .nav-dd:hover > button {
  color: var(--c-garnet); background: var(--c-garnet-light);
}
.nav-dd { position: relative; }
.nav-dd > button .dd-arrow { font-size: 9px; line-height: 1; }
.dd-panel {
  position: absolute; top: 100%; left: 0; margin-top: 6px; min-width: 280px;
  background: #ffffff; border-radius: var(--radius); padding: 8px;
  box-shadow: var(--shadow-lg); border: 1px solid var(--c-border);
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity .15s, transform .15s, visibility .15s; z-index: 200;
}
.nav-dd:hover .dd-panel, .nav-dd:focus-within .dd-panel {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.dd-panel a {
  display: block; padding: 10px 12px; border-radius: var(--radius-sm);
  font-size: 13px; font-weight: 600; color: var(--c-ink);
}
.dd-panel a small { display: block; font-weight: 400; color: var(--c-ink-muted); font-size: 11px; margin-top: 2px; }
.dd-panel a:hover { background: var(--c-bg); color: var(--c-garnet); }
.hdr-actions { display: flex; align-items: center; gap: 10px; }
.btn-cta-top {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px;
  border-radius: 99px; background: var(--c-garnet); color: #fff;
  font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(179,27,52,.35);
  transition: background .15s, transform .1s, box-shadow .15s;
}
.btn-cta-top:hover {
  background: var(--c-garnet-hover); transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(179,27,52,.45);
}
.drawer-toggle {
  display: none; width: 40px; height: 40px; border-radius: 8px;
  border: 1px solid var(--c-border); align-items: center; justify-content: center;
  flex-direction: column; gap: 4px;
}
.drawer-toggle span { display: block; width: 18px; height: 2px; background: var(--c-navy); }

/* SIDE DRAWER (modeled on menu.jpg) */
.drawer-backdrop {
  position: fixed; inset: 0; background: rgba(7,19,34,.55);
  z-index: 999; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
}
.drawer-backdrop.open { opacity: 1; visibility: visible; }
.drawer {
  position: fixed; top: 0; left: 0; bottom: 0; width: 330px; max-width: 90vw;
  background: #ffffff; z-index: 1000; box-shadow: var(--shadow-lg);
  transform: translateX(-100%); transition: transform .25s ease;
  display: flex; flex-direction: column; overflow-y: auto;
}
.drawer.open { transform: translateX(0); }
.drawer-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 18px; border-bottom: 1px solid var(--c-border);
}
.drawer-close { font-size: 26px; line-height: 1; color: var(--c-ink-muted); }
.drawer-cta {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; background: var(--c-navy); color: #fff;
  font-size: 12px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase;
}
.drawer-cta:hover { background: var(--c-garnet); }
.drawer-list { padding: 10px 0; margin: 0; list-style: none; }
.drawer-list li a {
  display: flex; align-items: center; gap: 14px; padding: 13px 20px;
  font-size: 14px; font-weight: 700; color: var(--c-ink);
  border-bottom: 1px solid #f1f5f9; transition: color .15s, background .15s;
}
.drawer-list li a:hover { color: var(--c-garnet); background: var(--c-bg); }
.drawer-list li a svg { width: 20px; height: 20px; fill: var(--c-ink-muted); flex-shrink: 0; }
.drawer-list li a:hover svg { fill: var(--c-garnet); }
.drawer-foot { padding: 18px; font-size: 12px; color: var(--c-ink-muted); margin-top: auto; }

/* HERO (modeled on subhome-net-empresa-d.webp) */
.hero-v2 {
  position: relative; min-height: 540px; overflow: hidden;
  display: flex; align-items: stretch; background: var(--c-navy);
}
.hero-photo-bg {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  object-position: center 30%; filter: saturate(1.05);
}
.hero-overlay-dark {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(7,19,34,.94) 0%, rgba(11,30,54,.90) 48%, rgba(11,30,54,.25) 82%, rgba(11,30,54,.80) 100%);
}
.hero-diag-left {
  position: absolute; left: 0; top: 0; bottom: 0; width: 62%;
  background: linear-gradient(100deg, rgba(11,30,54,.96) 0%, rgba(18,46,82,.93) 100%);
  clip-path: polygon(0 0, 84% 0, 56% 100%, 0 100%);
  pointer-events: none;
}
.hero-diag-accent {
  position: absolute; left: 0; top: 0; bottom: 0; width: 64%;
  background: linear-gradient(100deg, var(--c-garnet) 0%, var(--c-cyan) 100%);
  clip-path: polygon(79% 0, 86% 0, 58% 100%, 51% 100%);
  opacity: .55; pointer-events: none;
}
.hero-diag-right {
  position: absolute; right: 0; top: 0; bottom: 0; width: 34%;
  background: linear-gradient(135deg, rgba(179,27,52,.92) 0%, rgba(11,30,54,.95) 100%);
  clip-path: polygon(42% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events: none; opacity: .75;
}
.hero-v2 .wrap {
  position: relative; z-index: 3; display: flex; align-items: center;
  width: 100%; padding-top: 56px; padding-bottom: 78px;
}
.hero-card {
  max-width: 600px; color: #fff;
}
.hero-card h1 {
  font-size: clamp(30px, 3.4vw, 46px); line-height: 1.1; margin: 0 0 16px;
  font-weight: 900; letter-spacing: -.5px;
}
.hero-card h1 em { font-style: normal; color: var(--c-cyan); }
.hero-subtitle {
  font-size: clamp(16px, 1.3vw, 18px); line-height: 1.5; color: #cbd5e1;
  margin: 0 0 28px;
}
.hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.btn-primary-big {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px;
  border-radius: 99px; background: var(--c-garnet); color: #fff;
  font-size: 13.5px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(179,27,52,.45);
  transition: background .15s, transform .1s, box-shadow .15s;
}
.btn-primary-big:hover {
  background: var(--c-garnet-hover); transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(179,27,52,.55);
}
.btn-outline-white {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px;
  border-radius: 99px; border: 2px solid rgba(255,255,255,.75);
  color: #fff; font-size: 13.5px; font-weight: 800;
  transition: background .15s, border-color .15s;
}
.btn-outline-white:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.btn-outline-dark {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px;
  border-radius: 99px; border: 2px solid var(--c-navy);
  color: var(--c-navy); font-size: 13px; font-weight: 800;
  transition: background .15s, color .15s;
}
.btn-outline-dark:hover { background: var(--c-navy); color: #fff; }
.btn-pill-garnet {
  display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px;
  border-radius: 99px; background: var(--c-garnet); color: #fff;
  font-size: 12.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px;
  transition: background .15s;
}
.btn-pill-garnet:hover { background: var(--c-garnet-hover); }

/* FLOATING ACCESS BAR (modeled on acessar conta.jpg) */
.access-strip { position: relative; z-index: 10; margin-top: -34px; margin-bottom: 24px; }
.access-box {
  background: #ffffff; border-radius: var(--radius-lg);
  box-shadow: 0 14px 40px rgba(7,19,34,.16); padding: 22px 30px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; border: 1px solid rgba(226,232,240,.9);
}
.access-text {
  font-size: clamp(17px, 1.4vw, 21px); font-weight: 800; color: var(--c-navy);
  margin: 0; line-height: 1.3;
}
.btn-access {
  display: inline-flex; align-items: center; gap: 10px; padding: 13px 28px;
  border-radius: 99px; background: var(--c-garnet); color: #fff;
  font-size: 13px; font-weight: 900; letter-spacing: .6px; text-transform: uppercase;
  flex-shrink: 0; box-shadow: 0 8px 22px rgba(179,27,52,.4);
  transition: background .15s, transform .1s;
}
.btn-access:hover { background: var(--c-garnet-hover); transform: translateY(-1px); }

/* HIGHLIGHTS CARDS (modeled on topicos.jpg) */
.highlights-section {
  position: relative; overflow: hidden; padding-top: 56px; padding-bottom: 72px;
}
.hl-band {
  background: linear-gradient(90deg, var(--c-navy-deep) 0%, var(--c-navy-soft) 55%, #8c1d38 100%);
  border-radius: var(--radius-lg); padding: 34px 28px 28px;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.08);
}
.hl-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.hl-card {
  background: #ffffff; border-radius: var(--radius); padding: 26px 22px;
  display: flex; flex-direction: column; box-shadow: 0 16px 36px rgba(7,19,34,.30);
  transition: transform .18s, box-shadow .18s; position: relative;
}
.hl-card:hover { transform: translateY(-4px); box-shadow: 0 22px 46px rgba(7,19,34,.40); }
.hl-icon {
  width: 52px; height: 52px; border-radius: 12px;
  background: var(--c-cyan-soft); color: var(--c-cyan);
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.hl-icon svg { width: 26px; height: 26px; fill: currentColor; }
.hl-card h3 {
  font-size: 17px; line-height: 1.25; margin: 0 0 10px; color: var(--c-navy);
  font-weight: 800;
}
.hl-card p {
  font-size: 13.5px; color: var(--c-ink-soft); margin: 0 0 16px; line-height: 1.5;
  flex: 1;
}
.card-more {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px;
  font-weight: 800; color: var(--c-garnet); text-transform: uppercase; letter-spacing: .5px;
}
.card-more:hover { color: var(--c-garnet-hover); }

/* ONBOARDING (modeled on cadastre seu contrato.jpg) */
.onboard-grid {
  display: grid; grid-template-columns: 1.15fr 0.95fr; gap: 50px;
  align-items: center;
}
.onboard-steps { list-style: none; padding: 0; margin: 0 0 28px; counter-reset: ob; }
.onboard-steps li {
  counter-increment: ob; position: relative; padding-left: 56px;
  margin-bottom: 22px; font-size: 15px;
}
.onboard-steps li::before {
  content: counter(ob); position: absolute; left: 0; top: 2px;
  width: 40px; height: 40px; border-radius: 99px;
  background: var(--c-navy); color: #fff; font-weight: 900; font-size: 16px;
  display: flex; align-items: center; justify-content: center;
}
.onboard-steps li strong { display: block; color: var(--c-navy); font-size: 16px; margin-bottom: 2px; }
.onboard-steps li span { color: var(--c-ink-soft); }
.onboard-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.onboard-link {
  font-size: 13.5px; font-weight: 700; color: var(--c-cyan); display: inline-flex;
}
.onboard-link:hover { color: var(--c-navy); }
.onboard-media {
  position: relative; border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.onboard-media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.media-tag {
  position: absolute; bottom: 14px; left: 14px; padding: 6px 14px;
  border-radius: 99px; background: rgba(7,19,34,.9); color: #fff;
  font-size: 11px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
}

/* APP / DIGITAL CHANNELS (modeled on aplicativo net empresa.jpg) */
.app-section { background: var(--c-bg); }
.app-grid {
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 50px; align-items: center;
}
.app-list { list-style: none; padding: 0; margin: 20px 0 26px; }
.app-list li {
  position: relative; padding-left: 26px; margin-bottom: 11px;
  font-size: 15px; color: var(--c-ink);
}
.app-list li::before {
  content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px;
  border-radius: 99px; background: var(--c-garnet);
}
.qr-card {
  display: flex; align-items: center; gap: 16px; padding: 18px 20px;
  background: #ffffff; border-radius: var(--radius); border: 1px solid var(--c-border);
  box-shadow: var(--shadow-sm); max-width: 440px;
}
.qr-card img { width: 92px; height: 92px; flex-shrink: 0; }
.qr-card p {
  margin: 0; font-size: 13.5px; color: var(--c-ink-soft); line-height: 1.45;
}
.qr-card p strong { display: block; color: var(--c-navy); font-size: 14px; margin-bottom: 3px; }
.app-mockup-wrap { text-align: center; }

/* GOVERNANCE / ADMIN (modeled on administração de usuarios e topicos.jpg) */
.gov-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center;
}
.gov-mockup-wrap { text-align: center; }
.gov-list { list-style: none; padding: 0; margin: 22px 0 28px; }
.gov-list li {
  position: relative; padding: 14px 16px 14px 44px; margin-bottom: 8px;
  background: #ffffff; border: 1px solid var(--c-border); border-radius: var(--radius-sm);
  font-size: 14.5px; font-weight: 700; color: var(--c-navy);
  transition: border-color .15s, color .15s, transform .15s;
}
.gov-list li:hover { border-color: var(--c-garnet); color: var(--c-garnet); transform: translateX(3px); }
.gov-list li::before {
  content: "›"; position: absolute; left: 16px; top: 10px; font-size: 22px;
  line-height: 1; color: var(--c-garnet); font-weight: 900;
}
.gov-list li small {
  display: block; font-weight: 400; color: var(--c-ink-soft); font-size: 12px; margin-top: 3px;
}

/* SOLUTIONS CATALOG (enhanced from current site, 12 products) */
.cat-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: 28px;
}
.cat-search {
  position: relative; display: flex; align-items: center; width: 320px; max-width: 100%;
}
.cat-search input {
  width: 100%; height: 42px; border-radius: 99px; border: 1px solid var(--c-border);
  padding: 0 16px 0 40px; font-size: 14px; background: #ffffff; font-family: var(--font);
}
.cat-search svg {
  position: absolute; left: 14px; width: 16px; height: 16px; fill: var(--c-ink-muted);
}
.cat-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.cat-chip {
  padding: 8px 18px; border-radius: 99px; font-size: 12.5px; font-weight: 800;
  background: #ffffff; border: 1px solid var(--c-border); color: var(--c-ink-soft);
  transition: all .15s;
}
.cat-chip:hover { border-color: var(--c-navy); color: var(--c-navy); }
.cat-chip.active { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }
.cat-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.cat-card {
  background: #ffffff; border-radius: var(--radius); border: 1px solid var(--c-border);
  padding: 24px 22px; display: flex; flex-direction: column;
  transition: transform .18s, box-shadow .18s, border-color .18s;
  box-shadow: var(--shadow-sm);
}
.cat-card:hover {
  transform: translateY(-3px); box-shadow: var(--shadow); border-color: #cbd5e1;
}
.cat-head {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px;
}
.cat-num { font-size: 12px; font-weight: 800; color: var(--c-ink-muted); }
.cat-glyph {
  width: 38px; height: 38px; border-radius: 99px;
  background: var(--c-cyan-soft); color: var(--c-cyan);
  display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 900;
}
.cat-card.cat-featured {
  background: linear-gradient(135deg, var(--c-navy) 0%, var(--c-navy-soft) 100%);
  color: #fff; border-color: var(--c-navy);
}
.cat-card.cat-featured h3 { color: #fff; }
.cat-card.cat-featured p { color: #cbd5e1; }
.cat-card.cat-featured .cat-glyph { background: rgba(0,163,196,.25); color: #7de8f8; }
.cat-card.cat-featured .cat-num { color: #94a3b8; }
.cat-card.cat-featured .card-more { color: #ffd1da; }
.cat-card.cat-featured .card-more:hover { color: #fff; }
.cat-card h3 {
  font-size: 17px; line-height: 1.25; margin: 0 0 8px; color: var(--c-navy); font-weight: 800;
}
.cat-card p {
  font-size: 13.5px; color: var(--c-ink-soft); margin: 0 0 18px; line-height: 1.5; flex: 1;
}
.cat-empty {
  text-align: center; padding: 48px 0; color: var(--c-ink-muted); font-size: 15px; grid-column: 1 / -1;
}

/* FAQ */
.faq-section { background: var(--c-bg); }
.faq-wrap { max-width: 860px; margin: 0 auto; }
.faq-item {
  background: #ffffff; border-radius: var(--radius); border: 1px solid var(--c-border);
  margin-bottom: 12px; overflow: hidden;
}
.faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 18px 22px; text-align: left; font-size: 15.5px;
  font-weight: 800; color: var(--c-navy);
}
.faq-q span { font-size: 20px; line-height: 1; color: var(--c-garnet); transition: transform .2s; }
.faq-item.open .faq-q span { transform: rotate(45deg); }
.faq-a { padding: 0 22px 18px; color: var(--c-ink-soft); font-size: 14px; display: none; }
.faq-item.open .faq-a { display: block; }

/* DOUBT CTA CARD (modeled on rodapé.jpg top) */
.doubt-section { padding-top: 10px; padding-bottom: 0; }
.doubt-box {
  background: #ffffff; border-radius: var(--radius-lg);
  box-shadow: 0 16px 44px rgba(7,19,34,.16); padding: 30px 36px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; border: 1px solid var(--c-border); position: relative; z-index: 5;
}
.doubt-box h3 {
  font-size: clamp(20px, 1.8vw, 24px); margin: 0 0 4px; color: var(--c-navy); font-weight: 900;
}
.doubt-box p { margin: 0; font-size: 14px; color: var(--c-ink-soft); }
.doubt-box p a { color: var(--c-cyan); font-weight: 700; text-decoration: underline; }
.doubt-box p a:hover { color: var(--c-navy); }

/* CUSTOMER SERVICE CHANNELS (modeled on rodapé.jpg middle) */
.cs-section {
  background: #e9edf3; padding-top: 64px; padding-bottom: 44px; margin-top: -50px;
}
.cs-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px;
}
.cs-col h4 {
  font-size: 12px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--c-navy); margin: 0 0 14px;
}
.cs-num {
  font-size: 21px; font-weight: 900; color: var(--c-garnet); line-height: 1.2; margin: 0 0 2px;
}
.cs-col p { margin: 0 0 10px; font-size: 12.5px; color: var(--c-ink-soft); }
.cs-col ul { list-style: none; padding: 0; margin: 0; font-size: 12.5px; color: var(--c-ink-soft); }
.cs-col ul li { margin-bottom: 6px; }
.cs-col a { color: var(--c-navy); font-weight: 700; }
.cs-col a:hover { color: var(--c-garnet); }

/* FOOTER BOTTOM BAND (modeled on rodapé.jpg bottom) */
.footer-v2 {
  background: linear-gradient(90deg, var(--c-navy-deep) 0%, var(--c-navy) 40%, #7d1a33 100%);
  color: #cbd5e1; font-size: 12px;
}
.ftr-top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 20px; padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,.1);
}
.ftr-social { display: flex; align-items: center; gap: 12px; }
.ftr-social-label {
  font-size: 11px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase;
  color: #ffffff; margin-right: 4px;
}
.ftr-social a {
  width: 32px; height: 32px; border-radius: 99px;
  background: rgba(255,255,255,.10); display: flex; align-items: center; justify-content: center;
  color: #fff; transition: background .15s, transform .1s;
}
.ftr-social a:hover { background: var(--c-garnet); transform: translateY(-1px); }
.ftr-social a svg { width: 14px; height: 14px; fill: currentColor; }
.ftr-legal {
  max-width: 620px; font-size: 11.5px; line-height: 1.6; color: #94a3b8; margin: 0;
}
.ftr-help-link {
  display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 700;
  font-size: 12.5px;
}
.ftr-help-link:hover { color: #ffd1da; }
.ftr-mid {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.08);
}
.ftr-links { display: flex; flex-wrap: wrap; gap: 18px; }
.ftr-links a { color: #cbd5e1; font-weight: 600; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; }
.ftr-links a:hover { color: #ffffff; }
.ftr-bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px; padding: 14px 0 20px; font-size: 11px; color: #94a3b8;
}

/* CONTACT FORM SECTION */
.contact-grid-v2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start;
}
.contact-form-v2 label {
  display: block; font-size: 12.5px; font-weight: 800; color: var(--c-navy);
  margin-bottom: 12px; text-transform: uppercase; letter-spacing: .6px;
}
.contact-form-v2 input, .contact-form-v2 select {
  width: 100%; height: 44px; border-radius: var(--radius-sm);
  border: 1px solid var(--c-border); padding: 0 14px; font-size: 14px;
  margin-top: 4px; font-family: var(--font); background: #ffffff;
}
.contact-form-v2 button { margin-top: 8px; width: 100%; }
.form-note { font-size: 12px; color: var(--c-ink-muted); margin-top: 10px; }

/* MODALS */
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(7,19,34,.65);
  z-index: 10000; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.modal-backdrop.open { opacity: 1; visibility: visible; }
.modal-box {
  background: #ffffff; border-radius: var(--radius-lg); max-width: 520px; width: 100%;
  padding: 30px 32px; box-shadow: var(--shadow-lg); position: relative;
  transform: translateY(-8px); transition: transform .2s;
}
.modal-backdrop.open .modal-box { transform: translateY(0); }
.modal-close {
  position: absolute; top: 16px; right: 18px; font-size: 26px; line-height: 1; color: var(--c-ink-muted);
}
.modal-close:hover { color: var(--c-ink); }
.modal-box h3 {
  font-size: 22px; margin: 0 0 8px; color: var(--c-navy); font-weight: 900;
}
.modal-box p { font-size: 14px; color: var(--c-ink-soft); line-height: 1.55; }
.modal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* RESPONSIVE */
@media (max-width: 1080px) {
  .hl-grid { grid-template-columns: repeat(2, 1fr); }
  .cs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .hdr-nav { display: none; }
  .drawer-toggle { display: inline-flex; }
  .util-left .seg:not(.seg-active) { display: none; }
  .util-search { display: none; }
  .btn-acc span { display: none; }
  .btn-acc { padding: 5px 8px; }
  .btn-cta-top span { display: none; }
  .btn-cta-top { padding: 9px 12px; }
  .hero-v2 { min-height: 460px; }
  .hero-card h1 { font-size: 28px; }
  .hero-diag-left { width: 100%; clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }
  .hero-diag-accent { width: 100%; clip-path: polygon(96% 0, 100% 0, 88% 100%, 84% 100%); }
  .hero-diag-right { display: none; }
  .access-box { flex-direction: column; text-align: center; }
  .onboard-grid, .app-grid, .gov-grid, .contact-grid-v2 { grid-template-columns: 1fr; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .doubt-box { flex-direction: column; text-align: center; }
  .ftr-top, .ftr-mid, .ftr-bottom { flex-direction: column; text-align: center; }
  .ftr-social { justify-content: center; }
  .ftr-links { justify-content: center; }
}
@media (max-width: 600px) {
  .section-v2 { padding: 44px 0; }
  .hl-grid, .cs-grid, .cat-grid { grid-template-columns: 1fr; }
  .hero-card h1 { font-size: 24px; }
  .access-box { padding: 18px 20px; }
  .btn-access { width: 100%; justify-content: center; }
  .onboard-steps li { padding-left: 48px; }
  .onboard-steps li::before { width: 34px; height: 34px; font-size: 14px; }
  .qr-card { flex-direction: column; text-align: center; }
  .modal-box { padding: 22px 20px; }
}


/* BRDA navigation and page-system enhancements */
:root { --c-indigo:#18225a; --c-violet:#4b247c; --c-ice:#eef2f8; }
html { scroll-padding-top: 116px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.site-top-stack { position:sticky; top:0; z-index:500; box-shadow:0 8px 24px rgba(7,19,34,.10); }
.site-header { position:relative; top:auto; background:rgba(255,255,255,.98); backdrop-filter:blur(12px); }
.util-bar { position:relative; isolation:isolate; overflow:visible; background:linear-gradient(100deg,#861936,#bc1b42 48%,#231e62 100%); }
.util-bar::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.14) 48%,transparent 70%); background-size:220% 100%; animation:brda-top-glide 8s ease-in-out infinite; }
@keyframes brda-top-glide { 0%,100% { background-position:120% 0; } 50% { background-position:-30% 0; } }
.util-inner { min-height:42px; }
.segment-switches { gap:10px; }
.segment-group { display:flex; align-items:center; position:relative; gap:3px; }
.seg-main { display:inline-flex; align-items:center; padding:5px 11px; border-radius:4px; color:#fff; font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; transition:background .18s, transform .18s; }
.seg-main:hover,.segment-group:focus-within .seg-main { background:rgba(255,255,255,.15); transform:translateY(-1px); }
.seg-dropdown { position:relative; }
.seg-dropdown summary { list-style:none; display:grid; place-items:center; color:#fff; width:22px; height:24px; cursor:pointer; border-radius:50%; transition:background .2s, transform .2s; }
.seg-dropdown summary::-webkit-details-marker { display:none; }
.seg-dropdown summary:hover,.seg-dropdown[open] summary { background:rgba(255,255,255,.17); transform:rotate(180deg); }
.seg-panel { position:absolute; top:calc(100% + 12px); left:0; min-width:206px; padding:7px; background:#fff; border:1px solid #e6eaf1; border-radius:8px; box-shadow:0 16px 38px rgba(7,19,34,.22); z-index:800; animation:menu-drop .16s ease-out; }
.seg-panel::before { content:""; position:absolute; left:12px; top:-6px; width:10px; height:10px; background:#fff; border-left:1px solid #e6eaf1; border-top:1px solid #e6eaf1; transform:rotate(45deg); }
.seg-panel a { position:relative; display:block; padding:10px 11px; color:#27344a; border-radius:5px; font-size:13px; font-weight:700; transition:background .15s,color .15s,padding-left .15s; }
.seg-panel a:hover,.seg-panel a:focus-visible { color:var(--c-garnet); background:#f5f6fa; padding-left:16px; }
@keyframes menu-drop { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.util-badge { color:rgba(255,255,255,.8); font-size:10px; letter-spacing:.3px; }
.secure-dot { width:7px; height:7px; border-radius:50%; background:#77e2c3; box-shadow:0 0 0 4px rgba(119,226,195,.13); }
.site-header::after { height:3px; background:linear-gradient(90deg,#c31d43 0%,#68255f 42%,#00a3c4 100%); background-size:170% 100%; animation:brda-top-glide 9s linear infinite; }
.hdr-inner { min-height:68px; }
.logo-link img { transition:transform .2s ease; }
.logo-link:hover img { transform:translateY(-1px); }
.hdr-nav { gap:2px; }
.hdr-nav>a { position:relative; border-radius:0; padding:10px 12px; }
.hdr-nav>a::after { content:""; position:absolute; left:12px; right:12px; bottom:2px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--c-garnet),var(--c-cyan)); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.hdr-nav>a:hover { background:transparent; }
.hdr-nav>a:hover::after,.hdr-nav>a:focus-visible::after { transform:scaleX(1); }
.btn-cta-top { background:linear-gradient(110deg,#aa1735,#c51e42 55%,#7f174b); transition:transform .18s, box-shadow .18s, filter .18s; }
.btn-cta-top:hover { filter:saturate(1.15); transform:translateY(-2px); }
.btn-cta-top span { font-size:15px; }
/* Floating menu based on the supplied composition; desktop panel is persistent and collapses to an icon rail after scrolling. */
.drawer-backdrop { display:none; }
.drawer.floating-menu { position:fixed; top:114px; left:max(8px,calc((100vw - 1440px)/2 + 8px)); bottom:auto; width:238px; max-width:calc(100vw - 20px); max-height:calc(100vh - 124px); transform:none; z-index:450; display:flex; flex-direction:column; overflow:auto; border:1px solid rgba(255,255,255,.5); border-radius:3px; background:#fff; box-shadow:0 14px 36px rgba(7,19,34,.22); transition:width .24s ease,box-shadow .2s,transform .24s; }
.drawer-top { display:none; }
.drawer-close { display:none; }
.drawer-cta { min-height:54px; padding:13px 20px; background:linear-gradient(105deg,#211e60,#152b68 72%,#3c236d); border-bottom:1px solid rgba(255,255,255,.15); letter-spacing:.6px; box-shadow:inset 0 -1px rgba(255,255,255,.1); }
.drawer-cta:hover { background:linear-gradient(105deg,#b2193c,#83245f); }
.drawer-cta b { display:grid; place-items:center; width:27px; height:27px; border:1px solid rgba(255,255,255,.65); border-radius:50%; font-size:18px; line-height:1; transition:transform .2s,background .2s; }
.drawer-cta:hover b { transform:translateX(2px); background:rgba(255,255,255,.13); }
.drawer-list { padding:0; margin:0; }
.drawer-list li a { position:relative; min-height:51px; padding:11px 16px; gap:14px; border-bottom:1px solid #e5e7eb; color:#5c6069; font-size:14px; font-weight:500; line-height:1.25; transition:color .16s,background .16s,padding-left .16s; }
.drawer-list li:nth-child(odd) a { background:#fff; }
.drawer-list li:nth-child(even) a { background:#f8f9fb; }
.drawer-list li a:hover,.drawer-list li a:focus-visible { padding-left:20px; color:#8d233c; background:#eceef3; }
.drawer-list li a svg { width:24px; height:24px; flex:0 0 24px; fill:#666b72; transition:fill .16s,transform .16s; }
.drawer-list li a:hover svg { fill:#a61b39; transform:translateX(1px); }
.menu-label { display:block; min-width:0; }
.menu-arrow { display:none; margin-left:auto; color:var(--c-garnet); font-size:18px; }
.drawer-foot { border-top:1px solid #e7e9ef; padding:9px 12px; margin-top:0; color:#8c929b; font-size:9px; line-height:1.25; }
body.has-scrolled .drawer.floating-menu:not(:hover):not(:focus-within),body.inner-page .drawer.floating-menu:not(:hover):not(:focus-within) { width:58px; overflow:hidden; }
body.has-scrolled .drawer:not(:hover):not(:focus-within) .menu-label,body.has-scrolled .drawer:not(:hover):not(:focus-within) .menu-arrow,body.has-scrolled .drawer:not(:hover):not(:focus-within) .drawer-foot,body.inner-page .drawer:not(:hover):not(:focus-within) .menu-label,body.inner-page .drawer:not(:hover):not(:focus-within) .menu-arrow,body.inner-page .drawer:not(:hover):not(:focus-within) .drawer-foot { display:none; }
body.has-scrolled .drawer:not(:hover):not(:focus-within) .drawer-cta,body.inner-page .drawer:not(:hover):not(:focus-within) .drawer-cta { padding:10px; justify-content:center; min-height:48px; }
body.has-scrolled .drawer:not(:hover):not(:focus-within) .drawer-cta b,body.inner-page .drawer:not(:hover):not(:focus-within) .drawer-cta b { width:26px; height:26px; font-size:17px; }
body.has-scrolled .drawer:not(:hover):not(:focus-within) .drawer-list li a,body.inner-page .drawer:not(:hover):not(:focus-within) .drawer-list li a { justify-content:center; min-height:46px; padding:10px 8px; }
body.has-scrolled .drawer:not(:hover):not(:focus-within) .drawer-list li a svg,body.inner-page .drawer:not(:hover):not(:focus-within) .drawer-list li a svg { flex-basis:22px; width:22px; height:22px; }
.drawer.floating-menu:hover,.drawer.floating-menu:focus-within { box-shadow:0 20px 44px rgba(7,19,34,.27); }
.hero-v2.hero-visual-only { min-height:480px; height:min(54vw,560px); max-height:560px; display:block; }
.hero-visual-only .hero-photo-bg { object-position:center 34%; }
.hero-visual-only .hero-overlay-dark { background:linear-gradient(90deg,rgba(7,19,34,.32),rgba(11,30,54,.03) 52%,rgba(11,30,54,.13)); }
.hero-visual-only .hero-diag-left { width:45%; opacity:.38; clip-path:polygon(0 0,82% 0,54% 100%,0 100%); }
.hero-visual-only .hero-diag-accent { width:48%; opacity:.36; }
.hero-visual-only .hero-diag-right { width:30%; opacity:.28; }
.app-details-link { margin-top:18px; }
/* Dedicated informational pages */
.breadcrumbs { display:flex; align-items:center; gap:9px; padding-top:18px; padding-bottom:6px; color:#798397; font-size:12px; }
.breadcrumbs a { color:#7f1f3b; font-weight:700; }
.breadcrumbs a:hover { text-decoration:underline; }
.detail-hero { position:relative; overflow:hidden; background:linear-gradient(108deg,#f5f6fa 0%,#fff 54%,#eef3f8 100%); border-bottom:1px solid #e5e9ef; }
.detail-hero::after { content:""; position:absolute; top:-65%; right:2%; width:42%; height:230%; background:linear-gradient(130deg,rgba(179,27,52,.08),rgba(0,163,196,.12)); clip-path:polygon(33% 0,100% 0,67% 100%,0 100%); pointer-events:none; }
.detail-hero-inner { position:relative; z-index:1; padding-top:50px; padding-bottom:54px; }
.detail-hero h1 { max-width:850px; margin:0 0 14px; color:var(--c-navy); font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.5px; font-weight:850; }
.detail-lead { max-width:780px; margin:0; color:#526176; font-size:clamp(16px,1.5vw,19px); line-height:1.6; }
.detail-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:24px; }
.detail-two-col { display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:start; }
.detail-two-col h2,.detail-steps-section h2,.detail-related h2 { margin:0 0 14px; color:var(--c-navy); font-size:clamp(25px,2.7vw,34px); line-height:1.18; }
.detail-copy { color:#526176; font-size:15px; line-height:1.75; }
.info-notice { display:flex; flex-direction:column; gap:5px; padding:14px 16px; margin-top:22px; border-left:4px solid var(--c-cyan); background:#eff9fb; border-radius:0 8px 8px 0; color:#405568; font-size:13px; }
.info-notice strong { color:var(--c-navy); }
.detail-panel { padding:26px; background:#fff; border:1px solid #e2e7ee; border-radius:14px; box-shadow:0 10px 28px rgba(11,30,54,.07); }
.detail-panel-mark { display:flex; justify-content:space-between; align-items:center; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid #edf0f4; color:var(--c-navy); font-size:15px; font-weight:900; letter-spacing:.5px; }
.detail-panel-mark span { color:var(--c-garnet); font-size:9px; letter-spacing:1.4px; }
.detail-panel>p { margin:0 0 15px; color:#69768a; font-size:13px; }
.detail-points { padding:0; margin:0; list-style:none; }
.detail-points li { position:relative; display:flex; flex-direction:column; gap:4px; padding:12px 0 12px 22px; border-top:1px solid #edf0f4; }
.detail-points li::before { content:""; position:absolute; top:19px; left:0; width:8px; height:8px; border-radius:50%; background:var(--c-garnet); box-shadow:0 0 0 4px rgba(179,27,52,.08); }
.detail-points strong { color:#172740; font-size:14px; }
.detail-points span { color:#68768b; font-size:13px; line-height:1.45; }
.detail-steps-section { background:#f6f7fa; }
.detail-steps { max-width:900px; padding:0; margin:0 auto; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.detail-steps li { display:flex; gap:14px; min-height:142px; padding:22px; background:#fff; border:1px solid #e5e8ef; border-radius:12px; box-shadow:var(--shadow-sm); }
.step-index { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:50%; background:var(--c-navy); color:#fff; font-weight:900; font-size:12px; }
.detail-steps li strong { color:var(--c-navy); font-size:14px; }
.detail-steps li p { margin:8px 0 0; color:#69768a; font-size:12px; line-height:1.5; }
.detail-cta { padding:28px 0; background:linear-gradient(100deg,#0b1e36,#182f55 58%,#6e1d3c); color:#fff; }
.detail-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.detail-cta h2 { margin:0 0 5px; font-size:22px; }
.detail-cta p { margin:0; color:#d5dce8; font-size:14px; }
.detail-related { padding:50px 0 62px; }
.detail-related h2 { font-size:24px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.related-card { display:flex; flex-direction:column; gap:15px; padding:18px; border:1px solid #e1e6ed; border-radius:10px; background:#fff; transition:transform .18s,box-shadow .18s,border-color .18s; }
.related-card:hover { transform:translateY(-3px); border-color:#c6d7e2; box-shadow:var(--shadow); }
.related-card span { color:var(--c-navy); font-weight:800; }
.related-card b { color:var(--c-garnet); font-size:11px; text-transform:uppercase; letter-spacing:.5px; }
.related-card i,.directory-card i { font-style:normal; }
.directory-search { display:flex; flex-direction:column; gap:6px; width:min(420px,100%); margin-top:24px; color:#2a374d; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.directory-search input { width:100%; height:46px; padding:0 14px; border:1px solid #d8dee8; border-radius:8px; background:#fff; font:inherit; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.directory-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.directory-card { min-height:218px; display:flex; flex-direction:column; padding:22px; background:#fff; border:1px solid #e2e7ef; border-radius:12px; box-shadow:0 3px 9px rgba(11,30,54,.04); transition:transform .18s,box-shadow .18s,border-color .18s; }
.directory-card:hover { transform:translateY(-3px); border-color:#ccd8e5; box-shadow:0 14px 30px rgba(11,30,54,.11); }
.directory-kicker { color:var(--c-cyan); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:1.2px; }
.directory-card h3 { margin:10px 0 7px; color:var(--c-navy); font-size:18px; line-height:1.2; }
.directory-card p { flex:1; margin:0 0 14px; color:#647187; font-size:13px; line-height:1.55; }
.directory-card b { color:var(--c-garnet); font-size:11px; text-transform:uppercase; letter-spacing:.4px; }
.directory-empty { padding:24px; text-align:center; color:#647187; }
.footer-v2 .ftr-top { align-items:flex-start; }
.footer-v2 .ftr-top>div { max-width:760px; }
.footer-v2 .ftr-legal { margin-top:15px; max-width:740px; }
.footer-v2 .ftr-links { gap:22px; }
.footer-v2 .ftr-bottom span:last-child { max-width:520px; text-align:right; }
@media(max-width:1100px) {
  .hdr-nav { gap:0; }
  .hdr-nav>a { padding-left:8px; padding-right:8px; font-size:12px; }
  .drawer.floating-menu { left:8px; width:224px; }
  .directory-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px) {
  .site-top-stack { position:sticky; }
  .util-inner { min-height:38px; padding-left:12px; padding-right:12px; }
  .util-badge,.util-search { display:none; }
  .segment-switches { gap:4px; }
  .seg-main { padding:5px 6px; font-size:9px; letter-spacing:.5px; }
  .seg-dropdown summary { width:18px; }
  .hdr-inner { min-height:60px; gap:10px; }
  .logo-link img { width:175px; height:auto; }
  .hdr-nav { display:none; }
  .drawer-toggle { display:inline-flex; }
  .btn-cta-top { padding:8px 10px; font-size:10px; }
  .drawer-backdrop { display:block; }
  .drawer.floating-menu { top:0; left:0; bottom:0; width:300px; max-width:88vw; max-height:none; border-radius:0; transform:translateX(-105%); z-index:1000; }
  .drawer.floating-menu.open { transform:translateX(0); }
  .drawer-top { display:flex; align-items:center; justify-content:space-between; padding:15px 16px; border-bottom:1px solid #e6eaf0; }
  .drawer-top img { width:160px; height:auto; }
  .drawer-close { display:block; position:static; font-size:28px; }
  .drawer-cta { min-height:54px; }
  .drawer-list li a { min-height:49px; }
  body.has-scrolled .drawer.floating-menu,body.inner-page .drawer.floating-menu { width:300px; }
  body.has-scrolled .drawer .menu-label,body.has-scrolled .drawer .menu-arrow,body.has-scrolled .drawer .drawer-foot,body.inner-page .drawer .menu-label,body.inner-page .drawer .menu-arrow,body.inner-page .drawer .drawer-foot { display:initial; }
  body.has-scrolled .drawer .drawer-list li a,body.inner-page .drawer .drawer-list li a { justify-content:flex-start; min-height:49px; padding:11px 16px; }
  .menu-arrow { display:none; }
  .drawer-backdrop.open { opacity:1; visibility:visible; }
  .hero-v2.hero-visual-only { min-height:380px; height:58vw; max-height:470px; }
  .detail-two-col { grid-template-columns:1fr; gap:28px; }
  .detail-steps { grid-template-columns:1fr; }
  .detail-steps li { min-height:0; }
  .related-grid { grid-template-columns:repeat(2,1fr); }
  .detail-cta-inner { align-items:flex-start; flex-direction:column; }
}
@media(max-width:600px) {
  .segment-group:nth-child(2) .seg-main { padding-left:4px; padding-right:4px; }
  .util-inner { gap:3px; }
  .util-right { gap:4px; }
  .btn-acc { padding:5px 7px; font-size:8px; }
  .logo-link img { width:145px; }
  .hdr-actions { gap:6px; }
  .btn-cta-top { padding:8px 9px; font-size:9px; }
  .drawer-toggle { width:36px; height:36px; }
  .hero-v2.hero-visual-only { min-height:300px; height:72vw; max-height:390px; }
  .hero-visual-only .hero-diag-left { width:60%; }
  .hero-visual-only .hero-diag-right { width:40%; }
  .detail-hero-inner { padding-top:34px; padding-bottom:38px; }
  .detail-hero h1 { font-size:32px; }
  .detail-lead { font-size:15px; }
  .detail-actions { align-items:stretch; flex-direction:column; }
  .detail-actions>* { justify-content:center; }
  .detail-panel { padding:20px; }
  .related-grid,.directory-grid { grid-template-columns:1fr; }
  .directory-card { min-height:190px; }
  .footer-v2 .ftr-bottom span:last-child { text-align:center; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

.app-placeholder { display:grid; place-items:center; width:92px; height:92px; flex:0 0 92px; border:1px solid #dfe6ef; border-radius:10px; color:var(--c-navy); background:linear-gradient(145deg,#f4f7fb,#e6edf5); font-size:15px; font-weight:900; letter-spacing:1px; }
@media(max-width:900px) { .app-placeholder { margin-inline:auto; } }
