/* CondPrime — estilos independentes. Altere as cores em :root. */
:root {
  --red:#920500;
  --red-dark:#710400;
  --ink:#252124;
  --muted:#6b6160;
  --soft:#f5f2f0;
  --line:#e4deda;
  --radius:8px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}

body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font:16px/1.7 Arial,Helvetica,sans-serif
}

a {
  color:var(--red);
  text-underline-offset:4px
}

img {
  max-width:100%;
  height:auto
}

button,input,textarea {
  font:inherit
}

button,a {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

h1,h2,h3,h4,h5,h6 {
  color:var(--ink);
  line-height:1.2;
  margin:0 0 20px
}

h1 {
  font-size:clamp(34px,4vw,58px);
  letter-spacing:-1.6px
}

h2 {
  font-size:clamp(26px,2.8vw,38px);
  letter-spacing:-.8px
}

h3 {
  font-size:23px;
  letter-spacing:-.3px
}

h4 {
  font-size:19px;
  font-weight:500;
  line-height:1.65;
  color:var(--muted)
}

h5 {
  font-size:23px
}

p {
  margin:0 0 20px
}

ul {
  padding-left:22px
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #cc842f;
  outline-offset:4px
}

[hidden] {
  display:none!important
}

.container {
  width:100%;
  max-width:1240px;
  padding-left:36px;
  padding-right:36px;
  margin:auto
}

.skip-link {
  position:fixed;
  left:16px;
  top:-150px;
  background:#fff;
  padding:14px;
  z-index:100
}

.skip-link:focus {
  top:10px
}

.site-header {
  position:sticky;
  top:0;
  background:#fffffff5;
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
  z-index:20
}

.header-inner {
  min-height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}

.brand {
  display:block;
  flex-shrink:0
}

.brand img {
  width:175px;
  display:block
}

.header-inner nav {
  display:flex;
  align-items:center;
  gap:28px
}

.header-inner nav>a {
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  color:var(--ink);
  padding:12px 0
}

.header-inner nav>a:hover,.header-inner nav>a[aria-current] {
  color:var(--red)
}

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:var(--red);
  color:#fff;
  border:1px solid var(--red);
  border-radius:5px;
  padding:15px 22px;
  line-height:1.5;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  transition:background .2s
}

.button:hover {
  background:var(--red-dark);
  color:#fff
}

.button.small {
  padding:12px 17px
}

.button.outline {
  color:var(--red);
  background:transparent
}

.button.outline:hover {
  background:var(--soft)
}

.button.full {
  width:100%
}

.menu-toggle {
  display:none
}

.page-title {
  background:var(--soft);
  padding:58px 0
}

.page-title h1 {
  margin:0
}

.eyebrow {
  color:var(--red);
  font-size:12px;
  letter-spacing:2px;
  font-weight:700;
  margin-bottom:16px
}

.content-section {
  padding:46px 0
}

.content-section:nth-of-type(even) {
  background:#fcfaf8
}

.row {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:32px;
  align-items:start
}

.column {
  min-width:0;
  grid-column:span 12
}

.col-3 {
  grid-column:span 3
}

.col-4 {
  grid-column:span 4
}

.col-5 {
  grid-column:span 5
}

.col-6 {
  grid-column:span 6
}

.col-7 {
  grid-column:span 7
}

.col-8 {
  grid-column:span 8
}

.col-9 {
  grid-column:span 9
}

.inner-row {
  padding:0;
  gap:20px
}

.prose {
  margin-bottom:20px
}

.prose:last-child {
  margin-bottom:0
}

.prose p {
  line-height:1.85
}

.prose h4 {
  font-size:18px
}

.content-image {
  margin:0 0 28px;
  text-align:center
}

.source-image {
  display:block;
  margin:auto;
  max-height:400px;
  object-fit:contain
}

.card-grid {
  display:grid;
  gap:24px
}

.four {
  grid-template-columns:repeat(4,minmax(0,1fr))
}

.three {
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  height:100%
}

.card p {
  color:var(--muted)
}

.card p:last-child {
  margin-bottom:0
}

.card h3 {
  font-size:22px
}

.info-card img {
  width:65px;
  height:65px;
  object-fit:contain;
  margin-bottom:24px
}

.info-card h2 {
  font-size:23px
}

.info-card p {
  font-size:15px
}

.team img {
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:8px;
  margin:0 0 24px
}

.team h3 {
  font-size:22px
}

