/* Shared section navigation across the institutional pages and project cases. */
main [data-chapter], :is(.founder-page, .history-page) .editorial-chapter {
  scroll-margin-top: 0;
}
.project-page section[data-chapter] {
  scroll-margin-top: 132px;
  min-height: calc(100svh - var(--header-height) - 56px - 52px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.project-page section#projeto-inicio {
  scroll-margin-top: 0;
  min-height: calc(100svh - var(--header-height) - 52px);
}
main [data-chapter]:not(.chapter) {
  min-height: calc(100svh - var(--header-height) - 52px);
  padding-bottom: max(76px, 5vw);
}
main > .section[data-chapter], main > .page-hero[data-chapter], .project-page section[data-chapter] {
  display: flex;
  align-items: center;
}
main [data-chapter]:focus { outline: none; }
.chapter-navigation[hidden] { display: none; }
.chapter-dots { max-width: 280px; overflow-x: auto; padding: 10px 2px; }
.chapter-dot { flex: 0 0 auto; }
.chapter-navigation [data-chapter-select] {
  display: none;
  min-width: 0;
  font: 600 12px var(--font);
  color: var(--paper);
  background: var(--navy);
  border: 1px solid #7894a8;
  border-radius: 3px;
  padding: 8px 6px;
}
.chapter-navigation :focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.about-universe-art { margin: 0; min-width: 0; }
.about-universe-art img { width: 100%; aspect-ratio: 1.2; object-fit: cover; }
.about-universe-art figcaption { margin-top: 12px; font-size: 12px; line-height: 1.6; color: var(--muted); }
main .portfolio-hub[data-chapter] { padding: 20px 0; }
.contact-connections { background: #173b4c; color: var(--paper); }
.contact-connections .eyebrow, .contact-connections em { color: #70d3f5; }
.legal-page [data-chapter] { padding-top: 44px; min-height: auto; }
.legal-page [data-chapter] + [data-chapter] { border-top: 1px solid var(--line); }
@media (max-width: 960px) {
  main [data-chapter]:not(.chapter) { min-height: auto; padding-bottom: 76px; }
  .project-page section[data-chapter] { min-height: auto; scroll-margin-top: 56px; }
  .chapter-navigation { gap: 12px; }
  .chapter-navigation .chapter-dots, .chapter-navigation [data-chapter-label] { display: none; }
  .chapter-navigation [data-chapter-select] { display: block; width: min(42vw, 250px); }
  .chapter-current { gap: 0; font-size: 12px; }
  .about-universe-art img { aspect-ratio: 1.3; }
}

/* A reading stage never grows beyond the space between header and controls. */
.js main .screen-chapter {
  height: var(--screen-height);
  min-height: var(--screen-height);
  max-height: var(--screen-height);
  padding-block: 28px;
}
.js main .screen-chapter.chapter-signature { padding: 0; }
.screen-chapter.chapter-signature .signature-art { height: var(--screen-height); min-height: var(--screen-height); }
.js main .screen-chapter.portfolio-hub { padding-block: 16px; }
.screen-viewport { width: 100%; height: var(--screen-body-height); overflow: hidden; }
.screen-flow { width: 100%; height: 100%; column-gap: 0; column-fill: auto; }
.screen-flow > .container { display: block; width: min(1320px, calc(100% - 96px)); margin-inline: auto; }
.screen-flow :is(p,h1,h2,h3,figure,article,li,form) { break-inside: avoid; }
.screen-flow h1,.screen-flow h2,.screen-flow h3,.screen-flow .eyebrow { break-after: avoid; }
.screen-flow img { max-height: calc(var(--screen-body-height) - 36px); object-fit: contain; }
.screen-flow .signature-art { height: var(--screen-body-height); min-height: 0; }
.screen-flow .signature-copy { padding: 24px; }
.screen-flow-flat :is(.history-phase-grid,.principles-grid) { display: block; }
.screen-flow-flat :is(article,figure) { margin-bottom: 24px; }
.screen-flow-flat .prose { max-width: 900px; }
.screen-flow .brand-history-grid figure { padding: 0; background: transparent; }
.brand-history-grid figure { padding: 0; background: transparent; }
.brand-history-grid img { max-height: 340px; width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.brand-history-grid figcaption { font-size: 12px; line-height: 1.6; margin-top: 12px; }
.services-section .service-list { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 48px; margin-top: 24px; }
.services-section .service-list article { display: grid; grid-template-columns: 28px 1fr; gap: 10px 16px; padding: 16px 0 0; }
.services-section .service-list article > div { grid-column: 2; }
.services-section .service-list h3 { font-size: 24px; max-width: none; }
.services-section .service-list p { font-size: 15px; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; max-width: 54ch; }
.services-section .service-list .tags { margin-top: 10px; gap: 6px; }
.services-section .section-title { font-size: 40px; }
.portfolio-hub .portfolio-hub-heading { margin-bottom: 14px; }
.portfolio-hub .pc-image-link { height: clamp(148px, 24svh, 215px); }
.intro-composition { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 6%; }
.intro-copy .display-title { font-size: clamp(40px, 4vw, 70px); line-height: 1.04; margin-bottom: 22px; }
.intro-copy .lead { font-size: 18px; line-height: 1.6; max-width: 490px; margin-bottom: 24px; }
.intro-context { font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 18px; margin-top: 24px; }
.intro-art { margin: 0; min-width: 0; }
.intro-art img { width: 100%; height: min(58svh, 540px); object-fit: cover; }
.intro-art figcaption { color: var(--muted); font-size: 12px; line-height: 1.5; margin-top: 10px; }
.founder-work .editorial-media img { height: min(55svh, 460px); object-fit: cover; }
.founder-work .section-title { font-size: clamp(32px, 3vw, 44px); }
.founder-work-lead { font-size: 16px; line-height: 1.55; }
.founder-work-highlights article { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 14px; }
.founder-work-highlights h3 { font-size: 19px; margin-bottom: 6px; }
.founder-work-highlights p, .founder-languages { font-size: 16px; line-height: 1.55; color: var(--muted); }
@media (max-width: 960px) {
  .founder-page .founder-work .editorial-media img { height: 190px; object-fit: cover; }
  .founder-work .section-title { font-size: 32px; }
  .intro-composition { grid-template-columns: 1fr; gap: 18px; }
  .intro-copy .display-title { font-size: 38px; margin-bottom: 14px; }
  .intro-copy .lead { font-size: 16px; margin-bottom: 16px; }
  .intro-context { display: none; }
  .intro-art img { height: 220px; }
  .services-section .service-list { grid-template-columns: 1fr; }
  .services-section .section-title { font-size: 32px; }
  .portfolio-hub .portfolio-hub-heading > p { display: none; }
  .portfolio-hub .portfolio-hub-heading h1 { font-size: 34px; }
  .portfolio-hub .portfolio-hub-filter { padding-block: 10px; gap: 8px; }
  .portfolio-hub .pc-image-link { height: 145px; }
  .portfolio-hub .portfolio-pagination { margin-top: 8px; gap: 6px; }
  .chapter-projects .home-projects { gap: 14px; }
  .chapter-projects .home-project-index h2 { font-size: 28px; margin-bottom: 12px; }
  .chapter-projects .project-selectors { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 10px; }
  .chapter-projects .project-selector { padding: 8px 0; font-size: 12px; }
  .chapter-projects .project-selector > span { display: none; }
  .chapter-projects .home-project-index .text-link { margin-top: 8px; }
  .chapter-projects .home-project-art { height: 180px; }
  .chapter-projects .home-project-details { margin-top: 12px; gap: 10px; }
  .chapter-projects .home-project-details h3 { font-size: 26px; }
  .chapter-projects .home-project-details p { margin-bottom: 6px; }
}
@media (max-width: 600px) {
  .portfolio-hub .pc-image-link { height: 120px; }
}

/* Header "Entrar" (portal) */
.navigation>a.nav-login{margin-left:4px;padding:12px 18px;border:1px solid var(--cyan);background:var(--cyan);border-radius:4px;color:var(--navy)}
.navigation>a.nav-contact + a.nav-login{margin-left:-18px}
.navigation>a.nav-login:after{display:none}
.navigation>a.nav-login:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
@media (max-width: 1150px) {
  .navigation>a.nav-login{padding:11px 13px;margin-left:0}
  .navigation>a.nav-contact + a.nav-login{margin-left:0}
}
@media (max-width: 960px) {
  .navigation>a.nav-login{margin:0;padding:15px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--blue)}
  .navigation>a.nav-contact + a.nav-login{margin-left:0}
  .navigation>a.nav-login:hover{background:transparent;color:var(--blue)}
}
