:root {
  --g: #087a4b;
  --gd: #063f2d;
  --deep: #032b20;
  --blue: #1557a6;
  --lime: #b9e56d;
  --gold: #d7aa32;
  --ink: #102c23;
  --muted: #60736b;
  --bg: #f5faf7;
  --line: #dce9e3;
  --white: #fff;
  --shadow: 0 22px 70px rgba(4, 54, 38, .11)
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  line-height: 1.65;
  background: #fff
}

a {
  text-decoration: none;
  color: inherit
}

.container {
  width: min(1180px, 92%);
  margin: auto
}

.topbar {
  background: var(--deep);
  color: #cfe9df;
  font-size: 12px
}

.topbar .container {
  height: 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px
}

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(15px);
  border-bottom: 1px solid rgba(220, 233, 227, .9)
}

.nav {
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between
}

.brand img {
  width: 170px;
  height: 66px;
  object-fit: contain;
  display: block
}

.navlinks {
  display: flex;
  align-items: center;
  gap: 23px;
  font-size: 14px;
  font-weight: 800
}

.navlinks a:hover {
  color: var(--g)
}

.menu {
  display: none;
  border: 0;
  background: none;
  font-size: 26px;
  color: var(--g)
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  padding: 13px 20px;
  background: var(--g);
  color: #fff !important;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 12px 25px rgba(8, 122, 75, .18);
  transition: .2s
}

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

.btn-outline {
  background: #fff;
  color: var(--g) !important;
  border: 1px solid var(--line);
  box-shadow: none
}

.btn-light {
  background: #fff;
  color: var(--g) !important;
  box-shadow: none
}

.btn-sm {
  padding: 10px 15px
}

.hero {
  overflow: hidden;
  position: relative;
  padding: 78px 0 90px;
  background: radial-gradient(circle at 85% 20%, #ddf4e8 0, #f8fcfa 34%, #fff 72%)
}

.hero:after {
  content: "";
  position: absolute;
  width: 430px;
  height: 430px;
  border: 1px solid #b8ddca;
  border-radius: 50%;
  right: -170px;
  bottom: -220px
}

.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 68px;
  align-items: center
}

.eyebrow {
  font-size: 11px;
  letter-spacing: 1.6px;
  font-weight: 900;
  color: var(--g);
  margin-bottom: 14px
}

.eyebrow.light {
  color: #bfe9d4
}

h1,
h2,
h3,
h4 {
  line-height: 1.12;
  letter-spacing: -1.3px;
  margin: 0 0 16px
}

h1 {
  font-size: clamp(44px, 5.8vw, 76px)
}

h1 em {
  font-style: normal;
  color: var(--g)
}

h2 {
  font-size: clamp(31px, 4vw, 48px)
}

h3 {
  font-size: 21px
}

.lead {
  font-size: 19px;
  color: var(--muted);
  max-width: 700px
}

.actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 29px 0
}

.proof {
  display: flex;
  flex-wrap: wrap;
  gap: 9px
}

.proof span {
  background: #fff;
  border: 1px solid var(--line);
  padding: 8px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #4e625a
}

.hero-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 18px;
  box-shadow: var(--shadow)
}

.logo-stage {
  height: 310px;
  border-radius: 21px;
  background: linear-gradient(145deg, #f3fbf7, #e9f6ef);
  display: grid;
  place-items: center;
  overflow: hidden
}

.logo-stage img {
  width: min(86%, 340px);
  height: auto
}

.mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 13px
}

.mini {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #f9fcfb
}

.mini b {
  display: block;
  font-size: 18px
}

.mini span {
  font-size: 12px;
  color: var(--muted)
}

.section {
  padding: 92px 0
}

.soft {
  background: var(--bg)
}

.head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
  margin-bottom: 40px
}

.head p {
  max-width: 460px;
  color: var(--muted)
}

.cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px
}

.cards3 {
  grid-template-columns: repeat(3, 1fr)
}

.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  transition: .2s
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow)
}

.icon {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: #e9f7f0;
  color: var(--g);
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 24px
}

.card p {
  color: var(--muted);
  font-size: 14px
}

.card a {
  color: var(--g);
  font-weight: 850;
  font-size: 14px
}

.tag {
  font-size: 10px;
  letter-spacing: 1.2px;
  font-weight: 900;
  color: var(--g);
  margin-bottom: 16px
}

.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center
}

.quote {
  background: linear-gradient(145deg, var(--gd), var(--deep));
  border-radius: 25px;
  color: #fff;
  padding: 45px;
  box-shadow: var(--shadow)
}

.quote strong {
  font-size: 27px;
  line-height: 1.3;
  display: block
}

.quote small {
  display: block;
  margin-top: 20px;
  color: #b9dccc
}

.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px
}

.step {
  padding: 25px 0;
  border-top: 2px solid #b5d8c7
}

.step b {
  color: var(--g);
  font-size: 12px;
  letter-spacing: 1px
}

.step p {
  color: var(--muted);
  font-size: 14px
}

.band {
  background: var(--gd);
  color: #fff;
  padding: 65px 0
}

.bandin {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px
}

.band h2 {
  max-width: 760px
}

.pagehero {
  background: linear-gradient(135deg, #eef9f3, #fff);
  padding: 75px 0 65px
}

.pagehero h1 {
  max-width: 850px;
  font-size: clamp(42px, 5.4vw, 66px)
}

.pagehero p {
  max-width: 760px;
  font-size: 18px;
  color: var(--muted)
}

.panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 27px;
  box-shadow: 0 14px 45px rgba(4, 54, 38, .07)
}

.row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px
}

.row:last-child {
  border-bottom: 0
}

.row span {
  color: var(--muted)
}

.notice {
  padding: 23px 26px;
  border-left: 4px solid var(--g);
  border-radius: 10px;
  background: #f7fbf9;
  color: #53665f
}

.calcwrap {
  max-width: 920px
}

.tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 18px
}

.tabs button {
  padding: 11px 19px;
  border-radius: 9px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-weight: 850;
  cursor: pointer
}

.tabs button.active {
  background: var(--g);
  border-color: var(--g);
  color: #fff
}

.calculator {
  display: grid;
  grid-template-columns: 1.3fr .8fr;
  gap: 34px;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 30px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(4, 54, 38, .05)
}

.inputs {
  display: grid;
  gap: 17px
}

label {
  font-size: 13px;
  font-weight: 800
}

input,
select,
textarea {
  width: 100%;
  display: block;
  margin-top: 7px;
  border: 1px solid #cadbd4;
  border-radius: 9px;
  padding: 12px 13px;
  font: inherit;
  color: var(--ink);
  background: #fff
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #c8ebda;
  border-color: var(--g)
}

.result {
  background: #eaf7f0;
  border-radius: 16px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.result span {
  font-size: 12px;
  color: var(--muted)
}

.result strong {
  font-size: 36px;
  color: var(--g);
  margin: 7px 0
}

.result small {
  color: var(--muted)
}

.hide {
  display: none !important
}

.contact {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 50px
}

.form {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 30px;
  background: #fff
}

.form label {
  display: block;
  margin-bottom: 17px
}

.formnote {
  font-size: 12px;
  color: var(--muted)
}

.dash {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 22px
}

.dashnav {
  background: var(--deep);
  color: #d6ebe2;
  border-radius: 18px;
  padding: 20px;
  height: max-content
}

.dashnav h4 {
  color: #fff
}

.dashnav a {
  display: block;
  padding: 10px 8px;
  border-radius: 8px;
  font-size: 13px
}

.dashnav a.active,
.dashnav a:hover {
  background: #0c5a42;
  color: #fff
}

.dashmain {
  display: grid;
  gap: 18px
}

.dashtop {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.metric {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  background: #fff
}

.metric span {
  font-size: 12px;
  color: var(--muted)
}

.metric b {
  display: block;
  font-size: 24px;
  margin-top: 5px
}

.chart {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px
}

.bars {
  height: 190px;
  display: flex;
  align-items: end;
  gap: 10px;
  padding-top: 20px
}

.bars i {
  display: block;
  flex: 1;
  max-width: 45px;
  background: linear-gradient(#58b989, #0a704a);
  border-radius: 8px 8px 2px 2px
}

.tablewrap {
  overflow: auto
}

.table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px
}

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

.table th {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .7px
}

.social {
  display: flex;
  gap: 9px;
  flex-wrap: wrap
}

.social a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, .16);
  padding: 8px 11px;
  border-radius: 999px;
  font-size: 12px;
  color: #d9ece4
}

.social a:hover {
  background: #0c5a42
}

footer {
  background: #052d22;
  color: #c8dfd5;
  padding: 55px 0 20px
}

.foot {
  display: grid;
  grid-template-columns: 1.35fr .8fr 1.1fr;
  gap: 55px
}

.flogo {
  width: 190px;
  height: 75px;
  object-fit: contain;
  object-position: left center
}

.foot h4 {
  color: #fff;
  margin-bottom: 15px
}

.foot a {
  display: block;
  margin: 7px 0;
  font-size: 14px
}

.foot p {
  font-size: 13px;
  color: #9fbfb2
}

.copyright {
  border-top: 1px solid rgba(255, 255, 255, .13);
  margin-top: 35px;
  padding-top: 18px;
  font-size: 11px;
  color: #91afa4
}

@media(max-width:900px) {
  .navlinks {
    display: none;
    position: absolute;
    top: 81px;
    left: 4%;
    right: 4%;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 16px;
    flex-direction: column;
    align-items: stretch;
    box-shadow: var(--shadow)
  }

  .navlinks.open {
    display: flex
  }

  .menu {
    display: block
  }

  .hero-grid,
  .split,
  .contact {
    grid-template-columns: 1fr
  }

  .cards,
  .cards3,
  .steps {
    grid-template-columns: 1fr 1fr
  }

  .dash {
    grid-template-columns: 1fr
  }

  .dashnav {
    display: flex;
    gap: 6px;
    overflow: auto
  }

  .dashnav h4 {
    display: none
  }

  .dashnav a {
    white-space: nowrap
  }

  .metrics {
    grid-template-columns: 1fr 1fr
  }

  .head,
  .bandin {
    display: block
  }

  .band .btn {
    margin-top: 24px
  }
}

@media(max-width:580px) {
  .topbar .container {
    justify-content: center;
    text-align: center
  }

  .topbar .container span:last-child {
    display: none
  }

  .brand img {
    width: 150px
  }

  .hero {
    padding: 55px 0 65px
  }

  .logo-stage {
    height: 240px
  }

  .cards,
  .cards3,
  .steps,
  .foot,
  .metrics {
    grid-template-columns: 1fr
  }

  .section {
    padding: 65px 0
  }

  .pagehero {
    padding: 55px 0
  }

  .calculator {
    grid-template-columns: 1fr
  }

  .quote {
    padding: 30px
  }

  .mini-grid {
    grid-template-columns: 1fr 1fr
  }
}


:root {
  --pmg-green: #087a4b;
  --pmg-dark: #063b2c;
  --pmg-mint: #e9f7f0;
  --pmg-line: #dce9e3;
  --pmg-muted: #61746c
}

.header {
  box-shadow: 0 3px 18px rgba(4, 54, 38, .04)
}

.hero {
  background: linear-gradient(120deg, #f4fbf7, #fff 55%, #edf9f2);
  padding-top: 66px
}

.hero-card,
.card,
.panel,
.article,
.social-card {
  border-color: var(--pmg-line)
}

.btn {
  background: var(--pmg-green)
}

.hero h1 em {
  color: var(--pmg-green)
}

.trust-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px
}

.trust {
  background: #fff;
  border: 1px solid var(--pmg-line);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 11px;
  font-weight: 800;
  color: #50645c
}

.feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
  align-items: center
}

.feature-list {
  display: grid;
  gap: 13px
}

.feature-item {
  display: flex;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--pmg-line);
  border-radius: 14px;
  background: #fff
}

.check {
  flex: 0 0 31px;
  height: 31px;
  border-radius: 50%;
  background: var(--pmg-mint);
  color: var(--pmg-green);
  display: grid;
  place-items: center;
  font-weight: 900
}

.feature-item p {
  margin: 3px 0 0;
  color: var(--pmg-muted);
  font-size: 13px
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px
}

.social-card {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 17px;
  border: 1px solid var(--pmg-line);
  border-radius: 16px;
  background: #fff;
  transition: .2s
}

.social-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgba(4, 54, 38, .10)
}

.social-icon {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: var(--pmg-mint);
  color: var(--pmg-green);
  display: grid;
  place-items: center
}

.social-icon svg {
  width: 22px;
  height: 22px
}

.social-card b {
  display: block
}

.social-card span:not(.social-icon) {
  display: block;
  font-size: 12px;
  color: var(--pmg-muted)
}

.article-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px
}

.article {
  border: 1px solid var(--pmg-line);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  transition: .2s
}

.article:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(4, 54, 38, .10)
}

.article-top {
  height: 100px;
  background: linear-gradient(135deg, #dff3e9, #f8fcfa);
  display: flex;
  align-items: end;
  padding: 17px
}

.article-top span {
  background: #fff;
  border: 1px solid var(--pmg-line);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px;
  font-weight: 900;
  color: var(--pmg-green)
}

.article-body {
  padding: 21px
}

.article-body p {
  color: var(--pmg-muted);
  font-size: 13px
}

.read {
  font-weight: 850;
  color: var(--pmg-green);
  font-size: 13px
}

.faq-list {
  max-width: 930px;
  margin: auto
}

.faq {
  border-bottom: 1px solid var(--pmg-line)
}

.faq button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  border: 0;
  background: none;
  text-align: left;
  padding: 20px 2px;
  font: inherit;
  font-weight: 850;
  color: #102c23;
  cursor: pointer
}

.faq button span {
  font-size: 23px;
  color: var(--pmg-green);
  transition: .2s
}

.faq.open button span {
  transform: rotate(45deg)
}

.answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
  color: var(--pmg-muted);
  font-size: 14px
}

.faq.open .answer {
  max-height: 260px;
  padding: 0 35px 20px 2px
}

.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 200;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #25d366;
  color: #fff !important;
  border-radius: 999px;
  padding: 10px 16px 10px 10px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, .20);
  font-weight: 900;
  font-size: 13px;
  animation: pmgFloat 2.8s ease-in-out infinite
}

.whatsapp-float svg {
  width: 28px;
  height: 28px;
  background: #fff;
  color: #25d366;
  border-radius: 50%;
  padding: 5px
}

.whatsapp-float:after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 999px;
  border: 2px solid rgba(37, 211, 102, .25);
  animation: pmgPulse 2s infinite
}

@keyframes pmgFloat {
  50% {
    transform: translateY(-5px)
  }
}

@keyframes pmgPulse {

  0%,
  100% {
    opacity: .2;
    transform: scale(1)
  }

  50% {
    opacity: 0;
    transform: scale(1.13)
  }
}

