:root {
    --red: #ED1C24;
    --red-dark: #C4161C;
    --red-deep: #790000;
    --wine: #4B0D14;
    --wine-2: #30090E;
    --coral: #EC685E;
    --rose: #F9E4E2;
    --ivory: #F8F5EF;
    --ivory-2: #F3EEE7;
    --paper: #FCFBF8;
    --white: #FFFFFF;
    --ink: #1F1C1D;
    --ink-2: #322D2F;
    --graphite: #4A4446;
    --muted: #756D70;
    --gray: #A7A9AC;
    --line: #DDD7D0;
    --line-dark: rgba(255,255,255,.13);
    --success: #177A58;
    --warning: #A9680A;
    --danger: #B71C23;
    --sans: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
    --container: 1280px;
    --gutter: clamp(20px, 4vw, 56px);
    --radius-xs: 8px;
    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 34px;
    --radius-xl: 54px;
    --shadow-sm: 0 12px 35px rgba(31, 28, 29, .08);
    --shadow-md: 0 28px 70px rgba(31, 28, 29, .14);
    --shadow-red: 0 18px 40px rgba(237, 28, 36, .24);
    --ease: cubic-bezier(.22, 1, .36, 1);
    --header-height: 88px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body {
    margin: 0;
    min-width: 320px;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--sans);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
/* O backdrop-filter do cabeçalho cria uma referência para elementos fixed. Sem ele,
   o painel e a sobreposição mobile ocupam corretamente toda a janela. */
body.nav-open .site-header { z-index: 10001; transform: none !important; backdrop-filter: none; }
img, picture, svg, canvas { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4, ul, ol, blockquote { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.06; text-wrap: balance; }
ul, ol { padding-left: 0; }
address { font-style: normal; }
em, i { font-style: normal; }
::selection { color: var(--white); background: var(--red); }
:focus-visible { outline: 3px solid rgba(237, 28, 36, .34); outline-offset: 4px; }
[hidden] { display: none !important; }

.container { width: min(calc(100% - (var(--gutter) * 2)), var(--container)); margin-inline: auto; }
.section { position: relative; padding-block: clamp(88px, 10vw, 152px); }
.sr-only {
    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;
}
.skip-link {
    position: fixed; z-index: 99999; top: 12px; left: 12px; padding: 12px 18px; color: var(--white);
    background: var(--ink); border-radius: 10px; transform: translateY(-150%); transition: transform .2s;
}
.skip-link:focus { transform: translateY(0); }
.icon { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

.scroll-progress { position: fixed; z-index: 10000; inset: 0 0 auto; height: 3px; pointer-events: none; }
.scroll-progress span { display: block; width: 0; height: 100%; background: var(--red); box-shadow: 0 0 16px rgba(237,28,36,.6); }

.eyebrow {
    display: inline-flex; align-items: center; gap: 10px; color: var(--red); font-size: .76rem;
    font-weight: 600; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase;
}
.eyebrow > span { width: 28px; height: 2px; background: currentColor; }
.eyebrow-light { color: #FF8D88; }

.btn {
    position: relative; display: inline-flex; min-height: 50px; align-items: center; justify-content: center;
    gap: 10px; padding: 12px 21px; border: 1px solid transparent; border-radius: 999px; cursor: pointer;
    font-size: .93rem; font-weight: 600; line-height: 1.1; transition: transform .3s var(--ease), background-color .25s, color .25s, border-color .25s, box-shadow .3s;
}
.btn::after { content: ""; position: absolute; inset: 4px; border: 1px solid transparent; border-radius: inherit; pointer-events: none; transition: border-color .25s; }
.btn:hover { transform: translateY(-2px); }
.btn .icon { width: 18px; height: 18px; transition: transform .3s var(--ease); }
.btn:hover .icon { transform: translate(2px, -2px); }
.btn-primary { color: var(--white); background: var(--red); box-shadow: 0 10px 25px rgba(237,28,36,.18); }
.btn-primary:hover { background: var(--red-dark); box-shadow: var(--shadow-red); }
.btn-primary:hover::after { border-color: rgba(255,255,255,.28); }
.btn-light { color: var(--ink); background: var(--white); }
.btn-light:hover { color: var(--red); box-shadow: 0 18px 36px rgba(0,0,0,.16); }
.btn-ghost { color: var(--ink); background: transparent; border-color: var(--line); }
.btn-ghost:hover { border-color: var(--ink); background: var(--white); }
.btn-text { min-height: auto; padding: 10px 0; border-radius: 0; color: var(--ink); }
.btn-text::before { content: ""; position: absolute; left: 0; bottom: 3px; width: 100%; height: 1px; background: var(--ink); transform-origin: right; transition: transform .35s var(--ease); }
.btn-text:hover::before { transform: scaleX(.45); transform-origin: left; }
.btn-sm { min-height: 42px; padding: 10px 17px; font-size: .84rem; }
.btn-lg { min-height: 58px; padding: 16px 26px; }
.btn-block { width: 100%; }
.text-link, .article-link {
    display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-weight: 600; line-height: 1.2;
    border-bottom: 1px solid currentColor; padding-bottom: 6px; transition: color .2s, gap .25s;
}
.text-link:hover, .article-link:hover { color: var(--red); gap: 13px; }
.text-link .icon, .article-link .icon { width: 17px; height: 17px; }

/* Header */
.utility-bar { position: relative; z-index: 1002; color: rgba(255,255,255,.78); background: var(--ink); font-size: .72rem; }
.utility-inner { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 24px; }
.utility-inner p { display: flex; align-items: center; gap: 8px; margin: 0; }
.utility-dot { width: 6px; height: 6px; border-radius: 50%; background: #5EDAA8; box-shadow: 0 0 0 4px rgba(94,218,168,.12); }
.utility-inner nav { display: flex; align-items: center; gap: 22px; }
.utility-inner a { display: inline-flex; align-items: center; gap: 7px; transition: color .2s; }
.utility-inner a:hover { color: var(--white); }
.utility-inner .icon { width: 14px; height: 14px; }
.site-header { position: sticky; z-index: 1000; top: 0; width: 100%; color: var(--ink); background: rgba(252,251,248,.92); border-bottom: 1px solid rgba(221,215,208,.65); backdrop-filter: blur(18px); transition: box-shadow .3s, background-color .3s, transform .3s; }
.site-header.is-scrolled { background: rgba(252,251,248,.97); box-shadow: 0 10px 34px rgba(31,28,29,.08); }
.site-header.is-hidden { transform: translateY(-100%); }
.header-inner { display: flex; min-height: var(--header-height); align-items: center; justify-content: space-between; gap: 34px; }
.brand { display: inline-flex; flex: 0 0 auto; }
.brand img { display: block; width: auto; height: 54px; background: var(--white); }
.site-navigation { display: flex; flex: 1 1 auto; align-items: center; justify-content: flex-end; gap: clamp(20px, 2.5vw, 40px); }
.site-navigation > ul { display: flex; align-items: center; gap: clamp(18px, 2vw, 31px); list-style: none; margin: 0; }
.site-navigation > ul > li { position: relative; }
.site-navigation > ul > li > a { position: relative; display: flex; align-items: center; gap: 5px; padding: 33px 0 30px; font-size: .88rem; font-weight: 600; line-height: 1; white-space: nowrap; }
.site-navigation > ul > li > a::after { content: ""; position: absolute; left: 0; bottom: 24px; width: 100%; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: right; transition: transform .3s var(--ease); }
.site-navigation > ul > li > a:hover::after, .site-navigation > ul > li > a.is-active::after { transform: scaleX(1); transform-origin: left; }
.nav-chevron { width: 14px; height: 14px; transition: transform .25s; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.access-menu { position: relative; }
.access-menu-toggle { white-space: nowrap; }
.access-menu-chevron { width: 14px !important; height: 14px !important; transition: transform .25s var(--ease); }
.access-menu-panel {
    position: absolute; z-index: 20; top: calc(100% + 10px); right: 0; display: grid; width: min(310px, calc(100vw - 40px)); padding: 10px;
    color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-md);
    opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity .2s ease, transform .28s var(--ease), visibility .2s;
}
.access-menu.is-open .access-menu-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.access-menu.is-open .access-menu-chevron { transform: rotate(180deg); }
.access-menu-item { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 52px; padding: 9px 8px; border-radius: 12px; font-size: .84rem; font-weight: 600; transition: color .2s, background .2s; }
.access-menu-item:hover, .access-menu-item:focus-visible { color: var(--red); background: var(--ivory); }
.access-menu-icon { display: grid; width: 32px; height: 32px; place-items: center; color: var(--red); background: var(--rose); border-radius: 10px; }
.access-menu-icon .icon { width: 17px; height: 17px; }
.access-menu-item > .icon { width: 15px; height: 15px; }
@media (hover: hover) and (min-width: 1081px) {
    .access-menu::after { position: absolute; top: 100%; right: 0; width: 100%; height: 10px; content: ''; }
    .access-menu:hover .access-menu-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
    .access-menu:hover .access-menu-chevron { transform: rotate(180deg); }
}
.mega-menu {
    position: absolute; left: 50%; top: calc(100% - 8px); display: grid; grid-template-columns: 230px minmax(0, 1fr); width: min(680px, 82vw);
    padding: 12px; color: var(--ink); background: rgba(255,255,255,.985); border: 1px solid rgba(221,215,208,.92); border-radius: 22px;
    box-shadow: 0 24px 60px rgba(31,28,29,.15); opacity: 0; visibility: hidden; transform: translate(-40%, 12px); transition: opacity .25s, transform .35s var(--ease), visibility .25s;
}
.mega-intro { display: flex; flex-direction: column; justify-content: space-between; min-height: 210px; padding: 23px; color: var(--white); background: linear-gradient(145deg, #211D1E 0%, #171415 100%); border-radius: 16px; overflow: hidden; }
.mega-intro span { color: #FF8D88; font-size: .67rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.mega-intro strong { max-width: 185px; font-family: var(--sans); font-size: 1.38rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }
.mega-intro a { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 600; }
.mega-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 6px; }
.mega-links > a { position: relative; display: flex; min-width: 0; min-height: 210px; flex-direction: column; justify-content: flex-end; padding: 58px 22px 23px; background: linear-gradient(155deg, #FFF 0%, #FCF9F8 100%); border: 1px solid rgba(221,215,208,.72); border-radius: 15px; box-shadow: 0 8px 22px rgba(31,28,29,.035); transition: color .2s, background-color .2s, border-color .2s, box-shadow .25s var(--ease), transform .25s var(--ease); }
.mega-links > a::before { position: absolute; top: 23px; left: 22px; width: 28px; height: 2px; background: var(--red); border-radius: 99px; content: ""; transition: width .25s var(--ease); }
.mega-links span { font-size: 1rem; font-weight: 600; letter-spacing: -.015em; }
.mega-links small { max-width: 170px; margin-top: 7px; color: var(--muted); font-size: .78rem; font-weight: 400; line-height: 1.45; }
.mega-links .icon { position: absolute; top: 19px; right: 18px; width: 17px; height: 17px; color: var(--red); transition: transform .25s var(--ease); }
@media (min-width: 1081px) {
    .has-submenu:hover .mega-menu, .has-submenu:focus-within .mega-menu { opacity: 1; visibility: visible; transform: translate(-40%, 0); }
    .has-submenu:hover .nav-chevron, .has-submenu:focus-within .nav-chevron { transform: rotate(180deg); }
    .mega-links > a:hover, .mega-links > a:focus-visible { color: var(--red); background: #FFF8F7; border-color: rgba(237,28,36,.22); box-shadow: 0 15px 32px rgba(31,28,29,.08); transform: translateY(-2px); }
    .mega-links > a:hover::before, .mega-links > a:focus-visible::before { width: 42px; }
    .mega-links > a:hover .icon, .mega-links > a:focus-visible .icon { transform: translate(2px, -2px); }
}
.mobile-menu-toggle, .mobile-nav-head, .mobile-nav-foot, .nav-overlay { display: none; }

/* Generic headings */
.section-heading h2, .editorial-copy h2 { margin: 0; font-family: var(--sans); font-size: clamp(2.55rem, 4.5vw, 5rem); font-weight: 400; letter-spacing: -.035em; }
.section-heading h2 em, .editorial-copy h2 em { color: var(--red); font-style: normal; font-weight: 400; }
.split-heading { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); align-items: end; gap: clamp(40px, 8vw, 120px); margin-bottom: clamp(52px, 7vw, 90px); }
.split-heading .eyebrow { margin-bottom: 25px; }
.split-heading > p { max-width: 450px; margin: 0 0 10px; color: var(--muted); font-size: 1.06rem; }
.centered-heading { max-width: 920px; margin: 0 auto clamp(50px, 7vw, 88px); text-align: center; }
.centered-heading .eyebrow { margin-bottom: 22px; }
.centered-heading h2 { font-size: clamp(2.4rem, 4.2vw, 4.7rem); }

/* Hero */
.hero-home {
    position: relative;
    isolation: isolate;
    min-height: auto;
    padding: clamp(40px, 4vw, 64px) 0 0;
    background: radial-gradient(circle at 18% 22%, rgba(244,228,226,.55) 0%, rgba(252,250,249,.95) 38%, rgba(255,255,255,1) 70%), linear-gradient(135deg, #FCFAF9 0%, #F8F2F1 48%, #FFFDFD 100%);
    overflow: hidden;
}
.hero-home::before { content: ""; position: absolute; z-index: 0; top: -18vw; right: -12vw; width: clamp(420px, 42vw, 650px); aspect-ratio: 1; border: 1px solid rgba(237,28,36,.16); border-radius: 50%; pointer-events: none; }
.hero-grid-bg, .page-grid-bg, .proposal-grid-bg, .service-hero-grid, .audience-page-grid, .closing-grid, .error-grid {
    position: absolute; inset: 0; pointer-events: none; opacity: .62;
    background-image: linear-gradient(rgba(60,53,55,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(60,53,55,.055) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.hero-home .hero-grid-bg { opacity: .26; }
.hero-thread { position: absolute; z-index: 1; inset: auto 0 0; bottom: -24px; width: 100%; height: 74%; opacity: .24; pointer-events: none; }
.hero-thread path, .page-thread path, .closing-cta > svg path { fill: none; stroke: var(--red); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 2200; stroke-dashoffset: 2200; animation: drawThread 2.2s .35s var(--ease) forwards; }
.hero-home .hero-thread path { stroke-width: 1.5; }
@keyframes drawThread { to { stroke-dashoffset: 0; } }
.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(440px, .97fr); align-items: center; gap: clamp(32px, 4vw, 64px); }
.hero-copy { padding-bottom: 48px; }
.hero-copy .eyebrow { margin-bottom: 18px; }
.hero-copy h1 { max-width: 710px; margin-bottom: 22px; font-family: var(--sans); font-size: clamp(3rem, 4.3vw, 4.5rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.hero-copy h1 em { color: var(--red); font-family: inherit; font-style: normal; font-weight: 600; }
.hero-copy > p { max-width: 590px; margin-bottom: 24px; color: #625C5E; font-size: clamp(1rem, 1.15vw, 1.1rem); font-weight: 400; line-height: 1.55; }
.hero-actions { position: relative; z-index: 3; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.hero-home .hero-actions .btn-primary { background: linear-gradient(135deg, #FF2E2E 0%, #F21E2B 52%, #D91724 100%); box-shadow: 0 10px 26px rgba(242,30,43,.18); }
.hero-home .hero-actions .btn-primary:hover { background: linear-gradient(135deg, #FF4545 0%, #F21E2B 52%, #C9101E 100%); box-shadow: 0 15px 32px rgba(242,30,43,.26); transform: translateY(-1px); }
.hero-home .hero-actions .btn-text { z-index: 1; background: transparent; box-shadow: none; }
.hero-home .hero-actions .btn-text::before { background: currentColor; }
.hero-home .hero-actions .btn-text:hover { color: var(--red); }
.hero-proof { display: flex; max-width: 520px; align-items: center; gap: 15px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.proof-mark { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; color: var(--red); background: var(--white); border: 1px solid var(--line); border-radius: 50%; box-shadow: var(--shadow-sm); }
.proof-mark .icon { width: 23px; height: 23px; }
.hero-proof p { display: flex; flex-direction: column; margin: 0; line-height: 1.3; }
.hero-proof strong { font-size: .86rem; }
.hero-proof span { margin-top: 4px; color: var(--muted); font-size: .78rem; }
.hero-visual { position: relative; isolation: isolate; min-height: clamp(480px, 38vw, 560px); }
.hero-visual::before { content: ""; position: absolute; z-index: 0; inset: -10% -11% 2% -15%; border-radius: 50%; background: radial-gradient(circle at 56% 49%, rgba(242,30,43,.12), rgba(242,30,43,.045) 30%, transparent 68%); filter: blur(12px); pointer-events: none; }
.hero-visual::after { content: ""; position: absolute; z-index: 0; top: -7%; right: -16%; width: clamp(410px, 38vw, 590px); aspect-ratio: 1; border: 1px solid rgba(237,28,36,.18); border-radius: 50%; pointer-events: none; }
.hero-photo-shell { position: absolute; z-index: 1; inset: 0 0 0 7%; overflow: hidden; background: #D9D3CC; border-radius: 240px 24px 24px 24px; box-shadow: 0 24px 60px rgba(31,28,29,.11); }
.hero-photo-shell picture, .hero-photo-shell img { width: 100%; height: 100%; }
.hero-photo-shell img { object-fit: cover; object-position: 52% 48%; transform: scale(1.03); transition: transform 1.5s var(--ease); }
.hero-photo-shell:hover img { transform: scale(1.075); }
.photo-shade { position: absolute; inset: 0; background: linear-gradient(130deg, transparent 42%, rgba(31,28,29,.07) 70%, rgba(31,28,29,.18)); }
.photo-index { position: absolute; right: 26px; bottom: 25px; display: flex; max-width: 205px; align-items: center; gap: 12px; padding: 12px 15px; color: var(--white); background: rgba(31,28,29,.58); border: 1px solid rgba(255,255,255,.2); border-radius: 14px; backdrop-filter: blur(12px); }
.photo-index small { font-size: .68rem; line-height: 1.3; }
.floating-portal-card { position: absolute; z-index: 3; left: -15px; bottom: 76px; width: min(335px, 70%); padding: 21px; color: var(--ink); background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.65); border-radius: 24px; box-shadow: var(--shadow-md); backdrop-filter: blur(18px); }
.floating-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.mini-brand { display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; font-weight: 600; }
.mini-brand i { width: 14px; height: 14px; background: var(--red); border-radius: 5px 0 5px 5px; transform: skew(-12deg); }
.floating-card-head > .icon { width: 18px; height: 18px; color: var(--red); }
.floating-label { display: block; margin-bottom: 5px; color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.floating-portal-card > strong { display: block; max-width: 230px; font-family: var(--sans); font-size: 1.45rem; line-height: 1.05; }
.mini-chart { display: flex; height: 76px; align-items: end; gap: 8px; margin: 22px 0 17px; padding-bottom: 7px; border-bottom: 1px solid var(--line); }
.mini-chart i { width: 100%; max-width: 28px; background: var(--ink-2); border-radius: 4px 4px 1px 1px; }
.mini-chart .is-red { background: var(--red); }
.floating-meta { display: flex; align-items: center; justify-content: space-between; }
.floating-meta span { display: inline-flex; align-items: center; gap: 6px; color: var(--success); font-size: .67rem; font-weight: 600; }
.floating-meta .icon { width: 14px; height: 14px; }
.floating-meta small { padding: 3px 7px; color: var(--muted); background: var(--ivory); border-radius: 999px; font-size: .58rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.hero-stamp { position: absolute; z-index: 2; top: 44px; right: -58px; display: flex; width: 165px; height: 165px; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--white); background: linear-gradient(135deg, #FF2E2E 0%, #E71825 100%); border-radius: 50%; font-size: .6rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transform: rotate(8deg); box-shadow: 0 18px 38px rgba(242,30,43,.22); }
.hero-stamp i { width: 4px; height: 4px; background: currentColor; border-radius: 50%; }
.quick-access-wrap { position: relative; z-index: 4; margin-top: -34px; }
.quick-access { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--white); border: 1px solid var(--line); border-radius: 26px 26px 0 0; box-shadow: 0 -12px 40px rgba(31,28,29,.07); overflow: hidden; }
.quick-access > a { position: relative; display: grid; min-height: 126px; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 27px 24px; border-right: 1px solid var(--line); transition: color .25s, background-color .25s; }
.quick-access > a:last-child { border-right: 0; }
.quick-access > a::before { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease); }
.quick-access > a:hover { color: var(--red); background: var(--ivory); }
.quick-access > a:hover::before { transform: scaleX(1); transform-origin: left; }
.quick-number { position: absolute; top: 12px; left: 15px; color: var(--gray); font-size: .55rem; letter-spacing: .12em; }
.quick-icon { display: grid; width: 43px; height: 43px; place-items: center; color: var(--red); background: var(--rose); border-radius: 13px; }
.quick-icon .icon { width: 21px; height: 21px; }
.quick-access strong { font-size: .82rem; line-height: 1.2; }
.quick-arrow { width: 16px; height: 16px; color: var(--gray); }

/* Intro */
.intro-section { background: var(--paper); }
.editorial-grid { display: grid; grid-template-columns: .35fr 1.15fr .65fr; align-items: start; gap: clamp(32px, 5vw, 74px); }
.section-kicker { display: flex; align-items: center; gap: 14px; padding-top: 10px; }
.section-kicker span { color: var(--red); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.kicker-line { width: 100%; height: 1px; background: var(--line); }
.editorial-copy h2 { font-size: clamp(2.5rem, 4.3vw, 4.85rem); }
.editorial-aside { padding-top: 9px; }
.editorial-aside p { margin-bottom: 24px; color: var(--muted); font-size: 1.03rem; }

/* Home benefits */
.section.home-benefits { padding-block: clamp(66px, 7vw, 104px); background: linear-gradient(180deg, #FFFFFF 0%, #FCFCFC 100%); }
.home-benefits-layout { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.72fr); align-items: stretch; gap: clamp(28px, 3vw, 48px); }
.home-benefits-intro, .home-benefits-content { display: flex; flex-direction: column; }
.home-benefits-intro { padding-top: 2px; }
.home-benefits-accent { display: block; width: 25px; height: 2px; margin-bottom: 17px; background: var(--red); }
.home-benefits-intro h2 { margin: 0 0 15px; color: #1F1A1A; font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.home-benefits-intro p { max-width: 355px; margin-bottom: 28px; color: #6B6464; font-size: .96rem; line-height: 1.5; }
.home-benefits-intro .text-link, .home-benefits-cta { font-size: .84rem; }
.home-benefits-intro .text-link { width: max-content; margin-top: auto; }
.home-benefits-content { min-width: 0; }
.home-benefits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.home-benefit-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); min-height: 108px; align-items: center; gap: 13px; padding: 17px; color: #1F1A1A; background: #FFFFFF; border: 1px solid #EDE9E7; border-radius: 19px; box-shadow: 0 8px 24px rgba(17,17,17,.04); transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.home-benefit-card:hover { border-color: rgba(237,28,36,.2); box-shadow: 0 12px 27px rgba(17,17,17,.06); transform: translateY(-2px); }
.home-benefit-icon { display: grid; width: 42px; height: 42px; place-items: center; color: #EF2334; background: #FFF4F4; border-radius: 50%; }
.home-benefit-icon .icon { width: 20px; height: 20px; }
.home-benefit-card h3 { margin: 0 0 4px; color: #1F1A1A; font-family: var(--sans); font-size: .91rem; font-weight: 600; letter-spacing: 0; line-height: 1.15; }
.home-benefit-card p { margin: 0; color: #6B6464; font-size: .78rem; line-height: 1.3; }
.home-benefits-cta { display: flex; width: max-content; margin: auto auto 0; padding-top: 24px; }

/* Solutions */
.solutions-section {
    position: relative;
    isolation: isolate;
    padding-block: clamp(76px, 8vw, 104px);
    background: radial-gradient(circle at 8% 88%, rgba(239,35,52,.075) 0%, rgba(239,35,52,0) 34%), radial-gradient(circle at 88% 14%, rgba(239,35,52,.045) 0%, rgba(239,35,52,0) 30%), linear-gradient(180deg, #FFFDFC 0%, #FBF7F6 100%);
    overflow: hidden;
}
.solutions-section > .container { position: relative; z-index: 1; }
.solutions-thread { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.solutions-thread path { fill: none; stroke: rgba(239,35,52,.55); stroke-width: 1.25; stroke-linecap: round; }
.solutions-thread circle { fill: var(--red); opacity: .85; }
.js .solutions-thread path { stroke-dasharray: 2200; stroke-dashoffset: 2200; }
.js .solutions-thread.is-visible path { animation: drawThread 1.35s .1s var(--ease) forwards; }
.solutions-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr); align-items: center; gap: clamp(40px, 5vw, 64px); margin-bottom: clamp(48px, 5vw, 60px); }
.solutions-intro .eyebrow { margin-bottom: 20px; }
.solutions-intro h2 { max-width: 780px; margin: 0; color: var(--ink); font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.solutions-intro h2 span { color: var(--red); font-weight: 700; }
.solutions-intro > p { max-width: 360px; margin: 0; color: #625B5B; font-size: 1.05rem; font-weight: 400; line-height: 1.75; }
.solutions-section .solution-showcase { display: grid; max-width: 1080px; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: clamp(24px, 2.2vw, 32px); margin-inline: auto; }
.solutions-section .solution-panel { position: relative; display: flex; height: 100%; flex-direction: column; background: var(--white); border: 1px solid rgba(239,35,52,.10); border-radius: 28px; box-shadow: 0 20px 52px rgba(28,20,20,.065); overflow: hidden; transition: transform 280ms ease, box-shadow 280ms ease, border-color 280ms ease; }
.solutions-section .solution-panel:hover { border-color: rgba(239,35,52,.18); box-shadow: 0 26px 62px rgba(28,20,20,.09); transform: translateY(-5px); }
.solutions-section .solution-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #171515; }
.solutions-section .solution-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 500ms ease; }
.solutions-section .solution-panel--cobranca .solution-media { background: #151515; }
.solutions-section .solution-panel--cobranca .solution-media img { object-fit: contain; }
.solutions-section .solution-panel:hover .solution-media img { transform: scale(1.015); }
.solutions-section .solution-body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: clamp(25px, 2.2vw, 32px); }
.solutions-section .solution-eyebrow { display: block; margin-bottom: 12px; color: #D71928; font-size: .75rem; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; }
.solutions-section .solution-body h3 { margin: 0 0 12px; color: #1B1718; font-family: var(--sans); font-size: clamp(1.7rem, 2vw, 2.2rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; }
.solutions-section .solution-body p { max-width: 590px; margin: 0; color: #625B5B; font-size: 1rem; font-weight: 400; line-height: 1.7; }
.solutions-section .solution-cta { display: inline-flex; width: fit-content; align-items: center; align-self: flex-start; gap: 12px; margin-top: auto; padding-top: 24px; padding-bottom: 7px; color: #171313; border-bottom: 1px solid rgba(23,19,19,.42); font-size: .9rem; font-weight: 600; transition: color .25s, border-color .25s, gap .25s; }
.solutions-section .solution-cta .icon { width: 17px; height: 17px; color: currentColor; transition: transform .25s var(--ease); }
.solutions-section .solution-cta:hover { color: #EF2334; border-color: currentColor; gap: 15px; }
.solutions-section .solution-cta:hover .icon { transform: translate(2px, -2px); }

/* Digital ecosystem */
.ecosystem-section {
    isolation: isolate;
    padding-block: clamp(88px, 9vw, 132px);
    color: var(--white);
    background:
        radial-gradient(circle at 86% 50%, rgba(237,28,36,.22) 0%, rgba(237,28,36,0) 31%),
        radial-gradient(circle at 12% 94%, rgba(177,25,34,.19) 0%, rgba(177,25,34,0) 35%),
        linear-gradient(120deg, #171314 0%, #201617 48%, #32171A 100%);
    overflow: hidden;
}
.ecosystem-section::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: radial-gradient(ellipse at 71% 61%, rgba(255,64,69,.14), transparent 38%);
    pointer-events: none;
}
.ecosystem-section::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -34%;
    right: -10%;
    width: min(56vw, 850px);
    aspect-ratio: 1;
    border: 1px solid rgba(255,126,130,.13);
    border-radius: 50%;
    pointer-events: none;
}
.ecosystem-thread {
    position: absolute;
    z-index: 0;
    inset: 0;
    opacity: .055;
    background-image: linear-gradient(rgba(255,255,255,.9) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.9) 1px, transparent 1px);
    background-size: 78px 78px;
    mask-image: linear-gradient(90deg, transparent, #000 21%, #000 86%, transparent);
    pointer-events: none;
}
.ecosystem-section > .container { position: relative; z-index: 1; }
.ecosystem-grid { display: grid; grid-template-columns: minmax(300px, .74fr) minmax(560px, 1.26fr); align-items: center; gap: clamp(44px, 6vw, 88px); }
.ecosystem-copy { position: relative; z-index: 2; max-width: 500px; }
.ecosystem-copy .eyebrow { margin-bottom: 20px; }
.ecosystem-copy h2 { max-width: 500px; margin: 0 0 20px; font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.ecosystem-copy h2 span { color: #FF8D88; font-weight: 600; }
.ecosystem-copy > p { max-width: 405px; margin-bottom: 28px; color: rgba(255,255,255,.68); font-size: 1rem; line-height: 1.62; }
.feature-list { display: grid; gap: 17px; margin: 0 0 34px; list-style: none; }
.feature-list li { display: flex; align-items: flex-start; gap: 11px; color: var(--graphite); }
.feature-list li .icon { width: 19px; height: 19px; margin-top: 3px; color: var(--red); }
.feature-list li span { display: flex; flex-direction: column; }
.feature-list li strong { color: var(--ink); }
.feature-list-light li { color: rgba(255,255,255,.62); }
.feature-list-light li strong { color: var(--white); }
.feature-list-light li .icon { color: #FF8D88; }
.ecosystem-copy .feature-list { gap: 14px; margin-bottom: 30px; }
.ecosystem-copy .feature-list li { gap: 10px; font-size: .92rem; line-height: 1.45; }
.ecosystem-copy .feature-list li .icon { width: 18px; height: 18px; margin-top: 2px; }
.ecosystem-cta { min-height: 54px; padding-inline: 23px; background: linear-gradient(135deg, #FF3037 0%, #E41925 58%, #C91520 100%); box-shadow: 0 14px 30px rgba(237,28,36,.24); }
.ecosystem-cta:hover { background: linear-gradient(135deg, #FF4046 0%, #ED1C24 58%, #CC1420 100%); box-shadow: 0 18px 36px rgba(237,28,36,.32); }
.portal-ecosystem-visual { position: relative; z-index: 1; min-height: clamp(490px, 43vw, 620px); isolation: isolate; }
.portal-ecosystem-visual::before { content: ""; position: absolute; z-index: 0; top: 18%; left: 12%; width: 72%; height: 64%; background: radial-gradient(ellipse, rgba(237,28,36,.19), rgba(237,28,36,0) 68%); filter: blur(18px); pointer-events: none; }
.portal-connection { position: absolute; z-index: 1; inset: 2% -2% 1%; width: 104%; height: 97%; overflow: visible; pointer-events: none; }
.portal-connection path { fill: none; stroke: rgba(255,71,76,.52); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.portal-connection circle { fill: #FF444B; stroke: rgba(255,255,255,.72); stroke-width: 1; }
.portal-dashboard, .portal-float { position: absolute; display: block; max-width: none; height: auto; pointer-events: none; user-select: none; }
.portal-dashboard { z-index: 2; top: 8%; left: 3%; width: 94%; will-change: transform; }
.portal-float { z-index: 4; }
.portal-float--boleto { top: -9%; right: -2%; width: clamp(190px, 20vw, 290px); }
.portal-float--documentos { bottom: -5%; left: -4%; width: clamp(178px, 17.5vw, 250px); }
.portal-float--solicitacao { right: -3%; bottom: -5%; width: clamp(178px, 17.5vw, 250px); }

/* Video testimonials */
.testimonials-section {
    position: relative;
    isolation: isolate;
    padding-block: clamp(72px, 7vw, 104px);
    background:
        radial-gradient(circle at 12% 14%, rgba(237,28,36,.06) 0%, rgba(237,28,36,0) 31%),
        radial-gradient(circle at 90% 82%, rgba(237,28,36,.045) 0%, rgba(237,28,36,0) 28%),
        linear-gradient(180deg, #FFFDFC 0%, #FFF8F7 50%, #FFFFFF 100%);
    overflow: hidden;
}
.testimonials-section > .container { position: relative; z-index: 1; }
.testimonials-thread { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.testimonials-thread path { fill: none; stroke: rgba(237,28,36,.16); stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.testimonials-heading { max-width: 680px; margin: 0 auto clamp(36px, 3.5vw, 48px); text-align: center; }
.testimonials-label { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--red); font-size: .76rem; font-weight: 600; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.testimonials-label::after { width: 64px; height: 2px; content: ""; background: currentColor; }
.testimonials-heading h2 { max-width: 680px; margin: 0 auto 14px; color: var(--ink); font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.testimonials-heading h2 span { color: var(--red); font-weight: 600; }
.testimonials-heading p { max-width: 600px; margin: 0 auto; color: var(--muted); font-size: 1rem; line-height: 1.62; }
.testimonials-gallery { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(340px, .84fr); align-items: start; gap: clamp(22px, 3vw, 42px); }
.testimonial-featured { position: relative; min-width: 0; padding-bottom: 18px; }
.testimonial-featured-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); border: 1px solid rgba(255,255,255,.72); border-radius: 24px; box-shadow: 0 25px 56px rgba(45,27,29,.14); }
.testimonial-featured-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(18,15,16,.06), rgba(18,15,16,.34)); pointer-events: none; }
.testimonial-featured-media img, .testimonial-playlist-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.testimonial-featured-badge { position: absolute; z-index: 1; top: 18px; left: 18px; display: inline-flex; min-height: 30px; align-items: center; padding: 7px 12px; color: var(--white); background: linear-gradient(135deg, #FF3139, #DF1722); border-radius: 999px; box-shadow: 0 8px 18px rgba(126,0,9,.24); font-size: .68rem; font-weight: 600; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.testimonial-play-button { position: absolute; z-index: 2; display: grid; place-items: center; width: 64px; height: 64px; padding: 0; color: var(--white); background: linear-gradient(135deg, #FF3038, #D81420); border: 2px solid rgba(255,255,255,.86); border-radius: 50%; box-shadow: 0 15px 30px rgba(137,8,15,.34); cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s; }
.testimonial-play-button > span { width: 0; height: 0; margin-left: 4px; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 13px solid currentColor; }
.testimonial-play-button:hover { background: linear-gradient(135deg, #FF4A50, #E01924); box-shadow: 0 19px 34px rgba(137,8,15,.42); transform: scale(1.06); }
.testimonial-play-button--featured { top: 50%; left: 50%; transform: translate(-50%, -50%); }
.testimonial-play-button--featured:hover { transform: translate(-50%, -50%) scale(1.06); }
.testimonial-featured-summary { position: relative; z-index: 3; width: min(83%, 510px); margin: -38px 0 0 clamp(18px, 4vw, 42px); padding: clamp(21px, 3vw, 30px); background: rgba(255,255,255,.97); border: 1px solid rgba(221,215,208,.78); border-radius: 20px; box-shadow: 0 18px 38px rgba(44,30,31,.11); }
.testimonial-featured-summary > span { display: block; margin-bottom: 10px; color: var(--red); font-size: .68rem; font-weight: 600; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.testimonial-featured-summary p { margin: 0 0 17px; color: var(--graphite); font-size: 1rem; line-height: 1.5; }
.testimonial-featured-summary h3 { margin: 0 0 3px; color: var(--ink); font-family: var(--sans); font-size: 1.12rem; font-weight: 700; letter-spacing: -.02em; }
.testimonial-featured-summary small { display: block; color: var(--muted); font-size: .83rem; font-weight: 400; }
.testimonials-playlist { display: grid; align-content: start; gap: 14px; }
.testimonial-playlist-card { min-width: 0; padding: 13px; background: rgba(255,255,255,.9); border: 1px solid rgba(221,215,208,.82); border-radius: 18px; box-shadow: 0 10px 26px rgba(46,29,31,.055); transition: transform .25s var(--ease), border-color .25s, box-shadow .25s, background-color .25s; }
.testimonial-playlist-card:hover { border-color: rgba(237,28,36,.23); box-shadow: 0 14px 31px rgba(46,29,31,.085); transform: translateY(-2px); }
.testimonial-playlist-card.is-active { background: var(--white); border-color: rgba(237,28,36,.45); box-shadow: 0 15px 32px rgba(172,18,28,.12); }
.testimonial-playlist-select { display: grid; width: 100%; grid-template-columns: 142px minmax(0, 1fr); align-items: center; gap: 14px; padding: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.testimonial-playlist-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); border-radius: 12px; }
.testimonial-playlist-thumb::after { position: absolute; inset: 0; content: ""; background: linear-gradient(135deg, transparent 40%, rgba(0,0,0,.22)); pointer-events: none; }
.testimonial-playlist-thumb .testimonial-play-button { z-index: 2; top: 50%; left: 50%; width: 38px; height: 38px; transform: translate(-50%, -50%); border-width: 1px; box-shadow: 0 8px 16px rgba(110,8,13,.32); }
.testimonial-playlist-thumb .testimonial-play-button > span { margin-left: 2px; border-top-width: 5px; border-bottom-width: 5px; border-left-width: 8px; }
.testimonial-playlist-copy { display: block; min-width: 0; }
.testimonial-playlist-copy strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: .99rem; font-weight: 700; line-height: 1.14; }
.testimonial-playlist-copy small { display: block; margin-bottom: 7px; color: var(--red); font-size: .75rem; font-weight: 600; line-height: 1.2; }
.testimonial-playlist-copy > span { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: .79rem; line-height: 1.36; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.testimonial-playlist-open { display: inline-flex; min-height: 44px; align-items: center; gap: 6px; margin: 4px 0 0 156px; padding: 10px 0 8px; color: var(--graphite); background: transparent; border-bottom: 1px solid currentColor; cursor: pointer; font-size: .72rem; font-weight: 600; line-height: 1.1; text-transform: uppercase; transition: color .2s, gap .2s; }
.testimonial-playlist-open .icon { width: 14px; height: 14px; }
.testimonial-playlist-open:hover, .testimonial-playlist-card.is-active .testimonial-playlist-open { color: var(--red); gap: 9px; }
body.site-body .testimonial-playlist-copy strong, body.site-body .testimonial-highlights strong { font-weight: 700; }
body.site-body .testimonial-playlist-copy > span { font-weight: 400; }
.testimonial-highlights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(36px, 4vw, 48px); padding: clamp(18px, 2.5vw, 26px); background: rgba(255,253,252,.86); border: 1px solid rgba(237,28,36,.17); border-radius: 22px; box-shadow: 0 18px 45px rgba(54,31,32,.07); }
.testimonial-highlights article { display: grid; min-width: 0; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; padding: 5px clamp(13px, 2vw, 25px); border-left: 1px solid rgba(221,215,208,.86); }
.testimonial-highlights article:first-child { border-left: 0; }
.testimonial-highlights article > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--red); background: #FFF1F1; border-radius: 50%; }
.testimonial-highlights .icon { width: 21px; height: 21px; }
.testimonial-highlights strong, .testimonial-highlights small { display: block; }
.testimonial-highlights strong { color: var(--red); font-size: 1.08rem; font-weight: 700; line-height: 1.12; }
.testimonial-highlights small { margin-top: 3px; color: var(--graphite); font-size: .78rem; line-height: 1.3; }
.testimonials-cta { display: flex; justify-content: center; margin-top: 24px; }
.testimonials-cta .btn { min-height: 54px; padding-inline: 27px; background: linear-gradient(135deg, #FF323A 0%, #E51A25 58%, #C91620 100%); box-shadow: 0 14px 30px rgba(237,28,36,.22); }
.testimonials-cta .btn:hover { background: linear-gradient(135deg, #FF4A50 0%, #ED1C24 58%, #CD1420 100%); box-shadow: 0 18px 38px rgba(237,28,36,.3); }

body.testimonial-modal-open { overflow: hidden; }
.testimonial-modal { position: fixed; z-index: 10020; inset: 0; display: grid; align-items: start; justify-items: center; padding: 24px; overflow-y: auto; }
.testimonial-modal-backdrop { position: absolute; inset: 0; background: rgba(20,14,15,.74); backdrop-filter: blur(7px); }
.testimonial-modal-dialog { position: relative; z-index: 1; width: min(960px, 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); margin-block: auto; padding: clamp(24px, 4vw, 38px); overflow-y: auto; color: var(--white); background: linear-gradient(145deg, #211819, #111010); border: 1px solid rgba(255,255,255,.14); border-radius: 24px; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.testimonial-modal-kicker { display: block; margin-bottom: 5px; color: #FF8D88; font-size: .72rem; font-weight: 600; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.testimonial-modal-dialog h2 { margin: 0 52px 22px 0; color: var(--white); font-family: var(--sans); font-size: clamp(1.4rem, 2.5vw, 2.15rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.08; }
.testimonial-modal-close { position: absolute; top: 18px; right: 18px; display: grid; width: 44px; height: 44px; place-items: center; padding: 0; color: var(--white); background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; cursor: pointer; transition: background-color .2s, transform .2s var(--ease); }
.testimonial-modal-close:hover { background: rgba(237,28,36,.88); transform: rotate(90deg); }
.testimonial-modal-close .icon { width: 20px; height: 20px; }
.testimonial-modal-frame { aspect-ratio: 16 / 9; overflow: hidden; background: #050505; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; }
.testimonial-modal-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
/* Audience tabs */
.audience-section {
    position: relative;
    isolation: isolate;
    background: radial-gradient(circle at 15% 20%, rgba(239,35,52,.05) 0%, rgba(239,35,52,0) 28%), radial-gradient(circle at 85% 80%, rgba(239,35,52,.06) 0%, rgba(239,35,52,0) 30%), linear-gradient(180deg, #FFFDFD 0%, #FBF6F6 100%);
    overflow: hidden;
}
.audience-section::before { content: ""; position: absolute; z-index: 0; top: 14%; left: -12%; width: 30vw; height: 30vw; border-radius: 50%; background: rgba(237,28,36,.035); filter: blur(38px); pointer-events: none; }
.audience-section > .container { position: relative; z-index: 1; }
.audience-heading { max-width: 720px; margin: 0 auto clamp(34px, 4vw, 48px); text-align: center; }
.audience-heading .eyebrow { margin-bottom: 14px; }
.audience-heading h2 { margin: 0; font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.08; }
.audience-heading h2 span { color: var(--red); font-weight: 600; }
.audience-tabs { width: min(100%, 1080px); margin-inline: auto; background: var(--white); border: 1px solid rgba(239,35,52,.1); border-radius: 28px; overflow: hidden; box-shadow: 0 18px 48px rgba(20,16,16,.06); }
.audience-tab-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: rgba(255,255,255,.94); border-bottom: 1px solid #ECE6E6; }
.audience-tab-list button { position: relative; min-height: 74px; padding: 17px 12px; color: var(--ink); background: transparent; border-right: 1px solid #ECE6E6; cursor: pointer; font-size: .95rem; font-weight: 600; line-height: 1.2; transition: color .25s, background-color .25s; }
.audience-tab-list button:last-child { border-right: 0; }
.audience-tab-list button::after { content: ""; position: absolute; right: 22px; bottom: 0; left: 22px; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: center; transition: transform .3s var(--ease); }
.audience-tab-list button:hover { color: var(--red); background: rgba(237,28,36,.025); }
.audience-tab-list button[aria-selected="true"] { color: var(--red); }
.audience-tab-list button[aria-selected="true"]::after { transform: scaleX(1); }
.audience-tab-panel { display: grid; min-height: 510px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.audience-visual { position: relative; min-height: 510px; background: #171313; overflow: hidden; isolation: isolate; }
.audience-visual::after { content: ""; position: absolute; z-index: 2; inset: 0; background: radial-gradient(circle at 70% 80%, rgba(237,28,36,.2), transparent 43%), linear-gradient(90deg, rgba(12,8,9,.08), transparent 55%); pointer-events: none; }
.audience-visual img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; transform: scale(2.1); transform-origin: 3% 71%; }
.audience-tab-panel--sindicos .audience-visual img,
.audience-tab-panel--administradoras .audience-visual img { transform: scale(1.04); transform-origin: center; }
.audience-content { display: flex; max-width: none; flex-direction: column; justify-content: center; padding: clamp(32px, 4.2vw, 54px); background: var(--white); }
.audience-panel-label { margin-bottom: 16px; color: var(--red); font-size: .76rem; font-weight: 600; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.audience-content h3 { max-width: 480px; margin-bottom: 18px; font-family: var(--sans); font-size: clamp(1.9rem, 2.25vw, 2.65rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.08; }
.audience-content > p { max-width: 490px; margin-bottom: 25px; color: #625B5B; font-size: .98rem; line-height: 1.65; }
.audience-content ul { display: grid; gap: 11px; margin: 0 0 27px; list-style: none; }
.audience-content li { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 10px; color: #2D2626; font-size: .93rem; line-height: 1.5; }
.audience-content li .icon { width: 17px; height: 17px; margin-top: 2px; color: var(--red); }
.audience-cta { display: inline-flex; min-height: 44px; align-items: center; gap: 10px; align-self: flex-start; color: var(--red); font-size: .95rem; font-weight: 600; line-height: 1.2; transition: color .2s, gap .25s var(--ease); }
.audience-cta:hover { color: var(--red-dark); gap: 14px; }
.audience-cta .icon { width: 18px; height: 18px; transition: transform .25s var(--ease); }
.audience-cta:hover .icon { transform: translateX(3px); }
@keyframes audienceVisualIn { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: scale(1); } }
@keyframes audienceContentIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) {
    .audience-tab-panel:not([hidden]) .audience-visual { animation: audienceVisualIn .45s var(--ease) both; }
    .audience-tab-panel:not([hidden]) .audience-content { animation: audienceContentIn .4s .06s var(--ease) both; }
}

/* Process */
.process-section {
    --process-red: #EF2334;
    --process-red-dark: #D7192A;
    --process-text: #201B1C;
    --process-muted: #746C6E;
    --process-background: #FFFDFC;
    --process-border: rgba(239,35,52,.09);
    position: relative;
    isolation: isolate;
    background: radial-gradient(circle at 94% 4%, rgba(239,35,52,.075) 0%, rgba(239,35,52,0) 29%), radial-gradient(circle at 5% 88%, rgba(239,35,52,.05) 0%, rgba(239,35,52,0) 27%), linear-gradient(180deg, #FFFDFC 0%, #FBF7F6 100%);
    overflow: hidden;
}
.process-section > .container { position: relative; z-index: 1; }
.process-heading { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); align-items: center; gap: clamp(48px, 7vw, 100px); margin-bottom: clamp(52px, 6vw, 72px); }
.process-heading .eyebrow { margin-bottom: 18px; }
.process-heading h2 { max-width: 800px; margin: 0; color: var(--process-text); font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.04; }
.process-heading h2 span { color: var(--process-red); font-weight: 600; }
.process-heading > p { max-width: 410px; margin: 0; padding-left: clamp(28px, 3vw, 48px); color: #686062; border-left: 1px solid rgba(239,35,52,.28); font-size: 1rem; line-height: 1.7; }
.process-timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.process-timeline::before { content: ""; position: absolute; z-index: 0; top: 36px; right: 6%; left: 6%; height: 1px; background: linear-gradient(90deg, rgba(239,35,52,.08), rgba(239,35,52,.28), rgba(239,35,52,.08)); }
.process-step { position: relative; z-index: 1; display: grid; min-width: 0; grid-template-rows: 72px 50px auto minmax(92px, auto); justify-items: center; padding: 0 clamp(10px, 1.5vw, 20px); text-align: center; }
.process-number { display: grid; position: relative; z-index: 2; width: clamp(60px, 5vw, 72px); aspect-ratio: 1; place-items: center; align-self: center; color: var(--process-red); background: var(--white); border: 1px solid var(--process-border); border-radius: 50%; box-shadow: 0 10px 28px rgba(35,22,24,.06), 0 0 0 8px rgba(239,35,52,.035); font-family: var(--sans); font-size: 1rem; font-weight: 600; line-height: 1; transition: transform .28s var(--ease), border-color .28s, box-shadow .28s; }
.process-stem { position: relative; width: 1px; height: 50px; background: linear-gradient(180deg, rgba(239,35,52,.22), rgba(239,35,52,.06)); }
.process-stem::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 6px; height: 6px; background: var(--process-red); border: 2px solid var(--process-background); border-radius: 50%; box-shadow: 0 0 0 2px rgba(239,35,52,.06); transform: translate(-50%, 50%); }
.process-section .process-step h3 { align-self: start; margin: 0; color: var(--process-text); font-family: var(--sans); font-size: clamp(1.08rem, 1.3vw, 1.28rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.25; transition: color .25s; }
.process-step p { max-width: 220px; margin: 12px 0 0; color: var(--process-muted); font-size: .95rem; font-weight: 400; line-height: 1.65; }
.js .process-timeline::before { transform: scaleX(0); transform-origin: left center; transition: transform .9s var(--ease); }
.js .process-timeline.is-visible::before { transform: scaleX(1); }
@media (hover: hover) {
    .process-step:hover .process-number { border-color: rgba(239,35,52,.24); box-shadow: 0 14px 34px rgba(35,22,24,.08), 0 0 0 9px rgba(239,35,52,.055); transform: translateY(-3px); }
    .process-step:hover h3 { color: var(--process-red); }
}

/* National structure */
.national-section {
    --national-red: #FF3A41;
    --national-map-x: 0px;
    --national-map-y: 0px;
    --national-map-rotate: 0deg;
    --national-map-tilt-x: 0deg;
    --national-map-tilt-y: 0deg;
    --national-depth-x: 0px;
    --national-depth-y: 0px;
    position: relative;
    isolation: isolate;
    color: var(--white);
    background: radial-gradient(circle at 7% 90%, rgba(188,12,23,.34) 0%, rgba(188,12,23,0) 31%), radial-gradient(circle at 86% 12%, rgba(130,18,25,.2) 0%, rgba(130,18,25,0) 28%), linear-gradient(112deg, #080607 0%, #171011 53%, #0B0809 100%);
    overflow: hidden;
}
.national-section::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.18), transparent 44%, rgba(0,0,0,.22)); pointer-events: none; }
.national-section-grid { position: absolute; z-index: -1; inset: -5%; opacity: .055; background-image: linear-gradient(rgba(255,255,255,.44) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.44) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, transparent, #000 24%, #000 80%, transparent); pointer-events: none; transform: translate3d(var(--national-depth-x), var(--national-depth-y), 0) scale(1.04); transition: transform 120ms cubic-bezier(.22,.61,.36,1); }
.national-section > .container { position: relative; z-index: 1; }
.national-layout { display: grid; grid-template-areas: "map copy"; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr); align-items: center; gap: clamp(48px, 8vw, 116px); }
.national-copy { grid-area: copy; position: relative; z-index: 2; max-width: 500px; }
.national-copy .eyebrow { margin-bottom: 18px; }
.national-copy h2 { max-width: 480px; margin: 0 0 21px; color: var(--white); font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.04; }
.national-copy h2 span { color: var(--national-red); font-weight: 600; }
.national-copy > p { max-width: 440px; margin: 0; color: rgba(255,255,255,.7); font-size: 1rem; font-weight: 400; line-height: 1.68; }
.national-map { grid-area: map; position: relative; width: min(128%, 680px); max-width: none; margin-inline: -5%; justify-self: center; perspective: 1100px; transform-style: preserve-3d; }
.national-map::after { content: ""; position: absolute; inset: 18% 16%; z-index: -1; background: rgba(239,28,36,.2); border-radius: 50%; filter: blur(52px); pointer-events: none; transform: translate3d(var(--national-depth-x), var(--national-depth-y), -10px) scale(1.06); transition: transform 120ms cubic-bezier(.22,.61,.36,1); }
.national-map img { display: block; width: 100%; height: auto; backface-visibility: hidden; filter: saturate(1.1) contrast(1.05) drop-shadow(0 26px 38px rgba(0,0,0,.25)); transform: translate3d(var(--national-map-x), var(--national-map-y), 24px) rotate(var(--national-map-rotate)) rotateX(var(--national-map-tilt-x)) rotateY(var(--national-map-tilt-y)) scale(1.08); transform-origin: 50% 52%; transition: transform 105ms cubic-bezier(.22,.61,.36,1); }
.national-section.is-national-parallax-active .national-map img, .national-section.is-national-parallax-active .national-map::after, .national-section.is-national-parallax-active .national-section-grid { will-change: transform; }

/* Confidence */
.confidence-section { background: var(--paper); }
.confidence-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(50px, 8vw, 115px); }
.confidence-visual { position: relative; min-height: 650px; }
.confidence-visual picture { position: absolute; inset: 0; overflow: hidden; border-radius: 24px 210px 24px 24px; }
.confidence-visual img { width: 100%; height: 100%; object-fit: cover; }
.confidence-caption { position: absolute; right: -25px; bottom: 35px; display: flex; width: min(360px, 80%); flex-direction: column; padding: 22px; color: var(--white); background: var(--wine); border-radius: 19px; box-shadow: var(--shadow-md); }
.confidence-caption span { color: #FFB0AC; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.confidence-caption strong { margin-top: 8px; font-family: var(--sans); font-size: 1.45rem; font-weight: 400; line-height: 1.1; }
.confidence-copy .eyebrow { margin-bottom: 24px; }
.confidence-copy h2 { margin-bottom: 25px; font-family: var(--sans); font-size: clamp(2.55rem, 4vw, 4.65rem); font-weight: 400; letter-spacing: -.04em; }
.confidence-copy h2 em { color: var(--red); font-style: normal; }
.confidence-copy > p { margin-bottom: 32px; color: var(--muted); font-size: 1.03rem; }
.confidence-points { display: grid; margin-bottom: 34px; border-top: 1px solid var(--line); }
.confidence-points article { display: grid; grid-template-columns: 44px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.confidence-points article > .icon { width: 24px; height: 24px; margin-top: 4px; color: var(--red); }
.confidence-points div { display: flex; flex-direction: column; }
.confidence-points strong { font-size: .94rem; }
.confidence-points span { margin-top: 3px; color: var(--muted); font-size: .81rem; }

/* Content */
.content-section { background: var(--ivory); }
.content-heading { max-width: 720px; margin: 0 auto clamp(36px, 4vw, 48px); text-align: center; }
.content-heading .eyebrow { margin-bottom: 14px; }
.content-heading h2 { max-width: 680px; margin: 0; font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.content-heading h2 span { color: var(--red); font-weight: 600; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.article-card { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; transition: transform .45s var(--ease), box-shadow .4s; }
.article-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-md); }
.article-image { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ivory-2); }
.article-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.article-card:hover .article-image img { transform: scale(1.04); }
.article-image > span { position: absolute; left: 15px; bottom: 15px; padding: 7px 11px; color: var(--ink); background: rgba(255,255,255,.92); border-radius: 999px; font-size: .61rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; backdrop-filter: blur(8px); }
.article-body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.article-body > small { color: var(--muted); font-size: .68rem; }
.article-body h3 { margin: 11px 0 13px; font-family: var(--sans); font-size: clamp(1.5rem, 2vw, 2.05rem); font-weight: 600; line-height: 1.1; }
.article-body h3 a { transition: color .2s; }
.article-body h3 a:hover { color: var(--red); }
.article-body p { margin-bottom: 23px; color: var(--muted); font-size: .85rem; }
.article-body .article-link { align-self: flex-start; margin-top: auto; font-size: .78rem; }
.content-cta { display: flex; justify-content: center; margin-top: clamp(32px, 4vw, 48px); }
.content-cta .btn { min-height: 54px; padding-inline: 27px; background: linear-gradient(135deg, #FF323A 0%, #E51A25 58%, #C91620 100%); box-shadow: 0 14px 30px rgba(237,28,36,.22); }
.content-cta .btn:hover { background: linear-gradient(135deg, #FF4A50 0%, #ED1C24 58%, #CD1420 100%); box-shadow: 0 18px 38px rgba(237,28,36,.3); }

/* FAQ */
.faq-section { background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); align-items: start; gap: clamp(42px, 6vw, 84px); }
.faq-intro { position: sticky; top: 130px; max-width: 440px; align-self: start; }
.faq-intro .eyebrow { margin-bottom: 14px; }
.faq-intro h2 { margin: 0 0 16px; font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.faq-intro h2 em { color: var(--red); font-style: normal; font-weight: 600; }
.faq-intro p { max-width: 410px; margin-bottom: 24px; color: var(--muted); font-size: 1rem; line-height: 1.62; }
.accordion { border-top: 1px solid var(--line); }
.accordion-item { border-bottom: 1px solid var(--line); }
.accordion-item h3 { margin: 0; }
.accordion-item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 25px; padding: 25px 0; text-align: left; background: transparent; cursor: pointer; }
.accordion-item button > span { display: flex; align-items: center; gap: 20px; font-family: var(--sans); font-size: clamp(1.2rem, 1.7vw, 1.55rem); font-weight: 600; line-height: 1.15; }
.accordion-item button i { color: var(--red); font-family: var(--sans); font-size: .61rem; font-style: normal; font-weight: 600; letter-spacing: .08em; }
.accordion-item button b { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; color: var(--ink); background: var(--ivory); border-radius: 50%; }
.accordion-item button b .icon { width: 15px; height: 15px; }
.accordion-item.is-open button { color: var(--red); }
.accordion-panel { padding: 0 55px 25px; }
.accordion-panel p { max-width: 690px; margin: 0; color: var(--muted); font-size: .92rem; }

/* Home section rhythm */
.home-main { --home-section-space: clamp(80px, 7vw, 104px); }
.home-main > .section, .home-main > .closing-cta { padding-block: var(--home-section-space); }
.home-main > .national-section, .home-main > .home-proposal-section { padding-block: clamp(60px, 5vw, 76px); }

/* Home proposal CTA */
.home-proposal-section {
    --building-x: 0px;
    --building-y: 0px;
    --building-rotate: 0deg;
    --building-tilt-x: 0deg;
    --building-tilt-y: 0deg;
    --layer-x: 0px;
    --layer-y: 0px;
    --orbit-x: 0px;
    --orbit-y: 0px;
    position: relative;
    isolation: isolate;
    color: var(--white);
    background:
        radial-gradient(circle at 18% 78%, rgba(190,20,33,.38) 0%, rgba(122,12,23,.18) 28%, transparent 55%),
        radial-gradient(circle at 76% 40%, rgba(132,16,27,.26) 0%, transparent 48%),
        linear-gradient(108deg, #160709 0%, #28070C 45%, #13070A 100%);
    overflow: hidden;
}
.home-proposal-section::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.1), transparent 58%, rgba(0,0,0,.18)); pointer-events: none; }
.home-proposal-section::after { content: ""; position: absolute; z-index: -1; right: -9%; bottom: -82%; width: min(62vw, 890px); aspect-ratio: 1; border: 1px solid rgba(255,91,98,.12); border-radius: 50%; box-shadow: 0 0 0 92px rgba(255,91,98,.018), 0 0 0 184px rgba(255,91,98,.012); pointer-events: none; }
.home-proposal-grid { position: absolute; z-index: -1; inset: 0; opacity: .09; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 96px 96px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); pointer-events: none; }
.home-proposal-layout { position: relative; z-index: 1; display: grid; min-height: clamp(390px, 26vw, 420px); grid-template-columns: minmax(400px, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(38px, 4vw, 60px); }
.home-proposal-content { position: relative; z-index: 5; max-width: 620px; }
.home-proposal-content .eyebrow { margin-bottom: 18px; }
.home-proposal-content h2 { max-width: 620px; margin: 0 0 20px; color: var(--white); font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.04; }
.home-proposal-content h2 span { color: #FF918D; font-weight: 600; }
.home-proposal-content > p { max-width: 520px; margin: 0 0 30px; color: rgba(255,255,255,.74); font-size: 1rem; font-weight: 400; line-height: 1.65; }
.home-proposal-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.home-proposal-button.btn { min-height: 64px; padding: 17px 29px; color: #211B1C; background: var(--white); border-radius: 999px; box-shadow: 0 14px 30px rgba(0,0,0,.2); font-weight: 600; }
.home-proposal-button.btn:hover { color: #211B1C; background: #FFF9F8; box-shadow: 0 20px 40px rgba(0,0,0,.28); }
.home-proposal-button .icon { margin-left: 4px; }
.home-proposal-phone { position: relative; display: inline-flex; min-height: 42px; align-items: center; padding-left: 26px; color: rgba(255,255,255,.7); font-size: .88rem; white-space: nowrap; }
.home-proposal-phone::before { content: ""; position: absolute; top: 4px; bottom: 4px; left: 0; width: 1px; background: rgba(255,255,255,.24); }
.home-proposal-phone strong { margin-left: .3em; color: var(--white); font-weight: 600; }
.home-proposal-visual { position: relative; display: flex; min-width: 0; min-height: clamp(390px, 26vw, 420px); align-items: center; justify-content: flex-end; perspective: 1100px; transform-style: preserve-3d; }
.home-proposal-building { position: relative; z-index: 4; display: block; width: min(100%, 720px); max-width: none; height: auto; object-fit: contain; transform: translate3d(var(--building-x), var(--building-y), 24px) rotate(var(--building-rotate)) rotateX(var(--building-tilt-x)) rotateY(var(--building-tilt-y)) scale(1.025); transform-origin: 56% 52%; transition: transform 100ms cubic-bezier(.22,.61,.36,1); backface-visibility: hidden; filter: drop-shadow(0 28px 45px rgba(0,0,0,.25)); }
.home-proposal-section.is-parallax-active .home-proposal-building, .home-proposal-section.is-parallax-active .home-proposal-layer, .home-proposal-section.is-parallax-active .home-proposal-orbit, .home-proposal-section.is-parallax-active .home-proposal-line, .home-proposal-section.is-parallax-active .home-proposal-dot, .home-proposal-section.is-parallax-active .home-proposal-dot-matrix { will-change: transform; }
.home-proposal-layer { position: absolute; z-index: 1; border: 1px solid rgba(255,93,100,.22); border-radius: 24px; background: rgba(91,16,24,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 24px 60px rgba(0,0,0,.16); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); transform: translate3d(var(--layer-x), var(--layer-y), 0); transition: transform 110ms cubic-bezier(.22,.61,.36,1); }
.home-proposal-layer--back { top: 15%; right: 4%; width: 78%; height: 57%; }
.home-proposal-layer--front { right: 29%; bottom: 9%; width: 58%; height: 47%; opacity: .72; transform: translate3d(calc(0px - var(--layer-x)), calc(0px - var(--layer-y)), 0); }
.home-proposal-orbit { position: absolute; z-index: 0; top: -10%; right: -8%; width: 94%; aspect-ratio: 1; border: 1px solid rgba(255,74,82,.2); border-radius: 50%; transform: translate3d(var(--orbit-x), var(--orbit-y), 0); transition: transform 120ms cubic-bezier(.22,.61,.36,1); }
.home-proposal-line { position: absolute; z-index: 2; right: -18%; bottom: 10%; width: 112%; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,52,62,.58) 22%, rgba(255,52,62,.78) 74%, transparent); transform: translate3d(var(--orbit-x), var(--orbit-y), 0); transition: transform 120ms cubic-bezier(.22,.61,.36,1); }
.home-proposal-dot { position: absolute; z-index: 5; right: 83%; bottom: calc(10% - 3px); width: 7px; height: 7px; background: #FF4D56; border-radius: 50%; box-shadow: 0 0 15px rgba(255,60,69,.9); transform: translate3d(var(--orbit-x), var(--orbit-y), 0); transition: transform 120ms cubic-bezier(.22,.61,.36,1); }
.home-proposal-dot-matrix { position: absolute; z-index: 5; right: 5%; bottom: 0; width: 112px; height: 70px; opacity: .42; background-image: radial-gradient(circle, rgba(255,82,89,.9) 1.2px, transparent 1.5px); background-size: 14px 14px; -webkit-mask-image: linear-gradient(135deg, transparent 2%, #000 35%, #000 100%); mask-image: linear-gradient(135deg, transparent 2%, #000 35%, #000 100%); transform: translate3d(calc(0px - var(--orbit-x)), var(--orbit-y), 0); transition: transform 120ms cubic-bezier(.22,.61,.36,1); }

/* Home contact */
.home-contact-section { background: radial-gradient(circle at 13% 88%, rgba(237,28,36,.07) 0%, rgba(237,28,36,0) 26%), radial-gradient(circle at 88% 8%, rgba(237,28,36,.045) 0%, rgba(237,28,36,0) 25%), var(--paper); }
.home-contact-heading { max-width: 800px; margin: 0 auto clamp(38px, 4.5vw, 58px); text-align: center; }
.home-contact-heading .eyebrow { justify-content: center; margin-bottom: 16px; }
.home-contact-heading h2 { margin: 0; color: var(--ink); font-family: var(--sans); font-size: clamp(2rem, 2.7vw, 3rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.04; }
.home-contact-heading h2 span { color: var(--red); font-weight: 600; }
.home-contact-channels { display: grid; grid-template-columns: .92fr .92fr 1.16fr; margin: 0; border-bottom: 1px solid rgba(221,215,208,.84); }
.home-contact-channels article { display: grid; min-width: 0; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 15px; min-height: 108px; padding: 8px clamp(19px, 2.8vw, 42px); }
.home-contact-channels article:first-child { padding-left: 0; }
.home-contact-channels article + article { border-left: 1px solid rgba(221,215,208,.84); }
.home-contact-icon { display: grid; width: 48px; height: 48px; place-items: center; color: var(--red); background: #FDF0EF; border-radius: 50%; }
.home-contact-icon .icon { width: 22px; height: 22px; }
body.site-body .home-contact-channels h3 { margin: 0 0 3px; color: var(--ink); font-family: var(--sans); font-size: 1rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; }
.home-contact-channels p, .home-contact-channels a { margin: 0; color: var(--graphite); font-size: .88rem; font-weight: 400; line-height: 1.5; }
.home-contact-channels article:nth-child(2) a { color: var(--red); font-weight: 600; }
.home-contact-email { display: block; max-width: 100%; overflow-wrap: anywhere; }
.home-contact-email-action { display: inline-flex; min-height: 37px; align-items: center; gap: 7px; margin-top: 7px !important; padding: 7px 11px; color: var(--red) !important; border: 1px solid rgba(237,28,36,.62); border-radius: 999px; font-size: .71rem !important; font-weight: 600 !important; line-height: 1; text-transform: uppercase; transition: color .2s, background-color .2s, border-color .2s; }
.home-contact-email-action:hover { color: var(--white) !important; background: var(--red); border-color: var(--red); }
.home-contact-email-action .icon { width: 14px; height: 14px; transition: transform .25s var(--ease); }
.home-contact-email-action:hover .icon { transform: translateX(2px); }
.home-contact-locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: clamp(30px, 4vw, 46px); }
.home-location-card { display: grid; grid-template-columns: minmax(200px, .86fr) minmax(0, 1.14fr); min-height: 202px; background: var(--white); border: 1px solid rgba(221,215,208,.84); border-radius: 20px; box-shadow: 0 12px 30px rgba(31,28,29,.045); overflow: hidden; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.home-location-card:hover { box-shadow: 0 18px 38px rgba(31,28,29,.08); transform: translateY(-3px); }
.home-location-image { position: relative; min-height: 202px; overflow: hidden; background: var(--ivory-2); }
.home-location-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(18,29,41,.04), rgba(18,29,41,0) 58%); pointer-events: none; }
.home-location-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.home-location-image--florianopolis img { object-position: 50% 52%; }
.home-location-image--sao-paulo img { object-position: 50% 50%; }
.home-location-card:hover .home-location-image img { transform: scale(1.035); }
.home-location-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 24px clamp(20px, 2.7vw, 33px); }
body.site-body .home-location-copy h3 { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 11px; color: var(--ink); font-family: var(--sans); font-size: 1.04rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; }
.home-location-copy h3 .icon { width: 20px; height: 20px; color: var(--red); }
.home-location-copy address { margin: 0; color: var(--graphite); font-size: .84rem; font-style: normal; line-height: 1.55; }
.home-location-copy address span { color: var(--muted); }
.home-location-map { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; margin-top: 15px; padding: 7px 11px; color: var(--red); border: 1px solid rgba(237,28,36,.62); border-radius: 999px; font-size: .74rem; font-weight: 600; line-height: 1; text-transform: uppercase; transition: color .2s, background-color .2s, border-color .2s; }
.home-location-map:hover { color: var(--white); background: var(--red); border-color: var(--red); }
.home-location-map .icon { width: 14px; height: 14px; transition: transform .25s var(--ease); }
.home-location-map:hover .icon { transform: translateX(2px); }

/* Footer */
.site-footer { position: relative; color: rgba(255,255,255,.68); background: var(--ink); overflow: hidden; }
.footer-thread { height: 5px; background: rgba(255,255,255,.05); }
.footer-thread span { display: block; width: 24%; height: 100%; background: var(--red); }
.footer-main { display: grid; grid-template-columns: 1.45fr .65fr .65fr 1fr; gap: clamp(35px, 5vw, 70px); padding-block: clamp(64px, 8vw, 106px); }
.footer-brand-block img { display: block; box-sizing: content-box; width: auto; height: 58px; padding: 6px 8px; margin-bottom: 27px; background: var(--white); border-radius: 10px; }
.footer-brand-block > p { max-width: 380px; margin-bottom: 25px; font-size: .88rem; }
.footer-phone { display: inline-flex; align-items: center; gap: 9px; color: var(--white); font-family: var(--sans); font-size: 1.55rem; }
.footer-phone .icon { width: 21px; height: 21px; color: #FF8D88; }
.footer-brand-block > small { display: block; margin-top: 5px; font-size: .68rem; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-column h2 { margin-bottom: 10px; color: var(--white); font-family: var(--sans); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.footer-column > a { font-size: .8rem; transition: color .2s, transform .2s; }
.footer-column > a:hover { color: var(--white); transform: translateX(3px); }
.footer-addresses { gap: 18px; }
.footer-addresses address { display: flex; flex-direction: column; gap: 3px; }
.footer-addresses strong { color: var(--white); font-size: .82rem; }
.footer-addresses span { font-size: .73rem; line-height: 1.45; }
.footer-addresses small { font-size: .65rem; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 24px; border-top: 1px solid rgba(255,255,255,.1); font-size: .67rem; }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; gap: 19px; }
.footer-bottom a:hover { color: var(--white); }
.cookie-banner { position: fixed; z-index: 9999; right: 22px; bottom: 22px; display: grid; width: min(620px, calc(100% - 44px)); grid-template-columns: 1fr auto; align-items: center; gap: 25px; padding: 21px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-md); }
.cookie-banner strong { font-family: var(--sans); font-size: 1.25rem; }
.cookie-banner p { margin: 4px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.cookie-actions { display: flex; gap: 8px; }

/* Public subpages */
.page-hero { position: relative; padding: clamp(90px, 10vw, 150px) 0 clamp(72px, 8vw, 120px); background: var(--ivory); overflow: hidden; }
.page-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: clamp(50px, 9vw, 140px); }
.page-hero .eyebrow { margin-bottom: 26px; }
.page-hero h1 { max-width: 980px; margin-bottom: 26px; font-family: var(--sans); font-size: clamp(3.2rem, 6vw, 7rem); font-weight: 400; letter-spacing: -.052em; line-height: .94; }
.page-hero h1 em { color: var(--red); font-style: normal; }
.page-hero p { max-width: 720px; margin: 0; color: var(--muted); font-size: 1.08rem; }
.page-thread { position: absolute; inset: auto 0 0; width: 100%; height: 75%; }
.page-hero-stat { display: flex; flex-direction: column; padding: 38px; color: var(--white); background: var(--ink); border-radius: 30px; box-shadow: var(--shadow-md); }
.page-hero-stat > span { color: var(--red); font-family: var(--sans); font-size: clamp(4rem, 7vw, 7.8rem); font-weight: 400; line-height: .85; }
.page-hero-stat > strong { margin-top: 25px; font-family: var(--sans); font-size: 1.38rem; font-weight: 400; line-height: 1.15; }
.story-section { background: var(--paper); }
.story-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(55px, 9vw, 135px); }
.story-photo { position: relative; min-height: 650px; }
.story-photo picture { position: absolute; inset: 0; overflow: hidden; border-radius: 220px 24px 24px; }
.story-photo img { width: 100%; height: 100%; object-fit: cover; }
.story-photo > span { position: absolute; right: -30px; bottom: 42px; padding: 15px 19px; color: var(--white); background: var(--red); border-radius: 999px; font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; box-shadow: var(--shadow-red); }
.story-copy .eyebrow { margin-bottom: 22px; }
.story-copy h2 { margin-bottom: 25px; font-family: var(--sans); font-size: clamp(2.55rem, 4vw, 4.65rem); font-weight: 400; letter-spacing: -.04em; }
.story-copy p { margin-bottom: 19px; color: var(--muted); }
.story-copy .text-link { margin-top: 12px; }
.principles-section { background: var(--ivory); }
.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 17px; }
.principle-grid article { position: relative; min-height: 320px; padding: 31px; background: var(--white); border: 1px solid var(--line); border-radius: 20px; transition: transform .4s var(--ease), box-shadow .4s; overflow: hidden; }
.principle-grid article::after { content: ""; position: absolute; right: -44px; bottom: -44px; width: 125px; height: 125px; background: var(--rose); border-radius: 50%; transition: transform .5s; }
.principle-grid article:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.principle-grid article:hover::after { transform: scale(1.25); }
.principle-grid article > span { display: grid; width: 50px; height: 50px; place-items: center; color: var(--red); background: var(--rose); border-radius: 15px; }
.principle-grid article > span .icon { width: 23px; height: 23px; }
.principle-grid small { position: absolute; top: 31px; right: 31px; color: var(--gray); font-size: .62rem; }
.principle-grid h3 { margin: 70px 0 14px; font-family: var(--sans); font-size: 1.7rem; font-weight: 600; }
.principle-grid p { position: relative; z-index: 1; margin: 0; color: var(--muted); font-size: .84rem; }
.transformation-section { color: var(--white); background: var(--ink); overflow: hidden; }
.transformation-section::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px); background-size: 74px 74px; }
.transformation-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(60px, 8vw, 125px); }
.transformation-copy h2 { margin: 22px 0 25px; font-family: var(--sans); font-size: clamp(2.8rem, 4.6vw, 5.2rem); font-weight: 400; letter-spacing: -.04em; }
.transformation-copy h2 em { color: #FF8D88; font-style: normal; }
.transformation-copy p { color: rgba(255,255,255,.63); }
.transformation-map { position: relative; min-height: 560px; }
.map-center { position: absolute; z-index: 3; top: 50%; left: 50%; display: flex; width: 190px; height: 190px; flex-direction: column; align-items: center; justify-content: center; color: var(--ink); background: var(--white); border-radius: 44% 56% 48% 52% / 48% 42% 58% 52%; transform: translate(-50%, -50%); box-shadow: 0 25px 60px rgba(0,0,0,.35); }
.map-center span { color: var(--red); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.map-center strong { margin-top: 7px; font-family: var(--sans); font-size: 1.5rem; }
.map-center small { margin-top: 5px; color: var(--muted); font-size: .58rem; }
.map-node { position: absolute; z-index: 3; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px; padding: 10px 13px; color: var(--white); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; backdrop-filter: blur(10px); font-size: .7rem; }
.map-node .icon { width: 16px; height: 16px; color: #FF8D88; }
.node-one { top: 75px; left: 35px; }.node-two { top: 56px; right: 38px; }.node-three { right: 0; bottom: 155px; }.node-four { left: 14px; bottom: 105px; }.node-five { left: 43%; bottom: 18px; }
.transformation-map > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.transformation-map > svg path { fill: none; stroke: rgba(255,255,255,.26); stroke-width: 1.5; stroke-dasharray: 5 8; }
.locations-section { background: var(--paper); }
.locations-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 9vw, 130px); }
.locations-grid .section-heading .eyebrow { margin-bottom: 22px; }
.locations-grid .section-heading h2 { margin-bottom: 20px; }
.locations-grid .section-heading p { color: var(--muted); }
.location-list { border-top: 1px solid var(--line); }
.location-list article { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.location-list article > span { display: grid; width: 45px; height: 45px; place-items: center; color: var(--red); background: var(--rose); border-radius: 14px; }
.location-list article > span .icon { width: 21px; height: 21px; }
.location-list article div { display: flex; flex-direction: column; }
.location-list small { color: var(--red); font-size: .59rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.location-list h3 { margin: 6px 0 8px; font-family: var(--sans); font-size: 1.7rem; font-weight: 600; }
.location-list p { margin: 0; color: var(--muted); font-size: .82rem; }
.location-list strong { margin-top: 4px; font-size: .75rem; }
.location-list a { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; color: var(--red); font-size: .75rem; font-weight: 600; }
.subpage-cta { padding: clamp(66px, 8vw, 105px) 0; color: var(--white); background: var(--red-deep); }
.subpage-cta .container { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.subpage-cta span { display: block; margin-bottom: 14px; color: #FFB4B1; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.subpage-cta h2 { max-width: 820px; margin: 0; font-family: var(--sans); font-size: clamp(2.7rem, 4.8vw, 5.3rem); font-weight: 400; letter-spacing: -.04em; }

/* Solutions pages */
.solutions-hero-index { display: flex; flex-direction: column; padding: 34px; color: var(--white); background: var(--ink); border-radius: 28px; }
.solutions-hero-index strong { color: var(--red); font-family: var(--sans); font-size: 6rem; line-height: .78; }
.solutions-hero-index span { margin-top: 20px; font-family: var(--sans); font-size: 1.55rem; }
.solutions-hero-index small { margin-top: 8px; color: rgba(255,255,255,.6); font-size: .73rem; }
.solution-detail-list { background: var(--paper); }
.solution-detail-row { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(55px, 8vw, 115px); padding-block: clamp(55px, 8vw, 105px); border-bottom: 1px solid var(--line); }
.solution-detail-row:first-child { padding-top: 0; }
.solution-detail-row:last-child { padding-bottom: 0; border-bottom: 0; }
.solution-detail-row.is-reverse .solution-detail-media { order: 2; }
.solution-detail-media { position: relative; overflow: hidden; border-radius: 28px; box-shadow: var(--shadow-sm); }
.solution-detail-media img { width: 100%; aspect-ratio: 1.33; object-fit: cover; }
.solution-detail-media > span { position: absolute; top: 20px; left: 20px; display: grid; width: 50px; height: 50px; place-items: center; color: var(--white); background: var(--red); border-radius: 50%; font-family: var(--sans); font-size: 1.15rem; box-shadow: var(--shadow-red); }
.solution-detail-copy .eyebrow { margin-bottom: 22px; }
.solution-detail-copy h2 { margin-bottom: 20px; font-family: var(--sans); font-size: clamp(2.6rem, 4vw, 4.6rem); font-weight: 400; letter-spacing: -.04em; }
.solution-detail-copy .lead { color: var(--ink); font-size: 1.08rem; }
.solution-detail-copy > p { color: var(--muted); }
.solution-detail-copy ul { display: grid; gap: 15px; margin: 28px 0 34px; list-style: none; }
.solution-detail-copy li { display: grid; grid-template-columns: 24px 1fr; gap: 10px; }
.solution-detail-copy li > .icon { width: 18px; height: 18px; margin-top: 3px; color: var(--red); }
.solution-detail-copy li span { display: flex; flex-direction: column; color: var(--muted); font-size: .83rem; }
.solution-detail-copy li strong { color: var(--ink); font-size: .9rem; }
.comparison-section { background: var(--ivory); }
.comparison-table { background: var(--white); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-sm); }
.comparison-head, .comparison-row { display: grid; grid-template-columns: .9fr 1.05fr 1.05fr; }
.comparison-head { color: var(--white); background: var(--ink); }
.comparison-head > * { padding: 23px 25px; border-right: 1px solid rgba(255,255,255,.1); }
.comparison-head span { color: rgba(255,255,255,.55); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.comparison-head strong { font-family: var(--sans); font-size: 1.15rem; font-weight: 600; }
.comparison-row { border-bottom: 1px solid var(--line); }
.comparison-row:last-child { border-bottom: 0; }
.comparison-row > * { margin: 0; padding: 22px 25px; border-right: 1px solid var(--line); }
.comparison-row > *:last-child { border-right: 0; }
.comparison-row > span { color: var(--muted); font-size: .78rem; }
.comparison-row p { display: flex; align-items: center; gap: 9px; font-size: .82rem; }
.comparison-row p .icon { width: 16px; height: 16px; color: var(--red); }
.comparison-note { max-width: 740px; margin: 18px auto 0; color: var(--muted); font-size: .72rem; text-align: center; }

/* Service detail */
.service-hero { position: relative; padding: clamp(80px, 9vw, 135px) 0; background: var(--ivory); overflow: hidden; }
.service-hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(55px, 8vw, 115px); }
.breadcrumb { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 45px; color: var(--muted); font-size: .72rem; font-weight: 600; }
.breadcrumb .icon { width: 16px; height: 16px; }
.service-hero-copy .eyebrow { margin-bottom: 24px; }
.service-hero-copy h1 { margin-bottom: 25px; font-family: var(--sans); font-size: clamp(3.2rem, 5.5vw, 6.2rem); font-weight: 400; letter-spacing: -.05em; }
.service-hero-copy > p { max-width: 650px; margin-bottom: 31px; color: var(--muted); font-size: 1.08rem; }
.service-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.service-hero-media { position: relative; overflow: visible; }
.service-hero-media > img { width: 100%; border-radius: 34px 180px 34px 34px; box-shadow: var(--shadow-md); }
.service-collection .service-hero-media > img { border-radius: 180px 34px 34px 34px; }
.service-media-label { position: absolute; right: -25px; bottom: 35px; display: flex; min-width: 240px; flex-direction: column; padding: 20px; color: var(--white); background: var(--red); border-radius: 18px; box-shadow: var(--shadow-red); }
.service-media-label small { color: rgba(255,255,255,.72); font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.service-media-label strong { margin-top: 5px; font-family: var(--sans); font-size: 1.35rem; font-weight: 400; }
.service-context { background: var(--paper); }
.service-benefits { background: var(--ivory); }
.benefit-showcase { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.benefit-showcase article { position: relative; min-height: 330px; padding: 31px; background: var(--white); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }
.benefit-showcase article > span { position: absolute; top: 26px; right: 27px; color: var(--gray); font-size: .62rem; }
.benefit-icon { display: grid; width: 56px; height: 56px; place-items: center; color: var(--red); background: var(--rose); border-radius: 17px; }
.benefit-icon .icon { width: 26px; height: 26px; }
.benefit-showcase h3 { margin: 75px 0 14px; font-family: var(--sans); font-size: 1.85rem; font-weight: 600; }
.benefit-showcase p { margin: 0; color: var(--muted); font-size: .88rem; }
.service-flow { color: var(--white); background: var(--ink); }
.service-flow-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 9vw, 130px); }
.service-flow-copy { position: sticky; top: 130px; align-self: start; }
.service-flow-copy h2 { margin: 22px 0 24px; font-family: var(--sans); font-size: clamp(2.7rem, 4.2vw, 4.75rem); font-weight: 400; letter-spacing: -.04em; }
.service-flow-copy p { margin-bottom: 30px; color: rgba(255,255,255,.62); }
.vertical-timeline { position: relative; display: grid; gap: 0; }
.vertical-timeline::before { content: ""; position: absolute; top: 24px; bottom: 24px; left: 23px; width: 1px; background: rgba(255,255,255,.16); }
.vertical-timeline article { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 24px; padding-bottom: 34px; }
.vertical-timeline article > span { z-index: 1; display: grid; width: 46px; height: 46px; place-items: center; color: #FF9893; background: var(--ink); border: 1px solid rgba(255,255,255,.18); border-radius: 50%; font-family: var(--sans); }
.vertical-timeline article > div { padding: 3px 0 32px; border-bottom: 1px solid rgba(255,255,255,.12); }
.vertical-timeline h3 { margin-bottom: 9px; font-family: var(--sans); font-size: 1.65rem; font-weight: 600; }
.vertical-timeline p { margin: 0; color: rgba(255,255,255,.58); font-size: .87rem; }
.service-digital { background: var(--paper); }
.service-digital-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(55px, 8vw, 110px); }
.digital-mock { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow-md); }
.digital-head { display: flex; min-height: 50px; align-items: center; gap: 7px; padding: 0 16px; color: var(--muted); background: var(--ivory); border-bottom: 1px solid var(--line); font-size: .62rem; }
.digital-head span { margin-right: auto; color: var(--ink); font-weight: 600; }
.digital-head i { width: 7px; height: 7px; background: var(--gray); border-radius: 50%; }
.digital-head i:last-child { background: var(--red); }
.digital-body { display: grid; min-height: 405px; grid-template-columns: 90px 1fr; }
.digital-body aside { display: grid; align-content: start; gap: 12px; padding: 23px 13px; background: var(--wine-2); }
.digital-body aside > * { display: block; height: 32px; background: rgba(255,255,255,.07); border-radius: 9px; }
.digital-body aside b { background: var(--red); }
.digital-body main { padding: clamp(30px, 5vw, 55px); }
.digital-body main > small { color: var(--red); font-size: .63rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.digital-body h3 { margin: 7px 0 23px; font-family: var(--sans); font-size: 2.2rem; font-weight: 600; }
.digital-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.digital-metrics > span { display: flex; flex-direction: column; padding: 17px; background: var(--ivory); border-radius: 13px; }
.digital-metrics small { color: var(--muted); font-size: .58rem; }
.digital-metrics strong { margin-top: 5px; font-size: .82rem; }
.digital-graph { display: flex; height: 150px; align-items: end; gap: 13px; margin-top: 26px; padding: 0 15px 12px; border-bottom: 1px solid var(--line); }
.digital-graph i { width: 100%; background: var(--ink); border-radius: 5px 5px 0 0; }
.digital-graph i:last-child { background: var(--red); }
.service-digital-copy .eyebrow { margin-bottom: 22px; }
.service-digital-copy h2 { margin-bottom: 23px; font-family: var(--sans); font-size: clamp(2.7rem, 4vw, 4.6rem); font-weight: 400; letter-spacing: -.04em; }
.service-digital-copy h2 em { color: var(--red); font-style: normal; }
.service-digital-copy > p { color: var(--muted); }

/* Audience public page */
.audience-page-hero { position: relative; padding: clamp(90px, 10vw, 150px) 0; background: var(--ivory); overflow: hidden; }
.audience-page-layout { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(55px, 8vw, 120px); }
.audience-page-layout .eyebrow { margin-bottom: 25px; }
.audience-page-layout h1 { margin-bottom: 25px; font-family: var(--sans); font-size: clamp(3.2rem, 5.7vw, 6.5rem); font-weight: 400; letter-spacing: -.052em; }
.audience-page-layout p { max-width: 700px; margin-bottom: 31px; color: var(--muted); font-size: 1.06rem; }
.audience-hero-visual { position: relative; display: grid; min-height: 560px; place-items: center; color: var(--white); background: var(--ink); border-radius: 50% 50% 26px 26px; overflow: hidden; box-shadow: var(--shadow-md); }
.audience-hero-visual::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px); background-size: 64px 64px; }
.audience-hero-visual > span { position: relative; z-index: 3; display: grid; width: 130px; height: 130px; place-items: center; color: var(--red); background: var(--white); border-radius: 50%; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.audience-hero-visual > span .icon { width: 52px; height: 52px; }
.visual-ring { position: absolute; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; }
.ring-one { width: 330px; height: 330px; }.ring-two { width: 470px; height: 470px; }
.visual-node { position: absolute; width: 15px; height: 15px; background: var(--red); border: 5px solid var(--ink); border-radius: 50%; }
.node-a { top: 90px; right: 120px; }.node-b { bottom: 120px; left: 70px; }.node-c { bottom: 55px; right: 130px; }
.audience-hero-visual > small { position: absolute; left: 28px; bottom: 56px; color: #FFAAA6; font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.audience-hero-visual > strong { position: absolute; left: 28px; bottom: 27px; font-family: var(--sans); font-size: 1.45rem; font-weight: 400; }
.audience-value { background: var(--paper); }
.audience-resources { background: var(--ivory); }
.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.resource-grid article { position: relative; min-height: 280px; padding: 30px; background: var(--white); border: 1px solid var(--line); border-radius: 20px; transition: transform .4s var(--ease), box-shadow .4s; }
.resource-grid article:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.resource-grid article > span { display: grid; width: 50px; height: 50px; place-items: center; color: var(--red); background: var(--rose); border-radius: 15px; }
.resource-grid article > span .icon { width: 23px; height: 23px; }
.resource-grid small { position: absolute; top: 31px; right: 31px; color: var(--gray); font-size: .62rem; }
.resource-grid h3 { margin: 55px 0 13px; font-family: var(--sans); font-size: 1.65rem; font-weight: 600; }
.resource-grid p { margin: 0; color: var(--muted); font-size: .84rem; }
.resource-grid .text-link { margin-top: 20px; }
.candidate-section { color: var(--white); background: var(--wine); }
.candidate-section.is-general { background: var(--ink); }
.candidate-grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(55px, 9vw, 130px); }
.candidate-pill { display: inline-flex; margin-bottom: 23px; padding: 8px 12px; color: #FFB4B1; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 999px; font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.candidate-grid h2 { margin-bottom: 21px; font-family: var(--sans); font-size: clamp(2.7rem, 4.3vw, 4.9rem); font-weight: 400; letter-spacing: -.04em; }
.candidate-grid p { color: rgba(255,255,255,.62); }
.candidate-list { display: grid; border-top: 1px solid rgba(255,255,255,.17); }
.candidate-list > span { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.17); font-size: .88rem; }
.candidate-list i { color: #FF9C98; font-family: var(--sans); font-style: normal; }
.candidate-list .icon { width: 16px; height: 16px; }
.portal-invite { color: var(--white); background: var(--ink); overflow: hidden; }
.portal-invite-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(55px, 9vw, 135px); }
.portal-invite-grid h2 { margin: 22px 0; font-family: var(--sans); font-size: clamp(2.8rem, 4.4vw, 5rem); font-weight: 400; letter-spacing: -.04em; }
.portal-invite-grid p { margin-bottom: 29px; color: rgba(255,255,255,.62); }
.portal-invite-cards { position: relative; min-height: 470px; }
.portal-invite-cards article { position: absolute; display: flex; width: 280px; min-height: 190px; flex-direction: column; padding: 24px; color: var(--ink); background: var(--white); border-radius: 22px; box-shadow: 0 30px 60px rgba(0,0,0,.3); }
.portal-invite-cards article:nth-child(1) { top: 40px; left: 0; transform: rotate(-5deg); }
.portal-invite-cards article:nth-child(2) { top: 150px; right: 0; transform: rotate(5deg); }
.portal-invite-cards article:nth-child(3) { bottom: 10px; left: 18%; transform: rotate(-1deg); }
.portal-invite-cards article > span { display: grid; width: 45px; height: 45px; place-items: center; color: var(--red); background: var(--rose); border-radius: 14px; }
.portal-invite-cards small { margin-top: auto; color: var(--muted); font-size: .62rem; }
.portal-invite-cards strong { margin-top: 4px; font-family: var(--sans); font-size: 1.45rem; }
.portal-invite-cards i { position: absolute; right: 20px; bottom: 20px; width: 8px; height: 8px; background: var(--red); border-radius: 50%; }

/* Content pages */
.content-page-hero .page-hero-grid { align-items: center; }
.content-search, .faq-search { padding: 29px; background: var(--white); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-sm); }
.content-search > label, .faq-search > label { display: block; margin-bottom: 12px; font-family: var(--sans); font-size: 1.3rem; font-weight: 600; }
.content-search > div, .faq-search > div { display: grid; grid-template-columns: 1fr 50px; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; }
.content-search input, .faq-search input { width: 100%; min-width: 0; padding: 13px 18px; background: transparent; border: 0; outline: 0; font-size: .84rem; }
.content-search button, .faq-search button { display: grid; place-items: center; color: var(--white); background: var(--red); cursor: pointer; }
.content-search button .icon, .faq-search button .icon { width: 19px; height: 19px; }
.content-search > small { display: block; margin-top: 10px; color: var(--muted); font-size: .65rem; }
.featured-content { background: var(--paper); }
.featured-article { display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 26px; overflow: hidden; box-shadow: var(--shadow-sm); }
.featured-image { height: 100%; min-height: 490px; overflow: hidden; }
.featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.featured-image:hover img { transform: scale(1.035); }
.featured-article > div { padding: clamp(38px, 6vw, 70px); }
.featured-article > div > span { color: var(--red); font-size: .67rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.featured-article h2 { margin: 17px 0 19px; font-family: var(--sans); font-size: clamp(2.4rem, 3.8vw, 4rem); font-weight: 400; letter-spacing: -.035em; }
.featured-article h2 a:hover { color: var(--red); }
.featured-article p { margin-bottom: 28px; color: var(--muted); }
.content-library { background: var(--ivory); }
.content-filters { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 40px; }
.content-filters > div, .category-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.content-filters button, .category-pills button { min-height: 42px; padding: 9px 16px; color: var(--graphite); background: var(--white); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: .75rem; font-weight: 600; }
.content-filters button.is-active, .category-pills button.is-active { color: var(--white); background: var(--ink); border-color: var(--ink); }
.content-filters > span { color: var(--muted); font-size: .72rem; }
.content-empty, .faq-empty { padding: 50px; color: var(--muted); background: var(--white); border: 1px dashed var(--line); border-radius: 20px; text-align: center; }
.newsletter-section { padding: clamp(70px, 8vw, 110px) 0; color: var(--white); background: var(--red-deep); }
.newsletter-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: clamp(50px, 8vw, 110px); }
.newsletter-grid > div > span { color: #FFABA7; font-size: .69rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.newsletter-grid h2 { margin: 12px 0 0; font-family: var(--sans); font-size: clamp(2.6rem, 4vw, 4.5rem); font-weight: 400; }
.newsletter-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 9px; }
.newsletter-form label { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.newsletter-form input { min-width: 0; padding: 15px 17px; color: var(--white); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; outline: 0; }
.newsletter-form input::placeholder { color: rgba(255,255,255,.55); }
.newsletter-form input:focus { border-color: var(--white); }
.article-page { background: var(--paper); }
.article-header { padding: clamp(80px, 9vw, 135px) 0 clamp(60px, 7vw, 95px); background: var(--ivory); }
.article-header-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(55px, 8vw, 115px); }
.article-meta { display: block; margin-bottom: 20px; color: var(--red); font-size: .67rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.article-header h1 { margin-bottom: 23px; font-family: var(--sans); font-size: clamp(3.1rem, 5.2vw, 6rem); font-weight: 400; letter-spacing: -.05em; }
.article-header p { max-width: 710px; color: var(--muted); font-size: 1.08rem; }
.article-author { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.article-author > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--white); background: var(--red); border-radius: 50%; font-size: .62rem; font-weight: 600; }
.article-author > div { display: flex; flex-direction: column; }
.article-author strong { font-size: .78rem; }
.article-author small { color: var(--muted); font-size: .66rem; }
.article-header-image { overflow: hidden; border-radius: 30px 150px 30px 30px; box-shadow: var(--shadow-md); }
.article-header-image img { width: 100%; aspect-ratio: 1.14; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: 70px minmax(0, 760px) minmax(190px, 1fr); align-items: start; gap: clamp(35px, 5vw, 70px); padding-block: clamp(70px, 9vw, 120px); }
.article-share { position: sticky; top: 125px; display: flex; flex-direction: column; align-items: center; gap: 11px; }
.article-share > span { margin-bottom: 5px; color: var(--muted); font-size: .55rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.article-share button, .article-share a { display: grid; width: 38px; height: 38px; place-items: center; color: var(--muted); background: var(--white); border: 1px solid var(--line); border-radius: 50%; cursor: pointer; }
.article-share button:hover, .article-share a:hover { color: var(--red); border-color: var(--red); }
.article-share .icon { width: 16px; height: 16px; }
.article-content { font-family: var(--sans); font-size: 1.16rem; line-height: 1.78; }
.article-content .article-lead { margin-bottom: 55px; color: var(--graphite); font-size: 1.38rem; line-height: 1.6; }
.article-content section { position: relative; margin-bottom: 55px; }
.article-content section > span { display: block; margin-bottom: 11px; color: var(--red); font-family: var(--sans); font-size: .67rem; font-weight: 600; letter-spacing: .1em; }
.article-content h2 { margin-bottom: 20px; font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; letter-spacing: -.025em; }
.article-content p { color: #4D4749; }
.article-content blockquote { margin: 35px 0; padding: 28px 0 28px 30px; color: var(--ink); border-left: 3px solid var(--red); font-size: 1.55rem; line-height: 1.35; }
.article-note { display: grid; grid-template-columns: 28px 1fr; gap: 13px; padding: 21px; background: var(--ivory); border-radius: 14px; font-family: var(--sans); }
.article-note .icon { color: var(--red); }
.article-note p { margin: 0; font-size: .76rem; line-height: 1.55; }
.article-summary { position: sticky; top: 125px; display: flex; flex-direction: column; gap: 10px; padding: 23px; background: var(--white); border: 1px solid var(--line); border-radius: 17px; }
.article-summary > strong { margin-bottom: 8px; font-family: var(--sans); font-size: 1.18rem; }
.article-summary > a { color: var(--muted); font-size: .71rem; line-height: 1.35; }
.article-summary > a:hover { color: var(--red); }
.article-summary .summary-cta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding: 12px; color: var(--white); background: var(--red); border-radius: 10px; font-weight: 600; }
.related-content { padding: clamp(75px, 8vw, 115px) 0; background: var(--ivory); }

/* FAQ page */
.faq-page-hero .page-hero-grid { align-items: center; }
.faq-categories { background: var(--paper); }
.category-pills { margin-bottom: 42px; }
.faq-page-grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(50px, 7vw, 100px); }
.faq-page-grid > aside { position: sticky; top: 125px; align-self: start; padding: 30px; color: var(--white); background: var(--ink); border-radius: 22px; }
.faq-page-grid > aside > span { display: grid; width: 52px; height: 52px; place-items: center; color: var(--red); background: var(--white); border-radius: 15px; }
.faq-page-grid > aside h2 { margin: 50px 0 14px; font-family: var(--sans); font-size: 2.1rem; font-weight: 600; }
.faq-page-grid > aside p { color: rgba(255,255,255,.62); font-size: .85rem; }
.faq-page-grid > aside small { display: block; margin-top: 18px; color: rgba(255,255,255,.47); font-size: .64rem; }
.accordion-large .accordion-item button { padding: 30px 0; }
.accordion-large .accordion-item button > span { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.support-channels { padding: clamp(70px, 8vw, 110px) 0; background: var(--ivory); }
.support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.support-grid article { padding: 30px; background: var(--white); border: 1px solid var(--line); border-radius: 20px; }
.support-grid article > span { display: grid; width: 49px; height: 49px; place-items: center; color: var(--red); background: var(--rose); border-radius: 15px; }
.support-grid article > small { display: block; margin-top: 45px; color: var(--red); font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.support-grid h2 { margin: 8px 0 12px; font-family: var(--sans); font-size: 1.8rem; font-weight: 600; }
.support-grid p { color: var(--muted); font-size: .82rem; }
.support-grid a { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 600; }
.support-grid a .icon { width: 16px; height: 16px; color: var(--red); }

/* Forms / contact / proposal */
.contact-hero .page-hero-grid { align-items: center; }
.contact-hours { display: flex; flex-direction: column; padding: 31px; color: var(--white); background: var(--ink); border-radius: 24px; }
.contact-hours > span { display: grid; width: 50px; height: 50px; place-items: center; color: var(--red); background: var(--white); border-radius: 15px; }
.contact-hours small { margin-top: 50px; color: #FF9893; font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.contact-hours strong { margin-top: 5px; font-family: var(--sans); font-size: 2rem; font-weight: 600; }
.contact-hours p { color: rgba(255,255,255,.65); font-size: .82rem; }
.contact-section { background: var(--paper); }
.contact-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: start; gap: clamp(50px, 8vw, 110px); }
.contact-channels { display: grid; border-top: 1px solid var(--line); }
.contact-channels article { display: grid; grid-template-columns: 50px 1fr; gap: 17px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.contact-channels article > span { display: grid; width: 46px; height: 46px; place-items: center; color: var(--red); background: var(--rose); border-radius: 14px; }
.contact-channels article div { display: flex; flex-direction: column; }
.contact-channels small { color: var(--red); font-size: .59rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.contact-channels h2 { margin: 5px 0; font-family: var(--sans); font-size: 1.45rem; font-weight: 600; word-break: break-word; }
.contact-channels p { margin: 0; color: var(--muted); font-size: .75rem; }
.contact-channels a { display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; font-size: .72rem; font-weight: 600; }
.contact-channels a .icon { width: 15px; height: 15px; color: var(--red); }
.contact-form-card, .proposal-form-card { padding: clamp(30px, 5vw, 56px); background: var(--white); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow-sm); }
.form-card-head > span { color: var(--red); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.form-card-head h2 { margin: 7px 0 7px; font-family: var(--sans); font-size: clamp(2.1rem, 3vw, 3.2rem); font-weight: 600; }
.form-card-head p { margin-bottom: 30px; color: var(--muted); font-size: .76rem; }
.styled-form { display: grid; gap: 20px; }
.form-grid { display: grid; gap: 18px; }
.form-grid.two-columns { grid-template-columns: repeat(2, 1fr); }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field-wide { grid-column: 1 / -1; }
.form-field label { font-size: .73rem; font-weight: 600; }
.form-field label span { color: var(--red); }
.form-field input, .form-field select, .form-field textarea {
    width: 100%; min-height: 52px; padding: 13px 15px; background: var(--paper); border: 1px solid var(--line); border-radius: 11px; outline: 0;
    transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.form-field textarea { min-height: 130px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { background: var(--white); border-color: var(--red); box-shadow: 0 0 0 4px rgba(237,28,36,.08); }
.form-field.has-error input, .form-field.has-error select, .form-field.has-error textarea { border-color: var(--danger); }
.field-error { min-height: 0; color: var(--danger); font-size: .64rem; }
.check-field { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 10px; color: var(--muted); font-size: .72rem; cursor: pointer; }
.check-field input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--red); }
.check-field .field-error { grid-column:2; }
.check-field.has-error { color:var(--danger); }
.check-field.has-error input { outline:2px solid rgba(185,28,28,.32); outline-offset:2px; }
.form-privacy { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 0; color: var(--muted); font-size: .62rem; text-align: center; }
.form-privacy .icon { width: 14px; height: 14px; }
.alert { display: grid; grid-template-columns: 24px 1fr; gap: 11px; padding: 16px; border-radius: 12px; font-size: .75rem; }
.alert .icon { width: 20px; height: 20px; }
.alert strong { display: block; margin-bottom: 4px; }
.alert p { margin: 0; }
.alert ul { margin: 5px 0 0 17px; }
.alert-danger { color: #7D1218; background: #FBE7E8; border: 1px solid #F2C9CB; }
.form-success-state, .proposal-success { display: flex; min-height: 520px; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.form-success-state > span { display: grid; width: 78px; height: 78px; place-items: center; color: var(--success); background: #E5F4EE; border-radius: 50%; }
.form-success-state > span .icon { width: 36px; height: 36px; }
.form-success-state > small, .proposal-success > small { margin-top: 25px; color: var(--success); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.form-success-state h2, .proposal-success h2 { margin: 8px 0 12px; font-family: var(--sans); font-size: 2.7rem; font-weight: 600; }
.form-success-state p, .proposal-success p { max-width: 540px; color: var(--muted); }
.form-success-state > strong { margin: 13px 0 25px; padding: 10px 15px; background: var(--ivory); border-radius: 999px; font-size: .75rem; }
.locations-contact { background: var(--ivory); }
.location-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.location-cards article { display: grid; grid-template-columns: .7fr 1fr; min-height: 280px; background: var(--white); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }
.location-map { position: relative; display: grid; place-items: center; background: var(--ink); overflow: hidden; }
.location-map::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px); background-size: 38px 38px; }
.location-map > span { position: relative; z-index: 2; display: grid; width: 70px; height: 70px; place-items: center; color: var(--red); background: var(--white); border-radius: 50%; }
.location-map > span .icon { width: 30px; height: 30px; }
.location-map i { position: absolute; width: 8px; height: 8px; background: var(--red); border: 3px solid var(--ink); border-radius: 50%; }
.location-map i:nth-child(2){top:25%;left:25%}.location-map i:nth-child(3){top:18%;right:20%}.location-map i:nth-child(4){bottom:20%;right:28%}
.location-cards article > div:last-child { display: flex; flex-direction: column; justify-content: center; padding: 30px; }
.location-cards small { color: var(--red); font-size: .6rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.location-cards h3 { margin: 7px 0 10px; font-family: var(--sans); font-size: 1.8rem; font-weight: 600; }
.location-cards p { margin: 0; color: var(--muted); font-size: .78rem; }
.location-cards strong { margin-top: 5px; font-size: .72rem; }
.proposal-hero { position: relative; padding: clamp(90px, 10vw, 150px) 0; color: var(--white); background: var(--ink); overflow: hidden; }
.proposal-grid-bg { opacity: .16; mask-image: none; }
.proposal-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(60px, 9vw, 140px); }
.proposal-hero .eyebrow { margin-bottom: 25px; }
.proposal-hero h1 { margin-bottom: 25px; font-family: var(--sans); font-size: clamp(3.2rem, 5.7vw, 6.5rem); font-weight: 400; letter-spacing: -.052em; }
.proposal-hero h1 em { color: #FF8D88; font-style: normal; }
.proposal-hero p { max-width: 700px; color: rgba(255,255,255,.64); font-size: 1.06rem; }
.proposal-promises { display: flex; gap: 18px; margin-top: 30px; flex-wrap: wrap; }
.proposal-promises span { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.72); font-size: .7rem; }
.proposal-promises .icon { width: 15px; height: 15px; color: #FF8D88; }
.proposal-line-card { display: flex; flex-direction: column; padding: 34px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 28px; backdrop-filter: blur(10px); }
.proposal-line-card small { margin-bottom: 20px; color: #FF9F9A; font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.proposal-line-card strong { font-family: var(--sans); font-size: clamp(2.8rem, 4vw, 4.3rem); font-weight: 400; }
.proposal-line-card i { width: 100%; height: 1px; margin: 14px 0; background: linear-gradient(90deg, var(--red), rgba(255,255,255,.17)); }
.proposal-section { background: var(--ivory); }
.proposal-layout { display: grid; grid-template-columns: .55fr 1.45fr; align-items: start; gap: clamp(50px, 8vw, 110px); }
.proposal-aside { position: sticky; top: 125px; }
.proposal-aside > span { color: var(--red); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.proposal-aside ol { display: grid; margin: 25px 0 35px; border-top: 1px solid var(--line); list-style: none; }
.proposal-aside li { display: grid; grid-template-columns: 40px 1fr; gap: 13px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.proposal-aside li > i { color: var(--red); font-family: var(--sans); font-style: normal; }
.proposal-aside li div { display: flex; flex-direction: column; }
.proposal-aside li strong { font-size: .84rem; }
.proposal-aside li p { margin: 4px 0 0; color: var(--muted); font-size: .7rem; }
.proposal-contact-box { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 20px; color: var(--white); background: var(--ink); border-radius: 16px; }
.proposal-contact-box > span { display: grid; width: 40px; height: 40px; place-items: center; color: var(--red); background: var(--white); border-radius: 12px; }
.proposal-contact-box div { display: flex; flex-direction: column; }
.proposal-contact-box small { color: #FF9691; font-size: .58rem; }
.proposal-contact-box strong { margin-top: 3px; font-family: var(--sans); font-size: 1.25rem; }
.proposal-contact-box p { margin: 2px 0 0; color: rgba(255,255,255,.58); font-size: .62rem; }
.form-progress { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 10px; margin-bottom: 35px; }
.form-progress > span { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .64rem; font-weight: 600; white-space: nowrap; }
.form-progress > span i { display: grid; width: 29px; height: 29px; place-items: center; background: var(--ivory); border: 1px solid var(--line); border-radius: 50%; font-family: var(--sans); font-style: normal; }
.form-progress > span.is-active { color: var(--red); }
.form-progress > span.is-active i { color: var(--white); background: var(--red); border-color: var(--red); }
.form-progress > b { height: 1px; background: var(--line); }
.proposal-form fieldset { display: grid; gap: 22px; padding: 0; border: 0; }
.proposal-form legend { margin-bottom: 5px; font-family: var(--sans); font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; }
.proposal-form fieldset > p { margin: -15px 0 5px; color: var(--muted); font-size: .75rem; }
.btn-form-next { justify-self: end; }
.form-navigation { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 8px; }
.option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.option-grid label { cursor: pointer; }
.option-grid input { position: absolute; opacity: 0; pointer-events: none; }
.option-grid label > span { display: flex; min-height: 170px; flex-direction: column; padding: 20px; background: var(--paper); border: 1px solid var(--line); border-radius: 15px; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.option-grid input:checked + span { background: #FFF7F6; border-color: var(--red); box-shadow: 0 0 0 3px rgba(237,28,36,.07); }
.option-grid .icon { width: 25px; height: 25px; margin-bottom: auto; color: var(--red); }
.option-grid strong { margin-top: 28px; font-size: .82rem; }
.option-grid small { margin-top: 5px; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.success-orbit { position: relative; display: grid; width: 130px; height: 130px; place-items: center; border: 1px solid #CDE7DD; border-radius: 50%; }
.success-orbit::before { content: ""; position: absolute; inset: 20px; border: 1px solid #CDE7DD; border-radius: 50%; }
.success-orbit > span { position: relative; z-index: 2; display: grid; width: 62px; height: 62px; place-items: center; color: var(--white); background: var(--success); border-radius: 50%; }
.success-orbit > span .icon { width: 30px; height: 30px; }
.success-orbit i { position: absolute; width: 8px; height: 8px; background: var(--success); border-radius: 50%; }
.success-orbit i:nth-of-type(1) { top: 8px; right: 25px; }.success-orbit i:nth-of-type(2) { bottom: 15px; left: 12px; }
.protocol-box { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; width: min(100%, 470px); margin: 20px 0 26px; padding: 13px; background: var(--ivory); border-radius: 12px; }
.protocol-box span { color: var(--muted); font-size: .62rem; text-transform: uppercase; font-weight: 600; letter-spacing: .08em;}
.protocol-box strong { font-size: .82rem; }
.protocol-box button { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font-size: .62rem; }
.protocol-box button .icon { width: 13px; height: 13px; }

/* Legal / 404 */
.legal-hero { padding: clamp(85px, 9vw, 130px) 0 clamp(55px, 6vw, 85px); background: var(--ivory); }
.legal-hero .eyebrow { margin-bottom: 21px; }
.legal-hero h1 { margin-bottom: 18px; font-family: var(--sans); font-size: clamp(3.2rem, 5.8vw, 6.4rem); font-weight: 400; letter-spacing: -.05em; }
.legal-hero p { max-width: 780px; margin-bottom: 15px; color: var(--muted); }
.legal-hero > .container > small { color: var(--gray); font-size: .65rem; }
.legal-section { background: var(--paper); }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0, 800px); justify-content: center; align-items: start; gap: clamp(50px, 8vw, 110px); }
.legal-layout > aside { position: sticky; top: 125px; display: flex; flex-direction: column; gap: 10px; }
.legal-layout > aside > strong { margin-bottom: 8px; font-family: var(--sans); font-size: 1.2rem; }
.legal-layout > aside > a { color: var(--muted); font-size: .7rem; }
.legal-layout > aside > a:hover { color: var(--red); }
.legal-contact { display: grid !important; grid-template-columns: 34px 1fr; gap: 10px; margin-top: 18px; padding: 14px; color: var(--ink) !important; background: var(--ivory); border-radius: 12px; }
.legal-contact > .icon { width: 20px; height: 20px; color: var(--red); }
.legal-contact span { display: flex; flex-direction: column; }
.legal-contact small { color: var(--muted); font-size: .57rem; }
.legal-contact strong { font-size: .7rem; }
.legal-warning { display: grid; grid-template-columns: 24px 1fr; gap: 12px; padding: 18px; color: #75460B; background: #FFF4DF; border: 1px solid #F1D7AA; border-radius: 13px; }
.legal-warning .icon { width: 21px; height: 21px; }
.legal-warning p { margin: 0; font-size: .75rem; }
.legal-lead { margin: 36px 0 50px; color: var(--graphite); font-family: var(--sans); font-size: 1.38rem; line-height: 1.6; }
.legal-content section { position: relative; margin-bottom: 48px; }
.legal-content section > span { color: var(--red); font-size: .66rem; font-weight: 600; }
.legal-content h2 { margin: 8px 0 17px; font-family: var(--sans); font-size: 2.2rem; font-weight: 600; }
.legal-content p { color: var(--muted); }
.legal-content a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.error-page { position: relative; display: grid; min-height: 72vh; place-items: center; padding: 100px 0; background: var(--ivory); overflow: hidden; }
.error-content { position: relative; z-index: 2; text-align: center; }
.error-content > span { color: var(--red); font-family: var(--sans); font-size: clamp(7rem, 18vw, 16rem); line-height: .7; opacity: .18; }
.error-content h1 { margin: 25px 0 15px; font-family: var(--sans); font-size: clamp(3rem, 6vw, 6rem); font-weight: 400; }
.error-content p { max-width: 590px; margin: 0 auto 30px; color: var(--muted); }
.error-content > div { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }

/* Public typography hierarchy */
body.site-body { font-weight: 400; }
body.site-body h1, body.site-body h2, body.site-body h3, body.site-body h4, body.site-body h5, body.site-body h6 {
    font-family: var(--sans);
    font-weight: 700;
    letter-spacing: -.04em;
}
body.site-body h1 em, body.site-body h2 em, body.site-body h3 em, body.site-body h4 em, body.site-body h5 em, body.site-body h6 em {
    font-family: inherit;
    font-style: normal;
    font-weight: 600;
}
body.site-body strong, body.site-body b, body.site-body button, body.site-body .btn, body.site-body .site-navigation a, body.site-body .text-link, body.site-body .article-link { font-weight: 600; }
body.site-body .footer-column h2 { font-weight: 600; letter-spacing: .08em; }
body.site-body .home-benefit-card h3 { font-weight: 600; letter-spacing: 0; }
body.site-body .solutions-intro h2 { letter-spacing: -.04em; }
body.site-body .solutions-section .solution-body h3 { letter-spacing: -.035em; }

/* Quem Somos */
.about-main {
    --about-section-space: clamp(80px, 7vw, 104px);
    --about-red-soft: #FF6569;
    color: var(--ink);
}
.about-main > .about-section,
.about-main > .about-cta { position: relative; padding-block: var(--about-section-space); }
.about-main figure { margin: 0; }
.about-main .eyebrow { margin-bottom: 16px; }
.about-main h1,
.about-main h2 {
    font-family: var(--sans);
    font-size: clamp(2rem, 2.7vw, 3rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.02;
}
.about-main h1 > span,
.about-main h2 > span,
.about-main .about-cta h2 > strong { color: var(--red); font-weight: 600; }
.about-heading { max-width: 760px; margin: 0 auto clamp(36px, 4.5vw, 52px); text-align: center; }
.about-heading h2 { margin-bottom: 16px; }
.about-heading > p { max-width: 650px; margin: 0 auto; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.about-section-copy h2 { margin-bottom: 22px; }
.about-section-copy > p { max-width: 62ch; margin-bottom: 17px; color: var(--muted); font-size: 1rem; line-height: 1.68; }

.about-hero {
    isolation: isolate;
    background:
        radial-gradient(circle at 76% 20%, rgba(237,28,36,.09), transparent 28%),
        radial-gradient(circle at 15% 78%, rgba(236,217,214,.52), transparent 32%),
        linear-gradient(135deg, #FFFDFD 0%, #F8F3F2 52%, #FFFFFF 100%);
    overflow: hidden;
}
.about-grid-bg,
.about-purpose-grid-bg { position: absolute; inset: 0; pointer-events: none; }
.about-grid-bg {
    opacity: .38;
    background-image: linear-gradient(rgba(39,31,32,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(39,31,32,.035) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(90deg, transparent 0%, #000 42%, #000 100%);
}
.about-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.92fr) minmax(470px,1.08fr); align-items: center; gap: clamp(48px, 7vw, 104px); }
.about-hero-copy h1 { max-width: 660px; margin-bottom: 24px; }
.about-hero-copy > p { max-width: 620px; margin: 0; color: #625B5D; font-size: 1.04rem; line-height: 1.68; }
.about-hero-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(39,31,32,.12); }
.about-hero-facts > div { min-width: 0; padding-right: 18px; }
.about-hero-facts > div + div { padding-left: 18px; border-left: 1px solid rgba(39,31,32,.1); }
.about-hero-facts strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: .9rem; letter-spacing: -.02em; }
.about-hero-facts span { display: block; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.about-hero-visual { position: relative; min-height: clamp(460px, 42vw, 570px); }
.about-hero-visual::before { content: ""; position: absolute; top: 2%; right: -3%; width: 82%; aspect-ratio: 1; border: 1px solid rgba(237,28,36,.14); border-radius: 50%; }
.about-hero-visual::after { content: ""; position: absolute; right: 8%; bottom: 6%; width: 56%; height: 30%; background: rgba(237,28,36,.16); filter: blur(55px); border-radius: 50%; }
.about-hero-photo { position: absolute; z-index: 1; overflow: hidden; background: #D8D1CF; border: 6px solid rgba(255,255,255,.94); box-shadow: 0 24px 58px rgba(52,28,31,.17); }
.about-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.about-hero-photo-main { top: 3%; right: 0; width: 87%; height: 65%; border-radius: 20px 72px 20px 20px; }
.about-hero-photo-main img { object-position: center 55%; }
.about-hero-photo-secondary { bottom: 0; left: 0; width: 54%; height: 37%; border-radius: 18px; }
.about-hero-year { position: absolute; z-index: 3; right: 3%; bottom: 3%; display: flex; width: min(260px,48%); flex-direction: column; padding: 21px 23px; color: var(--white); background: linear-gradient(135deg,#2A2223,#161112); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; box-shadow: 0 18px 40px rgba(21,12,13,.25); }
.about-hero-year strong { color: #FF7277; font-size: 1.8rem; letter-spacing: -.04em; }
.about-hero-year span { margin-top: 5px; color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.42; }

.about-history { background: var(--paper); }
.about-history-layout { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(52px, 8vw, 112px); }
.about-history-media { position: relative; max-width: 500px; }
.about-history-media::before { content: ""; position: absolute; inset: 28px -24px -24px 28px; background: var(--rose); border-radius: 26px; }
.about-history-media img { position: relative; z-index: 1; width: 100%; aspect-ratio: 1.04; object-fit: cover; border-radius: 26px; box-shadow: var(--shadow-md); }
.about-history-media > span { position: absolute; z-index: 2; right: -18px; bottom: 24px; max-width: 230px; padding: 13px 17px; color: var(--white); background: var(--red); border-radius: 999px; font-size: .64rem; font-weight: 600; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; box-shadow: var(--shadow-red); }
.about-history-milestones { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.about-history-milestones div { display: flex; min-width: 0; flex-direction: column; }
.about-history-milestones strong { color: var(--red); font-size: 1.18rem; letter-spacing: -.025em; }
.about-history-milestones span { margin-top: 4px; color: var(--muted); font-size: .7rem; line-height: 1.4; }

.about-pillars { background: linear-gradient(180deg,#FAF7F6 0%,#FFF 100%); }
.about-pillar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.about-pillar-grid article { position: relative; min-height: 270px; padding: clamp(26px,3vw,36px); background: rgba(255,255,255,.92); border: 1px solid #ECE5E3; border-radius: 22px; box-shadow: 0 12px 32px rgba(38,25,27,.045); overflow: hidden; transition: border-color .3s var(--ease), box-shadow .3s var(--ease); }
.about-pillar-grid article::after { content: ""; position: absolute; right: -54px; bottom: -54px; width: 135px; height: 135px; background: var(--rose); border-radius: 50%; }
.about-pillar-grid article:hover { border-color: rgba(237,28,36,.22); box-shadow: 0 16px 38px rgba(38,25,27,.08); }
.about-icon { display: grid; width: 50px; height: 50px; place-items: center; color: var(--red); background: var(--rose); border: 1px solid rgba(237,28,36,.08); border-radius: 16px; }
.about-icon .icon { width: 23px; height: 23px; }
.about-pillar-grid small { position: absolute; top: 34px; right: 34px; color: #B7ADAE; font-size: .62rem; letter-spacing: .08em; }
body.site-body .about-pillar-grid h3 { margin: 56px 0 12px; font-size: 1.45rem; font-weight: 600; letter-spacing: -.025em; }
.about-pillar-grid p { position: relative; z-index: 1; max-width: 32ch; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.62; }

.about-purpose { isolation: isolate; color: var(--white); background: radial-gradient(circle at 85% 15%,rgba(194,17,29,.3),transparent 32%),linear-gradient(120deg,#171112 0%,#251517 55%,#130E0F 100%); overflow: hidden; }
.about-purpose-grid-bg { opacity: .12; background-image: linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size: 70px 70px; mask-image: radial-gradient(circle at 70% 40%,#000,transparent 70%); }
.about-purpose > .container { position: relative; z-index: 1; }
.about-heading-light h2 > span { color: #FF777B; }
.about-heading-light > p { color: rgba(255,255,255,.62); }
.about-purpose-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.about-purpose-grid article { min-height: 330px; padding: clamp(27px,3vw,36px); background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; backdrop-filter: blur(12px); }
.about-purpose-grid .about-icon { color: #FF8589; background: rgba(237,28,36,.13); border-color: rgba(255,255,255,.08); }
.about-purpose-grid small { display: block; margin-top: 38px; color: #FF8589; font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.site-body .about-purpose-grid h3 { margin: 13px 0 15px; color: var(--white); font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.2; }
.about-purpose-grid p { margin: 0; color: rgba(255,255,255,.61); font-size: .83rem; line-height: 1.65; }

.about-technology { background: var(--paper); }
.about-technology-layout { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(56px,8vw,116px); }
.about-technology-media { position: relative; min-height: 560px; }
.about-technology-media::before { content: ""; position: absolute; top: 9%; left: 5%; width: 78%; aspect-ratio: 1; border: 1px solid rgba(237,28,36,.16); border-radius: 50%; }
.about-technology-media figure { position: absolute; overflow: hidden; border: 6px solid var(--white); box-shadow: var(--shadow-md); }
.about-technology-media img { width: 100%; height: 100%; object-fit: cover; }
.about-technology-primary { top: 0; left: 0; width: 72%; aspect-ratio: 1; border-radius: 28px 28px 100px 28px; }
.about-technology-secondary { right: 0; bottom: 0; width: 54%; aspect-ratio: 1; border-radius: 24px; }
.about-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 28px; list-style: none; }
.about-capabilities li { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; min-height: 72px; padding: 12px; background: var(--ivory); border: 1px solid var(--line); border-radius: 14px; }
.about-capabilities li > .icon { width: 19px; height: 19px; margin: 0 auto; color: var(--red); }
.about-capabilities span { color: var(--muted); font-size: .71rem; line-height: 1.4; }
.about-capabilities strong { display: block; color: var(--ink); font-size: .8rem; }

.about-structure { background: linear-gradient(180deg,#FAF6F5,#FFF); overflow: hidden; }
.about-structure-intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(290px,.55fr); align-items: end; gap: clamp(42px,7vw,96px); margin-bottom: clamp(36px,4.5vw,54px); }
.about-structure-intro h2 { max-width: 720px; margin: 0; }
.about-structure-intro > p { margin: 0 0 2px; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.about-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 170px; gap: 14px; }
.about-gallery figure { overflow: hidden; background: #D8D2D0; border-radius: 18px; box-shadow: 0 9px 26px rgba(30,18,20,.07); }
.about-gallery figure:first-child { grid-column: span 2; grid-row: span 2; }
.about-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.about-gallery figure:hover img { transform: scale(1.025); }

.about-presence { background: var(--paper); }
.about-location-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.about-location-grid article { display: grid; grid-template-columns: minmax(210px,.86fr) minmax(0,1.14fr); min-height: 270px; background: var(--white); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-sm); overflow: hidden; }
.about-location-grid article > img { width: 100%; height: 100%; object-fit: cover; }
.about-location-grid article > div { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(24px,3vw,34px); }
.about-location-pin { position: absolute; top: 24px; right: 24px; display: grid; width: 38px; height: 38px; place-items: center; color: var(--red); background: var(--rose); border-radius: 12px; }
.about-location-pin .icon { width: 18px; height: 18px; }
.about-location-grid small { color: var(--red); font-size: .61rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.site-body .about-location-grid h3 { margin: 8px 0 12px; font-size: 1.45rem; font-weight: 600; letter-spacing: -.025em; }
.about-location-grid address { max-width: 32ch; color: var(--muted); font-size: .78rem; font-style: normal; line-height: 1.55; }
.about-location-grid address strong { display: inline-block; margin-top: 5px; color: var(--ink); }
.about-contact-link { width: max-content; margin: 30px auto 0; }

.about-cta { color: var(--white); background: radial-gradient(circle at 80% 10%,rgba(255,82,89,.3),transparent 32%),linear-gradient(115deg,#4A0810 0%,#8F101A 55%,#35060B 100%); overflow: hidden; }
.about-cta::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(90deg,transparent,#000); }
.about-cta > .container { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: clamp(40px,7vw,100px); }
.about-cta > .container > div:first-child { max-width: 760px; }
.about-cta > .container > div:first-child > span { display: block; margin-bottom: 14px; color: #FFB8BA; font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.about-main .about-cta h2 { margin: 0; color: var(--white); }
.about-main .about-cta h2 > strong { display: block; color: #FFB8BA; }
.about-cta-actions { display: flex; min-width: max-content; flex-direction: column; align-items: center; gap: 14px; }
.about-cta-actions > a:last-child { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.8); font-size: .78rem; font-weight: 600; }
.about-cta-actions > a:last-child .icon { width: 16px; height: 16px; }

/* Serviços */
.services-main,
.service-main {
    --services-section-space: clamp(80px, 7vw, 104px);
    --services-soft-red: #FF6D72;
    color: var(--ink);
}
.services-main > .services-section,
.services-main > .services-final-cta,
.service-main > .service-detail-section,
.service-main > .service-detail-cta { position: relative; padding-block: var(--services-section-space); }
.services-main .eyebrow,
.service-main .eyebrow { margin-bottom: 16px; }
.services-main h1,
.services-main h2,
.service-main h1,
.service-main h2 {
    font-family: var(--sans);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.02;
}
.services-main h1 > span,
.services-main h2 > span,
.service-main h1 > span,
.service-main h2 > span { color: var(--red); font-weight: 600; }
.services-heading,
.service-detail-heading { margin-bottom: clamp(36px, 4.5vw, 52px); }
.services-heading h2,
.service-detail-heading h2 { max-width: 780px; margin: 0; font-size: clamp(2rem, 2.7vw, 3rem); }
.services-heading > p,
.services-heading--split > p,
.service-detail-heading > p,
.service-detail-heading--split > p { max-width: 440px; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.services-heading--split,
.service-detail-heading--split { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.58fr); align-items: end; gap: clamp(40px, 7vw, 96px); }
.services-heading--center,
.service-detail-heading--center { max-width: 790px; margin-inline: auto; text-align: center; }
.services-heading--center h2,
.service-detail-heading--center h2 { margin-inline: auto; }
.services-heading--center > p,
.service-detail-heading--center > p { max-width: 650px; margin: 16px auto 0; }
.services-heading--light h2,
.service-detail-heading--light h2 { color: var(--white); }
.services-heading--light h2 > span,
.service-detail-heading--light h2 > span { color: #FF8185; }
.services-heading--light > p,
.service-detail-heading--light > p { color: rgba(255,255,255,.64); }

.services-hero {
    position: relative;
    isolation: isolate;
    padding-block: var(--services-section-space);
    background:
        radial-gradient(circle at 78% 20%, rgba(237,28,36,.10), transparent 30%),
        radial-gradient(circle at 12% 85%, rgba(235,216,213,.55), transparent 34%),
        linear-gradient(135deg,#FFFDFD 0%,#F7F2F1 52%,#FFFFFF 100%);
    overflow: hidden;
}
.services-grid-bg,
.service-detail-grid-bg,
.services-process-grid-bg,
.service-detail-process-grid-bg { position: absolute; inset: 0; pointer-events: none; }
.services-grid-bg,
.service-detail-grid-bg {
    opacity: .38;
    background-image: linear-gradient(rgba(38,27,29,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(38,27,29,.04) 1px,transparent 1px);
    background-size: 70px 70px;
    mask-image: linear-gradient(90deg,transparent 0%,#000 45%,#000 100%);
}
.services-hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.91fr) minmax(470px,1.09fr); align-items: center; gap: clamp(48px,7vw,100px); }
.services-hero-copy h1 { max-width: 700px; margin-bottom: 24px; font-size: clamp(2.25rem,3.3vw,3.5rem); }
.services-hero-copy h1 > span { display: block; }
.services-hero-copy > p { max-width: 650px; margin: 0; color: #625B5D; font-size: 1.04rem; line-height: 1.68; }
.services-hero-actions,
.service-detail-actions { display: flex; align-items: center; gap: 22px; margin-top: 30px; flex-wrap: wrap; }
.services-hero-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(39,31,32,.12); }
.services-hero-facts > div { min-width: 0; padding-right: 15px; }
.services-hero-facts > div + div { padding-left: 15px; border-left: 1px solid rgba(39,31,32,.1); }
.services-hero-facts strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: .86rem; letter-spacing: -.015em; }
.services-hero-facts span { display: block; color: var(--muted); font-size: .68rem; line-height: 1.42; }

.services-system { position: relative; min-height: 530px; color: var(--white); background: radial-gradient(circle at 72% 23%,rgba(213,19,31,.31),transparent 30%),linear-gradient(145deg,#211719 0%,#100C0D 78%); border: 1px solid rgba(255,255,255,.12); border-radius: 30px; box-shadow: 0 28px 66px rgba(39,20,23,.21); overflow: hidden; }
.services-system-grid { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size: 52px 52px; }
.services-system-orbit { position: absolute; top: 50%; left: 50%; width: 74%; aspect-ratio: 1; border: 1px solid rgba(255,74,82,.25); border-radius: 50%; transform: translate(-50%,-50%) rotate(-9deg); }
.services-system-orbit::before,
.services-system-orbit::after { content:""; position:absolute; inset:13%; border:1px solid rgba(255,255,255,.09); border-radius:50%; transform:rotate(34deg); }
.services-system-orbit::after { inset:28%; transform:rotate(-44deg); }
.services-system-orbit span { position:absolute; width:8px; height:8px; background:#FF4B53; border-radius:50%; box-shadow:0 0 18px #ED1C24; }
.services-system-orbit span:nth-child(1) { top:13%; left:18%; }
.services-system-orbit span:nth-child(2) { right:4%; top:48%; }
.services-system-orbit span:nth-child(3) { left:33%; bottom:5%; }
.services-system-card { position: absolute; z-index: 2; display: grid; width: min(68%,390px); grid-template-columns: 48px 1fr; align-items: center; gap: 15px; padding: 18px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 18px; box-shadow: 0 18px 38px rgba(0,0,0,.22); backdrop-filter: blur(14px); }
.services-system-card--current { top: 50px; left: 32px; }
.services-system-card--past { right: 32px; bottom: 82px; }
.services-system-icon { display:grid; width:48px; height:48px; place-items:center; color:#FF7378; background:rgba(237,28,36,.15); border-radius:15px; }
.services-system-icon .icon { width:23px; height:23px; }
.services-system-card small { display:block; color:#FF8A8F; font-size:.61rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.services-system-card strong { display:block; margin-top:4px; color:var(--white); font-size:1.04rem; letter-spacing:-.02em; }
.services-system-card p { margin-top:4px; color:rgba(255,255,255,.59); font-size:.7rem; line-height:1.4; }
.services-system-center { position:absolute; z-index:1; top:46%; left:52%; display:flex; width:130px; aspect-ratio:1; align-items:center; justify-content:center; flex-direction:column; background:radial-gradient(circle at 35% 28%,#F0444D,#9D101B 67%,#4D0910); border:1px solid rgba(255,255,255,.27); border-radius:50%; box-shadow:0 0 0 16px rgba(237,28,36,.08),0 18px 36px rgba(0,0,0,.3); transform:translate(-50%,-50%); }
.services-system-center > span { position:absolute; inset:12px; border:1px dashed rgba(255,255,255,.25); border-radius:50%; }
.services-system-center b { color:var(--white); font-size:1.03rem; letter-spacing:-.02em; }
.services-system-center small { margin-top:3px; color:rgba(255,255,255,.6); font-size:.54rem; }
.services-system-status { position:absolute; z-index:2; right:25px; bottom:23px; display:flex; align-items:center; gap:8px; margin:0; color:rgba(255,255,255,.69); font-size:.68rem; }
.services-system-status .icon { width:16px; height:16px; color:#69C58C; }

.services-overview { background:var(--paper); }
.services-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,2.5vw,34px); }
.services-card { display:flex; min-width:0; flex-direction:column; background:var(--white); border:1px solid #EAE3E1; border-radius:26px; box-shadow:0 16px 42px rgba(35,21,23,.065); overflow:hidden; transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease); }
.services-card:hover { border-color:rgba(237,28,36,.2); box-shadow:0 22px 52px rgba(35,21,23,.1); transform:translateY(-4px); }
.services-card-media { position:relative; aspect-ratio:4/3; background:#171314; overflow:hidden; }
.services-card-media picture { display:block; width:100%; height:100%; }
.services-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.services-card:hover .services-card-media img { transform:scale(1.018); }
.services-card-media > span { position:absolute; left:20px; bottom:18px; display:inline-flex; align-items:center; gap:8px; padding:9px 12px; color:var(--white); background:rgba(24,17,18,.82); border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:.62rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; backdrop-filter:blur(10px); }
.services-card-media > span .icon { width:15px; height:15px; color:#FF7479; }
.services-card-body { display:flex; flex:1; flex-direction:column; padding:clamp(25px,3vw,36px); }
body.site-body .services-card-body h3 { max-width:520px; margin:0 0 14px; font-size:clamp(1.65rem,2vw,2.15rem); font-weight:700; letter-spacing:-.035em; line-height:1.08; }
.services-card-body > p { margin:0; color:var(--muted); font-size:.94rem; line-height:1.66; }
.services-card-body ul { display:grid; gap:13px; margin:27px 0 31px; list-style:none; }
.services-card-body li { display:grid; grid-template-columns:20px 1fr; gap:10px; color:var(--muted); }
.services-card-body li > .icon { width:17px; height:17px; margin-top:2px; color:var(--red); }
.services-card-body li span { display:flex; flex-direction:column; font-size:.75rem; line-height:1.45; }
.services-card-body li strong { margin-bottom:2px; color:var(--ink); font-size:.8rem; }
.services-card-body .text-link { align-self:flex-start; margin-top:auto; }

.services-common { background:linear-gradient(180deg,#FAF7F6,#FFF); }
.services-benefit-grid,
.service-structure-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.services-benefit-grid article,
.service-structure-grid article { display:grid; min-height:145px; grid-template-columns:48px 1fr; align-items:start; gap:15px; padding:22px; background:rgba(255,255,255,.93); border:1px solid #ECE5E3; border-radius:18px; box-shadow:0 9px 26px rgba(35,21,23,.04); }
.services-benefit-grid article > span,
.service-structure-grid article > span { display:grid; width:48px; height:48px; place-items:center; color:var(--red); background:var(--rose); border-radius:15px; }
.services-benefit-grid article > span .icon,
.service-structure-grid article > span .icon { width:22px; height:22px; }
body.site-body .services-benefit-grid h3,
body.site-body .service-structure-grid h3 { margin:2px 0 7px; font-size:1rem; font-weight:600; letter-spacing:-.015em; line-height:1.2; }
.services-benefit-grid p,
.service-structure-grid p { margin:0; color:var(--muted); font-size:.75rem; line-height:1.55; }

.services-comparison { background:var(--paper); }
.services-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.services-comparison-card { display:flex; min-width:0; flex-direction:column; padding:clamp(26px,3vw,38px); background:var(--white); border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow-sm); }
.services-comparison-title { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:15px; padding-bottom:23px; border-bottom:1px solid var(--line); }
.services-comparison-title > span { display:grid; width:52px; height:52px; place-items:center; color:var(--red); background:var(--rose); border-radius:16px; }
.services-comparison-title > span .icon { width:24px; height:24px; }
.services-comparison-title small { color:var(--red); font-size:.61rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .services-comparison-title h3 { margin:4px 0 0; font-size:1.35rem; font-weight:600; letter-spacing:-.025em; }
.services-comparison-card dl { margin:0 0 27px; }
.services-comparison-card dl > div { display:grid; grid-template-columns:minmax(130px,.38fr) minmax(0,.62fr); gap:18px; padding:17px 0; border-bottom:1px solid var(--line); }
.services-comparison-card dt { color:var(--ink); font-size:.72rem; font-weight:600; line-height:1.45; }
.services-comparison-card dd { margin:0; color:var(--muted); font-size:.75rem; line-height:1.55; }
.services-comparison-card .text-link { align-self:flex-start; margin-top:auto; }
.services-legal-note { max-width:880px; margin:24px auto 0; color:var(--muted); font-size:.82rem; line-height:1.6; text-align:center; }

.services-process,
.service-detail-process { isolation:isolate; color:var(--white); background:radial-gradient(circle at 82% 20%,rgba(204,20,31,.3),transparent 31%),linear-gradient(120deg,#171112 0%,#251517 56%,#120D0E 100%); overflow:hidden; }
.services-process-grid-bg,
.service-detail-process-grid-bg { opacity:.11; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px); background-size:66px 66px; mask-image:radial-gradient(circle at 68% 45%,#000,transparent 72%); }
.services-process > .container,
.service-detail-process > .container { position:relative; z-index:1; }
.services-process-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.services-process-list li { position:relative; min-height:235px; padding:25px 21px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.11); border-radius:18px; }
.services-process-list li > span { display:inline-flex; margin-bottom:43px; color:#FF7E83; font-size:.74rem; font-weight:600; letter-spacing:.08em; }
body.site-body .services-process-list h3 { margin:0 0 11px; color:var(--white); font-size:1.08rem; font-weight:600; letter-spacing:-.02em; }
.services-process-list p { margin:0; color:rgba(255,255,255,.58); font-size:.72rem; line-height:1.58; }

.services-final-cta,
.service-detail-cta { color:var(--white); background:radial-gradient(circle at 82% 12%,rgba(255,84,90,.3),transparent 32%),linear-gradient(112deg,#500810 0%,#97111B 56%,#3A070C 100%); overflow:hidden; }
.services-final-cta::before,
.service-detail-cta::before { content:""; position:absolute; inset:0; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:68px 68px; mask-image:linear-gradient(90deg,transparent,#000); }
.services-final-cta > .container,
.service-detail-cta > .container { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:clamp(40px,7vw,100px); }
.services-final-cta > .container > div:first-child,
.service-detail-cta > .container > div:first-child { max-width:760px; }
.services-final-cta > .container > div:first-child > span,
.service-detail-cta > .container > div:first-child > span { display:block; margin-bottom:13px; color:#FFB9BC; font-size:.67rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.services-final-cta h2,
.service-detail-cta h2 { margin:0; color:var(--white); font-size:clamp(2rem,2.7vw,3rem); }
.services-final-actions,
.service-detail-cta-actions { display:flex; min-width:max-content; flex-direction:column; align-items:center; gap:13px; }
.services-final-actions > a:last-child,
.service-detail-cta-actions > a:last-child { display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.81); font-size:.76rem; font-weight:600; }
.services-final-actions > a:last-child .icon,
.service-detail-cta-actions > a:last-child .icon { width:15px; height:15px; }

.service-detail-hero { position:relative; isolation:isolate; padding-block:var(--services-section-space); background:radial-gradient(circle at 80% 18%,rgba(237,28,36,.1),transparent 30%),radial-gradient(circle at 10% 84%,rgba(235,216,213,.5),transparent 34%),linear-gradient(135deg,#FFFDFD,#F8F3F2 53%,#FFF); overflow:hidden; }
.service-detail-hero > .container { position:relative; z-index:1; }
.service-detail-hero-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr); align-items:center; gap:clamp(48px,7vw,100px); }
.service-detail-hero-copy .breadcrumb { margin-bottom:28px; }
.service-detail-hero-copy h1 { max-width:680px; margin-bottom:16px; font-size:clamp(2.25rem,3.3vw,3.5rem); }
.service-detail-accent { display:block; max-width:620px; margin-bottom:15px; color:var(--red); font-size:1.04rem; font-weight:600; letter-spacing:-.015em; line-height:1.35; }
.service-detail-hero-copy > p { max-width:650px; margin:0; color:var(--muted); font-size:1rem; line-height:1.68; }
.service-detail-visual { position:relative; margin:0; }
.service-detail-visual::before { content:""; position:absolute; top:-8%; right:-5%; width:74%; aspect-ratio:1; border:1px solid rgba(237,28,36,.16); border-radius:50%; }
.service-detail-visual-glow { position:absolute; right:4%; bottom:5%; width:58%; height:34%; background:rgba(237,28,36,.17); filter:blur(52px); border-radius:50%; }
.service-detail-visual > picture { position:relative; z-index:1; display:block; width:100%; aspect-ratio:4/3; background:#171414; border:6px solid rgba(255,255,255,.95); border-radius:25px 80px 25px 25px; box-shadow:0 24px 58px rgba(51,28,31,.17); overflow:hidden; }
.service-detail-visual > picture img { display:block; width:100%; height:100%; object-fit:cover; }
.service-main--cobranca .service-detail-visual > picture { border-radius:80px 25px 25px 25px; }
.service-main--cobranca .service-detail-visual > picture img { object-fit:contain; }
.service-detail-visual figcaption { position:absolute; z-index:2; right:-14px; bottom:22px; display:grid; max-width:300px; grid-template-columns:42px 1fr; align-items:center; gap:12px; padding:15px 17px; color:var(--white); background:linear-gradient(135deg,#2A2223,#161112); border:1px solid rgba(255,255,255,.14); border-radius:16px; box-shadow:0 16px 38px rgba(21,12,13,.26); }
.service-detail-visual figcaption > span { display:grid; width:42px; height:42px; place-items:center; color:#FF767B; background:rgba(237,28,36,.14); border-radius:13px; }
.service-detail-visual figcaption > span .icon { width:20px; height:20px; }
.service-detail-visual figcaption small { display:block; color:#FF8589; font-size:.58rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.service-detail-visual figcaption strong { display:block; margin-top:4px; color:var(--white); font-size:.75rem; line-height:1.35; }
.service-detail-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:clamp(42px,5vw,62px); padding-top:clamp(28px,3.5vw,38px); border-top:1px solid rgba(39,31,32,.12); }
.service-detail-highlights article { display:grid; grid-template-columns:44px 1fr; gap:13px; min-width:0; }
.service-detail-highlights article > span { display:grid; width:44px; height:44px; place-items:center; color:var(--red); background:var(--rose); border-radius:14px; }
.service-detail-highlights article > span .icon { width:20px; height:20px; }
body.site-body .service-detail-highlights h2 { margin:1px 0 5px; font-size:.88rem; font-weight:600; letter-spacing:-.015em; line-height:1.2; }
.service-detail-highlights p { max-width:28ch; margin:0; color:var(--muted); font-size:.68rem; line-height:1.45; }

.service-detail-story { background:var(--paper); }
.service-detail-story-layout { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); align-items:start; gap:clamp(42px,7vw,96px); }
.service-detail-story-copy h2 { max-width:620px; margin-bottom:20px; font-size:clamp(2rem,2.7vw,3rem); }
.service-detail-story-copy > p { max-width:62ch; margin:0; color:var(--muted); font-size:1rem; line-height:1.68; }
.service-detail-approach { position:relative; min-height:300px; padding:clamp(28px,4vw,44px); color:var(--white); background:radial-gradient(circle at 88% 12%,rgba(212,23,34,.32),transparent 31%),linear-gradient(138deg,#211719,#100C0D); border:1px solid rgba(255,255,255,.08); border-radius:24px; box-shadow:0 20px 50px rgba(34,20,22,.14); overflow:hidden; }
.service-detail-approach > span { display:grid; width:50px; height:50px; place-items:center; color:#FF777C; background:rgba(237,28,36,.14); border:1px solid rgba(255,255,255,.08); border-radius:16px; }
.service-detail-approach > span .icon { width:23px; height:23px; }
.service-detail-approach small { display:block; margin-top:34px; color:#FF8085; font-size:.63rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .service-detail-approach h3 { max-width:620px; margin:11px 0 14px; color:var(--white); font-size:1.55rem; font-weight:600; letter-spacing:-.03em; line-height:1.14; }
.service-detail-approach p { max-width:62ch; margin:0; color:rgba(255,255,255,.61); font-size:.84rem; line-height:1.65; }
.service-detail-fit { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:8px; }
.service-detail-fit article { display:grid; grid-template-columns:44px 1fr; align-items:start; gap:13px; padding:20px; background:var(--white); border:1px solid var(--line); border-radius:16px; }
.service-detail-fit article > span { display:grid; width:44px; height:44px; place-items:center; color:var(--red); background:var(--rose); border-radius:13px; }
.service-detail-fit article > span .icon { width:20px; height:20px; }
.service-detail-fit small { display:block; margin-bottom:5px; color:var(--red); font-size:.6rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.service-detail-fit p { margin:0; color:var(--muted); font-size:.75rem; line-height:1.55; }

.service-detail-audiences { background:linear-gradient(180deg,#FAF7F6,#FFF); }
.service-audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:20px; }
.service-audience-card { padding:clamp(25px,3vw,36px); background:var(--white); border:1px solid #EAE3E1; border-radius:22px; box-shadow:0 13px 36px rgba(35,21,23,.055); }
.service-audience-card > header { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:15px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.service-audience-card > header > span { display:grid; width:52px; height:52px; place-items:center; color:var(--red); background:var(--rose); border-radius:16px; }
.service-audience-card > header > span .icon { width:24px; height:24px; }
.service-audience-card > header small { color:var(--red); font-size:.61rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .service-audience-card > header h3 { margin:4px 0 0; font-size:1.3rem; font-weight:600; letter-spacing:-.025em; }
.service-audience-card ul { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.service-audience-card li { display:grid; grid-template-columns:40px 1fr; gap:12px; padding:17px 0; border-bottom:1px solid var(--line); }
.service-audience-card li:last-child { border-bottom:0; }
.service-audience-card li > span { display:grid; width:40px; height:40px; place-items:center; color:var(--red); background:#FFF7F7; border-radius:12px; }
.service-audience-card li > span .icon { width:19px; height:19px; }
.service-audience-card li strong { display:block; margin-bottom:4px; color:var(--ink); font-size:.82rem; }
.service-audience-card li p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.5; }

.service-detail-steps { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.service-detail-steps li { min-height:230px; padding:24px 20px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.11); border-radius:18px; }
.service-detail-steps li > span { display:block; margin-bottom:42px; color:#FF7D82; font-size:.73rem; font-weight:600; letter-spacing:.08em; }
body.site-body .service-detail-steps h3 { margin:0 0 10px; color:var(--white); font-size:1.03rem; font-weight:600; letter-spacing:-.02em; line-height:1.2; }
.service-detail-steps p { margin:0; color:rgba(255,255,255,.58); font-size:.71rem; line-height:1.58; }

.service-detail-structure { background:var(--paper); }
.service-portal-link { display:flex; width:max-content; margin:30px auto 0; }

.service-detail-faq { background:linear-gradient(180deg,#FAF7F6,#FFF); }
.service-detail-faq-layout { display:grid; grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr); align-items:start; gap:clamp(44px,8vw,110px); }
.service-detail-faq .service-detail-heading { position:sticky; top:130px; margin:0; }
.service-detail-faq .service-detail-heading h2 { margin-bottom:17px; }
.service-detail-faq .service-detail-heading > p { margin-bottom:24px; }
.service-faq-list { border-top:1px solid var(--line); }
.service-faq-list details { border-bottom:1px solid var(--line); }
.service-faq-list summary { display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:18px; padding:18px 4px; color:var(--ink); cursor:pointer; list-style:none; font-size:.94rem; font-weight:600; line-height:1.35; }
.service-faq-list summary::-webkit-details-marker { display:none; }
.service-faq-list summary .icon { width:18px; height:18px; color:var(--red); flex:0 0 auto; transition:transform .25s var(--ease); }
.service-faq-list details[open] summary .icon { transform:rotate(45deg); }
.service-faq-list details > p { max-width:70ch; margin:-3px 40px 22px 4px; color:var(--muted); font-size:.82rem; line-height:1.65; }

/* Página única de Serviços */
.services-page-nav { position:sticky; z-index:900; top:var(--header-height); color:var(--ink); background:rgba(255,255,255,.94); border-top:1px solid rgba(39,31,32,.07); border-bottom:1px solid rgba(39,31,32,.1); box-shadow:0 10px 28px rgba(35,21,23,.045); backdrop-filter:blur(16px); transition:top .3s var(--ease); }
.site-header.is-hidden ~ .services-main .services-page-nav { top:0; }
.services-page-nav > .container { display:flex; min-height:62px; align-items:center; justify-content:space-between; gap:28px; }
.services-page-nav > .container > span { flex:0 0 auto; color:var(--red-dark); font-size:.62rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.services-page-nav > .container > div { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:clamp(16px,2.5vw,34px); }
.services-page-nav a { position:relative; display:inline-flex; min-height:42px; align-items:center; color:#514A4B; font-size:.76rem; font-weight:600; white-space:nowrap; }
.services-page-nav a::after { position:absolute; right:0; bottom:5px; left:0; height:2px; background:var(--red); content:""; transform:scaleX(0); transform-origin:right; transition:transform .25s var(--ease); }
.services-page-nav a:hover::after,
.services-page-nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.services-main [id="servicos-principais"],
.services-main [id="comparar-servicos"],
.services-main [id="garantia-de-receita"],
.services-main [id="cobranca-custo-zero"],
.services-main [id="estrutura-servicos"],
.services-main [id="duvidas-servicos"] { scroll-margin-top:calc(var(--header-height) + 78px); }
.site-header.is-hidden ~ .services-main [id="servicos-principais"],
.site-header.is-hidden ~ .services-main [id="comparar-servicos"],
.site-header.is-hidden ~ .services-main [id="garantia-de-receita"],
.site-header.is-hidden ~ .services-main [id="cobranca-custo-zero"],
.site-header.is-hidden ~ .services-main [id="estrutura-servicos"],
.site-header.is-hidden ~ .services-main [id="duvidas-servicos"] { scroll-margin-top:78px; }

.solution-chapter { isolation:isolate; overflow:hidden; }
.solution-chapter--garantia { background:var(--white); }
.solution-chapter--cobranca { background:radial-gradient(circle at 92% 9%,rgba(237,28,36,.055),transparent 28%),linear-gradient(180deg,#FBF7F6 0%,#FFF 100%); }
.solution-chapter-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(48px,7vw,96px); }
.solution-chapter-copy { max-width:630px; }
.solution-chapter-copy h2 { max-width:630px; margin:0 0 15px; }
.solution-chapter-copy .service-detail-accent { margin-bottom:18px; }
.solution-chapter-lead { margin:0; color:#5F5759; font-size:1.01rem; line-height:1.68; }
.solution-chapter-description { margin:23px 0 0; padding:18px 20px; color:var(--muted); background:rgba(255,255,255,.68); border:1px solid rgba(39,31,32,.09); border-left:3px solid rgba(237,28,36,.72); border-radius:0 14px 14px 0; font-size:.84rem; line-height:1.62; }
.solution-chapter--cobranca .solution-chapter-copy { order:2; }
.solution-chapter--cobranca .service-detail-visual { order:1; }
.solution-chapter--cobranca .service-detail-visual > picture { border-radius:80px 25px 25px 25px; }
.solution-chapter--cobranca .service-detail-visual > picture img { object-fit:contain; }
.solution-chapter-highlights { margin-top:clamp(36px,4vw,48px); }
body.site-body .solution-chapter-highlights h3 { margin:1px 0 5px; color:var(--ink); font-size:.88rem; font-weight:600; letter-spacing:-.015em; line-height:1.2; }
.solution-chapter-story { margin-top:clamp(40px,4.5vw,54px); padding-top:clamp(32px,3.5vw,44px); column-gap:clamp(42px,7vw,96px); row-gap:22px; border-top:1px solid rgba(39,31,32,.1); }
.solution-chapter-benefits { margin-top:clamp(56px,6vw,76px); }
.solution-chapter-process { position:relative; isolation:isolate; margin-top:clamp(52px,6vw,72px); padding:clamp(34px,5vw,62px); color:var(--white); background:radial-gradient(circle at 82% 20%,rgba(204,20,31,.3),transparent 31%),linear-gradient(120deg,#171112 0%,#251517 56%,#120D0E 100%); border:1px solid rgba(255,255,255,.08); border-radius:28px; box-shadow:0 24px 60px rgba(35,21,23,.16); overflow:hidden; }
.solution-chapter-process > :not(.service-detail-process-grid-bg) { position:relative; z-index:1; }
.solution-chapter-process .service-detail-heading { margin-bottom:clamp(34px,4vw,48px); }

.services-common-cta { display:flex; width:max-content; margin:30px auto 0; }
.services-faq { background:linear-gradient(180deg,#FAF7F6,#FFF); }
.services-faq-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:22px; }
.services-faq-group { min-width:0; padding:clamp(24px,3vw,34px); background:rgba(255,255,255,.94); border:1px solid #E9E2E0; border-radius:22px; box-shadow:0 12px 34px rgba(35,21,23,.055); }
.services-faq-group > header { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:15px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.services-faq-group > header > span { display:grid; width:52px; height:52px; place-items:center; color:var(--red); background:var(--rose); border-radius:16px; }
.services-faq-group > header > span .icon { width:24px; height:24px; }
.services-faq-group > header small { color:var(--red); font-size:.61rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .services-faq-group > header h3 { margin:4px 0 0; color:var(--ink); font-size:1.3rem; font-weight:600; letter-spacing:-.025em; line-height:1.18; }
.services-faq-group .service-faq-list { border-top:0; }
.services-faq-link { display:flex; width:max-content; margin:30px auto 0; }

/* Legibilidade e contraste da página consolidada de Serviços */
.services-main .eyebrow:not(.eyebrow-light),
.services-main .services-comparison-title small,
.services-main .service-detail-fit small,
.services-main .service-audience-card > header small,
.services-main .services-faq-group > header small { color:var(--red-dark); }
.services-main .eyebrow-light { color:#FFB9BC; }
.services-main .services-card-body li span,
.services-main .services-hero-facts span,
.services-main .services-system-card p,
.services-main .services-system-status,
.services-main .service-detail-highlights p,
.services-main .service-detail-fit p,
.services-main .service-audience-card li p,
.services-main .service-detail-steps p,
.services-main .services-benefit-grid p,
.services-main .service-structure-grid p { font-size:.82rem; line-height:1.58; }
.services-main .services-card-body li strong,
.services-main .service-audience-card li strong { font-size:.86rem; }
.services-main .services-comparison-card dt { font-size:.8rem; }
.services-main .services-comparison-card dd { font-size:.84rem; line-height:1.58; }
.services-main .service-faq-list details > p { font-size:.86rem; line-height:1.68; }

/* Contato */
.contact-main { --contact-section-space:clamp(80px,7vw,104px); color:var(--ink); background:var(--white); }
.contact-main .contact-page-section { position:relative; padding-block:var(--contact-section-space); }
.contact-main .eyebrow { font-weight:600; letter-spacing:.08em; }
.contact-main h1,
.contact-main h2,
.contact-main h3 { font-family:var(--sans); }

.contact-page-hero { isolation:isolate; overflow:hidden; background:radial-gradient(circle at 82% 18%,rgba(237,28,36,.09),transparent 34%),radial-gradient(circle at 12% 78%,rgba(240,218,216,.42),transparent 35%),linear-gradient(145deg,#FFF 0%,#FCF9F8 54%,#FFF 100%); }
.contact-page-hero::after { position:absolute; z-index:-1; right:-10%; bottom:-62%; width:min(54vw,760px); aspect-ratio:1; border:1px solid rgba(237,28,36,.11); border-radius:50%; content:""; }
.contact-page-grid { position:absolute; z-index:-2; inset:0; opacity:.3; background-image:linear-gradient(rgba(34,29,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(34,29,30,.035) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent 2%,#000 58%,#000 100%); }
.contact-page-hero-layout { display:grid; grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr); align-items:center; gap:clamp(48px,8vw,112px); }
.contact-page-hero-copy { max-width:620px; }
.contact-page-hero-copy .eyebrow { margin-bottom:20px; }
.contact-page-hero-copy h1 { max-width:610px; margin:0 0 22px; font-size:clamp(2.25rem,3.3vw,3.5rem); font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.contact-page-hero-copy h1 > span { color:var(--red); font-weight:600; }
.contact-page-hero-copy > p { max-width:590px; margin:0; color:var(--muted); font-size:1.04rem; line-height:1.68; }
.contact-page-hero-actions { display:flex; align-items:center; gap:22px; margin-top:30px; flex-wrap:wrap; }
.contact-page-hero-actions .btn-primary { min-height:54px; padding-inline:25px; }
.contact-page-hero-actions .btn-text { display:inline-flex; min-height:44px; align-items:center; gap:9px; color:var(--ink); font-size:.78rem; font-weight:600; }
.contact-page-hero-actions .icon { width:16px; height:16px; }

.contact-availability-card { position:relative; padding:clamp(30px,4vw,44px); color:var(--white); background:radial-gradient(circle at 90% 7%,rgba(237,28,36,.34),transparent 29%),linear-gradient(145deg,#191314 0%,#29171A 56%,#130E0F 100%); border:1px solid rgba(255,255,255,.1); border-radius:28px; box-shadow:0 30px 70px rgba(30,13,16,.18); overflow:hidden; }
.contact-availability-card::after { position:absolute; right:-90px; bottom:-116px; width:270px; aspect-ratio:1; border:1px solid rgba(255,80,87,.2); border-radius:50%; content:""; pointer-events:none; }
.contact-availability-icon { display:grid; width:54px; height:54px; place-items:center; color:var(--red); background:var(--white); border-radius:17px; }
.contact-availability-icon .icon { width:24px; height:24px; }
.contact-availability-card > span { display:block; margin-top:34px; color:#FF8D88; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.contact-availability-card h2 { max-width:430px; margin:10px 0 12px; color:var(--white); font-size:clamp(1.55rem,2vw,2rem); font-weight:700; letter-spacing:-.035em; line-height:1.08; }
.contact-availability-card > p { margin:0; color:rgba(255,255,255,.62); font-size:.88rem; line-height:1.55; }
.contact-availability-links { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:28px; }
.contact-availability-links a { display:grid; min-width:0; grid-template-columns:34px minmax(0,1fr); grid-template-rows:auto auto; align-items:center; column-gap:11px; padding:14px; color:var(--white); background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.12); border-radius:15px; transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease); }
.contact-availability-links a:hover { background:rgba(255,255,255,.12); border-color:rgba(255,114,119,.34); transform:translateY(-2px); }
.contact-availability-links a > .icon { width:18px; height:18px; grid-row:1 / 3; color:#FF7177; }
.contact-availability-links small { color:rgba(255,255,255,.48); font-size:.56rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.contact-availability-links strong { min-width:0; margin-top:3px; overflow-wrap:anywhere; font-size:.78rem; font-weight:600; }

.contact-conversation { background:linear-gradient(180deg,#FFF 0%,#FCFAF9 100%); }
.contact-page-heading { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(290px,.58fr); align-items:end; gap:clamp(42px,8vw,108px); margin-bottom:clamp(38px,4.8vw,58px); }
.contact-page-heading .eyebrow { margin-bottom:15px; }
.contact-page-heading h2 { max-width:690px; margin:0; font-size:clamp(2rem,2.7vw,3rem); font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.contact-page-heading h2 > span { color:var(--red); font-weight:600; }
.contact-page-heading > p { max-width:510px; margin:0; color:var(--muted); font-size:.94rem; line-height:1.65; }
.contact-page-layout { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); align-items:start; gap:clamp(38px,6vw,78px); }
.contact-channel-list { display:grid; gap:12px; }
.contact-channel-list article { display:grid; min-width:0; grid-template-columns:50px minmax(0,1fr); gap:16px; padding:22px; background:var(--white); border:1px solid #ECE6E4; border-radius:18px; box-shadow:0 9px 24px rgba(32,20,22,.035); }
.contact-channel-list article > span { display:grid; width:48px; height:48px; place-items:center; color:var(--red); background:var(--rose); border-radius:15px; }
.contact-channel-list article > span .icon { width:21px; height:21px; }
.contact-channel-list article > div { min-width:0; }
.contact-channel-list small { display:block; margin-bottom:5px; color:var(--red-dark); font-size:.59rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .contact-channel-list h3 { margin:0 0 7px; overflow-wrap:anywhere; font-size:1.22rem; font-weight:600; letter-spacing:-.025em; line-height:1.18; }
.contact-channel-list p { margin:0; color:var(--muted); font-size:.77rem; line-height:1.55; }
.contact-channel-list a { display:inline-flex; min-height:38px; align-items:center; gap:7px; margin-top:10px; color:var(--ink); font-size:.72rem; font-weight:600; }
.contact-channel-list a .icon { width:15px; height:15px; color:var(--red); transition:transform .25s var(--ease); }
.contact-channel-list a:hover .icon { transform:translate(2px,-2px); }
.contact-channel-note { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:13px; margin-top:4px; padding:18px 20px; color:var(--white); background:linear-gradient(135deg,#241719,#130E0F); border-radius:17px; }
.contact-channel-note > .icon { width:20px; height:20px; justify-self:center; color:#FF7277; }
.contact-channel-note p { display:flex; min-width:0; flex-direction:column; margin:0; }
.contact-channel-note strong { color:var(--white); font-size:.75rem; font-weight:600; }
.contact-channel-note span { margin-top:3px; color:rgba(255,255,255,.55); font-size:.69rem; line-height:1.4; }

.contact-message-card { padding:clamp(30px,4.5vw,52px); scroll-margin-top:calc(var(--header-height) + 16px); background:var(--white); border:1px solid #EAE3E1; border-radius:26px; box-shadow:0 18px 50px rgba(34,20,22,.07); }
.contact-form-heading > span { color:var(--red-dark); font-size:.65rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .contact-form-heading h3 { margin:8px 0 7px; font-size:clamp(1.8rem,2.5vw,2.45rem); font-weight:700; letter-spacing:-.04em; line-height:1.05; }
.contact-form-heading > p { margin:0 0 28px; color:var(--muted); font-size:.78rem; }
.contact-message-card .alert { margin-bottom:20px; }
.contact-message-card .form-field input,
.contact-message-card .form-field select,
.contact-message-card .form-field textarea { font-size:1rem; }
.contact-message-card .btn-block { min-height:56px; }
.contact-message-card .form-success-state { min-height:500px; }
.contact-message-card .form-success-state h2 { font-size:clamp(1.9rem,2.6vw,2.6rem); font-weight:700; letter-spacing:-.04em; }

.contact-offices { background:radial-gradient(circle at 10% 86%,rgba(237,28,36,.065),transparent 30%),radial-gradient(circle at 92% 10%,rgba(237,28,36,.04),transparent 28%),var(--paper); }
.contact-office-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.contact-office-card { position:relative; display:grid; min-width:0; grid-template-rows:auto 1fr; background:var(--white); border:1px solid #E9E2E0; border-radius:24px; box-shadow:0 14px 38px rgba(32,20,22,.05); overflow:hidden; transition:transform .3s var(--ease),box-shadow .3s var(--ease); }
.contact-office-card:hover { box-shadow:0 22px 48px rgba(32,20,22,.1); transform:translateY(-3px); }
.contact-office-card figure { position:relative; aspect-ratio:16/8.8; margin:0; overflow:hidden; background:var(--ivory-2); }
.contact-office-card picture { display:block; width:100%; height:100%; }
.contact-office-card figure::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(14,20,26,.22)); content:""; pointer-events:none; }
.contact-office-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.contact-office-card--florianopolis img { object-position:50% 56%; }
.contact-office-card--sao-paulo img { object-position:58% 52%; }
.contact-office-card:hover img { transform:scale(1.035); }
.contact-office-card figcaption { position:absolute; z-index:1; left:18px; bottom:16px; padding:7px 11px; color:var(--white); background:rgba(18,14,15,.64); border:1px solid rgba(255,255,255,.18); border-radius:999px; backdrop-filter:blur(9px); font-size:.6rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.contact-office-card > div { position:relative; display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:clamp(25px,3.4vw,36px); }
.contact-office-pin { position:absolute; top:24px; right:24px; display:grid; width:42px; height:42px; place-items:center; color:var(--red); background:var(--rose); border-radius:13px; }
.contact-office-pin .icon { width:19px; height:19px; }
.contact-office-card > div > small { color:var(--red-dark); font-size:.61rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.site-body .contact-office-card h3 { margin:8px 56px 12px 0; font-size:1.55rem; font-weight:600; letter-spacing:-.03em; line-height:1.1; }
.contact-office-card address { max-width:48ch; margin:0; color:var(--muted); font-size:.84rem; font-style:normal; line-height:1.58; }
.contact-office-card address strong { display:inline-block; margin-top:5px; color:var(--ink); font-weight:600; }
.contact-map-link { display:inline-flex; min-height:42px; align-items:center; gap:8px; margin-top:22px; padding:9px 14px; color:var(--red-dark); border:1px solid rgba(196,22,28,.62); border-radius:999px; font-size:.74rem; font-weight:600; text-transform:uppercase; transition:color .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease); }
.contact-map-link:hover { color:var(--white); background:var(--red-dark); border-color:var(--red-dark); }
.contact-map-link .icon { width:15px; height:15px; }
.contact-availability-links a:focus-visible { outline:3px solid rgba(255,255,255,.95); outline-offset:3px; box-shadow:0 0 0 6px rgba(255,113,119,.2); }

/* Dúvidas */
.faq-main { --faq-section-space:clamp(80px,7vw,104px); color:var(--ink); background:var(--white); }
.faq-main .faq-section { position:relative; padding-block:var(--faq-section-space); }
.faq-main .eyebrow { font-weight:600; letter-spacing:.08em; }
.faq-main h1,
.faq-main h2,
.faq-main h3 { font-family:var(--sans); }

.faq-hero { overflow:hidden; isolation:isolate; background:radial-gradient(circle at 82% 18%,rgba(237,28,36,.09),transparent 34%),radial-gradient(circle at 12% 76%,rgba(240,218,216,.42),transparent 35%),linear-gradient(145deg,#FFF 0%,#FCF9F8 54%,#FFF 100%); }
.faq-hero::after { position:absolute; z-index:-1; right:-10%; bottom:-58%; width:min(54vw,760px); aspect-ratio:1; border:1px solid rgba(237,28,36,.11); border-radius:50%; content:""; }
.faq-hero-grid { position:absolute; z-index:-2; inset:0; opacity:.3; background-image:linear-gradient(rgba(34,29,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(34,29,30,.035) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent 2%,#000 58%,#000 100%); }
.faq-hero-layout { display:grid; grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr); align-items:center; gap:clamp(48px,8vw,112px); }
.faq-hero-copy { max-width:610px; }
.faq-hero-copy .eyebrow { margin-bottom:20px; }
.faq-hero-copy h1 { max-width:590px; margin:0 0 22px; font-size:clamp(2.25rem,3.3vw,3.5rem); font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.faq-hero-copy h1 > span { color:var(--red); font-weight:600; }
.faq-hero-copy > p { max-width:590px; color:var(--muted); font-size:1.04rem; line-height:1.68; }
.faq-hero-facts { display:flex; align-items:center; gap:0; margin-top:30px; }
.faq-hero-facts > span { display:flex; align-items:baseline; gap:8px; padding-right:24px; color:var(--muted); font-size:.78rem; }
.faq-hero-facts > span + span { padding-left:24px; border-left:1px solid var(--line); }
.faq-hero-facts strong { color:var(--ink); font-size:1.28rem; font-weight:700; }

.faq-search-card { position:relative; padding:clamp(28px,3.5vw,42px); color:var(--white); background:radial-gradient(circle at 88% 8%,rgba(237,28,36,.34),transparent 29%),linear-gradient(145deg,#191314 0%,#261518 55%,#130E0F 100%); border:1px solid rgba(255,255,255,.1); border-radius:28px; box-shadow:0 30px 70px rgba(30,13,16,.18); overflow:hidden; }
.faq-search-card::after { position:absolute; right:-82px; bottom:-104px; width:250px; aspect-ratio:1; border:1px solid rgba(255,80,87,.2); border-radius:50%; content:""; pointer-events:none; }
.faq-search-kicker { display:block; margin-bottom:12px; color:#FF8D88; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.faq-search-form { position:relative; z-index:1; }
.faq-search-form > label { display:block; margin-bottom:16px; font-size:clamp(1.42rem,2vw,1.85rem); font-weight:600; letter-spacing:-.025em; }
.faq-search-form > div { display:grid; min-height:58px; grid-template-columns:minmax(0,1fr) 58px; background:rgba(255,255,255,.98); border:1px solid rgba(255,255,255,.26); border-radius:999px; overflow:hidden; box-shadow:0 14px 30px rgba(0,0,0,.16); transition:border-color .2s var(--ease),box-shadow .2s var(--ease); }
.faq-search-form > div:focus-within { border-color:#FF7277; box-shadow:0 0 0 3px rgba(255,255,255,.9),0 14px 30px rgba(0,0,0,.16); }
.faq-search-form input { min-width:0; padding:0 22px; color:var(--ink); background:transparent; border:0; outline:0; font:400 .9rem/1.2 var(--sans); }
.faq-search-form input::placeholder { color:#8A8183; }
.faq-search-form button { display:grid; place-items:center; color:var(--white); background:linear-gradient(135deg,#FF323A,#D81723); border:0; cursor:pointer; }
.faq-search-form button .icon { width:19px; height:19px; }
.faq-search-form button:focus-visible { outline:3px solid var(--white); outline-offset:-5px; }
.faq-quick-actions { position:relative; z-index:1; display:grid; gap:0; margin-top:25px; border-top:1px solid rgba(255,255,255,.13); }
.faq-quick-actions a { display:grid; min-height:52px; grid-template-columns:25px minmax(0,1fr) 18px; align-items:center; gap:12px; color:rgba(255,255,255,.82); border-bottom:1px solid rgba(255,255,255,.1); font-size:.78rem; font-weight:600; }
.faq-quick-actions a:hover { color:var(--white); }
.faq-quick-actions a > .icon:first-child { width:18px; height:18px; color:#FF6268; }
.faq-quick-actions a > .icon:last-child { width:15px; height:15px; transition:transform .25s var(--ease); }
.faq-quick-actions a:hover > .icon:last-child { transform:translate(2px,-2px); }

.faq-library { background:linear-gradient(180deg,#FFF 0%,#FCFAF9 100%); }
.faq-library-heading { max-width:760px; margin:0 auto clamp(36px,4.6vw,58px); text-align:center; }
.faq-library-heading .eyebrow { justify-content:center; margin-bottom:15px; }
.faq-library-heading h2,
.faq-knowledge-heading h2,
.faq-support h2 { margin:0; font-size:clamp(2rem,2.7vw,3rem); font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.faq-library-heading h2 > span,
.faq-knowledge-heading h2 > span { color:var(--red); font-weight:600; }
.faq-library-heading > p { max-width:650px; margin:18px auto 0; color:var(--muted); font-size:1rem; line-height:1.65; }
.faq-category-nav { display:flex; max-width:100%; gap:9px; margin-bottom:14px; flex-wrap:wrap; justify-content:center; }
.faq-category-nav button { display:inline-flex; min-height:44px; align-items:center; gap:9px; padding:9px 16px; color:var(--graphite); background:var(--white); border:1px solid var(--line); border-radius:999px; cursor:pointer; font-size:.73rem; font-weight:600; transition:color .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease); }
.faq-category-nav button > span { display:grid; min-width:22px; height:22px; place-items:center; padding-inline:5px; color:var(--muted); background:var(--paper); border-radius:999px; font-size:.63rem; }
.faq-category-nav button:hover { border-color:rgba(237,28,36,.28); transform:translateY(-1px); }
.faq-category-nav button.is-active { color:var(--white); background:var(--ink); border-color:var(--ink); }
.faq-category-nav button.is-active > span { color:var(--red); background:var(--white); }
.faq-result-status { margin:0 0 34px; color:var(--muted); text-align:center; font-size:.72rem; }
.faq-directory { display:grid; grid-template-columns:minmax(255px,.64fr) minmax(0,1.6fr); align-items:start; gap:clamp(42px,6vw,86px); }
.faq-help-card { position:sticky; top:124px; padding:32px; color:var(--white); background:radial-gradient(circle at 88% 8%,rgba(237,28,36,.28),transparent 31%),linear-gradient(145deg,#181314,#271618 58%,#130E0F); border:1px solid rgba(255,255,255,.08); border-radius:24px; box-shadow:0 25px 60px rgba(25,11,13,.14); }
.faq-help-icon { display:grid; width:52px; height:52px; place-items:center; color:var(--red); background:var(--white); border-radius:16px; }
.faq-help-icon .icon { width:22px; height:22px; }
.faq-help-label { display:block; margin-top:42px; color:#FF8D88; font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.faq-help-card h2 { margin:10px 0 13px; font-size:clamp(1.65rem,2.2vw,2.15rem); font-weight:700; letter-spacing:-.035em; line-height:1.06; }
.faq-help-card p { color:rgba(255,255,255,.66); font-size:.87rem; line-height:1.65; }
.faq-help-card .btn { width:100%; margin-top:23px; justify-content:center; }
.faq-help-card small { display:block; margin-top:17px; color:rgba(255,255,255,.48); font-size:.67rem; line-height:1.5; }
.faq-groups { min-width:0; }
.faq-group { margin-bottom:clamp(42px,5vw,62px); padding:clamp(24px,3vw,34px); background:var(--white); border:1px solid #EDE8E6; border-radius:24px; box-shadow:0 14px 38px rgba(32,20,22,.045); }
.faq-group:last-of-type { margin-bottom:0; }
.faq-group-heading { display:grid; grid-template-columns:54px minmax(0,1fr); align-items:start; gap:18px; margin-bottom:22px; padding-bottom:23px; border-bottom:1px solid var(--line); }
.faq-group-heading > span { display:grid; width:52px; height:52px; place-items:center; color:var(--red); background:var(--rose); border-radius:16px; }
.faq-group-heading > span .icon { width:21px; height:21px; }
.faq-group-heading small { display:block; margin-bottom:5px; color:var(--red); font-size:.62rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.faq-group-heading h2 { margin:0 0 7px; font-size:clamp(1.55rem,2vw,2rem); font-weight:700; letter-spacing:-.035em; line-height:1.08; }
.faq-group-heading p { max-width:650px; color:var(--muted); font-size:.82rem; line-height:1.55; }
.faq-accordion { border-top:0; }
.faq-accordion .accordion-item { border-bottom:1px solid var(--line); }
.faq-accordion .accordion-item:last-child { border-bottom:0; }
.faq-accordion .accordion-item h3 { margin:0; }
.faq-accordion .accordion-item button { display:flex; width:100%; min-height:72px; align-items:center; justify-content:space-between; gap:22px; padding:18px 2px; color:var(--ink); text-align:left; background:transparent; border:0; cursor:pointer; }
.faq-accordion .accordion-item button > span { display:grid; min-width:0; grid-template-columns:31px minmax(0,1fr); align-items:start; gap:13px; font-size:.94rem; font-weight:600; line-height:1.4; }
.faq-accordion .accordion-item button i { padding-top:2px; color:var(--red); font-size:.62rem; font-style:normal; font-weight:600; letter-spacing:.08em; }
.faq-accordion .accordion-item button b { display:grid; width:34px; height:34px; flex:0 0 auto; place-items:center; color:var(--red); background:var(--rose); border-radius:50%; }
.faq-accordion .accordion-item button b .icon { width:15px; height:15px; }
.faq-accordion .accordion-item.is-open button { color:var(--red-dark); }
.faq-accordion .accordion-panel { max-width:73ch; padding:0 42px 22px 46px; }
.faq-accordion .accordion-panel p,
.faq-accordion .accordion-panel li { color:var(--muted); font-size:.86rem; line-height:1.68; }
.faq-accordion .accordion-panel ul { display:grid; gap:8px; margin:14px 0 0; padding-left:18px; }
.faq-accordion .accordion-panel a { display:inline-flex; align-items:center; gap:9px; margin-top:17px; color:var(--red); font-size:.76rem; font-weight:600; }
.faq-accordion .accordion-panel a .icon { width:15px; height:15px; }
.faq-main .faq-empty { padding:54px 30px; color:var(--muted); background:var(--white); border:1px dashed rgba(237,28,36,.25); border-radius:22px; text-align:center; }
.faq-main .faq-empty > .icon { width:28px; height:28px; color:var(--red); }
.faq-main .faq-empty h2 { margin:16px 0 8px; color:var(--ink); font-size:1.55rem; font-weight:700; }
.faq-main .faq-empty p { margin-bottom:20px; font-size:.86rem; }

.faq-knowledge { background:radial-gradient(circle at 92% 10%,rgba(237,28,36,.055),transparent 31%),var(--paper); }
.faq-knowledge-heading { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(290px,.58fr); align-items:end; gap:clamp(42px,8vw,108px); margin-bottom:clamp(36px,4.6vw,56px); }
.faq-knowledge-heading .eyebrow { margin-bottom:15px; }
.faq-knowledge-heading h2 { max-width:680px; }
.faq-knowledge-heading > p { color:var(--muted); font-size:.94rem; line-height:1.65; }
.faq-knowledge-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.faq-knowledge-grid article { display:flex; min-height:270px; flex-direction:column; padding:26px; background:var(--white); border:1px solid #ECE7E5; border-radius:20px; box-shadow:0 10px 28px rgba(31,19,21,.035); transition:transform .28s var(--ease),box-shadow .28s var(--ease); }
.faq-knowledge-grid article:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(31,19,21,.08); }
.faq-knowledge-grid article > span { color:var(--red); font-size:.62rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.faq-knowledge-grid h3 { margin:18px 0 11px; font-size:clamp(1.24rem,1.65vw,1.58rem); font-weight:700; letter-spacing:-.03em; line-height:1.1; }
.faq-knowledge-grid p { color:var(--muted); font-size:.8rem; line-height:1.62; }
.faq-knowledge-grid a { display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:22px; font-size:.74rem; font-weight:600; }
.faq-knowledge-grid a .icon { width:15px; height:15px; color:var(--red); }
.faq-knowledge-cta { display:flex; justify-content:center; margin-top:32px; }
.faq-knowledge-cta .btn { min-height:54px; padding-inline:27px; background:linear-gradient(135deg,#FF323A 0%,#E51A25 58%,#C91620 100%); box-shadow:0 14px 30px rgba(237,28,36,.22); }

.faq-support { color:var(--white); background:radial-gradient(circle at 12% 88%,rgba(237,28,36,.28),transparent 32%),radial-gradient(circle at 90% 7%,rgba(166,18,31,.28),transparent 28%),linear-gradient(120deg,#11090B 0%,#2D0C12 52%,#16090C 100%); overflow:hidden; isolation:isolate; }
.faq-support-grid { position:absolute; z-index:-1; inset:0; opacity:.075; background-image:linear-gradient(rgba(255,255,255,.34) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(circle at 72% 50%,#000,transparent 72%); }
.faq-support-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); align-items:center; gap:clamp(52px,8vw,110px); }
.faq-support header { max-width:580px; }
.faq-support .eyebrow { margin-bottom:16px; }
.faq-support h2 { color:var(--white); }
.faq-support h2 > span { color:#FF7277; font-weight:600; }
.faq-support header > p { max-width:560px; margin-top:18px; color:rgba(255,255,255,.66); font-size:.94rem; line-height:1.65; }
.faq-support header .btn { margin-top:26px; }
.faq-support-channels { display:grid; gap:12px; }
.faq-support-channels > a { display:grid; min-height:84px; grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto; align-content:center; column-gap:16px; padding:17px 20px; color:var(--white); background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.13); border-radius:18px; backdrop-filter:blur(12px); transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease); }
.faq-support-channels > a:hover { background:rgba(255,255,255,.115); border-color:rgba(255,114,119,.34); transform:translateX(3px); }
.faq-support-channels > a > span { display:grid; width:46px; height:46px; grid-row:1 / 3; place-items:center; color:#FF7177; background:rgba(255,255,255,.09); border-radius:14px; }
.faq-support-channels > a > span .icon { width:19px; height:19px; }
.faq-support-channels small { color:rgba(255,255,255,.52); font-size:.62rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.faq-support-channels strong { min-width:0; overflow-wrap:anywhere; font-size:.96rem; font-weight:600; }

.no-js .faq-main .accordion-panel[hidden],
.no-js .faq-main [data-faq-item][hidden],
.no-js .faq-main [data-faq-group][hidden] { display:block !important; }
.no-js .faq-main .faq-category-nav,
.no-js .faq-main .faq-result-status { display:none !important; }

/* Portal Digital */
.portal-digital-main { --portal-section-space:clamp(80px,7vw,104px); color:var(--ink); background:var(--white); }
.portal-digital-main > .portal-digital-section { position:relative; padding-block:var(--portal-section-space); }
.portal-digital-main .eyebrow { margin-bottom:16px; font-weight:600; letter-spacing:.08em; }
.portal-digital-main h1,
.portal-digital-main h2,
.portal-digital-main h3 { font-family:var(--sans); }
.portal-digital-main h1,
.portal-digital-main h2 { margin:0; font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.portal-digital-main h1 > span,
.portal-digital-main h2 > span { color:var(--red); font-weight:600; }

.portal-digital-hero { isolation:isolate; overflow:hidden; background:radial-gradient(circle at 84% 16%,rgba(237,28,36,.105),transparent 34%),radial-gradient(circle at 11% 82%,rgba(240,218,216,.44),transparent 34%),linear-gradient(145deg,#FFF 0%,#FCF9F8 54%,#FFF 100%); }
.portal-digital-hero::after { position:absolute; z-index:-1; right:-10%; bottom:-62%; width:min(56vw,790px); aspect-ratio:1; border:1px solid rgba(237,28,36,.12); border-radius:50%; content:""; pointer-events:none; }
.portal-digital-grid-bg { position:absolute; z-index:-2; inset:0; opacity:.3; background-image:linear-gradient(rgba(34,29,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(34,29,30,.035) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent 2%,#000 55%,#000 100%); pointer-events:none; }
.portal-digital-hero-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr); align-items:center; gap:clamp(48px,7vw,96px); }
.portal-digital-hero-copy { position:relative; z-index:2; max-width:620px; }
.portal-digital-hero-copy h1 { max-width:610px; margin-bottom:22px; font-size:clamp(2.25rem,3.3vw,3.5rem); }
.portal-digital-hero-copy > p { max-width:590px; margin:0; color:var(--muted); font-size:1.04rem; line-height:1.68; }
.portal-digital-hero-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px; padding-top:23px; border-top:1px solid rgba(39,31,32,.12); }
.portal-digital-hero-facts > span { min-width:0; padding-right:15px; }
.portal-digital-hero-facts > span + span { padding-left:15px; border-left:1px solid rgba(39,31,32,.1); }
.portal-digital-hero-facts strong,
.portal-digital-hero-facts small { display:block; }
.portal-digital-hero-facts strong { margin-bottom:4px; font-size:.84rem; font-weight:600; }
.portal-digital-hero-facts small { color:var(--muted); font-size:.72rem; font-weight:400; line-height:1.4; }
.portal-digital-hero-visual { position:relative; display:grid; min-width:0; min-height:clamp(450px,41vw,560px); place-items:center; margin:0; isolation:isolate; color:var(--white); background:radial-gradient(circle at 78% 18%,rgba(237,28,36,.23),transparent 31%),linear-gradient(145deg,#191314 0%,#2A171A 56%,#120D0E 100%); border:1px solid rgba(44,28,30,.12); border-radius:32px; box-shadow:0 30px 72px rgba(31,17,19,.18); overflow:hidden; }
.portal-digital-hero-visual::before { position:absolute; z-index:0; inset:0; opacity:.08; background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px); background-size:58px 58px; mask-image:radial-gradient(circle at 64% 48%,#000,transparent 78%); content:""; pointer-events:none; }
.portal-digital-hero-visual::after { position:absolute; z-index:0; right:-16%; bottom:-33%; width:72%; aspect-ratio:1; border:1px solid rgba(255,91,97,.2); border-radius:50%; content:""; pointer-events:none; }
.portal-digital-hero-orbit { position:absolute; z-index:0; width:82%; aspect-ratio:1; border:1px solid rgba(255,103,108,.2); border-radius:50%; box-shadow:0 0 90px rgba(237,28,36,.1); }
.portal-digital-hero-visual img { position:relative; z-index:2; display:block; width:116%; max-width:none; height:auto; transform:translate(3%,2%); filter:drop-shadow(0 30px 34px rgba(0,0,0,.22)); }

.portal-digital-benefits { background:linear-gradient(180deg,#FFF 0%,#FCFAF9 100%); }
.portal-digital-heading { max-width:760px; margin:0 auto clamp(38px,4.6vw,56px); text-align:center; }
.portal-digital-heading .eyebrow { justify-content:center; }
.portal-digital-heading h2,
.portal-digital-split-heading h2,
.portal-digital-system-copy h2 { font-size:clamp(2rem,2.7vw,3rem); }
.portal-digital-heading > p { max-width:650px; margin:18px auto 0; color:var(--muted); font-size:1rem; line-height:1.65; }
.portal-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.portal-benefit-grid article { position:relative; display:flex; min-height:250px; flex-direction:column; padding:clamp(25px,3vw,32px); background:var(--white); border:1px solid #ECE6E4; border-radius:22px; box-shadow:0 12px 32px rgba(31,19,21,.045); transition:border-color .28s var(--ease),box-shadow .28s var(--ease); }
.portal-benefit-grid article:hover { border-color:rgba(237,28,36,.2); box-shadow:0 20px 44px rgba(31,19,21,.085); }
.portal-benefit-icon { display:grid; width:50px; height:50px; place-items:center; color:var(--red); background:var(--rose); border-radius:15px; }
.portal-benefit-icon .icon { width:22px; height:22px; }
.portal-benefit-grid article > small { position:absolute; top:31px; right:31px; color:#8F8587; font-size:.72rem; font-weight:600; letter-spacing:.08em; }
body.site-body .portal-benefit-grid h3 { margin:42px 0 11px; font-size:clamp(1.3rem,1.7vw,1.58rem); font-weight:600; letter-spacing:-.03em; line-height:1.1; }
.portal-benefit-grid p { margin:0; color:var(--muted); font-size:.87rem; line-height:1.62; }

.portal-digital-audiences { background:radial-gradient(circle at 92% 8%,rgba(237,28,36,.05),transparent 30%),var(--paper); }
.portal-digital-split-heading { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(290px,.58fr); align-items:end; gap:clamp(42px,8vw,108px); margin-bottom:clamp(38px,4.7vw,58px); }
.portal-digital-split-heading h2 { max-width:680px; }
.portal-digital-split-heading > p { max-width:460px; margin:0 0 4px; color:var(--muted); font-size:.94rem; line-height:1.65; }
.portal-audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.portal-audience-grid > article { display:flex; min-width:0; min-height:365px; flex-direction:column; padding:clamp(26px,3vw,34px); background:var(--white); border:1px solid #E9E3E1; border-radius:23px; box-shadow:0 14px 38px rgba(32,20,22,.05); }
.portal-audience-grid article > header { display:flex; align-items:center; justify-content:space-between; }
.portal-audience-grid article > header > span { display:grid; width:52px; height:52px; place-items:center; color:var(--red); background:var(--rose); border-radius:16px; }
.portal-audience-grid article > header > span .icon { width:22px; height:22px; }
.portal-audience-grid article > header > small { color:#8F8587; font-size:.72rem; font-weight:600; letter-spacing:.08em; }
body.site-body .portal-audience-grid h3 { margin:42px 0 12px; font-size:clamp(1.45rem,1.9vw,1.78rem); font-weight:600; letter-spacing:-.035em; line-height:1.08; }
.portal-audience-grid article > p { min-height:66px; margin:0; color:var(--muted); font-size:.84rem; line-height:1.62; }
.portal-audience-grid ul { display:grid; gap:11px; margin:24px 0 0; padding-top:22px; border-top:1px solid var(--line); list-style:none; }
.portal-audience-grid li { display:grid; grid-template-columns:17px minmax(0,1fr); align-items:start; gap:9px; color:var(--graphite); font-size:.84rem; line-height:1.45; }
.portal-audience-grid li .icon { width:16px; height:16px; margin-top:2px; color:var(--red); }

.portal-digital-system { isolation:isolate; color:var(--white); background:radial-gradient(circle at 84% 24%,rgba(237,28,36,.27),transparent 32%),radial-gradient(circle at 12% 92%,rgba(151,16,27,.2),transparent 32%),linear-gradient(120deg,#130D0F 0%,#241317 52%,#120B0D 100%); overflow:hidden; }
.portal-digital-system-grid-bg { position:absolute; z-index:-1; inset:0; opacity:.065; background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px); background-size:68px 68px; mask-image:radial-gradient(circle at 73% 48%,#000,transparent 74%); pointer-events:none; }
.portal-digital-system-layout { display:grid; grid-template-columns:minmax(310px,.78fr) minmax(540px,1.22fr); align-items:center; gap:clamp(52px,7vw,92px); }
.portal-digital-system-copy { position:relative; z-index:2; max-width:510px; }
.portal-digital-system-copy h2 { margin-bottom:20px; color:var(--white); }
.portal-digital-system-copy h2 > span { color:#FF777C; }
.portal-digital-system-copy > p { max-width:470px; margin:0; color:rgba(255,255,255,.66); font-size:.96rem; line-height:1.68; }
.portal-digital-system-copy ul { display:grid; gap:15px; margin:29px 0 0; list-style:none; }
.portal-digital-system-copy li { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:11px; color:rgba(255,255,255,.62); font-size:.84rem; line-height:1.5; }
.portal-digital-system-copy li .icon { width:17px; height:17px; margin-top:2px; color:#FF777C; }
.portal-digital-system-copy li strong { display:block; color:var(--white); font-weight:600; }
.portal-digital-system-visual { position:relative; min-width:0; min-height:clamp(470px,42vw,560px); isolation:isolate; }
.portal-system-glow { position:absolute; z-index:0; top:12%; left:10%; width:78%; height:72%; background:radial-gradient(ellipse,rgba(237,28,36,.24),transparent 68%); filter:blur(16px); }
.portal-system-panel { position:absolute; z-index:2; display:block; max-width:none; height:auto; pointer-events:none; user-select:none; }
.portal-system-panel--documents { top:-5%; left:-7%; width:57%; }
.portal-system-panel--boleto { z-index:3; top:-15%; right:-4%; width:48%; }
.portal-system-panel--request { z-index:4; right:7%; bottom:-14%; width:51%; }

/* Conteúdos / Blog */
.content-page-main { --blog-section-space:clamp(80px,7vw,104px); color:var(--ink); background:var(--white); }
.content-page-main > .blog-section { position:relative; padding-block:var(--blog-section-space); }
.content-page-main h1,
.content-page-main h2 { margin:0; font-family:var(--sans); font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.content-page-main h1 > span,
.content-page-main h2 > span { color:var(--red); font-weight:600; }

.blog-hero { isolation:isolate; overflow:hidden; background:radial-gradient(circle at 86% 16%,rgba(237,28,36,.1),transparent 31%),radial-gradient(circle at 8% 94%,rgba(240,218,216,.4),transparent 34%),linear-gradient(145deg,#FFF 0%,#FCF9F8 56%,#FFF 100%); }
.blog-hero::after { position:absolute; z-index:-1; right:-13%; bottom:-78%; width:min(57vw,800px); aspect-ratio:1; border:1px solid rgba(237,28,36,.11); border-radius:50%; content:""; pointer-events:none; }
.blog-grid-bg { position:absolute; z-index:-2; inset:0; opacity:.3; background-image:linear-gradient(rgba(34,29,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(34,29,30,.035) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent 3%,#000 58%,#000 100%); pointer-events:none; }
.blog-hero-layout { display:grid; grid-template-columns:minmax(0,.98fr) minmax(410px,.72fr); align-items:center; gap:clamp(50px,8vw,112px); }
.blog-hero-copy { max-width:660px; }
.blog-hero-copy .eyebrow { margin-bottom:17px; }
.blog-hero-copy h1 { max-width:650px; margin-bottom:22px; font-size:clamp(2.25rem,3.3vw,3.5rem); }
.blog-hero-copy > p { max-width:610px; margin:0; color:var(--muted); font-size:1.03rem; line-height:1.68; }
.blog-hero-topics { display:flex; gap:8px; margin-top:29px; flex-wrap:wrap; }
.blog-hero-topics span { display:inline-flex; min-height:34px; align-items:center; padding:7px 13px; color:var(--graphite); background:rgba(255,255,255,.72); border:1px solid rgba(42,32,34,.1); border-radius:999px; font-size:.72rem; font-weight:600; }

.blog-search-card { position:relative; display:flex; min-width:0; min-height:310px; flex-direction:column; justify-content:center; padding:clamp(28px,4vw,42px); background:rgba(255,255,255,.94); border:1px solid #E9E2E0; border-radius:26px; box-shadow:0 24px 58px rgba(39,21,24,.1); }
.blog-search-card > span { display:grid; width:52px; height:52px; margin-bottom:28px; place-items:center; color:var(--red); background:var(--rose); border-radius:16px; }
.blog-search-card > span .icon { width:22px; height:22px; }
.blog-search-card > label { margin-bottom:7px; font-size:1.35rem; font-weight:600; letter-spacing:-.025em; }
.blog-search-card > p { max-width:410px; margin:0 0 23px; color:var(--muted); font-size:.85rem; line-height:1.55; }
.blog-search-card > div { display:grid; grid-template-columns:minmax(0,1fr) auto; min-width:0; padding:5px; background:var(--paper); border:1px solid var(--line); border-radius:999px; transition:border-color .25s var(--ease),box-shadow .25s var(--ease); }
.blog-search-card > div:focus-within { border-color:rgba(237,28,36,.45); box-shadow:0 0 0 3px rgba(237,28,36,.09); }
.blog-search-card input { min-width:0; padding:10px 14px; background:transparent; border:0; outline:0; font-size:1rem; }
.blog-search-card button { display:inline-flex; min-height:46px; align-items:center; gap:9px; padding:9px 18px; color:var(--white); background:var(--red); border-radius:999px; cursor:pointer; font-size:.78rem; font-weight:600; }
.blog-search-card button .icon { width:16px; height:16px; }

.blog-featured { background:linear-gradient(180deg,#FFF 0%,#FBF8F7 100%); }
.blog-featured-card { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr); align-items:stretch; background:var(--white); border:1px solid #E9E3E1; border-radius:27px; box-shadow:0 18px 50px rgba(37,22,24,.065); overflow:hidden; }
.blog-featured-image { position:relative; display:block; min-height:430px; overflow:hidden; }
.blog-featured-image::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(20,14,15,.28)); content:""; pointer-events:none; }
.blog-featured-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.blog-featured-image:hover img { transform:scale(1.035); }
.blog-featured-image > span { position:absolute; z-index:2; top:22px; left:22px; padding:8px 13px; color:var(--white); background:var(--red); border-radius:999px; font-size:.67rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.blog-featured-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(35px,5vw,62px); }
.blog-featured-copy > span { color:var(--red); font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.blog-featured-copy h2 { margin:16px 0 17px; font-size:clamp(2rem,2.7vw,3rem); }
.blog-featured-copy h2 a { transition:color .25s var(--ease); }
.blog-featured-copy h2 a:hover { color:var(--red); }
.blog-featured-copy > p { max-width:530px; margin:0; color:var(--muted); font-size:.96rem; line-height:1.64; }
.blog-featured-copy > .btn { align-self:flex-start; margin-top:27px; }
.blog-article-meta { display:flex; align-items:center; gap:9px; color:#82797B; font-size:.72rem; line-height:1.4; }
.blog-featured-copy .blog-article-meta { margin-top:20px; }
.blog-article-meta > span { width:4px; height:4px; background:var(--red); border-radius:50%; }
.blog-article-meta small { color:inherit; font-size:inherit; }

.blog-library { background:radial-gradient(circle at 95% 7%,rgba(237,28,36,.045),transparent 28%),var(--paper); scroll-margin-top:calc(var(--header-height) + 16px); }
.blog-library-heading { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.58fr); align-items:end; gap:clamp(44px,8vw,108px); margin-bottom:clamp(38px,4.7vw,58px); }
.blog-library-heading h2 { max-width:690px; font-size:clamp(2rem,2.7vw,3rem); }
.blog-library-heading > p { max-width:460px; margin:0 0 3px; color:var(--muted); font-size:.94rem; line-height:1.65; }
.blog-library-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,310px); align-items:start; gap:clamp(30px,4vw,50px); }
.blog-listing { min-width:0; }
.blog-results-bar { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.blog-results-bar > div { display:flex; min-width:0; gap:5px; flex-wrap:wrap; color:var(--muted); font-size:.8rem; }
.blog-results-bar > div > span { min-width:0; overflow-wrap:anywhere; }
.blog-results-bar strong { color:var(--ink); font-weight:600; }
.blog-results-bar > a { display:inline-flex; align-items:center; gap:7px; color:var(--red-deep); font-size:.74rem; font-weight:600; }
.blog-results-bar > a .icon { width:14px; height:14px; }
.blog-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.blog-card { display:flex; min-width:0; min-height:500px; flex-direction:column; background:var(--white); border:1px solid #E8E2E0; border-radius:22px; box-shadow:0 10px 30px rgba(35,22,24,.04); overflow:hidden; transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease); }
.blog-card:hover { border-color:rgba(237,28,36,.18); box-shadow:0 18px 42px rgba(35,22,24,.085); transform:translateY(-4px); }
.js .blog-card[data-reveal] { transition:opacity .8s var(--ease),transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease); }
.js .blog-card[data-reveal].is-visible:hover { transform:translateY(-4px); }
.blog-card-image { position:relative; display:block; aspect-ratio:16 / 9; overflow:hidden; }
.blog-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s var(--ease); }
.blog-card:hover .blog-card-image img { transform:scale(1.04); }
.blog-card-image > span { position:absolute; bottom:15px; left:15px; padding:7px 11px; color:var(--white); background:rgba(24,17,18,.82); border:1px solid rgba(255,255,255,.18); border-radius:999px; backdrop-filter:blur(8px); font-size:.64rem; font-weight:600; }
.blog-card-body { display:flex; flex:1; min-width:0; flex-direction:column; padding:25px 24px 24px; }
body.site-body .blog-card h3 { margin:16px 0 12px; font-size:clamp(1.35rem,1.7vw,1.62rem); font-weight:600; letter-spacing:-.035em; line-height:1.1; }
.blog-card h3 a { transition:color .25s var(--ease); }
.blog-card h3 a:hover { color:var(--red); }
.blog-card-body > p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.62; }
.blog-card-link { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:auto; padding-top:23px; color:var(--ink); border-bottom:1px solid currentColor; font-size:.77rem; font-weight:600; }
.blog-card-link .icon { width:15px; height:15px; color:var(--red); }

.blog-sidebar { display:grid; align-content:start; gap:18px; }
.blog-category-card { padding:25px 22px; background:var(--white); border:1px solid #E8E1DF; border-radius:22px; box-shadow:0 12px 34px rgba(35,22,24,.045); }
.blog-category-card > span { display:block; color:var(--red); font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.blog-category-card > h2 { margin:7px 0 20px; font-size:1.55rem; font-weight:600; letter-spacing:-.035em; }
.blog-category-card > a { display:grid; min-height:73px; grid-template-columns:minmax(0,1fr) 34px; align-items:center; gap:12px; padding:12px 10px; border-top:1px solid var(--line); transition:color .25s var(--ease),background .25s var(--ease); }
.blog-category-card > a:hover { color:var(--red); }
.blog-category-card > a.is-active { margin-inline:-7px; padding-inline:17px; color:var(--white); background:var(--ink); border-top-color:transparent; border-radius:14px; }
.blog-category-card > a > span { min-width:0; }
.blog-category-card strong,
.blog-category-card small { display:block; }
.blog-category-card strong { margin-bottom:3px; font-size:.84rem; font-weight:600; }
.blog-category-card small { color:var(--muted); font-size:.66rem; font-weight:400; line-height:1.35; }
.blog-category-card a.is-active small { color:rgba(255,255,255,.58); }
.blog-category-card b { display:grid; width:30px; height:30px; place-items:center; color:var(--red); background:var(--rose); border-radius:50%; font-size:.7rem; font-weight:600; }
.blog-category-card a.is-active b { background:var(--white); }
.blog-sidebar-note { padding:24px 22px; color:var(--white); background:radial-gradient(circle at 92% 7%,rgba(237,28,36,.26),transparent 35%),linear-gradient(145deg,#241518,#100C0D); border-radius:21px; }
.blog-sidebar-note > span { display:grid; width:44px; height:44px; margin-bottom:22px; place-items:center; color:#FF7479; background:rgba(255,255,255,.08); border-radius:14px; }
.blog-sidebar-note > span .icon { width:19px; height:19px; }
body.site-body .blog-sidebar-note h3 { margin:0 0 8px; color:var(--white); font-size:1.25rem; font-weight:600; letter-spacing:-.025em; }
.blog-sidebar-note p { margin:0; color:rgba(255,255,255,.62); font-size:.78rem; line-height:1.5; }
.blog-sidebar-note > a { display:inline-flex; align-items:center; gap:8px; margin-top:19px; color:var(--white); border-bottom:1px solid rgba(255,255,255,.48); font-size:.73rem; font-weight:600; }
.blog-sidebar-note > a .icon { width:14px; height:14px; color:#FF7479; }

.blog-empty { display:grid; min-height:410px; place-items:center; align-content:center; padding:45px; text-align:center; background:var(--white); border:1px dashed #D8CFCD; border-radius:22px; }
.blog-empty > span { display:grid; width:54px; height:54px; margin-bottom:18px; place-items:center; color:var(--red); background:var(--rose); border-radius:17px; }
body.site-body .blog-empty h3 { margin:0 0 8px; font-size:1.5rem; font-weight:600; }
.blog-empty p { max-width:410px; margin:0; color:var(--muted); font-size:.88rem; }
.blog-empty .btn { margin-top:23px; }

.blog-pagination { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:32px; padding-top:25px; border-top:1px solid var(--line); }
.blog-pagination > div { display:flex; align-items:center; gap:7px; }
.blog-pagination > div > a,
.blog-pagination > div > span:not(.blog-pagination-ellipsis) { display:grid; width:42px; height:42px; place-items:center; background:var(--white); border:1px solid var(--line); border-radius:50%; font-size:.78rem; font-weight:600; }
.blog-pagination > div > a:hover { color:var(--red); border-color:rgba(237,28,36,.28); }
.blog-pagination > div > span.is-current { color:var(--white); background:var(--ink); border-color:var(--ink); }
.blog-pagination-ellipsis { color:var(--muted); }
.blog-pagination-arrow { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:var(--ink); font-size:.76rem; font-weight:600; }
.blog-pagination-arrow .icon { width:16px; height:16px; }
.blog-pagination-arrow.is-disabled { color:#B7AEAF; }

.blog-newsletter { isolation:isolate; color:var(--white); background:radial-gradient(circle at 10% 90%,rgba(237,28,36,.31),transparent 31%),radial-gradient(circle at 90% 8%,rgba(163,17,29,.3),transparent 28%),linear-gradient(120deg,#130B0D 0%,#321017 55%,#160B0E 100%); overflow:hidden; }
.blog-newsletter-grid-bg { position:absolute; z-index:-1; inset:0; opacity:.065; background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px); background-size:66px 66px; mask-image:radial-gradient(circle at 74% 48%,#000,transparent 75%); pointer-events:none; }
.blog-newsletter-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr); align-items:end; gap:clamp(50px,8vw,112px); }
.blog-newsletter-layout h2 { max-width:620px; margin-bottom:17px; color:var(--white); font-size:clamp(2rem,2.7vw,3rem); }
.blog-newsletter-layout h2 > span { color:#FF7A7F; }
.blog-newsletter-layout > div > p { max-width:520px; margin:0; color:rgba(255,255,255,.63); font-size:.92rem; line-height:1.62; }
.blog-newsletter-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:9px; }
.blog-newsletter-form label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.blog-newsletter-form input { min-width:0; padding:15px 17px; color:var(--white); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:999px; outline:0; font-size:1rem; }
.blog-newsletter-form input::placeholder { color:rgba(255,255,255,.47); }
.blog-newsletter-form input:focus { border-color:rgba(255,255,255,.65); box-shadow:0 0 0 3px rgba(255,255,255,.08); }
.blog-newsletter-form .btn { min-height:52px; }


/* JS reveal */
.js [data-reveal] { opacity: 0; transition: opacity .8s var(--ease), transform .9s var(--ease); transition-delay: var(--reveal-delay, 0ms); }
.js [data-reveal="up"] { transform: translateY(34px); }
.js [data-reveal="scale"] { transform: scale(.96) translateY(18px); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
.js .home-location-card[data-reveal] { transition: opacity .8s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease); }
.js .home-location-card[data-reveal].is-visible:hover { transform: translateY(-3px); }
.js .contact-office-card[data-reveal] { transition: opacity .8s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease); }
.js .contact-office-card[data-reveal].is-visible:hover { transform: translateY(-3px); }
.js .services-card[data-reveal] { transition:opacity .8s var(--ease),transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease); }
.js .services-card[data-reveal].is-visible:hover { transform:translateY(-4px); }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
    .js .solutions-thread path { animation: none; stroke-dasharray: none; stroke-dashoffset: 0; }
    .testimonial-play-button:hover, .testimonial-playlist-card:hover, .testimonial-modal-close:hover { transform: none; }
    .national-map img { transform: scale(1.08) !important; transition: none !important; will-change: auto !important; }
    .national-map::after, .national-section-grid { transform: none !important; transition: none !important; will-change: auto !important; }
    .home-proposal-building, .home-proposal-layer, .home-proposal-orbit, .home-proposal-line, .home-proposal-dot, .home-proposal-dot-matrix { transform: none !important; transition: none !important; will-change: auto !important; }
}
