:root {
  --pmx4-ink: #092827;
  --pmx4-deep: #061d1d;
  --pmx4-teal: #12a99f;
  --pmx4-coral: #ff6b4a;
  --pmx4-cream: #f4f3ec;
  --pmx4-paper: #fbfaf5;
  --pmx4-line: rgba(9, 40, 39, .14);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.pmx4-site {
  min-height: 100vh;
  overflow: hidden;
  background: var(--pmx4-paper);
  color: var(--pmx4-ink);
  font-family: "Bricolage Grotesque", Inter, system-ui, sans-serif;
}

.pmx4-site *, .pmx4-site *::before, .pmx4-site *::after { box-sizing: border-box; }
.pmx4-shell { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }

.pmx4-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 300;
  height: 82px;
  background: rgba(6, 29, 29, .78);
  border-bottom: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(18px) saturate(140%);
  color: white;
}
.pmx4-nav-inner {
  width: min(1360px, calc(100% - 48px));
  height: 100%;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
}
.pmx4-brand {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}
.pmx4-brand-logo { display: block; width: 176px; height: 46px; object-fit: contain; }
.pmx4-nav nav { display: flex; align-items: center; gap: 32px; }
.pmx4-nav nav a, .pmx4-nav-actions > a:first-child {
  position: relative; color: rgba(255,255,255,.78); text-decoration: none; font-size: 14px; font-weight: 600;
  transition: color .25s ease;
}
.pmx4-nav nav a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px;
  background: #63e4d9; transition: right .3s ease;
}
.pmx4-nav nav a:hover { color: white; }
.pmx4-nav nav a:hover::after { right: 0; }
.pmx4-nav-actions { justify-self: end; display: flex; align-items: center; gap: 18px; }
.pmx4-nav-cta {
  color: var(--pmx4-deep); background: #fff; text-decoration: none; padding: 13px 19px; border-radius: 999px;
  font-size: 14px; font-weight: 800; box-shadow: 0 8px 25px rgba(0,0,0,.14); transition: transform .25s, box-shadow .25s;
}
.pmx4-nav-cta:hover { transform: translateY(-3px); box-shadow: 0 15px 34px rgba(0,0,0,.25); }