.foot-social {
  display: flex;
  gap: 9px;
  margin-top: 15px
}

.foot-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .17);
  display: grid;
  place-items: center;
  margin: 0
}

.foot-social svg {
  width: 17px;
  height: 17px
}

@media(max-width:950px) {

  .feature,
  .social-grid,
  .article-grid {
    grid-template-columns: 1fr 1fr
  }
}

@media(max-width:580px) {

  .feature,
  .social-grid,
  .article-grid {
    grid-template-columns: 1fr
  }

  .whatsapp-float {
    right: 14px;
    bottom: 14px
  }

  .wa-label {
    display: none
  }
}

/* ── wa-floating-btn: WhatsApp Chat button (all pages) ── */
.wa-floating-btn {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 200;
  display: flex;
  align-items: center;
  gap: 9px;
  background: #25d366;
  color: #fff !important;
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 18px 10px 10px;
  box-shadow: 0 14px 35px rgba(0,0,0,.20);
  font-weight: 700;
  font-size: 13px;
  animation: pmgFloat 2.8s ease-in-out infinite;
  transition: box-shadow .2s;
}

.wa-floating-btn:hover {
  box-shadow: 0 18px 40px rgba(37,211,102,.35);
}

.wa-floating-btn svg {
  /* fixed square — prevents any aspect-ratio distortion */
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  aspect-ratio: 1 / 1;
  background: #fff;
  color: #25d366;
  border-radius: 50%;
  padding: 5px;
  flex-shrink: 0;
  display: block;
}

.wa-floating-btn .wa-label {
  white-space: nowrap;
  line-height: 1;
}

@media (max-width: 580px) {
  .wa-floating-btn {
    right: 14px;
    bottom: 70px; /* lift above mobile bottom dock */
    padding: 10px;
    border-radius: 50%;
  }
  .wa-floating-btn .wa-label {
    display: none;
  }
}

@media (max-width: 375px) {
  .wa-floating-btn svg {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
  }
}


500;
600;
700;
800&family=Poppins:wght@500;
600;
700;

800&display=swap');
:root {
  --g: #174A43;
  --gd: #103833;
  --deep: #0D2F2B;
  --ink: #17312E;
  --muted: #62736F;
  --line: #D9E5E2;
  --bg: #F4F8F7;
  --mint: #E8F1EF;
  --forest: #174A43;
  --shadow: 0 22px 70px rgba(23, 74, 67, .12);
}

body {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink)
}

h1,
h2,
h3,
h4,
.brand,
.navlinks,
.btn,
.eyebrow {
  font-family: Poppins, Inter, sans-serif
}

.topbar {
  background: var(--deep)
}

.header {
  border-bottom-color: #D9E5E2
}

.navlinks a:hover {
  color: var(--forest)
}

.btn {
  background: var(--forest);
  box-shadow: 0 12px 25px rgba(23, 74, 67, .18)
}

.btn-outline {
  color: var(--forest) !important;
  border-color: #CBDAD6
}

.hero {
  background: radial-gradient(circle at 86% 18%, #E0ECE9 0, #F7FAF9 36%, #fff 72%)
}

.hero h1 em {
  color: var(--forest)
}

.eyebrow {
  color: var(--forest)
}

.icon,
.check,
.social-icon {
  background: #E8F1EF;
  color: var(--forest)
}

.card a,
.read {
  color: var(--forest)
}

.pagehero {
  background: linear-gradient(135deg, #EAF2F0, #fff)
}

.band,
.quote {
  background: linear-gradient(145deg, var(--gd), var(--deep))
}

.faq button span {
  color: var(--forest)
}

.tabs button.active {
  background: var(--forest);
  border-color: var(--forest)
}

.result {
  background: #E8F1EF
}

.result strong {
  color: var(--forest)
}

.notice {
  border-left-color: var(--forest)
}

.article-top {
  background: linear-gradient(135deg, #E0ECE9, #F8FAFA)
}

.article-top span {
  color: var(--forest)
}

.social-card:hover {
  box-shadow: 0 18px 45px rgba(23, 74, 67, .10)
}

.whatsapp-float {
  background: #25d366
}

.journey-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 24px;
  box-shadow: var(--shadow)
}

.journey-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 10px
}

.journey-head h3 {
  margin: 0 0 5px
}

.journey-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px
}

.journey-badge {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .8px;
  padding: 7px 9px;
  border-radius: 999px;
  background: #E8F1EF;
  color: var(--forest);
  white-space: nowrap
}

.journey-svg {
  width: 100%;
  height: auto;
  display: block;
  margin: 8px 0
}

.journey-svg .axis {
  stroke: #D9E5E2;
  stroke-width: 1
}

.journey-svg .grid {
  stroke: #EAF0EE;
  stroke-width: 1
}

.journey-svg .journey-line {
  fill: none;
  stroke: #174A43;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round
}

.journey-svg .dot {
  fill: #174A43;
  stroke: #fff;
  stroke-width: 3
}

.journey-svg text {
  font-family: Inter, sans-serif;
  fill: #62736F;
  font-size: 10px
}

.journey-svg .label {
  fill: #17312E;
  font-weight: 800
}

.journey-svg .call {
  fill: #E8F1EF
}

.journey-svg .calltext {
  fill: #174A43;
  font-size: 9px;
  font-weight: 800
}

.journey-legend {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 10px
}

.journey-legend div {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: #FAFCFB
}

.journey-legend b {
  display: block;
  font-size: 11px
}

.journey-legend span {
  font-size: 10px;
  color: var(--muted)
}

.selection-panel {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #F8FBFA
}

.selection-panel h4 {
  margin-bottom: 10px
}

.selection-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px
}

.selection-item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 11px
}

.selection-item i {
  font-style: normal;
  color: var(--forest);
  font-weight: 900
}

.edu-sections {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px
}

.edu-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 26px;
  box-shadow: 0 10px 35px rgba(23, 74, 67, .05)
}

.edu-card .edu-num {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #E8F1EF;
  color: var(--forest);
  display: grid;
  place-items: center;
  font-weight: 900;
  margin-bottom: 18px
}

.edu-card h3 {
  margin-bottom: 10px
}

.edu-card p {
  font-size: 13px;
  color: var(--muted)
}

.edu-card ul {
  margin: 15px 0 0;
  padding-left: 18px;
  color: #4F625E;
  font-size: 12px
}

.edu-card li {
  margin: 7px 0
}

.edu-card a {
  color: var(--forest);
  font-weight: 800;
  font-size: 12px
}

.source-note {
  font-size: 11px;
  color: #71817D;
  margin-top: 20px
}

.source-note a {
  color: var(--forest);
  text-decoration: underline
}

.faq-knowledge {
  margin-bottom: 62px
}

.faq-knowledge .head {
  margin-bottom: 25px
}

@media(max-width:900px) {
  .edu-sections {
    grid-template-columns: 1fr 1fr
  }

  .journey-legend {
    grid-template-columns: 1fr 1fr
  }
}

@media(max-width:580px) {
  .edu-sections {
    grid-template-columns: 1fr
  }

  .journey-legend,
  .selection-grid {
    grid-template-columns: 1fr
  }

  .journey-card {
    padding: 17px
  }
}


500;
600;
700;
800&display=swap');


:root {
  --g: #174A43;
  --gd: #103832;
  --deep: #092a26;
  --g2: #1f665b;
  --mint: #edf6f3;
  --mint2: #e3f0ec;
  --ink: #17332f;
  --muted: #5d716c;
  --line: #d8e5e1;
  --white: #fff;
  --focus: #f2b84b;
  --shadow: 0 20px 60px rgba(9, 42, 38, .10);
}

html {
  scroll-behavior: smooth
}

body {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  color: var(--ink);
  background: #fff;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit
}

a {
  color: inherit
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  border-radius: 5px;
}

.skip-link {
  position: fixed;
  left: 12px;
  top: -80px;
  z-index: 10000;
  background: #fff;
  color: var(--g);
  padding: 12px 18px;
  border-radius: 8px;
  box-shadow: var(--shadow);
  font-weight: 800
}

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

.topbar {
  background: var(--deep);
  color: #e5f2ef
}

.topbar .container {
  min-height: 38px;
  height: auto;
  padding: 7px 0
}

.header {
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--line)
}

.nav {
  min-height: 78px;
  height: auto;
  padding: 8px 0
}

.brand img {
  width: 158px;
  height: 62px
}

.navlinks {
  gap: 18px;
  font-size: 14px
}

.navlinks a {
  white-space: nowrap
}

.menu {
  font-family: inherit
}

.btn {
  background: var(--g);
  color: #fff !important;
  border-radius: 9px;
  box-shadow: 0 10px 24px rgba(23, 74, 67, .18)
}

.btn:hover {
  background: var(--g2)
}

.btn-outline {
  background: var(--g);
  color: #fff !important;
  border-color: var(--g)
}

.hero .btn-outline,
.calculator-cta,
.calc-card .btn-outline {
  background: var(--g);
  color: #fff !important;
  border-color: var(--g)
}

.hero {
  background: radial-gradient(circle at 86% 15%, #e0eee9 0, #f8fbfa 36%, #fff 72%);
  padding: 65px 0 78px
}

h1,
h2,
h3,
h4 {
  font-family: "Playfair Display", Georgia, serif
}

.hero h1 {
  font-weight: 700
}

.eyebrow {
  color: var(--g)
}

.hero-grid {
  gap: 48px
}

.hero-card {
  padding: 14px;
  border-radius: 22px
}

.chart-card {
  background: linear-gradient(145deg, #f6fbf9, #fff);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow)
}

.chart-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 10px
}

.chart-title strong {
  font-size: 18px
}

.chart-title span {
  font-size: 12px;
  color: var(--muted)
}

.invest-chart {
  width: 100%;
  height: auto;
  display: block
}

.chart-legend {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--muted);
  margin-top: 7px
}

.legend-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--g);
  margin-right: 5px
}

.legend-dot.gold {
  background: #b88931
}

.chart-caption {
  font-size: 11px;
  color: var(--muted);
  margin-top: 12px
}

.section {
  padding: 82px 0
}

.soft {
  background: #f5f9f7
}

.card,
.panel,
.article,
.calculator,
.calc-card {
  border-color: var(--line)
}

.card:hover,
.article:hover,
.calc-card:hover {
  box-shadow: var(--shadow)
}

.band {
  background: var(--gd)
}

.notice {
  border: 1px solid #cddfd9;
  background: #f6faf8;
  border-radius: 14px;
  padding: 18px;
  color: #49605a
}

.legal-strip {
  background: #f2f7f5;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
  font-size: 12px;
  color: #50635e
}

.legal-strip .container {
  display: flex;
  gap: 16px;
  align-items: flex-start
}

.legal-strip strong {
  color: var(--g)
}

.legal-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 5px
}

.legal-links a {
  text-decoration: underline;
  text-underline-offset: 3px
}

footer {
  background: #0c302b !important;
  color: #e5efec !important
}

footer a {
  color: #eef7f4 !important
}

footer p {
  color: #bfd2cd
}

.flogo {
  filter: brightness(0) invert(1);
  opacity: .94
}

.foot-social a {
  display: grid !important;
  place-items: center
}

.foot-social svg {
  width: 18px;
  height: 18px
}

.whatsapp-float {
  background: #1f8d61 !important;
  font-family: inherit
}

.whatsapp-float:after {
  border-color: rgba(31, 141, 97, .25) !important
}



@media (max-width:1050px) {
  .navlinks {
    gap: 12px;
    font-size: 13px
  }
}

@media (max-width:900px) {
  .menu {
    display: block;
    min-width: 46px;
    min-height: 46px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff
  }

  .navlinks {
    display: none;
    position: absolute;
    left: 4%;
    right: 4%;
    top: calc(100% - 1px);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 0 0 16px 16px;
    box-shadow: var(--shadow);
    padding: 13px;
    flex-direction: column;
    align-items: stretch;
    gap: 4px
  }

  .navlinks.open {
    display: flex
  }

  .navlinks a {
    padding: 12px 13px;
    border-radius: 8px
  }

  .navlinks .btn {
    margin-top: 4px;
    text-align: center
  }

  .hero-grid,
  .split,
  .feature {
    grid-template-columns: 1fr
  }

  .hero-grid {
    gap: 28px
  }

  .cards {
    grid-template-columns: 1fr 1fr
  }

  .steps {
    grid-template-columns: 1fr 1fr
  }

  .social-grid,
  .article-grid {
    grid-template-columns: 1fr 1fr
  }

  .head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px
  }
}

@media (max-width:620px) {
  .container {
    width: min(100% - 28px, 1180px)
  }

  .topbar .container {
    font-size: 10px
  }

  .topbar .container span:last-child {
    display: none
  }

  .brand img {
    width: 136px;
    height: 55px
  }

  .hero {
    padding: 46px 0 58px
  }

  h1 {
    font-size: clamp(38px, 12vw, 58px)
  }

  h2 {
    font-size: clamp(30px, 9vw, 42px)
  }

  .lead {
    font-size: 17px
  }

  .actions {
    display: grid;
    grid-template-columns: 1fr
  }

  .actions .btn {
    width: 100%
  }

  .cards,
  .cards3,
  .steps,
  .social-grid,
  .article-grid {
    grid-template-columns: 1fr
  }

  .section {
    padding: 60px 0
  }

  .pagehero {
    padding: 52px 0 48px
  }

  .pagehero h1 {
    font-size: clamp(38px, 11vw, 54px)
  }

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

  .legal-strip .container {
    display: block
  }

  .whatsapp-float {
    right: 12px;
    bottom: 12px
  }

  .wa-label {
    display: none
  }

  .whatsapp-float svg {
    width: 42px;
    height: 42px
  }
}

@media (prefers-reduced-motion:reduce) {

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important
  }
}


.calc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px
}

.calc-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px;
  cursor: pointer;
  transition: .2s
}

.calc-card:hover,
.calc-card.active {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: #a9c8bf
}

.calc-card .calc-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: var(--mint2);
  color: var(--g);
  display: grid;
  place-items: center;
  font-weight: 800;
  margin-bottom: 13px
}

.calc-card p {
  color: var(--muted);
  font-size: 13px;
  margin: 5px 0 0
}

.calc-panel {
  display: none;
  margin-top: 24px
}

.calc-panel.active {
  display: block
}

.calc-panel h2 {
  font-size: 32px
}

.calc-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px
}

.calc-field {
  display: grid;
  gap: 6px
}

.calc-field label {
  font-weight: 700;
  font-size: 14px
}

.calc-field input,
.calc-field select {
  width: 100%;
  min-height: 48px;
  border: 1px solid #c8d8d3;
  border-radius: 9px;
  padding: 9px 12px;
  background: #fff;
  color: var(--ink)
}

.calc-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 17px
}

