/* Biography: body copy independent from the founder role. */
body.sc-home .sc-founder-bio {
  font-family: "BDOGrotesk", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: normal;
  text-transform: none;
  color: #62594d;
  margin: 18px 0 28px;
}
/* Match the landing page video dimensions at each breakpoint. */
body.sc-home .sc-about-video-hero {
  height: min(900px, 100svh);
  min-height: 640px;
  padding: 145px 0 48px;
}
body.sc-home .sc-results-intro { align-items: center; }
body.sc-home .sc-results-intro > p { margin-block: 0; }
@media (max-width: 767px) {
  body.sc-home .sc-about-video-hero {
    height: auto;
    min-height: 680px;
    min-height: 100svh;
    padding: 120px 0 32px;
  }
}

/* Slightly larger service descriptions; keep badge headings unchanged. */
body.sc-home .dc-service__content li {
  font-size: 16px;
  line-height: 1.75;
}

/* Align the flower with the capital P, independent of the line height. */
body.sc-home #sobre img.sc-flower-inline {
  width: .72em;
  height: .72em;
  width: 1cap;
  height: 1cap;
  vertical-align: baseline;
}

/* Services eyebrow matches the other section labels. */
body.sc-home .dc-services__header .sc-label {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .16em;
  font-weight: 500;
}
body.sc-home .dc-services__header .sc-label::before {
  content: "";
  display: inline-block;
  flex: 0 0 28px;
  height: 1px;
  background: currentColor;
  opacity: .6;
}

/* Balanced space above and below the portfolio invitation. */
body.sc-home .sc-portfolio { padding-bottom: 0; }
body.sc-home .sc-portfolio .sc-project-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-block: clamp(64px, 7vw, 104px);
  gap: 24px;
}
body.sc-home .sc-project-cta > p:not(.sc-flower-heading) {
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.15;
  margin: 0;
}
body.sc-home .sc-project-cta > .sc-flower-heading { margin: 0; }
/* Align the symbol to the capital A, matching the landing page. */
body.sc-home.sc-subpage .sc-about-grid img.sc-flower-inline {
  width: .72em;
  height: .72em;
  width: 1cap;
  height: 1cap;
  vertical-align: baseline;
}

/* Equal breathing room around the testimonial heading group. */
body.sc-home #testemunhos { padding-top: 0; }
body.sc-home #testemunhos .sc-testimonials-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-block: clamp(64px, 7vw, 100px);
  gap: 22px;
}
body.sc-home #testemunhos .sc-testimonials-heading > * { margin: 0; }
body.sc-home #testemunhos .sc-testimonials-heading .sc-label { justify-content: center; }

/* The invitation already has equal top/bottom padding; avoid adding another gap. */
body.sc-home .sc-portfolio + .sc-results { padding-top: 0; }

/* Keep initials next to the excerpt rather than at the bottom of the card. */
body.sc-home #testemunhos .sc-quote { justify-content: flex-start; }
body.sc-home #testemunhos .sc-quote blockquote { margin-bottom: 8px; }
body.sc-home #testemunhos .sc-quote figcaption { margin-top: 0; }
body.sc-home #testemunhos .sc-testimonial-controls button:disabled {
  opacity: .25;
  cursor: default;
}
body.sc-home .sc-stats strong { font-variant-numeric: tabular-nums; }

/* Reference layout: centered text columns with initials below, no ratings. */
body.sc-home #testemunhos .sc-testimonials-heading {
  padding-top: clamp(64px, 7vw, 100px);
  padding-bottom: 48px;
  gap: 16px;
}
body.sc-home #testemunhos .sc-testimonial-slides {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 36px;
  max-width: none;
  margin: 0;
}
body.sc-home #testemunhos .sc-quote {
  flex: 0 0 calc((100% - 108px) / 4);
  min-width: 0;
  height: auto;
  min-height: 290px;
  padding: 0;
  border: 0;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}
body.sc-home #testemunhos .sc-quote blockquote {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  font-family: "BDOGrotesk", Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  color: #292621;
  margin: 0;
}
body.sc-home #testemunhos .sc-quote figcaption {
  order: 0;
  font-size: 12px;
  letter-spacing: .08em;
  margin: 20px 0 0;
  color: #514a40;
}
body.sc-home #testemunhos .sc-quote-read {
  align-self: center;
  margin-top: 12px;
}
body.sc-home #testemunhos .sc-testimonial-controls {
  margin: 36px auto 0;
  padding: 0;
  border: 0;
  gap: 16px;
}
body.sc-home #testemunhos .sc-testimonial-count { display: none; }
body.sc-home #testemunhos .sc-testimonial-controls button {
  min-width: 64px;
  font-size: 32px;
  font-weight: 300;
}
@media (max-width: 1100px) {
  body.sc-home #testemunhos .sc-quote { flex-basis: calc((100% - 36px) / 2); }
}
@media (max-width: 767px) {
  body.sc-home #testemunhos .sc-quote { flex-basis: 100%; min-height: 260px; }
  body.sc-home #testemunhos .sc-testimonials-heading { padding-bottom: 32px; }
}

