/* Inner pages use the approved homepage system. Homepage keeps its frozen stylesheet. */
.inner-site {
  --type-meta: 12px;
  --type-label: 14px;
  --type-body: 16px;
  --type-lead: 20px;
  --type-title: 24px;
  --type-subhead: 32px;
  --type-heading: 40px;
  --type-platform: 48px;
  --type-hero: 56px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-control: 8px;
  --radius-panel: 12px;
  --page-gutter: 48px;
  --section-space: 64px;
  --scene-shadow: 0 12px 32px rgb(23 35 31 / 6%);
  font-size: var(--type-body);
}
.inner-site .shell { width: min(1280px, calc(100% - var(--page-gutter) * 2)); }
.inner-site .brand { font-size: var(--type-subhead); gap: var(--space-2); }
.inner-site .button { font-size: var(--type-body); gap: var(--space-4); border-radius: var(--radius-control); padding: var(--space-3) var(--space-6); min-height: 52px; }
.inner-site .text-link, .inner-site .product-link { display: inline-flex; align-items: center; min-height: 44px; gap: var(--space-2); padding: 0; border: 0; border-radius: 0; font-size: var(--type-body); font-weight: 600; color: var(--accent); background: transparent; line-height: 1.5; }
.inner-site .text-link:hover, .inner-site .product-link:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.inner-site .text-link svg, .inner-site .button svg { width: 20px; height: 20px; }
.inner-page > section { padding: var(--section-space) 0; }
.inner-page h2 { font-size: var(--type-heading); line-height: 1.1; }
.inner-page .section-label { font-size: var(--type-label); line-height: 1.5; margin: 0 0 var(--space-4); }
.inner-page .lead { font-size: var(--type-lead); line-height: 1.5; }
.inner-page .split-heading { display: block; margin: 0 0 var(--space-8); }
.inner-page .split-heading h2 { font-size: var(--type-heading); line-height: 1.1; }
.inner-page .split-heading > p { margin: var(--space-6) 0 0; font-size: var(--type-lead); line-height: 1.5; max-width: 640px; }

