
:root {
  color-scheme: dark;
  --bg: #0b0d12;
  --bg-elevated: #11141b;
  --surface: rgba(16, 19, 26, 0.9);
  --surface-2: rgba(22, 26, 35, 0.92);
  --surface-3: rgba(28, 34, 45, 0.9);
  --header-bg: rgba(12, 15, 21, 0.78);
  --overlay: rgba(4, 6, 10, 0.6);
  --text: #f5efe6;
  --text-soft: rgba(245, 239, 230, 0.82);
  --text-muted: rgba(245, 239, 230, 0.62);
  --line: rgba(232, 197, 96, 0.16);
  --line-strong: rgba(232, 197, 96, 0.26);
  --accent: #c45d18;
  --accent-2: #e07020;
  --accent-3: #9a4510;
  --gold: #d4a843;
  --gold-2: #e8c560;
  --success: #7ea06f;
  --shadow-sm: 0 12px 28px rgba(0, 0, 0, 0.18);
  --shadow-md: 0 24px 50px rgba(0, 0, 0, 0.22);
  --shadow-lg: 0 42px 96px rgba(0, 0, 0, 0.3);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-xl: 36px;
  --max: 1320px;
  --pad: clamp(18px, 3.6vw, 34px);
  --section-space: clamp(36px, 7vw, 84px);
  --title: "Bebas Neue", "Bebas Neue Pro", Impact, Haettenschweiler, sans-serif;
  --body: Inter, Roboto, system-ui, -apple-system, sans-serif;
  --muted: var(--text-soft);
  --muted2: var(--text-muted);
  --burnt: var(--accent);
  --burnt2: var(--accent-2);
  --burnt3: var(--accent-3);
  --r2: var(--radius-md);
  --shadow: var(--shadow-md);
  --smooth: var(--ease-soft);
  --spring: var(--ease-soft);
  --ease: 260ms cubic-bezier(.2,.8,.2,1);
  --ease-soft: 460ms cubic-bezier(.16,1,.3,1);
  --top-offset: clamp(12px, 1.8vw, 20px);
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: #efe6d9;
  --bg-elevated: #f6efe4;
  --surface: rgba(255, 251, 245, 0.92);
  --surface-2: rgba(247, 239, 226, 0.96);
  --surface-3: rgba(241, 230, 212, 0.94);
  --header-bg: rgba(247, 239, 226, 0.78);
  --overlay: rgba(32, 23, 16, 0.18);
  --text: #201710;
  --text-soft: rgba(32, 23, 16, 0.82);
  --text-muted: rgba(32, 23, 16, 0.62);
  --line: rgba(154, 69, 16, 0.14);
  --line-strong: rgba(154, 69, 16, 0.22);
  --shadow-sm: 0 10px 22px rgba(82, 53, 28, 0.08);
  --shadow-md: 0 22px 44px rgba(82, 53, 28, 0.11);
  --shadow-lg: 0 36px 86px rgba(82, 53, 28, 0.14);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.68;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
body::before {
  background:
    radial-gradient(1200px 720px at 0% -10%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 60%),
    radial-gradient(900px 640px at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 62%),
    radial-gradient(1100px 760px at 50% 110%, color-mix(in srgb, var(--gold) 8%, transparent), transparent 66%);
  opacity: 0.92;
}
body::after {
  background-image: linear-gradient(180deg, rgba(255,255,255,.015), transparent 22%), url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
  opacity: .48;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { background: none; border: 0; }
::selection { background: color-mix(in srgb, var(--gold) 35%, transparent); color: var(--text); }

.container {
  width: min(var(--max), 100% - clamp(28px, 6vw, 72px));
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
main.container { padding-bottom: var(--section-space); }
section[id] { scroll-margin-top: 116px; }

#fireCanvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .22;
  pointer-events: none;
  z-index: 0;
}
html[data-theme="light"] #fireCanvas { display: none; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  padding-top: var(--top-offset);
}
.topbar__in {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(12px, 1.6vw, 16px) clamp(14px, 2vw, 20px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--header-bg) 92%, transparent);
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
  box-shadow: var(--shadow-sm);
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.mark {
  width: clamp(50px, 8vw, 66px);
  height: clamp(50px, 8vw, 66px);
  border-radius: 18px;
  overflow: hidden;
  background: color-mix(in srgb, var(--surface-3) 78%, transparent);
  border: 1px solid var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  flex: 0 0 auto;
}
.mark img { width: 100%; height: 100%; object-fit: cover; }
.brandtxt {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.brandtxt b {
  font-family: var(--title);
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  color: var(--gold-2);
}
.brandtxt small {
  color: var(--text-muted);
  font-size: clamp(11px, 1.35vw, 13px);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nav {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nav-link,
.backlink,
.link,
.theme-toggle,
.menu-toggle {
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  color: var(--text-soft);
  transition: background var(--ease), border-color var(--ease), color var(--ease), transform var(--ease), box-shadow var(--ease);
}
.nav-link {
  padding: 11px 16px;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}
.nav-link.active,
.nav-link[aria-current="page"] {
  color: var(--text);
  border-color: var(--line-strong);
  background: linear-gradient(180deg, color-mix(in srgb, var(--gold) 10%, transparent), color-mix(in srgb, var(--surface) 92%, transparent));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.nav-mobile-extra { display: none; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 46px;
  min-height: 46px;
  padding: 0 14px;
  cursor: pointer;
}
.theme-toggle__icon {
  width: 18px;
  height: 18px;
  position: relative;
  display: inline-block;
}
.theme-toggle__icon::before,
.theme-toggle__icon::after {
  content: "";
  position: absolute;
  inset: 0;
  transition: opacity var(--ease), transform var(--ease);
}
html[data-theme="dark"] .theme-toggle__icon::before {
  inset: 1px;
  border-radius: 50%;
  background: linear-gradient(180deg, #f7d37e, #e1ae3a);
  box-shadow: 0 0 0 4px rgba(212,168,67,.14);
}
html[data-theme="dark"] .theme-toggle__icon::after {
  width: 10px;
  height: 10px;
  right: -1px;
  left: auto;
  top: 1px;
  border-radius: 50%;
  background: var(--surface);
}
html[data-theme="light"] .theme-toggle__icon::before {
  inset: 2px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  background: transparent;
}
html[data-theme="light"] .theme-toggle__icon::after {
  inset: -4px;
  border-radius: 50%;
  border: 1px dashed color-mix(in srgb, var(--gold) 58%, transparent);
}
.theme-toggle__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-soft);
}
.theme-toggle--wide { width: 100%; justify-content: flex-start; padding: 14px 16px; }
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  position: relative;
  cursor: pointer;
}
.menu-toggle span {
  position: absolute;
  left: 12px;
  right: 12px;
  height: 2px;
  border-radius: 999px;
  background: var(--text);
  transition: transform var(--ease), opacity var(--ease), top var(--ease);
}
.menu-toggle span:nth-child(1) { top: 16px; }
.menu-toggle span:nth-child(2) { top: 22px; }
.menu-toggle span:nth-child(3) { top: 28px; }
.menu-toggle.active span:nth-child(1) { top: 22px; transform: rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { top: 22px; transform: rotate(-45deg); }
.menu-overlay {
  position: fixed;
  inset: 0;
  background: var(--overlay);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--ease), visibility var(--ease);
  z-index: 70;
}
.menu-overlay.active { opacity: 1; visibility: visible; }
body.body-locked { overscroll-behavior: none; }

.hero { padding: clamp(20px, 3vw, 34px) 0 var(--section-space); }
.gridHero {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(310px, .78fr);
  gap: clamp(22px, 3vw, 38px);
  align-items: start;
}
.panel,
.card,
.cardMini,
.port-card,
.toolsPanel,
.stat,
.modal {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 90%, transparent), color-mix(in srgb, var(--surface) 94%, transparent));
  box-shadow: var(--shadow-md);
}
.panel,
.card,
.cardMini,
.port-card,
.toolsPanel,
.stat { border-radius: var(--radius-md); }
.panel {
  padding: clamp(24px, 4vw, 46px);
  position: relative;
  overflow: hidden;
}
.panel::before,
.card::before,
.cardMini::before,
.port-card::before,
.toolsPanel::before,
.stat::before,
.modal::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 18%);
  opacity: .65;
}
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-soft);
}
.kicker b { color: var(--accent-2); }
.h1 {
  margin: 18px 0 18px;
  font-family: var(--title);
  font-size: clamp(40px, 7vw, 78px);
  line-height: .96;
  letter-spacing: .03em;
  font-weight: 400;
  text-wrap: balance;
  max-width: 14ch;
}
.h1 .h-line { display: block; }
.h1 .g { color: var(--gold-2); }
.lead-text {
  display: grid;
  gap: 14px;
  max-width: 66ch;
  color: var(--text-soft);
  font-size: clamp(15px, 1.55vw, 18px);
}
.bullets {
  margin: 22px 0 0;
  padding-left: 20px;
  display: grid;
  gap: 12px;
  color: var(--text-soft);
  font-size: clamp(15px, 1.45vw, 17px);
}
.bullets strong { color: var(--gold-2); }
.divider {
  height: 1px;
  margin: 26px 0 22px;
  background: linear-gradient(90deg, transparent, var(--line), transparent);
}
.ctaRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease), background var(--ease), color var(--ease);
}
.btnP {
  color: #fff9f1;
  border-color: color-mix(in srgb, var(--accent) 40%, transparent);
  background: linear-gradient(180deg, var(--accent-2), var(--accent));
  box-shadow: 0 18px 34px rgba(154,69,16,.24);
}
.btnG {
  color: var(--text);
  border-color: var(--line);
  background: color-mix(in srgb, var(--surface-3) 76%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.btnS { padding-inline: 18px; }
.side { display: grid; gap: 14px; }
.stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.stat { padding: 18px; position: relative; overflow: hidden; }
.stat b {
  display: block;
  margin-bottom: 8px;
  color: var(--gold-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.stat span { display: block; color: var(--text-soft); font-size: 15px; }
.founder-stat {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
}
.founder-img {
  width: clamp(74px, 10vw, 120px);
  height: clamp(74px, 10vw, 120px);
  border-radius: 22px;
  object-fit: cover;
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow-sm);
  flex: 0 0 auto;
}
.founder-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.founder-info b {
  color: var(--gold-2);
  font-size: 11px;
  letter-spacing: .16em;
}
.founder-info span {
  color: var(--text);
  font-family: var(--title);
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1;
}
.founder-info small { color: var(--text-muted); font-size: 15px; }
.cardMini { padding: clamp(20px, 2.4vw, 28px); }
.cardMini h2,
.secHead h2,
.sumTitle b,
.cTitle,
.title-line,
.modalTitle,
.footBrand {
  font-family: var(--title);
  font-weight: 400;
}
.cardMini h2 {
  margin: 0 0 10px;
  font-size: clamp(24px, 3vw, 30px);
  letter-spacing: .08em;
  color: var(--gold-2);
}
.cardMini p { color: var(--text-soft); font-size: 16px; }
.sec { padding: 0 0 var(--section-space); }
.secHead { margin-bottom: 22px; }
.secHead h2 {
  margin: 0;
  font-size: clamp(34px, 5vw, 48px);
  letter-spacing: .06em;
  line-height: .98;
  color: var(--text);
}
.secHead small {
  display: block;
  margin-top: 10px;
  color: var(--text-muted);
  font-size: 16px;
}
.toolsPanel {
  position: relative;
  padding: clamp(16px, 2.4vw, 22px);
  margin-bottom: 18px;
}
.tools {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.inputWrap { flex: 1 1 320px; }
.input {
  width: 100%;
  min-height: 52px;
  padding: 14px 18px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 88%, transparent);
  color: var(--text);
  outline: none;
  font-size: 16px;
}
.input::placeholder { color: var(--text-muted); }
.tagRow { display: flex; flex-wrap: wrap; gap: 8px; }
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.tag[aria-pressed="true"] {
  color: var(--text);
  border-color: color-mix(in srgb, var(--accent) 40%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--surface) 92%, transparent));
}
.count { margin-top: 14px; color: var(--text-muted); font-size: 14px; }

details.acc {
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: var(--shadow-sm);
  overflow: clip;
}
details.acc + details.acc { margin-top: 16px; }
details.acc[open] { border-color: var(--line-strong); }
summary.sum {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(18px, 2.4vw, 24px);
  cursor: pointer;
}
summary.sum::-webkit-details-marker { display: none; }
.sumTitle { display: grid; gap: 8px; }
.sumTitle b {
  font-size: clamp(24px, 3.2vw, 30px);
  letter-spacing: .06em;
  color: var(--gold-2);
}
.sumTitle span { color: var(--text-soft); font-size: 16px; }
.chev {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 80%, transparent);
  color: var(--text-soft);
  font-size: 13px;
  flex: 0 0 auto;
  transition: transform var(--ease), background var(--ease), border-color var(--ease);
}
details[open] .chev {
  transform: rotate(180deg);
  border-color: var(--line-strong);
  color: var(--text);
}
.body { padding: 0 clamp(18px, 2.4vw, 24px) clamp(22px, 2.8vw, 28px); }
.cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 22px);
}
#portfolioGrid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.card {
  display: flex;
  flex-direction: column;
  overflow: clip;
}
.cHeader,
.cPills,
.cContent,
.cFooter,
.port-content,
.port-footer { position: relative; z-index: 1; }
.cHeader { padding: 20px 20px 0; }
.cNum {
  margin-bottom: 10px;
  color: var(--accent-2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cTitle {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1;
  letter-spacing: .04em;
  color: var(--text);
}
.cPills {
  padding: 14px 20px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pill {
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 78%, transparent);
  font-size: 11px;
  color: var(--text-soft);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.cContent { padding: 14px 20px 20px; }
.cBriefDesc {
  margin: 0;
  color: var(--text-soft);
  font-size: 15px;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cFooter {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 10px;
  padding: 16px 20px 20px;
  margin-top: auto;
}
.port-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: clip;
  position: relative;
}
.port-img-wrapper {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.port-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--ease-soft);
}
.port-glass {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18));
}
html[data-theme="light"] .port-glass { background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(64,40,18,.10)); }
.port-content {
  display: grid;
  gap: 12px;
  padding: 20px;
}
.port-title {
  margin: 0;
  font-family: var(--title);
  font-size: clamp(26px, 2.2vw, 32px);
  line-height: .95;
  letter-spacing: .05em;
  color: var(--text);
}
.port-desc,
.port-delivery span {
  margin: 0;
  color: var(--text-soft);
  font-size: 15px;
  line-height: 1.7;
}
.port-delivery {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 76%, transparent);
}
.port-delivery strong {
  display: block;
  margin-bottom: 6px;
  color: var(--accent-2);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.port-footer {
  padding: 0 20px 20px;
  margin-top: auto;
}
.badge-lock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  min-height: 50px;
}
.cta-panel {
  text-align: center;
  padding-inline: clamp(22px, 6vw, 72px);
}
.cta-title-block {
  display: grid;
  gap: 4px;
  margin-bottom: 18px;
}
.title-line {
  font-size: clamp(36px, 6vw, 64px);
  line-height: .95;
  letter-spacing: .04em;
  color: var(--text);
}
.lead { color: var(--text-soft); max-width: 52ch; margin-inline: auto; }
.hint {
  color: var(--text-soft);
  font-size: 16px;
  line-height: 1.85;
  margin-bottom: 22px;
}
.hint b,
strong { color: var(--gold-2); }
footer { padding: 26px 0 0; }
.foot {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 20px;
  align-items: center;
}
.footBrand {
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: .12em;
  color: var(--gold-2);
}
.footlinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.link,
.backlink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.backlink { white-space: nowrap; }
.modalOverlay {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(5,8,12,.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--ease), visibility var(--ease);
  z-index: 120;
}
.modalOverlay.open { opacity: 1; visibility: visible; pointer-events: auto; }
.modal {
  width: min(760px, 100%);
  max-height: min(88dvh, 860px);
  overflow: auto;
  border-radius: 26px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 96%, transparent), color-mix(in srgb, var(--surface) 98%, transparent));
  transform: translateY(10px) scale(.985);
  transition: transform var(--ease-soft);
}
.modalOverlay.open .modal { transform: translateY(0) scale(1); }
.modalHead,
.modalBody { position: relative; z-index: 1; }
.modalHead { padding: clamp(22px, 4vw, 30px); }
.modalClose {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 80%, transparent);
  color: var(--text);
  font-size: 24px;
  cursor: pointer;
}
.modalKicker {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent) 36%, transparent);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent-2);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.modalTitle {
  margin: 0 0 8px;
  font-size: clamp(34px, 4.4vw, 52px);
  line-height: .94;
  letter-spacing: .04em;
  color: var(--text);
}
.modalSub,
.modalSec p,
.modalSec ul { color: var(--text-soft); }
.modalSub { margin: 0 0 18px; font-size: 16px; }
.modalPriceBox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: end;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 80%, transparent);
}
.modalPriceVal {
  font-family: var(--title);
  font-size: clamp(34px, 5vw, 56px);
  line-height: .9;
  letter-spacing: .04em;
  color: var(--gold-2);
}
.modalPriceMeta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--text-muted);
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
}
.modalBody { padding: 0 clamp(22px, 4vw, 30px) clamp(24px, 4vw, 30px); }
.modalSec + .modalSec {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.modalSec h4 {
  margin: 0 0 10px;
  font-family: var(--title);
  font-size: 24px;
  line-height: 1;
  letter-spacing: .08em;
  color: var(--gold-2);
}
.modalSec ul { margin: 0; padding-left: 20px; }
.modalFeats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.modalFeat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 78%, transparent);
  color: var(--text-soft);
  font-size: 13px;
  font-weight: 700;
}
.modalFeat::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
}
.modalCta {
  margin-top: 26px;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: 12px;
}
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .58s ease, transform .58s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.port-card.revealed {
  border-color: var(--line-strong);
  box-shadow: var(--shadow-lg);
}
.port-card.revealed .port-img,
.port-card:hover .port-img { transform: scale(1.03); }

:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--gold) 80%, white 10%);
  outline-offset: 3px;
}
@media (hover: hover) {
  .btn:hover,
  .nav-link:hover,
  .link:hover,
  .backlink:hover,
  .theme-toggle:hover,
  .menu-toggle:hover,
  .tag:hover {
    transform: translateY(-1px);
    border-color: var(--line-strong);
  }
  .btnP:hover { box-shadow: 0 22px 40px rgba(154,69,16,.28); }
  .btnG:hover,
  .theme-toggle:hover,
  .nav-link:hover,
  .link:hover,
  .backlink:hover,
  .tag:hover { background: color-mix(in srgb, var(--surface-3) 88%, transparent); }
}

@media (max-width: 1120px) {
  #portfolioGrid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gridHero { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .topbar__in { padding-right: 12px; }
  .menu-toggle { display: inline-flex; }
  .header-actions { gap: 8px; }
  .nav {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;
    display: grid;
    gap: 12px;
    padding: 18px;
    border-radius: 26px;
    border: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface-2) 96%, transparent);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity var(--ease), transform var(--ease), visibility var(--ease);
    max-height: min(74dvh, 36rem);
    overflow: auto;
  }
  .nav.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .nav-link {
    min-height: 52px;
    justify-content: flex-start;
    padding-inline: 18px;
    font-size: 14px;
  }
  .nav-mobile-extra { display: block; padding-top: 6px; border-top: 1px solid var(--line); }
  .header-actions > .theme-toggle:not(.theme-toggle--wide) { display: none; }
  .stats,
  .cards,
  #portfolioGrid,
  .modalCta,
  .foot { grid-template-columns: 1fr; }
  .founder-stat { flex-direction: row; }
  .ctaRow { flex-direction: column; align-items: stretch; }
  .ctaRow .btn { width: 100%; }
}
@media (max-width: 640px) {
  .container { width: min(var(--max), 100% - 28px); }
  .topbar { padding-top: 10px; }
  .topbar__in { gap: 12px; align-items: center; }
  .brandtxt small { display: none; }
  .panel,
  .cardMini,
  .toolsPanel { padding-inline: 18px; }
  .panel { padding-block: 20px; }
  .h1 { font-size: clamp(34px, 10vw, 50px); max-width: none; }
  .h1 .h-line { display: inline; }
  .stats { grid-template-columns: 1fr; }
  .founder-stat { flex-direction: column; text-align: center; }
  .sum { align-items: start; }
  .sumTitle b { font-size: clamp(22px, 7vw, 28px); }
  .port-content,
  .cHeader,
  .cPills,
  .cContent,
  .cFooter,
  .port-footer { padding-left: 16px; padding-right: 16px; }
  .cFooter,
  .modalCta { grid-template-columns: 1fr; }
  .title-line { font-size: clamp(28px, 10vw, 42px); }
  .backlink,
  .link,
  .theme-toggle { min-height: 44px; }
}
@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;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ==========================================================================
   CAREKA DIGITAL — SENIOR PRODUCTION REFINEMENT
   Refinamento final aplicado sobre o design system existente.
   Mantém paleta, tipografia, stack e estrutura sem depender de framework.
   ========================================================================== */

:root {
  --hero-title-size: clamp(42px, 5.75vw, 68px);
  --hero-text-measure: 62ch;
  --card-inner-pad: clamp(18px, 2.2vw, 24px);
  --ambient-line: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 46%, transparent), transparent);
}

html {
  scroll-padding-top: 118px;
}

body {
  text-rendering: geometricPrecision;
}

body.menu-open .modalOverlay,
body.menu-open .floating-actions,
body.menu-open .backTop {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.topbar__in {
  isolation: isolate;
}

.topbar__in::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: calc(var(--radius-lg) - 1px);
  pointer-events: none;
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--gold) 10%, transparent), transparent 38%),
    linear-gradient(270deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 44%);
  opacity: .72;
  z-index: -1;
}

.mark {
  width: clamp(46px, 5vw, 58px);
  height: clamp(46px, 5vw, 58px);
  border-radius: 16px;
}

.brandtxt b {
  letter-spacing: .16em;
}

.nav-link,
.backlink,
.link {
  text-align: center;
}

.hero {
  min-height: calc(100svh - 96px);
  display: grid;
  align-items: center;
  padding-top: clamp(28px, 4.2vw, 64px);
  padding-bottom: clamp(54px, 7vw, 96px);
}

.gridHero {
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
  align-items: stretch;
}

.hero .panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(620px, 72svh, 820px);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(760px 420px at 8% 0%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 58%),
    radial-gradient(620px 360px at 96% 16%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 62%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 92%, transparent), color-mix(in srgb, var(--surface) 98%, transparent));
}

.hero .panel::after {
  content: "";
  position: absolute;
  left: clamp(24px, 4vw, 48px);
  right: clamp(24px, 4vw, 48px);
  bottom: 0;
  height: 1px;
  background: var(--ambient-line);
  opacity: .85;
}

.h1 {
  font-size: var(--hero-title-size);
  max-width: 15.4ch;
  margin: clamp(20px, 2.5vw, 28px) 0 clamp(18px, 2vw, 24px);
  letter-spacing: .035em;
}

.lead-text {
  max-width: var(--hero-text-measure);
}

.bullets {
  max-width: 68ch;
}

.bullets li::marker {
  color: var(--gold-2);
}

.side {
  align-content: stretch;
}

.stats {
  height: 100%;
}

.stat,
.cardMini,
.toolsPanel,
details.acc,
.card,
.port-card {
  isolation: isolate;
}

.stat,
.cardMini {
  border-radius: var(--radius-lg);
}

.stat {
  min-height: 138px;
}

.founder-stat {
  min-height: 168px;
}

.founder-img {
  border-radius: 24px;
  filter: saturate(.96) contrast(1.02);
}

.sec {
  position: relative;
}

.sec::before {
  content: "";
  display: block;
  height: 1px;
  margin-bottom: clamp(28px, 4vw, 44px);
  background: var(--ambient-line);
  opacity: .5;
}

.secHead {
  display: grid;
  gap: 8px;
  max-width: 920px;
}

.secHead h2 {
  letter-spacing: .075em;
}

.toolsPanel {
  border-radius: var(--radius-lg);
}

details.acc {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

summary.sum {
  min-height: 112px;
}

.body {
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-3) 20%, transparent));
}

.cards {
  align-items: stretch;
}

.card {
  min-height: 100%;
  border-radius: var(--radius-lg);
  transform: translateZ(0);
}

.card::after,
.port-card::after {
  content: "";
  position: absolute;
  inset: auto 18px 0 18px;
  height: 1px;
  background: var(--ambient-line);
  opacity: 0;
  transition: opacity var(--ease);
}

.cHeader {
  padding: var(--card-inner-pad) var(--card-inner-pad) 0;
}

.cPills {
  padding: 16px var(--card-inner-pad) 0;
}

.cContent {
  padding: 16px var(--card-inner-pad) var(--card-inner-pad);
}

.cFooter {
  padding: 0 var(--card-inner-pad) var(--card-inner-pad);
}

.cFooter .btn,
.port-footer .btn {
  width: 100%;
  text-align: center;
}

.cBriefDesc,
.port-desc {
  color: var(--text-soft);
}

#portfolioGrid {
  gap: clamp(18px, 2.4vw, 28px);
}

.port-card {
  border-radius: var(--radius-lg);
  min-height: 100%;
}

.port-img-wrapper {
  aspect-ratio: 16 / 11;
  background:
    radial-gradient(480px 240px at 50% 0%, color-mix(in srgb, var(--gold) 10%, transparent), transparent 62%),
    color-mix(in srgb, var(--surface-3) 86%, transparent);
}

.port-img {
  filter: saturate(.94) contrast(1.04);
}

.port-content {
  padding: var(--card-inner-pad);
}

.port-title {
  font-size: clamp(28px, 2.6vw, 38px);
}

.port-delivery {
  margin-top: 2px;
}

.port-footer {
  padding: 0 var(--card-inner-pad) var(--card-inner-pad);
}

.port-open {
  min-height: 52px;
}

.cta-panel {
  border-radius: var(--radius-xl);
  background:
    radial-gradient(780px 380px at 50% -10%, color-mix(in srgb, var(--gold) 13%, transparent), transparent 62%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 94%, transparent), color-mix(in srgb, var(--surface) 98%, transparent));
}

.title-line {
  text-wrap: balance;
}

.foot {
  border-top: 1px solid var(--line);
  padding-top: 22px;
}

.modal {
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--gold) 48%, transparent) transparent;
}

html[data-theme="light"] .btnP {
  color: #fffaf3;
}

html[data-theme="light"] .btnG,
html[data-theme="light"] .tag,
html[data-theme="light"] .link,
html[data-theme="light"] .backlink,
html[data-theme="light"] .nav-link,
html[data-theme="light"] .theme-toggle {
  color: var(--text);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
}