.pmx4-hero { min-height: 760px; height: min(88vh, 880px); background: var(--pmx4-deep); color: white; }
.pmx4-hero-stage { position: relative; width: 100%; height: 100%; overflow: hidden; }
.pmx4-hero-images, .pmx4-hero-image, .pmx4-hero-shade { position: absolute; inset: 0; }
.pmx4-hero-image {
  background-size: cover; background-position: center;
  opacity: 0; transform: scale(1.07); transition: opacity .9s ease, transform 7s ease;
}
.pmx4-hero-image.is-active { opacity: 1; transform: scale(1); }
.pmx4-hero-shade {
  background:
    linear-gradient(90deg, rgba(3,24,24,.92) 0%, rgba(3,24,24,.74) 37%, rgba(3,24,24,.15) 68%, rgba(3,24,24,.42) 100%),
    linear-gradient(0deg, rgba(3,24,24,.72), transparent 48%);
}
.pmx4-hero-content {
  position: relative; z-index: 2; width: min(1280px, calc(100% - 64px)); height: 100%; margin: auto;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 82px; max-width: 1280px;
}
.pmx4-eyebrow, .pmx4-heading > span, .pmx4-solutions-head span, .pmx4-motion-copy > span {
  display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase;
}
.pmx4-eyebrow::before { content: ""; width: 34px; height: 2px; background: #63e4d9; }
.pmx4-hero-content h1 {
  width: min(790px, 68vw); margin: 28px 0 22px; font-size: clamp(38px, 4.8vw, 64px); line-height: 1;
  letter-spacing: -.065em; text-wrap: balance;
}
.pmx4-hero-content p { width: min(610px, 62vw); margin: 0; color: rgba(255,255,255,.78); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.5; }
.pmx4-hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 36px; }
.pmx4-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 25px; border-radius: 999px; text-decoration: none; font-weight: 800; transition: transform .25s, box-shadow .25s, background .25s; }
.pmx4-btn-primary { color: white; background: var(--pmx4-coral); box-shadow: 0 16px 35px rgba(255,107,74,.28); }
.pmx4-btn-primary:hover { transform: translateY(-4px); box-shadow: 0 22px 46px rgba(255,107,74,.42); }
.pmx4-watch { color: white; text-decoration: none; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 5px; transition: color .25s, border-color .25s; }
.pmx4-watch:hover { color: #63e4d9; border-color: #63e4d9; }
.pmx4-hero-footer {
  position: absolute; z-index: 3; left: max(32px, calc((100% - 1280px)/2)); right: max(32px, calc((100% - 1280px)/2)); bottom: 34px;
  display: flex; justify-content: space-between; align-items: center;
}
.pmx4-dots { display: flex; gap: 9px; }
.pmx4-dots button { width: 36px; height: 4px; border: 0; padding: 0; overflow: hidden; text-indent: -999px; border-radius: 5px; background: rgba(255,255,255,.3); cursor: pointer; transition: width .3s, background .3s; }
.pmx4-dots button.is-active { width: 74px; background: #63e4d9; }
.pmx4-hero-tag { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 999px; background: rgba(6,29,29,.55); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(10px); font-size: 13px; }
.pmx4-hero-tag i { width: 8px; height: 8px; border-radius: 50%; background: #63e4d9; box-shadow: 0 0 0 5px rgba(99,228,217,.15); }

.pmx4-proof { border-bottom: 1px solid var(--pmx4-line); background: white; }
.pmx4-proof > div { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pmx4-proof span { color: #778887; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.pmx4-proof b { color: var(--pmx4-ink); font-size: 17px; }

.pmx4-product { padding: 112px 0 124px; }
.pmx4-heading { max-width: 820px; margin-bottom: 55px; }
.pmx4-heading > span, .pmx4-solutions-head span, .pmx4-motion-copy > span { color: var(--pmx4-coral); }
.pmx4-heading h2, .pmx4-solutions-head h2, .pmx4-motion-copy h2 { margin: 14px 0 18px; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.05; letter-spacing: -.045em; }
.pmx4-heading p { max-width: 690px; margin: 0; color: #617473; font-size: 20px; line-height: 1.55; }
.pmx4-story { display: grid; grid-template-columns: 1.15fr 1fr .78fr; gap: 18px; align-items: stretch; }
.pmx4-story article { position: relative; min-height: 430px; border-radius: 30px; overflow: hidden; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.pmx4-story article:hover { transform: translateY(-10px); box-shadow: 0 30px 60px rgba(9,40,39,.16); }
.pmx4-story-main { padding: 40px; background: var(--pmx4-ink); color: white; }
.pmx4-story article > span { font-size: 12px; font-weight: 800; letter-spacing: .2em; opacity: .6; }
.pmx4-story h3 { margin: 28px 0 12px; font-size: 34px; letter-spacing: -.04em; }
.pmx4-story p { color: inherit; opacity: .72; font-size: 17px; line-height: 1.5; }
.pmx4-chat-sample { position: absolute; left: 35px; right: 35px; bottom: 34px; padding: 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: rgba(255,255,255,.08); transition: transform .35s; }
.pmx4-story-main:hover .pmx4-chat-sample { transform: translateX(8px); }
.pmx4-chat-sample p { margin: 5px 0 0; opacity: .9; }
.pmx4-story-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.pmx4-story-photo:hover img { transform: scale(1.07); }
.pmx4-story-photo > div { position: absolute; inset: auto 0 0; padding: 75px 34px 30px; color: white; background: linear-gradient(transparent, rgba(6,29,29,.94)); }
.pmx4-story-photo h3 { margin-top: 10px; }
.pmx4-story-photo p { margin-bottom: 0; }
.pmx4-story-result { padding: 36px; background: #dff6f2; }
.pmx4-result-icon { width: 70px; height: 70px; margin-top: 48px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--pmx4-teal); font-size: 30px; transition: transform .35s; }
.pmx4-story-result:hover .pmx4-result-icon { transform: rotate(-10deg) scale(1.12); }
.pmx4-story-result p { margin-bottom: 78px; }
.pmx4-story-result strong { position: absolute; bottom: 34px; color: var(--pmx4-teal); font-size: 20px; }

.pmx4-solutions { padding: 110px 0 120px; background: var(--pmx4-deep); color: white; }
.pmx4-solutions-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.pmx4-solutions-head h2 { margin-bottom: 0; }
.pmx4-carousel-arrows { display: flex; gap: 10px; }
.pmx4-carousel-arrows button { width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: transparent; font-size: 22px; cursor: pointer; transition: background .25s, color .25s, transform .25s; }
.pmx4-carousel-arrows button:hover { color: var(--pmx4-deep); background: #63e4d9; transform: scale(1.08); }
.pmx4-carousel-window { width: 100%; overflow: hidden; }
.pmx4-carousel-track { display: flex; gap: 20px; transition: translate .65s cubic-bezier(.22,1,.36,1); }
.pmx4-niche-card { position: relative; flex: 0 0 min(390px, 31vw); height: 500px; overflow: hidden; border-radius: 28px; background: #153a39; }
.pmx4-niche-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.pmx4-niche-card:hover img { transform: scale(1.09); }
.pmx4-niche-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,29,29,.02), rgba(6,29,29,.9)); transition: background .35s; }
.pmx4-niche-card:hover .pmx4-niche-overlay { background: linear-gradient(180deg, rgba(6,29,29,.12), rgba(6,29,29,.96)); }
.pmx4-niche-card > span { position: absolute; top: 25px; right: 25px; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; font-size: 12px; }
.pmx4-niche-card > div:last-child { position: absolute; left: 28px; right: 28px; bottom: 28px; }
.pmx4-niche-card h3 { margin: 0 0 10px; font-size: 34px; letter-spacing: -.04em; }
.pmx4-niche-card p { margin: 0 0 20px; color: rgba(255,255,255,.7); line-height: 1.45; }
.pmx4-niche-card a { color: #63e4d9; text-decoration: none; font-weight: 800; }
.pmx4-carousel-progress { display: flex; gap: 7px; margin-top: 30px; }
.pmx4-carousel-progress button { border: 0; border-radius: 999px; padding: 8px 14px; color: rgba(255,255,255,.55); background: rgba(255,255,255,.06); cursor: pointer; transition: color .25s, background .25s; }
.pmx4-carousel-progress button.is-active { color: var(--pmx4-deep); background: #63e4d9; }

.pmx4-motion { padding: 125px 0; background: var(--pmx4-cream); }
.pmx4-motion-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 78px; align-items: center; }
.pmx4-motion-copy p { color: #617473; font-size: 18px; line-height: 1.55; }
.pmx4-motion-copy ul { list-style: none; padding: 0; margin: 28px 0; }
.pmx4-motion-copy li { padding: 13px 0; border-bottom: 1px solid var(--pmx4-line); font-weight: 650; }
.pmx4-motion-copy li::before { content: "✓"; color: var(--pmx4-teal); margin-right: 12px; }
.pmx4-text-link { color: var(--pmx4-coral); text-decoration: none; font-weight: 800; }
.pmx4-video-card {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(9,40,39,.13);
  border-radius: 34px;
  background: linear-gradient(145deg, #ffffff, #e7ebe4);
  box-shadow: 0 34px 75px rgba(9,40,39,.2);
  transition: transform .4s, box-shadow .4s;
}
.pmx4-video-card:hover { transform: rotate(-1deg) translateY(-8px); box-shadow: 0 44px 90px rgba(9,40,39,.28); }
.pmx4-video-card video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 22px;
  background: #0a113d;
  object-fit: contain;
}
.pmx4-video-card span { position: absolute; top: 32px; left: 32px; padding: 9px 12px; border-radius: 999px; color: white; background: rgba(6,29,29,.72); backdrop-filter: blur(8px); font-size: 10px; font-weight: 800; letter-spacing: .14em; }

.pmx4-btn-light { color: var(--pmx4-ink); background: white; box-shadow: 0 16px 35px rgba(90,28,15,.16); }
.pmx4-btn-light:hover { transform: translateY(-4px) rotate(-1deg); box-shadow: 0 24px 46px rgba(90,28,15,.24); }
.pmx4-footer { color: white; background: var(--pmx4-deep); }
.pmx4-footer > div { min-height: 110px; display: flex; align-items: center; gap: 28px; }
.pmx4-footer strong { font-size: 22px; }
.pmx4-footer span { color: rgba(255,255,255,.58); }
.pmx4-footer small { margin-left: auto; color: rgba(255,255,255,.45); }

/* A entrada mantém a mesma identidade humana e fotográfica da landing. */
body:has(form[action*="login"]), body:has(input[type="password"]) { background: var(--pmx4-paper); }
.papmix-auth-shell {
  width: 100%;
  height: 100dvh;
  min-height: 0 !important;
  overflow: hidden;
}
.papmix-login-visual,
.papmix-login-form,
.papmix-register-visual,
.papmix-register-form,
.papmix-forgot-visual,
.papmix-forgot-form {
  height: 100dvh;
  min-height: 0;
}
.papmix-login-visual { background: var(--pmx4-deep) !important; }
.papmix-login-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .48 !important;
  filter: saturate(.75) hue-rotate(120deg) contrast(1.05);
}
.papmix-login-overlay { background: linear-gradient(135deg, rgba(6,29,29,.96), rgba(6,29,29,.48)) !important; }
.papmix-login-visual > .relative.z-10 {
  width: 100%;
  padding: clamp(26px, 4.5vh, 50px) clamp(34px, 4vw, 58px) !important;
}
.papmix-login-visual .max-w-md { max-width: 590px !important; }
.papmix-login-visual .mb-8 { margin-bottom: clamp(14px, 2.4vh, 24px) !important; }
.papmix-login-visual .mb-6 { margin-bottom: 14px !important; }
.papmix-login-visual h1.text-4xl {
  max-width: 570px;
  margin-bottom: 12px !important;
  font-size: clamp(31px, 3.2vw, 47px) !important;
  line-height: 1.03 !important;
  letter-spacing: -.035em;
}
.papmix-login-visual p.text-xl {
  max-width: 565px;
  margin-bottom: clamp(12px, 2vh, 20px) !important;
  font-size: clamp(15px, 1.35vw, 18px) !important;
  line-height: 1.45 !important;
}
.papmix-login-visual .space-y-6 {
  display: grid;
  gap: 10px;
}
.papmix-login-visual .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 0 !important; }
.papmix-login-visual .space-y-6 > .flex {
  min-height: 0;
  align-items: flex-start !important;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 15px;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(10px);
}
.papmix-login-visual .space-y-6 > .flex > :last-child { min-width: 0; }
.papmix-login-visual .space-y-6 h3 { font-size: 15px !important; line-height: 1.25; }
.papmix-login-visual .space-y-6 p { font-size: 13px !important; line-height: 1.35; }
.papmix-login-form,
.papmix-register-form,
.papmix-forgot-form {
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (min-width: 981px) {
  .papmix-login-visual,
  .papmix-register-visual,
  .papmix-forgot-visual { flex: 0 0 50%; width: 50% !important; }
  .papmix-login-form,
  .papmix-register-form,
  .papmix-forgot-form { flex: 0 0 50%; width: 50% !important; }
}
.papmix-login-title strong, .papmix-login-eyebrow { color: #63e4d9 !important; }
.papmix-login-submit { background: var(--pmx4-coral) !important; border-color: var(--pmx4-coral) !important; box-shadow: 0 14px 30px rgba(255,107,74,.28) !important; transition: transform .25s, box-shadow .25s !important; }
.papmix-login-submit:hover { transform: translateY(-3px); box-shadow: 0 20px 38px rgba(255,107,74,.38) !important; }
.papmix-login-form button[type="submit"].from-blue-600 {
  background-image: none !important;
  background-color: var(--pmx4-coral) !important;
  box-shadow: 0 14px 30px rgba(255,107,74,.28) !important;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease !important;
}
.papmix-login-form button[type="submit"].from-blue-600:hover {
  background-color: #f15e40 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 38px rgba(255,107,74,.38) !important;
}
.papmix-login-form button[type="submit"] + button[type="submit"] {
  border-color: rgba(15,105,103,.28) !important;
}
.papmix-login-form button[type="submit"] + button[type="submit"]:hover {
  border-color: var(--pmx4-teal) !important;
  color: var(--pmx4-teal) !important;
}

/* Cadastro: a mesma marca, com composição própria e formulário mais leve. */
.papmix-register-visual,
.papmix-forgot-visual {
  background-color: var(--pmx4-deep) !important;
  background-image:
    linear-gradient(135deg, rgba(4,31,31,.94), rgba(4,31,31,.54)),
    url('/papmix-ia-hero-v4.png') !important;
  background-position: 58% center !important;
  background-size: cover !important;
}
.papmix-register-overlay,
.papmix-forgot-overlay {
  background: linear-gradient(180deg, rgba(5,39,38,.16), rgba(5,39,38,.76)) !important;
}
.papmix-register-content,
.papmix-forgot-content {
  width: 100%;
  padding: clamp(28px, 5vh, 54px) clamp(36px, 4vw, 62px) !important;
}
.papmix-forgot-content .max-w-md { max-width: 560px !important; }
.papmix-forgot-content h1 {
  font-size: clamp(31px, 3.2vw, 48px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
}
.papmix-forgot-content > .max-w-md > p {
  color: rgba(255,255,255,.76) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}
.papmix-forgot-content ul { display: grid; gap: 12px; margin-top: 22px !important; }
.papmix-forgot-content ul > :not([hidden]) ~ :not([hidden]) { margin-top: 0 !important; }
.papmix-forgot-content li {
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 15px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.papmix-register-content .max-w-md { max-width: 560px !important; }
.papmix-register-content .mb-8 { margin-bottom: 22px !important; }
.papmix-register-content .mb-6 { margin-bottom: 15px !important; }
.papmix-register-content h1 {
  font-size: clamp(31px, 3.2vw, 48px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em;
}
.papmix-register-content p.text-xl {
  margin-bottom: 20px !important;
  color: rgba(255,255,255,.75) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
}
.papmix-register-content .space-y-6 { display: grid; gap: 12px; }
.papmix-register-content .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 0 !important; }
.papmix-register-content .space-y-6 > .flex {
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 15px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.papmix-register-content .space-y-6 h3 { font-size: 15px !important; }
.papmix-register-content .space-y-6 p { color: rgba(255,255,255,.7) !important; font-size: 13px !important; line-height: 1.35; }
.papmix-login-form,
.papmix-register-form,
.papmix-forgot-form { background: #f8f5ee !important; }
.papmix-register-form > .w-full {
  padding: 20px 0;
}
.papmix-register-form input {
  border-color: rgba(9,78,76,.2) !important;
  background: rgba(255,255,255,.9) !important;
}
.papmix-register-form input:focus {
  border-color: var(--pmx4-teal) !important;
  box-shadow: 0 0 0 3px rgba(14,153,146,.12) !important;
}
.papmix-forgot-form input {
  border-color: rgba(9,78,76,.2) !important;
  background: rgba(255,255,255,.9) !important;
}
.papmix-forgot-form input:focus {
  border-color: var(--pmx4-teal) !important;
  box-shadow: 0 0 0 3px rgba(14,153,146,.12) !important;
}
.papmix-register-submit {
  border-color: var(--pmx4-coral) !important;
  background-image: none !important;
  background-color: var(--pmx4-coral) !important;
  box-shadow: 0 14px 30px rgba(255,107,74,.26) !important;
}
.papmix-register-submit:hover {
  background-color: #f15e40 !important;
  box-shadow: 0 20px 38px rgba(255,107,74,.34) !important;
}
.papmix-forgot-submit {
  border-color: var(--pmx4-coral) !important;
  background-image: none !important;
  background-color: var(--pmx4-coral) !important;
  box-shadow: 0 14px 30px rgba(255,107,74,.26) !important;
}
.papmix-forgot-submit:hover {
  background-color: #f15e40 !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 38px rgba(255,107,74,.34) !important;
}
.papmix-register-secondary { border-color: rgba(15,105,103,.28) !important; }
.papmix-register-secondary:hover {
  border-color: var(--pmx4-teal) !important;
  color: var(--pmx4-teal) !important;
}
.papmix-register-form a.text-green-600 { color: var(--pmx4-teal) !important; }
.papmix-register-form .relative.my-8 span.bg-white { background: #f8f5ee !important; }
.papmix-login-form .relative.my-8 span.bg-white { background: #f8f5ee !important; }

/* Painel autenticado: mesma paleta da landing, sem alterar a estrutura das telas. */
body:has(aside.hidden.md\:flex) {
  --primary: 176 80% 36%;
  --primary-foreground: 0 0% 100%;
  --background: 48 27% 96%;
  --foreground: 178 63% 10%;
  --card: 48 33% 99%;
  --card-foreground: 178 63% 10%;
  --muted: 169 24% 92%;
  --muted-foreground: 176 14% 38%;
  --accent: 169 34% 89%;
  --accent-foreground: 178 63% 10%;
  --border: 170 22% 84%;
  background:
    radial-gradient(circle at 88% 8%, rgba(18,169,159,.10), transparent 28rem),
    #f4f3ec;
}
body:has(aside.hidden.md\:flex) > #root > .relative.flex.h-screen,
body:has(aside.hidden.md\:flex) > #root > div > .relative.flex.h-screen {
  background: transparent !important;
}
body:has(aside.hidden.md\:flex) aside > div {
  border-color: rgba(18,169,159,.18) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,244,.93)) !important;
  box-shadow: 16px 0 45px rgba(6,29,29,.08) !important;
}
body:has(aside.hidden.md\:flex) aside nav a,
body:has(aside.hidden.md\:flex) aside nav button {
  border-radius: 12px !important;
}
body:has(aside.hidden.md\:flex) aside nav a:hover,
body:has(aside.hidden.md\:flex) aside nav button:hover {
  background: rgba(18,169,159,.10) !important;
  color: #087c76 !important;
}
body:has(aside.hidden.md\:flex) aside img[src*="botclik-logo.webp"] {
  width: 174px !important;
  height: 48px !important;
  object-fit: contain !important;
}
body:has(aside.hidden.md\:flex) main,
body:has(aside.hidden.md\:flex) [role="main"] {
  background-color: transparent;
}
body:has(aside.hidden.md\:flex) main header,
body:has(aside.hidden.md\:flex) [role="main"] header {
  border-color: rgba(18,169,159,.16) !important;
  background: rgba(251,250,245,.88) !important;
  backdrop-filter: blur(18px) saturate(130%);
}
body:has(aside.hidden.md\:flex) .bg-primary {
  background-color: var(--pmx4-teal) !important;
}
body:has(aside.hidden.md\:flex) .text-primary {
  color: #087c76 !important;
}

.dark body:has(aside.hidden.md\:flex) {
  --background: 180 61% 7%;
  --foreground: 48 33% 96%;
  --card: 178 49% 10%;
  --card-foreground: 48 33% 96%;
  --muted: 177 32% 14%;
  --muted-foreground: 167 18% 68%;
  --border: 174 29% 22%;
  background: radial-gradient(circle at 88% 8%, rgba(18,169,159,.14), transparent 30rem), #061616;
}
.dark body:has(aside.hidden.md\:flex) aside > div {
  border-color: rgba(99,228,217,.18) !important;
  background: linear-gradient(180deg, rgba(6,29,29,.98), rgba(7,39,38,.96)) !important;
  box-shadow: 16px 0 45px rgba(0,0,0,.22) !important;
}
.dark body:has(aside.hidden.md\:flex) aside nav a:hover,
.dark body:has(aside.hidden.md\:flex) aside nav button:hover {
  background: rgba(99,228,217,.12) !important;
  color: #63e4d9 !important;
}
.dark body:has(aside.hidden.md\:flex) main header,
.dark body:has(aside.hidden.md\:flex) [role="main"] header {
  border-color: rgba(99,228,217,.14) !important;
  background: rgba(6,22,22,.86) !important;
}

/* Legal documents use the landing page shell; only the central content changes. */
.pmx4-legal { min-height: 100vh; overflow: visible; }
.pmx4-nav-language {
  width: 42px !important; height: 42px !important; padding: 0 !important;
  border: 1px solid rgba(255,255,255,.24) !important; border-radius: 999px !important;
  color: #fff !important; background: rgba(255,255,255,.08) !important;
}
.pmx4-nav-language:hover { background: rgba(255,255,255,.17) !important; }
.pmx4-legal-document { padding-top: 142px; }
.pmx4-legal-document .pmx4-heading { margin-bottom: 42px; }
.pmx4-legal-document .pmx4-heading h1 {
  max-width: none; font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(50px,7vw,82px); font-weight: 400; letter-spacing: -.04em; line-height: 1;
}
.pmx4-legal-paper { padding-top: 8px; border-top: 1px solid var(--pmx4-line); }
.pmx4-legal-intro {
  max-width: 920px; margin: 0; padding: 34px 0; color: #345452; font-size: 18px; line-height: 1.75;
}
.pmx4-legal-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 42px; }
.pmx4-legal-sections section { padding: 25px 0 27px; border-bottom: 1px solid var(--pmx4-line); }
.pmx4-legal-sections h2 { margin: 0 0 13px; color: var(--pmx4-ink); font-size: 17px; line-height: 1.35; }
.pmx4-legal-sections ul { margin: 0; padding-left: 18px; color: #55706e; font-size: 14px; line-height: 1.7; }
.pmx4-legal-sections li + li { margin-top: 7px; }

@media (max-height: 760px) and (min-width: 1024px) {
  .papmix-login-form { padding-top: 20px !important; padding-bottom: 20px !important; }
  .papmix-login-form .space-y-6 { gap: 15px; }
  .papmix-login-form .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 15px; }
  .papmix-login-form .relative.my-8 { margin-top: 18px !important; margin-bottom: 18px !important; }
  .papmix-login-form .text-center.pt-6 { padding-top: 14px !important; }
  .papmix-register-form { padding-top: 18px !important; padding-bottom: 18px !important; }
  .papmix-forgot-form { padding-top: 18px !important; padding-bottom: 18px !important; }
  .papmix-register-form > .w-full { padding: 0; }
  .papmix-register-form .space-y-6 { gap: 14px; }
  .papmix-register-form form.space-y-5 { gap: 12px; }
  .papmix-register-form form.space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 12px; }
  .papmix-register-form .relative.my-8 { margin-top: 16px !important; margin-bottom: 16px !important; }
  .papmix-register-form .text-center.pt-6 { padding-top: 12px !important; }
}

@media (max-width: 980px) {
  .papmix-auth-shell { height: auto; min-height: 100dvh !important; overflow: visible; }
  .papmix-login-form, .papmix-register-form, .papmix-forgot-form { height: auto; min-height: 100dvh; overflow: visible; }
  .pmx4-nav-inner { grid-template-columns: 1fr auto; }
  .pmx4-nav nav { display: none; }
  .pmx4-story { grid-template-columns: 1fr 1fr; }
  .pmx4-story-result { grid-column: 1 / -1; min-height: 270px !important; }
  .pmx4-niche-card { flex-basis: min(390px, 72vw); }
  .pmx4-motion-grid { grid-template-columns: 1fr; gap: 52px; }
}

@media (max-width: 640px) {
  .pmx4-shell, .pmx4-hero-content { width: calc(100% - 36px); }
  .pmx4-nav { height: 68px; }
  .pmx4-nav-inner { width: calc(100% - 28px); }
  .pmx4-brand { padding: 6px 9px; border-radius: 13px; }
  .pmx4-brand-logo { width: 128px; height: 34px; }
  .pmx4-nav-actions > a:first-child { display: none; }
  .pmx4-nav-cta { padding: 11px 14px; font-size: 12px; }
  .pmx4-hero { min-height: 680px; height: 86svh; }
  .pmx4-hero-image { background-position: 61% center; }
  .pmx4-hero-shade { background: linear-gradient(90deg, rgba(3,24,24,.94), rgba(3,24,24,.48)), linear-gradient(0deg, rgba(3,24,24,.75), transparent); }
  .pmx4-hero-content { padding-top: 68px; justify-content: center; }
  .pmx4-hero-content h1 { width: 100%; font-size: clamp(32px, 10vw, 48px); }
  .pmx4-hero-content p { width: 100%; font-size: 15px; }
  .pmx4-hero-footer { left: 18px; right: 18px; bottom: 22px; }
  .pmx4-hero-tag { display: none; }
  .pmx4-proof > div { overflow-x: auto; justify-content: flex-start; min-height: 80px; }
  .pmx4-proof b { white-space: nowrap; }
  .pmx4-product, .pmx4-solutions, .pmx4-motion { padding: 80px 0; }
  .pmx4-story { grid-template-columns: 1fr; }
  .pmx4-story-result { grid-column: auto; }
  .pmx4-story article { min-height: 360px; }
  .pmx4-solutions-head { align-items: flex-end; }
  .pmx4-solutions-head h2 { font-size: 34px; }
  .pmx4-niche-card { flex-basis: 82vw; height: 440px; }
  .pmx4-carousel-track { gap: 14px; }
  .pmx4-carousel-progress { overflow-x: auto; padding-bottom: 6px; }
  .pmx4-video-card { padding: 10px; border-radius: 25px; }
  .pmx4-video-card video { border-radius: 17px; }
  .pmx4-video-card span { top: 22px; left: 22px; }
  .pmx4-footer > div { padding: 28px 0; flex-wrap: wrap; }
  .pmx4-footer small { margin-left: 0; width: 100%; }
  .pmx4-legal-document { padding-top: 108px; }
  .pmx4-legal-document .pmx4-heading { margin-bottom: 26px; }
  .pmx4-legal-intro { padding: 26px 0; font-size: 16px; }
  .pmx4-legal-sections { grid-template-columns: 1fr; }
}

/* Dropdown de idioma acima da navbar (Radix z-50 < nav z-300) */
.pmx4-nav, .pmx4-nav-inner, .pmx4-nav-actions { overflow: visible !important; }
[data-radix-popper-content-wrapper] { z-index: 500 !important; }

.pmx4-proof a {
  color: var(--pmx4-ink);
  text-decoration: none;
  font-size: 17px;
  font-weight: 700;
  transition: color .2s ease;
}
.pmx4-proof a:hover { color: var(--pmx4-teal); }

.papmix-wa-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 450;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: #25d366;
  color: #fff;
  box-shadow: 0 14px 34px rgba(37, 211, 102, .35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.papmix-wa-float:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(37, 211, 102, .45);
}
.papmix-wa-float svg { width: 30px; height: 30px; fill: currentColor; }
body:has(aside.hidden.md\:flex) .papmix-wa-float { display: none; }

@media (max-width: 640px) {
  .papmix-wa-float { right: 16px; bottom: 16px; width: 54px; height: 54px; }
}
