:root{
  --navy:#1B263B;
  --moss:#4A5D23;
  --orange:#F26419;
  --white:#FFFFFF;
  --ice:#E0E1DD;
  --text:#333333;
  --radius:18px;
  --shadow:0 10px 30px rgba(0,0,0,.10);
  --shadow-soft:0 8px 18px rgba(0,0,0,.06);
}

html{ scroll-behavior:smooth; }
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.5;
}

.container{
  width:min(1120px, 92vw);
  margin:0 auto;
}

.site-header{
  background:var(--navy);
  color:var(--white);
  position:sticky;
  top:0;
  z-index:10;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  letter-spacing:.2px;
  font-size:16px;
  line-height:1.2;
  text-decoration:none;
  color:var(--white);
  white-space:nowrap;
}
.brand-logo{
  width:28px;
  height:28px;
  border-radius:6px;
  object-fit:cover;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(74,93,35,.14);
  border:1px solid rgba(74,93,35,.35);
  color:var(--white);
  font-weight:700;
  font-size:13px;
  white-space:nowrap;
}
.badge .dot{
  width:10px;height:10px;border-radius:50%;
  background:var(--moss);
  box-shadow:0 0 0 4px rgba(74,93,35,.20);
}

section{ padding:56px 0; }
.section-title{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:28px;
  margin:0 0 12px;
  line-height:1.15;
  color:var(--text);
}

.hero{
  background:var(--navy);
  color:var(--white);
  padding:72px 0 56px;
  position:relative;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:26px;
  align-items:center;
}
.hero h1{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:40px;
  line-height:1.1;
  margin:0 0 14px;
  letter-spacing:-.2px;
  text-wrap:balance;
}
.hero h2{
  font-family:"Open Sans", system-ui, sans-serif;
  font-weight:600;
  font-size:18px;
  margin:0 0 22px;
  color:rgba(255,255,255,.92);
  max-width:64ch;
  text-wrap:balance;
}

.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:10px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:14px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:800;
  font-family:"Montserrat", system-ui, sans-serif;
  letter-spacing:.2px;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  user-select:none;
  cursor:pointer;
}
.btn-primary{
  background:var(--orange);
  color:#fff;
  box-shadow:0 14px 30px rgba(242,100,25,.28);
  animation:pulse 1.9s infinite ease-in-out;
}
.btn-primary:hover{
  background:#d95412;
  box-shadow:0 16px 34px rgba(217,84,18,.34);
}
@keyframes pulse{
  0%, 100% { box-shadow:0 14px 30px rgba(242,100,25,.28); transform:translateY(0); }
  50% { box-shadow:0 18px 38px rgba(242,100,25,.42); transform:translateY(-1px); }
}
.btn-primary:focus{ outline:3px solid rgba(242,100,25,.35); outline-offset:3px; }
.btn-full{ width:100%; }

.hero-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow-soft);
}
.hero-card .small{
  font-weight:700;
  color:rgba(255,255,255,.92);
  margin:0 0 6px;
  font-size:14px;
  display:flex;
  align-items:center;
  gap:10px;
}
.hero-card p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:14px;
}
.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.pill{
  border-radius:999px;
  padding:10px 12px;
  border:1px solid rgba(74,93,35,.35);
  background:rgba(74,93,35,.14);
  color:#fff;
  font-weight:800;
  font-size:12px;
  display:flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
}
.pill i{ color:var(--moss); }

.value{
  background:var(--white);
  padding:56px 0;
}
.value-wrap{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:18px;
  align-items:start;
}
.value p{
  margin:0;
  font-size:18px;
  font-weight:600;
  color:var(--text);
  max-width:72ch;
}
.value .mini{
  background:var(--ice);
  border-radius:var(--radius);
  padding:16px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--shadow-soft);
}
.mini-title{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  margin:0 0 10px;
  color:var(--navy);
  font-size:16px;
}
.mini ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.mini li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:700;
  color:var(--text);
  font-size:14px;
}
.check{
  width:18px;height:18px; flex:0 0 18px;
  border-radius:6px;
  background:rgba(74,93,35,.14);
  border:1px solid rgba(74,93,35,.35);
  display:grid;
  place-items:center;
  margin-top:2px;
}
.check svg{ width:12px;height:12px; display:block; }
.check path{ fill:var(--moss); }

.syllabus{
  background:var(--ice);
  border-top:1px solid rgba(0,0,0,.04);
  border-bottom:1px solid rgba(0,0,0,.04);
}
.syllabus-title{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:26px;
  margin:0 0 14px;
  color:var(--text);
}
.syllabus-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:0;
}

.services-list{
  margin-top:10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px 18px;
}
.service-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 6px 16px rgba(0,0,0,.04);
  min-height:56px;
}
.service-text{
  font-weight:700;
  color:var(--text);
  font-size:15px;
  line-height:1.25;
}
.service-item .icon{
  width:22px; height:22px;
  border-radius:10px;
  background:rgba(74,93,35,.14);
  border:1px solid rgba(74,93,35,.35);
  display:grid;
  place-items:center;
  flex:0 0 22px;
  margin-top:2px;
}
.service-item svg{ width:13px;height:13px; display:block; }
.service-item path{ fill:var(--moss); }

.services-cta{
  margin-top:22px;
  display:flex;
  justify-content:center;
}

.faq{
  background:var(--white);
  padding:56px 0 20px;
}
.faq-box{
  border:1px solid rgba(74,93,35,.35);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow-soft);
  padding:20px;
}
.faq-box h3{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  color:var(--navy);
  font-size:24px;
}
.faq-box p{
  margin:0;
  font-size:16px;
  color:var(--text);
  font-weight:600;
}

.testimonials{
  background:var(--ice);
  border-top:1px solid rgba(0,0,0,.04);
  border-bottom:1px solid rgba(0,0,0,.04);
  padding:56px 0;
}
.testimonials-header{
  margin-bottom:20px;
}
.testimonials-header h3{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:28px;
  color:var(--navy);
  line-height:1.15;
}
.testimonials-header p{
  margin:0;
  color:var(--text);
  font-weight:600;
}
.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.testimonial-card{
  background:var(--white);
  border:1px solid rgba(74,93,35,.22);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--shadow-soft);
  display:grid;
  gap:12px;
}
.testimonial-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(74,93,35,.12);
  color:var(--moss);
  font-size:14px;
}
.testimonial-text{
  margin:0;
  color:var(--text);
  font-size:15px;
  font-weight:600;
  line-height:1.45;
}
.testimonial-author{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,.06);
  color:var(--navy);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:14px;
  font-weight:800;
}

.professor{
  background:var(--white);
  padding:56px 0;
}
.professor-wrap{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:22px;
  align-items:start;
}
.professor-photo{
  background:var(--ice);
  border:1px solid rgba(74,93,35,.24);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.professor-photo img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.professor-content{
  border:1px solid rgba(74,93,35,.26);
  border-radius:18px;
  background:var(--white);
  box-shadow:var(--shadow-soft);
  padding:20px;
}
.professor-content h3{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:28px;
  color:var(--navy);
  line-height:1.15;
}
.professor-lead{
  margin:0 0 12px;
  font-size:17px;
  color:var(--text);
  font-weight:700;
}
.professor-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.professor-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--text);
  font-weight:600;
  font-size:15px;
  line-height:1.4;
}
.professor-list i{
  color:var(--moss);
  margin-top:3px;
  flex:0 0 16px;
}

.course-content{
  background:var(--ice);
  border-top:1px solid rgba(0,0,0,.04);
  border-bottom:1px solid rgba(0,0,0,.04);
  padding:56px 0;
}
.course-content-header{
  margin-bottom:18px;
}
.course-content-header h3{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:30px;
  line-height:1.12;
  color:var(--navy);
}
.course-content-header p{
  margin:0;
  color:var(--text);
  font-size:16px;
  font-weight:600;
  max-width:85ch;
}
.content-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.content-card{
  background:var(--white);
  border:1px solid rgba(74,93,35,.26);
  border-radius:16px;
  box-shadow:var(--shadow-soft);
  padding:18px;
  display:grid;
  gap:12px;
}
.content-card h4{
  margin:0;
  color:var(--navy);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:21px;
  line-height:1.2;
}
.content-card > p{
  margin:0;
  color:var(--text);
  font-size:15px;
  font-weight:600;
  line-height:1.45;
}
.content-label{
  color:var(--moss);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.35px;
}
.content-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.content-list li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:var(--text);
  font-size:14px;
  font-weight:600;
  line-height:1.35;
}
.content-list i{
  color:var(--moss);
  margin-top:3px;
  flex:0 0 14px;
}
.content-footer{
  margin-top:16px;
  background:var(--white);
  border:1px solid rgba(74,93,35,.30);
  border-left:5px solid var(--moss);
  border-radius:14px;
  padding:14px;
  color:var(--text);
  font-size:15px;
  font-weight:700;
  line-height:1.45;
}

.offer{
  background:var(--white);
  padding:60px 0;
}
.offer-wrap{
  display:grid;
  grid-template-columns: 1fr .95fr;
  gap:22px;
  align-items:start;
}
.offer h3{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:26px;
  margin:0 0 12px;
  color:var(--text);
  line-height:1.15;
}
.offer p{
  margin:0;
  font-weight:600;
  font-size:16px;
  color:var(--text);
  max-width:62ch;
}

.price-box{
  border-radius:var(--radius);
  background:var(--white);
  border:2px solid rgba(74,93,35,.35);
  padding:18px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.price-box::before{
  content:"";
  position:absolute;
  inset:-60px -40px auto auto;
  width:220px;height:220px;
  border-radius:50%;
  background:rgba(74,93,35,.10);
  pointer-events:none;
}
.price-head{
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.offer-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  background:rgba(242,100,25,.14);
  border:1px solid rgba(242,100,25,.45);
  color:var(--orange);
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.price-original{
  font-weight:700;
  color:var(--text);
  font-size:14px;
  opacity:.85;
  text-decoration:line-through;
}
.price-highlight{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.price-highlight .big{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  font-size:34px;
  color:var(--orange);
  letter-spacing:-.2px;
}
.price-highlight .sub{
  font-weight:800;
  color:var(--orange);
  font-size:16px;
  white-space:nowrap;
}
.immediate-access{
  font-size:13px;
  font-weight:700;
  color:var(--moss);
}

.price-body{
  position:relative;
  z-index:1;
  margin-top:14px;
  display:grid;
  gap:12px;
}
.btn-full{
  width:100%;
  padding:16px 18px;
  border-radius:16px;
  font-size:16px;
}

.risk{
  font-size:14px;
  font-weight:800;
  color:var(--text);
  opacity:.95;
  text-align:center;
  padding-top:6px;
}
.risk span{ color:var(--moss); }

.faq-final{
  background:var(--white);
  padding:56px 0 36px;
}
.faq-final-header{
  margin-bottom:16px;
}
.faq-final-header h3{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:28px;
  color:var(--navy);
  line-height:1.15;
}
.faq-final-header p{
  margin:0;
  font-size:16px;
  color:var(--text);
  font-weight:600;
}
.faq-final-list{
  display:grid;
  gap:12px;
}
.faq-item{
  border:1px solid rgba(74,93,35,.30);
  border-radius:14px;
  background:var(--white);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:16px;
  font-weight:800;
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+";
  color:var(--moss);
  font-size:20px;
  line-height:1;
  font-weight:800;
  transition:transform .15s ease;
}
.faq-item[open] summary::after{
  content:"−";
}
.faq-answer{
  padding:0 16px 14px;
  color:var(--text);
  font-size:15px;
  font-weight:600;
  line-height:1.45;
}

footer{
  background:var(--navy);
  color:rgba(255,255,255,.9);
  padding:22px 0;
  font-size:13px;
}
.footer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.footer-brand{
  font-weight:800;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
}
.footer-portal{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:18px;
  margin-bottom:14px;
}
.footer-portal h4{
  margin:0 0 8px;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:14px;
}
.footer-portal p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.5;
}
.footer-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
}
.footer-links a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  font-size:13px;
}
.footer-links a:hover{
  color:#fff;
  text-decoration:underline;
}
.footer-divider{
  border:0;
  border-top:1px solid rgba(255,255,255,.16);
  margin:2px 0 12px;
}