html[data-theme="light"] .port-delivery,
html[data-theme="light"] .deliver,
html[data-theme="light"] .modalPriceBox,
html[data-theme="light"] .modalFeat,
html[data-theme="light"] .pill {
  background: color-mix(in srgb, var(--surface-3) 82%, white 10%);
}

@media (hover: hover) {
  .card:hover,
  .port-card:hover,
  .stat:hover,
  .cardMini:hover,
  details.acc:hover {
    border-color: var(--line-strong);
  }

  .card:hover::after,
  .port-card:hover::after {
    opacity: .78;
  }
}

@media (min-width: 1380px) {
  #portfolioGrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  .hero {
    min-height: auto;
    align-items: start;
  }

  .hero .panel {
    min-height: auto;
  }

  .gridHero {
    align-items: start;
  }
}

@media (max-width: 860px) {
  .topbar {
    position: sticky;
  }

  .nav {
    position: fixed;
    top: calc(var(--top-offset) + 78px);
    left: 14px;
    right: 14px;
    z-index: 90;
    max-height: calc(100dvh - 108px);
  }

  body.body-locked .topbar {
    z-index: 130;
  }

  body.body-locked {
    touch-action: none;
  }

  .hero {
    padding-top: clamp(22px, 6vw, 38px);
  }

  .h1 {
    max-width: 13.8ch;
  }

  summary.sum {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .container {
    width: min(var(--max), 100% - 24px);
  }

  .topbar__in {
    border-radius: 22px;
  }

  .brand {
    gap: 10px;
  }

  .mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  .brandtxt b {
    font-size: 17px;
    letter-spacing: .11em;
  }

  .hero .panel {
    border-radius: 24px;
  }

  .h1 {
    font-size: clamp(38px, 13.2vw, 56px);
    max-width: 11ch;
    line-height: .92;
  }

  .h1 .h-line {
    display: block;
  }

  .lead-text,
  .bullets {
    font-size: 15px;
  }

  .kicker {
    max-width: 100%;
    white-space: normal;
  }

  .btn {
    min-height: 52px;
    padding-inline: 16px;
  }

  .stats {
    gap: 12px;
  }

  .founder-stat {
    align-items: center;
  }

  .sec::before {
    margin-bottom: 24px;
  }

  .secHead h2 {
    font-size: clamp(34px, 12vw, 48px);
  }

  .port-title {
    font-size: clamp(28px, 9vw, 36px);
  }

  .modalOverlay {
    padding: 12px;
    align-items: end;
  }

  .modal {
    width: 100%;
    max-height: 88dvh;
    border-radius: 24px 24px 18px 18px;
  }
}

/* CAREKA DIGITAL — REFINAMENTO SÊNIOR DOS TÍTULOS DE PROJETO
   Mantém a tipografia oficial da marca, reduz o peso visual e aplica laranja queimado com presença premium. */
:root {
  --project-title-fire: color-mix(in srgb, var(--accent) 84%, var(--gold) 16%);
  --project-title-fire-soft: color-mix(in srgb, var(--accent) 76%, var(--gold) 24%);
}

#portfolio .port-card .port-content .port-title,
.port-card .port-title,
.port-title {
  color: var(--project-title-fire, #c45d18) !important;
  font-family: var(--title, "Bebas Neue", Impact, Haettenschweiler, sans-serif) !important;
  font-weight: 400 !important;
  font-size: clamp(24px, 1.72vw, 31px) !important;
  line-height: .96 !important;
  letter-spacing: .058em !important;
  word-spacing: .025em !important;
  text-transform: uppercase !important;
  text-wrap: balance !important;
  text-shadow: 0 10px 34px color-mix(in srgb, var(--accent) 10%, transparent) !important;
  -webkit-text-stroke: 0 transparent !important;
}

#portfolio .port-card--wide .port-title,
.port-card.is-wide .port-title {
  font-size: clamp(28px, 2.55vw, 42px) !important;
  letter-spacing: .054em !important;
}

html[data-theme="light"] #portfolio .port-card .port-content .port-title,
html[data-theme="light"] .port-card .port-title,
html[data-theme="light"] .port-title {
  color: var(--accent-3, #9a4510) !important;
  text-shadow: none !important;
}

@media (max-width: 640px) {
  #portfolio .port-card .port-content .port-title,
  .port-card .port-title,
  .port-title {
    font-size: clamp(26px, 8.6vw, 34px) !important;
    letter-spacing: .052em !important;
  }
}

/* =========================================================
   Ajuste 2026-04 — Portfólio em carrossel + Serviços com imagem
   ========================================================= */
.portfolioCarousel {
  position: relative;
  display: grid;
  gap: clamp(16px, 2vw, 24px);
}

.portfolioCarousel__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px clamp(14px, 2vw, 18px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 88%, transparent), color-mix(in srgb, var(--surface) 92%, transparent));
  box-shadow: var(--shadow-soft);
}

.portfolioCarousel__label,
.portfolioCarousel__status {
  color: var(--text-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.portfolioCarousel__controls {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.carouselBtn {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background:
    radial-gradient(120px 80px at 50% 0%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 62%),
    color-mix(in srgb, var(--surface-3) 90%, transparent);
  color: var(--text);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: transform var(--ease), opacity var(--ease), border-color var(--ease), background var(--ease);
}

.carouselBtn:hover:not(:disabled) {
  transform: translateY(-2px);
  border-color: var(--gold);
}

.carouselBtn:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.portfolioViewport {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 2px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px 2px 18px;
}

.portfolioViewport::-webkit-scrollbar { display: none; }

#portfolioGrid.portfolioTrack {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(320px, calc((100% - clamp(36px, 4.8vw, 56px)) / 3));
  grid-template-columns: none !important;
  gap: clamp(18px, 2.4vw, 28px);
  align-items: stretch;
}

.port-slide {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.svc-media {
  position: relative;
  margin: clamp(12px, 1.6vw, 16px) clamp(12px, 1.6vw, 16px) 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: calc(var(--radius-lg) - 10px);
  border: 1px solid var(--line);
  background:
    radial-gradient(380px 200px at 50% 0%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 62%),
    color-mix(in srgb, var(--surface-3) 86%, transparent);
}

.svc-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.20));
}

.svc-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.95) contrast(1.04);
  transform: scale(1.001);
  transition: transform var(--ease-soft), filter var(--ease-soft);
}

.card.svc:hover .svc-media img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.06);
}

.modalServiceMedia {
  margin: 16px 0 18px;
  aspect-ratio: 16 / 8.5;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface-3) 86%, transparent);
}

.modalServiceMedia img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

html[data-theme="light"] .svc-media::after,
html[data-theme="light"] .port-glass {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(64,40,18,.12));
}

@media (max-width: 1120px) {
  #portfolioGrid.portfolioTrack {
    grid-auto-columns: minmax(300px, calc((100% - clamp(18px, 3vw, 28px)) / 2));
  }
}

@media (max-width: 720px) {
  .portfolioCarousel__top {
    align-items: flex-start;
    flex-direction: column;
  }

  .portfolioCarousel__controls {
    width: 100%;
    justify-content: space-between;
  }

  #portfolioGrid.portfolioTrack {
    grid-auto-columns: minmax(82vw, 1fr);
  }

  .portfolioViewport {
    margin-inline: calc(var(--container-x, 18px) * -0.2);
    padding-bottom: 14px;
  }

  .modalServiceMedia { aspect-ratio: 16 / 10; }
}


/* =========================================================
   Hotfix 2026-04 — Portfólio sempre visível
   Motivo: o grid do portfólio agora possui HTML pré-renderizado;
   não depende mais exclusivamente do JavaScript para aparecer.
   ========================================================= */
#portfolio .portfolioCarousel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

#portfolio .portfolioTrack,
#portfolio .port-card,
#portfolio .port-slide {
  visibility: visible !important;
}

#portfolio .portfolioTrack {
  min-height: 1px;
}

#portfolio .port-card {
  opacity: 1;
  transform: none;
}


/* =========================================================
   Refinamento 2026-04 — Portfólio premium em 2 projetos por coluna
   ========================================================= */
#portfolio {
  position: relative;
  overflow: clip;
}

#portfolio::before {
  content: "";
  position: absolute;
  inset: clamp(42px, 7vw, 96px) auto auto 50%;
  width: min(980px, 84vw);
  height: min(420px, 46vw);
  transform: translateX(-50%);
  pointer-events: none;
  background:
    radial-gradient(closest-side at 50% 18%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 72%),
    radial-gradient(closest-side at 18% 64%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 76%);
  filter: blur(18px);
  opacity: .72;
  z-index: 0;
}

#portfolio .secHead,
#portfolio .portfolioCarousel {
  position: relative;
  z-index: 1;
}

#portfolio .portfolioCarousel {
  gap: clamp(18px, 2.4vw, 30px);
}

#portfolio .portfolioCarousel__top {
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  border-color: color-mix(in srgb, var(--line-strong) 72%, transparent);
  box-shadow:
    0 18px 60px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.055);
}

#portfolio .portfolioCarousel__label::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 10px;
  border-radius: 999px;
  background: var(--gold);
  box-shadow: 0 0 22px color-mix(in srgb, var(--gold) 54%, transparent);
  vertical-align: 1px;
}

#portfolio .portfolioViewport {
  padding: 4px 4px 24px;
  mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
}

#portfolioGrid.portfolioTrack {
  grid-auto-flow: column !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-columns: minmax(360px, calc((100% - clamp(20px, 2.6vw, 32px)) / 2)) !important;
  gap: clamp(20px, 2.6vw, 32px) !important;
  align-items: stretch;
}

#portfolio .port-card {
  min-height: clamp(520px, 42vw, 620px);
  border-radius: clamp(24px, 2.4vw, 34px);
  background:
    radial-gradient(540px 220px at 50% -12%, color-mix(in srgb, var(--gold) 13%, transparent), transparent 64%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 92%, transparent), color-mix(in srgb, var(--surface) 96%, transparent));
  box-shadow:
    0 20px 58px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.052);
  transform: translate3d(0,0,0);
  transition:
    transform .72s cubic-bezier(.16,1,.3,1),
    border-color .72s cubic-bezier(.16,1,.3,1),
    box-shadow .72s cubic-bezier(.16,1,.3,1),
    background .72s cubic-bezier(.16,1,.3,1),
    filter .72s cubic-bezier(.16,1,.3,1);
}

#portfolio .port-card::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), transparent 24%),
    radial-gradient(360px 120px at 50% 0%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 70%);
  opacity: .72;
  transition: opacity .72s cubic-bezier(.16,1,.3,1);
}

#portfolio .port-card::after {
  inset: auto 24px 0 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 68%, transparent), transparent);
  opacity: .18;
}

#portfolio .port-img-wrapper {
  aspect-ratio: 16 / 8.7;
  border-bottom-color: color-mix(in srgb, var(--line-strong) 64%, transparent);
}

#portfolio .port-img {
  filter: saturate(.9) contrast(1.04) brightness(.92);
  transform: scale(1.01);
  transition:
    transform 1.08s cubic-bezier(.16,1,.3,1),
    filter 1.08s cubic-bezier(.16,1,.3,1);
}

#portfolio .port-glass {
  background:
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.28)),
    radial-gradient(400px 160px at 50% 0%, rgba(255,255,255,.12), transparent 62%);
  opacity: .9;
  transition: opacity .72s cubic-bezier(.16,1,.3,1);
}

#portfolio .port-content {
  gap: 14px;
  padding: clamp(20px, 2.3vw, 28px);
}

#portfolio .port-desc {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#portfolio .port-delivery {
  margin-top: 2px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface-3) 80%, transparent), color-mix(in srgb, var(--surface-2) 72%, transparent));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .72s cubic-bezier(.16,1,.3,1), border-color .72s cubic-bezier(.16,1,.3,1), background .72s cubic-bezier(.16,1,.3,1);
}

#portfolio .port-footer {
  padding: 0 clamp(20px, 2.3vw, 28px) clamp(20px, 2.3vw, 28px);
}

#portfolio .port-open,
#portfolio .badge-lock {
  min-height: 54px;
  border-radius: 999px;
  justify-content: center;
  letter-spacing: .11em;
  transition:
    transform .58s cubic-bezier(.16,1,.3,1),
    box-shadow .58s cubic-bezier(.16,1,.3,1),
    border-color .58s cubic-bezier(.16,1,.3,1),
    background .58s cubic-bezier(.16,1,.3,1);
}

@media (hover: hover) {
  #portfolio .port-card:hover {
    transform: translateY(-10px) scale(1.012);
    border-color: color-mix(in srgb, var(--gold) 54%, var(--line-strong));
    box-shadow:
      0 34px 90px rgba(0,0,0,.34),
      0 0 0 1px color-mix(in srgb, var(--gold) 12%, transparent),
      inset 0 1px 0 rgba(255,255,255,.075);
  }

  #portfolio .port-card:hover::before {
    opacity: 1;
  }

  #portfolio .port-card:hover .port-img {
    transform: scale(1.075);
    filter: saturate(1.02) contrast(1.08) brightness(1);
  }

  #portfolio .port-card:hover .port-glass {
    opacity: .68;
  }

  #portfolio .port-card:hover .port-delivery {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--gold) 34%, var(--line));
  }

  #portfolio .port-open:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 44px color-mix(in srgb, var(--gold) 18%, transparent);
  }
}

#portfolio .port-card.revealed {
  animation: ckPortfolioIn .82s cubic-bezier(.16,1,.3,1) both;
  animation-delay: calc(var(--stagger, 0) * 55ms);
}