.team p:not(.eyebrow) {
  font-size:15px;
  color:var(--muted)
}

.team .eyebrow {
  margin-bottom:10px
}

.progress-item {
  margin:25px 0
}

.progress-item>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:10px;
  font-size:14px
}

.progress-item progress {
  appearance:none;
  border:0;
  width:100%;
  height:7px;
  border-radius:7px;
  overflow:hidden;
  background:var(--line);
  color:var(--red)
}

progress::-webkit-progress-bar {
  background:var(--line)
}

progress::-webkit-progress-value {
  background:var(--red)
}

progress::-moz-progress-bar {
  background:var(--red)
}

.value-item {
  display:inline-flex;
  gap:10px;
  align-items:center;
  min-width:32%;
  margin-bottom:18px;
  color:var(--muted)
}

.value-item span {
  color:var(--red)
}

.callout {
  background:var(--red);
  padding:35px 36px;
  color:white;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px
}

.callout h4 {
  color:white;
  margin:0
}

.callout .prose {
  margin:0
}

.callout .button {
  flex-shrink:0;
  background:white;
  color:var(--red)
}

.testimonial {
  margin:0;
  padding:28px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:8px;
  display:flex;
  flex-direction:column
}

.testimonial h3 {
  font-size:22px
}

.testimonial blockquote {
  font-size:15px;
  margin:0 0 24px;
  color:var(--muted);
  line-height:1.8;
  flex:1
}

.testimonial figcaption {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:14px
}

.testimonial .avatar {
  width:50px;
  height:50px;
  object-fit:cover;
  border-radius:50%
}

.testimonial figcaption span {
  display:block;
  color:var(--muted);
  font-size:13px
}

.system-hero {
  padding:60px 45px;
  background:linear-gradient(135deg,#a80b07,#780400);
  text-align:center;
  border-radius:8px 8px 50px 8px;
  color:#f0c9c6
}

.system-hero h1 {
  color:white
}

.system-hero p {
  margin-bottom:0
}

.table-scroll {
  overflow-x:auto;
  margin-top:30px
}

table {
  width:100%;
  border-collapse:collapse;
  min-width:500px;
  font-size:15px
}

caption {
  text-align:left;
  font-weight:700;
  margin-bottom:15px
}

th,td {
  padding:17px 20px;
  text-align:left;
  border-bottom:1px solid var(--line)
}

thead {
  background:var(--red);
  color:#fff
}

tbody tr:nth-child(even) {
  background:var(--soft)
}

tbody th {
  font-weight:500
}

.price {
  color:var(--red)!important;
  font-size:30px;
  font-weight:700;
  letter-spacing:-.7px;
  margin-bottom:0
}

.price-card ul {
  font-size:14px;
  line-height:1.9
}

.price-card li {
  margin-bottom:7px
}

.native-tabs {
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:#fff
}

.tab-list {
  display:flex;
  border-bottom:1px solid var(--line);
  overflow-x:auto
}

.tab-list button {
  flex:1;
  padding:17px 13px;
  border:0;
  border-bottom:3px solid transparent;
  font-size:14px;
  font-weight:700;
  color:var(--muted);
  background:white
}

.tab-list button[aria-selected=true] {
  color:var(--red);
  border-bottom-color:var(--red);
  background:#fcfaf8
}

.native-tabs [role=tabpanel] {
  padding:26px;
  font-size:16px;
  line-height:1.8
}

.native-tabs [role=tabpanel] .prose {
  margin-bottom:15px
}

.empty-news {
  padding-top:35px;
  padding-bottom:35px;
  max-width:900px
}

.contact-form {
  padding:32px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fcfaf8
}

.contact-form h2 {
  font-size:27px
}

.contact-form>p {
  color:var(--muted);
  font-size:15px
}

.contact-form label {
  display:block;
  font-weight:600;
  font-size:14px;
  margin:20px 0 6px
}

.contact-form label span {
  font-weight:400;
  color:var(--muted)
}

input,textarea {
  display:block;
  width:100%;
  border:1px solid #cfc5c0;
  border-radius:5px;
  background:#fff;
  color:var(--ink);
  padding:12px;
  min-height:46px
}

textarea {
  resize:vertical
}

.contact-form .form-note {
  font-size:13px;
  margin:14px 0 20px
}

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

.form-status {
  margin:14px 0;
  font-size:14px
}

.contact-detail {
  padding:20px 0;
  border-bottom:1px solid var(--line)
}

.contact-detail h3 {
  font-size:22px
}

.legal-document {
  overflow-wrap:anywhere
}

.site-footer {
  background:#252124;
  color:#ded6d3;
  margin-top:50px;
  padding-top:55px;
  font-size:14px
}

.footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr .8fr 1.1fr;
  gap:36px;
  padding-bottom:45px
}

