/* EmCORR: public-site color study. Original logos and photographs are preserved.
   Reference palette -> semantic roles -> existing component aliases. */
.brand-red {
  --ref-brand: #ec1418; /* Cor vermelha predominante em assets/v6/logo.png. */
  --ref-red: #cf1422;
  --ref-red-deep: #b5101d;
  --ref-white: #fff;
  --ref-charcoal: #292426;
  --ref-gray: #62585b;
  --ref-border: #dedede;
  --ref-border-strong: #7b7b7b;
  --canvas: var(--ref-white);
  --action: var(--ref-red);
  --action-hover: var(--ref-red-deep);
  --action-on: var(--ref-white);
  --panel: var(--canvas);
  --panel-soft: var(--canvas);
  --portrait-backdrop: #f9e9e8;
  --section-soft: var(--portrait-backdrop);
  --focus: var(--ref-red);
  --paper: var(--canvas);
  --surface: var(--canvas);
  --surface-soft: var(--panel);
  --surface-rose: var(--panel-soft);
  --surface-rose-strong: var(--canvas);
  --red: var(--action);
  --accent: var(--action);
  --accent-hover: var(--action-hover);
  --ink: var(--ref-charcoal);
  --muted: var(--ref-gray);
  --line: var(--ref-border);
  --line-strong: var(--ref-border-strong);
  --dark: var(--ref-charcoal);
  --dark-hover: #3e3e3e;
  --dark-line: #737373;
  --on-dark: var(--ref-white);
  --on-dark-muted: #e7e7e7;
  background: var(--canvas);
  color: var(--ink);
  accent-color: var(--action);
}

.brand-red ::selection { background: var(--ref-red-deep); color: var(--action-on); }
.brand-red :is(.header, .mobile-dock) { background: var(--canvas); }
.brand-red .header-row > a { flex-shrink: 0; }
.brand-red .header-row .logo { width: clamp(104px, calc(100vw - 252px), 156px); }
@media (max-width: 760px) {
  .brand-red .header-row { gap: 8px; }
}
@media (max-width: 360px) {
  .brand-red .header-row { gap: 6px; }
  .brand-red .results-menu > summary > .ui-icon:last-child { display: none; }
}
@media (min-width: 761px) {
  .brand-red .header-row .logo { width: 180px; }
}
@media (min-width: 1101px) {
  .brand-red .header-row .logo { width: 210px; }
}
.brand-red :is(.results-menu > summary, .header-book) { background: var(--ref-brand); border-color: var(--ref-brand); color: var(--on-dark); }
.brand-red .results-menu > summary:hover,
.brand-red .results-menu[open] > summary,
.brand-red .header-book:hover { background: var(--ref-brand); border-color: var(--ref-brand); box-shadow: 0 4px 14px rgb(41 36 38 / 16%); }
.brand-red .text-link { text-decoration-color: var(--line-strong); }
.brand-red :is(.primary, .mega-panel .menu-book) { background: var(--action); color: var(--action-on); }
.brand-red :is(.primary, .mega-panel .menu-book):hover { background: var(--action-hover); box-shadow: 0 6px 18px rgb(41 36 38 / 12%); }
.brand-red :is(.hero-film, .menu-service):is(:hover, :focus-visible) { color: var(--action-hover); }
.brand-red .menu-service:is(:hover, :focus-visible) .menu-icon { background: var(--panel-soft); color: var(--action-hover); }
.brand-red .mobile-dock a:first-child { color: var(--action-hover); }
.brand-red :is(.search-box > div, .chip) { border-color: var(--line-strong); }
.brand-red .chip.active { background: var(--action); border-color: var(--action); color: var(--action-on); }
.brand-red :is(.quote-card, .quote-card:nth-child(3), .real-quotes figure:nth-child(2)) { background: var(--canvas); border-color: var(--line); }
.brand-red :is(.quote-mark, .plan-logo > svg, .portrait-mark-v11[data-area="heart"]) { color: var(--action); }
.brand-red :is(.real-quotes figcaption small, .booking-location small) { color: var(--muted); }

/* First screen: clear reading surface and a recognizable red action. */
.brand-red.home-v14 .hero-surface { background: var(--panel); }
.brand-red.home-v14 .hero h1 em { color: var(--action); }
.brand-red.home-v14 .hero h1 { font-size: clamp(62px, 6.5vw, 98px); }
.brand-red .hero-portrait::before { background: var(--portrait-backdrop); }
.brand-red .hero-portrait figcaption { width: auto; padding: 9px; border-radius: 9px; background: var(--dark); color: var(--on-dark); }
.brand-red .hero-access-card { background: var(--action); color: var(--action-on); }
.brand-red .hero-access-card :is(.access-icon, .access-arrow) { background: var(--canvas); color: var(--action); }
.brand-red .hero-access-card .access-footer { border-color: rgb(255 255 255 / 30%); }