@keyframes ckPortfolioIn {
  from {
    opacity: .55;
    transform: translateY(20px) scale(.985);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

html[data-theme="light"] #portfolio::before {
  opacity: .46;
}

html[data-theme="light"] #portfolio .port-card {
  background:
    radial-gradient(540px 220px at 50% -12%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 64%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 94%, white 7%), color-mix(in srgb, var(--surface) 97%, white 8%));
}

@media (max-width: 1120px) {
  #portfolioGrid.portfolioTrack {
    grid-auto-columns: minmax(330px, calc((100% - clamp(18px, 3vw, 28px)) / 2)) !important;
  }
}

@media (max-width: 860px) {
  #portfolioGrid.portfolioTrack {
    grid-auto-columns: minmax(76vw, 1fr) !important;
  }

  #portfolio .port-card {
    min-height: 500px;
  }
}

@media (max-width: 720px) {
  #portfolio .portfolioViewport {
    mask-image: none;
    -webkit-mask-image: none;
  }

  #portfolioGrid.portfolioTrack {
    grid-template-rows: 1fr !important;
    grid-auto-columns: minmax(84vw, 1fr) !important;
  }

  #portfolio .port-card {
    min-height: auto;
  }

  #portfolio .port-img-wrapper {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 520px) {
  #portfolio .portfolioCarousel__label,
  #portfolio .portfolioCarousel__status {
    font-size: 11px;
    letter-spacing: .105em;
  }

  #portfolio .carouselBtn {
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #portfolio .port-card,
  #portfolio .port-img,
  #portfolio .port-delivery,
  #portfolio .port-open {
    transition: none !important;
    animation: none !important;
  }
}

/* =========================================================
   Refinamento 2026-04 — Portfólio em carrossel premium
   ========================================================= */
#portfolio .portfolioCarousel__controls {
  flex-wrap: nowrap;
}

#portfolio .carouselBtn--pause {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
}

#portfolio .portfolioCarousel__progress {
  position: relative;
  overflow: hidden;
  height: 2px;
  margin: calc(clamp(18px, 2.4vw, 30px) * -0.55) clamp(16px, 2vw, 20px) 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line-strong) 45%, transparent);
  transform: translateZ(0);
}

#portfolio .portfolioCarousel__progress span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  border-radius: inherit;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--gold) 26%, transparent),
    color-mix(in srgb, var(--gold) 92%, var(--accent) 8%),
    color-mix(in srgb, var(--accent) 64%, transparent));
  box-shadow: 0 0 24px color-mix(in srgb, var(--gold) 34%, transparent);
}

#portfolio .portfolioViewport {
  scroll-behavior: smooth;
}

#portfolio .port-card.is-in-view {
  border-color: color-mix(in srgb, var(--gold) 28%, var(--line-strong));
}

@media (hover: hover) {
  #portfolio .portfolioViewport.is-autoplaying .port-card.is-in-view:not(:hover) {
    box-shadow:
      0 24px 70px rgba(0,0,0,.28),
      0 0 0 1px color-mix(in srgb, var(--gold) 8%, transparent),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
}

@media (max-width: 720px) {
  #portfolio .portfolioCarousel__controls {
    gap: 8px;
  }

  #portfolio .portfolioCarousel__progress {
    margin-top: -8px;
    margin-inline: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #portfolio .portfolioCarousel__progress span {
    transition: none !important;
    transform: scaleX(0) !important;
  }
}


/* =========================================================
   Hotfix definitivo — Portfólio em carrossel paginado real
   Força o componente a funcionar como slider horizontal,
   evitando que os projetos apareçam empilhados verticalmente.
   ========================================================= */
#portfolio .portfolioCarousel {
  position: relative !important;
  display: grid !important;
  gap: clamp(16px, 2vw, 24px) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

#portfolio .portfolioCarousel__top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 12px clamp(14px, 2vw, 18px) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lg) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 88%, transparent), color-mix(in srgb, var(--surface) 92%, transparent)) !important;
  box-shadow: var(--shadow-soft) !important;
}

#portfolio .portfolioViewport {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
  padding: 2px 2px clamp(16px, 2vw, 22px) !important;
  mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%) !important;
}

#portfolioGrid.portfolioTrack {
  display: flex !important;
  grid-auto-flow: unset !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  grid-auto-columns: unset !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  will-change: transform !important;
  transform: translate3d(0,0,0);
  transition: transform .95s cubic-bezier(.16,1,.3,1) !important;
}

#portfolio .portfolioPage {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.4vw, 30px) !important;
  align-items: stretch !important;
  padding: 2px !important;
  box-sizing: border-box !important;
}

#portfolio .portfolioPage[aria-hidden="true"] {
  pointer-events: none !important;
}

#portfolio .portfolioPage.is-active {
  pointer-events: auto !important;
}

#portfolio .portfolioTrack > .port-card {
  flex: 0 0 calc((100% - clamp(18px, 2.4vw, 30px)) / 2) !important;
  width: calc((100% - clamp(18px, 2.4vw, 30px)) / 2) !important;
  margin-right: clamp(18px, 2.4vw, 30px) !important;
}

#portfolio .portfolioPage .port-card {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  scroll-snap-align: unset !important;
}

#portfolio .port-card {
  min-height: clamp(510px, 40vw, 610px) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#portfolio .portfolioCarousel__progress {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  height: 2px !important;
  border-radius: 999px !important;
}

#portfolio .portfolioCarousel__progress span {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
  transform-origin: left center !important;
}

#portfolio .carouselBtn {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
}

@media (max-width: 720px) {
  #portfolio .portfolioCarousel__top {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  #portfolio .portfolioCarousel__controls {
    width: 100% !important;
    justify-content: space-between !important;
  }
  #portfolio .portfolioViewport {
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  #portfolio .portfolioPage {
    grid-template-columns: 1fr !important;
  }
  #portfolio .portfolioTrack > .port-card {
    flex-basis: 100% !important;
    width: 100% !important;
  }
  #portfolio .port-card {
    min-height: auto !important;
  }
}



/* =========================================================
   Correção final — Portfólio em carrossel real, 1 projeto por vez
   ========================================================= */
#portfolio .portfolioCarousel__top{
  justify-content:flex-end!important;
}
#portfolio .portfolioViewport{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding:2px 2px clamp(16px,2vw,22px)!important;
  scroll-snap-type:none!important;
}
#portfolioGrid.portfolioTrack{
  display:flex!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  transform:translate3d(0,0,0);
  transition:transform .95s cubic-bezier(.16,1,.3,1)!important;
  will-change:transform!important;
}
#portfolio .portfolioPage,
#portfolio .portfolioTrack > .port-card{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  padding:2px!important;
  box-sizing:border-box!important;
}
#portfolio .portfolioPage .port-card,
#portfolio .portfolioTrack > .port-card{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
}
#portfolio .port-card{
  min-height:clamp(510px,40vw,640px)!important;
  opacity:1!important;
  visibility:visible!important;
}
#portfolio .portfolioPage[aria-hidden="true"]{
  pointer-events:none!important;
}
#portfolio .portfolioPage.is-active{
  pointer-events:auto!important;
}
@media (max-width:720px){
  #portfolio .portfolioCarousel__controls{
    width:100%!important;
    justify-content:space-between!important;
  }
  #portfolio .port-card{
    min-height:auto!important;
  }
}



/* =========================================================
   SERVIÇOS — V10 SEM COLUNAS / 4 PILARES EMPILHADOS
   Objetivo: impedir definitivamente que pilares e catálogo
   renderizem em colunas, grades lado a lado ou cards empilhados
   em duas colunas.
   ========================================================= */

.servicesNoColumnsV10{
  position:relative;
  isolation:isolate;
}

.servicesNoColumnsV10 .servicesIntro{
  max-width:1080px;
  margin-inline:auto;
  margin-bottom:clamp(34px,5vw,72px);
  text-align:left;
}

.servicesNoColumnsV10 .servicesIntro h2{
  max-width:1040px;
  text-wrap:balance;
}

.servicesNoColumnsV10 .servicesIntro small{
  display:block;
  max-width:900px;
  color:var(--text-soft);
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.72;
}

.pillarStackV10{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:clamp(30px,5vw,64px);
  align-items:stretch;
}

.pillarPanelV10{
  width:100%;
  min-width:0;
  overflow:hidden;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:clamp(28px,3vw,44px);
  background:
    linear-gradient(180deg, color-mix(in srgb,var(--surface-2) 92%,transparent), color-mix(in srgb,var(--surface) 98%,transparent)),
    radial-gradient(760px 260px at 50% 0%, color-mix(in srgb,var(--gold) 8%,transparent), transparent 72%);
  box-shadow:var(--shadow-md);
  transition:transform .45s cubic-bezier(.19,1,.22,1), border-color .35s ease, box-shadow .45s ease, opacity .35s ease, filter .35s ease;
}

.pillarPanelV10:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--gold-2) 36%,transparent);
  box-shadow:var(--shadow-lg);
}

.pillarPanelV10.is-dimmed{
  opacity:.44;
  filter:saturate(.72);
}

.pillarPanelV10.is-filtered{
  border-color:color-mix(in srgb,var(--gold-2) 62%,transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--gold-2) 16%,transparent),
    var(--shadow-lg);
}

.pillarPanelMediaV10{
  position:relative;
  width:100%;
  min-height:clamp(330px,42vw,560px);
  aspect-ratio:16/7.2;
  overflow:hidden;
  background:color-mix(in srgb,var(--surface-3) 82%,transparent);
}

.pillarPanelMediaV10 img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.92) contrast(1.06) brightness(.78);
  transform:scale(1.015);
  transition:transform .75s cubic-bezier(.19,1,.22,1), filter .75s ease;
}

.pillarPanelV10:hover .pillarPanelMediaV10 img{
  transform:scale(1.045);
  filter:saturate(1) contrast(1.08) brightness(.86);
}

.pillarPanelShadeV10{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, transparent 36%, rgba(0,0,0,.72)),
    linear-gradient(90deg, rgba(0,0,0,.26), transparent 62%);
}

.pillarPanelIndexV10{
  position:absolute;
  left:clamp(22px,3vw,42px);
  bottom:clamp(18px,2.5vw,34px);
  color:rgba(255,250,243,.94);
  font-family:var(--title);
  font-size:clamp(58px,9vw,132px);
  line-height:.78;
  letter-spacing:.02em;
  font-weight:400;
  text-shadow:0 20px 50px rgba(0,0,0,.38);
}

.pillarPanelBodyV10{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  gap:clamp(18px,2.6vw,32px);
  padding:clamp(24px,4vw,56px);
}

.pillarPanelTopV10{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding-bottom:clamp(14px,1.8vw,22px);
  border-bottom:1px solid var(--line);
  color:var(--text-muted);
  font-size:11px;
  font-weight:820;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.pillarPanelTopV10 span{
  color:var(--gold-2);
}

.pillarPanelTopV10 small{
  color:var(--text-muted);
  font-size:11px;
  font-weight:820;
  white-space:nowrap;
}

.pillarPanelBodyV10 h3{
  max-width:900px;
  margin:0;
  color:var(--text);
  font-family:var(--title);
  font-size:clamp(40px,6.6vw,92px);
  line-height:.88;
  letter-spacing:.035em;
  font-weight:400;
  text-wrap:balance;
}

.pillarPanelBodyV10 p{
  max-width:760px;
  margin:0;
  color:var(--text-soft);
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.76;
}

.pillarPanelServicesV10{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:10px;
  align-self:stretch;
}

.pillarSolutionButtonV10{
  width:100%;
  min-height:70px;
  display:flex !important;
  grid-template-columns:none !important;
  align-items:center;
  gap:clamp(12px,1.8vw,22px);
  padding:clamp(14px,1.8vw,20px) clamp(15px,2.2vw,26px);
  border:1px solid var(--line);
  border-radius:clamp(18px,2vw,26px);
  background:
    linear-gradient(180deg, color-mix(in srgb,var(--surface-3) 58%,transparent), color-mix(in srgb,var(--surface-2) 76%,transparent));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}

.pillarSolutionButtonV10:hover{
  transform:translateX(8px);
  border-color:color-mix(in srgb,var(--gold-2) 42%,transparent);
  background:color-mix(in srgb,var(--gold) 10%,transparent);
}

.pillarSolutionButtonV10 span{
  flex:0 0 auto;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--gold-2) 42%,transparent);
  color:var(--gold-2);
  font-family:var(--title);
  font-size:18px;
  line-height:1;
}

.pillarSolutionButtonV10 strong{
  min-width:0;
  display:block;
  color:var(--text);
  font-size:clamp(14px,1.15vw,17px);
  line-height:1.32;
  font-weight:760;
}

.pillarPanelFooterV10{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  padding-top:clamp(16px,2vw,26px);
  border-top:1px solid var(--line);
}

.pillarPanelFooterV10 .btn{
  min-height:46px;
}

.servicesCatalog{
  max-width:1180px;
  margin:clamp(40px,6vw,82px) auto 0;
}

.servicesCatalog.is-open .servicesTools,
.servicesCatalog.is-open .servicesCatalogListV10{
  display:block;
}

.servicesCatalog.is-collapsed .servicesTools,
.servicesCatalog.is-collapsed .servicesCatalogListV10{
  display:none !important;
}

.servicesCatalogListV10{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:clamp(14px,1.6vw,20px);
}

.serviceCatalogCard{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  min-height:0;
  border-radius:clamp(20px,2vw,30px);
}

.serviceCatalogCard .serviceCardMedia{
  width:100%;
  min-height:clamp(190px,26vw,320px);
  aspect-ratio:16/6.4;
}