.calc-result {
  margin-top: 22px;
  padding: 20px;
  border-radius: 16px;
  background: linear-gradient(135deg, #f1f8f5, #fff);
  border: 1px solid var(--line)
}

.calc-result .big {
  font-size: 32px;
  font-weight: 800;
  color: var(--g)
}

.calc-result .sub {
  font-size: 13px;
  color: var(--muted)
}

.result-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px
}

.result-item {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px
}

.result-item span {
  display: block;
  color: var(--muted);
  font-size: 11px
}

.result-item strong {
  font-size: 16px
}

.calc-disclaimer {
  font-size: 12px;
  color: var(--muted);
  margin-top: 13px
}

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

  .calc-form {
    grid-template-columns: 1fr
  }

  .result-grid {
    grid-template-columns: 1fr
  }
}

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


.prose {
  max-width: 850px
}

.prose h2 {
  font-size: 30px;
  margin-top: 36px
}

.prose h3 {
  margin-top: 25px
}

.prose li {
  margin: 8px 0
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important
}

.hero a[href="calculators.html"],
.hero a[href*="calculators"] {
  color: #fff !important;
  background: var(--g) !important;
  border-color: var(--g) !important
}


.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center
}

.nav-dropdown-toggle {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  padding: 10px 4px;
  display: flex;
  gap: 6px;
  align-items: center
}

.nav-dropdown-toggle span {
  font-size: 15px;
  transition: transform .2s
}

.nav-dropdown.open .nav-dropdown-toggle span {
  transform: rotate(180deg)
}

.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-5px);
  min-width: 210px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  display: none;
  z-index: 120
}

.nav-dropdown.open .nav-dropdown-menu {
  display: grid;
  transform: translateX(-50%) translateY(0)
}

.nav-dropdown-menu a {
  padding: 11px 13px;
  border-radius: 9px;
  font-size: 13px
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible {
  background: #E8F1EF;
  color: var(--forest)
}

.contact-intro-grid,
.message-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: start
}

.contact-info-grid {
  display: grid;
  gap: 12px;
  margin-top: 28px
}

.contact-info-card {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 18px;
  transition: .2s
}

.contact-info-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow)
}

.contact-info-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #E8F1EF;
  color: var(--forest);
  display: grid;
  place-items: center;
  font-weight: 900;
  flex: 0 0 44px
}

.contact-info-card strong {
  display: block;
  font-size: 15px
}

.contact-info-card small {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  margin-top: 3px
}

.map-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(4, 54, 38, .06)
}

.map-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  padding: 22px 24px
}

.map-head h3 {
  margin: 0
}

.map-link {
  color: var(--forest);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap
}

.map-card iframe {
  width: 100%;
  height: 365px;
  border: 0;
  display: block;
  filter: saturate(.8)
}

.message-grid>.form {
  box-shadow: 0 12px 40px rgba(4, 54, 38, .06)
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px
}

.contact-form textarea {
  resize: vertical
}

.security-check {
  margin: 5px 0 18px;
  padding: 16px 17px;
  border: 1px solid #dfe8e3;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbfa, #fffdf8);
  box-shadow: 0 8px 24px rgba(23, 49, 46, .05)
}

.security-check-title {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--forest);
  margin-bottom: 10px
}

.security-check-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap
}

.security-check-question {
  min-width: 150px;
  padding: 11px 14px;
  border-radius: 10px;
  background: #17312E;
  color: #fff;
  font-family: Poppins, Inter, sans-serif;
  font-weight: 800;
  letter-spacing: .04em;
  text-align: center
}

.security-check input {
  max-width: 150px;
  margin: 0 !important;
  font-weight: 800
}

.security-check small {
  display: block;
  margin-top: 9px;
  color: #687773;
  font-size: 11px;
  line-height: 1.5
}

.honeypot {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden
}

.formnote {
  min-height: 20px
}

.formnote.success {
  color: var(--forest);
  font-weight: 700
}

.formnote.error {
  color: #a33a2b;
  font-weight: 700
}

@media(max-width:900px) {
  .nav-dropdown {
    display: block
  }

  .nav-dropdown-toggle {
    width: 100%;
    justify-content: space-between;
    text-align: left;
    padding: 12px 13px
  }

  .nav-dropdown-menu {
    position: static;
    transform: none !important;
    min-width: 0;
    margin: 0 0 5px;
    padding: 4px 0 4px 10px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #F8FBFA
  }

  .nav-dropdown.open .nav-dropdown-menu {
    display: grid
  }

  .contact-intro-grid,
  .message-grid {
    grid-template-columns: 1fr
  }

  .map-card {
    margin-top: 10px
  }

  .form-grid {
    grid-template-columns: 1fr
  }
}

@media(max-width:580px) {
  .map-head {
    display: block
  }

  .map-link {
    display: inline-block;
    margin-top: 8px
  }

  .map-card iframe {
    height: 300px
  }

  .contact-info-card {
    padding: 15px
  }
}



:root {
  --pmg-accent: #B88931;
  --pmg-accent-dark: #8F6A20;
  --pmg-accent-soft: #F7F0E2;
}

body {
  font-size: 15px;
  line-height: 1.58
}

.container {
  width: min(1160px, 92%)
}

.topbar {
  font-size: 11px
}

.header .nav {
  min-height: 72px;
  padding: 6px 0
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 185px
}

.brand img {
  display: none !important
}

.brand-icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
  display: block
}

.brand-wordmark {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.7px;
  color: #17312E;
  line-height: 1
}

.brand-wordmark .grow {
  font-style: italic;
  color: var(--pmg-accent);
  font-weight: 800
}

.navlinks {
  gap: 14px;
  font-size: 13px
}

.navlinks>a {
  padding: 7px 2px
}

.navlinks>a[href="contact.html"] {
  color: var(--pmg-accent);
  font-weight: 850
}

.navlinks>a[href="contact.html"]:hover {
  color: var(--pmg-accent-dark)
}

.navlinks .btn-sm {
  padding: 9px 14px
}

.navlinks .btn.btn-sm {
  background: var(--pmg-accent);
  box-shadow: 0 9px 22px rgba(184, 137, 49, .18)
}

.navlinks .btn.btn-sm:hover {
  background: var(--pmg-accent-dark)
}

.menu {
  color: var(--pmg-accent)
}

h1 {
  font-size: clamp(36px, 4.8vw, 62px);
  letter-spacing: -1px
}

h2 {
  font-size: clamp(28px, 3.4vw, 42px);
  letter-spacing: -.8px
}

h3 {
  font-size: 19px
}

h4 {
  font-size: 16px
}

.eyebrow {
  font-size: 10px;
  letter-spacing: 1.35px
}

.lead {
  font-size: 17px
}

.section {
  padding: 70px 0
}

.pagehero {
  padding: 58px 0 50px
}

.pagehero h1 {
  font-size: clamp(36px, 4.6vw, 58px)
}

.pagehero p {
  font-size: 16px
}

.hero {
  padding: 55px 0 68px
}

.hero-grid {
  gap: 42px
}

.card {
  padding: 23px
}

.card p,
.feature-item p,
.article-body p {
  font-size: 13px
}

.btn {
  padding: 11px 17px;
  font-size: 13px
}

.btn-sm {
  padding: 8px 13px
}

.panel {
  padding: 23px
}

.form {
  padding: 24px
}

input,
select,
textarea {
  padding: 10px 12px;
  font-size: 14px
}

.form label {
  font-size: 12px
}

.contact-intro-grid,
.message-grid {
  gap: 42px
}

.contact-info-card {
  padding: 15px
}

.contact-info-card strong {
  font-size: 14px
}

.contact-info-card small {
  font-size: 12px
}

.map-card iframe {
  height: 320px
}

.legal-strip {
  font-size: 11px
}

footer {
  padding: 45px 0 18px
}

.flogo {
  display: none !important
}

.footer-wordmark {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.5px
}

.footer-wordmark .grow {
  font-style: italic;
  color: var(--pmg-accent)
}

@media(max-width:900px) {
  .header .nav {
    min-height: 68px
  }

  .navlinks {
    font-size: 13px
  }

  .brand {
    min-width: auto
  }

  .brand-icon {
    width: 39px;
    height: 39px
  }

  .brand-wordmark {
    font-size: 18px
  }

  .contact-intro-grid,
  .message-grid {
    grid-template-columns: 1fr
  }

  .message-grid {
    gap: 26px
  }

  .message-grid>.form {
    order: 2
  }

  .message-copy {
    order: 1
  }
}

@media(max-width:620px) {
  body {
    font-size: 14px
  }

  .container {
    width: min(100% - 26px, 1160px)
  }

  .topbar .container {
    font-size: 9px
  }

  .brand-icon {
    width: 35px;
    height: 35px
  }

  .brand-wordmark {
    font-size: 17px
  }

  h1 {
    font-size: clamp(34px, 10.5vw, 48px)
  }

  h2 {
    font-size: clamp(27px, 8.5vw, 38px)
  }

  h3 {
    font-size: 18px
  }

  .lead {
    font-size: 15px
  }

  .section {
    padding: 52px 0
  }

  .pagehero {
    padding: 45px 0 40px
  }

  .pagehero h1 {
    font-size: clamp(34px, 10vw, 47px)
  }

  .hero {
    padding: 42px 0 54px
  }

  .form {
    padding: 19px
  }

  .contact-info-card {
    padding: 13px
  }

  .map-card iframe {
    height: 260px
  }

  .navlinks {
    left: 3%;
    right: 3%;
    padding: 10px
  }
}


.contact-main .contact-intro-grid {
  align-items: start
}

.contact-details {
  min-width: 0
}

.message-copy {
  min-width: 0
}

.contact-map {
  margin-top: 22px
}

.message-copy>.eyebrow {
  color: var(--pmg-accent)
}

.message-copy h2 {
  max-width: 520px
}

.contact-main .btn {
  background: var(--pmg-accent);
  box-shadow: 0 10px 24px rgba(184, 137, 49, .18)
}

.contact-main .btn:hover {
  background: var(--pmg-accent-dark)
}

@media(max-width:900px) {
  .contact-main .contact-intro-grid {
    grid-template-columns: 1fr
  }

  .message-copy {
    margin-top: 4px
  }
}

:root {
  --pmg-accent: #B88931;
  --pmg-accent-2: #D7B45A;
  --pmg-ink: #17312E
}

html {
  scroll-behavior: smooth
}

.btn {
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(184, 137, 49, .16);
  transition: transform .25s, box-shadow .25s, background .25s
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 32px rgba(184, 137, 49, .24)
}

.btn:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 -110%;
  width: 70%;
  transform: skewX(-22deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
  transition: left .6s
}

.btn:hover:before {
  left: 140%
}

.gradient-text {
  background: linear-gradient(100deg, var(--pmg-accent), var(--pmg-accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .7s, transform .7s
}

.reveal.is-visible {
  opacity: 1;
  transform: none
}

.card,
.contact-info-card {
  transition: transform .3s, box-shadow .3s
}

.card:hover,
.contact-info-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 50px rgba(23, 49, 46, .1)
}

.journey-chart {
  margin-top: 28px;
  padding: 26px;
  border: 1px solid rgba(23, 49, 46, .08);
  border-radius: 22px;
  background: linear-gradient(145deg, #fff, #fbfaf6);
  box-shadow: 0 18px 48px rgba(23, 49, 46, .07)
}

.journey-chart-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 22px
}

.journey-chart-head h3 {
  margin: 0
}

.bar-chart {
  height: 245px;
  display: flex;
  align-items: end;
  gap: clamp(8px, 2.1vw, 22px);
  padding: 12px 4px 0;
  border-bottom: 1px solid rgba(23, 49, 46, .1)
}

.bar-col {
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  gap: 8px
}

.bar-value {
  font-size: 10px;
  font-weight: 850;
  color: var(--pmg-ink)
}

.bar {
  width: min(58px, 80%);
  min-height: 12px;
  border-radius: 10px 10px 3px 3px;
  background: linear-gradient(180deg, var(--pmg-accent-2), var(--pmg-accent));
  box-shadow: 0 8px 20px rgba(184, 137, 49, .2);
  transform-origin: bottom;
  animation: growbar .9s cubic-bezier(.2, .75, .25, 1) both
}

.bar-year {
  font-size: 11px;
  color: #64716F;
  font-weight: 750
}

@keyframes growbar {
  from {
    transform: scaleY(.05);
    opacity: .2
  }

  to {
    transform: scaleY(1);
    opacity: 1
  }
}

.advantage-strip {
  background: #FBF8F1
}

.advantage-title {
  color: var(--pmg-accent);
  font-size: 11px;
  letter-spacing: 1.7px;
  font-weight: 900
}

.advantage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px
}

.advantage-card {
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(23, 49, 46, .07);
  box-shadow: 0 12px 35px rgba(23, 49, 46, .06)
}

.advantage-number {
  font-size: 36px;
  font-weight: 900;
  color: var(--pmg-accent)
}

.advantage-card h3 {
  margin: 9px 0 4px
}

.advantage-card p {
  margin: 0;
  color: #64716F;
  font-size: 13px
}

.footer-brand {
  font-size: 21px;
  font-weight: 900;
  color: #fff
}

.footer-brand .grow {
  color: var(--pmg-accent-2) !important;
  font-style: italic
}

.tm {
  font-size: 7px;
  position: relative;
  top: -7px;
  color: var(--pmg-accent-2);
  font-weight: 900
}

.footer-disclosure {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: 10.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .64)
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 12px;
  font-size: 11px
}

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

  .bar-chart {
    height: 205px
  }

  .journey-chart-head {
    display: block
  }
}


.gradient-text {
  background: linear-gradient(90deg, #B88931, #D7B45A, #9C7426);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important
}

.footer-subtitle {
  font-size: 11px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .62);
  margin-top: 3px
}

.navlinks>a:hover,
.navlinks>a:focus,
.nav-dropdown-toggle:hover {
  color: #B88931 !important
}

.btn-login {
  background: transparent !important;
  color: #17312E !important;
  border: 1px solid rgba(23, 49, 46, .18) !important;
  box-shadow: none !important
}

.btn-login:hover {
  color: #B88931 !important;
  border-color: #B88931 !important
}

.btn-login {
  position: relative
}