@media (max-width: 980px){
  .footer-portal{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 620px){
  .footer-portal{
    grid-template-columns:1fr;
  }
}

.whatsapp-float{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:30;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 12px 24px rgba(0,0,0,.22);
  text-decoration:none;
  transition:transform .15s ease;
}
.whatsapp-float:hover{ transform:translateY(-2px); }

@media (max-width: 900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero h1{ font-size:34px; }
  .value-wrap{ grid-template-columns:1fr; }
  .offer-wrap{ grid-template-columns:1fr; }
  .services-list{ grid-template-columns:1fr; }
  .testimonials-grid{ grid-template-columns:1fr; }
  .professor-wrap{ grid-template-columns:1fr; }
  .content-grid{ grid-template-columns:1fr; }
}
@media (max-width: 420px){
  .hero h1{ font-size:30px; }
  section{ padding:48px 0; }
  .hero{ padding:62px 0 48px; }
}

.article-hero{
  background:
    linear-gradient(135deg, rgba(74,93,35,.16), transparent 40%),
    linear-gradient(var(--navy), var(--navy));
  background-image:
    linear-gradient(135deg, rgba(74,93,35,.16), transparent 40%),
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(var(--navy), var(--navy));
  background-size: auto, 24px 24px, 24px 24px, auto;
  color:var(--white);
  padding:64px 0 44px;
  position:relative;
  overflow:hidden;
}
.article-hero::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(74,93,35,.22);
}
.hero-kicker{
  margin:0 0 8px;
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(74,93,35,.25);
  border:1px solid rgba(74,93,35,.45);
  font-size:13px;
  font-weight:700;
}
.article-hero h1{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:40px;
  line-height:1.12;
  text-wrap:balance;
  max-width:20ch;
}
.article-main{
  background:var(--white);
  padding:40px 0 24px;
}
.article-content{
  max-width:800px;
  margin:0 auto;
  display:grid;
  gap:24px;
}
.article-content p{
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:var(--text);
}
.article-quote{
  margin:4px 0;
  padding:14px 16px;
  border-left:5px solid var(--moss);
  background:rgba(74,93,35,.08);
  border-radius:10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:20px;
  line-height:1.4;
  color:var(--navy);
}
.article-content h2{
  margin:0;
  color:var(--navy);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:30px;
  line-height:1.2;
  text-wrap:balance;
}
.article-content h3{
  margin:0;
  color:var(--navy);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:23px;
  line-height:1.25;
  text-wrap:balance;
}
.article-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.article-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:16px;
  color:var(--text);
  line-height:1.45;
  font-weight:600;
}
.article-list i{
  color:var(--moss);
  margin-top:4px;
  flex:0 0 14px;
}
.article-media{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(74,93,35,.25);
  box-shadow:var(--shadow-soft);
}
.article-media img{
  width:100%;
  height:auto;
  display:block;
}
.info-banner{
  border:1px solid rgba(74,93,35,.34);
  border-left:6px solid var(--moss);
  border-radius:14px;
  background:#f8faf6;
  padding:18px;
  display:grid;
  gap:12px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.info-banner:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 24px rgba(0,0,0,.12);
}
.info-banner p{
  font-weight:700;
  margin:0;
}
.article-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.didactic-block{
  display:grid;
  gap:16px;
  padding:18px;
  background:var(--ice);
  border:1px solid rgba(74,93,35,.28);
  border-radius:16px;
}
.didactic-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.didactic-card{
  background:var(--white);
  border:1px solid rgba(74,93,35,.24);
  border-radius:14px;
  padding:14px;
  display:grid;
  gap:10px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.didactic-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 24px rgba(0,0,0,.12);
  border-color:rgba(74,93,35,.45);
}
.didactic-card h3{
  margin:0;
  color:var(--navy);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:20px;
  line-height:1.2;
  text-wrap:balance;
}
.card-benefit{
  margin:0;
  color:var(--moss);
  font-weight:700;
  font-size:14px;
}
.didactic-faq{
  display:grid;
  gap:10px;
}
.compare-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  border:1px solid rgba(74,93,35,.35);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.compare-head{
  padding:12px;
  background:var(--navy);
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:14px;
  font-weight:800;
}
.compare-cell{
  padding:12px;
  border-top:1px solid rgba(0,0,0,.06);
  border-right:1px solid rgba(0,0,0,.05);
  font-size:15px;
  line-height:1.45;
}
.compare-cell:nth-child(4n){ border-right:none; }
.compare-key{
  background:rgba(74,93,35,.08);
  font-weight:700;
  color:var(--navy);
}
.warning-banner{
  background:var(--ice);
  border:1px solid rgba(74,93,35,.45);
}
.expert-note{
  background:rgba(242,100,25,.08);
  border:1px solid rgba(242,100,25,.35);
  border-left-color:var(--orange);
}
.final-cta{
  border:1px solid rgba(27,38,59,.2);
  background:linear-gradient(135deg, rgba(224,225,221,.6), #fff);
  border-radius:16px;
  padding:18px;
  display:grid;
  gap:12px;
}
.final-cta h2{
  margin:0;
}
.timeline{
  display:grid;
  gap:12px;
}
.timeline-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
}
.timeline-step{
  border:1px solid rgba(74,93,35,.28);
  background:#fff;
  border-radius:12px;
  padding:12px;
  display:grid;
  gap:8px;
}
.step-num{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#fff;
  background:var(--navy);
}
.timeline-step h3{
  margin:0;
  font-size:16px;
  line-height:1.25;
}
.timeline-step p{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
@media (max-width: 900px){
  .article-hero h1{ font-size:33px; }
  .article-content h2{ font-size:26px; }
  .article-content h3{ font-size:21px; }
  .didactic-grid{ grid-template-columns:1fr; }
  .timeline-grid{ grid-template-columns:1fr; }
  .compare-grid{ grid-template-columns:1fr; }
  .compare-cell, .compare-head{ border-right:none; }
}
@media (max-width: 520px){
  .article-content p{ font-size:16px; }
  .article-quote{ font-size:18px; }
  .article-content{ gap:20px; }
}

/* CTM page */
.ctm-hero{
  background:
    linear-gradient(140deg, rgba(74,93,35,.14), transparent 42%),
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(var(--navy), var(--navy));
  background-size:auto, 22px 22px, 22px 22px, auto;
  color:#fff;
  padding:64px 0 48px;
}
.ctm-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:center;
}
.ctm-hero h1{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:40px;
  line-height:1.12;
  text-wrap:balance;
}
.ctm-hero h2{
  margin:0;
  font-size:18px;
  line-height:1.55;
  color:rgba(255,255,255,.94);
  font-weight:600;
}
.ctm-layers{
  display:grid;
  gap:10px;
}
.ctm-layer{
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.24);
  font-weight:700;
  font-size:14px;
}
.ctm-compare{
  grid-template-columns:1fr 1fr 1fr;
}
.ctm-compare .compare-cell:nth-child(3n){ border-right:none; }
.ctm-timeline .timeline-step{ position:relative; }
.ctm-timeline .timeline-step::after{
  content:"";
  position:absolute;
  right:-10px;
  top:24px;
  width:10px;
  height:2px;
  background:rgba(27,38,59,.35);
}
.ctm-timeline .timeline-step:last-child::after{ display:none; }
@media (max-width: 900px){
  .ctm-hero-grid{ grid-template-columns:1fr; }
  .ctm-hero h1{ font-size:33px; }
  .ctm-compare{ grid-template-columns:1fr; }
  .ctm-compare .compare-cell:nth-child(3n){ border-right:none; }
  .ctm-timeline .timeline-step::after{ display:none; }
}