.serviceCatalogCard .serviceCardMedia img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}

.serviceCardBody{
  display:flex !important;
  flex-direction:column !important;
  gap:12px;
  padding:clamp(18px,2.4vw,30px);
}

.serviceCardBody h4{
  font-size:clamp(28px,3.6vw,52px);
}

.serviceCardBody p{
  max-width:760px;
  font-size:14px;
  line-height:1.68;
}

.serviceCardBottom{
  display:flex !important;
  flex-direction:column !important;
  gap:14px;
}

.serviceCardActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.serviceCardActions .btn{
  flex:0 1 auto;
  min-width:150px;
}

html[data-theme="light"] .pillarPanelV10,
html[data-theme="light"] .pillarSolutionButtonV10,
html[data-theme="light"] .serviceCatalogCard{
  background:color-mix(in srgb,var(--surface) 92%,white 8%);
}

@media (max-width:820px){
  .pillarStackV10{
    gap:28px;
  }

  .pillarPanelMediaV10{
    min-height:240px;
    aspect-ratio:16/9;
  }

  .pillarPanelBodyV10{
    padding:22px;
  }

  .pillarPanelTopV10{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .pillarPanelBodyV10 h3{
    font-size:clamp(34px,12vw,58px);
  }

  .pillarPanelFooterV10,
  .serviceCardActions{
    flex-direction:column;
    align-items:stretch;
  }

  .pillarPanelFooterV10 .btn,
  .serviceCardActions .btn{
    width:100%;
    justify-content:center;
  }

  .pillarSolutionButtonV10:hover{
    transform:translateY(-2px);
  }

  .serviceCatalogCard .serviceCardMedia{
    min-height:180px;
    aspect-ratio:16/9;
  }
}

@media (max-width:560px){
  .pillarPanelMediaV10{
    min-height:210px;
  }

  .pillarPanelIndexV10{
    font-size:64px;
  }

  .pillarSolutionButtonV10{
    align-items:flex-start;
    flex-direction:column;
  }

  .pillarSolutionButtonV10 span{
    width:36px;
    height:36px;
  }
}

/* =========================================================
   SERVIÇOS — V11 / PILARES COM ABERTURA INTERNA
   Correção: o clique no pilar abre as soluções completas
   dentro da própria caixa correspondente, sem colunas.
   ========================================================= */

.pillarPanelV11{
  position:relative;
}

.pillarPanelV11.is-open{
  border-color:color-mix(in srgb,var(--gold-2) 62%,transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--gold-2) 16%,transparent),
    0 38px 120px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.pillarPanelV11.is-open .pillarPanelMediaV11 img{
  transform:scale(1.045);
  filter:saturate(1) contrast(1.08) brightness(.86);
}

.pillarToggleButtonV11{
  min-width:min(100%,280px);
}

.pillarToggleButtonV11 .pillarToggleCloseV11{
  display:none;
}

.pillarPanelV11.is-open .pillarToggleButtonV11 .pillarToggleOpenV11{
  display:none;
}

.pillarPanelV11.is-open .pillarToggleButtonV11 .pillarToggleCloseV11{
  display:inline;
}

.pillarSolutionsDrawerV11{
  width:100%;
  display:block;
  border-top:1px solid color-mix(in srgb,var(--gold-2) 22%,var(--line));
  background:
    radial-gradient(780px 280px at 50% 0%, color-mix(in srgb,var(--gold) 9%,transparent), transparent 70%),
    linear-gradient(180deg, color-mix(in srgb,var(--surface) 94%,transparent), color-mix(in srgb,var(--surface-2) 96%,transparent));
  padding:clamp(22px,4vw,54px);
}

.pillarSolutionsDrawerV11[hidden]{
  display:none !important;
}

.pillarSolutionsHeaderV11{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  gap:10px;
  max-width:900px;
  margin:0 0 clamp(22px,3vw,40px);
}

.pillarSolutionsHeaderV11 span{
  color:var(--gold-2);
  font-size:11px;
  font-weight:820;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.pillarSolutionsHeaderV11 h4{
  margin:0;
  color:var(--text);
  font-family:var(--title);
  font-size:clamp(34px,5vw,72px);
  line-height:.88;
  letter-spacing:.04em;
  font-weight:400;
  text-transform:uppercase;
}

.pillarSolutionsHeaderV11 p{
  margin:0;
  max-width:760px;
  color:var(--text-soft);
  font-size:clamp(14px,1.1vw,17px);
  line-height:1.72;
}

.pillarSolutionsListV11{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:clamp(18px,2.2vw,28px);
}

.pillarServiceFullCardV11{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 86%,transparent);
  border-radius:clamp(22px,2.4vw,34px);
  background:
    linear-gradient(180deg, color-mix(in srgb,var(--surface-2) 92%,transparent), color-mix(in srgb,var(--surface) 98%,transparent));
  box-shadow:0 20px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045);
}

.pillarServiceMediaV11{
  position:relative;
  width:100%;
  min-height:clamp(210px,27vw,390px);
  aspect-ratio:16/6.4;
  overflow:hidden;
  background:color-mix(in srgb,var(--surface-3) 86%,transparent);
}

.pillarServiceMediaV11 img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.94) contrast(1.04) brightness(.82);
}

.pillarServiceMediaV11::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, transparent 42%, rgba(0,0,0,.64));
}

.pillarServiceMediaV11 span{
  position:absolute;
  left:clamp(16px,2vw,28px);
  bottom:clamp(14px,1.8vw,24px);
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:rgba(255,250,243,.92);
  font-size:11px;
  font-weight:820;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.pillarServiceContentV11{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:clamp(16px,2vw,24px);
  padding:clamp(20px,3.2vw,44px);
}

.pillarServiceHeaderV11{
  display:flex !important;
  flex-direction:column !important;
  gap:10px;
  max-width:880px;
}

.pillarServiceKickerV11{
  color:var(--gold-2);
  font-size:11px;
  font-weight:820;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.pillarServiceHeaderV11 h4{
  margin:0;
  color:var(--text);
  font-family:var(--title);
  font-weight:400;
  font-size:clamp(32px,4.8vw,70px);
  line-height:.9;
  letter-spacing:.036em;
  text-transform:uppercase;
  text-wrap:balance;
}

.pillarServiceHeaderV11 p,
.pillarServiceNarrativeV11 p,
.pillarServiceNoteV11 p,
.pillarServicePriceDetailsV11{
  margin:0;
  color:var(--text-soft);
  font-size:clamp(14px,1.08vw,17px);
  line-height:1.72;
}

.pillarServicePillsV11,
.pillarServiceFeaturesV11{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
}

.pillarServicePillsV11 span,
.pillarServiceFeaturesV11 span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--gold-2) 22%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--gold) 8%,transparent);
  color:var(--text-soft);
  font-size:11px;
  font-weight:760;
  letter-spacing:.04em;
}

.pillarServiceNarrativeV11,
.pillarServiceBlockV11,
.pillarServiceNoteV11{
  display:flex !important;
  flex-direction:column !important;
  gap:10px;
  padding:clamp(15px,2vw,22px);
  border:1px solid var(--line);
  border-radius:clamp(16px,1.8vw,24px);
  background:color-mix(in srgb,var(--surface-3) 46%,transparent);
}

.pillarServiceNarrativeV11 strong,
.pillarServiceBlockV11 strong,
.pillarServiceNoteV11 strong{
  color:var(--text);
  font-size:12px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pillarServiceBlockV11 ul{
  display:flex !important;
  flex-direction:column !important;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}

.pillarServiceBlockV11 li{
  position:relative;
  padding-left:18px;
  color:var(--text-soft);
  font-size:14px;
  line-height:1.58;
}

.pillarServiceBlockV11 li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold-2);
  box-shadow:0 0 18px color-mix(in srgb,var(--gold-2) 44%,transparent);
}

.pillarServiceVariationsV11{
  width:100%;
  display:flex !important;
  flex-direction:column !important;
  gap:8px;
}

.pillarServiceVariationsV11 div{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}

.pillarServiceVariationsV11 div:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.pillarServiceVariationsV11 span{
  min-width:0;
  color:var(--text-soft);
  font-size:14px;
  line-height:1.45;
}

.pillarServiceVariationsV11 b{
  flex:0 0 auto;
  color:var(--gold-2);
  font-family:var(--title);
  font-size:clamp(18px,2vw,26px);
  line-height:1;
  letter-spacing:.035em;
  font-weight:400;
  text-align:right;
}

.pillarServicePriceV11{
  display:flex !important;
  flex-direction:column !important;
  gap:10px;
  padding:clamp(16px,2vw,24px);
  border:1px solid color-mix(in srgb,var(--gold-2) 28%,var(--line));
  border-radius:clamp(18px,2vw,26px);
  background:
    radial-gradient(420px 140px at 0% 0%, color-mix(in srgb,var(--gold) 13%,transparent), transparent 66%),
    color-mix(in srgb,var(--surface-3) 60%,transparent);
}

.pillarServicePriceV11 div{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

.pillarServicePriceV11 small{
  color:var(--text-muted);
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.pillarServicePriceV11 b{
  color:var(--gold-2);
  font-family:var(--title);
  font-size:clamp(22px,3vw,40px);
  line-height:.95;
  letter-spacing:.035em;
  font-weight:400;
  text-align:right;
}

.pillarServiceActionsV11{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:clamp(4px,1vw,10px);
}

.pillarServiceActionsV11 .btn{
  min-height:48px;
}

html[data-theme="light"] .pillarSolutionsDrawerV11,
html[data-theme="light"] .pillarServiceFullCardV11,
html[data-theme="light"] .pillarServiceNarrativeV11,
html[data-theme="light"] .pillarServiceBlockV11,
html[data-theme="light"] .pillarServiceNoteV11,
html[data-theme="light"] .pillarServicePriceV11{
  background:color-mix(in srgb,var(--surface) 92%,white 8%);
}

@media (max-width:820px){
  .pillarSolutionsDrawerV11{
    padding:20px;
  }

  .pillarServiceMediaV11{
    min-height:190px;
    aspect-ratio:16/9;
  }

  .pillarServiceContentV11{
    padding:20px;
  }

  .pillarServicePriceV11 div,
  .pillarServiceVariationsV11 div{
    flex-direction:column;
    align-items:flex-start;
  }

  .pillarServicePriceV11 b,
  .pillarServiceVariationsV11 b{
    text-align:left;
  }

  .pillarServiceActionsV11{
    flex-direction:column;
    align-items:stretch;
  }

  .pillarServiceActionsV11 .btn{
    width:100%;
    justify-content:center;
  }
}

@media (max-width:560px){
  .pillarSolutionsDrawerV11{
    padding:16px;
  }

  .pillarServiceContentV11{
    padding:17px;
  }

  .pillarServiceNarrativeV11,
  .pillarServiceBlockV11,
  .pillarServiceNoteV11,
  .pillarServicePriceV11{
    padding:15px;
  }

  .pillarServiceHeaderV11 h4{
    font-size:clamp(30px,11vw,46px);
  }

  .pillarSolutionsHeaderV11 h4{
    font-size:clamp(31px,11vw,48px);
  }
}


/* =========================================================
   SERVIÇOS — V15 FINAL / 4 PILARES 2x2 + CONTEÚDO INTERNO
   Correção definitiva:
   - remove catálogo externo da experiência visual;
   - desktop em 2 pilares por linha;
   - pilar aberto ocupa a largura total;
   - detalhes completos só aparecem dentro do pilar correspondente;
   - mobile/tablet sem quebra, sem colunas apertadas.
   ========================================================= */

.servicesNoColumnsV10{
  --pillar-card-radius: clamp(24px, 2.8vw, 38px);
}

.servicesNoColumnsV10 .servicesIntro{
  max-width: 1240px;
  margin-bottom: clamp(28px, 4vw, 54px);
}

.servicesNoColumnsV10 .servicesIntro h2{
  max-width: 920px;
  font-size: clamp(34px, 5vw, 76px);
}

.servicesNoColumnsV10 .servicesIntro small{
  max-width: 820px;
}

.pillarStackV10{
  max-width: 1280px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2.8vw, 36px) !important;
  align-items: start !important;
}

.pillarPanelV10{
  min-width: 0 !important;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
  border-radius: var(--pillar-card-radius) !important;
}

.pillarPanelV10:hover{
  transform: translateY(-3px);
}

.pillarPanelV11.is-open{
  grid-column: 1 / -1 !important;
  height: auto;
}

.pillarPanelV11.is-dimmed{
  opacity: .72;
  filter: saturate(.86) brightness(.92);
}

.pillarPanelMediaV10{
  min-height: clamp(220px, 23vw, 350px) !important;
  aspect-ratio: 16 / 8.6 !important;
}

.pillarPanelV11.is-open .pillarPanelMediaV10{
  min-height: clamp(280px, 30vw, 460px) !important;
  aspect-ratio: 16 / 7.1 !important;
}

.pillarPanelIndexV10{
  font-size: clamp(56px, 7vw, 104px) !important;
}

.pillarPanelBodyV10{
  flex: 1 1 auto;
  padding: clamp(22px, 3vw, 42px) !important;
  gap: clamp(15px, 2vw, 24px) !important;
}

.pillarPanelBodyV10 h3{
  max-width: 720px;
  font-size: clamp(36px, 4.9vw, 68px) !important;
  line-height: .9 !important;
}

.pillarPanelBodyV10 p{
  max-width: 660px;
  font-size: clamp(14px, 1.05vw, 16px) !important;
}

.pillarPanelServicesV10{
  gap: 9px !important;
}

.pillarSolutionButtonV10{
  min-height: 60px !important;
  padding: 13px 16px !important;
}

.pillarSolutionButtonV10 span{
  width: 34px !important;
  height: 34px !important;
  font-size: 15px !important;
}

.pillarSolutionButtonV10 strong{
  font-size: clamp(13px, 1vw, 15px) !important;
}

.pillarPanelFooterV10{
  margin-top: auto;
}

.pillarSolutionsDrawerV11{
  padding: clamp(22px, 4vw, 52px) !important;
}

.pillarSolutionsHeaderV11{
  max-width: 920px;
}

.pillarSolutionsHeaderV11 h4{
  font-size: clamp(34px, 5vw, 74px) !important;
}

.pillarSolutionsListV11{
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(18px, 2.2vw, 28px) !important;
}

.pillarServiceFullCardV11{
  display: grid !important;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr) !important;
  align-items: stretch;
  overflow: hidden;
}

