:root {
  --paper: #faf7f5;
  --paper-2: #f5efeb;
  --card: #ffffff;
  --ink: #2a2225;
  --muted: #74686b;
  --green: #4b6b5d;
  --green-dark: #314a3f;
  --green-soft: #e4ece7;
  --rose: #c79a8f;
  --blush: #f3e6e3;
  --wine: #6b3944;
  --gold: #b79b6f;
  --line: #e8dfdc;
  --shadow: 0 24px 60px rgba(42,34,37,.10);
  --display: "Cormorant Garamond", Georgia, serif;
  --body: "Poppins", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 16px/1.7 var(--body); }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.narrow { width: min(760px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 100; padding: 10px 14px; background: var(--ink); color: white; }
.skip-link:focus { top: 12px; }
.eyebrow { display: inline-block; margin-bottom: 14px; color: var(--green); font-size: .72rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.kicker { color: var(--wine); font-weight: 600; }
h1,h2,h3 { margin: 0 0 16px; font-family: var(--display); font-weight: 600; line-height: 1.02; text-wrap: balance; }
h1 { font-size: clamp(3.25rem, 7vw, 6.3rem); letter-spacing: -.04em; }
h2 { font-size: clamp(2.35rem, 4.8vw, 4.4rem); letter-spacing: -.03em; }
h3 { font-size: 1.65rem; line-height: 1.1; }
p { margin: 0 0 18px; }
.lead { max-width: 680px; color: var(--muted); font-size: clamp(1.05rem, 1.7vw, 1.24rem); }
.muted { color: var(--muted); }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 12px 21px; border: 1px solid var(--green); border-radius: 999px; background: var(--green); color: white; text-decoration: none; font-weight: 650; font-size: .92rem; transition: .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--green-dark); border-color: var(--green-dark); }
.button.secondary { background: transparent; color: var(--green); }
.button.secondary:hover { background: var(--green-soft); }
.text-link { color: var(--green); font-weight: 650; text-underline-offset: 4px; }

.topline { padding: 8px 0; background: var(--green-dark); color: white; font-size: .78rem; text-align: center; }
.topline a { font-weight: 650; text-underline-offset: 3px; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(250,247,245,.94); backdrop-filter: blur(16px); }
.header-inner { min-height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: inline-flex; flex-direction: column; width: max-content; color: var(--ink); text-decoration: none; line-height: 1; }
.brand strong { font-family: var(--display); font-size: 1.58rem; font-weight: 600; }
.brand span { margin-top: 7px; color: var(--green); font-size: .58rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav a { position: relative; text-decoration: none; font-size: .9rem; font-weight: 600; }
.main-nav a:after { content: ""; position: absolute; height: 1px; left: 0; right: 100%; bottom: -7px; background: var(--green); transition: right .2s ease; }
.main-nav a:hover:after, .main-nav a[aria-current="page"]:after { right: 0; }
.header-action { justify-self: end; }
.menu-toggle { display: none; justify-self: end; padding: 10px; border: 0; background: transparent; color: var(--ink); font: 650 .9rem var(--body); }

.hero { min-height: 720px; display: grid; align-items: stretch; background: var(--paper-2); overflow: hidden; }
.hero-media { position: relative; display: grid; align-items: center; background: linear-gradient(90deg,rgba(250,247,245,.98) 0%,rgba(250,247,245,.95) 38%,rgba(250,247,245,.35) 66%,rgba(250,247,245,.08) 100%), url("/assets/hero-planejamento-casamento.png") center/cover no-repeat; }
.hero-copy { position: relative; z-index: 2; max-width: 670px; padding: 100px 0 115px; }
.hero h1 em { display: block; color: var(--green); font-weight: 500; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-note { display: inline-flex; align-items: center; gap: 10px; margin-top: 32px; color: var(--muted); font-size: .84rem; }
.hero-note:before { content: ""; width: 42px; height: 1px; background: var(--rose); }

.section { padding: 92px 0; }
.section.compact { padding: 64px 0; }
.section.alt { background: var(--paper-2); }
.section.blush { background: var(--blush); }
.section.dark { background: var(--green-dark); color: var(--paper); }
.section.dark h2,.section.dark h3 { color: white; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 40px; }
.section-head > div { max-width: 740px; }
.section-head p { max-width: 520px; color: var(--muted); }
.section.dark .section-head p { color: #d8e0dc; }

.path-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.path-card { min-height: 245px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.55); text-decoration: none; transition: .2s ease; }
.path-card:hover { transform: translateY(-5px); background: white; box-shadow: var(--shadow); }
.path-card .number { margin-bottom: auto; color: var(--rose); font-family: var(--display); font-size: 2.1rem; }
.path-card p { color: var(--muted); font-size: .9rem; }
.path-card span:last-child { color: var(--green); font-weight: 650; font-size: .88rem; }

.product-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 28px; }
.product-card { display: grid; grid-template-columns: 42% 1fr; min-height: 420px; overflow: hidden; border: 1px solid var(--line); border-radius: 4px 32px 4px 4px; background: white; box-shadow: 0 14px 40px rgba(42,34,37,.05); }
.art-link { display: block; }
.product-card .art-link { height: 100%; }
.art-link:hover img { filter: brightness(1.03); }
.product-card img { width: 100%; height: 100%; padding: 20px; object-fit: contain; object-position: center; background: var(--paper-2); }
.product-card-body { padding: 34px; display: flex; flex-direction: column; }
.pill { align-self: flex-start; margin-bottom: 18px; padding: 5px 10px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.product-card p { color: var(--muted); }
.product-price { margin-top: auto; padding-top: 18px; color: var(--green); font-family: var(--display); font-size: 2rem; font-weight: 600; }

.editorial-grid { display: grid; grid-template-columns: 1.35fr .8fr; gap: 26px; }
.article-feature { min-height: 430px; padding: clamp(28px,5vw,58px); display: flex; flex-direction: column; justify-content: end; border-radius: 4px 44px 4px 4px; background: var(--wine); color: white; text-decoration: none; }
.article-feature h3 { max-width: 680px; color: white; font-size: clamp(2.4rem,4vw,4rem); }
.article-feature p { max-width: 600px; color: #f0e5e7; }
.article-feature .number { margin-bottom: auto; color: var(--rose); font: 600 6rem/1 var(--display); }
.side-stack { display: grid; gap: 20px; }
.side-card { padding: 26px; border: 1px solid var(--line); background: white; text-decoration: none; }
.side-card:hover h3 { color: var(--green); }
.side-card p { color: var(--muted); }

.freebie-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 58px; align-items: center; }
.freebie-cover { position: relative; max-width: 340px; margin-inline: auto; }
.freebie-cover:before { content: ""; position: absolute; inset: -18px 24px 28px -24px; z-index: 0; border: 1px solid var(--rose); }
.freebie-cover img { position: relative; z-index: 1; box-shadow: var(--shadow); }
.bullet-list { list-style: none; margin: 24px 0; padding: 0; }
.bullet-list li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.bullet-list li:before { content: "✓"; margin-right: 10px; color: var(--green); font-weight: 700; }

.ad-slot { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 26px 30px; border: 1px solid var(--rose); background: rgba(255,255,255,.65); }
.ad-label { display: block; margin-bottom: 5px; color: var(--rose); font-size: .65rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ad-slot strong { font-family: var(--display); font-size: 1.45rem; }
.ad-slot p { margin: 4px 0 0; color: var(--muted); font-size: .88rem; }
.ad-slot .button { min-height: 44px; }

.category-cloud { display: flex; flex-wrap: wrap; gap: 12px; }
.category-chip { padding: 11px 16px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--green-dark); font-size: .86rem; font-weight: 600; }
.partner-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.partner-panel { padding: 36px; border-radius: 4px 36px 4px 4px; background: var(--green-soft); }

.page-hero { padding: 82px 0 68px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg,var(--paper),var(--paper-2) 70%,var(--blush)); }
.page-hero .lead { max-width: 720px; }
.page-hero h1 { max-width: 900px; font-size: clamp(3.15rem,6.5vw,5.8rem); }
.breadcrumbs { margin-bottom: 24px; color: var(--muted); font-size: .78rem; }
.breadcrumbs a { text-underline-offset: 3px; }
.listing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.listing-card { min-height: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); background: white; text-decoration: none; }
.listing-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: top; background: var(--paper-2); }
.listing-card-body { flex: 1; padding: 25px; display: flex; flex-direction: column; }
.listing-card p { color: var(--muted); font-size: .92rem; }
.listing-card .text-link { margin-top: auto; padding-top: 10px; }
.empty-card { padding: 30px; border: 1px dashed var(--rose); background: rgba(255,255,255,.5); color: var(--muted); }