/* Reserve the same final row for the reading links on every testimonial. */
body.sc-home #testemunhos .sc-quote { padding-bottom: 0; }
body.sc-home #testemunhos .sc-quote figcaption { min-height: 18px; }

/* Photograph behind the results section, with a light readability layer. */
body.sc-home .sc-results-photo {
  background-image: linear-gradient(rgba(0,0,0,.48), rgba(0,0,0,.58)), url("../imgs/banners/arquiteta-trabalhar.png");
  background-size: cover;
  background-position: center 70%;
  background-repeat: no-repeat;
  color: #171717;
}
body.sc-home .sc-portfolio + .sc-results-photo {
  padding-top: clamp(64px, 7vw, 100px);
}

/* Small centered rule above each testimonial. */
body.sc-home #testemunhos .sc-quote::before {
  content: "";
  display: block;
  flex: 0 0 1px;
  width: 32px;
  height: 1px;
  align-self: center;
  margin: 0 0 22px;
  background: currentColor;
  opacity: .55;
}

/* Visible photograph with dark shading and contrasting text. */
body.sc-home .sc-results-photo,
body.sc-home .sc-results-photo .sc-label,
body.sc-home .sc-results-photo .sc-heading,
body.sc-home .sc-results-photo .sc-results-intro > p,
body.sc-home .sc-results-photo .sc-stats strong,
body.sc-home .sc-results-photo .sc-stats span {
  color: #fff;
}
body.sc-home .sc-results-photo .sc-stats { border-color: #ffffff55; }

/* Symmetric spacing under each service rule. */
body.sc-home .dc-services .dc-services__grid { gap: 0 32px; }
body.sc-home .dc-services .dc-service,
body.sc-home .dc-services .dc-service:nth-child(n) {
  padding: 30px 0;
  align-items: center;
}
body.sc-home .dc-services .dc-service h3.dc-service-badge { margin-inline: auto; }
body.sc-home .dc-services .dc-service__content { width: 100%; }
body.sc-home .dc-services .dc-service__content ul {
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}
body.sc-home .sc-stats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
body.sc-home .sc-stats > div { text-align: center; padding-inline: 12px; }
/* Four uniform lines; the reading button opens the complete original text. */
body.sc-home #testemunhos .sc-quote { min-height: 0; }
body.sc-home #testemunhos .sc-quote::before { width: 100%; margin-bottom: 24px; }
body.sc-home #testemunhos .sc-quote blockquote {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  height: 6.8em;
  min-height: 6.8em;
}
body.sc-home .header-area-4 .main-menu > ul > li > a { font-size: 15px; padding-inline: 12px; }
body.sc-home .header-area-4 .header__btn .rr-btn { font-size: 13px; }
body.sc-home .mean-container .mean-nav ul li a { font-size: 16px; }
.sc-legal-footer { padding: 24px 20px; text-align: center; border-top: 1px solid #17171720; }
body.sc-home .sc-legal-footer p { font: 12px/1.8 "BDOGrotesk",Arial,sans-serif; color: #514a40; margin: 4px 0; }
.sc-legal-footer a, .sc-privacy-note a { text-decoration: underline; text-underline-offset: 3px; }
body.sc-home .sc-privacy-note { font-size: 12px; line-height: 1.6; margin-bottom: 20px; }
.sc-privacy { max-width: 860px; margin: auto; padding: 150px 24px 80px; }
body.sc-home .sc-privacy h1 { font: 400 clamp(36px,5vw,64px)/1.1 "SC Editorial",Georgia,serif; margin-bottom: 32px; }
body.sc-home .sc-privacy h2 { font: 400 24px/1.3 "BDOGrotesk",Arial,sans-serif; margin: 32px 0 14px; }
body.sc-home .sc-privacy p, body.sc-home .sc-privacy li { font-size: 16px; line-height: 1.7; }
.sc-draft-note { border: 1px solid #b6aa95; padding: 16px; background: #ece7de; }
@media(max-width:767px) {
  body.sc-home .dc-services .dc-services__grid { gap: 0 20px; }
  body.sc-home .sc-stats > div { padding-inline: 4px; }
}

/* Service descriptions share the same left inset in every column. */
body.sc-home .dc-services .dc-service__content {
  width: 100%;
  text-align: left;
}
body.sc-home .dc-services .dc-service__content ul {
  width: 100%;
  box-sizing: border-box;
  margin-inline: 0;
  padding-inline: 20px 0;
  list-style-position: outside;
  text-align: left;
}
body.sc-home .dc-services .dc-service__content li { text-align: left; }
body.sc-home .hero-bottom p strong { font-weight: 700; }

/* Service typography: same grid, consistent heading height and list rhythm. */
body.sc-home .dc-services .dc-service,
body.sc-home .dc-services .dc-service:nth-child(n) {
  align-items: flex-start;
  padding-block: 32px;
}
body.sc-home .dc-services .dc-service h3.dc-service-badge {
  font-size: clamp(16px, 1.3vw, 18px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.015em;
  min-height: 52px;
  padding: 12px 20px;
  margin: 0 0 26px;
  text-wrap: balance;
}
body.sc-home .dc-services .dc-service__content ul {
  display: grid;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0 8px 0 18px;
  text-align: left;
  list-style-position: outside;
}
body.sc-home .dc-services .dc-service__content li {
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0;
  padding: 0;
  margin: 0;
  text-wrap: pretty;
}
body.sc-home .sc-results-photo { background-position: center 48%; }
@media(max-width:767px) {
  body.sc-home .dc-services .dc-service h3.dc-service-badge {
    font-size: 16px;
    min-height: 66px;
    padding-inline: 14px;
  }
  body.sc-home .dc-services .dc-service__content li { font-size: 15px; }
  body.sc-home .sc-results-photo { background-position: 62% center; }
}
@media(max-width:420px) {
  body.sc-home .dc-services .dc-service h3.dc-service-badge { min-height: 48px; }
}

/* Forward navigation is emphasized; unavailable directions stay light. */
body.sc-home #testemunhos .sc-testimonial-controls button:not(:disabled) {
  color: #171717;
  opacity: 1;
}
body.sc-home #testemunhos .sc-testimonial-controls button:disabled {
  color: #171717;
  opacity: .22;
}
/* Native dialogs sit above the custom cursor: show the system cursor instead. */
body.sc-home:has(.sc-quote-dialog[open]),
body.sc-home:has(.sc-quote-dialog[open]) *,
body.sc-home .sc-quote-dialog,
body.sc-home .sc-quote-dialog * {
  cursor: auto !important;
}
body.sc-home .sc-quote-dialog::backdrop { cursor: default !important; }
body.sc-home .sc-quote-dialog button,
body.sc-home .sc-quote-dialog a { cursor: pointer !important; }
body.sc-home:has(.sc-quote-dialog[open]) .custom-cursor,
body.sc-home:has(.sc-quote-dialog[open]) #magic-cursor { visibility: hidden !important; }

/* Service alignment follows each of the three desktop columns. */
body.sc-home .dc-services .dc-service:nth-child(3n+1) { --service-align: left; align-items: flex-start; }
body.sc-home .dc-services .dc-service:nth-child(3n+2) { --service-align: center; align-items: center; }
body.sc-home .dc-services .dc-service:nth-child(3n) { --service-align: right; align-items: flex-end; }
body.sc-home .dc-services .dc-service h3.dc-service-badge { margin-inline: 0; }
body.sc-home .dc-services .dc-service__content,
body.sc-home .dc-services .dc-service__content ul,
body.sc-home .dc-services .dc-service__content li { text-align: var(--service-align); }
body.sc-home .dc-services .dc-service:nth-child(3n+2) .dc-service__content ul,
body.sc-home .dc-services .dc-service:nth-child(3n) .dc-service__content ul { padding-inline: 0; }
body.sc-home .dc-services .dc-service:nth-child(3n+2) .dc-service__content li,
body.sc-home .dc-services .dc-service:nth-child(3n) .dc-service__content li { list-style-position: inside; }
body.sc-home .sc-results-copy p { font-size: 17px; margin: 0; }
body.sc-home .sc-results-copy p + p { margin-top: 1em; }
body.sc-home .sc-results-photo .sc-results-copy p { color: #fff; }

/* Simple, light lettering only in the two opening phrases. */
@font-face {
 font-family: "SC Light Sans";
 src: url("../fonts/Outfit.ttf") format("truetype");
 font-weight: 100 900;
 font-style: normal;
 font-display: swap;
}
body.sc-home h1 .sc-natureza-phrase {
 font-family: "SC Light Sans", "Helvetica Neue", Arial, sans-serif !important;
 font-weight: 300 !important;
 font-style: normal;
 letter-spacing: -.035em;
 line-height: inherit;
}
/* Every service: centered name and left-aligned description. */
body.sc-home .dc-services .dc-service:nth-child(n) {
 --service-align: left;
 align-items: center;
}
body.sc-home .dc-services .dc-service:nth-child(n) h3.dc-service-badge {
 margin-inline: auto;
 text-align: center;
 justify-content: center;
}
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content,
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content ul,
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content li {
 text-align: left;
}
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content ul {
 width: 100%;
 margin-inline: 0;
 padding-inline: 18px 8px;
}
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content li {
 list-style-position: outside;
}

/* Left-aligned service names and matching homepage heading sizes. */
body.sc-home .dc-services .dc-service:nth-child(n) {
 align-items: flex-start;
}
body.sc-home .dc-services .dc-service:nth-child(n) h3.dc-service-badge {
 margin-inline: 0 auto;
 text-align: left;
 justify-content: flex-start;
}
body.sc-home .sc-about .sc-heading.sc-shared-title-size,
body.sc-home .sc-project-cta > p.sc-shared-title-size {
 font-size: clamp(34px, 3.7vw, 52px);
 line-height: 1.15;
}

/* Larger introduction heading, independently of the project CTA. */
body.sc-home .sc-about .sc-heading.sc-shared-title-size {
 font-size: clamp(40px, 4.5vw, 64px);
 line-height: 1.12;
}
body.sc-home .dc-services .dc-service h3.dc-service-badge {
 max-width: 100%;
 white-space: normal;
 overflow-wrap: break-word;
}

/* Align the introduction heading with the first line of its supporting copy. */
@media (min-width: 768px) {
 body.sc-home #sobre .sc-about-grid { align-items: start; row-gap: 24px; }
 body.sc-home #sobre .sc-about-grid > div:first-child { display: contents; }
 body.sc-home #sobre .sc-about-grid > div:first-child > .sc-label {
  grid-column: 1; grid-row: 1; margin: 0;
 }
 body.sc-home #sobre .sc-about-grid > div:first-child > .sc-heading {
  grid-column: 1; grid-row: 2; margin-top: 0;
 }
 body.sc-home #sobre .sc-about-copy { grid-column: 2; grid-row: 2; align-self: start; }
 body.sc-home #sobre .sc-about-copy > p:first-child { margin-top: 0; }
}
/* All service titles and descriptions centered within their columns. */
body.sc-home .dc-services .dc-service:nth-child(n) {
 --service-align: center;
 align-items: center;
 text-align: center;
}
body.sc-home .dc-services .dc-service:nth-child(n) h3.dc-service-badge {
 margin-inline: auto;
 text-align: center;
 justify-content: center;
}
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content,
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content ul,
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content li {
 text-align: center;
}
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content ul {
 padding-inline: 0;
 margin-inline: auto;
}
body.sc-home .dc-services .dc-service:nth-child(n) .dc-service__content li {
 list-style-position: inside;
}

/* About introduction matches the homepage title size and aligns with its copy. */
body.sc-home .sc-story-grid { align-items: start; }
body.sc-home .sc-story-grid > h2.sc-heading {
 font-size: clamp(40px, 4.5vw, 64px);
 line-height: 1.12;
 margin-top: 0;
}
body.sc-home .sc-story-grid > .sc-about-copy { align-self: start; }
body.sc-home .sc-story-grid > .sc-about-copy > p:first-child { margin-top: 0; }

/* Results heading matches the introduction; smaller animated statistics. */
body.sc-home .sc-results .sc-heading {
 font-size: clamp(40px, 4.5vw, 64px);
 line-height: 1.12;
}
body.sc-home .sc-stats strong { font-size: clamp(50px, 6vw, 88px); }
@media (max-width: 767px) {
 body.sc-home .sc-stats strong { font-size: 46px; }
}

/* Statistics share a center axis with their captions. */
body.sc-home .sc-stats > div {
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 min-width: 0;
}
body.sc-home .sc-stats > div > strong,
body.sc-home .sc-stats > div > span {
 display: block;
 width: 100%;
 text-align: center;
 margin-inline: 0;
}
/* Let the founder section use the same background as the rest of the page. */
body.sc-home.sc-subpage .sc-founder { background: transparent; }