.pmg-wealth-chart {
  padding: 32px;
  border: 1px solid #eee5d5;
  border-radius: 26px;
  background: linear-gradient(145deg, #fff, #faf7ef);
  box-shadow: 0 22px 60px rgba(23, 49, 46, .08)
}

.pmg-chart-intro {
  display: flex;
  justify-content: space-between;
  gap: 25px
}

.pmg-chart-badge {
  padding: 14px;
  border-radius: 14px;
  background: #17312E;
  color: #fff
}

.pmg-chart-badge span {
  display: block;
  font-size: 8px;
  color: #D7B45A;
  letter-spacing: 1px
}

.pmg-chart-badge strong {
  font-size: 11px
}

.pmg-chart-stage {
  height: 290px;
  display: flex;
  align-items: end;
  gap: 10px;
  margin-top: 25px;
  border-bottom: 1px solid #ddd
}

.pmg-bars {
  display: flex;
  align-items: end;
  gap: clamp(8px, 2.5vw, 25px);
  height: 100%;
  flex: 1
}

.pmg-bar-item {
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  gap: 7px
}

.pmg-bar {
  width: min(62px, 82%);
  height: var(--bar-height);
  background: linear-gradient(180deg, #D7B45A, #B88931, #8E6823);
  border-radius: 11px 11px 3px 3px;
  transform: scaleY(.05);
  transform-origin: bottom;
  transition: transform 1s cubic-bezier(.2, .8, .2, 1)
}

.pmg-wealth-chart.is-visible .pmg-bar {
  transform: scaleY(1)
}

.pmg-bar-value {
  font-size: 10px;
  font-weight: 900
}

.pmg-bar-year {
  font-size: 10px;
  color: #64716F
}

.pmg-chart-actions {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  flex-wrap: wrap
}

.btn-whatsapp {
  background: #17312E !important;
  color: #fff !important
}

.pmg-chart-disclaimer {
  font-size: 10px;
  color: #777
}

.calculator-hub {
  background: #fbf8f1
}

.calculator-hub-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 45px;
  align-items: center
}

.calculator-points {
  display: grid;
  gap: 12px;
  margin-top: 22px
}

.calculator-points>div {
  padding: 15px;
  background: #fff;
  border-radius: 14px
}

.calculator-points span {
  display: block;
  font-size: 12px;
  color: #64716F
}

.calculator-launch-card {
  padding: 34px;
  border-radius: 24px;
  background: #17312E;
  color: #fff
}

.calculator-launch-card p {
  color: #ccc
}

.calculator-launch-card small {
  display: block;
  margin-top: 10px;
  color: #aaa
}

@media(max-width:820px) {

  .pmg-chart-intro,
  .calculator-hub-grid {
    display: block
  }

  .pmg-chart-badge {
    margin-top: 15px
  }

  .calculator-launch-card {
    margin-top: 25px
  }
}

.services-hero {
  background: radial-gradient(circle at 80% 20%, rgba(184, 137, 49, .16), transparent 32%), linear-gradient(135deg, #fbf8f1, #fff)
}

.services-intro {
  background: #fff
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 32px
}

.service-card {
  padding: 25px;
  border: 1px solid rgba(23, 49, 46, .08);
  border-radius: 20px;
  background: linear-gradient(145deg, #fff, #fbfaf6);
  box-shadow: 0 12px 35px rgba(23, 49, 46, .055);
  transition: transform .3s, box-shadow .3s, border-color .3s
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(23, 49, 46, .11);
  border-color: rgba(184, 137, 49, .35)
}

.service-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #f2dfad, #b88931);
  color: #17312e;
  font-weight: 900;
  font-size: 20px;
  margin-bottom: 20px
}

.service-kicker {
  font-size: 9px;
  letter-spacing: 1.35px;
  color: #b88931;
  font-weight: 900
}

.service-card h3 {
  margin: 8px 0 8px
}

.service-card p {
  font-size: 12px;
  line-height: 1.65;
  color: #64716f;
  min-height: 76px
}

.service-card a {
  font-size: 11px;
  font-weight: 850;
  color: #17312e
}

.service-card a:hover {
  color: #b88931
}

.service-process {
  background: #fbf8f1
}

.service-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 30px;
  border: 1px solid rgba(23, 49, 46, .08);
  border-radius: 20px;
  overflow: hidden;
  background: rgba(23, 49, 46, .08)
}

.service-steps>div {
  background: #fff;
  padding: 25px
}

.service-steps span {
  font-size: 10px;
  letter-spacing: 1.2px;
  color: #b88931;
  font-weight: 900
}

.service-steps h3 {
  margin: 12px 0 5px
}

.service-steps p {
  font-size: 12px;
  color: #64716f;
  margin: 0;
  line-height: 1.6
}

.service-cta-box {
  padding: 38px 42px;
  border-radius: 24px;
  background: #17312e;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  box-shadow: 0 25px 60px rgba(23, 49, 46, .16)
}

.service-cta-box h2 {
  margin: 7px 0 8px
}

.service-cta-box p {
  margin: 0;
  max-width: 650px;
  color: rgba(255, 255, 255, .68);
  font-size: 13px
}

.service-cta-box .eyebrow {
  color: #d7b45a
}

@media(max-width:1050px) {
  .service-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .service-steps {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:650px) {

  .service-grid,
  .service-steps {
    grid-template-columns: 1fr
  }

  .service-card p {
    min-height: 0
  }

  .service-cta-box {
    display: block;
    padding: 28px
  }

  .service-cta-box .btn {
    margin-top: 20px;
    width: 100%;
    text-align: center
  }
}


.brand-subtitle {
  font-size: 9px;
  line-height: 1;
  margin-top: 2px;
  color: rgba(23, 49, 46, .60);
  letter-spacing: 1.15px;
  text-transform: uppercase;
  font-weight: 700;
}

.header .brand-subtitle,
.site-header .brand-subtitle {
  display: block
}

.btn-login {
  border-radius: 8px !important;
  background: transparent !important;
  border: 1px solid rgba(23, 49, 46, .28) !important;
  color: var(--pmg-ink) !important;
  box-shadow: none !important;
  padding: 10px 17px !important;
}

.btn-login:hover {
  background: transparent !important;
  border-color: var(--pmg-accent) !important;
  color: var(--pmg-accent) !important;
  transform: translateY(-1px);
}


.pmg-journey-section {
  padding-top: 34px
}

.pmg-journey-card {
  padding: 32px;
  border: 1px solid rgba(23, 49, 46, .08);
  border-radius: 26px;
  background: linear-gradient(145deg, #fff, #fbf8f1);
  box-shadow: 0 22px 60px rgba(23, 49, 46, .08);
}

.pmg-journey-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
}

.pmg-journey-header h2 {
  margin: 7px 0 9px;
  max-width: 700px
}

.pmg-journey-header p {
  margin: 0;
  max-width: 650px;
  color: #64716F;
  font-size: 14px
}

.pmg-journey-label {
  min-width: 190px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #17312E;
  color: #fff;
  font-size: 9px;
  letter-spacing: 1.5px;
  line-height: 1.5;
  font-weight: 900;
  text-align: right;
}

.pmg-journey-label span {
  color: #D7B45A;
  font-size: 8px
}

.pmg-candle-chart {
  height: 315px;
  display: flex;
  position: relative;
  margin-top: 28px;
  border-bottom: 1px solid rgba(23, 49, 46, .14);
  overflow: hidden;
}

.pmg-chart-gridlines {
  position: absolute;
  inset: 0 0 31px 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.pmg-chart-gridlines i {
  height: 1px;
  background: rgba(23, 49, 46, .07);
  display: block
}

.pmg-candle-axis {
  width: 48px;
  padding: 0 8px 35px 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: right;
  font-size: 9px;
  color: #7a8481;
  z-index: 2;
}

.pmg-candles {
  position: relative;
  z-index: 3;
  flex: 1;
  display: flex;
  align-items: flex-end;
  gap: clamp(9px, 2.6vw, 30px);
  padding: 0 8px 0 8px;
}

.pmg-candle-item {
  height: 100%;
  flex: 1;
  min-width: 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  color: #64716F;
  font-size: 10px;
  font-weight: 750;
}

.pmg-candle-value {
  font-size: 10px;
  color: #17312E;
  font-weight: 900;
  opacity: 0;
  transform: translateY(9px);
}

.pmg-candle {
  width: min(54px, 75%);
  height: var(--h);
  min-height: 10px;
  border-radius: 7px 7px 3px 3px;
  background: linear-gradient(180deg, #E1C875 0%, #B88931 54%, #8E6823 100%);
  box-shadow: 0 10px 24px rgba(184, 137, 49, .22);
  transform: scaleY(.04);
  transform-origin: bottom;
  transition: transform .95s cubic-bezier(.18, .8, .2, 1) var(--delay), filter .25s;
}

.pmg-wick {
  position: absolute;
  width: 2px;
  height: var(--wick);
  min-height: 15px;
  background: linear-gradient(#D7B45A, #B88931);
  transform: scaleY(.05);
  transform-origin: bottom;
  transition: transform .8s ease var(--delay);
}

.pmg-candle-item:hover .pmg-candle {
  filter: brightness(1.1);
  transform: scaleY(1) translateY(-3px)
}

.pmg-journey-card.is-visible .pmg-candle {
  transform: scaleY(1)
}

.pmg-journey-card.is-visible .pmg-wick {
  transform: scaleY(1)
}

.pmg-journey-card.is-visible .pmg-candle-value {
  opacity: 1;
  transform: none;
  transition: opacity .45s ease calc(var(--delay) + .5s), transform .45s ease calc(var(--delay) + .5s)
}

.pmg-journey-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 23px
}

.pmg-journey-note {
  margin: 13px 0 0;
  color: #7a8481;
  font-size: 10px
}

.services-hero {
  background: linear-gradient(145deg, #fbf8f1, #fff) !important
}

.services-hero h1,
.services-hero p {
  max-width: 780px
}

.service-card,
.service-item {
  border: 1px solid rgba(23, 49, 46, .07);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(23, 49, 46, .06);
  transition: transform .3s, box-shadow .3s, border-color .3s
}

.service-card:hover,
.service-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 45px rgba(23, 49, 46, .10);
  border-color: rgba(184, 137, 49, .25)
}

@media(max-width:760px) {
  .pmg-journey-header {
    display: block
  }

  .pmg-journey-label {
    margin-top: 18px;
    text-align: left
  }

  .pmg-candle-chart {
    height: 245px
  }

  .pmg-candle-axis {
    width: 35px;
    font-size: 8px
  }

  .pmg-candles {
    gap: 6px
  }

  .pmg-candle-value {
    font-size: 8px
  }

  .pmg-candle-item {
    font-size: 8px
  }

  .pmg-journey-card {
    padding: 22px
  }

  .pmg-journey-actions .btn {
    width: 100%;
    text-align: center
  }
}


.graphic-bars,
.visual-bars,
.stat-bars,
.mini-chart,
.chart-bars {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  min-height: 150px;
}

.graphic-bars .bar,
.visual-bars .bar,
.stat-bars .bar,
.mini-chart .bar,
.chart-bars .bar {
  position: relative;
  width: 18px;
  min-height: 24px;
  border-radius: 6px 6px 3px 3px;
  background: linear-gradient(180deg, #E2C97D 0%, #B88931 55%, #8C6724 100%);
  box-shadow: 0 8px 18px rgba(184, 137, 49, .20);
  transform-origin: bottom;
  animation: pmgCandleRise .9s cubic-bezier(.18, .8, .2, 1) both;
}

.graphic-bars .bar:before,
.visual-bars .bar:before,
.stat-bars .bar:before,
.mini-chart .bar:before,
.chart-bars .bar:before {
  content: "";
  position: absolute;
  left: 50%;
  top: -18%;
  width: 2px;
  height: 22%;
  transform: translateX(-50%);
  background: linear-gradient(#D7B45A, #9A7227);
  border-radius: 2px;
}

.graphic-bars .bar:nth-child(2),
.visual-bars .bar:nth-child(2),
.stat-bars .bar:nth-child(2),
.mini-chart .bar:nth-child(2),
.chart-bars .bar:nth-child(2) {
  animation-delay: .08s
}

.graphic-bars .bar:nth-child(3),
.visual-bars .bar:nth-child(3),
.stat-bars .bar:nth-child(3),
.mini-chart .bar:nth-child(3),
.chart-bars .bar:nth-child(3) {
  animation-delay: .16s
}

.graphic-bars .bar:nth-child(4),
.visual-bars .bar:nth-child(4),
.stat-bars .bar:nth-child(4),
.mini-chart .bar:nth-child(4),
.chart-bars .bar:nth-child(4) {
  animation-delay: .24s
}

.graphic-bars .bar:nth-child(5),
.visual-bars .bar:nth-child(5),
.stat-bars .bar:nth-child(5),
.mini-chart .bar:nth-child(5),
.chart-bars .bar:nth-child(5) {
  animation-delay: .32s
}

.graphic-bars .bar:hover,
.visual-bars .bar:hover,
.stat-bars .bar:hover,
.mini-chart .bar:hover,
.chart-bars .bar:hover {
  filter: brightness(1.1);
  transform: translateY(-4px);
}

@keyframes pmgCandleRise {
  from {
    transform: scaleY(.05);
    opacity: .15
  }

  to {
    transform: scaleY(1);
    opacity: 1
  }
}


#investment-journey {
  display: block
}


.pmg-brand {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-width: 210px
}

.pmg-logo-emboss {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #ffffff, #e8eee9);
  border: 1px solid rgba(16, 44, 35, .10);
  box-shadow: inset 2px 2px 5px rgba(255, 255, 255, .95), inset -3px -3px 7px rgba(16, 44, 35, .12), 0 7px 18px rgba(16, 44, 35, .10);
  overflow: hidden;
}

.pmg-logo-emboss img {
  width: 43px;
  height: 43px;
  object-fit: contain;
  filter: drop-shadow(0 2px 2px rgba(16, 44, 35, .18))
}

.pmg-brand-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1
}

.pmg-brand-wordmark {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.75px;
  color: #17312E;
  white-space: nowrap
}

.pmg-brand-wordmark .grow {
  font-style: italic;
  color: var(--gold) !important
}

.pmg-brand-wordmark sup {
  font-size: 7px;
  position: relative;
  top: -8px;
  margin-left: 2px;
  color: var(--gold);
  font-weight: 900
}

.pmg-brand-subtitle {
  display: block !important;
  margin-top: 4px;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(16, 44, 35, .57)
}

.pmg-footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1
}

.pmg-footer-brand .pmg-brand-wordmark {
  color: #fff
}

.pmg-footer-brand .pmg-brand-wordmark .grow,
.pmg-footer-brand .pmg-brand-wordmark sup {
  color: var(--gold) !important
}

.pmg-footer-brand .pmg-brand-subtitle {
  color: rgba(255, 255, 255, .62)
}

.footer-brand {
  white-space: nowrap
}


.calc-hero {
  padding: 78px 0 45px;
  background: linear-gradient(135deg, #eef9f3, #fff)
}

.calc-hero h1 {
  max-width: 820px;
  font-size: clamp(42px, 5.4vw, 66px);
  margin: 0 0 12px
}

.calc-hero p {
  max-width: 720px;
  color: var(--muted);
  font-size: 18px
}

.pmg-calculator-section {
  background: #f8fbf9;
  padding-top: 30px
}

.calc-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 18px
}

.calc-tab {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  padding: 11px 18px;
  border-radius: 9px;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  transition: .2s
}

.calc-tab:hover,
.calc-tab.active {
  background: var(--g);
  border-color: var(--g);
  color: #fff;
  transform: translateY(-1px)
}

.pmg-calc-panel {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 20px 55px rgba(4, 54, 38, .08);
  overflow: hidden
}

.pmg-calc-controls {
  padding: 32px;
  border-right: 1px solid var(--line)
}

.pmg-calc-heading h2 {
  font-size: 34px;
  margin: 4px 0 8px
}

.pmg-calc-heading p {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 26px
}

.slider-control {
  margin: 0 0 24px
}

.slider-label {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin-bottom: 9px;
  font-size: 13px
}

.slider-label strong {
  font-size: 16px;
  color: var(--ink)
}

.slider-control input[type=range] {
  width: 100%;
  height: 5px;
  appearance: none;
  background: linear-gradient(90deg, var(--gold), #dfe9e4);
  border-radius: 999px;
  outline: 0
}

.slider-control input[type=range]::-webkit-slider-thumb {
  appearance: none;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  border: 4px solid var(--gold);
  box-shadow: 0 3px 10px rgba(184, 137, 49, .28);
  cursor: pointer
}

.slider-control input[type=range]::-moz-range-thumb {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #fff;
  border: 4px solid var(--gold);
  box-shadow: 0 3px 10px rgba(184, 137, 49, .28);
  cursor: pointer
}

.calc-disclaimer {
  font-size: 10px;
  line-height: 1.5;
  color: #7a8882
}

.pmg-calc-results {
  padding: 32px;
  background: linear-gradient(145deg, #17312E, #0a4333);
  color: #fff;
  position: relative
}

.result-top span {
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .62)
}

.result-top strong {
  display: block;
  color: #D7AA32;
  font-size: 42px;
  letter-spacing: -1px;
  margin-top: 4px
}

.transparent-chart {
  height: 270px;
  position: relative;
  margin: 20px 0 10px;
  background: transparent;
  overflow: hidden
}

.transparent-chart .chart-grid {
  position: absolute;
  inset: 12px 0 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.transparent-chart .chart-grid i {
  height: 1px;
  background: rgba(255, 255, 255, .09)
}

.transparent-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible
}

#wealthLine {
  filter: drop-shadow(0 5px 10px rgba(215, 170, 50, .20));
  transition: d .65s cubic-bezier(.2, .8, .2, 1)
}

#wealthArea {
  transition: d .65s cubic-bezier(.2, .8, .2, 1)
}

#candleLayer rect {
  filter: drop-shadow(0 4px 7px rgba(215, 170, 50, .16))
}

.result-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}

