/* Seção Planos — composição baseada no mockup aprovado. */
#planos.plans.section {
  overflow: visible;
  padding: clamp(50px, 3.3vw, 58px) 0 clamp(68px, 6vw, 96px);
  background:
    radial-gradient(ellipse at 51% 65%, rgba(125, 240, 191, .36), transparent 48%),
    radial-gradient(ellipse at 99% 41%, rgba(197, 250, 222, .72), transparent 40%),
    radial-gradient(ellipse at 2% 47%, rgba(199, 251, 229, .55), transparent 36%),
    linear-gradient(120deg, #f2fff8, #e8fbf1 52%, #e2faef);
}
#planos .plans-wrap { position: relative; z-index: 1; width: min(calc(100% - 48px), 1320px); max-width: 1320px; }
#planos .plans-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .8fr);
  align-items: end;
  gap: clamp(24px, 6vw, 100px);
  max-width: none;
  padding-inline: 60px;
}
#planos .plans-heading .kicker { margin: 0 0 17px; color: #079864; letter-spacing: .22em; }
#planos .plans-heading .section-title {
  max-width: none;
  margin: 0;
  color: #071f24;
  font-size: clamp(36px, 3.8vw, 60px);
  line-height: .99;
  letter-spacing: -.063em;
  text-wrap: balance;
}
#planos .plans-dot { color: #071f24; }
#planos .plans-heading .section-desc {
  max-width: 41ch;
  margin: 0 0 8px;
  color: #4d6271;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.62;
}
#planos .plan-assistant {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 303px);
  align-items: center;
  gap: 0 24px;
  margin: 28px 60px 20px;
  padding: 20px 24px;
  border: 1px solid rgba(255,255,255,.96);
  border-radius: 22px;
  background: linear-gradient(120deg, rgba(255,255,255,.93), rgba(255,255,255,.82) 77%, rgba(231,255,243,.93));
  box-shadow: 0 17px 36px rgba(28, 138, 95, .11), inset 0 1px #fff;
  backdrop-filter: blur(16px);
}
#planos .plan-assistant__prompt {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr);
  column-gap: 25px;
  align-items: center;
}
#planos .plan-assistant__icon {
  grid-row: 1 / 4;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 21px;
  color: #083c32;
  background: #dcfbea;
}
#planos .plan-assistant__icon .i { width: 29px; height: 29px; }
#planos .assistant-eyebrow { margin-bottom: 3px; color: #069b64; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
#planos .plan-assistant__label { color: #10202b; font-size: clamp(17px,1.35vw,21px); letter-spacing: -.025em; line-height: 1.25; }
#planos .plan-assistant__helper { margin-top: 5px; color: #617685; font-size: 13px; line-height: 1.4; }
#planos .plan-assistant__combobox {
  min-height: 55px;
  border-color: #b9dacf;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  color: #102c32;
}
#planos .plan-assistant > p { grid-column: 1 / -1; margin: 10px 0 0 97px; color: #507468; font-size: 12px; }
#planos .plan-assistant > p[hidden] { display: none; }
#planos .plan-grid { gap: 16px; align-items: stretch; margin-top: 0; }
#planos .plan-card,
#planos .plan-card.plan-card-featured {
  min-height: 520px;
  padding: 24px 22px 21px;
  border: 1px solid rgba(146, 224, 190, .43);
  border-radius: 23px;
  background: linear-gradient(158deg, rgba(255,255,255,.98), rgba(250,255,251,.95) 72%, rgba(229,253,240,.97));
  box-shadow: 0 16px 33px rgba(6, 89, 62, .08);
  backdrop-filter: none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
