/* Notasy visual system. Section-specific composition remains in its own stylesheet. */
:root {
  --font-body: "DM Sans", sans-serif;
  --font-label: "DM Sans", sans-serif;
  --text-caption: 12px;
  --text-small: 14px;
  --text-body: 16px;
  --text-card: 22px;
  --text-section: 48px;
  --text-display: 64px;
  --weight-body: 400;
  --weight-label: 500;
  --weight-action: 600;
  --color-text: #20283b;
  --color-muted: #536176;
  --color-secondary: #68768a;
  --color-caption: #657187;
  --color-accent-soft: #555ae8;
  --color-border: #e1e7ef;
  --color-border-active: #bbc6db;
  --color-panel: #fff;
  --color-success: #29745b;
  --color-danger: #b94f60;
  --radius-card: 12px;
  --radius-control: 8px;
  --ease-ui: cubic-bezier(.22,1,.36,1);
  --duration-ui: 240ms;
}
body { font-family:var(--font-body); font-size:var(--text-body); line-height:1.6; }
:where(small) { font-size:max(.85em,12px); }
:where(button,input,select,textarea) { font-family:var(--font-body); }
/* Same hierarchy in every editorial section. Product mockups use their own hierarchy. */
.parceiros__title,
.features h2,
.process h2,
.comparison h2,
.migration h2,
.business-models h2,
.support-proof h2,
.pricing-options__intro h2,
.guarantee h2,
.faq h2 {
  font-family:var(--font-body); font-size:var(--text-section); font-weight:400;
  line-height:1.15; letter-spacing:-.035em; color:var(--color-text);
}
.parceiros__title .mut,
.features h2 > span,
.process h2 > span,
.comparison h2 > span,
.migration h2 span,
.business-models h2 span,
.support-proof h2 span,
.pricing-options__intro h2 span,
.guarantee h2 span,
.faq h2 > span { color:var(--color-secondary); }
.hero h1 { font-size:var(--text-display); font-weight:400; line-height:1.08; letter-spacing:-.04em; color:#fff; }
.closing h2 { font-size:clamp(64px,6.2vw,88px); font-weight:400; line-height:1.03; letter-spacing:-.045em; }
.parceiros__sub,
.features__intro,
.process__intro > p:not(.process__eyebrow),
.comparison__intro > p:last-child,
.migration__intro,
.business-models__intro > p:last-child,
.support-proof__aside p,
.pricing-options__intro > p:last-child,
.guarantee__description,
.guarantee__promise,
.faq__intro,
.closing__description {
  font-size:var(--text-body); line-height:1.75; font-weight:400; letter-spacing:0; color:var(--color-muted);
}
.feature h3,
.feature--sales h3,
.feature--integrations h3,
.process-card h3,
.migration h3,
.business-models h3,
.pricing-options__included h3,
.pricing-care h3,
.guarantee__retained h3 { font-size:var(--text-card); font-weight:500; line-height:1.35; letter-spacing:-.02em; }
.feature p,
.process-card__heading p,
.migration__steps p,
.business-models__item p,
.faq__answer-copy p { font-size:var(--text-body); line-height:1.7; letter-spacing:0; color:var(--color-muted); }
.faq__answer h3 { font-size:28px; line-height:1.3; font-weight:500; letter-spacing:-.025em; }
.faq__question > span:not(.faq__question-number) { font-size:16px; line-height:1.6; }
/* Labels, metadata and secondary copy: never below 12px. */
.features__index,
.process__eyebrow,
.comparison__eyebrow,
.business-models__eyebrow,
.support-proof__eyebrow,
.pricing-options__eyebrow,
.pricing-options__included-intro .pricing-options__eyebrow,
.pricing-care__intro .pricing-options__eyebrow,
.guarantee__eyebrow,
.faq__eyebrow,
.closing__eyebrow {
  font-family:var(--font-label); font-size:var(--text-caption); line-height:1.6;
  font-weight:400; letter-spacing:.1em; color:var(--color-accent-soft);
}
.support-proof__card figcaption > span,
.notasy-footer__column h2,
.faq__reading-top,
.faq__answer-meta > span:first-child { font-size:12px; line-height:1.6; letter-spacing:.08em; color:var(--color-caption); }
.hero-benefits__list p,
.support-proof__card figcaption p,
.support-proof__signature p,
.pricing-benefits__hint,
.pricing-benefit__caption,
.pricing-benefit--assurance p,
.pricing-benefit__detail p,
.pricing-care li p,
.guarantee__retained p,
.faq__takeaway,
.notasy-footer__column a { font-size:var(--text-small); line-height:1.7; color:var(--color-muted); }
.pricing-benefit strong,
.pricing-care h4 { font-size:14px; font-weight:500; line-height:1.5; color:var(--color-text); }
.pricing-benefit a,
.pricing-benefits__all,
.support-proof__aside a,
.faq__platform-link { font-size:14px; }
.notasy-footer__bottom,
.closing__assurance,
.closing__platforms > span,
.pricing-options__billing-note,
.business-models__number,
.faq__question-number,
.faq__pagination > span:last-child,
.process__steps { font-size:12px; color:var(--color-caption); }
/* Controls share size, weight, rounding and focus language. */
.pricing-plan__cta,
.migration__cta,
.guarantee__cta,
.closing__primary,
.parceiros__cta {
  min-height:44px; border-radius:var(--radius-control); font-size:14px; font-weight:500;
  line-height:1.4; transition-duration:var(--duration-ui); transition-timing-function:var(--ease-ui);
}
.closing__contact { font-size:14px; }
.faq__controls button { min-height:40px; min-width:40px; border-radius:var(--radius-control); }
:focus-visible { outline:2px solid var(--color-accent-soft); outline-offset:5px; }
/* Same slate surface and edge treatment; no new borders between sections. */
.process-card,
.support-proof__card,
.pricing-options__plans,
.migration__offer,
.guarantee { border-radius:var(--radius-card); }
.process-card,
.support-proof__card,
.pricing-options__plans,
.faq__reading { border-color:var(--color-border); }
.business-models__item,
.business-models__item--contact,
.faq__question,
.faq__questions,
.pricing-options__included,
.pricing-care { border-color:var(--color-border); }
.support-proof__card:hover { border-color:var(--color-border-active); transform:translateY(-3px); }
/* Room for readable type in dense components. */
.features__grid { grid-template-rows:minmax(300px,auto) minmax(300px,auto) minmax(280px,auto) minmax(280px,auto); }
.feature__copy { padding:38px 36px; }
.sale-notice { padding-top:23px; min-height:76px; flex-basis:76px; }
.sale-notice time { top:5px; color:var(--color-caption); }
.sale-notices { height:370px; width:360px; max-width:calc(100% - 48px); }
.integration-picker { width:360px; max-width:calc(100% - 48px); }
.process-integration { padding-right:90px; }
.process-integration small,
.process-app__bar > small { color:var(--color-caption); }
.process-phone { width:290px; }
.process-phone-toast { flex-wrap:wrap; }
.process-phone-toast > small { margin-top:0; }
.process-invoice__status { height:42px; }
.process-app__footer { flex-wrap:wrap; }
.migration { padding:72px 64px; }
.migration__layout { grid-template-columns:minmax(0,1fr) 370px; gap:48px; }
.migration__offer { padding-top:56px; }
.migration__includes li { flex-wrap:wrap; font-size:14px; }
.guarantee__seal-label { font-size:12px; letter-spacing:.08em; }
.guarantee__signature { font-size:12px; letter-spacing:0; white-space:normal; text-align:center; }
.guarantee__actions { flex-wrap:wrap; }
.prch__cap { flex-direction:column; align-items:flex-start; gap:6px; }
.prch__meta { text-align:left; }
.prch__handle { justify-content:flex-start; font-size:12px; }
.prch__foll { order:2; font-size:12px; }
.prch__name { font-size:16px; font-weight:500; line-height:1.3; }
.pricing-plan { padding-inline:14px; }
.pricing-plan header h3 { font-size:18px; font-weight:500; }
.pricing-plan header p { min-height:40px; }
.pricing-plan__price { flex-wrap:wrap; height:auto; min-height:52px; gap:3px; }
.pricing-plan__price strong { font-size:36px; }
.pricing-options[data-billing="annual"] .pricing-plan__price strong { font-size:32px; }
.pricing-plan__extra { white-space:normal; }
.pricing-plan__badge { font-size:12px; letter-spacing:.03em; }
.pricing-plan__cta { font-size:12px; gap:5px; }
.pricing-options__billing { grid-template-columns:215px 90px; }
.pricing-options__billing-highlight { width:215px; }
.pricing-options[data-billing="monthly"] .pricing-options__billing-highlight { width:90px; transform:translateX(215px); }
.pricing-benefit__info { flex-basis:18px; width:18px; height:18px; font:12px/1 var(--font-body); }
/* Illustrative dashboard still uses the 12px floor. */
.dashboard { grid-template-rows:40px minmax(110px,auto) 270px minmax(218px,auto); }
.metric-card__comparison { flex-wrap:wrap; white-space:normal; gap:2px 6px; }
.chart-x-labels { height:18px; line-height:18px; }
.usage-summary > span { white-space:normal; }
.usage-footer { flex-wrap:wrap; }
.note-types__legend > div > span { flex-wrap:wrap; }
.chart-y-labels,
.chart-x-labels,
.usage-column small,
.note-types__legend small,
.integration-name small,
.integrations-table thead,
.metric-card__comparison,
.sidebar-usage small,
.chart-tooltip > span,
.sale-detail { color:var(--color-caption); }
@media(max-width:1100px) {
  :root { --text-section:42px; --text-display:56px; }
  .migration { padding:56px 36px; }
  .migration__layout { gap:30px; grid-template-columns:minmax(0,1fr) 340px; }
  .support-proof__intro { gap:40px; }
}
@media(max-width:760px) {
  :root { --text-section:34px; --text-display:44px; --text-card:20px; }
  .migration__layout { grid-template-columns:1fr; }
  .migration__offer { max-width:420px; width:100%; }
  .support-proof__intro { grid-template-columns:1fr; }
  .pricing-options__billing { max-width:100%; }
}
.product-stage { height:810px; --ui-dim:var(--color-caption); --ui-muted:var(--color-muted); }
.comparison__surface { border-radius:var(--radius-card); }
.comparison__table td { color:var(--color-muted); }
.comparison__icon--manual { stroke:var(--color-danger); }
.comparison__icon--auto { stroke:var(--color-success); }