/* Developer uses the shared highlighted plan treatment. */
.inner-page .plans { gap: var(--space-6); }
.inner-page .plan { border-radius: var(--radius-panel); padding: var(--space-8); gap: 0; }
.inner-page .plan-scope { font-size: var(--type-label); margin-bottom: var(--space-4); }
.inner-page .plan h3 { font-size: var(--type-subhead); line-height: 1.2; margin-bottom: var(--space-4); }
.inner-page .plan > p { font-size: var(--type-body); line-height: 1.5; min-height: 48px; }
.inner-page .price { font-size: var(--type-heading); line-height: 1; min-height: 48px; margin-top: var(--space-6); }
.inner-page .price > span { display: inline; font-size: var(--type-label); margin-left: var(--space-2); }
.inner-page .custom-price { font-size: var(--type-subhead); line-height: 48px; }
.inner-page .billing { font-size: var(--type-body); line-height: 1.5; font-weight: 600; color: var(--ink); margin: var(--space-2) 0 var(--space-6); }
.inner-page .plan:last-child .billing { font-weight: 400; }
.inner-page .plan .button { font-size: var(--type-label); gap: var(--space-2); padding: var(--space-3) var(--space-4); margin-top: auto; }
.inner-page .plan .checklist { margin: 0; }
.inner-page .plan .plan-addon-list { margin-bottom: var(--space-6); }
.inner-page .plan .checklist li { font-size: var(--type-label); line-height: 1.5; gap: var(--space-3); margin: 0 0 var(--space-4); }
.inner-page .plan .checklist svg { width: 18px; height: 18px; }
.inner-page .pricing-footnote { gap: var(--space-6); margin-top: var(--space-6); align-items: center; }
.inner-page .pricing-footnote > span { font-size: var(--type-label); }
.inner-page .pricing-footnote .text-link { font-size: var(--type-body); }
.inner-page .faq-layout { display: block; }
.inner-page .faq-layout h2 { max-width: none; font-size: var(--type-heading); }
.inner-page .faq-list { margin-top: var(--space-6); }
.inner-page .faq-list summary { padding: var(--space-4) 0; font-size: var(--type-body); gap: var(--space-6); }
.inner-page .faq-list summary > span { font-size: var(--type-title); }
.inner-page .faq-list details p { font-size: var(--type-body); max-width: 800px; padding: 0 0 var(--space-6); }
.inner-page .closing-inner { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.inner-page .closing h2 { font-size: var(--type-heading); line-height: 1.1; }
.inner-page .closing p:not(.section-label) { font-size: var(--type-lead); line-height: 1.5; max-width: 640px; margin-top: var(--space-6); }
.inner-page .closing-inner > div + div { margin: 0; }

/* A clear brand signature, directory and contact group finish the homepage. */
.inner-site .home-footer { padding-top: var(--space-16); background: var(--soft); }
.home-footer-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .85fr); align-items: start; gap: var(--space-16); }
.inner-site .home-footer .brand { font-size: var(--type-subhead); width: fit-content; }
.home-footer-identity p { font-size: var(--type-lead); line-height: 1.5; margin-top: var(--space-6); color: var(--muted); }
.home-footer h2 { font-size: var(--type-label); font-weight: 600; letter-spacing: 0; line-height: 1.5; margin: 0 0 var(--space-4); color: var(--ink); }
.home-footer-nav ul { list-style: none; padding: 0; margin: 0; }
.home-footer-nav a { display: flex; align-items: center; width: fit-content; min-height: 44px; padding: var(--space-2) 0; font-size: var(--type-body); line-height: 1.5; }
.home-footer-contact > a { display: flex; width: fit-content; min-height: 44px; padding: var(--space-2) 0; }
.home-footer-email { align-items: center; font-size: var(--type-lead); line-height: 1.5; color: var(--accent); }
.home-footer-contact .home-footer-whatsapp { flex-direction: column; gap: var(--space-1); margin-top: var(--space-2); }
.home-footer-whatsapp > span:first-child { font-size: var(--type-label); color: var(--muted); }
.home-footer-whatsapp > span:last-child { display: flex; align-items: center; gap: var(--space-3); font-size: var(--type-body); line-height: 1.5; }
.home-footer-whatsapp svg { width: 20px; height: 20px; flex-shrink: 0; }
.home-footer a:not(.brand):hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.home-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-8); margin-top: var(--space-12); padding-block: var(--space-4); border-top: 1px solid #cdd9cf; color: var(--muted); font-size: var(--type-label); line-height: 1.5; }
.home-footer-legal { display: flex; align-items: center; gap: var(--space-6); }
.home-footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
.home-footer-origin { text-align: right; }

.inner-page h1 { font-size: var(--type-hero); line-height: 1.06; letter-spacing: -.045em; }
.inner-page .audience { font-size: var(--type-label); gap: var(--space-2); margin-bottom: var(--space-6); }
.inner-page .page-hero .lead { margin-top: var(--space-6); max-width: 640px; }
.inner-page .hero-qualifier, .inner-page .small { font-size: var(--type-label); line-height: 1.5; margin-top: var(--space-6); }
.inner-page .hero-qualifier { max-width: 560px; }
.inner-page .page-hero .lead + .button { margin-top: var(--space-8); }
.inner-page .split-heading > p > strong { display: block; font-weight: 600; color: var(--ink); margin-bottom: var(--space-2); }
.inner-page .section-intro .lead { max-width: 640px; }
.inner-page .closing .closing-secondary, .inner-page .closing .closing-email { display: none; }
.inner-page .product-price-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-12); align-items: center; padding: var(--space-8); border-radius: var(--radius-panel); }
.inner-page .product-price-title { font-size: var(--type-title); line-height: 1.2; margin-bottom: var(--space-6); }
.inner-page .product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-3); }
.inner-page .product-price strong { font-size: var(--type-heading); line-height: 1.1; }
.inner-page .product-price-custom strong { font-size: var(--type-subhead); }
.inner-page .product-price > span, .inner-page .product-billing, .inner-page .product-price-note { font-size: var(--type-label); line-height: 1.5; }
.inner-page .product-billing { margin-top: var(--space-2); }
.inner-page .product-allowance { font-size: var(--type-body); line-height: 1.5; margin-top: var(--space-6); }
.inner-page .product-price-note { margin-top: var(--space-2); }