/* Alternate soft, charcoal and white sections without introducing new hues. */
.brand-red .plans-section.plans-atmosphere-v11 { background: var(--section-soft); border-color: var(--line); }
.brand-red .plans-atmosphere-v11[data-spotlight]::before { background: none; }
.brand-red .plans-atmosphere-v11 .eyebrow { color: var(--action); }
.brand-red .plans-atmosphere-v11 .plan-logo { background: var(--canvas); border-color: var(--line); box-shadow: none; }
.brand-red .plans-atmosphere-v11 .plan-logo:hover { background: var(--panel); border-color: var(--line-strong); }
.brand-red .plans-atmosphere-v11 .plan-note { color: var(--muted); }
.brand-red.home-v16 .plan-logo:is(:hover, :focus-visible) .plan-arrow { background: var(--action); color: var(--action-on); }
.brand-red .clinic-gallery {
  background: var(--dark);
  color: var(--on-dark);
  border-bottom: 1px solid var(--dark);
}
.brand-red .clinic-image { background: var(--dark); }
.brand-red .clinic-progress { background: var(--dark-line); }
.brand-red .clinic-progress > span { background: var(--action); }
.brand-red .stories-section { background: var(--dark); color: var(--on-dark); border-block: 1px solid var(--dark); }
.brand-red .stories-section[data-spotlight]::before { background: none; }
.brand-red .stories-section .reviews-heading h2 { color: var(--on-dark); }
.brand-red .google-review,
.brand-red .google-review:nth-child(2) { background: var(--canvas); color: var(--ink); border-color: var(--line); }
.brand-red .review-stars { color: var(--action); }

/* Editorial illustrations use the same red family, with readable category labels. */
.brand-red.home-v16 .journal-section { background: var(--panel); }
.brand-red .journal-section .section-head :is(.eyebrow, h2 span) { color: var(--action); }
.brand-red .journal-section .section-head .text-link { background: var(--canvas); color: var(--action-hover); border-color: var(--line-strong); }
.brand-red .journal-section .section-head .text-link:hover { background: var(--panel-soft); }
.brand-red.home-v16 .journal-feature { background: var(--action-hover); color: var(--action-on); }
.brand-red.home-v16 .journal-art { background: var(--action); }
.brand-red.home-v16 .journal-art .orb { background: var(--canvas); box-shadow: 0 0 0 30px var(--action-hover); }
.brand-red.home-v16 .journal-art svg { color: var(--action); }
.brand-red.home-v16 .art-caption { color: var(--action-on); }
.brand-red.home-v16 .journal-copy h3,
.brand-red.home-v16 .journal-copy .text-link,
.brand-red.home-v16 .journal-copy .text-link svg { color: var(--action-on); }
.brand-red.home-v16 .journal-copy .text-link { text-decoration-color: rgb(255 255 255 / 65%); }
.brand-red.home-v16 .journal-copy .eyebrow { color: var(--action-on); background: transparent; border: 1px solid rgb(255 255 255 / 40%); }
.brand-red.home-v16 .journal-feature::before { background: none; }
.brand-red.home-v16 .journal-row { background: var(--canvas); border-color: var(--line-strong); color: var(--ink); }
.brand-red.home-v16 .journal-row h3 { color: inherit; }
.brand-red.home-v16 .journal-row .journal-icon { background: var(--action); color: var(--action-on); }
.brand-red.home-v16 .journal-row :is(.eyebrow, p) { color: var(--muted); }
.brand-red.home-v16 .journal-row > svg { background: var(--canvas); }
.brand-red.home-v16 .journal-feature:hover { box-shadow: 0 12px 30px rgb(181 16 29 / 7%); }
.brand-red.home-v16 .journal-row:hover { background: var(--canvas); border-color: var(--action); box-shadow: 0 8px 24px rgb(41 36 38 / 8%); }

.brand-red.blog-v17 { background: var(--canvas); }
.brand-red.blog-v17 .theme-heart, .brand-red.blog-v17.theme-heart,
.brand-red.blog-v17 .theme-preparo, .brand-red.blog-v17.theme-preparo,
.brand-red.blog-v17 .theme-visit, .brand-red.blog-v17.theme-visit {
  --art-bg: var(--dark);
  --art-light: var(--canvas);
  --art-ink: var(--action-hover);
  --card-bg: var(--panel);
}
.brand-red .blog-intro-surface { background: linear-gradient(125deg, var(--canvas) 35%, var(--panel)); }
.brand-red .article-intro-surface { background: var(--panel); }
.brand-red .blog-filters button[aria-pressed="true"],
.brand-red .blog-filter-highlight { background: var(--action); color: var(--action-on); }
.brand-red .blog-filters:not(.has-indicator) button[aria-pressed="true"]:hover { background: var(--action-hover); color: var(--action-on); }
.brand-red .editorial-art::after { border-color: rgb(255 255 255 / 60%); }
.brand-red .art-orbit { box-shadow: none; }
.brand-red .reading-callout { background: var(--panel-soft); border-color: var(--action); }
.brand-red .reading-callout-icon { background: var(--canvas); border-color: var(--line); }
.brand-red .reading-questions { border-color: var(--line); }
.brand-red .reading-questions li { background: var(--panel); border-color: var(--line); }
.brand-red .reading-questions li::before { color: var(--action-hover); }
.brand-red .read-next { background: var(--panel-soft); border-color: var(--line); }
.brand-red .read-next-card { background: var(--canvas); }
.brand-red .read-next-card .art-orbit { box-shadow: none; }
.brand-red .blog-card:hover .round-arrow,
.brand-red .read-next-card:hover .round-arrow { background: var(--action); color: var(--action-on); }
.brand-red .reading-attribution { color: var(--muted); }
.brand-red .reading-body :is(th, td) { border-color: var(--line); }