.result-metrics>div {
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .035);
  border-radius: 12px
}

.result-metrics span {
  display: block;
  font-size: 10px;
  color: rgba(255, 255, 255, .56)
}

.result-metrics strong {
  display: block;
  font-size: 15px;
  margin-top: 3px
}

.calc-cta {
  margin-top: 17px;
  background: #D7AA32 !important;
  color: #102c23 !important;
  box-shadow: none !important
}

.calc-note {
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  color: var(--muted);
  font-size: 12px
}

.calc-note strong {
  color: var(--ink)
}

@media(max-width:900px) {
  .pmg-calc-panel {
    grid-template-columns: 1fr
  }

  .pmg-calc-controls {
    border-right: 0;
    border-bottom: 1px solid var(--line)
  }
}

@media(max-width:620px) {
  .pmg-brand {
    min-width: 0
  }

  .pmg-logo-emboss {
    width: 40px;
    height: 40px
  }

  .pmg-logo-emboss img {
    width: 36px;
    height: 36px
  }

  .pmg-brand-wordmark {
    font-size: 17px
  }

  .pmg-brand-subtitle {
    font-size: 7.5px
  }

  .calc-hero {
    padding-top: 55px
  }

  .pmg-calc-controls,
  .pmg-calc-results {
    padding: 23px
  }

  .calc-tab {
    flex: 1;
    min-width: 135px
  }

  .result-top strong {
    font-size: 34px
  }
}



.pmg-brand {
  gap: 11px
}

.pmg-logo-emboss {
  background: linear-gradient(145deg, #fff, #f0f4f1);
  border-radius: 12px
}

.pmg-logo-emboss img {
  width: 40px;
  height: 40px;
  object-fit: contain
}

.navlinks {
  gap: 20px
}

.navlinks>.btn-login {
  margin-left: 26px
}

.navlinks>.btn-login,
.navlinks>.btn-consult {
  min-height: 44px;
  padding: 11px 17px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .1px;
  white-space: nowrap;
}

.navlinks>.btn-login {
  color: var(--g) !important;
  background: #fff;
  border: 1px solid rgba(8, 122, 75, .30);
  box-shadow: 0 7px 18px rgba(8, 122, 75, .10);
}

.navlinks>.btn-login:hover {
  background: #f2faf6;
  border-color: var(--g);
}

.navlinks>.btn-consult {
  background: linear-gradient(135deg, #087a4b, #0b9a5f);
  box-shadow: 0 10px 22px rgba(8, 122, 75, .20);
}

.navlinks>.btn-consult:hover {
  box-shadow: 0 13px 27px rgba(8, 122, 75, .27)
}

.pmg-home-hero {
  padding: 72px 0 76px;
  background: radial-gradient(circle at 80% 20%, rgba(215, 170, 50, .13), transparent 28%), radial-gradient(circle at 90% 70%, #e2f5ea 0, #f8fcfa 36%, #fff 72%);
  overflow: hidden
}

.pmg-home-hero .hero-grid {
  gap: 60px
}

.pmg-home-hero h1 {
  max-width: 760px
}

.pmg-wealth-highlight {
  display: inline-block;
  background: linear-gradient(100deg, #9a7227 0%, #d7aa32 42%, #f2cc65 72%, #b88931 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}

.pmg-home-hero .hero-card {
  padding: 16px
}

.pmg-hero-icon {
  width: min(74%, 300px);
  height: auto;
  filter: drop-shadow(0 16px 22px rgba(8, 122, 75, .14))
}

.pmg-journey-section {
  display: block !important;
  background: linear-gradient(180deg, #fff, #f5faf7)
}

.pmg-journey-card {
  display: block !important;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(4, 54, 38, .09);
  overflow: hidden;
}

.pmg-journey-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 24px
}

.pmg-journey-header h2 {
  margin-bottom: 9px
}

.pmg-journey-header p {
  margin: 0;
  color: var(--muted);
  max-width: 620px
}

.pmg-journey-label {
  padding: 9px 12px;
  border: 1px solid rgba(184, 137, 49, .25);
  border-radius: 999px;
  color: #8c6724;
  background: #fffaf0;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap
}

.pmg-bar-chart {
  display: grid;
  grid-template-columns: repeat(7, minmax(45px, 1fr));
  gap: clamp(9px, 2vw, 22px);
  align-items: end;
  height: 310px;
  padding: 20px 8px 0;
  position: relative
}

.pmg-bar-chart:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 48px;
  height: 1px;
  background: var(--line);
}

.pmg-bar-item {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  position: relative
}

.pmg-bar-value {
  font-size: 10px;
  font-weight: 900;
  color: #8c6724;
  opacity: 0;
  transform: translateY(7px);
  transition: opacity .4s ease var(--delay), transform .4s ease var(--delay)
}

.pmg-bar {
  width: min(66px, 80%);
  height: var(--bar-height);
  min-height: 20px;
  border-radius: 10px 10px 5px 5px;
  background: linear-gradient(180deg, #f0d57d 0%, #d7aa32 42%, #087a4b 100%);
  box-shadow: 0 13px 24px rgba(8, 122, 75, .13), inset 0 1px 0 rgba(255, 255, 255, .55);
  transform: scaleY(.04);
  transform-origin: bottom;
  transition: transform .9s cubic-bezier(.18, .8, .2, 1) var(--delay), filter .25s;
}

.pmg-bar:hover {
  filter: brightness(1.07);
  transform: scaleY(1.02) translateY(-3px)
}

.pmg-bar-year {
  font-size: 11px;
  font-weight: 900;
  color: #17312e
}

.pmg-journey-card.is-visible .pmg-bar {
  transform: scaleY(1)
}

.pmg-journey-card.is-visible .pmg-bar-value {
  opacity: 1;
  transform: none
}

.pmg-journey-foot {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 17px;
  padding-top: 17px;
  border-top: 1px solid var(--line);
  color: #7a8481;
  font-size: 11px
}

.pmg-journey-foot strong {
  color: var(--ink)
}

.pmg-footer-brand {
  gap: 8px
}

.pmg-footer-logo {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin-bottom: 2px
}

.pmg-footer-logo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .18))
}

@media(max-width:1120px) {
  .navlinks {
    gap: 13px;
    font-size: 13px
  }

  .navlinks>.btn-login {
    margin-left: 15px
  }
}

@media(max-width:900px) {
  .pmg-home-hero {
    padding: 58px 0 66px
  }

  .pmg-bar-chart {
    height: 275px
  }
}

@media(max-width:760px) {
  .navlinks>.btn-login {
    margin-left: 0
  }

  .pmg-journey-card {
    padding: 23px 18px
  }

  .pmg-journey-header {
    display: block
  }

  .pmg-journey-label {
    display: inline-block;
    margin-top: 15px
  }

  .pmg-bar-chart {
    gap: 7px;
    height: 245px;
    padding-left: 0;
    padding-right: 0
  }

  .pmg-bar {
    width: 72%;
    border-radius: 7px 7px 4px 4px
  }

  .pmg-bar-value {
    font-size: 8px
  }

  .pmg-bar-year {
    font-size: 9px
  }

  .pmg-journey-foot {
    display: block
  }

  .pmg-journey-foot span {
    display: block;
    margin-top: 6px
  }
}

@media(prefers-reduced-motion:reduce) {

  .pmg-bar,
  .pmg-bar-value {
    transition: none !important
  }
}


#solutions .head {
  margin-bottom: 24px
}

#solutions .head h2 {
  margin-bottom: 0
}

#solutions .head p {
  margin: 0
}

.pmg-journey-card {
  background: linear-gradient(145deg, #ffffff 0%, #fbf8f0 100%)
}

.journey-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 10px
}

.journey-principle {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 17px;
  border: 1px solid rgba(23, 49, 46, .08);
  border-radius: 16px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 8px 24px rgba(23, 49, 46, .05)
}

.journey-principle .principle-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 21px;
  font-weight: 900;
  flex: 0 0 40px
}

.journey-principle.goal .principle-icon {
  background: linear-gradient(145deg, #f5e5b5, #d7b45a);
  color: #17312e
}

.journey-principle.stay .principle-icon {
  background: linear-gradient(145deg, #dff2e8, #69ae8e);
  color: #103833
}

.journey-principle strong {
  display: block;
  font-family: Poppins, Inter, sans-serif;
  font-size: 14px;
  line-height: 1.2
}

.journey-principle small {
  display: block;
  margin-top: 3px;
  color: #687772;
  font-size: 11px;
  line-height: 1.4
}

.pmg-bar-chart {
  height: 330px;
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: clamp(8px, 2.2vw, 24px);
  padding: 34px 10px 0;
  margin-top: 14px;
  border-bottom: 1px solid rgba(23, 49, 46, .13);
  overflow: hidden
}

.pmg-chart-grid {
  position: absolute;
  inset: 22px 0 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none
}

.pmg-chart-grid i {
  height: 1px;
  background: rgba(23, 49, 46, .065);
  display: block
}

.pmg-bar-item {
  height: 100%;
  flex: 1;
  min-width: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  position: relative;
  z-index: 2
}

.pmg-bar-value {
  font-size: 10px;
  color: #17312e;
  font-weight: 900;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .45s ease calc(var(--delay) + .45s), transform .45s ease calc(var(--delay) + .45s)
}

.pmg-bar {
  width: min(62px, 82%);
  height: var(--bar-height);
  min-height: 12px;
  border-radius: 12px 12px 4px 4px;
  background: linear-gradient(180deg, #f2d77c 0%, #d7b45a 34%, #b88931 70%, #7e5b20 100%);
  box-shadow: 0 14px 28px rgba(184, 137, 49, .20);
  transform: scaleY(.03);
  transform-origin: bottom;
  transition: transform 1s cubic-bezier(.18, .8, .2, 1) var(--delay), filter .25s ease;
  position: relative
}

.pmg-bar:after {
  content: "";
  position: absolute;
  left: 14%;
  right: 14%;
  top: 7px;
  height: 2px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .58)
}

.pmg-bar-year {
  font-size: 10px;
  color: #64716f;
  font-weight: 800;
  white-space: nowrap
}

.pmg-journey-card.is-visible .pmg-bar {
  transform: scaleY(1)
}

.pmg-journey-card.is-visible .pmg-bar-value {
  opacity: 1;
  transform: none
}

.pmg-bar-item:hover .pmg-bar {
  filter: brightness(1.08);
  transform: scaleY(1) translateY(-4px)
}

.pmg-journey-foot {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
  color: #7a8481;
  font-size: 10px
}

.pmg-journey-foot strong {
  color: #17312e
}

.advantage-action {
  display: flex;
  justify-content: center;
  margin-top: 28px
}

.btn-dark {
  background: #17312e !important;
  color: #fff !important;
  box-shadow: 0 12px 25px rgba(23, 49, 46, .18) !important
}

.btn-dark:hover {
  background: #0f3b34 !important;
  color: #fff !important
}

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

.service-card {
  min-height: 100%;
  display: flex;
  flex-direction: column
}

.service-card p {
  min-height: 92px
}

.service-visual {
  height: 68px;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px
}

.service-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: linear-gradient(145deg, #f3dfaa, #b88931);
  color: #17312e;
  font-weight: 900;
  font-size: 20px;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 18px rgba(184, 137, 49, .16)
}

.service-spark {
  position: absolute;
  right: 3px;
  top: 7px;
  width: 72px;
  height: 42px;
  border-bottom: 2px solid rgba(23, 49, 46, .13);
  border-radius: 0 0 50% 50%;
  opacity: .8
}

.service-spark:before,
.service-spark:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: #d7b45a
}

.service-spark:before {
  width: 7px;
  height: 7px;
  right: 4px;
  top: 2px
}

.service-spark:after {
  width: 5px;
  height: 5px;
  right: 29px;
  top: 15px
}

.spark-1 {
  transform: rotate(-12deg);
  border-top: 2px solid rgba(23, 74, 67, .13)
}

.spark-2 {
  transform: rotate(9deg);
  border-top: 2px solid rgba(184, 137, 49, .18)
}

.spark-3 {
  transform: rotate(-4deg);
  border-top: 2px solid rgba(23, 74, 67, .13)
}

.spark-4 {
  transform: rotate(15deg);
  border-top: 2px solid rgba(184, 137, 49, .18)
}

.service-card a {
  margin-top: auto
}

@media(max-width:950px) {
  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:700px) {
  .journey-principles {
    grid-template-columns: 1fr
  }

  .pmg-bar-chart {
    height: 255px;
    gap: 5px;
    padding-left: 2px;
    padding-right: 2px
  }

  .pmg-bar-item {
    min-width: 34px
  }

  .pmg-bar-value {
    font-size: 8px
  }

  .pmg-bar-year {
    font-size: 8px
  }

  .pmg-journey-foot {
    display: block
  }

  .pmg-journey-foot span {
    display: block;
    margin-top: 6px
  }

  .service-grid {
    grid-template-columns: 1fr
  }

  .service-card p {
    min-height: 0
  }
}

@media(prefers-reduced-motion:reduce) {

  .pmg-bar,
  .pmg-bar-value {
    transition: none !important
  }
}


.pmg-home-hero .hero-grid {
  grid-template-columns: 1fr
}

.pmg-home-hero .hero-grid>div:first-child {
  max-width: 860px
}

.navlinks>.btn-signup {
  min-height: 44px;
  padding: 11px 17px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .1px;
  white-space: nowrap;
  background: linear-gradient(135deg, #087a4b, #0b9a5f) !important;
  color: #fff !important;
  border: 1px solid #087a4b !important;
  box-shadow: 0 10px 22px rgba(8, 122, 75, .18);
}

.navlinks>.btn-signup:hover,
.navlinks>.btn-signup:focus-visible {
  background: linear-gradient(135deg, #06683f, #087a4b) !important;
  color: #fff !important;
  box-shadow: 0 13px 27px rgba(8, 122, 75, .27);
  transform: translateY(-1px);
}

.pmg-footer-subtitle {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  margin-top: 6px
}

.pmg-footer-subtitle img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .18))
}

