/* Contadora do MEI · identidade visual alinhada ao Empresas24h. */
:root {
  color-scheme: dark;
  --navy-950: #0b0c0b;
  --navy-900: #f4efe4;
  --navy-800: #dbd5c9;
  --blue-700: #e1bd7d;
  --teal-700: #dab875;
  --teal-800: #f0d39d;
  --teal-100: #25231d;
  --gold-600: #ba985e;
  --gold-500: #dab875;
  --gold-100: #262219;
  --warm-50: #101110;
  --ink: #e5e2db;
  --muted: #b9b8af;
  --line: #34352d;
  --line-strong: #606054;
  --surface: #191b18;
  --success: #b5d7bd;
  --danger: #ffb8b0;
  --focus: #ffe0a1;
  --shadow-sm: 0 8px 24px #0002;
  --shadow-md: 0 18px 40px #0003;
  --shadow-lg: 0 28px 70px #0005;
  --radius-sm: .25rem;
  --radius-md: .35rem;
  --radius-lg: .5rem;
  --radius-pill: .25rem;
  --container: 80rem;
  --header-height: 6rem;
  --font-sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
}
body {background: #101110; line-height: 1.7;}
.container {width: min(calc(100% - 5rem), var(--container));}
h1,h2 {font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.035em; line-height: 1.12;}
h1 {font-size: clamp(3rem, 4.55vw, 4.65rem);}
h2 {font-size: clamp(2.1rem, 3.6vw, 3.25rem);}
h3 {line-height: 1.35; font-weight: 600; letter-spacing: -.025em;}
.gold-text, .price strong {color: #e5c58b; text-shadow: 0 1px 0 #fff3, 0 2px 0 #6a4f29, 0 5px 14px #0008;}
.eyebrow {color: #d9b675; font-size: .7rem; font-weight: 600; letter-spacing: .18em;}
.eyebrow::before {height: 1px; width: 2rem;}
a:hover {color: #ffe1a4;}
::selection {background: #dab875; color: #101110;}
.site-header {background: #101110f5; border-bottom: 1px solid #dab87532; backdrop-filter: blur(16px);}
.header-inner {gap: 2rem;}
.brand {gap: .9rem; color: #f4efe4;}
.brand-icon {width: 3.1rem; height: 3.1rem; display: grid; place-items: center; flex-shrink: 0; border: 1px solid #bd9b60; color: #e7c891; font: 1.7rem Georgia,serif; background: linear-gradient(135deg,#2a2820,#11120f); box-shadow: inset 0 1px 0 #f4dc9c40,0 3px 0 #000;}
.brand-type {display: flex; flex-direction: column; line-height: 1.06;}
.brand-type strong {font: 1.75rem Georgia,serif; color: #e7c891; text-shadow: 0 1px 0 #ffffff40,0 2px 0 #72522c,0 3px 5px #000; letter-spacing: -.02em;}
.brand-type small {font-size: .69rem; text-transform: uppercase; letter-spacing: .29em; color: #d6d0c1; margin-top: .38rem;}
.site-nav {gap: 1.35rem;}
.site-nav a:not(.button) {color: #d0d0c4; font-size: .8rem; font-weight: 500;}
.site-nav a:not(.button):hover {color: #f3d49b;}
.button, .button--gold {color: #171710; background: linear-gradient(115deg,#ead3a4,#d2ad68); border: 1px solid #e4c891; border-radius: .25rem; font-weight: 650; box-shadow: inset 0 1px 0 #fff6,0 5px 18px #0003; font-size: .91rem; min-height: 3.2rem; padding: .85rem 1.15rem;}
.button:hover,.button--gold:hover {color: #0b0c0b; background: #efd8ac; box-shadow: 0 7px 22px #0005; transform: translateY(-1px);}
.button--secondary,.button--ghost-light {color: #e9dfce; background: transparent; border-color: #767161; box-shadow: none;}
.button--secondary:hover,.button--ghost-light:hover {color: #fff1d6; background: #29291f; border-color: #e2bf7e;}
.button--small {font-size: .8rem; min-height: 2.8rem; padding: .65rem .95rem;}
.hero {padding-block: 4.9rem 4.6rem; background: radial-gradient(ellipse at 90% 30%,#65513522,transparent 60%),#101110;}
.hero::after {display: none;}
.hero-grid {gap: clamp(2.5rem,4vw,4.3rem); grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center;}
.hero h1 {max-width: 40rem; margin-bottom: 1.6rem;}
.hero .lead {font-size: 1.06rem; line-height: 1.85; max-width: 37rem; margin-bottom: 1.8rem;}
.hero .lead strong {color: #eee7d9; font-weight: 600;}
.hero-actions {gap: .75rem;}
.hero-microcopy {font-size: .78rem; max-width: 36rem; line-height: 1.6; margin-top: 1.3rem;}
.hero-visual {padding: .6rem; border: 1px solid #d8b57145; background: #202119; box-shadow: 0 20px 70px #0005;}
.hero-visual::before {content: ''; width: 4rem; height: 4rem; position: absolute; z-index: 1; top: -.4rem; left: -.4rem; border-top: 2px solid #d9b675; border-left: 2px solid #d9b675; pointer-events: none;}
.hero-visual img {aspect-ratio: 1.03; width: 100%; height: auto; object-fit: cover; object-position: 48% 45%; filter: none;}
.hero-badge {position: relative; inset: auto; margin: 0; padding: 1.2rem 1.1rem .4rem; max-width: none; border: 0; border-radius: 0; background: transparent; color: #c4c2b8; box-shadow: none; font-size: .82rem; font-weight: 400;}
.hero-badge strong {font-family: Georgia,serif; font-size: 1.35rem; font-weight: 400; color: #ebd2a7;}
.photo-caption {display: block; color: #b8b5aa; font-size: .67rem; line-height: 1.5; margin: .3rem 1.1rem .6rem;}
.trust-strip {background: #181a17; border-block: 1px solid #dab87526;}
.trust-item {min-height: 7.3rem; padding: 1.6rem; gap: .9rem;}
.trust-icon,.icon-box {border: 1px solid #dab87535; border-radius: .2rem; background: #24261e;}
.trust-item .trust-icon {color: #dab875;}
.trust-item strong {color: #e8deca; font-size: .94rem; font-weight: 600;}
.section {padding-block: 6.4rem; border-bottom: 1px solid #ffffff06;}
.section--white {background: #101110;}
.section--soft {background: #171916;}
.section--dark {background: #20231c; color: #e1dfd3;}
.section--dark .eyebrow {color: #e7c791;}
.section-heading--center {max-width: 47rem; margin-bottom: 3rem;}
.section-heading--center p {margin-inline: auto;}
.section-heading p,.lead {font-size: 1.05rem; line-height: 1.85;}
.card {background: #191b18; padding: 1.8rem; border-color: #c6a16640; box-shadow: none; border-radius: .35rem; overflow: hidden;}
.card:hover {border-color: #b49662; box-shadow: 0 15px 35px #0004;}
.product-photo {display: block; margin: -1.8rem -1.8rem 1.6rem; width: calc(100% + 3.6rem); max-width: none; aspect-ratio: 1.6; height: auto; object-fit: cover;}
.card-icon {width: 2.8rem; height: 2.8rem; border-radius: .2rem; border: 1px solid #dab87535; color: #dab875; margin-bottom: 1rem; background: transparent;}
.card h3 {font-size: 1.4rem; min-height: 3.8rem;}
.card p {font-size: .95rem;}
.card .price {flex-wrap: wrap; margin-block: .6rem 1.2rem; gap: .5rem;}
.price strong {font-family: Georgia,serif; font-weight: 400; font-size: 2.8rem; letter-spacing: -.035em;}
.card:last-child .price strong {font-size: 2rem;}
.price span {font-weight: 400;}
.card-note {border-left: 2px solid #ae8c52; border-radius: 0; background: #22241f; font-size: .85rem !important;}
.contact-feature p {color: #c4c7bb; font-size: 1.02rem;}
.contact-panel {background: #151712; border: 1px solid #c8a26666; box-shadow: 10px 10px 0 #0002; padding: 2rem;}
.contact-panel li {padding-bottom: 1rem; border-bottom: 1px solid #ffffff12;}
.contact-panel li:last-child {border: 0; padding-bottom: 0;}
.contact-panel li::before {border-radius: .2rem; background: transparent; color: #e2c185; border: 1px solid #ad905d; font-weight: 400;}
.contact-panel strong {font-weight: 600; color: #efe5d5;}
.contact-panel span {color: #b9bdb0;}
.offer-summary,.offer-summary--light {background: linear-gradient(150deg,#29291f,#151712); border: 1px solid #bd9b605c; box-shadow: 0 14px 40px #0003;}
.offer-summary h2,.offer-summary--light h2 {color: #eee3ce; font-size: 2.7rem;}
.offer-summary .price strong,.offer-summary--light .price strong {color: #e3c085; font-size: 3.7rem;}
.offer-summary p,.offer-summary--light p {color: #c5c6b9;}
.offer-tag {color: #e6c78f; background: #393123; border: 1px solid #897147; font-size: .65rem; font-weight: 500; padding: .45rem .7rem;}
.feature-list li::before,.check-list li::before,.eligibility-card h3::before {color: #101110; background: #cdb27f;}
.info-box,.warning-box,.success-box {color: #dcd3c0; background: #24251e; border: 1px solid #756243; border-radius: .25rem;}
.info-box strong,.warning-box strong,.success-box strong {color: #e3c993;}
.eligibility-card,.step,.form-card,.benefit,.faq-item {background: #1d201b; border-color: #9b8c6438; box-shadow: none;}
.eligibility-card {padding: 2rem;}
.step {padding: 1.6rem 1.2rem;}
.step::before {color: #dfbc7e; background: transparent; border: 1px solid #8f764b; border-radius: .2rem; font-family: Georgia,serif; font-weight: 400; font-size: 1.15rem;}
.precheck-photo {margin: 2rem 0 0;}
.precheck-photo img {width: 100%; height: auto; aspect-ratio: 1.25; object-fit: cover; border: 1px solid #bd9b6055; padding: .35rem;}
.precheck-photo .photo-caption {margin: .5rem 0 0;}
.field input,.field select,.field textarea {color: #f1eee5; background: #12150f; border-color: #686b5b; border-radius: .25rem;}
.field input::placeholder {color: #a5a897;}
.field input:focus,.field select:focus,.field textarea:focus {border-color: #e9c986; box-shadow: 0 0 0 3px #e9c98626;}
.field label {font-weight: 500;}
.privacy-note {border-radius: .25rem; background: #151811;}
.form-card .button {margin-top: 1.2rem;}
.monica-visual {min-height: 34rem; background: repeating-linear-gradient(90deg,transparent,transparent 38px,#cbb57e08 39px,#cbb57e08 40px),linear-gradient(145deg,#2e3026,#151710); border: 1px solid #bb9c6355; border-radius: .35rem; box-shadow: none;}
.monica-visual::after {border: 1px solid #dfc58e22; width: 24rem; height: 24rem; right: -6rem; bottom: -7rem;}
.monica-monogram {width: 12rem; height: 12rem; color: #e5c98f; border: 1px solid #c3a974; border-radius: .3rem; background: #151712; font: 5rem Georgia,serif; text-shadow: 0 1px 0 #fff6,0 3px 0 #765e33,0 6px 15px #000; box-shadow: 8px 8px 0 #0002, inset 0 0 0 7px #1b1d16;}
.monica-visual-label {background: transparent; border: 0; color: #b6b9aa; backdrop-filter: none;}
.monica-visual-label strong {font: 1.65rem Georgia,serif; color: #e0c794; margin-bottom: .4rem;}
.credential {background: #25291e; border-color: #7e7149; color: #e3d3b2; font-weight: 500;}
.office-card {background: #1c1f18; border-color: #b8a26a33;}
.benefit-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
.benefit {padding: 1.6rem;}
.benefit h3 {font-size: 1.12rem;}
.benefit p {font-size: .94rem;}
.transparency-card {background: #24251e; border-color: #826f48;}
.transparency-icon {background: #e1c18a; color: #15170e; border-radius: .3rem;}
.faq-item h3 {margin: 0;}
.faq-list {gap: 0; border-top: 1px solid #65573a;}
.faq-item {background: transparent; border: 0; border-bottom: 1px solid #9b8c6438; border-radius: 0;}
.faq-question {font-size: 1.02rem; font-weight: 500; padding: 1.25rem .2rem; min-height: 4.8rem;}
.faq-question::after {color: #d8b77a; background: transparent; font-size: 1.5rem;}
.faq-question:hover {background: #25251a;}
.faq-item:has(.faq-question[aria-expanded="true"]) {border-color: #8a744a; box-shadow: none;}
.faq-answer {padding: 0 2.5rem 1.4rem .2rem;}
.final-cta {background: radial-gradient(ellipse at top,#70613f25,transparent 65%),#1b1e16; border: 1px solid #9c824b; box-shadow: none; padding-block: 4.5rem;}
.final-cta h2 {color: #e7cd9d;}
.final-cta p {color: #c5c7b8;}
.site-footer {color: #c3c5b8; background: #0b0d0a; border-top: 1px solid #d6b77b35;}
.footer-brand .brand {margin-bottom: 1.5rem;}
.footer-main {grid-template-columns: 1.5fr 1fr 1.2fr 1.2fr 1fr; gap: 2rem;}
.footer-column h2,.footer-column h3 {color: #e1c799; font-family: var(--font-sans); font-size: .86rem; font-weight: 500;}
.footer-column p,.footer-column address,.footer-column a,.footer-brand p,.footer-notices p,.footer-bottom {color: #b2b4a9;}
.footer-brand .brand-icon {width: 2.5rem; height: 2.5rem; font-size: 1.4rem;}
.footer-brand .brand-type strong {font-size: 1.45rem;}
.footer-brand .brand-type small {font-size: .6rem;}
.mobile-whatsapp {color: #13160c; background: linear-gradient(115deg,#ead3a4,#d2ad68); border: 1px solid #f0d69f; border-radius: .3rem; box-shadow: 0 2px 20px #0008;}
.mobile-whatsapp:hover {color: #101110; background: #f0d69f;}
.consent-banner,.modal {background: #20231b; color: #e5e2db; border: 1px solid #7e704f;}
.nav-toggle {color: #dfc086; background: transparent; border-color: #6d6044; border-radius: .2rem;}
@media (max-width: 1180px) {
  .site-nav {gap: .75rem;}
  .brand-type strong {font-size: 1.55rem;}
  .brand-icon {width: 2.75rem; height: 2.75rem;}
  .container {width: calc(100% - 3rem);}
  .footer-main {grid-template-columns: repeat(3,minmax(0,1fr));}
  .footer-brand {grid-column: 1 / -1;}
}
@media (max-width: 960px) {
  :root {--header-height: 5rem;}
  .hero {padding-block: 3.8rem;}
  .hero-grid {grid-template-columns: 1fr; gap: 3rem;}
  .hero h1 {max-width: 44rem; font-size: clamp(3.15rem,6.5vw,4.8rem);}
  .hero .lead {max-width: 42rem;}
  .hero-visual {width: 100%; max-width: 44rem;}
  .hero-visual img {aspect-ratio: 1.5;}
  .hero-badge {padding-top: 1rem;}
  .site-nav {background: #11140f; height: calc(100dvh - var(--header-height));}
  .site-nav a:not(.button) {background: #1b1e16; font-size: 1rem;}
  .card {display: grid; grid-template-columns: 1fr;}
  .product-photo {aspect-ratio: 1.9;}
  .card h3 {min-height: 0;}
  .section {padding-block: 4.5rem;}
  .precheck-photo {max-width: 35rem;}
  .precheck-photo img {aspect-ratio: 1.6;}
  .monica-visual {min-height: 25rem;}
}
@media (max-width: 704px) {
  .container,.narrow {width: calc(100% - 2.5rem);}
  .brand-type strong {font-size: 1.45rem;}
  .brand-type small {font-size: .61rem;}
  .brand-icon {width: 2.6rem; height: 2.6rem; font-size: 1.5rem;}
  .brand {gap: .7rem;}
  .header-inner {gap: 1rem;}
  .hero {padding-block: 3rem;}
  .hero h1 {font-size: clamp(2.8rem,9vw,3.8rem); margin-bottom: 1.4rem;}
  .hero .lead {font-size: 1rem;}
  .hero-actions {flex-direction: column;}
  .hero-visual img {aspect-ratio: 1.16;}
  .hero-badge {margin: 0;}
  .hero-microcopy {font-size: .8rem;}
  .trust-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
  .trust-item {padding: 1.25rem .6rem; display: block;}
  .trust-item:nth-child(2) {border-top: 0;}
  .trust-item:nth-child(even) {border-left: 1px solid var(--line); padding-left: 1rem;}
  .trust-icon {margin-bottom: .7rem;}
  .trust-item strong {font-size: .85rem;}
  .trust-item span {font-size: .75rem;}
  .section {padding-block: 3.8rem;}
  h2 {font-size: 2.3rem;}
  .eyebrow {font-size: .65rem; letter-spacing: .13em;}
  .section-heading--center {text-align: left; margin-bottom: 2rem;}
  .card {padding: 1.5rem;}
  .product-photo {margin: -1.5rem -1.5rem 1.4rem; width: calc(100% + 3rem); aspect-ratio: 1.45;}
  .card h3 {font-size: 1.45rem;}
  .contact-panel,.eligibility-card {padding: 1.5rem;}
  .offer-summary h2,.offer-summary--light h2 {font-size: 2.35rem;}
  .offer-summary .price strong,.offer-summary--light .price strong {font-size: 3.1rem;}
  .benefit-grid {grid-template-columns: 1fr;}
  .footer-main {grid-template-columns: 1fr; gap: 2.1rem;}
  .footer-brand {grid-column: auto;}
  .form-card {padding: 1.2rem;}
  .final-cta {padding: 2.5rem 1.3rem; text-align: left;}
  .faq-question {font-size: .96rem;}
  .monica-visual {min-height: 24rem;}
}
@media print {
  body,.section,.hero {background: white; color: #111;}
  h1,h2,h3,p,.lead,.muted {color: #111; text-shadow: none;}
}
.hero-microcopy svg {fill: currentColor;}
.photo-caption {font-size: .73rem;}
@media (min-width: 1181px) {.benefit-grid {grid-template-columns: repeat(5,minmax(0,1fr));}}
@media (min-width: 705px) and (max-width: 1180px) {.benefit-grid {grid-template-columns: repeat(2,minmax(0,1fr));}}
/* Plano anual para MEIs abertos por outro canal. */
.hero .hero-existing-mei {font-size: .95rem; margin-top: -.5rem; margin-bottom: 1.5rem;}
.existing-mei-offer {display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); align-items: center; gap: 3rem; margin-top: 1.5rem; padding: 2.3rem; background: linear-gradient(145deg,#28291f,#171913); border: 1px solid #bd9b6077; border-radius: .35rem;}
.existing-mei-offer h3 {font: 2rem/1.2 Georgia,serif; color: #ead3a4; margin-bottom: .8rem;}
.existing-mei-offer p {color: #c5c6b9; font-size: .96rem;}
.existing-mei-price {border-left: 1px solid #bd9b6044; padding-left: 2rem;}
.existing-mei-price .price {flex-wrap: wrap;}
.annual-plan-options {position: static;}
.annual-tier {margin-top: 1.6rem; padding-top: 1.6rem; border-top: 1px solid #bd9b6055;}
.annual-tier h3 {font: 1.55rem/1.25 Georgia,serif; color: #ead3a4; margin-bottom: .7rem;}
.annual-tier .price {flex-wrap: wrap;}
.annual-tier .price strong {font-size: 3rem;}
.annual-tier p {font-size: .95rem;}
@media (max-width: 704px) {
  .existing-mei-offer {grid-template-columns: 1fr; gap: 1.2rem; padding: 1.5rem;}
  .existing-mei-price {border-left: 0; border-top: 1px solid #bd9b6044; padding-left: 0; padding-top: 1.2rem;}
  .existing-mei-offer h3 {font-size: 1.85rem;}
}