/* Results, plans and service directories retain labels as their primary distinction. */
.brand-red .result-choice { background: var(--panel-soft); }
.brand-red .result-choice.radiology { background: var(--panel); border-color: var(--line); }
.brand-red .radiology .result-symbol { background: var(--canvas); border-color: var(--line); color: var(--action); }
.brand-red .radiology .portal-label { color: var(--muted); }
.brand-red .result-open,
.brand-red .radiology .result-open { background: var(--action); color: var(--action-on); }
.brand-red .result-choice:hover .result-open { background: var(--action-hover); }
.brand-red .private-care-v10 { border-color: var(--line); }
.brand-red .private-care-v10 .eyebrow { color: var(--action-hover); }
.brand-red .private-care-icon { background: var(--canvas); color: var(--action); }
.brand-red .private-care-v10 > p:not(.eyebrow) { color: var(--muted); }
.brand-red .plan-resources .resource-approval .resource-icon { background: var(--panel-soft); border-color: var(--line); color: var(--action); }
.brand-red .clinic-path-card.path-1 { background: var(--panel-soft); border-color: var(--line); }
.brand-red .path-1 .path-icon { color: var(--action); }
.brand-red .specialty-card:nth-child(4n+2) .specialty-icon { background: var(--panel-soft); color: var(--action); }

.brand-red .location-home.location-atmosphere-v11 { background: var(--section-soft); color: var(--ink); }
.brand-red .location-atmosphere-v11 :is(h2, .location-contact) { color: var(--ink); }
.brand-red .location-atmosphere-v11 .eyebrow,
.brand-red .location-atmosphere-v11 .location-contact svg { color: var(--action); }
.brand-red .location-atmosphere-v11 address { color: var(--muted); }
.brand-red .location-atmosphere-v11 .button.dark { background: var(--action); color: var(--action-on); }
.brand-red .location-atmosphere-v11 .button.dark:hover { background: var(--action-hover); }
.brand-red .location-atmosphere-v11 .map-card { border-color: var(--line); box-shadow: 0 12px 32px rgb(41 36 38 / 6%); }
.brand-red .location-atmosphere-v11 .map-overlay { background: var(--panel); }
.brand-red .location-atmosphere-v11 .map-badge { color: var(--muted); }

.brand-red .contact-cta-v10 {
  background: linear-gradient(120deg, var(--action), var(--action-hover));
  color: var(--action-on);
  border-color: var(--action-hover);
}
.brand-red .contact-cta-v10 :is(h2, h2 span, .eyebrow, .contact-cta-copy, .contact-cta-phone, .contact-cta-phone a) { color: var(--action-on); }
.brand-red .contact-symbol { background: var(--canvas); border-color: var(--canvas); color: var(--action); }
.brand-red .contact-cta-v10 .contact-cta-button { background: var(--canvas); color: var(--action-hover); box-shadow: 0 6px 20px rgb(41 36 38 / 10%); }
.brand-red .contact-cta-v10 .contact-cta-button:hover { background: var(--panel-soft); color: var(--action-hover); }
.brand-red .footer-v3 { background: var(--dark); color: var(--on-dark); }
.brand-red .footer-logo { background: var(--canvas); }
.brand-red .analytics-consent { background: var(--canvas); border-color: var(--line-strong); color: var(--ink); box-shadow: 0 12px 50px rgb(41 36 38 / 15%); }
.brand-red :is(.analytics-consent button, .consent-manage) { background: var(--canvas); color: var(--ink); border-color: var(--line-strong); }
.brand-red .preview-notice { background: var(--panel-soft); }

/* Two-color focus remains visible on white, red and charcoal surfaces. */
.brand-red :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; box-shadow: 0 0 0 3px var(--canvas); }
@media (max-width: 960px) and (min-width: 761px) {
  .brand-red.home-v14 .hero h1 { font-size: 58px; }
}
@media (max-width: 760px) {
  .brand-red.home-v14 .hero h1 { font-size: clamp(46px, 12.5vw, 76px); }
}
@media (max-width: 360px) {
  .brand-red.home-v14 .hero h1 { font-size: 43px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-red { scroll-behavior: auto; }
  .brand-red *, .brand-red *::before, .brand-red *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