@media(max-width:1120px) {
  .navlinks>.btn-signup {
    padding-left: 14px;
    padding-right: 14px
  }
}

@media(max-width:760px) {
  .navlinks>.btn-signup {
    margin-top: 4px;
    text-align: center
  }
}



html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%
}

body {
  min-width: 0;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
  padding-bottom: env(safe-area-inset-bottom)
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
  height: auto
}

.container {
  width: min(1160px, calc(100% - 28px));
  padding-left: 0;
  padding-right: 0
}

p,
li,
.lead,
.head p,
.pagehero p,
.article-body p,
.card p,
.notice,
.answer {
  max-width: 75ch
}

h1 {
  font-size: clamp(2rem, 9vw, 4.75rem)
}

h2 {
  font-size: clamp(1.65rem, 7vw, 3rem)
}

h3 {
  font-size: clamp(1.15rem, 5vw, 1.5rem)
}

button,
a.btn,
.btn,
input,
select,
textarea,
.menu,
.tabs button,
.faq button,
.dashnav a,
.social a,
.foot-social a {
  min-height: 48px;
  min-width: 48px
}

button,
.btn,
.menu,
.tabs button,
.faq button {
  touch-action: manipulation
}

a:not(.btn):not(.brand):not(.logo) {
  -webkit-tap-highlight-color: transparent
}

input,
select,
textarea {
  font-size: 16px !important;
  line-height: 1.5;
  padding: 12px 14px
}

textarea {
  min-height: 120px
}

.actions,
.tabs,
.social,
.foot-social {
  gap: 12px
}

.navlinks a {
  min-height: 48px;
  display: flex;
  align-items: center
}

.tablewrap {
  max-width: 100%;
  -webkit-overflow-scrolling: touch
}

.pmg-bar-chart {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin
}

@supports (padding:max(0px)) {
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding-bottom: max(12px, env(safe-area-inset-bottom))
  }

  .whatsapp-float {
    bottom: max(14px, calc(env(safe-area-inset-bottom) + 10px));
    right: max(14px, env(safe-area-inset-right))
  }
}

@media(max-width:700px) {
  .container {
    width: calc(100% - 24px)
  }

  .section {
    padding: clamp(48px, 12vw, 68px) 0
  }

  .hero,
  .pmg-home-hero {
    padding: clamp(44px, 11vw, 58px) 0
  }

  .pagehero {
    padding: clamp(42px, 10vw, 56px) 0
  }

  .hero-grid,
  .split,
  .feature,
  .contact,
  .calculator,
  .calc-form,
  .journey-principles,
  .selection-grid,
  .journey-legend {
    grid-template-columns: minmax(0, 1fr)
  }

  .cards,
  .cards3,
  .steps,
  .social-grid,
  .article-grid,
  .service-grid,
  .edu-sections,
  .metrics,
  .foot {
    grid-template-columns: minmax(0, 1fr)
  }

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

  .pmg-bar-item {
    min-width: 32px
  }

  .row {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px
  }

  .journey-principle,
  .feature-item,
  .social-card {
    min-width: 0
  }
}

@media(max-width:380px) {
  .container {
    width: calc(100% - 20px)
  }

  .mini-grid {
    grid-template-columns: 1fr
  }

  .brand {
    min-width: 0
  }

  .brand-wordmark {
    font-size: 18px
  }

  .nav {
    gap: 8px
  }

  .brand-icon {
    width: 38px;
    height: 38px
  }

  .quote,
  .panel,
  .form,
  .calculator,
  .pmg-journey-card {
    padding: 16px
  }

  .card {
    padding: 20px
  }
}



:root {
  --page-gutter: clamp(.875rem, 3vw, 2.5rem);
  --reading-width: 72ch;
  --radius: clamp(.75rem, 1.2vw, 1.25rem);
}

html {
  width: 100%;
  min-width: 320px;
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  width: 100%;
  min-width: 320px;
  max-width: 100%;
  overflow-x: hidden;
  font-size: clamp(1rem, .97rem + .2vw, 1.125rem);
  line-height: 1.65;
  padding-bottom: env(safe-area-inset-bottom);
}

*,
*::before,
*::after {
  min-width: 0
}

.container {
  width: min(calc(100% - (2 * var(--page-gutter))), 73.75rem);
  max-width: 100%;
}

h1,
h2,
h3 {
  line-height: 1.15;
  letter-spacing: -.02em;
  text-wrap: balance
}

h1 {
  font-size: clamp(2rem, 1.35rem + 3.2vw, 4rem)
}

h2 {
  font-size: clamp(1.625rem, 1.22rem + 2.05vw, 2.9rem)
}

h3 {
  font-size: clamp(1.25rem, 1.06rem + 1vw, 1.8rem)
}

p,
li,
.prose {
  max-width: var(--reading-width)
}

small,
.small {
  font-size: clamp(.875rem, .84rem + .16vw, 1rem);
  line-height: 1.5
}

img,
picture,
video,
canvas,
svg,
iframe {
  display: block;
  max-width: 100%
}

img,
video {
  height: auto
}

iframe {
  border: 0
}

button,
input,
select,
textarea {
  font: inherit
}

input,
select,
textarea {
  width: 100%;
  min-height: 48px;
  font-size: max(16px, 1rem);
  line-height: 1.5;
}

textarea {
  min-height: 8rem
}

button,
.btn,
.menu,
.navlinks a,
.nav-dropdown-toggle,
.map-link {
  min-height: 48px;
  touch-action: manipulation;
}

.btn,
.menu,
.navlinks a,
.nav-dropdown-toggle,
.map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn {
  padding-inline: clamp(1rem, 2vw, 1.4rem)
}

a,
button,
input,
select,
textarea {
  max-width: 100%
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(8, 122, 75, .5);
  outline-offset: 3px;
}

@media (prefers-reduced-motion:reduce) {

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important
  }
}

@media (max-width:48rem) {
  .topbar .container {
    min-height: 3rem;
    height: auto;
    padding-block: .35rem;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center
  }

  .nav {
    height: auto;
    min-height: 4.75rem;
    gap: .75rem
  }

  .brand img {
    width: clamp(7.75rem, 42vw, 10.5rem);
    height: auto
  }

  .menu {
    display: inline-flex;
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    padding: 0
  }

  .navlinks {
    width: min(100%, 30rem);
    max-height: calc(100svh - 4.75rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom));
    gap: .25rem;
  }

  .navlinks a {
    width: 100%;
    justify-content: flex-start;
    padding: .75rem 1rem
  }

  .footer-grid,
  .footer-bottom,
  .message-grid {
    grid-template-columns: minmax(0, 1fr) !important
  }

  .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem
  }

  .footer a {
    display: inline-flex;
    align-items: center;
    min-height: 48px
  }

  .grid,
  .cards {
    grid-template-columns: minmax(0, 1fr) !important
  }

  table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }
}

@media (max-width:23.4375rem) {
  :root {
    --page-gutter: .75rem
  }

  .btn {
    padding-inline: .875rem
  }

  .nav {
    gap: .5rem
  }
}

@supports(padding:max(0px)) {
  .header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right)
  }

  .footer {
    padding-bottom: max(1rem, env(safe-area-inset-bottom))
  }
}



.pmg-header-logo {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  display: block;
  border-radius: 0 !important;
  filter: none !important
}

.pmg-brand {
  display: flex !important;
  align-items: center !important;
  min-width: 72px
}

.pmg-footer-brand {
  display: flex;
  align-items: flex-start
}

.pmg-footer-logo {
  width: 180px;
  height: 180px;
  object-fit: contain;
  display: block
}

.site-header {
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 3px 18px rgba(4, 54, 38, .04)
}

.services-hero {
  background: radial-gradient(circle at 80% 18%, rgba(184, 137, 49, .16), transparent 32%), linear-gradient(145deg, #fbf8f1, #fff) !important
}

.service-card {
  border: 1px solid rgba(23, 49, 46, .08);
  border-radius: 20px;
  background: linear-gradient(145deg, #fff, #fbfaf6);
  box-shadow: 0 12px 35px rgba(23, 49, 46, .055)
}

.service-card:hover {
  border-color: rgba(184, 137, 49, .35);
  box-shadow: 0 20px 48px rgba(23, 49, 46, .11)
}

@media(max-width:620px) {
  .pmg-header-logo {
    width: 58px !important;
    height: 58px !important
  }

  .pmg-footer-logo {
    width: 150px;
    height: 150px
  }

  .pmg-brand {
    min-width: 58px !important
  }
}

.cookie-banner,
.cookie-settings {
  display: none !important
}



.pmg-brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 210px !important
}

.pmg-logo-emboss {
  width: 43px !important;
  height: 43px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(145deg, #fff, #f0f4f1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(16, 44, 35, .08) !important
}

.pmg-logo-emboss img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 2px rgba(16, 44, 35, .18)) !important
}

.pmg-brand-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  line-height: 1 !important
}

.pmg-brand-wordmark {
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -.75px !important;
  color: #17312E !important;
  white-space: nowrap !important
}

.pmg-brand-wordmark .grow {
  font-style: italic !important;
  color: var(--gold) !important
}

.pmg-brand-wordmark sup {
  font-size: 7px !important;
  position: relative !important;
  top: -8px !important;
  margin-left: 2px !important;
  color: var(--gold) !important;
  font-weight: 900 !important
}

.pmg-brand-subtitle {
  display: block !important;
  margin-top: 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  color: rgba(16, 44, 35, .57) !important
}

.pmg-footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  line-height: 1 !important;
  gap: 0 !important
}

.pmg-footer-brand .pmg-brand-wordmark {
  color: #fff !important
}

.pmg-footer-brand .pmg-brand-wordmark .grow,
.pmg-footer-brand .pmg-brand-wordmark sup {
  color: var(--gold) !important
}

.pmg-footer-subtitle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-top: 6px !important;
  color: rgba(255, 255, 255, .62) !important
}

.pmg-footer-subtitle img {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .18)) !important
}

.contact-main-section .contact-intro-grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: 42px !important;
  align-items: start !important
}

.contact-form-panel {
  box-shadow: 0 12px 40px rgba(4, 54, 38, .06) !important;
  border: 1px solid var(--line) !important
}

.contact-form-panel h2 {
  margin: 5px 0 8px !important
}

.contact-form-panel .form-intro {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 20px
}

.contact-form-panel .form-grid {
  grid-template-columns: 1fr 1fr
}

@media(max-width:900px) {
  .pmg-brand {
    min-width: 0 !important
  }

  .pmg-logo-emboss {
    width: 40px !important;
    height: 40px !important
  }

  .pmg-logo-emboss img {
    width: 36px !important;
    height: 36px !important
  }

  .pmg-brand-wordmark {
    font-size: 17px !important
  }

  .pmg-brand-subtitle {
    font-size: 7.5px !important
  }

  .contact-main-section .contact-intro-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important
  }

  .contact-form-panel .form-grid {
    grid-template-columns: 1fr !important
  }
}


.pmg-brand {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 190px !important;
  text-decoration: none !important
}

.pmg-logo-mark {
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important
}

.pmg-logo-mark img {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important
}

.pmg-brand-wordmark {
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: -.7px !important;
  line-height: 1 !important;
  color: #17312E !important;
  white-space: nowrap !important
}

.pmg-brand-wordmark .grow {
  color: var(--gold) !important;
  font-style: normal !important
}

.pmg-brand-wordmark sup {
  font-size: 7px !important;
  position: relative !important;
  top: -8px !important;
  margin-left: 2px !important;
  color: var(--gold) !important;
  font-weight: 900 !important
}

.contact-main-section .contact-intro-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 34px !important;
  align-items: start !important
}

.contact-main-section .contact-details {
  min-width: 0 !important
}

.contact-main-section .contact-form-panel {
  min-width: 0 !important;
  margin: 0 !important
}

.contact-form-panel .form-grid {
  grid-template-columns: 1fr 1fr !important
}

@media(max-width:900px) {
  .pmg-brand {
    min-width: 0 !important
  }

  .pmg-logo-mark,
  .pmg-logo-mark img {
    width: 34px !important;
    height: 34px !important
  }

  .pmg-brand-wordmark {
    font-size: 17px !important
  }

  .contact-main-section .contact-intro-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important
  }

  .contact-form-panel .form-grid {
    grid-template-columns: 1fr !important
  }
}