#planos .plan-card:hover { transform: translateY(-5px); box-shadow: 0 22px 39px rgba(6, 89, 62, .16); }
#planos .plan-card:not(.plan-card-featured)::before { display: none; }
#planos .plan-card.plan-card-featured {
  overflow: hidden;
  transform: translateY(-10px);
  border-color: #00ab73;
  color: #f7fff9;
  background:
    radial-gradient(circle at 85% 84%, rgba(20, 181, 103, .26), transparent 40%),
    radial-gradient(circle at 20% -10%, rgba(18, 197, 128, .29), transparent 47%),
    linear-gradient(158deg, #00694d, #003d38 66%, #00644c);
  box-shadow: 0 20px 36px rgba(0, 95, 69, .22), inset 0 0 0 1px rgba(113,235,178,.13);
}
#planos .plan-card.plan-card-featured:hover { transform: translateY(-14px); box-shadow: 0 24px 44px rgba(0, 88, 66, .32); }
#planos .plan-card::before { pointer-events: none; }
#planos .plan-card .plan-card-top { height: auto; flex: 0 0 auto; padding: 0; }
#planos .plan-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 98px;
  height: 98px;
  margin-bottom: 4px;
  border-radius: 50%;
  background: radial-gradient(circle, #e0ffeb 0 54%, rgba(222,255,234,.48) 55% 72%, transparent 73%);
}
#planos .plan-card-featured .plan-art { background: radial-gradient(circle, rgba(6,108,73,.8) 0 54%, rgba(66,232,143,.13) 55% 73%, transparent 74%); }
#planos .plan-glyph { display: block; font-size: 58px; line-height: 1; filter: drop-shadow(0 8px 7px rgba(0,65,37,.15)); }
#planos .plan-forest-icon { display: block; width: 70px; height: 70px; object-fit: contain; filter: drop-shadow(0 7px 6px rgba(0,65,37,.16)); }
#planos .plan-card .plan-card-top h3 {
  margin: 0 0 2px;
  color: #0a1827;
  font-size: clamp(26px,1.85vw,31px);
  line-height: 1.05;
  letter-spacing: -.055em;
}
#planos .plan-card-featured .plan-card-top h3 { color: #fff; }
#planos .plan-card .plan-tagline { color: #506377; font-size: 16px; line-height: 1.3; }
#planos .plan-card .plan-original-copy { margin-top: 6px; color: #687b81; font-size: 12px; line-height: 1.35; }
#planos .plan-card .plan-capacity { min-height: 0; margin-top: 8px; color: #0a8061; font-size: 11px; font-weight: 750; }
#planos .plan-card-featured .plan-card-top .plan-tagline { color: #e5fff0; }
#planos .plan-card-featured .plan-card-top .plan-original-copy,
#planos .plan-card-featured .plan-capacity { color: #b3e7d6; }
#planos .plan-card .plan-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: auto 0 12px;
  color: #071a20;
  font-size: clamp(42px,3.35vw,54px);
  font-weight: 880;
  line-height: 1;
  letter-spacing: -.075em;
}
#planos .plan-card .plan-price span { font-size: 21px; font-weight: 780; }
#planos .plan-card .plan-price small { color: #425c71; font-size: 17px; font-weight: 450; }
#planos .plan-card-featured .plan-price,
#planos .plan-card-featured .plan-price small { color: #fff; }
#planos .plan-card ul {
  display: grid;
  flex: 0 0 auto;
  gap: 8px;
  min-height: 116px;
  margin: 0 0 16px;
  padding: 16px 0 0;
  border-color: rgba(65, 112, 100, .16);
  color: #465c6b;
  font-size: 14px;
  line-height: 1.28;
}
#planos .plan-card li { display: flex; align-items: center; gap: 12px; padding: 0; }
#planos .plan-card li::before {
  position: static;
  display: grid;
  flex: 0 0 24px;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #fff;
  background: #58c979;
  font-size: 15px;
  line-height: 1;
}
#planos .plan-card-featured ul { border-color: rgba(214,255,231,.28); color: #fff; }
#planos .plan-card-featured li::before { color: #075235; background: #b5f3a9; }
#planos .plan-card > .plan-cta {
  display: flex;
  min-height: 47px;
  margin-top: auto;
  padding-inline: 12px;
  border: 0;
  border-radius: 14px;
  color: #08271c;
  background: linear-gradient(105deg, #aaf3b8, #c9fa88);
  box-shadow: 0 9px 18px rgba(32,184,103,.14);
  font-size: 14px;
  font-weight: 810;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
#planos .plan-card > .plan-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 21px rgba(16,149,90,.25); filter: brightness(1.04); }
#planos .plan-card > .plan-cta:focus-visible { outline: 3px solid #00875f; outline-offset: 3px; }
#planos .plan-card.plan-card-unavailable { filter: saturate(.58); }
#planos .plan-card.plan-card-unavailable::after {
  position: absolute;
  z-index: 3;
  inset: 0;
  border-radius: inherit;
  background: rgba(237, 255, 245, .4);
  content: "";
  pointer-events: none;
}
#planos .plan-card .plan-unavailable-note { margin: 7px 0 0; color: #60796f; font-size: 11px; font-weight: 600; line-height: 1.4; }
#planos .plan-card .plan-unavailable-note[hidden] { display: none; }
#planos .plan-card.plan-card-unavailable .plan-unavailable-note {
  position: relative;
  z-index: 4;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  margin-top: 9px;
  padding: 7px 10px;
  border: 1px solid rgba(13, 150, 102, .2);
  border-left: 3px solid #18a876;
  border-radius: 10px;
  color: #315e4d;
  background: rgba(228, 248, 237, .96);
  font-weight: 680;
}
#planos .plan-card.plan-card-unavailable > .plan-cta,
#planos .plan-card.plan-card-unavailable > .plan-cta:hover { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; filter: saturate(.45); }
#planos a[data-plan="Semente"][aria-disabled="true"] { opacity: .48; cursor: not-allowed; filter: saturate(.45); }
#planos .plan-card-featured > .plan-cta { background: linear-gradient(105deg, #bbfb69, #d7ff72); }
#planos .plan-badge {
  inset: 13px 14px auto auto;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  color: #062b20;
  background: linear-gradient(100deg, #cfff75, #e2ff93);
  font-size: 12px;
  box-shadow: 0 6px 16px rgba(2,41,26,.2);
}
#planos .plan-badge span { font-size: 16px; line-height: .8; }
#planos .plan-card .capacity-feedback { min-height: 0; margin: 7px 0 0; font-size: 11px; }
#planos .plan-card.capacity-match { outline-color: #08aa75; }
#planos .plan-comparison {
  margin: 17px 18px 0;
  border: 1px solid rgba(114,204,166,.44);
  border-radius: 17px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 24px rgba(18,99,70,.07);
}
#planos .plan-comparison-trigger {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 10px 17px;
  border: 0;
  border-radius: inherit;
  color: #102d34;
  background: transparent;
  text-align: left;
  font-size: 15px;
  transition: background-color .2s ease;
}
#planos .plan-comparison-trigger:hover { background: rgba(222,255,236,.7); }
#planos .plan-comparison-trigger:focus-visible,
#planos .plan-comparison-close:focus-visible { outline: 3px solid #0b9a6a; outline-offset: 2px; }
#planos .plan-comparison-trigger__icon,
#planos .plan-comparison-head__icon {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #0c9c65;
  background: #dff9e9;
}
#planos .plan-comparison-trigger__icon .i,
#planos .plan-comparison-head__icon .i { width: 22px; height: 22px; }
#planos .plan-comparison-trigger__plus { margin-left: auto; font-size: 26px; font-weight: 350; line-height: 1; }
#planos .plan-comparison-dialog {
  width: min(1430px, calc(100vw - 40px));
  max-width: none;
  max-height: min(92dvh, 920px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 21px;
  color: #13303b;
  background: linear-gradient(145deg, #fff, #f3fff9);
  box-shadow: 0 32px 100px rgba(0,55,43,.25);
}
#planos .plan-comparison-dialog::backdrop { background: rgba(4,69,55,.42); backdrop-filter: blur(9px); }
#planos .plan-comparison-shell { display: flex; flex-direction: column; max-height: min(92dvh, 920px); padding: 22px 20px 13px; }
#planos .plan-comparison-head { display: flex; align-items: center; gap: 15px; min-height: 74px; padding: 0 8px 14px; }
#planos .plan-comparison-head__icon { flex-basis: 52px; width: 52px; height: 52px; border-radius: 15px; }
#planos .plan-comparison-head h3 { margin: 0 0 3px; color: #12343c; font-size: 22px; letter-spacing: -.045em; }
#planos .plan-comparison-head p { margin: 0; color: #68818e; font-size: 14px; }
#planos .plan-comparison-close { display: grid; place-items: center; width: 40px; height: 40px; margin-left: auto; border: 0; border-radius: 50%; color: #143a3c; background: #e6f6ef; font-size: 27px; line-height: 1; }
#planos .plan-comparison-close:hover { background: #d3f2e3; }
#planos .plan-comparison-dialog .plan-table-scroll { min-height: 0; overflow: auto; padding: 17px 0 0; border-radius: 17px; background: #fff; }
#planos .plan-comparison-dialog .table-scroll-hint { margin: 0 0 5px; font-size: 11px; }
#planos .plan-comparison-dialog .plan-table { width: 100%; min-width: 1050px; border-spacing: 0; table-layout: fixed; background: rgba(255,255,255,.9); }
#planos .plan-comparison-dialog .plan-table tr > :first-child { width: 28%; padding-left: 22px; text-align: left; }
#planos .plan-comparison-dialog .plan-table tr > :not(:first-child) { width: 18%; padding-inline: 8px; text-align: center; }
#planos .plan-comparison-dialog .plan-table th,
#planos .plan-comparison-dialog .plan-table td { border-right: 1px solid #ebf2ee; border-bottom: 0; background: #fff; font-size: 14px; }
#planos .plan-comparison-dialog .plan-table tr > :last-child { border-right: 0; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child th { position: relative; padding-top: 34px; padding-bottom: 1px; color: #16313a; background: #fff; font-size: 19px; letter-spacing: -.035em; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child th::before { position: absolute; top: 5px; left: 50%; transform: translateX(-50%); font-size: 31px; line-height: 1; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child th:nth-of-type(1)::before { content: '🌱'; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child th:nth-of-type(2)::before { content: '🌿'; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child th:nth-of-type(3)::before { content: '🌳'; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child th:nth-of-type(4)::before { content: ''; width: 39px; height: 39px; background: url('img/plan-forest.svg') center / contain no-repeat; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child .plan-pick::after {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  padding: 5px 13px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(100deg,#006a4e,#15aa72);
  content: '♛  Mais escolhido';
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0;
}
#planos .plan-comparison-dialog .plan-table .plan-price-row th { color: transparent; font-size: 0; }
#planos .plan-comparison-dialog .plan-table .plan-price-row td { position: relative; padding-top: 5px; padding-bottom: 17px; color: #102e38; font-size: 26px; font-weight: 850; letter-spacing: -.045em; }
#planos .plan-comparison-dialog .plan-table .plan-price-row td::after { display: none; }
#planos .plan-comparison-dialog .plan-price-caption { display: block; margin-top: 1px; color: #66818e; font-size: 12px; font-weight: 450; letter-spacing: 0; }
#planos .plan-comparison-dialog .plan-comparison-unavailable-note { display: block; width: fit-content; max-width: 205px; margin: 7px auto 0; padding: 5px 9px; border: 1px solid #cce8d9; border-radius: 9px; color: #286b55; background: #edf8f2; font-size: 10px; font-weight: 650; line-height: 1.35; letter-spacing: 0; }
#planos .plan-comparison-dialog .plan-comparison-unavailable-note[hidden] { display: none; }
#planos .plan-comparison-dialog .plan-price-row td.plan-seed-unavailable { background: #f4faf6; }
#planos .plan-comparison-dialog .plan-table tbody tr > * { height: 39px; padding-block: 5px; }
#planos .plan-comparison-dialog .plan-table tbody tr:nth-child(odd) > * { background: #f2f8f5; }
#planos .plan-comparison-dialog .plan-table tbody th { color: #17323c; font-weight: 680; }
#planos .plan-comparison-dialog .plan-table tbody th .i { display: inline-block; width: 20px; height: 20px; margin-right: 14px; vertical-align: middle; color: #0e9e65; }
#planos .plan-comparison-dialog .plan-table tbody th span { vertical-align: middle; }
#planos .plan-comparison-dialog .plan-table tbody td { color: #1e404c; }
#planos .plan-comparison-dialog .plan-table tbody td.plan-available::before,
#planos .plan-comparison-dialog .plan-table tbody td.plan-unavailable::before { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 10px; border-radius: 50%; color: #fff; font-size: 13px; font-weight: 800; line-height: 1; vertical-align: middle; }
#planos .plan-comparison-dialog .plan-table tbody td.plan-available::before { content: '✓'; background: #40bd73; }
#planos .plan-comparison-dialog .plan-table tbody td.plan-unavailable::before { content: '×'; background: #aeb9bd; }
#planos .plan-comparison-dialog .plan-table .plan-pick { border-left: 1px solid #50ca8d; border-right: 1px solid #50ca8d; background: #e9fbf1; }
#planos .plan-comparison-dialog .plan-table tbody tr:nth-child(odd) .plan-pick { background: #dff6e9; }
#planos .plan-comparison-dialog .plan-table thead tr:first-child .plan-pick { border-top: 1px solid #50ca8d; border-radius: 15px 15px 0 0; }
#planos .plan-comparison-dialog .plan-table tfoot .plan-pick { border-bottom: 1px solid #50ca8d; border-radius: 0 0 15px 15px; }
#planos .plan-comparison-dialog .plan-table tfoot td { padding-block: 11px; background: #fff; }
#planos .plan-comparison-dialog .plan-table tfoot .plan-pick { background: #e9fbf1; }
#planos .plan-comparison-dialog .plan-table tfoot .button { width: 100%; min-height: 45px; border: 1px solid #a7dfc2; border-radius: 12px; color: #163b3c; background: #effbf5; font-size: 13px; font-weight: 760; box-shadow: none; }
#planos .plan-comparison-dialog .plan-table tfoot .plan-pick .button { border: 0; color: #fff; background: linear-gradient(100deg,#079c69,#27bd77); }
#planos .plan-comparison-dialog .plan-table tfoot .button:hover { transform: translateY(-2px); filter: brightness(1.03); }
#planos .plan-comparison-dialog .plan-table tfoot .button.plan-cta-unavailable,
#planos .plan-comparison-dialog .plan-table tfoot .button.plan-cta-unavailable:hover { border: 1px solid #d5e5dc; color: #748980; background: #f0f6f2; box-shadow: none; opacity: .76; cursor: not-allowed; pointer-events: none; transform: none; filter: none; }
#planos .plan-comparison-footnote { margin: 14px 0 0; color: #8496a0; text-align: center; font-size: 12px; line-height: 1.4; }
#planos .plan-comparison-dialog .plan-table-scroll:focus-visible { outline: 2px solid #06976a; outline-offset: -2px; }
#planos .plan-comparison-dialog .plan-table tr > :first-child { border-radius: 0; }
#planos .plan-comparison-dialog .plan-table tr > :last-child { border-radius: 0; }
@media (max-width: 760px) {
  #planos .plan-comparison-dialog { width: calc(100vw - 20px); max-height: 92dvh; border-radius: 16px; }
  #planos .plan-comparison-shell { max-height: 92dvh; padding: 14px 10px 12px; }
  #planos .plan-comparison-head { gap: 10px; padding: 0 5px 12px; }
  #planos .plan-comparison-head__icon { flex-basis: 42px; width: 42px; height: 42px; }
  #planos .plan-comparison-head h3 { font-size: 18px; }
  #planos .plan-comparison-head p { font-size: 12px; }
  #planos .plan-comparison-close { flex: 0 0 34px; width: 34px; height: 34px; font-size: 22px; }
  #planos .plan-comparison-dialog .plan-table-scroll { padding-top: 15px; }
  #planos .plan-comparison-dialog .plan-table { min-width: 930px; }
  #planos .plan-comparison-dialog .plan-table tr > :first-child { width: 20.4%; padding-left: 12px; }
  #planos .plan-comparison-dialog .plan-table tr > :not(:first-child) { width: 19.9%; }
  #planos .plan-comparison-dialog .plan-table th,
  #planos .plan-comparison-dialog .plan-table td { font-size: 12px; }
  #planos .plan-comparison-footnote { font-size: 10px; }
}
#planos .plans-note { margin: 9px 0 0; color: #6b8190; font-size: 12px; text-align: center; }
@media (max-width: 1100px) {
  #planos .plans-heading { padding-inline: 0; }
  #planos .plan-assistant { margin-inline: 0; }
  #planos .plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  #planos .plan-card, #planos .plan-card.plan-card-featured { min-height: 480px; }
}
@media (max-width: 700px) {
  #planos.plans.section { padding-block: 72px; }
  #planos .plans-wrap { width: calc(100% - 36px); }
  #planos .plans-heading { grid-template-columns: 1fr; gap: 15px; }
  #planos .plans-heading .section-title { font-size: clamp(38px, 9vw, 53px); }
  #planos .plans-heading .section-desc { max-width: 50ch; }
  #planos .plan-assistant { grid-template-columns: 1fr; gap: 14px; margin-top: 24px; padding: 17px; }
  #planos .plan-assistant__prompt { grid-template-columns: 54px minmax(0,1fr); gap: 0 12px; }
  #planos .plan-assistant__icon { width: 54px; height: 54px; border-radius: 16px; }
  #planos .plan-assistant__icon .i { width: 24px; height: 24px; }
  #planos .plan-assistant__helper { font-size: 11px; }
  #planos .plan-assistant > p { margin: 0; }
  #planos .plan-grid { grid-template-columns: 1fr; gap: 15px; }
  #planos .plan-card, #planos .plan-card.plan-card-featured { min-height: 0; padding: 21px; }
  #planos .plan-card.plan-card-featured { transform: none; }
  #planos .plan-card.plan-card-featured:hover { transform: translateY(-5px); }
  #planos .plan-card .plan-price { margin-top: 24px; }
  #planos .plan-card ul { min-height: 0; }
  #planos .plan-comparison { margin-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
  #planos .plan-card, #planos .plan-card > .plan-cta { transition: none; }
}