.pillarServiceMediaV11{
  min-height: 100% !important;
  aspect-ratio: auto !important;
}

.pillarServiceMediaV11 img{
  min-height: 100%;
}

.pillarServiceContentV11{
  padding: clamp(22px, 3vw, 42px) !important;
}

.pillarServiceHeaderV11 h4{
  font-size: clamp(30px, 4vw, 58px) !important;
}

.pillarServicePriceV11{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.pillarServiceActionsV11{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.servicesCatalog,
#servicesCatalogArea,
#servicesCatalog,
.servicesTools,
.catalogHead,
.catalogActions,
.catalogSummary{
  display: none !important;
}

@media (max-width: 1100px){
  .pillarStackV10{
    max-width: 920px !important;
    grid-template-columns: 1fr !important;
  }

  .pillarPanelV11.is-open{
    grid-column: auto !important;
  }

  .pillarPanelMediaV10,
  .pillarPanelV11.is-open .pillarPanelMediaV10{
    min-height: clamp(240px, 42vw, 420px) !important;
    aspect-ratio: 16 / 8.2 !important;
  }

  .pillarServiceFullCardV11{
    grid-template-columns: 1fr !important;
  }

  .pillarServiceMediaV11{
    min-height: clamp(220px, 36vw, 360px) !important;
    aspect-ratio: 16 / 8.4 !important;
  }
}

@media (max-width: 720px){
  .servicesNoColumnsV10 .servicesIntro{
    margin-bottom: 26px;
  }

  .servicesNoColumnsV10 .servicesIntro h2{
    font-size: clamp(32px, 11vw, 54px);
  }

  .pillarStackV10{
    gap: 22px !important;
  }

  .pillarPanelV10{
    border-radius: 24px !important;
  }

  .pillarPanelMediaV10,
  .pillarPanelV11.is-open .pillarPanelMediaV10{
    min-height: 210px !important;
    aspect-ratio: 16 / 10 !important;
  }

  .pillarPanelIndexV10{
    font-size: 62px !important;
  }

  .pillarPanelBodyV10{
    padding: 20px !important;
  }

  .pillarPanelBodyV10 h3{
    font-size: clamp(32px, 12vw, 50px) !important;
  }

  .pillarPanelTopV10{
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  .pillarSolutionButtonV10{
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 9px !important;
  }

  .pillarPanelFooterV10,
  .pillarServiceActionsV11{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .pillarPanelFooterV10 .btn,
  .pillarServiceActionsV11 .btn{
    width: 100% !important;
    justify-content: center !important;
  }

  .pillarSolutionsDrawerV11{
    padding: 20px !important;
  }

  .pillarSolutionsHeaderV11 h4{
    font-size: clamp(30px, 11vw, 50px) !important;
  }

  .pillarServiceMediaV11{
    min-height: 190px !important;
    aspect-ratio: 16 / 10 !important;
  }

  .pillarServiceContentV11{
    padding: 20px !important;
  }

  .pillarServicePriceV11{
    grid-template-columns: 1fr !important;
  }

  .pillarServiceVariationsV11{
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 1101px){
  .pillarPanelV11:not(.is-open) .pillarSolutionsDrawerV11{
    display: none !important;
  }
}

/* =========================================================
   CAREKA DIGITAL — REFINO GLOBAL V16
   Ajuste de respiro, responsividade, leitura e serviços.
   ========================================================= */
:root{
  --section-space: clamp(56px, 8.2vw, 124px);
  --section-inner: clamp(22px, 3.1vw, 52px);
  --content-gap: clamp(18px, 2.6vw, 36px);
  --card-gap: clamp(16px, 2vw, 28px);
  --safe-gutter: clamp(18px, 5vw, 74px);
}

html{scroll-padding-top:clamp(92px,10vw,132px);}
body{line-height:1.66;}
.container{width:min(var(--max),100% - var(--safe-gutter));}
main.container{padding-bottom:clamp(54px,8vw,118px);}
section[id]{scroll-margin-top:clamp(96px,10vw,132px);}
.sec{padding:clamp(18px,2vw,28px) 0 var(--section-space)!important;}
.sec + .sec{margin-top:clamp(8px,1.8vw,24px);}
.secHead{margin-bottom:clamp(22px,3.4vw,48px)!important;display:grid;gap:clamp(10px,1.1vw,16px);}
.secHead h2{max-width:960px;font-size:clamp(38px,5.6vw,86px)!important;line-height:.92!important;letter-spacing:.045em!important;text-wrap:balance;}
.secHead small{max-width:760px;font-size:clamp(15px,1.15vw,18px)!important;line-height:1.72!important;color:var(--text-soft)!important;text-wrap:pretty;}
.panel,.port-card,.pillarPanelV10,.modal,.cta-panel{box-shadow:0 38px 120px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045);}
.panel{padding:clamp(24px,4vw,58px)!important;border-radius:clamp(22px,2.5vw,36px)!important;}
.lead,.lead-text,p{overflow-wrap:anywhere;}
.btn{min-height:48px;padding-inline:clamp(16px,2vw,24px);}

#portfolio{padding-top:clamp(34px,5vw,70px)!important;}
#portfolio .portfolioViewport{margin-top:clamp(18px,2vw,30px)!important;}
#portfolio .port-card{min-height:clamp(470px,39vw,660px)!important;}
#portfolio .port-content{padding:clamp(22px,3vw,42px)!important;gap:clamp(12px,1.8vw,22px)!important;}
#portfolio .port-desc,#portfolio .port-delivery{max-width:72ch;line-height:1.68!important;}
#portfolio .port-footer{padding:0 clamp(22px,3vw,42px) clamp(22px,3vw,42px)!important;}

#pilares{padding-top:clamp(48px,7vw,108px)!important;}
.servicesNoColumnsV10 .servicesIntro{max-width:1120px!important;margin-bottom:clamp(34px,4.8vw,72px)!important;}
.servicesNoColumnsV10 .servicesIntro h2{font-size:clamp(38px,5.3vw,82px)!important;line-height:.93!important;letter-spacing:.05em!important;max-width:980px!important;}
.servicesNoColumnsV10 .servicesIntro small{font-size:clamp(15px,1.12vw,18px)!important;line-height:1.76!important;max-width:840px!important;}
.pillarStackV10{gap:clamp(24px,3.2vw,44px)!important;}
.pillarPanelV10{transition:transform .42s var(--ease-soft),opacity .42s var(--ease-soft),filter .42s var(--ease-soft),border-color .42s var(--ease-soft)!important;}
.pillarPanelV10:hover{transform:translateY(-4px)!important;border-color:color-mix(in srgb,var(--gold) 34%,var(--line))!important;}
.pillarPanelV11.is-open{transform:none!important;}
.pillarPanelMediaV10{min-height:clamp(240px,23vw,380px)!important;}
.pillarPanelV11.is-open .pillarPanelMediaV10{min-height:clamp(300px,31vw,500px)!important;}
.pillarPanelBodyV10{padding:clamp(26px,3.3vw,50px)!important;}
.pillarPanelBodyV10 h3{font-size:clamp(40px,4.8vw,76px)!important;line-height:.92!important;letter-spacing:.045em!important;text-wrap:balance;}
.pillarPanelBodyV10 p{font-size:clamp(15px,1.06vw,17px)!important;line-height:1.72!important;color:var(--text-soft)!important;}
.pillarPanelServicesV10{gap:clamp(10px,1vw,14px)!important;margin-top:clamp(4px,1vw,14px)!important;}
.pillarSolutionButtonV10{border-radius:clamp(14px,1.5vw,22px)!important;min-height:64px!important;transition:transform .34s var(--ease-soft),border-color .34s var(--ease-soft),background .34s var(--ease-soft)!important;}
.pillarSolutionButtonV10:hover{transform:translateX(3px);}
.pillarPanelFooterV10{padding-top:clamp(18px,2.2vw,34px)!important;margin-top:clamp(8px,1vw,16px)!important;}
.pillarSolutionsDrawerV11{margin:0 clamp(18px,2.6vw,40px) clamp(24px,3vw,46px)!important;max-height:none!important;overflow:visible!important;scroll-behavior:auto!important;}
.pillarSolutionsHeaderV11{margin-bottom:clamp(20px,3vw,42px)!important;}
.pillarSolutionsHeaderV11 p{max-width:760px;line-height:1.7;}
.pillarServiceFullCardV11{border-radius:clamp(18px,2vw,28px)!important;}
.pillarServiceContentV11{display:grid;gap:clamp(14px,1.8vw,24px)!important;}
.pillarServiceHeaderV11 h4{line-height:.94!important;letter-spacing:.038em!important;text-wrap:balance;}
.pillarServiceNarrativeV11 p,.pillarServiceBlockV11 li,.pillarServiceNoteV11 p,.pillarServicePriceDetailsV11{line-height:1.7!important;}
.pillarServicePriceV11,.pillarServiceVariationsV11{gap:clamp(10px,1.2vw,16px)!important;}

#cta-final{padding-top:clamp(18px,4vw,64px)!important;}
.cta-panel{text-align:center;display:grid;justify-items:center;gap:clamp(18px,2.4vw,32px);}
.cta-title-block{display:grid;gap:.08em;max-width:1000px;}
.cta-title-block .title-line{font-size:clamp(38px,5.5vw,88px)!important;line-height:.9!important;text-wrap:balance;}
#contato{padding-bottom:clamp(28px,5vw,80px)!important;}
#contato .panel{padding-bottom:clamp(24px,3vw,44px)!important;}
.foot{gap:clamp(18px,2vw,34px)!important;}

.modalOverlay.open{display:grid;place-items:center;padding:clamp(12px,3vw,34px);}
.modal{max-height:min(88svh,920px)!important;overflow:auto!important;scroll-behavior:auto!important;overscroll-behavior:contain;}
.modalBody{scroll-behavior:auto!important;}
.modalTitle{font-size:clamp(36px,4.4vw,72px)!important;line-height:.94!important;text-wrap:balance;}
.modalServiceMedia{aspect-ratio:16/8.4;overflow:hidden;border-radius:clamp(14px,1.6vw,22px);}
.modalServiceMedia img{width:100%;height:100%;object-fit:cover;}

@media (min-width:1600px){
  :root{--max:1440px;}
  .container{width:min(var(--max),100% - clamp(80px,7vw,150px));}
  #portfolio .port-card{min-height:clamp(560px,34vw,720px)!important;}
}
@media (max-width:1180px){
  :root{--section-space:clamp(52px,8vw,96px);}
  .container{width:min(100% - clamp(26px,5vw,56px),1120px);}
  .secHead h2{font-size:clamp(36px,7vw,70px)!important;}
  .pillarStackV10{grid-template-columns:1fr!important;max-width:980px!important;}
  .pillarPanelV11.is-open{grid-column:auto!important;}
}
@media (max-width:760px){
  :root{--section-space:clamp(46px,12vw,78px);--safe-gutter:clamp(24px,7vw,34px);}
  .topbar{padding-top:10px;}
  .topbar__in{border-radius:20px;padding:10px 12px;}
  .mark{width:46px;height:46px;border-radius:14px;}
  .brandtxt b{font-size:18px;letter-spacing:.10em;}
  .brandtxt small{font-size:10px;letter-spacing:.10em;}
  .sec{padding-top:12px!important;}
  .secHead{margin-bottom:24px!important;}
  .secHead h2{font-size:clamp(34px,11vw,54px)!important;line-height:.95!important;letter-spacing:.035em!important;}
  .secHead small{font-size:15px!important;line-height:1.68!important;}
  .panel{padding:20px!important;border-radius:22px!important;}
  .btn{width:100%;justify-content:center;min-height:50px;}
  #portfolio .portfolioViewport{border-radius:22px!important;}
  #portfolio .port-content{padding:22px!important;}
  #portfolio .port-footer{padding:0 22px 22px!important;}
  .servicesNoColumnsV10 .servicesIntro h2{font-size:clamp(32px,11vw,52px)!important;}
  .pillarPanelMediaV10,.pillarPanelV11.is-open .pillarPanelMediaV10{min-height:clamp(210px,62vw,360px)!important;aspect-ratio:16/10!important;}
  .pillarPanelBodyV10{padding:22px!important;}
  .pillarPanelBodyV10 h3{font-size:clamp(34px,12vw,54px)!important;line-height:.94!important;}
  .pillarSolutionsDrawerV11{margin:0 14px 18px!important;padding:18px!important;border-radius:20px!important;}
  .pillarServiceFullCardV11{grid-template-columns:1fr!important;}
  .pillarServiceMediaV11{min-height:clamp(180px,54vw,300px)!important;aspect-ratio:16/10!important;}
  .pillarServiceContentV11{padding:18px!important;}
  .pillarServiceHeaderV11 h4{font-size:clamp(30px,10vw,46px)!important;}
  .pillarServicePriceV11{grid-template-columns:1fr!important;}
  .modalOverlay.open{padding:10px;align-items:end;}
  .modal{width:100%;max-height:92svh!important;border-radius:22px 22px 0 0!important;}
  .modalHead,.modalBody{padding-inline:18px!important;}
}
@media (max-width:390px){
  :root{--safe-gutter:20px;}
  .brandtxt small{display:none;}
  .pillarPanelBodyV10,.pillarServiceContentV11{padding:16px!important;}
  .pillarSolutionButtonV10{padding:13px 14px!important;}
  .pillarSolutionsDrawerV11{margin-inline:8px!important;padding:14px!important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}


/* =========================================================
   HIERARQUIA GLOBAL V18 — respiro premium controlado
   ========================================================= */
:root{
  --section-space: clamp(52px, 8vw, 112px);
  --top-offset: clamp(14px, 2vw, 24px);
}
main.container{padding-bottom:clamp(54px,7vw,108px);}
section[id]{scroll-margin-top:124px;}
.sec-head,
.section-head,
.headBlock{
  margin-bottom:clamp(18px,2.2vw,30px);
}
.panel,
.card,
.port-card,
.contactCard,
.cta-panel{
  border-radius:clamp(18px,1.6vw,28px);
}


/* =========================================================
   HEADER + MEGA MENU V27 — barra premium minimalista
   ========================================================= */
:root{
  --ck-header-space: clamp(86px, 7.2vw, 118px);
  --ck-menu-ease: cubic-bezier(.16,1,.3,1);
}
body{
  padding-top:var(--ck-header-space)!important;
}
.topbar{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:0!important;
  z-index:120!important;
  padding-top:clamp(10px,1.25vw,18px)!important;
  pointer-events:none!important;
}
.topbar .container{pointer-events:auto!important;}
.topbar__in{
  min-height:clamp(66px,5vw,82px)!important;
  padding:clamp(10px,1vw,14px) clamp(12px,1.7vw,18px)!important;
  border-radius:clamp(18px,1.45vw,28px)!important;
  border:1px solid rgba(212,168,67,.14)!important;
  background:linear-gradient(180deg,rgba(10,12,16,.72),rgba(6,7,10,.64))!important;
  backdrop-filter:blur(20px) saturate(1.22)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.22)!important;
  box-shadow:0 16px 46px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.04)!important;
  transition:min-height .42s var(--ck-menu-ease),padding .42s var(--ck-menu-ease),border-color .42s var(--ck-menu-ease),background .42s var(--ck-menu-ease),box-shadow .42s var(--ck-menu-ease)!important;
}
body.is-scrolled .topbar__in{
  min-height:clamp(58px,4.5vw,72px)!important;
  background:linear-gradient(180deg,rgba(8,10,14,.84),rgba(4,5,7,.76))!important;
  border-color:rgba(212,168,67,.20)!important;
  box-shadow:0 18px 56px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.brand{gap:clamp(10px,1vw,14px)!important;}
.mark{
  width:clamp(44px,4vw,58px)!important;
  height:clamp(44px,4vw,58px)!important;
  border-radius:clamp(14px,1vw,18px)!important;
}
.brandtxt b{font-size:clamp(17px,1.5vw,21px)!important;letter-spacing:.15em!important;}
.brandtxt small{font-size:clamp(10px,.84vw,12px)!important;letter-spacing:.16em!important;}
.header-actions{gap:clamp(8px,.8vw,12px)!important;}
.nav{gap:clamp(6px,.65vw,10px)!important;}
.nav-link{
  min-height:42px!important;
  padding:10px clamp(13px,1.1vw,18px)!important;
  border-radius:999px!important;
  font-size:12px!important;
  letter-spacing:.15em!important;
  background:rgba(255,255,255,.018)!important;
}
.theme-toggle,
.menu-toggle{
  display:inline-flex!important;
  min-width:46px!important;
  min-height:46px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.022)!important;
}
.menu-toggle{
  width:46px!important;
  height:46px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.menu-toggle::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:999px;
  background:radial-gradient(circle at 50% 0%,rgba(212,168,67,.12),transparent 62%);
  opacity:.85;
  pointer-events:none;
}
.menu-toggle span{
  left:13px!important;
  right:13px!important;
  height:1.5px!important;
  background:linear-gradient(90deg,var(--gold-2),var(--text))!important;
  transform-origin:center!important;
}
.menu-toggle span:nth-child(1){top:16px!important;}
.menu-toggle span:nth-child(2){top:22px!important;width:14px!important;left:auto!important;}
.menu-toggle span:nth-child(3){top:28px!important;}
.menu-toggle.active span:nth-child(1){top:22px!important;transform:rotate(42deg)!important;}
.menu-toggle.active span:nth-child(2){opacity:0!important;transform:translateX(8px)!important;}
.menu-toggle.active span:nth-child(3){top:22px!important;transform:rotate(-42deg)!important;}
@media (hover:hover){
  .nav-link:hover,.theme-toggle:hover,.menu-toggle:hover{
    transform:translateY(-2px)!important;
    border-color:rgba(212,168,67,.30)!important;
    background:rgba(212,168,67,.055)!important;
  }
}
.menu-overlay{display:none!important;}

.megaMenu,
.megaMenu *{box-sizing:border-box;}
.megaMenu{
  position:fixed!important;
  inset:0!important;
  z-index:110!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(92px,8vw,124px) clamp(18px,4vw,70px) clamp(22px,4vw,70px)!important;
  background:rgba(3,4,6,.88)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .54s var(--ck-menu-ease),visibility .54s var(--ck-menu-ease)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.megaMenu.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.megaMenu__atmosphere{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(780px 420px at 12% 12%,rgba(212,168,67,.09),transparent 66%),
    radial-gradient(760px 440px at 92% 0%,rgba(196,93,24,.10),transparent 64%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 40%);
}
.megaMenu__shell{
  position:relative;
  z-index:1;
  width:min(100%,1480px);
  min-height:min(720px,calc(100dvh - clamp(126px,12vw,170px)));
  display:grid;
  grid-template-rows:auto 1fr;
  gap:clamp(22px,2.4vw,34px);
  padding:clamp(22px,2.6vw,42px);
  border:1px solid rgba(212,168,67,.16);
  border-radius:clamp(24px,2.2vw,38px);
  background:
    radial-gradient(880px 320px at 0% 0%,rgba(212,168,67,.08),transparent 62%),
    radial-gradient(720px 420px at 100% 100%,rgba(196,93,24,.06),transparent 64%),
    linear-gradient(145deg,rgba(12,14,18,.98),rgba(4,4,6,.96));
  box-shadow:0 44px 140px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.045);
  transform:translateY(18px) scale(.985);
  transition:transform .64s var(--ck-menu-ease),opacity .64s var(--ck-menu-ease);
  opacity:.72;
}
.megaMenu.is-open .megaMenu__shell{
  transform:translateY(0) scale(1);
  opacity:1;
}
.megaMenu__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:clamp(16px,1.6vw,24px);
  border-bottom:1px solid rgba(212,168,67,.13);
}
.megaMenu__brand{
  display:inline-flex;
  align-items:center;
  gap:14px;
}
.megaMenu__mark{
  width:52px;
  height:52px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(212,168,67,.18);
}
.megaMenu__mark img{width:100%;height:100%;object-fit:cover;}
.megaMenu__brand span:last-child{display:grid;gap:4px;}
.megaMenu__brand b,.megaMenu__editorial strong,.megaMenu__nav strong{
  font-family:var(--title);
  font-weight:400;
  text-transform:uppercase;
  color:var(--text);
}
.megaMenu__brand b{font-size:24px;letter-spacing:.14em;line-height:.9;color:var(--gold-2);}
.megaMenu__brand small{font:700 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);}
.megaMenu__close{
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(212,168,67,.18);
  color:var(--text-soft);
  background:rgba(255,255,255,.025);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  cursor:pointer;
  transition:transform .32s var(--ck-menu-ease),border-color .32s var(--ck-menu-ease),background .32s var(--ck-menu-ease);
}
.megaMenu__grid{
  display:grid;
  grid-template-columns:minmax(280px,.95fr) minmax(360px,1.15fr) minmax(280px,.9fr);
  gap:clamp(20px,2.2vw,34px);
  align-items:stretch;
}
.megaMenu__editorial,.megaMenu__aside{display:grid;gap:clamp(16px,1.6vw,24px);align-content:start;}
.megaMenu__editorial small,.megaMenu__card b{
  color:var(--gold-2);
  font:800 12px/1 var(--body);
  letter-spacing:.22em;
  text-transform:uppercase;
}
.megaMenu__editorial strong{
  font-size:clamp(36px,4vw,68px);
  line-height:.9;
  letter-spacing:.035em;
  text-wrap:balance;
}
.megaMenu__editorial p,.megaMenu__card p,.megaMenu__nav small{
  color:var(--text-soft);
  line-height:1.65;
  margin:0;
}
.megaMenu__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.megaMenu__nav{display:grid;gap:10px;align-content:start;}
.megaMenu__nav a{
  position:relative;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:10px 18px;
  min-height:94px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(212,168,67,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.024),rgba(255,255,255,.008));
  transition:transform .42s var(--ck-menu-ease),border-color .42s var(--ck-menu-ease),background .42s var(--ck-menu-ease);
}
.megaMenu__nav span{
  grid-row:1 / span 2;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(212,168,67,.24);
  color:var(--gold-2);
  font:800 12px/1 var(--body);
}
.megaMenu__nav strong{font-size:clamp(26px,2.2vw,38px);line-height:.9;letter-spacing:.06em;}
.megaMenu__card{
  padding:clamp(18px,1.6vw,24px);
  border-radius:22px;
  border:1px solid rgba(212,168,67,.13);
  background:linear-gradient(180deg,rgba(255,255,255,.024),rgba(255,255,255,.008));
  display:grid;
  gap:12px;
}
.megaMenu__card a{color:var(--gold-2);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px;}
.megaMenu__card--quiet{opacity:.82;}
@media (hover:hover){
  .megaMenu__close:hover,.megaMenu__nav a:hover,.megaMenu__card a:hover{
    transform:translateY(-2px);
  }
  .megaMenu__nav a:hover{border-color:rgba(212,168,67,.28);background:rgba(212,168,67,.045);}
  .megaMenu__close:hover{border-color:rgba(212,168,67,.30);background:rgba(212,168,67,.055);}
}
body.menu-open .topbar__in{border-color:rgba(212,168,67,.28)!important;background:rgba(7,8,10,.78)!important;}
@media (max-width:1180px){
  .megaMenu__grid{grid-template-columns:1fr 1fr;}
  .megaMenu__editorial{grid-column:1 / -1;}
}
@media (max-width:860px){
  :root{--ck-header-space:76px;}
  .topbar .container{width:min(100% - 22px,760px)!important;}
  .topbar__in{min-height:58px!important;border-radius:20px!important;padding:8px 10px!important;}
  .brandtxt small{display:none!important;}
  .nav{display:none!important;}
  .theme-toggle{display:none!important;}
  .menu-toggle{display:inline-flex!important;min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;}
  .megaMenu{padding:82px 12px 12px!important;}
  .megaMenu__shell{min-height:calc(100dvh - 94px);padding:18px;border-radius:24px;overflow:auto;}
  .megaMenu__top{align-items:flex-start;}
  .megaMenu__grid{grid-template-columns:1fr;gap:16px;}
  .megaMenu__editorial strong{font-size:clamp(34px,12vw,54px);}
  .megaMenu__actions{display:grid;grid-template-columns:1fr;}
  .megaMenu__nav a{min-height:78px;padding:15px 16px;border-radius:18px;}
  .megaMenu__nav strong{font-size:clamp(24px,7vw,32px);}
  .megaMenu__aside{gap:12px;}
}
@media (max-width:420px){
  .brandtxt b{font-size:16px!important;letter-spacing:.12em!important;}
  .mark{width:42px!important;height:42px!important;}
  .megaMenu__brand b{font-size:20px;}
  .megaMenu__mark{width:46px;height:46px;}
  .megaMenu__close{padding:0 13px;font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .megaMenu,.megaMenu__shell,.topbar__in,.menu-toggle span,.nav-link,.megaMenu__nav a{transition:none!important;}
}


/* CAREKA DIGITAL — PERFORMANCE FLUIDITY V29 */
body::after{display:none!important;}
#fireCanvas{display:none!important;}
.reveal{transition:opacity .34s ease,transform .34s cubic-bezier(.16,1,.3,1)!important;}
.motion-ready .motion-reveal{will-change:auto!important;}
#portfolioGrid.portfolioTrack{transition:transform .48s cubic-bezier(.19,1,.22,1)!important;will-change:auto!important;}
#portfolio .port-img{transition:transform .42s cubic-bezier(.19,1,.22,1),filter .28s ease!important;will-change:auto!important;}
.pillarPanelV10,.pillarSolutionButtonV10,.topbar__in,.megaMenu__shell{will-change:auto!important;}
@media (max-width:760px){#portfolioGrid.portfolioTrack{transition:transform .32s cubic-bezier(.19,1,.22,1)!important;}.panel,.port-card,.pillarPanelV10,.cta-panel{box-shadow:0 18px 52px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)!important;}}


/* =========================================================
   CTA FINAL — Fundação Digital premium
   ========================================================= */
#cta-final{
  padding-top:clamp(18px,4vw,64px)!important;
}
.cta-panel--foundation{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  text-align:center;
  display:grid;
  justify-items:center;
  gap:clamp(18px,2.6vw,34px);
  padding:clamp(34px,6vw,82px) clamp(20px,6vw,78px)!important;
  border:1px solid color-mix(in srgb,var(--gold) 18%,var(--line));
  background:
    radial-gradient(760px 360px at 50% -14%,color-mix(in srgb,var(--gold) 16%,transparent),transparent 64%),
    radial-gradient(620px 300px at 12% 88%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),
    linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 96%,transparent),color-mix(in srgb,var(--surface) 99%,transparent));
}
.cta-panel--foundation::before{
  content:"";
  position:absolute;
  inset:clamp(10px,1.5vw,18px);
  border:1px solid color-mix(in srgb,var(--gold) 12%,transparent);
  border-radius:inherit;
  pointer-events:none;
  z-index:-1;
}
.cta-panel--foundation::after{
  content:"";
  position:absolute;
  width:min(520px,70vw);
  height:1px;
  left:50%;
  top:clamp(18px,3vw,36px);
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 54%,transparent),transparent);
  opacity:.72;
  pointer-events:none;
}
.cta-title-block--foundation{
  max-width:1080px;
  margin:0 auto;
}
.ctaFoundationTitle{
  margin:0;
  color:var(--text);
  font-family:var(--title,"Bebas Neue",Impact,Haettenschweiler,sans-serif);
  font-weight:400;
  font-size:clamp(28px,3.05vw,48px);
  line-height:1.04;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-wrap:balance;
  text-shadow:0 18px 50px color-mix(in srgb,var(--gold) 12%,transparent);
}
.ctaFoundationTitle span{
  display:block;
}
.ctaFoundationTitle span:nth-child(2),
.ctaFoundationTitle span:nth-child(4){
  color:var(--gold-2);
}
.ctaFoundationCopy{
  display:grid;
  gap:clamp(12px,1.25vw,16px);
  max-width:920px;
  margin:0 auto;
  color:var(--text-soft);
  font-size:clamp(15px,1.06vw,17px);
  line-height:1.76;
  font-weight:340;
}
.ctaFoundationCopy p{
  margin:0;
}
.ctaFoundationQuestion{
  max-width:850px;
  margin:0 auto;
  padding-top:clamp(12px,1.8vw,22px);
  color:var(--text);
  font-size:clamp(18px,1.48vw,24px);
  line-height:1.36;
  font-weight:460;
  text-wrap:balance;
}
.ctaFoundationActions{
  justify-content:center!important;
  margin-top:clamp(2px,.8vw,10px);
}
.ctaFoundationButton{
  min-height:56px;
  padding-inline:clamp(20px,3vw,34px);
}
html[data-theme="light"] .cta-panel--foundation{
  border-color:color-mix(in srgb,var(--accent-3) 18%,var(--line));
  background:
    radial-gradient(760px 360px at 50% -14%,color-mix(in srgb,var(--accent-3) 10%,transparent),transparent 64%),
    linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 98%,white),var(--surface));
}
html[data-theme="light"] .ctaFoundationTitle,
html[data-theme="light"] .ctaFoundationQuestion{
  color:var(--ink,#17120d);
  text-shadow:none;
}
html[data-theme="light"] .ctaFoundationTitle span:nth-child(2),
html[data-theme="light"] .ctaFoundationTitle span:nth-child(4){
  color:var(--accent-3,#9a4510);
}
@media(max-width:720px){
  .cta-panel--foundation{
    padding:clamp(30px,9vw,48px) clamp(18px,5vw,26px)!important;
  }
  .ctaFoundationTitle{
    font-size:clamp(28px,8.8vw,40px);
    line-height:1;
    letter-spacing:.038em;
  }
  .ctaFoundationCopy{
    font-size:15px;
    line-height:1.72;
  }
  .ctaFoundationQuestion{
    font-size:clamp(18px,5.4vw,23px);
  }
  .ctaFoundationButton{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* Hard guard: impede que qualquer bloco antigo do CTA final volte gigante via i18n/cache. */
#cta-final .title-line{
  font-family:var(--title,"Bebas Neue",Impact,Haettenschweiler,sans-serif);
  font-size:clamp(27px,3.35vw,52px)!important;
  line-height:1.01!important;
  letter-spacing:.04em!important;
  font-weight:400!important;
  text-transform:uppercase;
}
@media(max-width:720px){
  #cta-final .title-line{font-size:clamp(28px,8.8vw,40px)!important;}
}



/* CTA FINAL — travamento definitivo da Fundação Digital */
#cta-final .ctaFoundationTitle,
#cta-final .ctaFoundationTitle span,
#cta-final h2.ctaFoundationTitle,
#cta-final h2.ctaFoundationTitle span{
  font-family:var(--title,"Bebas Neue",Impact,Haettenschweiler,sans-serif)!important;
  font-weight:400!important;
  text-transform:uppercase!important;
}
#cta-final .ctaFoundationTitle{
  font-size:clamp(28px,3.05vw,48px)!important;
  line-height:1.04!important;
  letter-spacing:.04em!important;
  max-width:1080px!important;
}
#cta-final .ctaFoundationTitle .title-line,
#cta-final .title-line{
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
}