:root {
  --pmg-ease: cubic-bezier(.22, .61, .36, 1);
  --pmg-ease-soft: cubic-bezier(.2, .8, .2, 1);
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.58;
  letter-spacing: .005em;
  -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
.brand,
.navlinks,
.btn,
.eyebrow,
label,
.topbar {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Roboto", "Helvetica Neue", Arial, sans-serif;
}

h1,
h2,
h3,
h4 {
  font-weight: 500;
}

.navlinks,
.btn,
label,
.eyebrow {
  font-weight: 500;
}

.lead,
.head p,
.card p,
.article-body p,
.formnote,
.foot p {
  font-weight: 300;
}

*,
*::before,
*::after {
  -webkit-tap-highlight-color: transparent;
}

.btn,
.card,
.article,
.social-card,
.contact-info-card,
.calc-tab,
.navlinks a {
  transition: transform .28s var(--pmg-ease), opacity .28s var(--pmg-ease), background-color .28s var(--pmg-ease), border-color .28s var(--pmg-ease), box-shadow .28s var(--pmg-ease), color .28s var(--pmg-ease);
  will-change: transform;
}

.btn:hover,
.btn:focus-visible {
  transform: translate3d(0, -2px, 0);
}

.btn:active {
  transform: translate3d(0, 0, 0) scale(.985);
}

.card:hover,
.article:hover,
.social-card:hover {
  transform: translate3d(0, -4px, 0);
}

.reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity .65s var(--pmg-ease-soft), transform .65s var(--pmg-ease-soft);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.navlinks {
  transition: opacity .25s var(--pmg-ease), transform .25s var(--pmg-ease), visibility .25s var(--pmg-ease);
}

.formnote {
  min-height: 1.5em;
  margin-top: 12px;
}

.formnote.success {
  color: #176b48;
}

.formnote.error {
  color: #9b3f35;
}

button[disabled],
.btn[disabled] {
  cursor: wait;
  opacity: .68;
  transform: none !important;
}

input,
select,
textarea {
  font-weight: 300;
  line-height: 1.5;
}

@media (max-width: 600px) {

  input,
  select,
  textarea {
    font-size: 16px;
  }
}

input::placeholder,
textarea::placeholder {
  color: #8a9893;
  opacity: 1;
}

@media (max-width: 900px) {
  .navlinks {
    display: flex;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, -8px, 0);
  }

  .navlinks.open {
    display: flex;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
  }
}

@media (hover: none) and (pointer: coarse) {

  .btn:hover,
  .card:hover,
  .article:hover,
  .social-card:hover {
    transform: none;
  }

  .btn:active {
    transform: scale(.985);
  }

  .navlinks a,
  .btn,
  button,
  input,
  select,
  textarea {
    min-height: 44px;
  }
}

@media (max-width: 600px) {
  body {
    font-size: 15px;
    line-height: 1.58;
  }

  .container {
    width: min(100% - 32px, 1180px);
  }

  .nav {
    min-height: 68px;
    height: auto;
    padding-block: 10px;
  }

  .topbar {
    font-size: 11px;
    line-height: 1.45;
  }

  h1 {
    font-size: clamp(36px, 11vw, 52px);
    letter-spacing: -1px;
  }

  h2 {
    font-size: clamp(28px, 8vw, 40px);
    letter-spacing: -.7px;
  }

  h3 {
    font-size: 20px;
    letter-spacing: -.35px;
  }

  .lead {
    font-size: 16px;
  }

  .actions {
    gap: 10px;
  }

  .actions .btn {
    flex: 1 1 100%;
  }

  .whatsapp-float {
    bottom: max(14px, env(safe-area-inset-bottom));
  }

  .map-card iframe {
    min-height: 300px;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   PLANTMONEYGROW V19 MODERN UI/UX, MOBILE NAVIGATION & VISUAL TRANSITIONS
   ========================================================================== */

/* Modern Color Tokens & Variables */
:root {
  --pmg-emerald: #174A43;
  --pmg-emerald-dark: #0D2F2B;
  --pmg-emerald-light: #21635A;
  --pmg-gold: #D7AA32;
  --pmg-gold-light: #F3CA65;
  --pmg-gold-dark: #B88931;
  --pmg-bg-soft: #F4F8F7;
  --pmg-card-border: rgba(23, 74, 67, 0.09);
  --pmg-glass-bg: rgba(255, 255, 255, 0.88);
  --pmg-glass-border: rgba(255, 255, 255, 0.6);
  --pmg-shadow-luxury: 0 24px 60px rgba(13, 47, 43, 0.09);
  --pmg-shadow-glow: 0 0 35px rgba(215, 170, 50, 0.18);
  --pmg-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Glassmorphic Sticky Header */
.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--pmg-glass-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--pmg-card-border);
  transition: all 0.3s var(--pmg-ease-out);
}

.header.scrolled {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 30px rgba(13, 47, 43, 0.06);
}

/* Modern Hamburger Menu Button */
.menu {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  position: relative;
  z-index: 1100;
  transition: background-color 0.2s;
}

.menu:focus-visible {
  outline: 2px solid var(--pmg-gold);
}

.menu-icon-bars {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  margin: auto;
}

.menu-icon-bars span {
  display: block;
  height: 2.5px;
  width: 100%;
  background: var(--pmg-emerald);
  border-radius: 4px;
  transition: all 0.3s var(--pmg-ease-out);
  transform-origin: center;
}

.menu.is-active .menu-icon-bars span:nth-child(1) {
  transform: translateY(7.75px) rotate(45deg);
  background: var(--pmg-gold-dark);
}

.menu.is-active .menu-icon-bars span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.menu.is-active .menu-icon-bars span:nth-child(3) {
  transform: translateY(-7.75px) rotate(-45deg);
  background: var(--pmg-gold-dark);
}

/* Mobile Slide-in Luxury Drawer */
.mobile-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(13, 47, 43, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 1050;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.mobile-drawer-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(85vw, 360px);
  background: #ffffff;
  z-index: 1060;
  display: flex;
  flex-direction: column;
  padding: 24px 20px calc(24px + env(safe-area-inset-bottom));
  box-shadow: -15px 0 50px rgba(13, 47, 43, 0.18);
  transform: translateX(100%);
  transition: transform 0.38s cubic-bezier(0.2, 0.9, 0.2, 1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-drawer.open {
  transform: translateX(0);
}

.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--pmg-card-border);
  margin-bottom: 16px;
}

.drawer-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.8px;
  background: var(--pmg-bg-soft);
  color: var(--pmg-emerald);
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--pmg-card-border);
}

.drawer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.drawer-nav-list a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--pmg-emerald);
  text-decoration: none;
  transition: all 0.2s ease;
  min-height: 48px;
}

.drawer-nav-list a:hover,
.drawer-nav-list a.active {
  background: var(--pmg-bg-soft);
  color: var(--pmg-gold-dark);
  transform: translateX(4px);
}

.drawer-nav-list a .drawer-nav-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(23, 74, 67, 0.07);
  display: grid;
  place-items: center;
  font-size: 14px;
  color: var(--pmg-emerald);
}

.drawer-actions {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--pmg-card-border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.drawer-actions .btn {
  width: 100%;
  text-align: center;
  justify-content: center;
  min-height: 48px;
}

.drawer-contact-strip {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.drawer-contact-strip a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid var(--pmg-card-border);
  font-size: 12px;
  font-weight: 700;
  color: var(--pmg-emerald);
  background: #fff;
  min-height: 44px;
}

.drawer-contact-strip a.wa-btn {
  background: #25D366;
  color: #fff;
  border-color: #25D366;
}

/* Mobile Bottom Quick-Action Bar / Thumb Dock (Native iOS & Android Polish) */
.mobile-bottom-dock {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 990;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(23, 74, 67, 0.12);
  box-shadow: 0 -8px 30px rgba(13, 47, 43, 0.08);
  padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

/* Defensive Fail-safe: prevent any loose or unnested SVG inside dock from breaking layout */
.mobile-bottom-dock svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  flex-shrink: 0;
  pointer-events: none;
}

@media (max-width: 768px) {
  .menu {
    display: inline-flex;
  }

  .mobile-bottom-dock {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }

  body {
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
  }

  .whatsapp-float {
    display: none !important;
  }

  /* Replaced by dock WhatsApp button on mobile */
}

.dock-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-decoration: none;
  color: #5d716c;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 8px;
  border-radius: 12px;
  min-width: 54px;
  min-height: 48px;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1), color 0.2s ease, background 0.2s ease;
}

.dock-item:active {
  transform: scale(0.92);
  background: rgba(23, 74, 67, 0.06);
}

.dock-item.active {
  color: var(--pmg-emerald);
}

.dock-item svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  flex-shrink: 0;
}

.dock-item.dock-whatsapp {
  color: #25D366;
}

.dock-item.dock-whatsapp svg {
  fill: #25D366;
  stroke: none;
}

/* Visual Entrance Animations & Stagger Sequences */
@keyframes pmgFadeSlideUp {
  0% {
    opacity: 0;
    transform: translateY(32px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pmgFadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes pmgPulseAura {

  0%,
  100% {
    transform: scale(1);
    opacity: 0.5;
  }

  50% {
    transform: scale(1.1);
    opacity: 0.8;
  }
}

@keyframes pmgFloatSoft {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

.hero-stagger-1 {
  animation: pmgFadeSlideUp 0.8s var(--pmg-ease-out) 0.05s both;
}

.hero-stagger-2 {
  animation: pmgFadeSlideUp 0.8s var(--pmg-ease-out) 0.2s both;
}

.hero-stagger-3 {
  animation: pmgFadeSlideUp 0.8s var(--pmg-ease-out) 0.35s both;
}

.hero-stagger-4 {
  animation: pmgFadeSlideUp 0.8s var(--pmg-ease-out) 0.5s both;
}

.hero-stagger-5 {
  animation: pmgFadeSlideUp 0.8s var(--pmg-ease-out) 0.65s both;
}

/* Radiant Text and Ambient Glows */
.pmg-wealth-highlight {
  background: linear-gradient(135deg, var(--pmg-gold-dark) 0%, var(--pmg-gold) 40%, var(--pmg-emerald-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-weight: 800;
}

.pmg-ambient-glow {
  position: absolute;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(215, 170, 50, 0.18) 0%, rgba(23, 74, 67, 0.12) 50%, transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
  animation: pmgPulseAura 8s infinite ease-in-out;
}

/* Modern Hero Visual Card with 3D Wealth Tree */
.hero-visual-card {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid var(--pmg-glass-border);
  box-shadow: var(--pmg-shadow-luxury);
  background: linear-gradient(145deg, #ffffff, #f7faf9);
  animation: pmgFloatSoft 6s ease-in-out infinite;
  transition: transform 0.4s var(--pmg-ease-out);
}

.hero-visual-card:hover {
  transform: translateY(-6px);
}

.hero-visual-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 24px 24px 0 0;
}

.hero-visual-badge-strip {
  padding: 16px 20px;
  background: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--pmg-card-border);
}

.hero-visual-badge-strip span {
  font-size: 11px;
  font-weight: 800;
  color: var(--pmg-emerald);
  display: flex;
  align-items: center;
  gap: 6px;
}

.hero-visual-badge-strip span i {
  color: var(--pmg-gold-dark);
  font-style: normal;
}

/* ==========================================================================
   TOP PERFORMING MUTUAL FUNDS IN INDIA SECTION
   ========================================================================== */
.top-funds-section {
  padding: 85px 0;
  background: linear-gradient(180deg, #ffffff 0%, var(--pmg-bg-soft) 100%);
  position: relative;
}

.top-funds-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.fund-category-card {
  background: #ffffff;
  border: 1px solid var(--pmg-card-border);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 14px 40px rgba(23, 74, 67, 0.06);
  position: relative;
  display: flex;
  flex-direction: column;
  transition: all 0.3s var(--pmg-ease-out);
}

.fund-category-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--pmg-shadow-luxury);
  border-color: rgba(215, 170, 50, 0.4);
}

.fund-rank-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 999px;
  width: fit-content;
  margin-bottom: 16px;
}

.fund-rank-badge.gold {
  background: #FFF8E7;
  color: #9C7426;
  border: 1px solid rgba(215, 170, 50, 0.35);
}

.fund-rank-badge.emerald {
  background: #EAF4F1;
  color: #174A43;
  border: 1px solid rgba(23, 74, 67, 0.25);
}

.fund-rank-badge.blue {
  background: #EBF3FC;
  color: #1557A6;
  border: 1px solid rgba(21, 87, 166, 0.25);
}

.fund-category-card h3 {
  font-size: 22px;
  margin: 0 0 8px;
  color: var(--pmg-emerald);
}

.fund-category-card p.fund-tagline {
  font-size: 13px;
  color: var(--pmg-gold-dark);
  font-weight: 700;
  margin: 0 0 16px;
}

.fund-features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fund-features-list li {
  font-size: 13px;
  color: #556B64;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
}

.fund-features-list li span.bullet {
  color: #21635A;
  font-weight: 900;
}

.fund-category-card .btn-fund-action {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px;
  border-radius: 10px;
  background: var(--pmg-bg-soft);
  color: var(--pmg-emerald);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid var(--pmg-card-border);
  transition: all 0.2s ease;
}

.fund-category-card .btn-fund-action:hover {
  background: var(--pmg-emerald);
  color: #fff !important;
  border-color: var(--pmg-emerald);
}

/* Infographic Showcase Card */
.infographic-showcase {
  margin-top: 48px;
  background: #ffffff;
  border: 1px solid var(--pmg-card-border);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--pmg-shadow-luxury);
}

.infographic-showcase-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
}

.infographic-img-wrap {
  position: relative;
  overflow: hidden;
}

.infographic-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.6s var(--pmg-ease-out);
}

.infographic-img-wrap:hover img {
  transform: scale(1.03);
}

.infographic-content {
  padding: 40px;
}

.infographic-content h3 {
  font-size: clamp(24px, 3vw, 32px);
  margin: 0 0 14px;
  color: var(--pmg-emerald);
}

.infographic-content p {
  color: #5d716c;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 22px;
}

@media (max-width: 950px) {
  .top-funds-grid {
    grid-template-columns: 1fr;
  }

  .infographic-showcase-grid {
    grid-template-columns: 1fr;
  }

  .infographic-content {
    padding: 24px;
  }
}

/* ==========================================================================
   SIP GROWTH QUICK MATRIX & INTERACTIVE HOMEPAGE SLIDER
   ========================================================================== */
.sip-calculator-spotlight {
  padding: 85px 0;
  background: var(--pmg-emerald-dark);
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

.sip-spotlight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.sip-spotlight-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 24px;
  padding: 32px;
  backdrop-filter: blur(12px);
}

.sip-spotlight-card h3 {
  color: #fff;
  font-size: 24px;
  margin: 0 0 8px;
}

.sip-spotlight-card p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
  margin: 0 0 24px;
}

.sip-slider-box {
  margin-bottom: 24px;
}

.sip-slider-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.sip-slider-header span {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}

.sip-slider-header strong {
  font-size: 20px;
  color: var(--pmg-gold);
}

.sip-output-matrix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.sip-output-cell {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  padding: 14px 10px;
  text-align: center;
}

.sip-output-cell span {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  display: block;
}

.sip-output-cell strong {
  font-size: 16px;
  color: var(--pmg-gold-light);
  display: block;
  margin-top: 4px;
}