.product-hero { padding: 76px 0; background: linear-gradient(135deg,var(--paper-2),var(--paper) 62%,var(--green-soft)); }
.product-detail { display: grid; grid-template-columns: 1fr 390px; gap: 70px; align-items: center; }
.product-detail h1 { font-size: clamp(3rem,6vw,5.5rem); }
.product-detail-cover { padding: 14px; border: 1px solid var(--line); background: white; box-shadow: var(--shadow); transform: rotate(1deg); }
.product-detail-cover img { width: 100%; max-height: 570px; object-fit: contain; }
.price-row { display: flex; align-items: baseline; gap: 14px; margin: 22px 0; }
.price-row strong { color: var(--green); font: 600 3rem/1 var(--display); }
.price-row span { color: var(--muted); font-size: .84rem; }
.feature-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.feature-box { padding: 25px; border: 1px solid var(--line); background: white; }
.feature-box strong { display: block; margin-bottom: 7px; color: var(--green); }

.article-layout { display: grid; grid-template-columns: minmax(0,760px) 300px; gap: 70px; align-items: start; }
.article { padding: 72px 0 100px; }
.article h1 { font-size: clamp(3rem,6vw,5rem); }
.article-meta { margin-bottom: 30px; color: var(--muted); font-size: .8rem; }
.article-body h2 { margin-top: 48px; font-size: 2.35rem; }
.article-body h3 { margin-top: 32px; font-family: var(--body); font-size: 1.12rem; line-height: 1.4; }
.article-body p { color: #4e4548; }
.article-lead { color: var(--muted)!important; font-size: 1.16rem; }
.article-note { margin: 36px 0; padding: 24px; border-left: 3px solid var(--green); background: var(--green-soft); }
.article-note p { margin: 8px 0 0; }
.article-sidebar { position: sticky; top: 120px; display: grid; gap: 22px; }
.article-sidebar .ad-slot { display: block; padding: 23px; }
.article-sidebar .ad-slot .button { margin-top: 15px; width: 100%; }

.newsletter { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; padding: clamp(32px,5vw,60px); border-radius: 4px 46px 4px 4px; background: var(--green-dark); color: white; }
.newsletter h2 { color: white; }
.newsletter p { max-width: 640px; color: #d8e0dc; }
.newsletter-form { display: flex; gap: 10px; }
.newsletter input { min-width: 260px; min-height: 50px; padding: 12px 16px; border: 0; border-radius: 999px; font: inherit; }

.site-footer { padding: 64px 0 28px; background: var(--ink); color: #f5ece8; }
.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3,.7fr); gap: 44px; }
.site-footer .brand { color: white; }
.site-footer p,.site-footer a { color: #d7ccca; }
.footer-links { display: grid; align-content: start; gap: 9px; }
.footer-title { margin-bottom: 5px; color: white; font-weight: 650; }
.footer-bottom { margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #b9acaa; font-size: .76rem; }

@media (max-width: 980px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .main-nav,.header-action { display: none; }
  .menu-toggle { display: inline-flex; }
  .main-nav.open { position: fixed; inset: 91px 0 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 28px 22px; background: var(--paper); }
  .main-nav.open a { padding: 18px 4px; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .hero { min-height: 650px; }
  .hero-media { background: linear-gradient(90deg,rgba(250,247,245,.98),rgba(250,247,245,.85) 62%,rgba(250,247,245,.35)),url("/assets/hero-planejamento-casamento.png") center/cover; }
  .path-grid { grid-template-columns: repeat(2,1fr); }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { grid-template-columns: 300px 1fr; }
  .editorial-grid,.partner-layout,.product-detail,.article-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; grid-template-columns: repeat(2,1fr); }
  .listing-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1.2fr repeat(2,1fr); }
  .footer-grid > :last-child { grid-column: 2; }
}
@media (max-width: 700px) {
  .shell,.narrow { width: min(100% - 28px,640px); }
  h1 { font-size: 3.45rem; }
  .topline { display: none; }
  .header-inner { min-height: 70px; }
  .main-nav.open { inset: 71px 0 0; }
  .hero { min-height: auto; }
  .hero-media { background: linear-gradient(180deg,rgba(250,247,245,.2) 0%,rgba(250,247,245,.96) 50%,var(--paper) 100%),url("/assets/hero-planejamento-casamento.png") 68% top/auto 48% no-repeat; align-items: end; }
  .hero-copy { padding: 270px 0 68px; }
  .hero-actions,.hero-actions .button { width: 100%; }
  .section { padding: 68px 0; }
  .section-head { display: block; margin-bottom: 30px; }
  .section-head .button { margin-top: 10px; }
  .path-grid,.listing-grid,.feature-grid { grid-template-columns: 1fr; }
  .path-card { min-height: 210px; }
  .product-card { grid-template-columns: 1fr; }
  .product-card img { height: 300px; padding: 16px; }
  .editorial-grid,.freebie-grid { grid-template-columns: 1fr; }
  .article-feature { min-height: 380px; }
  .ad-slot { grid-template-columns: 1fr; }
  .product-detail-cover { max-width: 360px; margin-inline: auto; transform: none; }
  .price-row { align-items: flex-start; flex-direction: column; gap: 3px; }
  .product-detail .button { width: 100%; }
  .article-sidebar { grid-template-columns: 1fr; }
  .newsletter { grid-template-columns: 1fr; }
  .newsletter-form { flex-direction: column; }
  .newsletter input { min-width: 0; width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > :last-child { grid-column: auto; }
}
@media (max-width: 420px) {
  h1 { font-size: 3rem; }
  .brand strong { font-size: 1.38rem; }
  .hero-copy { padding-top: 240px; }
  .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*:before,*:after { transition: none!important; }
}

/* Materiais gratuitos: cartões compactos, com a arte inteira à mostra */
.listing-grid.material-list { grid-template-columns: repeat(4,1fr); gap: 20px; }
.material-list .listing-card img { height: auto; aspect-ratio: 4/5; padding: 14px; object-fit: contain; object-position: center; background: var(--paper-2); }
.material-list .listing-card-body { padding: 18px 18px 22px; }
.material-list .listing-card h3 { font-size: 1.2rem; line-height: 1.15; margin-bottom: 8px; }
.material-list .listing-card p { font-size: .86rem; line-height: 1.5; }
@media (max-width: 1100px) { .listing-grid.material-list { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 700px) {
  .listing-grid.material-list { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .material-list .listing-card img { padding: 8px; }
  .material-list .listing-card-body { padding: 12px 12px 16px; }
  .material-list .listing-card h3 { font-size: 1rem; }
  .material-list .listing-card p { display: none; }
}

/* Ferramentas gratuitas: cartão largo e horizontal */
.listing-grid.tool-list { grid-template-columns: 1fr; }
.tool-list .listing-card-body { display: grid; grid-template-columns: 1fr auto; column-gap: 32px; align-items: center; padding: 26px 32px; }
.tool-list .listing-card-body > *:not(.text-link) { grid-column: 1; }
.tool-list .listing-card h3 { margin-bottom: 8px; }
.tool-list .listing-card p { margin: 0; max-width: 62ch; }
.tool-list .text-link { grid-column: 2; grid-row: 1 / 4; margin: 0; padding: 0; white-space: nowrap; }
@media (max-width: 700px) {
  .tool-list .listing-card-body { grid-template-columns: 1fr; padding: 22px; }
  .tool-list .text-link { grid-column: 1; grid-row: auto; margin-top: 12px; }
}

/* ===================== Páginas de venda ===================== */
.sales-header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sales-header-cta { min-height: 42px; padding: 8px 18px; font-size: .84rem; }
.sales-hero { position: relative; overflow: hidden; padding: 64px 0 76px; background: linear-gradient(135deg, var(--paper-2), var(--paper) 55%, var(--green-soft)); }
.sales-rings { position: absolute; right: -180px; top: -140px; width: 720px; height: 720px; border: 1px solid #ddc9c6; border-radius: 50%; pointer-events: none; }
.sales-rings:before { content: ""; position: absolute; inset: 90px; border: 1px solid #d3dfd8; border-radius: 50%; }
.sales-rings:after { content: ""; position: absolute; inset: 200px; border: 1px solid #ead9d5; border-radius: 50%; }
.sales-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.sales-hero h1 { font-size: clamp(2.9rem, 5.6vw, 5rem); line-height: 1; margin-bottom: 22px; }
.sales-hero h1 em { color: var(--green); font-style: italic; }
.sales-hero .lead { max-width: 560px; }
.sales-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 30px; }
.button.big { min-height: 60px; padding: 15px 30px; font-size: 1.02rem; box-shadow: 0 16px 34px rgba(49,74,63,.30); }
.button.big .arrow { transition: transform .2s ease; }
.button.big:hover .arrow { transform: translateX(4px); }
.button.big.secondary { box-shadow: none; }
.button.big.light { background: white; color: var(--green-dark); border-color: white; box-shadow: 0 16px 34px rgba(0,0,0,.28); }
.button.big.light:hover { background: var(--paper); border-color: var(--paper); }
.sales-secondary { color: var(--green-dark); font-weight: 600; font-size: .95rem; text-underline-offset: 4px; }
.sales-note { margin: 16px 0 0; color: var(--muted); font-size: .8rem; }
.sales-note.light { color: rgba(255,255,255,.75); }
.sales-hero-art { max-width: 460px; justify-self: center; }
.sales-hero-art img, .cross-art img { width: 100%; height: auto; }
.sales-hero-art img { border-radius: 8px; box-shadow: var(--shadow); transform: rotate(1.2deg); }

.sales-trust { background: white; border-block: 1px solid var(--line); }
.sales-trust ul { list-style: none; margin: 0; padding: 18px 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 34px; }
.sales-trust li { display: flex; align-items: center; gap: 9px; color: var(--green-dark); font-size: .84rem; font-weight: 600; }
.ico { width: 18px; height: 18px; flex: none; }
.sales-trust .ico { color: var(--green); }

.sales-section { padding: clamp(56px, 8vw, 100px) 0; }
.sales-section.alt { background: var(--paper-2); }
.sales-section.tight { padding: 0 0 clamp(48px, 6vw, 80px); }
.sales-head { max-width: 780px; margin-bottom: 42px; }
.sales-head.center { margin-inline: auto; text-align: center; }
.sales-head h2 { font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
.sales-head .lead { margin-inline: auto; }
.sales-closing { max-width: 640px; margin: 36px auto 0; text-align: center; color: var(--wine); font: 500 1.5rem/1.3 var(--display); }
.sales-cta-center { display: flex; justify-content: center; margin-top: 34px; }

.problem-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.problem-card { padding: 22px 22px 20px; background: white; border: 1px solid var(--line); border-left: 3px solid var(--rose); }
.problem-card h3 { margin-bottom: 8px; font: 650 .98rem/1.35 var(--body); }
.problem-card p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.55; }

.demo-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 920px; margin: 0 auto; }
.demo-card { padding: 26px; background: white; border: 1px solid var(--line); border-radius: 4px 26px 4px 4px; box-shadow: 0 14px 40px rgba(42,34,37,.06); }
.demo-card.best { border-color: var(--green); box-shadow: 0 0 0 1px var(--green), 0 18px 44px rgba(49,74,63,.14); }
.demo-card header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.demo-card h3 { margin: 0; font-size: 1.8rem; }
.demo-badge { padding: 4px 11px; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .04em; }
.demo-badge.best { background: var(--green-soft); color: var(--green-dark); }
.demo-badge.over { background: #fbe3e1; color: #a52a2a; }
.demo-lines { margin: 0; }
.demo-lines div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: .9rem; }
.demo-lines dt { color: var(--muted); }
.demo-lines dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.demo-lines .extra dd { color: #a52a2a; }
.demo-lines .included dd { display: inline-flex; align-items: center; gap: 6px; color: var(--green); }
.demo-lines .included .ico { width: 15px; height: 15px; }
.demo-total { display: flex; align-items: baseline; justify-content: space-between; margin-top: 16px; }
.demo-total span { color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.demo-total strong { color: var(--green-dark); font: 600 2.6rem/1 var(--display); }
.demo-card.over .demo-total strong { color: #a52a2a; }
.demo-verdict { max-width: 640px; margin: 30px auto 0; padding: 18px 22px; background: var(--green-soft); color: var(--green-dark); font-weight: 600; text-align: center; }
.demo-label { margin: 14px 0 0; color: var(--muted); font-size: .76rem; text-align: center; }

.limits { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 980px; margin: 0 auto; }
.limits-card, .limits-event { padding: 28px; border-radius: 4px 26px 4px 4px; }
.limits-card { background: white; border: 1px solid var(--line); box-shadow: 0 14px 40px rgba(42,34,37,.06); }
.limits-base { margin: 0 0 20px; }
.limits-base div { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: .92rem; }
.limits-base dt { color: var(--muted); }
.limits-base dd { margin: 0; font-weight: 600; }
.limits-base .strong dd { color: var(--green-dark); font: 600 1.5rem/1 var(--display); }
.limits-sub { margin: 0 0 8px; color: var(--green); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.limits-rows { list-style: none; margin: 0; padding: 0; }
.limits-rows li { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: .92rem; }
.limits-rows em { color: var(--muted); font-size: .78rem; font-style: normal; }
.limits-rows strong { font-variant-numeric: tabular-nums; }
.limits-rows .more { display: block; padding-bottom: 0; border: 0; color: var(--muted); font-size: .82rem; }
.limits-event { background: var(--green-dark); color: white; }
.limits-event h3 { color: white; font-size: 1.9rem; }
.limits-event p { color: rgba(255,255,255,.82); }
.limits-changes { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.limits-changes li { display: grid; grid-template-columns: 1fr auto auto auto; gap: 10px; align-items: baseline; padding: 10px 14px; background: rgba(255,255,255,.08); font-size: .88rem; font-variant-numeric: tabular-nums; }
.limits-changes s { opacity: .6; }
.limits-changes .to { opacity: .7; }

.inside-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.inside-card { padding: 28px 26px; background: white; border: 1px solid var(--line); transition: transform .2s ease, box-shadow .2s ease; }
.inside-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(42,34,37,.08); }
.inside-card h3 { margin: 14px 0 10px; font-size: 1.55rem; }
.inside-card p { margin: 0; color: var(--muted); font-size: .92rem; }
.inside-tag { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.inside-card.featured { background: var(--green-dark); border-color: var(--green-dark); }
.inside-card.featured h3 { color: white; }
.inside-card.featured p { color: rgba(255,255,255,.82); }
.inside-card.featured .inside-tag { background: var(--gold); color: #2a2225; }
.inside-grid.five .inside-card.featured { grid-column: span 2; }

.cats-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.cats-grid h2 { font-size: clamp(2rem, 3.6vw, 3rem); }
.cat-chips { list-style: none; margin: 22px 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.cat-chips li { display: inline-flex; align-items: center; gap: 10px; padding: 8px 8px 8px 16px; background: white; border: 1px solid var(--line); border-radius: 999px; font-size: .88rem; font-weight: 550; }
.cat-chips b { min-width: 28px; padding: 2px 8px; border-radius: 999px; background: var(--green); color: white; font-size: .74rem; text-align: center; }
.small { font-size: .8rem; }
.sample-card { padding: 28px; background: white; border: 1px solid var(--line); border-radius: 4px 26px 4px 4px; box-shadow: var(--shadow); }
.sample-card ul { list-style: none; margin: 8px 0 0; padding: 0; }
.sample-card li { display: flex; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: .9rem; line-height: 1.5; }
.sample-card li:last-child { border-bottom: 0; }
.sample-card .box { flex: none; width: 18px; height: 18px; margin-top: 3px; border: 1.5px solid var(--green); border-radius: 4px; }
.cost { display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 999px; background: #fbefd9; color: #9a6212; font-size: .66rem; font-style: normal; font-weight: 700; white-space: nowrap; }

.steps-row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 28px; }
.step-n { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: 50%; background: var(--green); color: white; font: 600 1.4rem/1 var(--display); }
.steps-row h3 { margin-bottom: 6px; font: 650 1rem/1.35 var(--body); }
.steps-row p { margin: 0; color: var(--muted); font-size: .9rem; }

.try-free { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 30px 34px; background: var(--blush); border: 1px solid #ecd6d1; }
.try-free h3 { margin-bottom: 6px; font-size: 1.9rem; }
.try-free p { max-width: 620px; margin: 0; color: #5c4b4f; font-size: .95rem; }
.try-free .button { flex: none; }

.forwhom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 980px; margin: 0 auto; }
.forwhom { padding: 28px; background: white; border: 1px solid var(--line); }
.forwhom h3 { font-size: 1.6rem; }
.forwhom ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 14px; }
.forwhom li { display: flex; gap: 12px; align-items: flex-start; font-size: .92rem; line-height: 1.55; }
.forwhom .ico { margin-top: 3px; }
.forwhom.yes { border-top: 3px solid var(--green); }
.forwhom.yes .ico { color: var(--green); }
.forwhom.no { border-top: 3px solid var(--rose); }
.forwhom.no .ico { color: var(--wine); }

.quote-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.quote { margin: 0; padding: 26px; background: white; border: 1px solid var(--line); }
.quote blockquote { margin: 0 0 16px; font: 500 1.3rem/1.35 var(--display); }
.quote figcaption strong { display: block; font-size: .9rem; }
.quote figcaption span { color: var(--muted); font-size: .8rem; }

.sales-offer { position: relative; overflow: hidden; padding: clamp(60px, 8vw, 104px) 0; background: var(--green-dark); color: white; }
.sales-offer:before { content: ""; position: absolute; left: -220px; bottom: -260px; width: 620px; height: 620px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.offer-grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.sales-offer .eyebrow { color: var(--green-soft); }
.offer-copy h2 { color: white; font-size: clamp(2.2rem, 4.2vw, 3.5rem); }
.offer-list { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 13px; }
.offer-list li { display: flex; gap: 12px; align-items: flex-start; color: rgba(255,255,255,.9); font-size: .95rem; }
.offer-list .ico { margin-top: 3px; color: var(--gold); }
.offer-card { padding: 34px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.2); border-radius: 4px 32px 4px 4px; text-align: center; }
.offer-price { margin: 0; }
.offer-price strong { color: white; font: 600 clamp(4rem, 7vw, 5.4rem)/1 var(--display); }
.offer-note { margin: 6px 0 24px; color: rgba(255,255,255,.75); font-size: .84rem; }
.offer-card .button { width: 100%; }
.offer-guarantee { display: flex; align-items: center; gap: 16px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); text-align: left; }
.offer-guarantee p { margin: 0; color: rgba(255,255,255,.82); font-size: .82rem; line-height: 1.5; }
.offer-guarantee strong { color: white; }
.seal { flex: none; display: grid; place-items: center; align-content: center; width: 62px; height: 62px; border: 2px solid var(--gold); border-radius: 50%; color: white; line-height: 1; }
.seal b { font: 600 1.6rem/1 var(--display); }
.seal small { font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }

.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 4px; cursor: pointer; list-style: none; font-weight: 600; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:after { content: "+"; color: var(--green); font-size: 1.5rem; line-height: 1; transition: transform .2s ease; }
.faq details[open] summary:after { transform: rotate(45deg); }
.faq details p { margin: 0 0 22px; padding: 0 4px; color: var(--muted); }

.cross-card { display: grid; grid-template-columns: 220px 1fr; gap: 44px; align-items: center; max-width: 900px; margin: 0 auto; padding: 30px; background: white; border: 1px solid var(--line); }
.cross-art img { border-radius: 4px; box-shadow: 0 14px 34px rgba(42,34,37,.12); }
.cross-card h2 { font-size: clamp(1.8rem, 3.2vw, 2.6rem); }

.sales-final { padding: clamp(64px, 9vw, 112px) 0; background: linear-gradient(135deg, var(--wine), #4a2a33); color: white; text-align: center; }
.sales-final h2 { max-width: 780px; margin-inline: auto; color: white; font-size: clamp(2.2rem, 4.6vw, 4rem); }
.sales-final p { max-width: 560px; margin: 0 auto 30px; color: rgba(255,255,255,.85); }
.sales-final .sales-note { margin: 18px auto 0; }

.sales-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(42,34,37,.12); backdrop-filter: blur(10px); transform: translateY(110%); transition: transform .25s ease; }
.sales-sticky.show { transform: none; }
.sticky-price { display: flex; flex-direction: column; line-height: 1.1; }
.sticky-price strong { color: var(--green-dark); font: 600 1.7rem/1 var(--display); }
.sticky-price span { color: var(--muted); font-size: .68rem; }
.sales-sticky .button { flex: 1; max-width: 300px; min-height: 48px; padding: 10px 16px; font-size: .9rem; }
@media (min-width: 861px) { .sales-sticky { display: none; } }

@media (max-width: 980px) {
  .sales-hero-grid, .cats-grid, .offer-grid, .limits { grid-template-columns: 1fr; }
  .sales-hero-art { max-width: 380px; }
  .problem-grid { grid-template-columns: repeat(2, 1fr); }
  .inside-grid { grid-template-columns: repeat(2, 1fr); }
  .sales-rings { right: -320px; opacity: .7; }
}
@media (max-width: 700px) {
  .sales-hero { padding: 40px 0 52px; }
  .sales-cta-row .button { width: 100%; }
  .sales-header-inner .brand span { display: none; }
  .demo-cards, .forwhom-grid, .inside-grid, .problem-grid { grid-template-columns: 1fr; }
  .inside-grid.five .inside-card.featured { grid-column: auto; }
  .try-free { flex-direction: column; align-items: flex-start; padding: 24px; }
  .try-free .button { width: 100%; }
  .cross-card { grid-template-columns: 1fr; gap: 22px; padding: 24px; text-align: center; }
  .cross-art { max-width: 200px; margin: 0 auto; }
  .offer-card { padding: 26px 20px; }
  .sales-trust ul { justify-content: flex-start; gap: 8px 20px; padding: 14px 0; }
  .limits-rows li { grid-template-columns: 1fr auto; }
  .limits-rows em { display: none; }
}

/* Ajustes finos das páginas de venda */
.sales h1, .sales h2, .sales h3, .sales strong, .sales .step-n, .sales .seal b { font-variant-numeric: lining-nums; }
.sales-closing { text-wrap: balance; }
.seal { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.limits-base .strong dd, .sales dd { font-variant-numeric: lining-nums; }

/* Curadoria e convite do grupo */
.curation-title{margin:34px 0 16px;font-family:"Cormorant Garamond",serif;font-size:1.8rem}
.curation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.curation-card{background:#fff;border:1px solid #e8dfdc;display:flex;flex-direction:column}
.curation-card img{width:100%;height:auto;display:block}
.curation-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.curation-body h3{margin:0;font-size:1.05rem}
.curation-body p{margin:0;font-size:.92rem}
.curation-body .button{margin-top:auto;text-align:center}
.note-small{margin-top:18px;font-size:.9rem;color:#6b5f63}
.group-invite { grid-template-columns: 200px 1fr; }
.group-invite .group-art img { width: 100%; height: auto; display: block; border-radius: 6px; box-shadow: 0 14px 34px rgba(0,0,0,.25); }
.group-invite .button { margin-top: 18px; background: #faf6f2; color: var(--green-dark); border-color: #faf6f2; }
@media (max-width: 720px) { .group-invite { grid-template-columns: 1fr; } .group-invite .group-art { max-width: 220px; } }
.group-invite .group-art img { border: 1px solid rgba(250,246,242,.35); }
.group-invite .eyebrow { color: #e7c8c2; }
/* Simulador: card horizontal, largura total, arte à esquerda */
.tool-wide { display: grid; gap: 20px; }
.tool-card { display: grid; grid-template-columns: 210px 1fr; align-items: stretch; }
.tool-card .art-link { display: block; height: 100%; }
.tool-card .art-link img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tool-card .listing-card-body { display: grid; grid-template-columns: 1fr auto; column-gap: 32px; align-items: center; padding: 28px 36px; }
.tool-card .listing-card-body > *:not(.text-link) { grid-column: 1; }
.tool-card h3 { margin-bottom: 8px; }
.tool-card p { margin: 0; max-width: 62ch; }
.tool-card .text-link { grid-column: 2; grid-row: 1 / 4; margin: 0; padding: 0; white-space: nowrap; }
@media (max-width: 720px) {
  .tool-card { grid-template-columns: 120px 1fr; }
  .tool-card .listing-card-body { grid-template-columns: 1fr; padding: 16px; }
  .tool-card .text-link { grid-column: 1; grid-row: auto; margin-top: 10px; white-space: normal; }
}
.tool-card .listing-card-body { align-content: center; row-gap: 0; grid-template-rows: auto auto auto; }
.lead-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.lead-note { display: block; margin-top: 10px; font-size: .8rem; color: #c9d6ce; }
.lead-msg { margin: 10px 0 0; font-size: .9rem; font-weight: 600; min-height: 1.4em; }
.newsletter .lead-msg { color: #e7c8c2; }
.lead-inline { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line, #e8dfdc); max-width: 520px; }
.lead-inline p { margin: 0 0 10px; font-weight: 600; }
.lead-inline .lead-note { color: #76696c; }
.lead-inline .lead-msg { color: var(--green); }
.lead-inline .newsletter-form { flex-wrap: wrap; }
.lead-inline .newsletter-form input[type=email] { flex: 1 1 220px; min-width: 0; border: 1px solid #e8dfdc; }
.newsletter .eyebrow { color: #e7c8c2; }

/* Home: artigos em versão minimalista e capa dos presentes sem distorção */
.home-articles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-article { display: flex; flex-direction: column; gap: 6px; padding: 26px 28px; background: #fff; border: 1px solid var(--line); text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.home-article:hover { border-color: var(--green); transform: translateY(-2px); }
.home-article .eyebrow { margin-bottom: 4px; }
.home-article h3 { margin: 0; font-size: clamp(1.5rem, 2.2vw, 1.9rem); line-height: 1.15; }
.home-article p { margin: 4px 0 8px; color: var(--muted); font-size: .95rem; }
.home-article .text-link { margin-top: auto; font-size: .85rem; }
@media (max-width: 820px) { .home-articles { grid-template-columns: 1fr; } }
.freebie-cover .art-link { display: block; }
.freebie-cover img { width: 100%; height: auto; display: block; }
.home-article h3 { font-variant-numeric: lining-nums; }

/* Artigos: tabela, chamada final e leitura relacionada */
.article-body table { width: 100%; margin: 26px 0; border-collapse: collapse; font-size: .96rem; }
.article-body th, .article-body td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.article-body th { background: var(--green); color: #fff; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.article-body td:last-child, .article-body th:last-child { text-align: right; font-variant-numeric: lining-nums; }
.article-body h2, .article-body h3 { font-variant-numeric: lining-nums; }
.article-cta { margin-top: 48px; padding: 32px; background: var(--green-dark); color: #fff; border-radius: 4px 28px 4px 4px; }
.article-cta h2 { margin: 0 0 10px; color: #fff; font-size: 1.9rem; }
.article-cta p { color: #dbe5df; margin: 0 0 20px; }
.article-cta .button { background: #faf6f2; color: var(--green-dark); border-color: #faf6f2; }
.article-related { margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--line); display: grid; gap: 10px; font-size: .95rem; }
.article-related a { color: var(--green); font-weight: 600; }
.article h1 { font-variant-numeric: lining-nums; }
.article-body ul.check { list-style: none; padding: 0; margin: 22px 0; }
.article-body ul.check li { position: relative; padding: 12px 0 12px 30px; border-bottom: 1px solid var(--line); font-size: .98rem; color: #4e4548; }
.article-body ul.check li:before { content: "→"; position: absolute; left: 0; color: var(--green); font-weight: 700; }
.product-card .product-hook { margin: 0 0 8px; font-family: var(--display); font-size: 1.35rem; line-height: 1.2; color: var(--ink, #2a2225); }
.product-card-body .button { margin-top: 16px; align-self: flex-start; }
.mail-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.mail-cta small { font-size: .82rem; color: #c9d6ce; }
.mail-cta small a { color: #fff; text-decoration: underline; }

/* Formulários de contato */
.contact-form { display: grid; gap: 12px; width: 100%; max-width: 520px; }
.contact-form .cf { display: grid; gap: 4px; font-size: .82rem; font-weight: 600; color: #e7eeea; }
.contact-form input:not(.hp), .contact-form textarea { width: 100%; padding: 12px 14px; border: 0; border-radius: 12px; font: inherit; font-size: .95rem; background: #fff; color: #2a2225; }
.contact-form textarea { resize: vertical; min-height: 110px; }
.contact-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.contact-form .button { justify-self: start; background: #faf6f2; color: var(--green-dark); border-color: #faf6f2; }
.contact-form .contact-msg { margin: 0; font-size: .9rem; font-weight: 600; color: #e7c8c2; min-height: 1.3em; }
.newsletter:has(.contact-form) { grid-template-columns: 1fr 1.2fr; align-items: start; }
@media (max-width: 820px) { .newsletter:has(.contact-form) { grid-template-columns: 1fr; } }

/* Capas dos artigos */
.article-cover { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: -26px -28px 18px; width: calc(100% + 56px); max-width: none; }
.listing-card .article-cover { margin: 0; width: 100%; }
.article-hero { display: block; width: 100%; height: auto; margin: 26px 0 8px; border-radius: 4px; }
@media (max-width: 820px) { .article-cover { margin: -22px -20px 16px; width: calc(100% + 40px); } }

/* PDF liberado depois do cadastro */
.gate { margin-top: 26px; max-width: 520px; }
.gate-title { margin: 0 0 12px; font-weight: 700; font-size: 1.05rem; }
.gate .lead-note { display: block; margin-top: 10px; color: #76696c; }
.gate .lead-msg { margin: 10px 0 0; color: var(--green); font-weight: 600; min-height: 1.3em; }
.gate .newsletter-form { flex-wrap: wrap; }
.gate .newsletter-form input[type=email] { flex: 1 1 220px; min-width: 0; border: 1px solid #e8dfdc; }
.link-btn { margin-top: 12px; padding: 0; border: 0; background: none; color: var(--green); font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; }
.gate [data-download] { margin-top: 6px; }
[hidden] { display: none !important; }
.gate .newsletter-form input[type=email] { min-height: 50px; padding: 12px 18px; border-radius: 999px; font: inherit; font-size: .95rem; background: #fff; }

/* Capas: sem corte nos cartões; título só na imagem */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.listing-card .article-cover, .home-article .article-cover { aspect-ratio: 16 / 9; height: auto; object-fit: cover; object-position: center; padding: 0; background: none; }
.listing-card .article-cover { width: 100%; margin: 0; }
.home-article { padding-top: 0; overflow: hidden; }
.home-article .article-cover { width: calc(100% + 56px); margin: 0 -28px 18px; max-width: none; }
.listing-card:has(.article-cover) .listing-card-body { padding-top: 18px; }
.article-hero { margin: 8px 0 12px; border-radius: 4px; }
.article-meta { margin-top: 0; }
.article-hero { border: 1px solid var(--line); }

/* Curadoria: chamada para anunciar e indicação */
.curadoria-anuncie { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 28px; border: 1px solid var(--line); background: #fff; }
.curadoria-anuncie p { margin: 0; color: var(--muted); }
.curadoria-anuncie strong { color: var(--ink, #2a2225); }
.section.indicar { background: linear-gradient(135deg, #f7ebe7, #eef2ed); }
.indicar-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.indicar-text h2 { margin-bottom: 14px; }
.indicar-text p { max-width: 46ch; color: var(--muted); }
.indicar-note { font-size: .85rem; font-style: italic; }
.indicar-card { padding: clamp(24px, 4vw, 40px); background: rgba(255,255,255,.85); border: 1px solid #eadfdb; border-radius: 4px 32px 4px 4px; box-shadow: 0 24px 60px rgba(75,107,93,.10); }
.indicar-card .contact-form { max-width: none; }
.indicar-card .contact-form .cf { color: var(--green-dark); }
.indicar-card .contact-form input:not(.hp), .indicar-card .contact-form textarea { border: 1px solid #e8dfdc; background: #fff; }
.indicar-card .contact-form .button { background: var(--green); color: #fff; border-color: var(--green); }
.indicar-card .contact-form .contact-msg { color: var(--green); }
@media (max-width: 820px) { .indicar-grid { grid-template-columns: 1fr; gap: 28px; } }

/* Rodapé: redes sociais e links legais */
.social-links { display: flex; gap: 10px; margin-top: 18px; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; transition: background .18s ease, color .18s ease; }
.social-links a:hover { background: #fff; color: var(--green-dark); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.footer-legal a, .footer-legal button { color: inherit; font: inherit; font-size: inherit; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; opacity: .9; }
.footer-legal a:hover, .footer-legal button:hover { opacity: 1; }
.narrow-legal { max-width: 780px; }
.narrow-legal .article-body h2 { font-size: 1.9rem; }
.narrow-legal .article-body ul { padding-left: 20px; }
.narrow-legal .article-body li { margin-bottom: 6px; color: #4e4548; }

/* Aviso de cookies */
.cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; max-width: 900px; margin: 0 auto; padding: 16px 20px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 50px rgba(42,34,37,.18); }
.cookie-banner p { margin: 0; flex: 1 1 320px; font-size: .88rem; color: var(--muted); }
.cookie-banner a { color: var(--green); font-weight: 600; }
.cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookie-actions .button { min-height: 42px; padding: 8px 18px; font-size: .85rem; }
.group-invite .group-art img { border-radius: 50%; border: 0; box-shadow: 0 14px 34px rgba(0,0,0,.28); } .group-invite { grid-template-columns: 170px 1fr; }
.group-invite { grid-template-columns: 210px 1fr; }
.group-invite > div { min-width: 0; }
@media (max-width: 720px) {
  .group-invite { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 22px; }
  .group-invite .group-art { max-width: 190px; }
  .group-invite p { max-width: none; }
  .group-invite .button { margin-top: 14px; }
}

/* Menu do celular: o desfoque do cabeçalho prendia o menu aberto dentro da altura do cabeçalho */
@media (max-width: 980px) {
  .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--paper); }
  .main-nav.open { z-index: 60; overflow-y: auto; }
  .main-nav.open a { color: var(--ink); }
  .main-nav.open a:after { display: none; }
}

/* Simulador em Presentes: no celular vira cartão em coluna, sem corte */
@media (max-width: 720px) {
  .tool-card { grid-template-columns: 1fr; }
  .tool-card .art-link { height: auto; background: var(--paper-2, #f3efeb); padding: 14px 0; }
  .tool-card .art-link img { width: 100%; max-width: 240px; height: auto; aspect-ratio: 4 / 5; object-fit: contain; margin: 0 auto; display: block; }
  .tool-card .listing-card-body { grid-template-columns: 1fr; padding: 18px 18px 22px; }
  .tool-card .text-link { grid-column: 1; grid-row: auto; margin-top: 12px; white-space: normal; }
  .tool-card h3 { font-size: 1.4rem; }
}
@media (max-width: 720px) {
  .gate .newsletter-form { flex-direction: column; flex-wrap: nowrap; }
  .gate .newsletter-form input[type=email] { flex: 0 0 auto; width: 100%; min-height: 50px; height: 50px; }
  .gate .newsletter-form .button { width: 100%; }
}

/* Destaque de produto no topo da vitrine e da home */
.featured-product { display: grid; grid-template-columns: 300px 1fr; margin-bottom: 28px; overflow: hidden; border-radius: 4px 32px 4px 4px; background: var(--green-dark); color: white; box-shadow: 0 24px 60px rgba(49,74,63,.28); }
.featured-product .art-link { display: block; height: 100%; background: #26392f; }
.featured-product img { display: block; width: 100%; height: 100%; padding: 22px; object-fit: contain; }
.featured-product-body { padding: clamp(28px, 4vw, 48px); align-self: center; }
.featured-tag { display: inline-block; margin-bottom: 16px; padding: 6px 14px; border-radius: 999px; background: var(--gold); color: var(--green-dark); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.featured-product h3 { color: white; font-size: clamp(2.2rem, 4vw, 3.2rem); }
.featured-hook { margin: 0 0 12px; color: var(--green-soft); font: 500 clamp(1.3rem, 2.2vw, 1.7rem)/1.25 var(--display); }
.featured-product p { color: rgba(255,255,255,.82); }
.featured-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 26px; padding: 0; list-style: none; }
.featured-list li { padding: 6px 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: white; font-size: .82rem; }
.featured-product .button.light { background: white; border-color: white; color: var(--green-dark); }
.featured-product .button.light:hover { background: var(--green-soft); border-color: var(--green-soft); }
@media (max-width: 720px) {
  .featured-product { grid-template-columns: 1fr; border-radius: 4px 24px 4px 4px; }
  .featured-product img { height: 320px; padding: 18px; }
  .featured-product .button { width: 100%; }
}

.section.spotlight { padding: 56px 0 8px; }
.section.spotlight .featured-product { margin-bottom: 0; }
@media (max-width: 720px) { .section.spotlight { padding: 40px 0 0; } }

/* Imagens dentro dos artigos */
.article-body .article-figure { margin: 34px 0; }
.article-body .article-figure img { display: block; width: 100%; height: auto; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 16px 40px rgba(42,34,37,.08); }
.article-body .article-figure figcaption { margin-top: 10px; color: var(--muted); font-size: .86rem; font-style: italic; text-align: center; }

/* Artigo em destaque no topo do blog */
.blog-featured { display: grid; grid-template-columns: 1.3fr 1fr; margin-bottom: 28px; overflow: hidden; border-radius: 4px 32px 4px 4px; background: var(--green-dark); color: white; text-decoration: none; box-shadow: 0 24px 60px rgba(49,74,63,.22); }
.blog-featured img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.blog-featured-body { padding: clamp(26px, 4vw, 48px); align-self: center; }
.blog-featured h2 { margin: 0 0 14px; color: white; font-size: clamp(2rem, 3.6vw, 2.9rem); }
.blog-featured p { color: rgba(255,255,255,.84); margin: 0 0 22px; }
.blog-featured .button { background: white; border-color: white; color: var(--green-dark); }
.blog-featured:hover .button { background: var(--green-soft); border-color: var(--green-soft); }
@media (max-width: 720px) { .blog-featured { grid-template-columns: 1fr; border-radius: 4px 24px 4px 4px; } .blog-featured .button { width: 100%; } }
.blog-featured-desc { font-family: var(--display); font-size: clamp(1.35rem, 2.2vw, 1.75rem); line-height: 1.3; margin: 0 0 12px !important; color: white !important; }
.blog-featured-meta { margin: 0 0 22px !important; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold) !important; }

/* Minha história (página de vendas) */
.sales-story { padding: clamp(64px, 9vw, 120px) 0; background: var(--paper); }
.story-inner { max-width: 760px; margin: 0 auto; padding: 0 22px; text-align: center; }
.story-inner .eyebrow { margin-bottom: 26px; }
.story-text { margin: 0 0 24px; color: #4e4548; font: 500 clamp(1.45rem, 2.8vw, 1.95rem)/1.5 var(--display); text-wrap: pretty; }
.story-text.last { margin-bottom: 0; color: var(--green-dark); font-weight: 600; }
/* Prova social (página de vendas) */
.sales-proof { background: var(--paper-2); }
.sales-proof .sales-head { margin-bottom: 28px; }
.sales-proof .sales-head h2 { margin-bottom: 0; }
.proof-prints { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 0 0 28px; }
.proof-prints img { width: 100%; height: auto; border: 1px solid var(--line); background: white; }
.proof-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 34px; }
.proof-trust li { display: flex; align-items: center; gap: 9px; color: var(--green-dark); font-size: .95rem; font-weight: 600; }
.proof-trust .ico { color: var(--green); width: 18px; height: 18px; }
@media (max-width: 720px) { .proof-trust { gap: 10px 22px; } }