/* =========================================================
   CAREKA DIGITAL V34 — AUDITORIA UX/UI + SOLUÇÕES RESTAURADAS
   Objetivo: restaurar a seção de soluções com todos os dados,
   impedir colunas genéricas nos pilares e padronizar a hierarquia
   de títulos com impacto, respiro e legibilidade premium.
   ========================================================= */
:root{
  --ck-title-hero-v34: clamp(42px, 6.15vw, 92px);
  --ck-title-section-v34: clamp(36px, 4.7vw, 74px);
  --ck-title-panel-v34: clamp(34px, 4.15vw, 64px);
  --ck-title-card-v34: clamp(28px, 3.35vw, 52px);
  --ck-copy-v34: clamp(15px, 1.04vw, 17px);
  --ck-copy-wide-v34: min(840px, 100%);
}

.hero-title-block{
  font-size: var(--ck-title-hero-v34)!important;
  line-height: .91!important;
  letter-spacing: clamp(.025em, .36vw, .052em)!important;
  text-wrap: balance!important;
  max-width: 1050px!important;
}
.hero-lead-copy{
  max-width: 760px!important;
  font-size: clamp(16px, 1.12vw, 19px)!important;
  line-height: 1.72!important;
  text-wrap: pretty!important;
}

.secHead h2,
.servicesNoColumnsV10 .servicesIntro h2,
.blogEngine--focus h2,
.aboutSignature__title{
  font-size: var(--ck-title-section-v34)!important;
  line-height: .94!important;
  letter-spacing: .042em!important;
  text-wrap: balance!important;
  max-width: 980px!important;
}
.secHead small,
.servicesNoColumnsV10 .servicesIntro small,
.blogEngine__lead,
.aboutSignature__copy,
.aboutSignature__copy p{
  max-width: var(--ck-copy-wide-v34)!important;
  font-size: var(--ck-copy-v34)!important;
  line-height: 1.74!important;
  text-wrap: pretty!important;
}