/* Pricing starts with the same complete plan cards as the homepage. */
.pricing-page .pricing-intro { max-width: 760px; margin-bottom: var(--space-12); }
.pricing-page .plans { margin-top: 0; }
.pricing-page .comparison-wrap { border: 0; border-radius: 0; }
.pricing-page .comparison { width: 100%; min-width: 0; background: transparent; }
.pricing-page .comparison th, .pricing-page .comparison td { padding: var(--space-4); font-size: var(--type-body); line-height: 1.5; }
.pricing-page .comparison thead th { background: transparent; color: var(--ink); font-weight: 600; }
.pricing-page .comparison th:first-child { padding-left: 0; width: 43%; }
.pricing-page .comparison td { width: 19%; text-align: center; }
.pricing-page .comparison-check { display: inline-flex; vertical-align: middle; }
.pricing-page .product-price-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.pricing-page .product-price-list > *, .pricing-page .product-price-panel > * { min-width: 0; }
.pricing-page .product-price-label { margin: 0 0 var(--space-3); color: var(--accent); font-size: var(--type-label); font-weight: 600; }
.pricing-page .pricing-terms { max-width: 760px; }

/* Outreach has two audiences; the developer rate depends on platform use. */
.inner-page .growth-price-section { margin-top: var(--space-8); }
.inner-page .growth-price-section > h3 { font-size: var(--type-subhead); line-height: 1.2; }
.inner-page .growth-price-intro { max-width: 640px; margin: var(--space-4) 0 var(--space-8); font-size: var(--type-body); }
.inner-page .growth-price-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-6); }
/* Share introduction, price, terms and action rows across both audiences. */
.inner-page .growth-price-options > article { display: grid; grid-template-rows: subgrid; grid-row: span 4; min-width: 0; padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-panel); background: var(--soft); }
.inner-page .growth-price-heading { grid-row: 1; margin-bottom: var(--space-8); }
.inner-page .growth-price-options h3, .inner-page .growth-price-options h4 { margin: 0; font-size: var(--type-title); line-height: 1.2; letter-spacing: -.03em; }
.inner-page .growth-price-description { margin-top: var(--space-4); font-size: var(--type-body); line-height: 1.5; }
.inner-page .growth-price-amount { grid-row: 2; display: flex; align-items: baseline; gap: var(--space-2); white-space: nowrap; font-size: var(--type-label); color: var(--muted); }
.inner-page .growth-price-amount strong { font-size: var(--type-heading); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; color: var(--ink); }
.inner-page .growth-price-developer .growth-price-amount strong, .inner-page .growth-price-terms strong { color: var(--accent); }
.inner-page .growth-price-terms { grid-row: 3; margin-top: var(--space-3); font-size: var(--type-label); line-height: 1.5; }
.inner-page .growth-price-terms p + p { margin-top: var(--space-2); }
.inner-page .growth-price-terms a { display: inline-block; padding-block: var(--space-1); text-decoration: underline; text-underline-offset: 3px; }
.inner-page .growth-price-terms a span { white-space: nowrap; }
.inner-page .growth-price-terms a:hover { color: var(--accent); }
.inner-page .growth-price-options .button { grid-row: 4; justify-self: start; margin-top: var(--space-6); max-width: 100%; padding: var(--space-3) var(--space-4); font-size: var(--type-label); gap: var(--space-2); }
.inner-page .growth-price-scope { margin-top: var(--space-6); font-size: var(--type-label); line-height: 1.5; }
@media (max-width: 700px) {
  .inner-page .growth-price-options { grid-template-columns: 1fr; }
  .inner-page .growth-price-developer { margin-top: var(--space-6); }
}
@media (max-width: 560px) {
  .inner-page .growth-price-options > article { padding: var(--space-6); }
  .inner-page .growth-price-terms a { padding-block: var(--space-3); }
}
@media (max-width: 360px) {
  .inner-page .growth-price-amount strong { font-size: var(--type-subhead); }
}