.footer-grid h2 {
  color:white;
  font-size:17px;
  letter-spacing:0
}

.footer-grid a {
  display:block;
  color:#ded6d3;
  text-decoration:none;
  margin:9px 0;
  overflow-wrap:anywhere
}

.footer-grid a:hover {
  text-decoration:underline
}

.footer-brand img {
  width:190px;
  display:block;
  margin-bottom:20px
}

.copyright {
  border-top:1px solid #ffffff20;
  padding-top:21px;
  padding-bottom:25px;
  font-size:12px
}

.store-links {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:20px 0
}

.store-links a {
  margin:0!important
}

.store-links img {
  display:block;
  width:auto;
  height:38px
}

.site-footer .store-links img {
  height:32px
}

dialog {
  border:0;
  border-radius:12px;
  padding:38px;
  width:calc(100% - 32px);
  max-width:490px;
  color:var(--ink);
  box-shadow:0 20px 100px #0004;
  max-height:90vh;
  overflow-y:auto
}

dialog::backdrop {
  background:#1814149c
}

dialog h2 {
  font-size:29px;
  padding-right:22px
}

dialog h3 {
  font-size:22px;
  margin-top:26px
}

dialog p {
  font-size:15px;
  color:var(--muted)
}

.dialog-close {
  position:absolute;
  right:16px;
  top:10px;
  background:none;
  border:0;
  font-size:30px;
  color:var(--muted);
  padding:0 8px;
  line-height:1.4
}

@media(max-width:1050px) {
  .header-inner nav {
    gap:17px
  }

  .header-inner {
    gap:20px
  }

  .brand img {
    width:150px
  }

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

  .col-3 {
    grid-column:span 6
  }

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

  .three {
    gap:15px
  }

  .testimonial {
    padding:20px
  }

  .card {
    padding:23px
  }

  .container {
    padding-left:25px;
    padding-right:25px
  }

}

@media(max-width:760px) {
  .header-inner {
    min-height:78px
  }

  .menu-toggle {
    display:flex;
    align-items:center;
    gap:12px;
    border:0;
    background:none;
    color:var(--ink);
    padding:10px;
    font-size:14px
  }

  .header-inner nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:78px;
    background:#fff;
    padding:15px 25px 25px;
    box-shadow:0 15px 20px #0001;
    border-bottom:1px solid var(--line)
  }

  .header-inner nav.open {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }

  .header-inner nav>a {
    padding:12px 0
  }

  .header-inner nav button {
    margin-top:12px
  }

  .container {
    padding-left:22px;
    padding-right:22px
  }

  .page-title {
    padding:35px 0
  }

  .content-section {
    padding:30px 0
  }

  .row {
    gap:28px
  }

  .column {
    grid-column:span 12
  }

  .four,.three {
    grid-template-columns:1fr
  }

  .callout {
    display:block;
    padding:28px 22px
  }

  .callout .button {
    margin-top:20px
  }

  .system-hero {
    padding:40px 22px
  }

  .footer-grid {
    gap:28px;
    grid-template-columns:1fr 1fr
  }

  .footer-grid>div:first-child {
    grid-column:span 2
  }

  .site-footer {
    margin-top:30px;
    padding-top:35px
  }

  .contact-form {
    padding:24px
  }

  .value-item {
    min-width:45%
  }

  .store-links img {
    height:35px
  }

  .tab-list button {
    flex:none;
    min-width:130px
  }

  .legal-document {
    width:calc(100% - 24px)!important;
    margin:20px auto!important;
    padding:24px 18px!important
  }

  .legal-document table {
    min-width:0;
    font-size:13px
  }

  .legal-document td,.legal-document th {
    padding:9px 6px
  }

  dialog {
    padding:30px 24px
  }

}

@media(max-width:400px) {
  .footer-grid {
    grid-template-columns:1fr
  }

  .footer-grid>div:first-child {
    grid-column:auto
  }

  .form-actions .button {
    width:100%
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  * {
    transition:none!important;
    animation:none!important
  }

}