#pilares{
  padding-top: clamp(54px, 7vw, 116px)!important;
}
#pilares .servicesIntro{
  display: grid!important;
  gap: clamp(10px, 1.35vw, 18px)!important;
  max-width: 1120px!important;
  margin-bottom: clamp(34px, 4.8vw, 68px)!important;
}
#pilares .servicesIntro__kicker{
  width: fit-content!important;
  padding: 9px 13px!important;
  border: 1px solid color-mix(in srgb, var(--gold) 18%, var(--line))!important;
  border-radius: 999px!important;
  background: color-mix(in srgb, var(--gold) 7%, transparent)!important;
  color: var(--gold-2)!important;
  font-size: 11px!important;
  font-weight: 820!important;
  letter-spacing: .16em!important;
  text-transform: uppercase!important;
}

#pilares .pillarStackV10{
  width: 100%!important;
  max-width: 1180px!important;
  margin-inline: auto!important;
  display: flex!important;
  flex-direction: column!important;
  grid-template-columns: none!important;
  gap: clamp(28px, 3.8vw, 52px)!important;
  align-items: stretch!important;
}
#pilares .pillarPanelV10,
#pilares .pillarPanelV11,
#pilares .pillarPanelV11.is-open{
  width: 100%!important;
  max-width: 100%!important;
  min-width: 0!important;
  grid-column: auto!important;
}
#pilares .pillarPanelV10{
  border-radius: clamp(24px, 2.8vw, 40px)!important;
  border-color: color-mix(in srgb, var(--gold) 16%, var(--line))!important;
  background:
    radial-gradient(980px 420px at 15% 0%, color-mix(in srgb, var(--gold) 8%, transparent), transparent 62%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 92%, transparent), color-mix(in srgb, var(--surface) 98%, transparent))!important;
}
#pilares .pillarPanelMediaV10{
  min-height: clamp(260px, 28vw, 430px)!important;
  aspect-ratio: 16 / 6.9!important;
}
#pilares .pillarPanelBodyV10{
  padding: clamp(24px, 3.4vw, 50px)!important;
  gap: clamp(16px, 2vw, 26px)!important;
}
#pilares .pillarPanelBodyV10 h3{
  max-width: 860px!important;
  font-size: var(--ck-title-panel-v34)!important;
  line-height: .94!important;
  letter-spacing: .04em!important;
  text-wrap: balance!important;
}
#pilares .pillarPanelBodyV10 p{
  max-width: 760px!important;
  font-size: var(--ck-copy-v34)!important;
  line-height: 1.72!important;
}
#pilares .pillarPanelServicesV10{
  display: flex!important;
  flex-direction: column!important;
  grid-template-columns: none!important;
  gap: clamp(10px, 1.1vw, 14px)!important;
}
#pilares .pillarSolutionButtonV10{
  width: 100%!important;
  display: flex!important;
  flex-direction: row!important;
  align-items: center!important;
  min-height: 64px!important;
  border-color: color-mix(in srgb, var(--gold) 13%, var(--line))!important;
  background: rgba(255,255,255,.025)!important;
}
#pilares .pillarSolutionsDrawerV11{
  max-height: none!important;
  overflow: visible!important;
  margin: 0 clamp(16px, 2.4vw, 38px) clamp(22px, 3vw, 42px)!important;
  padding: clamp(22px, 3.4vw, 46px)!important;
  border-radius: clamp(20px, 2.2vw, 32px)!important;
  border: 1px solid color-mix(in srgb, var(--gold) 14%, var(--line))!important;
  background: color-mix(in srgb, var(--surface) 88%, transparent)!important;
}
#pilares .pillarSolutionsHeaderV11 h4,
#pilares .pillarServiceHeaderV11 h4{
  font-size: var(--ck-title-card-v34)!important;
  line-height: .96!important;
  letter-spacing: .038em!important;
  text-wrap: balance!important;
}
#pilares .pillarSolutionsListV11{
  display: flex!important;
  flex-direction: column!important;
  grid-template-columns: none!important;
  gap: clamp(18px, 2.2vw, 30px)!important;
}
#pilares .pillarServiceFullCardV11{
  width: 100%!important;
  border-radius: clamp(18px, 2vw, 28px)!important;
}
#pilares .pillarServiceNarrativeV11 p,
#pilares .pillarServiceBlockV11 li,
#pilares .pillarServiceNoteV11 p,
#pilares .pillarServicePriceDetailsV11{
  font-size: clamp(14.5px, 1vw, 16px)!important;
  line-height: 1.7!important;
  text-wrap: pretty!important;
}

.blogFeatured__body--minimal h3{
  font-family: var(--title, "Bebas Neue", Impact, sans-serif)!important;
  font-size: clamp(30px, 3.55vw, 56px)!important;
  line-height: .96!important;
  letter-spacing: .04em!important;
  text-transform: uppercase!important;
  text-wrap: balance!important;
}
.blogFeatured__body--minimal h3 strong{
  color: var(--gold-2)!important;
  font-weight: 400!important;
}

#cta-final .ctaFoundationTitle{
  font-size: clamp(30px, 3.35vw, 54px)!important;
  line-height: 1.02!important;
  letter-spacing: .04em!important;
  max-width: 1040px!important;
}
.modalTitle{
  font-size: clamp(34px, 4.1vw, 66px)!important;
}

@media (min-width: 1100px){
  #pilares .pillarServiceFullCardV11{
    display: grid!important;
    grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr)!important;
  }
}
@media (max-width: 760px){
  :root{
    --ck-title-hero-v34: clamp(36px, 12.4vw, 56px);
    --ck-title-section-v34: clamp(32px, 10.6vw, 50px);
    --ck-title-panel-v34: clamp(31px, 10.4vw, 48px);
    --ck-title-card-v34: clamp(28px, 9vw, 42px);
  }
  #pilares .pillarPanelMediaV10{
    min-height: clamp(210px, 58vw, 340px)!important;
    aspect-ratio: 16 / 10!important;
  }
  #pilares .pillarSolutionButtonV10{
    flex-direction: column!important;
    align-items: flex-start!important;
  }
  #pilares .pillarSolutionsDrawerV11{
    margin-inline: 10px!important;
    padding: 18px!important;
  }
  #pilares .pillarServiceFullCardV11{
    display: grid!important;
    grid-template-columns: 1fr!important;
  }
  #cta-final .ctaFoundationTitle{
    font-size: clamp(28px, 8.6vw, 40px)!important;
  }
}