/* Launch: one short introduction and one purposeful form. */
.brief-page .brief-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--space-8) var(--space-16); align-items: start; }
.brief-page .brief-copy { padding-top: var(--space-4); grid-column: 1; grid-row: 1; }
.brief-page .brief-form { grid-column: 2; grid-row: 1 / span 2; }
.brief-page .brief-support { grid-column: 1; grid-row: 2; }
.brief-page .meeting-agenda { margin-top: 0; padding-top: var(--space-6); border-top: 1px solid var(--line); }
.brief-page .meeting-agenda h2 { font-size: var(--type-title); line-height: 1.2; margin-bottom: var(--space-4); }
.brief-page .meeting-agenda ol { margin: 0; padding-left: var(--space-6); }
.brief-page .meeting-agenda li { font-size: var(--type-body); padding-left: var(--space-2); margin-bottom: var(--space-3); }
.brief-page .brief-contact { margin-top: var(--space-8); font-size: var(--type-body); }
.brief-page .brief-contact + a { margin-top: var(--space-2); }
.brief-page .brief-form { margin: 0; padding: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-panel); box-shadow: var(--scene-shadow); }
.brief-page .brief-form h2 { font-size: var(--type-title); line-height: 1.2; margin-bottom: var(--space-2); }
.brief-page .brief-form > p { margin-bottom: 0; font-size: var(--type-body); line-height: 1.5; }
.brief-page .brief-form #brief-product-context { margin-top: var(--space-2); font-size: var(--type-label); }
.brief-page .brief-form > label, .brief-page .form-row { margin-top: var(--space-6); }
.brief-page .form-row { gap: var(--space-4); }
.brief-page .brief-form label { margin: 0; gap: 0; font-size: var(--type-label); line-height: 1.5; }
.brief-page .brief-form > label { margin-top: var(--space-6); }
.brief-page .brief-form input, .brief-page .brief-form select, .brief-page .brief-form textarea { width: 100%; min-width: 0; font-size: var(--type-body); line-height: 1.5; padding: var(--space-3); margin-top: var(--space-2); border-radius: var(--radius-control); background: #fff; }
.brief-page .brief-form input, .brief-page .brief-form select { min-height: 48px; }
.brief-page .brief-form select { appearance: none; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m4 7 6 6 6-6' fill='none' stroke='%2354665d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 20px 20px; }
.brief-page .brief-form textarea { resize: vertical; min-height: 112px; }
.brief-page .brief-form .form-note { font-size: var(--type-label); margin-top: var(--space-6); }
.brief-page .brief-form .button { margin-top: var(--space-4); width: 100%; }
.brief-page .brief-products { min-width: 0; margin: var(--space-6) 0 0; padding: 0; border: 0; }
.brief-page .brief-products legend { padding: 0; font-size: var(--type-label); line-height: 1.5; font-weight: 600; }
.brief-page .brief-products-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-2); }
.brief-page .brief-products-toolbar p { font-size: var(--type-label); }
.brief-page .brief-products-toolbar button { min-height: 44px; padding: var(--space-2) 0 var(--space-2) var(--space-2); border: 0; background: transparent; color: var(--accent); font-size: var(--type-label); font-weight: 600; white-space: nowrap; }
.brief-page .brief-product-options { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-control); background: #fff; }
.brief-page .brief-form .brief-product-option { flex-direction: row; align-items: center; gap: var(--space-3); min-height: 48px; padding: var(--space-3); font-size: var(--type-body); font-weight: 400; cursor: pointer; }
.brief-page .brief-product-option + .brief-product-option { border-top: 1px solid var(--line); }
.brief-page .brief-product-option:has(:checked) { background: var(--sage); }
.brief-page .brief-form .brief-product-option input { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--accent); cursor: pointer; }