@media (max-width: 820px) {
  .sip-spotlight-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .sip-spotlight-card {
    padding: 22px;
  }

  .sip-output-matrix {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   ANIMATED NUMBER COUNTERS & TRUST PROOF
   ========================================================================== */
.counter-number {
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 900;
  color: var(--pmg-gold-dark);
  line-height: 1;
}

/* ==========================================================================
   CONTACT FORM FEEDBACK, VALIDATION & MULTI-CHANNEL OPTIONS
   ========================================================================== */
.form-input-box {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.form-input-box label {
  font-size: 13px;
  font-weight: 700;
  color: var(--pmg-emerald);
}

.form-input-box input,
.form-input-box select,
.form-input-box textarea {
  width: 100%;
  padding: 13px 16px;
  border-radius: 12px;
  border: 1px solid #CADBD4;
  background: #ffffff;
  font-size: 15px;
  color: var(--pmg-emerald);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.form-input-box input:focus,
.form-input-box select:focus,
.form-input-box textarea:focus {
  border-color: var(--pmg-gold);
  box-shadow: 0 0 0 3px rgba(215, 170, 50, 0.2);
  outline: none;
}

.form-input-box input.is-invalid,
.form-input-box textarea.is-invalid {
  border-color: #D9534F;
  background: #FFF9F9;
}

.form-input-error {
  font-size: 11px;
  color: #D9534F;
  font-weight: 600;
  display: none;
}

.form-input-error.visible {
  display: block;
}

.contact-quick-actions {
  display: flex;
  gap: 12px;
  margin-top: 14px;
}

.btn-whatsapp-action {
  background: #25D366 !important;
  color: #ffffff !important;
  border: none;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 10px;
  padding: 13px 20px;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(37, 211, 102, 0.25);
  transition: transform 0.2s, filter 0.2s;
}

.btn-whatsapp-action:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.contact-status-toast {
  display: none;
  padding: 16px 20px;
  border-radius: 14px;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  animation: pmgFadeIn 0.3s ease;
}

.contact-status-toast.success {
  display: block;
  background: #EBF8F2;
  color: #0E5E3A;
  border: 1px solid #B8E4CE;
}

.contact-status-toast.error {
  display: block;
  background: #FDF2F2;
  color: #9B2C2C;
  border: 1px solid #F5C6C6;
}

.fallback-actions {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.fallback-actions a {
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
}

/* ==========================================================================
   PLANTMONEYGROW LUXURY DARK WEALTH THEME (Experience Designer Custom)
   Deep obsidian forest & warm champagne gold palette for Wealth Advisory
   ========================================================================== */

body.pmg-dark-theme {
  background-color: #06120E !important;
  color: #F1F7F4 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Dark Theme Topbar */
.pmg-dark-theme .topbar {
  background: #030B08 !important;
  color: #8CA69B !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pmg-dark-theme .topbar a {
  color: #CFE9DF !important;
}

/* Dark Theme Header */
.pmg-dark-theme .header {
  background: rgba(6, 18, 14, 0.88) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(215, 170, 50, 0.18) !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.35);
}

.pmg-dark-theme .header.scrolled {
  background: rgba(6, 18, 14, 0.96) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55);
}

.pmg-dark-theme .navlinks a {
  color: #E2ECE8 !important;
}

.pmg-dark-theme .navlinks a:hover,
.pmg-dark-theme .navlinks a.active {
  color: #D7AA32 !important;
}

.pmg-dark-theme .menu {
  color: #D7AA32 !important;
}

.pmg-dark-theme .menu-icon-bars span {
  background: #D7AA32 !important;
}

/* Dark Theme Buttons */
.pmg-dark-theme .btn {
  background: linear-gradient(135deg, #0C7D54 0%, #064E34 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(52, 211, 153, 0.25) !important;
  box-shadow: 0 8px 24px rgba(10, 115, 77, 0.35) !important;
}

.pmg-dark-theme .btn:hover {
  background: linear-gradient(135deg, #109464 0%, #086141 100%) !important;
  box-shadow: 0 12px 28px rgba(16, 185, 129, 0.45) !important;
  transform: translateY(-2px);
}

.pmg-dark-theme .btn-outline {
  background: rgba(11, 30, 25, 0.75) !important;
  color: #F1F7F4 !important;
  border: 1px solid rgba(215, 170, 50, 0.4) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
}

.pmg-dark-theme .btn-outline:hover {
  background: rgba(215, 170, 50, 0.15) !important;
  border-color: #D7AA32 !important;
  color: #D7AA32 !important;
}

.pmg-dark-theme .btn-login {
  background: rgba(215, 170, 50, 0.12) !important;
  color: #D7AA32 !important;
  border: 1px solid rgba(215, 170, 50, 0.3) !important;
}

.pmg-dark-theme .btn-login:hover {
  background: #D7AA32 !important;
  color: #06120E !important;
}

/* Dark Theme Typography & Eyebrows */
.pmg-dark-theme h1,
.pmg-dark-theme h2,
.pmg-dark-theme h3,
.pmg-dark-theme h4,
.pmg-dark-theme h5 {
  color: #F8FAFC !important;
}

.pmg-dark-theme p,
.pmg-dark-theme .lead {
  color: #9DB5AA !important;
}

.pmg-dark-theme .eyebrow {
  color: #D7AA32 !important;
  background: rgba(215, 170, 50, 0.1) !important;
  border: 1px solid rgba(215, 170, 50, 0.25) !important;
}

/* Dark Theme Section & Hero Backgrounds */
.pmg-dark-theme .hero,
.pmg-dark-theme .pmg-home-hero {
  background: radial-gradient(circle at 85% 15%, rgba(23, 74, 67, 0.45) 0%, transparent 55%),
              radial-gradient(circle at 10% 65%, rgba(215, 170, 50, 0.08) 0%, transparent 45%),
              #06120E !important;
}

.pmg-dark-theme .pagehero,
.pmg-dark-theme .contact-hero,
.pmg-dark-theme .calc-hero {
  background: linear-gradient(180deg, #0A1F18 0%, #06120E 100%) !important;
  border-bottom: 1px solid rgba(33, 99, 90, 0.2) !important;
}

.pmg-dark-theme .section {
  background-color: #06120E !important;
  border-color: rgba(33, 99, 90, 0.2) !important;
}

/* Dark Theme Cards & Glass Panels */
.pmg-dark-theme .advantage-card,
.pmg-dark-theme .card,
.pmg-dark-theme .panel,
.pmg-dark-theme .feature-card,
.pmg-dark-theme .calc-card,
.pmg-dark-theme .calc-box,
.pmg-dark-theme .contact-card,
.pmg-dark-theme .contact-details,
.pmg-dark-theme .contact-form-card,
.pmg-dark-theme .contact-form-wrap,
.pmg-dark-theme .step-card,
.pmg-dark-theme .faq-item,
.pmg-dark-theme .table-wrap,
.pmg-dark-theme .dashboard-card,
.pmg-dark-theme .stat-card,
.pmg-dark-theme .service-card,
.pmg-dark-theme .service-item,
.pmg-dark-theme .review-card,
.pmg-dark-theme .feature-item,
.pmg-dark-theme .article {
  background: rgba(11, 30, 25, 0.78) !important;
  border: 1px solid rgba(33, 99, 90, 0.32) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #F1F7F4 !important;
}

.pmg-dark-theme .advantage-card:hover,
.pmg-dark-theme .card:hover,
.pmg-dark-theme .service-card:hover,
.pmg-dark-theme .feature-item:hover {
  border-color: rgba(215, 170, 50, 0.45) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55), 0 0 25px rgba(215, 170, 50, 0.12) !important;
  transform: translateY(-3px);
}

.pmg-dark-theme .counter-number {
  background: linear-gradient(135deg, #F3CA65 0%, #D7AA32 50%, #34D399 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.pmg-dark-theme .proof span,
.pmg-dark-theme .trust {
  background: rgba(13, 39, 32, 0.8) !important;
  border: 1px solid rgba(33, 99, 90, 0.35) !important;
  color: #CFE9DF !important;
}

/* Dark Theme Form Controls */
.pmg-dark-theme input,
.pmg-dark-theme select,
.pmg-dark-theme textarea,
.pmg-dark-theme .form-input-box input,
.pmg-dark-theme .form-input-box select,
.pmg-dark-theme .form-input-box textarea {
  background: #091A14 !important;
  border: 1px solid rgba(33, 99, 90, 0.5) !important;
  color: #F1F7F4 !important;
}

.pmg-dark-theme input::placeholder,
.pmg-dark-theme textarea::placeholder {
  color: #6C857B !important;
}

.pmg-dark-theme input:focus,
.pmg-dark-theme select:focus,
.pmg-dark-theme textarea:focus,
.pmg-dark-theme .form-input-box input:focus,
.pmg-dark-theme .form-input-box select:focus,
.pmg-dark-theme .form-input-box textarea:focus {
  border-color: #D7AA32 !important;
  box-shadow: 0 0 0 3px rgba(215, 170, 50, 0.25) !important;
  background: #0B221B !important;
}

.pmg-dark-theme label {
  color: #CFE9DF !important;
}

/* Dark Theme Calculators */
.pmg-dark-theme .sip-calculator-spotlight,
.pmg-dark-theme .calc-interactive-container {
  background: radial-gradient(circle at 50% 30%, rgba(23, 74, 67, 0.3) 0%, transparent 60%), #06120E !important;
}

.pmg-dark-theme .calc-result-box,
.pmg-dark-theme .calc-summary,
.pmg-dark-theme .calc-stat-pill {
  background: rgba(9, 26, 20, 0.85) !important;
  border: 1px solid rgba(215, 170, 50, 0.28) !important;
}

.pmg-dark-theme .calc-slider-val {
  color: #34D399 !important;
}

.pmg-dark-theme input[type="range"] {
  accent-color: #D7AA32 !important;
}

/* Dark Theme Tables */
.pmg-dark-theme table {
  border-color: rgba(33, 99, 90, 0.3) !important;
}

.pmg-dark-theme th {
  background: #0A211A !important;
  color: #D7AA32 !important;
  border-color: rgba(33, 99, 90, 0.3) !important;
}

.pmg-dark-theme td {
  color: #CFE9DF !important;
  border-color: rgba(33, 99, 90, 0.2) !important;
}

.pmg-dark-theme tr:hover td {
  background: rgba(13, 39, 32, 0.5) !important;
}

/* Dark Theme Mobile Drawer */
.pmg-dark-theme .mobile-drawer {
  background: #081B15 !important;
  border-left: 1px solid rgba(215, 170, 50, 0.25) !important;
  box-shadow: -15px 0 45px rgba(0, 0, 0, 0.7) !important;
}

.pmg-dark-theme .drawer-head {
  border-bottom: 1px solid rgba(33, 99, 90, 0.3) !important;
}

.pmg-dark-theme .drawer-nav-list a {
  color: #E2ECE8 !important;
}

.pmg-dark-theme .drawer-nav-list a:hover,
.pmg-dark-theme .drawer-nav-list a.active {
  background: rgba(13, 39, 32, 0.9) !important;
  color: #D7AA32 !important;
}

.pmg-dark-theme .drawer-nav-list a .drawer-nav-icon {
  background: rgba(215, 170, 50, 0.12) !important;
  color: #D7AA32 !important;
}

.pmg-dark-theme .drawer-actions {
  border-top: 1px solid rgba(33, 99, 90, 0.3) !important;
}

.pmg-dark-theme .drawer-contact-strip a {
  background: rgba(13, 39, 32, 0.8) !important;
  border: 1px solid rgba(33, 99, 90, 0.3) !important;
  color: #F1F7F4 !important;
}

/* Dark Theme Mobile Bottom Dock */
.pmg-dark-theme .mobile-bottom-dock {
  background: rgba(6, 18, 14, 0.94) !important;
  border-top: 1px solid rgba(215, 170, 50, 0.22) !important;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.6) !important;
}

.pmg-dark-theme .dock-item {
  color: #8CA69B !important;
}

.pmg-dark-theme .dock-item:active {
  background: rgba(215, 170, 50, 0.1) !important;
}

.pmg-dark-theme .dock-item.active {
  color: #D7AA32 !important;
}

/* Dark Theme Footer */
.pmg-dark-theme .footer {
  background: #030B08 !important;
  border-top: 1px solid rgba(33, 99, 90, 0.25) !important;
  color: #8CA69B !important;
}

.pmg-dark-theme .footer a {
  color: #CFE9DF !important;
}

.pmg-dark-theme .footer a:hover {
  color: #D7AA32 !important;
}

/* ==========================================================================
   SOURCE CODE PROTECTION & ANTI-COPYING SECURITY CSS
   ========================================================================== */

/* Prevent casual text selection & drag-and-drop ripping on sensitive assets */
.pmg-brand,
.pmg-logo-mark,
.hero-visual-card,
.hero-visual-img,
.drawer-badge,
.dock-item,
.eyebrow,
.advantage-card,
.feature-card,
.proof,
.counter-number {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  pointer-events: auto;
}

/* Maintain proper selectable inputs for users */
input,
textarea,
select {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

/* ==========================================================================
   NORMAL THEME CONSISTENCY — PUBLIC PAGES
   Home, Services, Calculators, Contact/Free Consultation and Dashboard use
   the same clean PlantMoneyGrow light visual system as Why Us.
   ========================================================================== */

.consultation-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.consultation-hero-actions .consultation-primary {
  background: linear-gradient(135deg, #087a4b, #0b9a5f) !important;
  color: #fff !important;
  border: 1px solid #087a4b !important;
  box-shadow: 0 10px 24px rgba(8, 122, 75, .18);
}

.consultation-hero-actions .consultation-primary:hover {
  background: linear-gradient(135deg, #06683f, #087a4b) !important;
  box-shadow: 0 13px 28px rgba(8, 122, 75, .24);
}

.consultation-hero-actions .consultation-secondary {
  background: #fff !important;
  color: #087a4b !important;
  border: 1px solid rgba(8, 122, 75, .30) !important;
  box-shadow: 0 7px 18px rgba(8, 122, 75, .10) !important;
}

.consultation-hero-actions .consultation-secondary:hover {
  background: #f2faf6 !important;
  border-color: #087a4b !important;
  color: #087a4b !important;
}

.contact-hero {
  background: radial-gradient(circle at 82% 18%, rgba(184, 137, 49, .14), transparent 32%),
              linear-gradient(145deg, #fbf8f1, #fff) !important;
}

.contact-main-section {
  background: #fff;
}

.contact-main-section .contact-info-card,
.contact-form-panel {
  background: #fff;
}

.services-hero {
  background: radial-gradient(circle at 80% 18%, rgba(184, 137, 49, .14), transparent 32%),
              linear-gradient(145deg, #fbf8f1, #fff) !important;
}

@media (max-width: 640px) {
  .consultation-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .consultation-hero-actions .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}