/* CTM page — high-authority layout */
body.page-ctm .article-content p,
body.page-ctm .article-content li{
  line-height:1.82;
}
body.page-ctm .term-moss{
  color:var(--moss);
  font-weight:800;
}
body.page-ctm .ctm-hero .term-moss{
  color:#9fb86a;
  font-weight:800;
}
.ctm-hero.ctm-hero--impact{
  background-color:#1B263B;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(140deg, rgba(74,93,35,.16), transparent 44%);
  background-size: 22px 22px, 22px 22px, auto;
  padding:80px 0 56px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ctm-hero--impact .ctm-hero-grid{
  gap:28px;
}
.ctm-hero--impact h1{
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.08;
  max-width:22ch;
}
.ctm-hero--impact .hero-kicker{
  background:rgba(74,93,35,.28);
  border-color:rgba(74,93,35,.55);
}
.ctm-layer-strip{
  background:var(--ice);
  border-top:1px solid rgba(27,38,59,.08);
  border-bottom:1px solid rgba(27,38,59,.08);
}
.ctm-section-layer{
  padding:48px 0;
  border-bottom:1px solid rgba(27,38,59,.06);
  background:var(--white);
  border-radius:0;
}
.ctm-section-layer--alt{
  background:linear-gradient(180deg, rgba(224,225,221,.5), rgba(255,255,255,.98));
  border-bottom:1px solid rgba(27,38,59,.1);
  border-left:4px solid rgba(74,93,35,.22);
  padding-left:20px;
  margin-left:-4px;
}
.ctm-section-layer:last-of-type{
  border-bottom:none;
}
.ctm-pillars-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:8px;
}
.ctm-pillar-card{
  background:var(--white);
  border:1px solid rgba(74,93,35,.28);
  border-radius:16px;
  padding:22px 20px;
  box-shadow:var(--shadow-soft);
  display:grid;
  gap:14px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ctm-pillar-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(0,0,0,.10);
  border-color:rgba(74,93,35,.45);
}
.ctm-pillar-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.12);
  border:1px solid rgba(74,93,35,.35);
  display:grid;
  place-items:center;
  color:var(--navy);
}
.ctm-pillar-icon svg{
  width:28px;
  height:28px;
  display:block;
}
.ctm-pillar-card h3{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:19px;
  color:var(--navy);
  line-height:1.25;
}
.ctm-pillar-card p{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:var(--text);
  line-height:1.65;
}
.ctm-table-wrap{
  margin-top:12px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(27,38,59,.18);
  box-shadow:var(--shadow-soft);
}
.ctm-compare-table{
  width:100%;
  border-collapse:collapse;
  font-size:15px;
}
.ctm-compare-table thead th{
  background:var(--navy);
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:.02em;
  text-align:left;
  padding:14px 16px;
  border-bottom:2px solid rgba(255,255,255,.12);
}
.ctm-compare-table tbody td{
  padding:14px 16px;
  vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,.07);
  background:#fff;
  color:var(--text);
  font-weight:600;
  line-height:1.55;
}
.ctm-compare-table tbody tr:nth-child(even) td{
  background:rgba(224,225,221,.35);
}
.ctm-compare-table tbody tr:last-child td{
  border-bottom:none;
}
.ctm-compare-table .col-key{
  background:rgba(74,93,35,.10) !important;
  color:var(--navy);
  font-weight:800;
  width:22%;
  min-width:140px;
}
.ctm-workflow{
  margin-top:16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:0;
  position:relative;
  padding:8px 0 12px;
}
.ctm-workflow-step{
  flex:1;
  min-width:0;
  text-align:center;
  position:relative;
  padding:0 6px;
}
.ctm-workflow-step::after{
  content:"";
  position:absolute;
  top:26px;
  left:calc(50% + 28px);
  width:calc(100% - 56px);
  height:3px;
  background:linear-gradient(90deg, var(--moss), rgba(74,93,35,.35));
  border-radius:2px;
  z-index:0;
}
.ctm-workflow-step:last-child::after{
  display:none;
}
.ctm-workflow-circle{
  width:56px;
  height:56px;
  border-radius:50%;
  margin:0 auto 12px;
  background:var(--navy);
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  font-size:18px;
  display:grid;
  place-items:center;
  border:3px solid rgba(74,93,35,.55);
  box-shadow:0 8px 20px rgba(27,38,59,.18);
  position:relative;
  z-index:1;
}
.ctm-workflow-step h3{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:15px;
  color:var(--navy);
  line-height:1.3;
}
.ctm-workflow-step p{
  margin:0;
  font-size:14px;
  font-weight:600;
  color:var(--text);
  line-height:1.55;
}
.ctm-nota-tecnica{
  border-left:6px solid var(--moss);
  background:rgba(74,93,35,.06);
  border:1px solid rgba(74,93,35,.32);
  border-left-width:6px;
  border-left-color:var(--moss);
  border-radius:14px;
  padding:20px 22px;
}
.ctm-nota-tecnica p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.ctm-glossary-elegant{
  border:1px solid rgba(27,38,59,.12);
  border-radius:16px;
  background:linear-gradient(165deg, #fff, rgba(224,225,221,.35));
  padding:22px 24px;
  display:grid;
  gap:18px;
}
.ctm-glossary-elegant h2{
  margin:0;
  font-size:22px;
}
.ctm-glossary-row{
  display:grid;
  gap:6px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.ctm-glossary-row:last-child{
  padding-bottom:0;
  border-bottom:none;
}
.ctm-glossary-row dt{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:15px;
  color:var(--navy);
}
.ctm-glossary-row dd{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:var(--text);
  line-height:1.7;
}
.ctm-faq-compact .faq-item summary{
  font-size:15px;
}
.ctm-faq-compact .faq-answer{
  font-size:14px;
  line-height:1.6;
}
.ctm-faq-compact{
  margin-top:8px;
  padding:28px 20px 32px !important;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  background:linear-gradient(180deg, rgba(224,225,221,.4), #fff);
}
.ctm-final-cta{
  border:2px solid rgba(27,38,59,.14);
  border-radius:20px;
  background:linear-gradient(145deg, rgba(224,225,221,.55), #fff);
  padding:clamp(28px, 5vw, 44px) clamp(22px, 4vw, 40px);
  display:grid;
  gap:22px;
  justify-items:center;
  text-align:center;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
}
.ctm-final-cta h2{
  margin:0;
  max-width:36ch;
  font-size:clamp(22px, 2.8vw, 30px);
  line-height:1.25;
  color:var(--navy);
}
.ctm-final-cta .lead{
  margin:0;
  max-width:52ch;
  font-size:16px;
  font-weight:600;
  color:var(--text);
  line-height:1.75;
}
.btn-ctm-orange{
  background:#F26419 !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(242,100,25,.32) !important;
  min-width:min(100%, 320px);
  justify-content:center;
}
.btn-ctm-orange:hover{
  background:#d95412 !important;
  box-shadow:0 18px 38px rgba(217,84,18,.4) !important;
}
.btn-ctm-orange:focus{
  outline:3px solid rgba(242,100,25,.4);
  outline-offset:3px;
}
@media (max-width: 900px){
  .ctm-pillars-grid{ grid-template-columns:1fr; }
  .ctm-workflow{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .ctm-workflow-step::after{
    display:none;
  }
  .ctm-workflow-circle{
    margin:0 auto 10px;
  }
  .ctm-compare-table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Topografia vs Cadastro — visual comparison page */
.tpvs-hero{
  background-color:#1B263B;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(125deg, rgba(74,93,35,.2), transparent 50%);
  background-size:20px 20px, 20px 20px, auto;
  color:#fff;
  padding:76px 0 60px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.tpvs-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:center;
}
.tpvs-hero-copy h1{
  margin:0 0 16px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(26px, 3.5vw, 42px);
  line-height:1.08;
  text-wrap:balance;
  max-width:26ch;
}
.tpvs-sub{
  margin:0;
  font-size:17px;
  line-height:1.7;
  font-weight:600;
  color:rgba(255,255,255,.94);
  max-width:52ch;
}
.tpvs-sub em{
  color:#c8d4a8;
  font-style:normal;
  font-weight:800;
}
.tpvs-kicker{
  display:inline-block;
  margin:0 0 14px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(74,93,35,.32);
  border:1px solid rgba(74,93,35,.55);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}
.tpvs-hero-missing{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  padding:22px 20px 24px;
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}
.tpvs-hero-missing-label{
  margin:0 0 16px;
  text-align:center;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.tpvs-hero-flow{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:12px;
}
.tpvs-hero-step{
  flex:1;
  min-width:0;
  padding:16px 14px;
  border-radius:14px;
  text-align:center;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(27,38,59,.45);
}
.tpvs-hero-step--in{
  border-top:3px solid #4A5D23;
}
.tpvs-hero-step--out{
  border-top:3px solid #F26419;
  background:rgba(74,93,35,.12);
}
.tpvs-hero-step-tag{
  display:inline-block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#c8d4a8;
  margin-bottom:8px;
}
.tpvs-hero-step-tag--out{
  color:#ffb48a;
}
.tpvs-hero-step-icon{
  color:#e8eef8;
  display:grid;
  place-items:center;
  margin-bottom:8px;
}
.tpvs-hero-step-icon--out{
  color:#fff;
}
.tpvs-hero-step-title{
  margin:0 0 6px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  font-size:16px;
  color:#fff;
}
.tpvs-hero-step-txt{
  margin:0;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
  color:rgba(255,255,255,.88);
}
.tpvs-hero-bridge{
  flex:0 0 88px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  align-self:center;
}
.tpvs-hero-bridge-svg{
  width:100%;
  max-width:88px;
  height:auto;
}
.tpvs-hero-bridge-cap{
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(255,255,255,.7);
  text-align:center;
  line-height:1.25;
  max-width:12ch;
}
.tpvs-strip{
  background:var(--ice);
  border-top:1px solid rgba(27,38,59,.08);
  border-bottom:1px solid rgba(27,38,59,.08);
}
body.page-tpvscad .tpvs-content p,
body.page-tpvscad .tpvs-section p{
  line-height:1.82;
}
.tpvs-content{
  padding-top:36px;
  padding-bottom:48px;
}
.tpvs-lead{
  font-size:18px;
  font-weight:600;
  margin:0 0 28px;
  padding:20px 22px;
  border-radius:14px;
  border:1px solid rgba(74,93,35,.3);
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(224,225,221,.5));
  box-shadow:var(--shadow-soft);
}
.tpvs-section{
  margin-bottom:40px;
}
.tpvs-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 2.5vw, 30px);
  color:var(--navy);
  line-height:1.2;
}
.tpvs-intro{
  margin:0 0 20px;
  font-size:16px;
  font-weight:600;
  line-height:1.75;
  color:var(--text);
  max-width:68ch;
}
.tpvs-duel-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
}
.tpvs-duel-col{
  border-radius:18px;
  padding:20px 18px;
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 12px 32px rgba(0,0,0,.07);
  background:#fff;
}
.tpvs-duel-col--topo{
  border-top:4px solid rgba(27,38,59,.85);
}
.tpvs-duel-col--cad{
  border-top:4px solid #4A5D23;
  background:linear-gradient(180deg, rgba(74,93,35,.07), #fff);
  box-shadow:0 14px 36px rgba(74,93,35,.12);
  border-color:rgba(74,93,35,.28);
}
.tpvs-duel-head{
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.tpvs-duel-badge{
  display:inline-block;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  font-size:15px;
  color:var(--navy);
}
.tpvs-duel-badge--cad{
  color:#2d4a16;
}
.tpvs-duel-sub{
  display:block;
  margin-top:4px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(51,51,51,.65);
}
.tpvs-duel-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.tpvs-duel-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.08);
  background:rgba(224,225,221,.25);
}
.tpvs-duel-col--cad .tpvs-duel-card{
  background:rgba(74,93,35,.08);
  border-color:rgba(74,93,35,.2);
}
.tpvs-duel-ic{
  flex:0 0 40px;
  height:40px;
  display:grid;
  place-items:center;
}
.tpvs-duel-card strong{
  display:block;
  font-size:14px;
  color:var(--navy);
  margin-bottom:4px;
}
.tpvs-duel-card span{
  display:block;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
  color:var(--text);
  opacity:.95;
}
.tpvs-pro-table-wrap{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(27,38,59,.1);
  border:1px solid rgba(27,38,59,.12);
  background:#fff;
}
.tpvs-pro-table{
  width:100%;
  border-collapse:collapse;
  font-size:15px;
}
.tpvs-pro-table thead th{
  background:#1B263B;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:800;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:left;
  padding:16px 18px;
  border-bottom:2px solid rgba(255,255,255,.12);
}
.tpvs-pro-table .th-cadastro{
  background:linear-gradient(180deg, #1a2d4a, #1B263B);
  border-left:3px solid #4A5D23;
  position:relative;
}
.th-cadastro-pill{
  display:inline-block;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  color:#1B263B;
  background:#c8d4a8;
  vertical-align:middle;
}
.tpvs-pro-table tbody th{
  background:rgba(224,225,221,.55);
  color:var(--navy);
  font-weight:900;
  font-size:13px;
  text-align:left;
  padding:14px 16px;
  width:22%;
  min-width:100px;
  border-bottom:1px solid rgba(0,0,0,.06);
  vertical-align:top;
}
.tpvs-pro-table tbody td{
  padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.06);
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.tpvs-pro-table tbody tr:nth-child(even) td,
.tpvs-pro-table tbody tr:nth-child(even) th{
  background:rgba(248,249,250,.9);
}
.tpvs-pro-table .td-cadastro{
  background:rgba(74,93,35,.1) !important;
  border-left:3px solid rgba(74,93,35,.45);
  box-shadow:inset 0 0 0 1px rgba(74,93,35,.12);
}
.tpvs-td-lead{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:6px;
}
.tpvs-pro-table tbody td:not(.td-cadastro) .tpvs-td-lead{
  color:#1B263B;
}
.tpvs-scenario{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:start;
  padding:24px 24px;
  border-radius:16px;
  margin-bottom:28px;
}
.tpvs-scenario--dark{
  background:#1B263B;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 16px 40px rgba(0,0,0,.2);
}
.tpvs-scenario-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:24px;
}
.tpvs-scenario-icon--dark{
  background:rgba(242,100,25,.2);
  border:1px solid rgba(242,100,25,.45);
  color:#ffb48a;
}
.tpvs-scenario-h{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:18px;
}
.tpvs-scenario-h--light{
  color:#fff;
}
.tpvs-scenario-p{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.75;
}
.tpvs-scenario-p--light{
  color:rgba(255,255,255,.92);
}
.tpvs-scenario--dark strong{
  color:#fff;
  font-weight:800;
}
.tpvs-expert-note{
  margin:0 0 36px;
  padding:22px 24px 22px 20px;
  border-radius:14px;
  border:1px solid rgba(74,93,35,.35);
  border-left:6px solid #4A5D23;
  background:rgba(74,93,35,.09);
  box-shadow:var(--shadow-soft);
}
.tpvs-expert-p{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(17px, 2.1vw, 21px);
  font-weight:800;
  line-height:1.45;
  color:var(--navy);
}
.tpvs-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.tpvs-final-cta{
  text-align:center;
  padding:clamp(36px, 6vw, 52px) clamp(24px, 5vw, 44px);
  border-radius:22px;
  border:1px solid rgba(27,38,59,.1);
  background:linear-gradient(165deg, rgba(224,225,221,.55), #fff);
  box-shadow:0 18px 44px rgba(0,0,0,.08);
}
.tpvs-final-h2{
  margin:0 auto 14px;
  max-width:28ch;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(24px, 3vw, 32px);
  color:var(--navy);
  line-height:1.2;
}
.tpvs-final-lead{
  margin:0 auto 26px;
  max-width:44ch;
  font-size:17px;
  font-weight:600;
  line-height:1.7;
  color:var(--text);
}
.btn-tpvs-final{
  background:#F26419 !important;
  color:#fff !important;
  padding:16px 28px !important;
  font-size:16px !important;
  border-radius:16px !important;
  box-shadow:0 14px 32px rgba(242,100,25,.35) !important;
}
.btn-tpvs-final:hover{
  background:#d95412 !important;
  box-shadow:0 18px 40px rgba(217,84,18,.45) !important;
}
.btn-tpvs-final:focus{
  outline:3px solid rgba(242,100,25,.45);
  outline-offset:3px;
}
body.page-tpvscad .tpvs-scenario--dark p,
body.page-tpvscad .tpvs-expert-note p{
  color:inherit;
}
body.page-tpvscad .tpvs-scenario--dark .tpvs-scenario-p--light{
  color:rgba(255,255,255,.94);
}
.tpvs-moss{
  color:var(--moss);
  font-weight:800;
}
@media (max-width: 900px){
  .tpvs-hero-grid{ grid-template-columns:1fr; }
  .tpvs-hero-flow{
    flex-direction:column;
  }
  .tpvs-hero-bridge{
    flex-direction:row;
    flex:1 1 auto;
    width:100%;
    padding:8px 0;
  }
  .tpvs-hero-bridge-svg{
    transform:rotate(90deg);
    max-width:48px;
  }
  .tpvs-hero-bridge-cap{
    max-width:none;
    font-size:10px;
  }
  .tpvs-duel-grid{
    grid-template-columns:1fr;
  }
  .tpvs-pro-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .tpvs-pro-table tbody tr{
    display:block;
    margin-bottom:16px;
    border-radius:16px;
    overflow:hidden;
    border:1px solid rgba(27,38,59,.14);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
    background:#fff;
  }
  .tpvs-pro-table tbody th,
  .tpvs-pro-table tbody td{
    display:block;
    width:100%;
    border-bottom:1px solid rgba(0,0,0,.07);
  }
  .tpvs-pro-table tbody th{
    background:#1B263B;
    color:#fff;
    font-size:12px;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .tpvs-pro-table tbody td{
    padding:14px 14px;
  }
  .tpvs-pro-table tbody td::before{
    content:attr(data-label);
    display:block;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
    margin-bottom:8px;
  }
  .tpvs-pro-table tbody td:not(.td-cadastro)::before{
    color:#1B263B;
  }
  .tpvs-pro-table tbody td.td-cadastro::before{
    color:#2d4a16;
  }
  .tpvs-pro-table thead{
    display:none;
  }
  .tpvs-scenario{
    grid-template-columns:1fr;
  }
  .tpvs-scenario-icon{
    margin:0 auto;
  }
}

/* Levantamento cadastral — guia metodológico premium */
.lcad-hero{
  background-color:#1B263B;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(130deg, rgba(74,93,35,.2), transparent 45%);
  background-size:20px 20px, 20px 20px, auto;
  color:#fff;
  padding:40px 0 48px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.lcad-breadcrumb{ margin-bottom:22px; }
.lcad-breadcrumb-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:600;
}
.lcad-breadcrumb-list a{
  color:rgba(255,255,255,.82);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .15s ease, color .15s ease;
}
.lcad-breadcrumb-list a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.45);
}
.lcad-breadcrumb-list [aria-current="page"]{
  color:#fff;
  font-weight:800;
}
.lcad-breadcrumb-sep{
  color:rgba(255,255,255,.45);
  user-select:none;
}
.lcad-h1{
  margin:0 0 16px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(24px, 3.2vw, 40px);
  line-height:1.1;
  text-wrap:balance;
  max-width:32ch;
}
.lcad-sub{
  margin:0;
  font-size:17px;
  line-height:1.7;
  font-weight:600;
  color:rgba(255,255,255,.93);
  max-width:58ch;
}
.lcad-sub strong{
  color:#c8d4a8;
  font-weight:800;
}
.lcad-roadmap-section{
  background:linear-gradient(180deg, rgba(224,225,221,.65), #f0f1f3);
  padding:36px 0 44px;
  border-bottom:1px solid rgba(27,38,59,.08);
}
.lcad-roadmap-h2{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2vw, 22px);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1B263B;
}
.lcad-roadmap-lead{
  margin:0 0 28px;
  font-size:15px;
  font-weight:600;
  color:rgba(51,51,51,.88);
  max-width:60ch;
}
.lcad-roadmap-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  justify-content:center;
  gap:0;
}
.lcad-rm-node{
  flex:0 1 200px;
  text-align:center;
  padding:18px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:0 10px 28px rgba(0,0,0,.07);
}
.lcad-rm-step-ix{
  display:inline-block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  color:#4A5D23;
  margin-bottom:8px;
}
.lcad-rm-title{
  margin:0 0 6px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:#4A5D23;
}
.lcad-rm-desc{
  margin:0;
  font-size:13px;
  font-weight:600;
  line-height:1.45;
  color:var(--text);
}
.lcad-rm-dash{
  flex:1 1 32px;
  min-width:20px;
  align-self:center;
  height:0;
  border:none;
  border-top:2px dashed rgba(74,93,35,.45);
  margin:0 4px;
}
.lcad-strip{
  background:var(--ice);
  border-top:1px solid rgba(27,38,59,.08);
  border-bottom:1px solid rgba(27,38,59,.08);
}
body.page-lcad .lcad-content p{
  line-height:1.82;
}
.lcad-content{
  padding-top:36px;
  padding-bottom:48px;
}
.lcad-lead{
  margin:0 0 32px;
  padding:22px 24px;
  border-radius:16px;
  border:1px solid rgba(74,93,35,.28);
  background:linear-gradient(135deg, #fff, rgba(224,225,221,.45));
  font-size:17px;
  font-weight:600;
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
.lcad-section{
  margin-bottom:44px;
}
.lcad-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 2.4vw, 29px);
  color:var(--navy);
  line-height:1.2;
}
.lcad-p{
  margin:0 0 18px;
  font-size:16px;
  font-weight:600;
  color:var(--text);
  max-width:68ch;
}
.lcad-method-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:10px;
}
.lcad-mcard{
  background:#fff;
  border-radius:18px;
  padding:22px 18px 20px;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:0 12px 32px rgba(0,0,0,.07);
  display:grid;
  gap:10px;
  align-content:start;
}
.lcad-mcard-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:rgba(74,93,35,.12);
  border:1px solid rgba(74,93,35,.35);
  display:grid;
  place-items:center;
  font-size:22px;
  color:#4A5D23;
}
.lcad-mcard-title{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:18px;
  font-weight:900;
  color:#4A5D23;
  line-height:1.25;
}
.lcad-mcard-sum{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.lcad-mcard-tag{
  margin:8px 0 0;
  padding:12px 12px;
  border-radius:12px;
  background:rgba(224,225,221,.55);
  border:1px dashed rgba(74,93,35,.35);
  font-size:13px;
  font-weight:600;
  line-height:1.45;
  color:var(--navy);
}
.lcad-tag{
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:6px;
}
.lcad-checklist-box{
  background:#E0E1DD;
  border-radius:18px;
  padding:24px 22px;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
.lcad-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}
.lcad-checklist li{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:12px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(27,38,59,.08);
}
.lcad-check-ic{
  flex:0 0 28px;
  color:#4A5D23;
  font-size:22px;
  line-height:1;
  margin-top:2px;
}
.lcad-checklist li > div > strong{
  display:block;
  font-size:15px;
  color:var(--navy);
  margin-bottom:4px;
}
.lcad-checklist li > div > span{
  display:block;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  color:var(--text);
  opacity:.95;
}
.lcad-table-wrap{
  border-radius:18px;
  overflow:hidden;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 12px 32px rgba(27,38,59,.08);
  background:#fff;
}
.lcad-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:14px;
}
.lcad-table thead th{
  background:#1B263B;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 16px;
  border-bottom:2px solid rgba(255,255,255,.12);
}
.lcad-th-pro{
  background:linear-gradient(180deg, #243a5c, #1B263B);
  border-left:3px solid #4A5D23;
}
.lcad-table tbody th{
  background:rgba(224,225,221,.65);
  color:var(--navy);
  font-weight:900;
  font-size:12px;
  text-align:left;
  padding:12px 14px;
  width:26%;
  vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.lcad-table tbody td{
  padding:12px 14px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.lcad-table tbody tr:nth-child(even) td,
.lcad-table tbody tr:nth-child(even) th{
  background:rgba(248,249,250,.85);
}
.lcad-td-pro{
  background:rgba(74,93,35,.09) !important;
  border-left:2px solid rgba(74,93,35,.3);
}
.lcad-expert{
  margin-bottom:28px;
  padding:24px 24px 24px 20px;
  border-radius:14px;
  border:1px solid rgba(74,93,35,.25);
  border-left:8px solid #4A5D23;
  background:rgba(74,93,35,.07);
  box-shadow:var(--shadow-soft);
}
.lcad-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.lcad-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.lcad-glossary{
  margin:0 0 36px;
  padding:22px 24px;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.lcad-glossary-cap{
  margin:0 0 16px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:18px;
  font-weight:900;
  color:var(--navy);
}
.lcad-glossary-dl{
  margin:0;
  display:grid;
  gap:14px;
}
.lcad-glossary-row{
  padding-bottom:14px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.lcad-glossary-row:last-child{
  padding-bottom:0;
  border-bottom:none;
}
.lcad-glossary-dl dt{
  margin:0 0 6px;
  font-weight:900;
  font-size:14px;
  color:#4A5D23;
}
.lcad-glossary-dl dd{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.lcad-cta-moss{
  text-align:center;
  padding:40px 24px 44px;
  border-radius:20px;
  background:#4A5D23;
  border:1px solid rgba(0,0,0,.12);
  margin-bottom:32px;
  box-shadow:0 18px 40px rgba(74,93,35,.25);
}
body.page-lcad .article-content .lcad-cta-moss p{
  color:#fff;
}
.lcad-cta-moss-kicker{
  margin:0 0 10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.lcad-cta-moss-text{
  margin:0 auto 24px;
  max-width:46ch;
  font-size:18px;
  font-weight:700;
  line-height:1.55;
  color:#fff;
}
.lcad-cta-moss-text strong{
  color:#fff;
  font-weight:900;
}
.lcad-cta-btn{
  padding:16px 32px !important;
  font-size:17px !important;
  border-radius:16px !important;
  min-width:min(100%, 340px);
  justify-content:center;
}
.lcad-close{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.75;
  color:var(--text);
  padding-top:12px;
  border-top:1px solid rgba(27,38,59,.1);
}
.lcad-moss{
  color:var(--moss);
  font-weight:800;
}
@media (max-width: 900px){
  .lcad-method-grid{
    grid-template-columns:1fr;
  }
  .lcad-roadmap-row{
    flex-direction:column;
    align-items:stretch;
  }
  .lcad-rm-dash{
    flex:none;
    width:2px;
    min-width:0;
    height:28px;
    margin:0 auto;
    border-top:none;
    border-left:2px dashed rgba(74,93,35,.45);
  }
  .lcad-rm-node{
    flex:1 1 auto;
  }
  .lcad-table{
    min-width:100%;
    display:block;
  }
  .lcad-table thead{
    display:none;
  }
  .lcad-table tbody,
  .lcad-table tr,
  .lcad-table th,
  .lcad-table td{
    display:block;
    width:100%;
  }
  .lcad-table tr{
    margin-bottom:12px;
    border:1px solid rgba(27,38,59,.12);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
  }
  .lcad-table tbody th{
    background:#1B263B;
    color:#fff;
    font-size:11px;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .lcad-table tbody td{
    border-bottom:1px solid rgba(0,0,0,.06);
  }
  .lcad-table tbody td:last-child{
    border-bottom:none;
  }
}

/* Cadastro territorial — como funciona (page-cterr) */
.cterr-hero{
  position:relative;
  overflow:hidden;
  background:#1B263B;
  color:#fff;
  padding:36px 0 clamp(48px, 7vw, 72px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cterr-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 90% 70% at 50% -15%, rgba(74,93,35,.28), transparent 55%),
    radial-gradient(ellipse 55% 45% at 95% 40%, rgba(242,100,25,.1), transparent 55%),
    radial-gradient(ellipse 50% 50% at 5% 80%, rgba(255,255,255,.06), transparent 45%);
}
.cterr-hero-inner{
  position:relative;
  z-index:1;
}
.cterr-breadcrumb{
  margin-bottom:22px;
}
.cterr-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.72);
}
.cterr-breadcrumb-list a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  transition:color .3s ease, border-color .3s ease;
}
.cterr-breadcrumb-list a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.55);
}
.cterr-breadcrumb-sep{
  opacity:.55;
  user-select:none;
}
.cterr-breadcrumb-list [aria-current="page"]{
  color:#fff;
  font-weight:800;
}
.cterr-h1{
  margin:0 0 18px;
  max-width:min(100%, 38ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(26px, 4.2vw, 42px);
  font-weight:900;
  line-height:1.2;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.cterr-sub{
  margin:0;
  max-width:62ch;
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.9);
}
.cterr-strip{
  background:#E0E1DD;
  padding:0 0 48px;
}
body.page-cterr .cterr-content{
  padding-top:36px;
  padding-bottom:8px;
}
.cterr-term{
  color:#4A5D23;
  font-weight:700;
}
.cterr-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 32px;
}
.cterr-section{
  margin-bottom:40px;
}
.cterr-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.6vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.cterr-p{
  margin:0 0 18px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.cterr-comp-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
  margin-top:8px;
}
.cterr-comp-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  border-top:4px solid #4A5D23;
  box-shadow:0 8px 24px rgba(27,38,59,.08);
  padding:22px 20px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cterr-comp-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(27,38,59,.14);
  border-color:rgba(74,93,35,.35);
}
.cterr-comp-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.1);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .3s ease, background .3s ease;
}
.cterr-comp-card:hover .cterr-comp-icon{
  transform:scale(1.05);
  background:rgba(74,93,35,.16);
}
.cterr-svg{
  width:40px;
  height:40px;
  display:block;
}
.cterr-comp-title{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.cterr-comp-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.cterr-flow{
  margin-top:8px;
  padding:26px 22px 28px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:var(--shadow-soft);
  overflow-x:auto;
}
.cterr-flow-kicker{
  margin:0 0 20px;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  color:var(--navy);
  text-align:center;
}
.cterr-flow-row{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-wrap:nowrap;
  gap:0;
  min-width:min(100%, 920px);
  margin:0 auto;
}
.cterr-flow-step{
  flex:1 1 0;
  text-align:center;
  padding:8px 6px;
  min-width:min(100%, 160px);
}
.cterr-flow-ring{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin:0 auto 12px;
  border-radius:999px;
  background:#fff;
  border:3px solid #4A5D23;
  box-shadow:0 4px 14px rgba(27,38,59,.1);
  transition:transform .3s ease, box-shadow .3s ease;
}
.cterr-flow-step:hover .cterr-flow-ring{
  transform:scale(1.06);
  box-shadow:0 8px 20px rgba(74,93,35,.2);
}
.cterr-flow-num{
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:#1B263B;
}
.cterr-flow-title{
  margin:0 0 8px;
  font-size:14px;
  font-weight:900;
  color:var(--navy);
  font-family:"Montserrat", system-ui, sans-serif;
}
.cterr-flow-desc{
  margin:0;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  color:var(--text);
}
.cterr-flow-arrow{
  flex:0 0 40px;
  align-self:center;
  color:#4A5D23;
  opacity:.85;
  margin-top:-28px;
  transition:opacity .3s ease, transform .3s ease;
}
.cterr-flow-arrow svg{
  width:100%;
  height:auto;
  display:block;
}
.cterr-table-wrap{
  margin-top:8px;
  border-radius:16px;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 12px 32px rgba(27,38,59,.08);
  background:#fff;
}
.cterr-compare-table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:14px;
}
.cterr-compare-table thead th{
  background:#1B263B;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 16px;
  border-bottom:2px solid rgba(255,255,255,.12);
}
.cterr-compare-table tbody th{
  background:rgba(224,225,221,.65);
  color:var(--navy);
  font-weight:900;
  font-size:12px;
  text-align:left;
  padding:12px 14px;
  width:22%;
  vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.cterr-compare-table tbody td{
  padding:12px 14px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.cterr-compare-table tbody tr:nth-child(even) td,
.cterr-compare-table tbody tr:nth-child(even) th{
  background:rgba(224,225,221,.35);
}
.cterr-compare-table tbody tr:last-child td,
.cterr-compare-table tbody tr:last-child th{
  border-bottom:none;
}
.cterr-expert{
  margin:0 0 32px;
  padding:24px 24px 24px 20px;
  border-radius:16px;
  border:1px solid rgba(74,93,35,.25);
  border-left:8px solid #4A5D23;
  background:linear-gradient(135deg, rgba(74,93,35,.08), rgba(74,93,35,.04));
  box-shadow:var(--shadow-soft);
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.cterr-expert-icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.18);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.cterr-expert-body{
  flex:1;
  min-width:0;
}
.cterr-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.cterr-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.cterr-cta-zone{
  width:100%;
  text-align:center;
  padding:clamp(48px, 8vw, 72px) 24px;
  border-top:1px solid rgba(27,38,59,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
  background:linear-gradient(180deg, rgba(74,93,35,.07) 0%, #E0E1DD 32%, #E0E1DD 100%);
}
body.page-cterr .cterr-cta-text{
  margin:0 auto 26px;
  max-width:46ch;
  font-size:clamp(18px, 2.4vw, 22px);
  font-weight:800;
  line-height:1.45;
  color:var(--navy);
}
.cterr-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:12px;
  padding:18px 40px !important;
  font-size:18px !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 380px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 12px 28px rgba(242,100,25,.38);
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.cterr-cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(242,100,25,.45);
  filter:brightness(1.03);
}
.cterr-foot{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.75;
  color:var(--text);
  padding-top:8px;
}
.cterr-moss{
  color:var(--moss);
  font-weight:800;
}
@media (prefers-reduced-motion: reduce){
  .cterr-comp-card,
  .cterr-comp-card:hover,
  .cterr-comp-icon,
  .cterr-comp-card:hover .cterr-comp-icon,
  .cterr-flow-ring,
  .cterr-flow-step:hover .cterr-flow-ring,
  .cterr-cta-btn,
  .cterr-cta-btn:hover,
  .cterr-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .cterr-comp-card:hover{
    box-shadow:0 8px 24px rgba(27,38,59,.08);
  }
}
@media (max-width: 1024px){
  .cterr-comp-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px){
  .cterr-comp-grid{
    grid-template-columns:1fr;
  }
  .cterr-flow-row{
    flex-direction:column;
    align-items:center;
    min-width:100%;
  }
  .cterr-flow-arrow{
    flex:none;
    width:28px;
    margin:4px 0;
    margin-top:0;
    transform:rotate(90deg);
  }
  .cterr-flow-step{
    min-width:100%;
    max-width:320px;
  }
}
@media (max-width: 640px){
  .cterr-comp-grid{
    grid-template-columns:1fr;
  }
  .cterr-expert{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .cterr-expert-icon{
    margin:0 auto;
  }
}

/* Cadastro municipal — para que serve (page-cmun) */
.cmun-hero{
  position:relative;
  overflow:hidden;
  background:#1B263B;
  color:#fff;
  padding:clamp(40px, 6vw, 52px) 0 clamp(56px, 9vw, 88px);
  border-bottom:1px solid rgba(255,255,255,.08);
  min-height:min(52vh, 520px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.cmun-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 95% 72% at 50% -18%, rgba(74,93,35,.32), transparent 56%),
    radial-gradient(ellipse 55% 48% at 94% 36%, rgba(242,100,25,.11), transparent 54%),
    radial-gradient(ellipse 48% 48% at 6% 82%, rgba(255,255,255,.07), transparent 48%);
}
.cmun-hero-inner{
  position:relative;
  z-index:1;
}
.cmun-breadcrumb{
  margin-bottom:24px;
}
.cmun-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.72);
}
.cmun-breadcrumb-list a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  transition:color .3s ease, border-color .3s ease;
}
.cmun-breadcrumb-list a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.55);
}
.cmun-breadcrumb-sep{
  opacity:.55;
  user-select:none;
}
.cmun-breadcrumb-list [aria-current="page"]{
  color:#fff;
  font-weight:800;
}
.cmun-h1{
  margin:0 0 20px;
  max-width:min(100%, 44ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(26px, 4.2vw, 42px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.cmun-sub{
  margin:0;
  max-width:min(100%, 58ch);
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.58;
  color:rgba(255,255,255,.9);
}
.cmun-sub strong{
  color:#fff;
  font-weight:800;
}
.cmun-sub-em{
  color:rgba(186, 214, 140, .98);
  font-weight:800;
}
.cmun-strip{
  background:#E0E1DD;
  padding:0 0 52px;
}
body.page-cmun .cmun-content{
  padding-top:38px;
  padding-bottom:8px;
}
.cmun-term{
  color:#4A5D23;
  font-weight:700;
}
.cmun-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 34px;
}
.cmun-section{
  margin-bottom:42px;
}
.cmun-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.cmun-p{
  margin:0 0 18px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.cmun-func-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:10px;
}
.cmun-func-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  border-top:4px solid #4A5D23;
  box-shadow:0 8px 24px rgba(27,38,59,.08);
  padding:24px 22px 26px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cmun-func-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(27,38,59,.12);
  border-color:rgba(74,93,35,.32);
}
.cmun-func-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.1);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .3s ease, background .3s ease;
}
.cmun-func-card:hover .cmun-func-icon{
  transform:scale(1.05);
  background:rgba(74,93,35,.16);
}
.cmun-svg{
  width:40px;
  height:40px;
  display:block;
}
.cmun-func-title{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.cmun-func-txt{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.6;
  color:var(--text);
}
.cmun-impact{
  margin:0 0 42px;
  padding:30px 26px 28px;
  border-radius:18px;
  border:1px solid rgba(27,38,59,.12);
  background:#E0E1DD;
  box-shadow:0 12px 32px rgba(27,38,59,.07), inset 0 1px 0 rgba(255,255,255,.45);
}
.cmun-impact-head{
  margin-bottom:22px;
}
.cmun-impact-h2{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(19px, 2.35vw, 24px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.cmun-impact-lead{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.62;
  color:var(--text);
}
.cmun-risk-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-bottom:24px;
}
.cmun-risk-card{
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.1);
  padding:18px 16px 20px;
  box-shadow:0 6px 18px rgba(27,38,59,.06);
  transition:box-shadow .3s ease, transform .3s ease;
}
.cmun-risk-card:hover{
  box-shadow:0 10px 26px rgba(27,38,59,.1);
  transform:translateY(-2px);
}
.cmun-risk-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:rgba(27,38,59,.08);
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  margin-bottom:12px;
}
.cmun-risk-title{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:14px;
  font-weight:900;
  color:var(--navy);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.cmun-risk-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.cmun-signals{
  padding:18px 18px 20px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(27,38,59,.1);
}
.cmun-signals-cap{
  margin:0 0 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--navy);
}
.cmun-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cmun-checklist li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  color:var(--text);
  padding:10px 12px;
  border-radius:10px;
  background:rgba(224,225,221,.5);
  border:1px solid rgba(27,38,59,.08);
}
.cmun-check-ic{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:8px;
  background:rgba(242,100,25,.12);
  color:#c44d0f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.cmun-table-wrap{
  margin-top:10px;
  border-radius:16px;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 12px 32px rgba(27,38,59,.08);
  background:#fff;
}
.cmun-table-wrap--dashboard{
  border-radius:18px;
  border:1px solid rgba(27,38,59,.14);
  box-shadow:0 16px 40px rgba(27,38,59,.1), 0 0 0 1px rgba(255,255,255,.5) inset;
  background:linear-gradient(180deg, #f8f9fa 0%, #fff 48px);
}
.cmun-dash-kicker{
  margin:0;
  padding:12px 18px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  color:var(--navy);
  background:rgba(27,38,59,.06);
  border-bottom:1px solid rgba(27,38,59,.08);
  display:flex;
  align-items:center;
  gap:10px;
}
.cmun-dash-kicker i{
  color:#4A5D23;
}
.cmun-compare-table{
  width:100%;
  min-width:580px;
  border-collapse:collapse;
  font-size:14px;
}
.cmun-compare-table--dashboard tbody{
  font-size:13px;
}
.cmun-compare-table thead th{
  background:#1B263B;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 14px;
  border-bottom:2px solid rgba(255,255,255,.12);
  vertical-align:bottom;
}
.cmun-th-dim{
  width:20%;
  border-right:1px solid rgba(255,255,255,.1);
}
.cmun-th-legacy{
  background:linear-gradient(180deg, #2d3d56, #1B263B) !important;
  color:rgba(255,255,255,.82);
  border-right:1px solid rgba(255,255,255,.1);
}
.cmun-th-pro{
  background:linear-gradient(180deg, #3d5228, #2f3f1f) !important;
  color:#fff;
  border-left:3px solid #6b8c3a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.cmun-compare-table tbody th{
  background:rgba(224,225,221,.7);
  color:var(--navy);
  font-weight:900;
  font-size:11px;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-align:left;
  padding:12px 14px;
  width:20%;
  vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.cmun-compare-table tbody td{
  padding:12px 14px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.cmun-td-legacy{
  background:rgba(248,249,250,.95);
  border-right:1px solid rgba(27,38,59,.06);
  color:rgba(27,38,59,.82);
}
.cmun-td-pro{
  background:rgba(74,93,35,.1);
  border-left:2px solid rgba(74,93,35,.35);
  color:var(--navy);
  font-weight:700;
}
.cmun-compare-table tbody tr:nth-child(even) .cmun-td-legacy{
  background:rgba(240,241,243,.95);
}
.cmun-compare-table tbody tr:nth-child(even) .cmun-td-pro{
  background:rgba(74,93,35,.14);
}
.cmun-compare-table tbody tr:nth-child(even) th{
  background:rgba(224,225,221,.5);
}
.cmun-compare-table tbody tr:last-child td,
.cmun-compare-table tbody tr:last-child th{
  border-bottom:none;
}
.cmun-glossary{
  margin:0 0 36px;
  padding:24px 24px 26px;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.cmun-glossary-cap{
  margin:0 0 18px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.cmun-glossary-tag{
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(74,93,35,.12);
  color:#4A5D23;
}
.cmun-glossary-dl{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0;
}
.cmun-glossary-row{
  padding:16px 0;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.cmun-glossary-row:last-child{
  border-bottom:none;
  padding-bottom:0;
}
.cmun-glossary-row:first-child{
  padding-top:0;
}
.cmun-glossary-dl dt{
  margin:0 0 6px;
  font-weight:900;
  font-size:14px;
  color:#4A5D23;
}
.cmun-glossary-dl dd{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.cmun-expert{
  margin:0 0 28px;
  padding:26px 26px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(74,93,35,.28);
  border-left:10px solid #4A5D23;
  background:rgba(74,93,35,.07);
  box-shadow:var(--shadow-soft);
}
.cmun-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.cmun-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.cmun-foot{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.75;
  color:var(--text);
  padding-top:4px;
}
.cmun-cta-zone{
  width:100%;
  text-align:center;
  padding:clamp(52px, 9vw, 80px) 24px;
  border-top:1px solid rgba(27,38,59,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  background:linear-gradient(180deg, rgba(74,93,35,.08) 0%, #E0E1DD 30%, #E0E1DD 100%);
}
body.page-cmun .cmun-cta-text{
  margin:0 auto 28px;
  max-width:50ch;
  font-size:clamp(18px, 2.35vw, 22px);
  font-weight:800;
  line-height:1.45;
  color:var(--navy);
}
body.page-cmun .cmun-cta-text strong{
  color:#1B263B;
}
.cmun-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:12px;
  padding:18px 28px !important;
  font-size:16px !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 440px);
  justify-content:center;
  text-align:center;
  line-height:1.3;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 12px 28px rgba(242,100,25,.38);
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.cmun-cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(242,100,25,.45);
  filter:brightness(1.03);
}
@media (prefers-reduced-motion: reduce){
  .cmun-func-card,
  .cmun-func-card:hover,
  .cmun-func-icon,
  .cmun-func-card:hover .cmun-func-icon,
  .cmun-risk-card,
  .cmun-risk-card:hover,
  .cmun-cta-btn,
  .cmun-cta-btn:hover,
  .cmun-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .cmun-func-card:hover{
    box-shadow:0 8px 24px rgba(27,38,59,.08);
  }
}
@media (max-width: 960px){
  .cmun-func-grid,
  .cmun-risk-grid{
    grid-template-columns:1fr;
  }
  .cmun-hero{
    min-height:0;
  }
}

/* Topografia urbana — como funciona (page-turb) */
.turb-hero{
  position:relative;
  overflow:hidden;
  background:#1B263B;
  color:#fff;
  padding:clamp(40px, 6vw, 52px) 0 clamp(52px, 8vw, 80px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.turb-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 92% 68% at 50% -14%, rgba(74,93,35,.28), transparent 55%),
    radial-gradient(ellipse 52% 44% at 96% 42%, rgba(242,100,25,.1), transparent 52%),
    radial-gradient(ellipse 46% 46% at 4% 76%, rgba(255,255,255,.06), transparent 48%);
}
.turb-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.4;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:28px 28px;
  background-position:center top;
  mask-image:linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 55%, transparent 100%);
}
.turb-hero-inner{
  position:relative;
  z-index:1;
}
.turb-hero-text{
  position:relative;
  z-index:1;
}
.turb-hero-tagline{
  margin:20px 0 0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.turb-hero-precision{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.25);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:14px;
  font-weight:900;
  color:rgba(186,214,140,.95);
}
.turb-breadcrumb{
  margin-bottom:22px;
}
.turb-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.72);
}
.turb-breadcrumb-list a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  transition:color .3s ease, border-color .3s ease;
}
.turb-breadcrumb-list a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.55);
}
.turb-breadcrumb-sep{
  opacity:.55;
  user-select:none;
}
.turb-breadcrumb-list [aria-current="page"]{
  color:#fff;
  font-weight:800;
}
.turb-h1{
  margin:0 0 18px;
  max-width:min(100%, 48ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(24px, 3.8vw, 40px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.turb-sub{
  margin:0;
  max-width:min(100%, 58ch);
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.9);
}
.turb-sub strong{
  color:#fff;
  font-weight:800;
}
.turb-strip{
  background:#E0E1DD;
  padding:0 0 48px;
}
body.page-turb .turb-content{
  padding-top:36px;
  padding-bottom:8px;
}
.turb-article-head .turb-lead{
  margin-bottom:36px;
}
.turb-term{
  color:#4A5D23;
  font-weight:700;
}
.turb-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 32px;
}
.turb-section{
  margin-bottom:40px;
}
.turb-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.turb-p{
  margin:0 0 18px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.turb-app-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:10px;
}
.turb-app-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  border-top:4px solid #4A5D23;
  box-shadow:0 8px 24px rgba(27,38,59,.08);
  padding:24px 22px 26px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.turb-app-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(27,38,59,.12);
  border-color:rgba(74,93,35,.32);
}
.turb-app-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.1);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .3s ease, background .3s ease;
}
.turb-app-card:hover .turb-app-icon{
  transform:scale(1.05);
  background:rgba(74,93,35,.16);
}
.turb-svg{
  width:40px;
  height:40px;
  display:block;
}
.turb-app-title{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:#4A5D23;
  letter-spacing:-.01em;
}
.turb-app-txt{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.6;
  color:var(--text);
}
.turb-tech-box{
  margin:0 0 42px;
  padding:28px 24px 30px;
  border-radius:18px;
  border:1px solid rgba(27,38,59,.12);
  background:#E0E1DD;
  box-shadow:0 10px 28px rgba(27,38,59,.07), inset 0 1px 0 rgba(255,255,255,.5);
}
.turb-tech-head{
  margin-bottom:20px;
}
.turb-tech-h2{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.turb-tech-lead{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.turb-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.turb-checklist li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(224,225,221,.45);
  border:1px solid rgba(27,38,59,.08);
  font-size:15px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
  transition:background .25s ease, border-color .25s ease;
}
.turb-checklist li:hover{
  background:rgba(74,93,35,.08);
  border-color:rgba(74,93,35,.2);
}
.turb-checklist--ice li{
  background:#fff;
  border-color:rgba(27,38,59,.1);
  box-shadow:0 4px 12px rgba(27,38,59,.05);
}
.turb-checklist--ice li:hover{
  background:#fff;
  border-color:rgba(74,93,35,.28);
  box-shadow:0 8px 20px rgba(27,38,59,.08);
}
.turb-check-ic{
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:12px;
  background:rgba(27,38,59,.08);
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}
.turb-table-wrap{
  margin-top:10px;
  border-radius:16px;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 12px 32px rgba(27,38,59,.08);
  background:#fff;
}
.turb-compare-table{
  width:100%;
  min-width:580px;
  border-collapse:collapse;
  font-size:14px;
}
.turb-compare-table thead th{
  background:#1B263B;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 14px;
  border-bottom:2px solid rgba(255,255,255,.12);
}
.turb-th-dim{
  width:20%;
  border-right:1px solid rgba(255,255,255,.1);
}
.turb-th-legacy{
  background:linear-gradient(180deg, #2d3d56, #1B263B) !important;
  color:rgba(255,255,255,.85);
  border-right:1px solid rgba(255,255,255,.1);
}
.turb-th-pro{
  background:linear-gradient(180deg, #3d5228, #2f3f1f) !important;
  color:#fff;
  border-left:3px solid #6b8c3a;
}
.turb-compare-table tbody th{
  background:rgba(224,225,221,.7);
  color:var(--navy);
  font-weight:900;
  font-size:11px;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-align:left;
  padding:12px 14px;
  width:20%;
  vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.turb-compare-table tbody td{
  padding:12px 14px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.turb-td-legacy{
  background:rgba(248,249,250,.95);
  border-right:1px solid rgba(27,38,59,.06);
  color:rgba(27,38,59,.82);
}
.turb-td-pro{
  background:rgba(74,93,35,.1);
  border-left:2px solid rgba(74,93,35,.35);
  color:var(--navy);
  font-weight:700;
}
.turb-compare-table tbody tr:nth-child(even) .turb-td-legacy{
  background:rgba(240,241,243,.95);
}
.turb-compare-table tbody tr:nth-child(even) .turb-td-pro{
  background:rgba(74,93,35,.14);
}
.turb-compare-table tbody tr:nth-child(even) th{
  background:rgba(224,225,221,.5);
}
.turb-compare-table tbody tr:last-child td,
.turb-compare-table tbody tr:last-child th{
  border-bottom:none;
}
.turb-mid-cta{
  margin:0 0 36px;
  padding:36px 28px 40px;
  text-align:center;
  border-radius:18px;
  background:linear-gradient(165deg, rgba(27,38,59,.04), rgba(74,93,35,.08));
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 14px 36px rgba(27,38,59,.1);
}
.turb-mid-cta-text{
  margin:0 auto 24px;
  max-width:46ch;
  font-size:clamp(17px, 2.2vw, 20px);
  font-weight:800;
  line-height:1.5;
  color:var(--navy);
}
.turb-mid-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:12px;
  padding:18px 36px !important;
  font-size:17px !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 360px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 12px 28px rgba(242,100,25,.4);
  transition:filter .25s ease, transform .25s ease, box-shadow .25s ease;
}
.turb-mid-cta-btn:hover{
  filter:brightness(1.12);
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(242,100,25,.48);
}
.turb-article-foot{
  margin:0;
  padding:0;
}
.turb-expert{
  margin:0 0 28px;
  padding:26px 26px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(74,93,35,.28);
  border-left:10px solid #4A5D23;
  background:rgba(74,93,35,.07);
  box-shadow:var(--shadow-soft);
}
.turb-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.turb-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.turb-foot{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.75;
  color:var(--text);
  padding-top:4px;
}
.turb-cta-zone{
  width:100%;
  text-align:center;
  padding:clamp(52px, 9vw, 80px) 24px;
  border-top:1px solid rgba(27,38,59,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  background:linear-gradient(180deg, rgba(74,93,35,.08) 0%, #E0E1DD 30%, #E0E1DD 100%);
}
body.page-turb .turb-cta-text{
  margin:0 auto 28px;
  max-width:48ch;
  font-size:clamp(18px, 2.35vw, 22px);
  font-weight:800;
  line-height:1.45;
  color:var(--navy);
}
.turb-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:12px;
  padding:18px 36px !important;
  font-size:17px !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 400px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 12px 28px rgba(242,100,25,.38);
  transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.turb-cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(242,100,25,.45);
  filter:brightness(1.03);
}
.turb-cta-btn--footer{
  transition:filter .25s ease, transform .25s ease, box-shadow .25s ease;
}
.turb-cta-btn--footer:hover{
  filter:brightness(1.12);
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(242,100,25,.48);
}
@media (prefers-reduced-motion: reduce){
  .turb-app-card,
  .turb-app-card:hover,
  .turb-app-icon,
  .turb-app-card:hover .turb-app-icon,
  .turb-checklist li,
  .turb-cta-btn,
  .turb-cta-btn:hover,
  .turb-mid-cta-btn,
  .turb-mid-cta-btn:hover,
  .turb-cta-btn--footer,
  .turb-cta-btn--footer:hover,
  .turb-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .turb-app-card:hover{
    box-shadow:0 8px 24px rgba(27,38,59,.08);
  }
  .turb-mid-cta-btn:hover,
  .turb-cta-btn--footer:hover{
    filter:none;
  }
}
@media (max-width: 960px){
  .turb-app-grid{
    grid-template-columns:1fr;
  }
}

/* Quanto ganha topógrafo cadastral (page-qtc) */
.qtc-hero{
  position:relative;
  overflow:hidden;
  background:#1B263B;
  color:#fff;
  padding:clamp(40px, 6vw, 52px) 0 clamp(52px, 8vw, 84px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.qtc-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 90% 65% at 70% -10%, rgba(242,100,25,.14), transparent 50%),
    radial-gradient(ellipse 80% 60% at 20% 100%, rgba(74,93,35,.22), transparent 55%),
    radial-gradient(ellipse 50% 45% at 50% 40%, rgba(255,255,255,.05), transparent 50%);
}
.qtc-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(135deg, #000 20%, #000 70%, transparent 100%);
  -webkit-mask-image:linear-gradient(135deg, #000 20%, #000 70%, transparent 100%);
}
.qtc-hero-accent{
  position:absolute;
  top:clamp(72px, 12vw, 120px);
  right:clamp(12px, 4vw, 48px);
  z-index:0;
  display:flex;
  align-items:baseline;
  gap:4px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  opacity:.22;
  user-select:none;
}
.qtc-hero-kpi{
  font-size:clamp(48px, 14vw, 96px);
  line-height:1;
  color:rgba(255,255,255,.9);
}
.qtc-hero-kpi--orange{
  color:#F26419;
}
.qtc-hero-inner{
  position:relative;
  z-index:1;
}
.qtc-breadcrumb{
  margin-bottom:22px;
}
.qtc-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.72);
}
.qtc-breadcrumb-list a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  transition:color .2s ease, border-color .2s ease;
}
.qtc-breadcrumb-list a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.55);
}
.qtc-breadcrumb-sep{
  opacity:.55;
  user-select:none;
}
.qtc-breadcrumb-list [aria-current="page"]{
  color:#fff;
  font-weight:800;
}
.qtc-h1{
  margin:0 0 18px;
  max-width:min(100%, 52ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 3.6vw, 38px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.qtc-sub{
  margin:0;
  max-width:min(100%, 58ch);
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.92);
}
.qtc-sub strong{
  color:#fff;
  font-weight:800;
}
.qtc-sub-hl{
  color:rgba(186,214,140,.98);
  font-weight:800;
}
.qtc-hero-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:clamp(16px, 3vw, 28px);
}
.qtc-hero-copy{
  flex:1 1 min(100%, 40rem);
  min-width:0;
}
.qtc-hero-trend{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  margin-top:2px;
}
.qtc-hero-trend-ring{
  width:clamp(52px, 11vw, 72px);
  height:clamp(52px, 11vw, 72px);
  border-radius:18px;
  background:linear-gradient(145deg, rgba(242,100,25,.28), rgba(242,100,25,.06));
  border:2px solid rgba(242,100,25,.65);
  color:#F26419;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:clamp(22px, 4.5vw, 30px);
  box-shadow:0 12px 32px rgba(0,0,0,.22);
}
.qtc-hero-trend-line{
  display:none;
  width:clamp(32px, 8vw, 56px);
  height:4px;
  margin-left:-2px;
  border-radius:4px;
  background:linear-gradient(90deg, #F26419, rgba(242,100,25,.15));
  transform:skewY(-6deg);
}
@media (min-width: 640px){
  .qtc-hero-trend-line{
    display:block;
  }
}
.qtc-hero-tagline{
  margin:20px 0 0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.qtc-hero-tagline i{
  color:#F26419;
  font-size:12px;
}
.qtc-strip{
  background:#E0E1DD;
  padding:0 0 48px;
}
body.page-qtc .qtc-content{
  padding-top:36px;
  padding-bottom:8px;
}
.qtc-term{
  color:#4A5D23;
  font-weight:700;
}
.qtc-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 34px;
}
.qtc-section{
  margin-bottom:42px;
}
.qtc-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.qtc-p{
  margin:0 0 16px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.qtc-profile-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:12px;
}
.qtc-profile-card{
  position:relative;
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  padding:24px 20px 26px;
  box-shadow:0 8px 24px rgba(27,38,59,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.qtc-profile-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(27,38,59,.12);
}
.qtc-profile-card--featured{
  border:3px solid #F26419;
  box-shadow:0 16px 40px rgba(242,100,25,.22), 0 8px 24px rgba(27,38,59,.08);
  background:linear-gradient(180deg, #fff 0%, rgba(242,100,25,.07) 100%);
}
.qtc-profile-badge{
  position:absolute;
  top:14px;
  right:14px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:999px;
  background:#F26419;
  color:#fff;
}
.qtc-profile-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:rgba(74,93,35,.12);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  margin-bottom:14px;
}
.qtc-profile-icon--hot{
  background:rgba(242,100,25,.16);
  color:#F26419;
}
.qtc-profile-title{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.qtc-profile-range{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2.4vw, 22px);
  font-weight:900;
  color:#4A5D23;
  line-height:1.2;
}
.qtc-profile-unit{
  font-size:13px;
  font-weight:800;
  color:rgba(74,93,35,.85);
}
.qtc-profile-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.qtc-table-wrap{
  margin-top:12px;
  border-radius:16px;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid rgba(27,38,59,.12);
  box-shadow:0 12px 32px rgba(27,38,59,.08);
  background:#fff;
}
.qtc-svc-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:14px;
}
.qtc-svc-table thead th{
  background:#1B263B;
  color:#fff;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 16px;
  border-bottom:2px solid rgba(255,255,255,.12);
}
.qtc-svc-table tbody th{
  background:rgba(224,225,221,.7);
  color:var(--navy);
  font-weight:900;
  font-size:13px;
  text-align:left;
  padding:12px 16px;
  width:22%;
  vertical-align:top;
  border-bottom:1px solid rgba(0,0,0,.07);
}
.qtc-svc-table tbody td{
  padding:12px 16px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.qtc-svc-table tbody td:first-of-type{
  font-weight:800;
  color:var(--navy);
  white-space:nowrap;
}
.qtc-svc-table tbody tr:nth-child(even) td,
.qtc-svc-table tbody tr:nth-child(even) th{
  background:rgba(224,225,221,.35);
}
.qtc-svc-table tbody tr:last-child td,
.qtc-svc-table tbody tr:last-child th{
  border-bottom:none;
}
.qtc-table-note{
  margin:14px 0 0;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  color:rgba(27,38,59,.75);
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.qtc-table-note i{
  color:#4A5D23;
  margin-top:2px;
}
.qtc-table-wrap--minimal{
  border:1px solid rgba(27,38,59,.1);
  box-shadow:0 10px 28px rgba(27,38,59,.06);
}
.qtc-svc-table--minimal{
  min-width:0;
  width:100%;
}
.qtc-svc-table--minimal tbody th{
  width:44%;
  background:#f0f1f4;
}
.qtc-tr-simple th,
.qtc-tr-simple td{
  background:#dfe1e6 !important;
  color:rgba(27,38,59,.68) !important;
  border-bottom-color:rgba(27,38,59,.08) !important;
}
.qtc-tr-simple th{
  font-weight:800 !important;
}
.qtc-tr-simple td{
  font-weight:700 !important;
}
.qtc-tr-star{
  box-shadow:inset 5px 0 0 #F26419;
}
.qtc-tr-star th{
  background:rgba(74,93,35,.14) !important;
  color:var(--navy) !important;
  font-weight:900 !important;
  border-bottom-color:rgba(27,38,59,.08) !important;
}
.qtc-tr-star td{
  background:rgba(242,100,25,.1) !important;
  border-bottom-color:rgba(242,100,25,.2) !important;
}
.qtc-td-highlight{
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900 !important;
  font-size:clamp(15px, 2vw, 18px);
  color:#1B263B !important;
  white-space:nowrap;
}
.qtc-infographic{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:14px;
}
.qtc-info-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  padding:22px 16px 24px;
  text-align:center;
  box-shadow:0 8px 22px rgba(27,38,59,.07);
  transition:transform .28s ease, box-shadow .28s ease;
}
.qtc-info-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(27,38,59,.11);
}
.qtc-info-ic{
  width:56px;
  height:56px;
  margin:0 auto 14px;
  border-radius:16px;
  background:linear-gradient(145deg, rgba(27,38,59,.09), rgba(74,93,35,.16));
  color:#1B263B;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}
.qtc-info-title{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:16px;
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.qtc-info-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.qtc-expert{
  margin:0 0 32px;
  padding:26px 24px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.1);
  border-left:12px solid #4A5D23;
  background:#e8eaef;
  box-shadow:0 8px 26px rgba(27,38,59,.07);
}
.qtc-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.qtc-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.qtc-insight{
  margin:0 0 32px;
  padding:26px 24px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.1);
  border-left:14px solid #4A5D23;
  background:#E0E1DD;
  box-shadow:0 8px 26px rgba(27,38,59,.06);
}
.qtc-insight-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.qtc-insight-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}

.qtc-faq{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.qtc-faq details{
  border:1px solid rgba(27,38,59,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(27,38,59,.05);
  overflow:hidden;
}
.qtc-faq summary{
  cursor:pointer;
  padding:16px 18px;
  list-style:none;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  color:var(--navy);
  line-height:1.35;
}
.qtc-faq summary::-webkit-details-marker{display:none;}
.qtc-faq details[open] summary{
  background:rgba(242,100,25,.06);
}
.qtc-faq-a{
  padding:0 18px 18px;
  color:var(--text);
  font-weight:600;
  line-height:1.65;
}
.qtc-diff{
  margin:0;
  padding:26px 24px 28px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:var(--shadow-soft);
}
.qtc-diff-h2{
  margin:0 0 18px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:900;
  color:var(--navy);
}
.qtc-diff-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.qtc-diff-list li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(224,225,221,.45);
  border:1px solid rgba(27,38,59,.08);
  font-size:15px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.qtc-diff-ic{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(27,38,59,.08);
  color:var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
}
.qtc-cta-zone{
  position:relative;
  overflow:hidden;
  width:100%;
  text-align:center;
  padding:clamp(56px, 10vw, 92px) 24px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(165deg, #1B263B 0%, #151d2e 45%, #0f1520 100%);
}
.qtc-cta-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 85% 55% at 50% -25%, rgba(242,100,25,.2), transparent 52%),
    radial-gradient(ellipse 45% 40% at 95% 85%, rgba(74,93,35,.14), transparent 50%);
}
.qtc-cta-inner{
  position:relative;
  z-index:1;
}
body.page-qtc .qtc-cta-text{
  margin:0 auto 28px;
  max-width:min(44ch, 96%);
  font-size:clamp(18px, 2.5vw, 24px);
  font-weight:800;
  line-height:1.45;
  color:#fff;
  text-wrap:balance;
}
.qtc-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:14px;
  padding:20px 36px !important;
  font-size:clamp(16px, 2.2vw, 18px) !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 420px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 16px 40px rgba(242,100,25,.45);
  transition:filter .25s ease, transform .25s ease, box-shadow .25s ease;
}
.qtc-cta-btn i{
  font-size:1.15em;
}
.qtc-cta-btn:hover{
  filter:brightness(1.12);
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(242,100,25,.5);
}
@media (prefers-reduced-motion: reduce){
  .qtc-profile-card,
  .qtc-profile-card:hover,
  .qtc-info-card,
  .qtc-info-card:hover,
  .qtc-cta-btn,
  .qtc-cta-btn:hover,
  .qtc-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .qtc-cta-btn:hover{
    filter:none;
  }
}
@media (max-width: 960px){
  .qtc-profile-grid{
    grid-template-columns:1fr;
  }
  .qtc-profile-card--featured{
    order:-1;
  }
  .qtc-infographic{
    grid-template-columns:1fr;
  }
  .qtc-hero-accent{
    display:none;
  }
}
@media (max-width: 480px){
  .qtc-svc-table--minimal tbody th,
  .qtc-svc-table--minimal tbody td{
    padding:10px 12px;
    font-size:13px;
  }
  .qtc-td-highlight{
    white-space:normal;
  }
}

/* Como trabalhar com topografia cadastral (page-ctc) */
.ctc-hero{
  position:relative;
  overflow:hidden;
  background:#1B263B;
  color:#fff;
  padding:clamp(40px, 6vw, 52px) 0 clamp(52px, 8vw, 84px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ctc-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 90% 65% at 75% -10%, rgba(242,100,25,.14), transparent 50%),
    radial-gradient(ellipse 80% 60% at 15% 100%, rgba(74,93,35,.2), transparent 55%),
    radial-gradient(ellipse 50% 45% at 45% 45%, rgba(255,255,255,.05), transparent 50%);
}
.ctc-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(135deg, #000 25%, #000 72%, transparent 100%);
  -webkit-mask-image:linear-gradient(135deg, #000 25%, #000 72%, transparent 100%);
}
.ctc-hero-inner{
  position:relative;
  z-index:1;
}
.ctc-breadcrumb{
  margin-bottom:22px;
}
.ctc-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.72);
}
.ctc-breadcrumb-list a{
  color:rgba(255,255,255,.88);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
  transition:color .2s ease, border-color .2s ease;
}
.ctc-breadcrumb-list a:hover{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.55);
}
.ctc-breadcrumb-sep{
  opacity:.55;
  user-select:none;
}
.ctc-breadcrumb-list [aria-current="page"]{
  color:#fff;
  font-weight:800;
}
.ctc-h1{
  margin:0 0 18px;
  max-width:min(100%, 56ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 3.5vw, 38px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.ctc-sub{
  margin:0;
  max-width:min(100%, 60ch);
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.92);
}
.ctc-sub strong{
  color:#fff;
  font-weight:800;
}
.ctc-hero-tagline{
  margin:20px 0 0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.ctc-hero-tagline i{
  color:#F26419;
  font-size:12px;
}
.ctc-strip{
  background:#E0E1DD;
  padding:0 0 48px;
}
body.page-ctc .ctc-content{
  padding-top:36px;
  padding-bottom:8px;
}
.ctc-term{
  color:#4A5D23;
  font-weight:700;
}
.ctc-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 34px;
}
.ctc-section{
  margin-bottom:42px;
}
.ctc-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.ctc-p{
  margin:0 0 16px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.ctc-timeline{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  position:relative;
}
.ctc-timeline::before{
  content:"";
  position:absolute;
  left:19px;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:2px;
  background:linear-gradient(180deg, #4A5D23 0%, #1B263B 100%);
}
.ctc-tl-item{
  position:relative;
  display:grid;
  grid-template-columns:40px 1fr;
  gap:clamp(14px, 3vw, 20px);
  padding-bottom:clamp(22px, 4vw, 32px);
}
.ctc-tl-item:last-child{
  padding-bottom:0;
}
.ctc-tl-num{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#4A5D23;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:15px;
  font-weight:900;
  z-index:1;
  box-shadow:0 6px 16px rgba(74,93,35,.35);
  border:2px solid #E0E1DD;
}
.ctc-tl-item--final .ctc-tl-num{
  background:linear-gradient(145deg, #F26419, #c74e12);
  box-shadow:0 6px 18px rgba(242,100,25,.35);
  border-color:rgba(255,255,255,.35);
}
.ctc-tl-title{
  margin:0 0 8px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.ctc-tl-txt{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.6;
  color:var(--text);
}
.ctc-market-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:14px;
}
.ctc-market-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  padding:24px 20px 26px;
  box-shadow:0 8px 24px rgba(27,38,59,.08);
  transition:transform .28s ease, box-shadow .28s ease;
}
.ctc-market-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(27,38,59,.12);
}
.ctc-market-ic{
  width:50px;
  height:50px;
  border-radius:14px;
  background:rgba(27,38,59,.08);
  color:#1B263B;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  margin-bottom:14px;
}
.ctc-market-title{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.ctc-market-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.ctc-expert{
  margin:0 0 32px;
  padding:26px 24px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.1);
  border-left:12px solid #4A5D23;
  background:#e8eaef;
  box-shadow:0 8px 26px rgba(27,38,59,.07);
}
.ctc-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.ctc-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.ctc-check-wrap{
  margin:0;
  padding:26px 24px 28px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:var(--shadow-soft);
}
.ctc-check-h2{
  margin:0 0 18px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:900;
  color:var(--navy);
}
.ctc-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ctc-checklist li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(224,225,221,.45);
  border:1px solid rgba(27,38,59,.08);
  font-size:15px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.ctc-check-ic{
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(74,93,35,.12);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}
.ctc-cta-zone{
  position:relative;
  overflow:hidden;
  width:100%;
  text-align:center;
  padding:clamp(56px, 10vw, 92px) 24px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(165deg, #1B263B 0%, #151d2e 45%, #0f1520 100%);
}
.ctc-cta-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 85% 55% at 50% -25%, rgba(242,100,25,.2), transparent 52%),
    radial-gradient(ellipse 45% 40% at 95% 85%, rgba(74,93,35,.14), transparent 50%);
}
.ctc-cta-inner{
  position:relative;
  z-index:1;
}
body.page-ctc .ctc-cta-text{
  margin:0 auto 28px;
  max-width:min(46ch, 96%);
  font-size:clamp(18px, 2.5vw, 24px);
  font-weight:800;
  line-height:1.45;
  color:#fff;
  text-wrap:balance;
}
.ctc-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:14px;
  padding:20px 36px !important;
  font-size:clamp(16px, 2.2vw, 18px) !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 420px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 16px 40px rgba(242,100,25,.45);
  transition:filter .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ctc-cta-btn i{
  font-size:1.15em;
}
.ctc-cta-btn:hover{
  filter:brightness(1.12);
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(242,100,25,.5);
}
@media (min-width: 900px){
  .ctc-timeline{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    margin-top:28px;
    padding-top:8px;
  }
  .ctc-timeline::before{
    left:8%;
    right:8%;
    top:24px;
    bottom:auto;
    width:auto;
    height:4px;
    background:linear-gradient(90deg, #4A5D23 0%, #1B263B 100%);
  }
  .ctc-tl-item{
    display:block;
    flex:1 1 0;
    min-width:0;
    padding:0 6px 0;
    padding-top:52px;
    text-align:center;
  }
  .ctc-tl-num{
    position:absolute;
    top:6px;
    left:50%;
    transform:translateX(-50%);
  }
  .ctc-tl-body{
    padding-top:4px;
  }
}
@media (prefers-reduced-motion: reduce){
  .ctc-market-card,
  .ctc-market-card:hover,
  .ctc-cta-btn,
  .ctc-cta-btn:hover,
  .ctc-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .ctc-cta-btn:hover{
    filter:none;
  }
}
@media (max-width: 960px){
  .ctc-market-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 899px){
  .ctc-tl-item{
    grid-template-columns:40px 1fr;
  }
}

/* FAQ (page-ctc) */
.ctc-faq{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ctc-faq details{
  border:1px solid rgba(27,38,59,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(27,38,59,.05);
  overflow:hidden;
}
.ctc-faq summary{
  cursor:pointer;
  list-style:none;
  padding:16px 18px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  color:var(--navy);
  line-height:1.35;
}
.ctc-faq summary::-webkit-details-marker{display:none;}
.ctc-faq details[open] summary{
  background:rgba(242,100,25,.05);
}
.ctc-faq-a{
  padding:0 18px 18px;
  color:var(--text);
  font-weight:600;
  line-height:1.65;
}

/* Vale a pena trabalhar com cadastro (page-vat) — quebra de objeções */
.vat-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(ellipse 120% 90% at 80% 0%, rgba(242,100,25,.14), transparent 45%),
    radial-gradient(ellipse 100% 80% at 10% 100%, rgba(74,93,35,.2), transparent 50%),
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(255,255,255,.06), transparent 55%),
    #1B263B;
  color:#fff;
  padding:clamp(40px, 6vw, 52px) 0 clamp(52px, 8vw, 84px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.vat-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 95% 70% at 65% -5%, rgba(242,100,25,.1), transparent 48%),
    radial-gradient(ellipse 85% 60% at 22% 105%, rgba(74,93,35,.15), transparent 52%),
    radial-gradient(ellipse 50% 45% at 50% 40%, rgba(255,255,255,.05), transparent 50%);
}
.vat-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.26;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(135deg, #000 22%, #000 74%, transparent 100%);
  -webkit-mask-image:linear-gradient(135deg, #000 22%, #000 74%, transparent 100%);
}
.vat-hero-inner{
  position:relative;
  z-index:1;
}
.vat-breadcrumb{
  margin-bottom:20px;
}
.vat-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.vat-breadcrumb-list a{
  color:rgba(255,255,255,.62);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.15);
  transition:color .2s ease, border-color .2s ease;
}
.vat-breadcrumb-list a:hover{
  color:rgba(255,255,255,.92);
  border-bottom-color:rgba(255,255,255,.4);
}
.vat-breadcrumb-sep{
  opacity:.4;
  user-select:none;
}
.vat-breadcrumb-list [aria-current="page"]{
  color:rgba(255,255,255,.78);
  font-weight:700;
}
.vat-h1{
  margin:0 0 18px;
  max-width:min(100%, 58ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 3.5vw, 36px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.vat-sub{
  margin:0;
  max-width:min(100%, 60ch);
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.92);
}
.vat-sub strong{
  color:#fff;
  font-weight:800;
}
.vat-hero-tagline{
  margin:20px 0 0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.vat-hero-tagline i{
  color:#F26419;
  font-size:12px;
}
.vat-strip{
  background:#E0E1DD;
  padding:0 0 48px;
}
body.page-vat .vat-content{
  padding-top:36px;
  padding-bottom:8px;
}
.vat-term{
  color:#4A5D23;
  font-weight:700;
}
.vat-moss{
  color:#4A5D23;
  font-weight:900;
}
.vat-h3{
  margin:18px 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:18px;
  font-weight:900;
  color:var(--navy);
}
.vat-quote{
  margin:18px 0 18px;
  padding:18px 18px;
  border-left:6px solid #4A5D23;
  border-radius:12px;
  background:rgba(74,93,35,.06);
  color:var(--navy);
  font-weight:700;
  line-height:1.6;
}
.vat-faq{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.vat-faq details{
  border:1px solid rgba(27,38,59,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(27,38,59,.05);
  overflow:hidden;
}
.vat-faq summary{
  cursor:pointer;
  padding:16px 18px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  color:var(--navy);
  list-style:none;
}
.vat-faq summary::-webkit-details-marker{display:none;}
.vat-faq details[open] summary{
  background:rgba(242,100,25,.06);
}
.vat-faq .vat-faq-a{
  padding:0 18px 18px;
  color:var(--text);
  font-weight:600;
  line-height:1.65;
}
.vat-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 34px;
}
.vat-section{
  margin-bottom:42px;
}
.vat-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
.vat-p{
  margin:0 0 16px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.vat-table-wrap{
  margin-top:14px;
  border-radius:16px;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:0 12px 32px rgba(27,38,59,.07);
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.vat-compare-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  font-size:14px;
}
.vat-compare-table thead th{
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:left;
  padding:17px 14px;
  vertical-align:bottom;
  background:#1B263B;
  color:#fff;
  border-bottom:3px solid rgba(242,100,25,.35);
}
.vat-compare-table thead th:first-child{
  width:22%;
}
.vat-compare-table thead th:nth-child(2),
.vat-compare-table thead th:nth-child(3){
  width:39%;
}
.vat-compare-table tbody th{
  background:#f2f3f6;
  color:var(--navy);
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 14px;
  width:18%;
  vertical-align:top;
  border-bottom:1px solid rgba(27,38,59,.08);
}
.vat-compare-table tbody td{
  padding:14px 14px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  border-bottom:1px solid rgba(27,38,59,.07);
}
.vat-cell{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.vat-ic{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  margin-top:1px;
}
.vat-ic--neg{
  background:rgba(220,53,69,.12);
  color:#c82333;
}
.vat-ic--pos{
  background:rgba(40,167,69,.14);
  color:#1e7e34;
}
.vat-cell-txt{
  flex:1;
  min-width:0;
}
.vat-td-obra{
  background:#fafafa;
  color:rgba(51,51,51,.9);
}
.vat-td-cad{
  background:rgba(74,93,35,.07);
  color:var(--text);
  border-left:3px solid #4A5D23;
}
.vat-compare-table tbody tr:last-child th,
.vat-compare-table tbody tr:last-child td{
  border-bottom:none;
}
.vat-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  margin-top:14px;
}
.vat-benefit-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.12);
  padding:24px 20px 26px;
  box-shadow:0 6px 20px rgba(27,38,59,.06);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.vat-benefit-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(27,38,59,.11);
  border-color:rgba(74,93,35,.45);
}
.vat-benefit-ic{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.14);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  margin-bottom:14px;
  transition:transform .3s ease, background .3s ease;
}
.vat-benefit-card:hover .vat-benefit-ic{
  background:rgba(74,93,35,.2);
  transform:scale(1.05);
}
.vat-benefit-title{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.vat-benefit-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.vat-expert{
  margin:0 0 32px;
  padding:26px 24px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.08);
  border-left:14px solid #4A5D23;
  background:#E0E1DD;
  box-shadow:0 8px 26px rgba(27,38,59,.06);
}
.vat-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.vat-expert-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-bottom:8px;
}
.vat-scenario{
  margin:0;
  padding:28px 24px 30px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:var(--shadow-soft);
}
.vat-scenario-h2{
  margin:0 0 14px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:900;
  color:var(--navy);
}
.vat-scenario-p{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.vat-cta-zone{
  position:relative;
  overflow:hidden;
  width:100%;
  text-align:center;
  padding:clamp(56px, 10vw, 92px) 24px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(165deg, #1B263B 0%, #151d2e 45%, #0f1520 100%);
}
.vat-cta-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 85% 55% at 50% -25%, rgba(242,100,25,.2), transparent 52%),
    radial-gradient(ellipse 45% 40% at 8% 85%, rgba(74,93,35,.12), transparent 50%);
}
.vat-cta-inner{
  position:relative;
  z-index:1;
}
body.page-vat .vat-cta-text{
  margin:0 auto 28px;
  max-width:min(48ch, 96%);
  font-size:clamp(18px, 2.5vw, 24px);
  font-weight:800;
  line-height:1.45;
  color:#fff;
  text-wrap:balance;
}
body.page-vat .vat-cta-text strong{
  color:#fff;
  font-weight:900;
}
.vat-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:16px;
  padding:22px 42px !important;
  font-size:clamp(17px, 2.3vw, 19px) !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 440px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 18px 44px rgba(242,100,25,.48);
  transition:filter .25s ease, transform .25s ease, box-shadow .25s ease;
}
.vat-cta-btn i{
  font-size:1.2em;
}
.vat-cta-btn:hover{
  filter:brightness(1.12);
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(242,100,25,.5);
}
@media (prefers-reduced-motion: reduce){
  .vat-benefit-card,
  .vat-benefit-card:hover,
  .vat-benefit-card:hover .vat-benefit-ic,
  .vat-cta-btn,
  .vat-cta-btn:hover,
  .vat-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .vat-cta-btn:hover{
    filter:none;
  }
}
@media (max-width: 960px){
  .vat-benefit-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 480px){
  .vat-compare-table{
    font-size:13px;
  }
  .vat-compare-table thead th,
  .vat-compare-table tbody th,
  .vat-compare-table tbody td{
    padding:12px 10px;
  }
}

/* Como conseguir clientes de topografia (page-ccc) — captação e conversão */
.ccc-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(ellipse 120% 90% at 80% 0%, rgba(242,100,25,.14), transparent 45%),
    radial-gradient(ellipse 100% 80% at 10% 100%, rgba(74,93,35,.2), transparent 50%),
    radial-gradient(ellipse 70% 55% at 50% 50%, rgba(255,255,255,.06), transparent 55%),
    #1B263B;
  color:#fff;
  padding:clamp(40px, 6vw, 52px) 0 clamp(52px, 8vw, 84px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ccc-hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 95% 70% at 65% -5%, rgba(242,100,25,.1), transparent 48%),
    radial-gradient(ellipse 85% 60% at 22% 105%, rgba(74,93,35,.15), transparent 52%),
    radial-gradient(ellipse 50% 45% at 50% 40%, rgba(255,255,255,.05), transparent 50%);
}
.ccc-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.26;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(135deg, #000 22%, #000 74%, transparent 100%);
  -webkit-mask-image:linear-gradient(135deg, #000 22%, #000 74%, transparent 100%);
}
.ccc-hero-inner{
  position:relative;
  z-index:1;
}
.ccc-breadcrumb{
  margin-bottom:20px;
}
.ccc-breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.ccc-breadcrumb-list a{
  color:rgba(255,255,255,.62);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.15);
  transition:color .2s ease, border-color .2s ease;
}
.ccc-breadcrumb-list a:hover{
  color:rgba(255,255,255,.92);
  border-bottom-color:rgba(255,255,255,.4);
}
.ccc-breadcrumb-sep{
  opacity:.4;
  user-select:none;
}
.ccc-breadcrumb-list [aria-current="page"]{
  color:rgba(255,255,255,.78);
  font-weight:700;
}
.ccc-h1{
  margin:0 0 18px;
  max-width:min(100%, 58ch);
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 3.5vw, 36px);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  text-wrap:balance;
}
.ccc-sub{
  margin:0;
  max-width:min(100%, 60ch);
  font-size:clamp(16px, 2.1vw, 20px);
  font-weight:600;
  line-height:1.55;
  color:rgba(255,255,255,.92);
}
.ccc-sub strong{
  color:#fff;
  font-weight:800;
}
.ccc-hero-tagline{
  margin:20px 0 0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.45);
}
.ccc-hero-tagline i{
  color:#F26419;
  font-size:12px;
}
.ccc-strip{
  background:#E0E1DD;
  padding:0 0 48px;
}
body.page-ccc .ccc-content,
body.page-cvs .ccc-content{
  padding-top:36px;
  padding-bottom:8px;
}
.ccc-article-head{
  margin-bottom:8px;
}
.ccc-lead{
  font-size:18px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
  margin:0 0 34px;
}
.ccc-section{
  margin-bottom:42px;
}
.ccc-h2{
  margin:0 0 12px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(20px, 2.5vw, 26px);
  font-weight:900;
  color:var(--navy);
  letter-spacing:-.02em;
}
body.page-ccc .article-content h2.ccc-h2,
body.page-cvs .article-content h2.ccc-h2{
  font-size:clamp(20px, 2.5vw, 26px);
  line-height:1.25;
  font-weight:900;
}
body.page-ccc .article-content h3.ccc-pillar-title,
body.page-cvs .article-content h3.ccc-pillar-title{
  font-size:17px;
  line-height:1.3;
  font-weight:900;
}
body.page-cvs .article-content h3.cvs-script-title{
  font-size:clamp(17px, 2vw, 20px);
  line-height:1.3;
  font-weight:900;
  color:#4A5D23;
}
.ccc-p{
  margin:0 0 16px;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.ccc-pillar-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  margin-top:14px;
}
.ccc-pillar-card{
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.12);
  padding:24px 20px 26px;
  box-shadow:0 6px 20px rgba(27,38,59,.06);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.ccc-pillar-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(27,38,59,.11);
  border-color:rgba(74,93,35,.45);
}
.ccc-pillar-ic{
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(74,93,35,.14);
  color:#4A5D23;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  margin-bottom:14px;
  transition:transform .3s ease, background .3s ease;
}
.ccc-pillar-card:hover .ccc-pillar-ic{
  background:rgba(74,93,35,.2);
  transform:scale(1.05);
}
.ccc-pillar-title{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:var(--navy);
}
.ccc-pillar-txt{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
.ccc-list{
  margin:0;
  padding-left:1.25rem;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.ccc-list li{
  margin-bottom:12px;
}
.ccc-list li:last-child{
  margin-bottom:0;
}
.ccc-table-wrap{
  margin-top:14px;
  border-radius:16px;
  overflow:hidden;
  overflow-x:auto;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:0 12px 32px rgba(27,38,59,.07);
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.ccc-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  font-size:14px;
}
.ccc-table thead th{
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:left;
  padding:17px 14px;
  vertical-align:bottom;
  background:#1B263B;
  color:#fff;
  border-bottom:3px solid rgba(242,100,25,.35);
}
.ccc-table thead th:first-child{
  width:18%;
}
.ccc-table tbody th{
  background:#f2f3f6;
  color:var(--navy);
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 14px;
  width:18%;
  vertical-align:top;
  border-bottom:1px solid rgba(27,38,59,.08);
}
.ccc-table tbody td{
  padding:14px 14px;
  vertical-align:top;
  font-weight:600;
  line-height:1.55;
  border-bottom:1px solid rgba(27,38,59,.07);
}
.ccc-table tbody tr:last-child th,
.ccc-table tbody tr:last-child td{
  border-bottom:none;
}
.ccc-expert{
  margin:0 0 32px;
  padding:26px 24px 26px 22px;
  border-radius:14px;
  border:1px solid rgba(27,38,59,.08);
  border-left:14px solid #4A5D23;
  background:#E0E1DD;
  box-shadow:0 8px 26px rgba(27,38,59,.06);
}
.ccc-expert-p{
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.65;
  color:var(--navy);
}
.ccc-expert-label{
  display:inline-block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#4A5D23;
  margin-right:8px;
}
.ccc-faq{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ccc-faq details{
  border:1px solid rgba(27,38,59,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(27,38,59,.05);
  overflow:hidden;
}
.ccc-faq summary{
  cursor:pointer;
  padding:16px 18px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-weight:900;
  color:var(--navy);
  list-style:none;
}
.ccc-faq summary::-webkit-details-marker{display:none;}
.ccc-faq details[open] summary{
  background:rgba(242,100,25,.06);
}
.ccc-faq .ccc-faq-a{
  padding:0 18px 18px;
  color:var(--text);
  font-weight:600;
  line-height:1.65;
}
.ccc-law-box{
  margin:clamp(16px, 3vw, 26px) 0;
  padding:18px 20px 20px;
  border-radius:16px;
  border-left:4px solid var(--orange);
  background:linear-gradient(135deg, rgba(27,38,59,.07) 0%, rgba(27,38,59,.025) 100%);
  box-shadow:0 8px 26px rgba(27,38,59,.08);
}
.ccc-law-box p{
  margin:0 0 10px;
  font-size:15px;
  font-weight:600;
  line-height:1.65;
  color:var(--text);
}
.ccc-law-box p:last-child{
  margin-bottom:0;
}
.ccc-law-box-label{
  margin:0 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--moss);
}
.ccc-law-box strong{
  color:var(--navy);
  font-weight:800;
}
.ccc-cta-zone{
  position:relative;
  overflow:hidden;
  width:100%;
  text-align:center;
  padding:clamp(56px, 10vw, 92px) 24px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(165deg, #1B263B 0%, #151d2e 45%, #0f1520 100%);
}
.ccc-cta-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 85% 55% at 50% -25%, rgba(242,100,25,.2), transparent 52%),
    radial-gradient(ellipse 45% 40% at 8% 85%, rgba(74,93,35,.12), transparent 50%);
}
.ccc-cta-inner{
  position:relative;
  z-index:1;
}
body.page-ccc .ccc-cta-text,
body.page-cvs .ccc-cta-text{
  margin:0 auto 28px;
  max-width:min(48ch, 96%);
  font-size:clamp(18px, 2.5vw, 24px);
  font-weight:800;
  line-height:1.45;
  color:#fff;
  text-wrap:balance;
}
body.page-ccc .ccc-cta-text strong,
body.page-cvs .ccc-cta-text strong{
  color:#fff;
  font-weight:900;
}
.ccc-cta-btn{
  display:inline-flex !important;
  align-items:center;
  gap:16px;
  padding:22px 42px !important;
  font-size:clamp(17px, 2.3vw, 19px) !important;
  font-weight:800 !important;
  border-radius:16px !important;
  min-width:min(100%, 440px);
  justify-content:center;
  background:#F26419 !important;
  border-color:rgba(0,0,0,.08) !important;
  box-shadow:0 18px 44px rgba(242,100,25,.48);
  transition:filter .25s ease, transform .25s ease, box-shadow .25s ease;
}
.ccc-cta-btn i{
  font-size:1.2em;
}
.ccc-cta-btn:hover{
  filter:brightness(1.12);
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(242,100,25,.5);
}
@media (prefers-reduced-motion: reduce){
  .ccc-pillar-card,
  .ccc-pillar-card:hover,
  .ccc-pillar-card:hover .ccc-pillar-ic,
  .ccc-cta-btn,
  .ccc-cta-btn:hover,
  .ccc-breadcrumb-list a{
    transition:none;
    transform:none;
  }
  .ccc-cta-btn:hover{
    filter:none;
  }
}
@media (max-width: 960px){
  .ccc-pillar-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 480px){
  .ccc-table{
    font-size:13px;
  }
  .ccc-table thead th,
  .ccc-table tbody th,
  .ccc-table tbody td{
    padding:12px 10px;
  }
}

/* Como vender serviços de cadastro (page-cvs) — script, gatilhos e hero business */
.cvs-hero-badges{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.cvs-hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
}
.cvs-hero-pill i{
  color:#F26419;
  font-size:13px;
}
.cvs-script-box{
  margin:0 0 32px;
  padding:26px 24px 28px;
  border-radius:16px;
  border:1px solid rgba(74,93,35,.25);
  background:linear-gradient(145deg, rgba(74,93,35,.12) 0%, rgba(74,93,35,.06) 50%, rgba(255,255,255,.5) 100%);
  box-shadow:0 10px 28px rgba(27,38,59,.07);
}
.cvs-script-title{
  margin:0 0 14px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(17px, 2vw, 20px);
  font-weight:900;
  color:#4A5D23;
  display:flex;
  align-items:center;
  gap:10px;
}
.cvs-script-title i{
  font-size:1.15em;
  opacity:.9;
}
.cvs-script-p{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.7;
  color:var(--navy);
}
.cvs-triggers{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.cvs-trigger-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 18px 20px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(27,38,59,.1);
  box-shadow:0 6px 18px rgba(27,38,59,.06);
}
.cvs-trigger-ic{
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:12px;
  background:rgba(242,100,25,.12);
  color:#F26419;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}
.cvs-trigger-body{
  min-width:0;
}
.cvs-trigger-name{
  margin:0 0 6px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:15px;
  font-weight:900;
  color:var(--navy);
}
.cvs-trigger-desc{
  margin:0;
  font-size:13px;
  font-weight:600;
  line-height:1.55;
  color:var(--text);
}
@media (max-width: 640px){
  .cvs-triggers{
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion: reduce){
  .cvs-hero-pill{
    backdrop-filter:none;
  }
}

/* Destaque Moss + script WhatsApp (page-cvs / page-ccc) */
strong.ccc-highlight-moss{
  color:#4A5D23;
  font-weight:800;
}
.ccc-script-box{
  margin:0 0 32px;
  padding:26px 24px 28px;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.12);
  background:linear-gradient(155deg, rgba(74,93,35,.1) 0%, rgba(255,255,255,.95) 48%, rgba(242,100,25,.06) 100%);
  box-shadow:0 12px 32px rgba(27,38,59,.08);
}
.ccc-script-box .cvs-script-title{
  margin-top:0;
}
.ccc-script-box .cvs-script-p{
  margin-bottom:0;
}
body.page-cvs .article-content .ccc-script-box p.cvs-script-p{
  margin-bottom:0;
}
.cvs-script-p--spaced{
  margin-top:14px !important;
}
.ccc-list--script{
  margin-top:10px;
}

/* Dica de mestre + funil + leia também (page-cvs / page-ccc) */
.ccc-pro-tip{
  margin:22px 0;
  padding:18px 20px 20px;
  border-radius:14px;
  border:1px solid rgba(242,100,25,.32);
  background:linear-gradient(145deg, rgba(242,100,25,.1) 0%, rgba(27,38,59,.04) 55%, rgba(255,255,255,.65) 100%);
  box-shadow:0 10px 26px rgba(27,38,59,.07);
}
.ccc-pro-tip-label{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#F26419;
  margin-bottom:10px;
}
body.page-cvs .article-content .ccc-pro-tip p,
body.page-ccc .article-content .ccc-pro-tip p{
  margin:0;
  font-size:15px;
  font-weight:600;
  line-height:1.68;
  color:var(--text);
}
.ccc-funnel-step{
  margin:22px 0 10px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:17px;
  font-weight:900;
  color:#4A5D23;
}
body.page-cvs .article-content h3.ccc-funnel-step{
  font-size:17px;
  line-height:1.3;
  font-weight:900;
  color:#4A5D23;
}
.ccc-funnel-p{
  margin:0 0 8px;
  font-size:16px;
  font-weight:600;
  line-height:1.68;
  color:var(--text);
}
.ccc-read-more{
  margin:36px 0 8px;
  padding:24px 22px 26px;
  border-radius:16px;
  border:1px solid rgba(27,38,59,.1);
  background:#fff;
  box-shadow:0 12px 32px rgba(27,38,59,.07);
}
.ccc-read-more-h2{
  margin:0 0 16px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(18px, 2.2vw, 22px);
  font-weight:900;
  color:var(--navy);
}
body.page-cvs .article-content h2.ccc-read-more-h2{
  font-size:clamp(18px, 2.2vw, 22px);
  line-height:1.25;
  font-weight:900;
}
.ccc-read-more-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ccc-read-more-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:12px;
  font-weight:700;
  font-size:15px;
  color:var(--navy);
  text-decoration:none;
  border:1px solid rgba(27,38,59,.1);
  background:rgba(74,93,35,.06);
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.ccc-read-more-list a:hover{
  background:rgba(74,93,35,.11);
  border-color:rgba(74,93,35,.35);
  transform:translateY(-2px);
}
.ccc-read-more-list a i{
  color:#F26419;
  flex-shrink:0;
}
@media (prefers-reduced-motion: reduce){
  .ccc-read-more-list a:hover{
    transform:none;
  }
}

/* —— Calculadora de área de lote (calculadora-area-de-lote) —— */
body.page-calc-lote .calc-lote-strip{
  padding:clamp(28px, 5vw, 48px) 0 clamp(40px, 7vw, 64px);
  background:linear-gradient(180deg, rgba(27,38,59,.04) 0%, transparent 45%);
}
.calc-lote-article{
  max-width:720px;
  margin:clamp(24px, 4vw, 40px) auto 0;
}
.calc-lote-widget-wrap{
  max-width:520px;
  margin:0 auto 8px;
}
.calc-lote-widget{
  padding:clamp(22px, 4vw, 28px);
  border-radius:20px;
  border:1px solid rgba(27,38,59,.12);
  background:#fff;
  box-shadow:0 16px 40px rgba(27,38,59,.1);
}
.calc-lote-widget-title{
  margin:0 0 6px;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(17px, 2.2vw, 20px);
  font-weight:900;
  color:var(--navy);
  text-align:center;
}
.calc-lote-widget-hint{
  margin:0 0 20px;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  color:rgba(51,51,51,.78);
  text-align:center;
}
.calc-lote-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 16px;
}
@media (max-width:520px){
  .calc-lote-grid{
    grid-template-columns:1fr;
  }
}
.calc-lote-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.calc-lote-label{
  font-size:13px;
  font-weight:800;
  color:var(--navy);
}
.calc-lote-input{
  width:100%;
  padding:14px 14px;
  border-radius:12px;
  border:1px solid rgba(27,38,59,.18);
  font-size:16px;
  font-weight:600;
  font-family:inherit;
  color:var(--text);
  background:#fafbfc;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.calc-lote-input:focus{
  outline:none;
  border-color:rgba(74,93,35,.55);
  box-shadow:0 0 0 3px rgba(74,93,35,.15);
  background:#fff;
}
.calc-lote-submit{
  margin-top:20px;
  width:100%;
  justify-content:center;
  padding:16px 24px !important;
  font-size:16px !important;
  font-weight:800 !important;
  border-radius:14px !important;
  background:var(--orange) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(242,100,25,.35);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:filter .2s ease, transform .2s ease, box-shadow .2s ease;
}
.calc-lote-submit:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(242,100,25,.42);
}
.calc-lote-submit:focus{
  outline:3px solid rgba(242,100,25,.4);
  outline-offset:3px;
}
.calc-lote-result{
  margin-top:22px;
  padding:18px 16px;
  border-radius:14px;
  text-align:center;
  background:linear-gradient(135deg, rgba(74,93,35,.1) 0%, rgba(27,38,59,.06) 100%);
  border:1px solid rgba(74,93,35,.22);
  min-height:3.2em;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.calc-lote-result[hidden]{
  display:none !important;
}
.calc-lote-result-label{
  margin:0 0 6px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--moss);
}
.calc-lote-result-value{
  margin:0;
  font-family:"Montserrat", system-ui, sans-serif;
  font-size:clamp(22px, 4vw, 28px);
  font-weight:900;
  color:var(--navy);
  line-height:1.2;
}
.calc-lote-result-note{
  margin:10px 0 0;
  font-size:13px;
  font-weight:600;
  color:rgba(51,51,51,.72);
  line-height:1.45;
}
.calc-lote-err{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  color:#8b2500;
  background:rgba(242,100,25,.12);
  border:1px solid rgba(242,100,25,.25);
  text-align:center;
}
.calc-lote-err[hidden]{
  display:none !important;
}
body.page-calc-lote .ccc-cta-text{
  margin:0 auto 28px;
  max-width:min(52ch, 96%);
  font-size:clamp(18px, 2.5vw, 24px);
  font-weight:800;
  line-height:1.45;
  color:#fff;
  text-wrap:balance;
}
@media (prefers-reduced-motion: reduce){
  .calc-lote-submit:hover{
    transform:none;
  }
}