/* Privacy is a readable document, aligned to the same outer shell. */
.privacy-page .privacy-intro { max-width: 760px; margin-bottom: var(--space-12); }
.privacy-page .privacy-content { max-width: 760px; }
.privacy-page .privacy-content article { padding: var(--space-8) 0; border-top: 1px solid var(--line); }
.privacy-page .privacy-content h2 { font-size: var(--type-title); line-height: 1.2; margin-bottom: var(--space-4); }
.privacy-page .privacy-content p { font-size: var(--type-body); line-height: 1.65; }
.privacy-page .privacy-content p + p { margin-top: var(--space-4); }
.privacy-page .privacy-content a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1199px) {
  .inner-page .plans { gap: var(--space-4); }
  .inner-page .plan { padding: var(--space-6); }
  .inner-page .plan > p { min-height: 72px; }
}
@media (min-width: 961px) and (max-width: 1199px) {
  .brief-page .form-row { grid-template-columns: 1fr; gap: var(--space-6); }
}
@media (max-width: 960px) {
  .inner-site { --page-gutter: 24px; }
  .inner-site .brand { font-size: var(--type-title); }
  .inner-page .plans { grid-template-columns: 1fr; }
  .inner-page .plan { padding: var(--space-8); }
  .inner-page .plan > p { min-height: 0; max-width: 640px; }
  .inner-page .product-price-panel { grid-template-columns: 1fr; gap: var(--space-6); }
  .inner-page .product-price-panel > .button { justify-self: start; max-width: 100%; white-space: normal; text-align: left; }
  .home-footer-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
  .home-footer-identity { grid-column: 1 / -1; }
  .brief-page .brief-layout { grid-template-columns: 1fr; gap: var(--space-8); }
  .brief-page .brief-copy { max-width: 640px; padding-top: 0; }
  .brief-page .brief-copy, .brief-page .brief-form, .brief-page .brief-support { grid-column: auto; grid-row: auto; }
}
@media (max-width: 700px) {
  .inner-site { --section-space: 48px; --type-lead: 16px; --type-heading: 32px; --type-hero: 40px; }
  .inner-page > .page-hero { padding-top: var(--space-8); }
  .inner-page .plan, .inner-page .product-price-panel { padding: var(--space-6); }
  .inner-page .plan .button { font-size: var(--type-label); }
  .inner-site .home-footer { padding-top: var(--space-8); }
  .home-footer-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-footer-identity p { font-size: 20px; margin-top: var(--space-4); }
  .home-footer h2 { margin-bottom: var(--space-2); }
  .home-footer-email { font-size: 20px; }
  .home-footer-bottom { margin-top: var(--space-6); row-gap: 0; padding-bottom: var(--space-6); }
  .home-footer-legal { flex-basis: 100%; justify-content: space-between; }
  .home-footer-origin { flex-basis: 100%; text-align: left; }
  .pricing-page .pricing-intro, .privacy-page .privacy-intro { margin-bottom: var(--space-8); }
  .pricing-page .comparison-wrap { overflow: visible; }
  .pricing-page .comparison thead, .pricing-page .comparison tbody { display: block; }
  .pricing-page .comparison thead { position: sticky; top: 70px; z-index: 2; background: var(--soft); }
  .pricing-page .comparison tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); padding-block: var(--space-3); }
  .pricing-page .comparison th, .pricing-page .comparison td { width: auto; padding: var(--space-2) var(--space-1); border: 0; font-size: var(--type-label); }
  .pricing-page .comparison thead th:first-child { display: none; }
  .pricing-page .comparison tbody th:first-child { grid-column: 1 / -1; width: auto; }
  .brief-page .brief-form { padding: var(--space-6); }
  .brief-page .form-row { grid-template-columns: 1fr; gap: var(--space-6); }
}
@media (max-width: 360px) {
  .inner-site { --type-hero: 32px; }
  .inner-page .plan, .brief-page .brief-form { padding: var(--space-4); }
}
