/**
 * Construscript Theme 1.0.0-alpha.29.2.1-mobile-cirurgico
 * CSS consolidado por componente. Não adicionar correções soltas ao final.
 */

*,*::before,*::after {

  box-sizing: border-box;

}

html {

  scroll-behavior: smooth;

}

a {

  color: var(--cs-color-primary-dark);

}

a:hover,a:focus-visible {

  color: var(--cs-color-primary);

}

img {

  display: block;
  max-width: 100%;
  height: auto;

}

button,input,textarea,select {

  font: inherit;

}

.screen-reader-text {

  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;

}

.screen-reader-text:focus {

  top: 12px;
  left: 12px;
  z-index: 10000;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px 14px;
  overflow: visible;
  clip: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.admin-bar .construscript-header {

  top: 32px;

}

.construscript-brand {

  display: flex;
  align-items: center;
  flex: 0 0 auto;

}

.construscript-brand .custom-logo-link {

  display: inline-flex;

}

.construscript-brand .custom-logo {

  width: auto;
  max-width: 170px;
  max-height: 72px;

}

.construscript-brand__text {

  color: #fff;
  font-size: 1.35rem;
  font-weight: 850;
  text-decoration: none;

}

.construscript-navigation {

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex: 1;

}

.construscript-navigation__primary,.construscript-navigation__secondary {

  display: flex;
  align-items: center;

}

.construscript-navigation__secondary {

  margin-left: auto;

}

.construscript-menu,.construscript-footer-menu {

  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;

}

.construscript-menu a {

  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  color: var(--cs-header-text);
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
  text-shadow: 0 1px 3px rgba(0,0,0,.35);

}

.construscript-menu a::after {

  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 4px;
  height: 2px;
  background: var(--cs-color-accent);
  transform: scaleX(0);
  transition: transform .18s ease;

}

.construscript-menu a:hover::after,.construscript-menu a:focus-visible::after,.construscript-menu .current-menu-item>a::after,.construscript-menu .current_page_item>a::after {

  transform: scaleX(1);

}

.construscript-account-link:hover {

  background: #fff;
  color: var(--cs-color-primary-dark);

}

.construscript-menu-toggle {

  display: none;
  width: 46px;
  height: 46px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 10px;
  background: rgba(0,0,0,.2);
  cursor: pointer;

}

.construscript-menu-toggle>span[aria-hidden=true] {

  display: block;
  width: 22px;
  height: 2px;
  margin: 4px auto;
  border-radius: 99px;
  background: #fff;

}

.construscript-main {

  min-height: 60vh;

}

.construscript-visual-hero--page .construscript-visual-hero__content {

  position: relative;
  z-index: 1;
  padding-top: calc(var(--cs-header-height) + 38px);
  padding-bottom: 52px;
  text-align: center;

}

.construscript-visual-hero--page p {

  max-width: 720px;
  margin: 16px auto 0;
  color: rgba(255,255,255,.9);
  font-size: 1.08rem;

}

.construscript-eyebrow,.cs-kicker,.cs-profession {

  margin: 0 0 10px;
  color: var(--cs-color-accent);
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;

}

.construscript-button,
.cs-button,
button[type="submit"],
input[type="submit"] {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--cs-button-height, 48px);
  padding: 11px 20px;
  border: 1px solid var(--cs-button-bg-color, var(--cs-color-primary));
  border-radius: var(--cs-button-radius, 9px);
  background: var(--cs-button-bg-color, var(--cs-color-primary));
  color: var(--cs-button-text-color, #fff);
  font-size: var(--cs-button-font-size, 16px);
  font-weight: var(--cs-button-font-weight, 800);
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  opacity: 1;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;

}

.construscript-button:link,
.construscript-button:visited,
.cs-button:link,
.cs-button:visited {

  color: var(--cs-button-text-color, #fff);

}

.construscript-button:hover,
.construscript-button:focus-visible,
.construscript-button:active,
.cs-button:hover,
.cs-button:focus-visible,
.cs-button:active,
button[type="submit"]:hover,
button[type="submit"]:focus-visible,
button[type="submit"]:active,
input[type="submit"]:hover,
input[type="submit"]:focus-visible,
input[type="submit"]:active {

  border-color: var(--cs-button-hover-bg-color, var(--cs-color-primary-dark));
  background: var(--cs-button-hover-bg-color, var(--cs-color-primary-dark));
  color: var(--cs-button-text-color, #fff);

}

.construscript-button:hover,
.cs-button:hover {

  transform: translateY(-1px);

}

.construscript-button:focus-visible,
.cs-button:focus-visible,
button[type="submit"]:focus-visible,
input[type="submit"]:focus-visible {

  outline: 3px solid rgba(8,121,184,.28);
  outline-offset: 3px;

}

.construscript-button--ghost,
.construscript-button--ghost:link,
.construscript-button--ghost:visited {

  border-color: rgba(255,255,255,.82);
  background: rgba(6,27,38,.42);
  color: #fff;
  backdrop-filter: blur(6px);

}

.construscript-button--ghost:hover,
.construscript-button--ghost:focus-visible,
.construscript-button--ghost:active {

  border-color: #fff;
  background: rgba(255,255,255,.16);
  color: #fff;

}

.cs-button--outline,
.cs-button--outline:link,
.cs-button--outline:visited {

  border-color: var(--cs-button-bg-color, var(--cs-color-primary));
  background: transparent;
  color: var(--cs-button-bg-color, var(--cs-color-primary));

}

.cs-button--outline:hover,
.cs-button--outline:focus-visible,
.cs-button--outline:active {

  border-color: var(--cs-button-hover-bg-color, var(--cs-color-primary-dark));
  background: #eef8fd;
  color: var(--cs-button-hover-bg-color, var(--cs-color-primary-dark));

}

.construscript-featured-card__image,
.cs-professional-card__image {

  border-radius: 50%;
  overflow: hidden;

}

.construscript-featured-card__image img,
.cs-professional-card__image img {

  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: inherit;

}

.construscript-featured-card__body h3 a:hover,
.construscript-featured-card__body h3 a:focus-visible,
.cs-professional-card__body h3 a:hover,
.cs-professional-card__body h3 a:focus-visible,
.cs-company-card__body h2 a:hover,
.cs-company-card__body h2 a:focus-visible {

  color: var(--cs-color-primary);

}

.construscript-home-search strong,.construscript-home-search span {

  display: block;

}

.construscript-home-search span {

  color: var(--cs-color-muted);
  font-size: .9rem;

}

.construscript-home-search input {

  width: 100%;
  min-height: 50px;
  padding: 11px 14px;
  border: 1px solid #cfd7df;
  border-radius: 9px;

}

.construscript-section-heading {

  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;

}

.construscript-section-heading h2,.construscript-page-header h1,.construscript-empty-state h1 {

  margin: 0;
  font-size: clamp(2rem,4vw,3.2rem);
  line-height: 1.15;
  letter-spacing: -.035em;

}

.construscript-section-heading>a {

  font-weight: 800;
  text-decoration: none;

}

.construscript-featured-grid,.construscript-feature-grid {

  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;

}

.construscript-featured-card,.construscript-card,.construscript-page,.construscript-profile {

  overflow: hidden;
  border: 1px solid var(--cs-color-border);
  border-radius: var(--cs-radius);
  background: #fff;
  box-shadow: 0 12px 35px rgba(23,32,51,.09);

}

.construscript-featured-card__image {

  display: grid;
  place-items: center;
  height: 250px;
  background: #e7eef2;
  color: var(--cs-color-primary);
  font-size: 4rem;
  font-weight: 850;
  text-decoration: none;

}

.construscript-featured-card__image img {

  width: 100%;
  height: 100%;
  object-fit: cover;

}

.construscript-featured-card__body {

  display: grid;
  gap: 8px;
  padding: 22px;

}

.construscript-featured-card__body h3 {

  margin: 0;
  font-size: 1.35rem;

}

.construscript-featured-card__body h3 a {

  color: var(--cs-color-text);
  text-decoration: none;

}

.construscript-featured-card__body p,.construscript-featured-card__body small {

  margin: 0;

}

.construscript-card-link {

  margin-top: 8px;
  font-weight: 800;
  text-decoration: none;

}

.construscript-empty-featured {

  padding: 32px;
  border: 1px dashed #c7d2dc;
  border-radius: 14px;
  background: #fff;
  text-align: center;

}

.construscript-card {

  padding: 28px;

}

.construscript-page {

  padding: clamp(28px,5vw,56px);

}

.construscript-entry>:first-child {

  margin-top: 0;

}

.construscript-entry>:last-child {

  margin-bottom: 0;

}

/* Legal documents: Política de Privacidade e Termos de Uso
 * alpha.34: headings pasted from the block editor may carry WordPress color
 * utility classes (including !important declarations). Force legal-document
 * hierarchy only inside these two pages, without affecting the rest of site. */
.cs-legal-page {

  max-width: 1040px;
  margin-inline: auto;
  padding: clamp(30px,4vw,52px);
  text-align: left;

}

.cs-legal-page .construscript-entry {

  color: var(--cs-color-text);
  font-size: clamp(15px,1.15vw,17px);
  line-height: 1.72;

}

.cs-legal-page .construscript-entry h2,
.cs-legal-page .construscript-entry h3,
.cs-legal-page .construscript-entry h4,
.cs-legal-page .construscript-entry .wp-block-heading {

  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #172033 !important;
  background: transparent !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: -.015em;
  line-height: 1.22;
  text-align: left;

}

.cs-legal-page .construscript-entry h2 {

  margin: 1.55em 0 .55em !important;
  font-size: clamp(23px,2.1vw,30px) !important;

}

.cs-legal-page .construscript-entry h3 {

  margin: 1.3em 0 .45em !important;
  font-size: clamp(18px,1.65vw,23px) !important;

}

.cs-legal-page .construscript-entry h4 {

  margin: 1.15em 0 .4em !important;
  font-size: clamp(16px,1.4vw,20px) !important;

}

.cs-legal-page .construscript-entry p {

  margin: 0 0 1em;

}

.cs-legal-page .construscript-entry ul,
.cs-legal-page .construscript-entry ol {

  margin: .45em 0 1.15em;
  padding-left: 1.55em;

}

.cs-legal-page .construscript-entry li + li {

  margin-top: .38em;

}

.cs-legal-page .construscript-entry a {

  color: #0879b8;
  text-decoration: underline;
  text-underline-offset: 2px;

}

.cs-legal-page .construscript-entry a:hover,
.cs-legal-page .construscript-entry a:focus-visible {

  color: #045d8f;

}

.cs-legal-page .construscript-entry strong {

  color: #172033;

}

.cs-legal-page .construscript-entry code {

  overflow-wrap: anywhere;
  white-space: normal;

}

.cs-legal-page .construscript-entry > :first-child {

  margin-top: 0;

}

@media (max-width: 720px) {

  .cs-legal-page {

    padding: 24px 20px;

  }

  .cs-legal-page .construscript-entry {

    font-size: 15px;
    line-height: 1.68;

  }

  .cs-legal-page .construscript-entry h2 {

    margin-top: 1.35em !important;
    font-size: 23px !important;

  }

  .cs-legal-page .construscript-entry h3 {

    margin-top: 1.15em !important;
    font-size: 19px !important;

  }

}

.construscript-profile {

  display: grid;
  grid-template-columns: minmax(220px,360px) minmax(0,1fr);

}

.construscript-profile__media {

  min-height: 320px;
  background: #eaf0f5;

}

.construscript-profile__media img {

  width: 100%;
  height: 100%;
  object-fit: cover;

}

.construscript-profile__body {

  padding: clamp(28px,5vw,56px);

}

.construscript-profile__body h1 {

  margin: 0 0 20px;
  font-size: clamp(2rem,4vw,3.4rem);
  line-height: 1.1;

}

.construscript-empty-state {

  text-align: center;

}

.cs-directory,.cs-account,.cs-profile {

  display: grid;
  gap: 28px;

}

.cs-directory__header,.cs-account__header {

  display: none;

}

.cs-search,.cs-account-form {

  padding: clamp(22px,4vw,34px);
  border: 1px solid var(--cs-color-border);
  border-radius: var(--cs-radius);
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-search {

  display: grid;
  grid-template-columns: 1.4fr repeat(3,minmax(140px,1fr));
  align-items: end;
  gap: 16px;

}

.cs-field {

  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  font-weight: 700;

}

.cs-field>span {

  font-size: .9rem;

}

.cs-field input,.cs-field select,.cs-field textarea {

  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #bdc8d4;
  border-radius: 9px;
  background: #fff;
  color: var(--cs-color-text);

}

.cs-field textarea {

  min-height: 132px;
  resize: vertical;

}

.cs-field input:focus,.cs-field select:focus,.cs-field textarea:focus {

  border-color: var(--cs-color-primary);
  outline: 3px solid rgba(8,121,184,.16);

}

.cs-field small {

  color: var(--cs-color-muted);
  font-weight: 500;

}

.cs-search__actions {

  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 16px;

}

.cs-results-count {

  margin: 0;
  color: var(--cs-color-muted);
  font-weight: 700;

}

.cs-professional-grid {

  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;

}

.cs-professional-card {

  overflow: hidden;
  border: 1px solid var(--cs-color-border);
  border-radius: var(--cs-radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(23,32,51,.08);

}

.cs-professional-card__image {

  display: grid;
  place-items: center;
  min-height: 230px;
  background: linear-gradient(135deg,#dbeaf2,#eef4f7);
  color: var(--cs-color-primary-dark);
  font-size: 4rem;
  font-weight: 850;
  text-decoration: none;

}

.cs-professional-card__image img {

  width: 100%;
  height: 230px;
  object-fit: cover;

}

.cs-professional-card__body {

  display: grid;
  align-content: start;
  gap: 12px;
  padding: 24px;

}

.cs-professional-card__body h3 {

  margin: 0;
  font-size: 1.45rem;

}

.cs-professional-card__body h3 a {

  color: var(--cs-color-text);
  text-decoration: none;

}

.cs-professional-card__body p {

  margin: 0;

}

.cs-location {

  color: var(--cs-color-muted);

}

.cs-badges {

  display: flex;
  flex-wrap: wrap;
  gap: 7px;

}

.cs-badge {

  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e8eef3;
  font-size: .72rem;
  font-weight: 800;

}

.cs-badge--verified {

  background: #def7e8;
  color: #126a3b;

}

.cs-badge--featured {

  background: #fff0cf;
  color: #8a5400;

}

.cs-pagination .page-numbers {

  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;

}

.cs-empty,.cs-notice {

  padding: 24px;
  border: 1px solid var(--cs-color-border);
  border-radius: 12px;
  background: #fff;

}

.cs-empty {

  text-align: center;

}

.cs-notice--success {

  border-color: #8ad6a8;
  background: #effbf4;

}

.cs-notice--error {

  border-color: #e9a3a3;
  background: #fff4f4;

}

.cs-form-grid {

  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;

}

.cs-field--wide {

  grid-column: 1/-1;

}

.cs-gallery-editor {

  margin: 28px 0;
  padding: 20px;
  border: 1px solid var(--cs-color-border);
  border-radius: 12px;

}

.cs-gallery-editor legend {

  padding: 0 7px;
  font-weight: 850;

}

.cs-gallery-editor__grid {

  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;

}

.cs-gallery-slot img {

  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 8px;
  object-fit: cover;

}

.cs-check {

  font-weight: 600;

}

.cs-check input {

  width: auto;
  min-height: auto;

}

.cs-profile__hero {

  display: grid;
  grid-template-columns: minmax(240px,380px) minmax(0,1fr);
  overflow: hidden;
  border-radius: var(--cs-radius);
  background: linear-gradient(135deg,#063d64,#0879b8);
  color: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-profile__photo {

  display: grid;
  place-items: center;
  min-height: 390px;
  background: #dbeaf2;
  color: var(--cs-color-primary-dark);
  font-size: 6rem;
  font-weight: 850;

}

.cs-profile__photo img {

  width: 100%;
  height: 100%;
  object-fit: cover;

}

.cs-profile__intro {

  display: grid;
  align-content: center;
  justify-items: start;
  padding: clamp(30px,6vw,70px);

}

.cs-profile__intro .cs-kicker {

  margin-top: 18px;
  color: #ffd276;

}

.cs-profile__intro h1 {

  margin: 0;
  font-size: clamp(2.4rem,5vw,4.6rem);
  line-height: 1.05;

}

.cs-profile__location {

  color: rgba(255,255,255,.86);
  font-size: 1.08rem;

}

.cs-profile__actions {

  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;

}

.cs-profile__content {

  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(240px,340px);
  gap: 28px;

}

.cs-profile__content>section,.cs-profile__facts,.cs-work-gallery {

  padding: clamp(24px,4vw,38px);
  border: 1px solid var(--cs-color-border);
  border-radius: var(--cs-radius);
  background: #fff;

}

.cs-profile__facts {

  display: grid;
  align-content: start;
  gap: 18px;

}

.cs-profile__facts>div {

  display: grid;

}

.cs-profile__facts span {

  color: var(--cs-color-muted);

}

.construscript-footer__panel,.construscript-footer__copyright {

  position: relative;
  z-index: 1;

}

.construscript-footer__brand .custom-logo {

  max-width: 180px;
  max-height: 70px;
  width: auto;

}

.construscript-footer__column h2 {

  margin: 0 0 14px;
  font-size: 1rem;

}

.construscript-footer-menu {

  display: grid;
  gap: 8px;

}

.construscript-footer-menu a,.construscript-footer a {

  color: #111;
  text-decoration: none;

}

.cs-company-account,.cs-account-form {

  display: grid;
  gap: 24px;

}

.cs-account-status {

  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding: 22px 26px;
  border: 1px solid var(--cs-color-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-account-status>div {

  display: grid;
  min-width: 170px;

}

.cs-account-status span {

  color: var(--cs-color-muted);

}

.cs-notice {

  padding: 18px 22px;
  border-left: 4px solid var(--cs-color-accent);
  border-radius: 10px;
  background: #fff8df;

}

.cs-notice p {

  margin: 0;

}

.cs-account-form {

  padding: 30px;
  border: 1px solid var(--cs-color-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-form-grid__wide {

  grid-column: 1/-1;

}

.cs-account-form small {

  display: block;
  margin-top: 6px;
  color: var(--cs-color-muted);

}

.cs-company-card__image span {

  font-size: 4rem;
  font-weight: 800;
  color: var(--cs-color-primary);

}

.cs-company-card__body h2 a {

  text-decoration: none;
  color: var(--cs-color-text);

}

.cs-empty-state {

  text-align: center;

}

.cs-company-profile {

  display: grid;
  gap: 26px;

}

.cs-company-profile__identity,.cs-company-profile__content,.cs-company-profile__contacts {

  padding: 30px;
  border: 1px solid var(--cs-color-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-company-profile__identity {

  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  gap: 28px;

}

.cs-company-profile__logo {

  display: grid;
  place-items: center;
  overflow: hidden;
  aspect-ratio: 1;
  border-radius: 18px;
  background: #edf2f5;

}

.cs-company-profile__logo img {

  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;

}

.cs-company-profile__logo span {

  font-size: 4rem;
  font-weight: 800;
  color: var(--cs-color-primary);

}

.cs-company-profile__content {

  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 36px;

}

.cs-company-profile__contacts {

  display: grid;
  align-content: start;
  gap: 10px;
  padding: 24px;
  background: var(--cs-color-background);

}

.cs-company-profile__contacts a {

  text-decoration: none;
  color: var(--cs-color-primary);

}

.cs-account-form label {

  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
  font-weight: 700;

}

.cs-account-form label>span {

  font-size: .9rem;

}

.cs-account-form label input:not([type="checkbox"]):not([type="radio"]),
.cs-account-form label select,
.cs-account-form label textarea {

  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #bdc8d4;
  border-radius: 9px;
  background: #fff;
  color: var(--cs-color-text);

}

.cs-account-form label textarea {

  min-height: 150px;
  resize: vertical;

}

.cs-account-form label input[type="file"] {

  min-height: auto;
  padding: 11px;
  border: 1px dashed #bdc8d4;
  border-radius: 9px;
  background: #f8fafc;

}

.cs-account-form label input:focus,
.cs-account-form label select:focus,
.cs-account-form label textarea:focus {

  border-color: var(--cs-color-primary);
  outline: 3px solid rgba(8,121,184,.16);

}

.error404 .construscript-visual-hero--page h1 {

  font-size: clamp(2.5rem,7vw,5.2rem);
  line-height: 1.05;
  text-align: center;

}

.cs-directory {

  gap: 20px;

}

.cs-directory .cs-search .cs-field {

  gap: 5px;

}

.cs-directory .cs-search .cs-field>span {

  color: var(--cs-color-muted);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .015em;

}

.cs-directory .cs-search .cs-field input,
.cs-directory .cs-search .cs-field select {

  min-height: 40px;
  padding: 8px 10px;
  border-color: #d7dee6;
  border-radius: 8px;
  background: #fff;
  font-size: .9rem;

}

.cs-directory .cs-search .cs-field input:focus,
.cs-directory .cs-search .cs-field select:focus {

  border-color: var(--cs-color-primary);
  outline: 2px solid rgba(8,121,184,.10);

}

.cs-directory .cs-results-count {

  margin-top: 4px;

}

.construscript-brand__default-logo {

  display: inline-flex;
  align-items: center;
  text-decoration: none;

}

.construscript-brand__default-logo img {

  display: block;
  width: auto;
  height: 72px;
  max-width: 96px;
  object-fit: contain;

}

.construscript-visual-hero {

  --cs-hero-image: linear-gradient(135deg,#405a63,#182f39);
  position: relative;
  display: grid;
  overflow: hidden;
  background-image: var(--cs-hero-image);
  background-size: cover;
  color: #fff;
  background-position: center 52%;
  background-repeat: no-repeat;

}

.construscript-visual-hero__overlay {

  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(3,20,29,calc(var(--cs-overlay) + .10)),rgba(3,20,29,var(--cs-overlay)) 58%,rgba(3,20,29,calc(var(--cs-overlay) - .12)));

}

.construscript-visual-hero--page .construscript-visual-hero__overlay {

  background: rgba(3,20,29,var(--cs-overlay));

}

.construscript-featured-grid,
.cs-professional-grid,
.cs-company-grid {

  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 28px;
  align-items: stretch;

}

.construscript-featured-card:hover,
.cs-professional-card:hover,
.cs-company-card:hover {

  transform: translateY(-4px);
  border-color: rgba(8,121,184,.22);
  box-shadow: 0 18px 38px rgba(23,32,51,.16);

}

.construscript-featured-card__body h3,
.cs-professional-card__body h3,
.cs-company-card__body h2 {

  margin: 0;
  font-size: clamp(1.45rem,2vw,2rem);
  line-height: 1.12;
  letter-spacing: -.025em;
  text-transform: none;

}

.construscript-featured-card__body h3 a,
.cs-professional-card__body h3 a,
.cs-company-card__body h2 a {

  color: #05070b;
  text-decoration: none;

}

.construscript-featured-card__body p,
.cs-professional-card__body .cs-profession,
.cs-company-card__body .construscript-eyebrow {

  margin: 4px 0 0;
  color: #111827;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;

}

.cs-professional-card__body .cs-location,
.construscript-featured-card__body small,
.cs-company-card__body>p:not(.construscript-eyebrow) {

  margin: 0;
  color: var(--cs-color-muted);
  font-size: .92rem;

}

.cs-professional-card__body>p:not(.cs-profession):not(.cs-location) {

  display: none;

}

.cs-professional-card .cs-badges {

  order: -1;
  justify-content: center;
  margin-bottom: 2px;

}

@media (max-width:1180px) {

  .construscript-featured-grid,.cs-professional-grid,.cs-company-grid {

    grid-template-columns: repeat(3,minmax(0,1fr));

  }

}

@media (max-width:580px) {

  .construscript-featured-grid,.cs-professional-grid,.cs-company-grid {

    grid-template-columns: 1fr;
    gap: 20px;

  }

  .construscript-featured-card,.cs-professional-card,.cs-company-card {

    min-height: 360px;
    padding: 26px 22px;

  }

  .construscript-featured-card__image,.cs-professional-card__image,.cs-company-card__image {

    width: 126px;
    min-width: 126px;
    height: 126px;
    min-height: 126px;

  }

}

.cs-public-profile__card,.cs-public-profile__section {

  border: 1px solid var(--cs-color-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(23,32,51,.08);

}

.cs-public-profile__avatar {

  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  overflow: hidden;
  border: 2px solid #d9e1e8;
  border-radius: 50%;
  background: #edf2f6;
  color: var(--cs-color-primary-dark);
  font-size: 3rem;
  font-weight: 850;
  box-shadow: 0 0 0 7px #fff,0 0 0 9px #e7edf2;

}

.cs-public-profile__avatar img {

  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;

}

.cs-public-profile__avatar--company img {

  padding: 4px;
  background: #fff;
  object-fit: contain;

}

.cs-public-profile__main {

  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: 0;

}

.cs-public-profile__badges {

  justify-content: center;
  margin: 0 0 2px;

}

.cs-public-profile__main h1 {

  margin: 0;
  color: var(--cs-color-text);
  font-size: clamp(2.25rem,5vw,4rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-transform: none;
  overflow-wrap: anywhere;
  max-width: 100%;

}

.cs-public-profile__role {

  margin: 0;
  color: var(--cs-color-primary);
  font-size: clamp(1rem,2vw,1.2rem);
  font-weight: 800;

}

.cs-public-profile__facts span {

  display: inline-flex;
  align-items: center;
  gap: 7px;

}

.cs-public-profile__facts b {

  color: var(--cs-color-primary);
  font-size: 1rem;
  line-height: 1;

}

.cs-public-profile__actions {

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;

}

.cs-public-profile__section {

  padding: clamp(24px,3vw,34px);

}

.cs-public-profile__section h2 {

  margin: 0 0 16px;
  color: var(--cs-section-heading-color);
  font-size: clamp(1.55rem,3vw,2.1rem);
  line-height: 1.2;
  letter-spacing: -.025em;

}

.cs-public-profile__section .construscript-entry > :first-child {

  margin-top: 0;

}

.cs-public-profile__section .construscript-entry > :last-child {

  margin-bottom: 0;

}

.cs-public-profile__links>div {

  display: flex;
  flex-wrap: wrap;
  gap: 12px;

}

.cs-public-profile__links a {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 16px;
  border: 1px solid var(--cs-color-border);
  border-radius: 9px;
  background: #fff;
  font-weight: 750;
  text-decoration: none;

}

.cs-work-gallery__grid a {

  display: block;
  overflow: hidden;
  border-radius: 12px;
  background: #edf2f6;
  aspect-ratio: 4/3;

}

.cs-work-gallery__grid img {

  aspect-ratio: 4/3;
  border-radius: 11px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;

}

.cs-work-gallery__grid a:hover img {

  transform: scale(1.025);

}

@media (max-width:620px) {

  .cs-public-profile__card {

    padding: 30px 20px;

  }

  .cs-public-profile__avatar {

    width: 116px;
    height: 116px;

  }

  .cs-public-profile__main h1 {

    font-size: 2.25rem;

  }

  .cs-public-profile__facts {

    display: grid;
    justify-items: center;
    gap: 8px;

  }

  .cs-public-profile__actions {

    width: 100%;

  }

  .cs-work-gallery__grid {

    grid-template-columns: 1fr;

  }

}

.construscript-home-hero__content>p:not(.construscript-eyebrow) {

  margin: 24px 0 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(1.05rem,2vw,1.25rem);
  max-width: 740px;
  margin-top: 20px;
  line-height: 1.5;

}

.construscript-actions {

  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;

}

.construscript-home-search-wrap {

  position: relative;
  z-index: 5;
  margin-top: -38px;
  padding-bottom: 0;

}

.construscript-home-search {

  display: grid;
  background: #fff;
  box-shadow: 0 22px 55px rgba(17,37,49,.18);
  grid-template-columns: minmax(235px,.8fr) minmax(0,1.7fr) 96px;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 78px;
  padding: 16px 20px;
  overflow: hidden;
  border: 1px solid rgba(23,32,51,.08);
  border-radius: 15px;

}

.construscript-home-search>div {

  min-width: 0;

}

.construscript-home-search label {

  display: block;
  min-width: 0;
  margin: 0;

}

.construscript-home-search input[type="search"] {

  display: block;
  width: 100%;
  min-width: 0;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 10px 14px;
  border-radius: 8px;

}

.construscript-home-search button {

  border: 0;
  background: var(--cs-color-primary);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  width: 96px;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0 14px;
  border-radius: 8px;
  white-space: nowrap;

}

.construscript-featured-section {

  padding-top: 76px;

}

.cs-directory .cs-search {

  display: grid;
  align-items: end;
  gap: 10px 12px;
  padding: 14px;
  border: 1px solid rgba(23,32,51,.10);
  border-radius: 12px;
  background: rgba(255,255,255,.82);
  box-shadow: none;
  backdrop-filter: blur(8px);
  grid-template-columns: minmax(170px,1.15fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(130px,.8fr) auto;

}

.cs-directory .cs-search .cs-field--wide {

  grid-column: 1/-1;

}

.cs-directory .cs-search__actions {

  grid-column: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-width: max-content;
  white-space: nowrap;
  align-self: end;

}

.cs-public-profile {

  display: grid;
  gap: 24px;
  margin-inline: auto;
  max-width: 1080px;

}

.cs-public-profile__card {

  display: grid;
  justify-items: center;
  gap: 22px;
  padding: 34px clamp(24px,5vw,54px);
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;

}

.cs-public-profile__facts {

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 24px;
  margin-top: 8px;
  color: var(--cs-color-muted);
  font-size: .96rem;
  max-width: 900px;

}

.construscript-brand .custom-logo,.construscript-brand__default-logo img {

  width: var(--cs-logo-width);
  height: auto;
  max-width: none;
  max-height: none;

}

.construscript-visual-hero--home {

  height: auto;
  background-position: center 54%;
  min-height: var(--cs-home-hero-height);

}

.construscript-visual-hero--page {

  place-items: center;
  min-height: var(--cs-page-hero-height);

}

.construscript-featured-card,.construscript-card,.construscript-page,.construscript-profile,.cs-search,.cs-account-form,.cs-account-status,.cs-company-card,.cs-public-profile__card,.cs-public-profile__section,.cs-institutional-card,.cs-contact-card {

  border-radius: var(--cs-card-radius);

}

.cs-contact-grid {

  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 24px;

}

.cs-contact-card,.cs-institutional-card {

  padding: clamp(28px,4vw,44px);
  border: 1px solid var(--cs-color-border);
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-contact-card {

  text-align: center;

}

.cs-contact-card__icon {

  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(8,121,184,.1);
  color: var(--cs-color-primary);
  font-size: 1.7rem;

}

.cs-contact-card h2,.cs-institutional-card h2 {

  margin: 0 0 12px;

}

.cs-contact-card p {

  margin: 0 0 10px;
  color: var(--cs-color-muted);

}

.cs-contact-card a {

  font-weight: 850;
  text-decoration: none;

}

.cs-contact-lead {

  max-width: 760px;
  margin: 0 auto 24px;
  color: var(--cs-color-muted);
  text-align: center;

}

.cs-history-grid {

  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 24px;

}

.cs-history-grid .cs-institutional-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  padding: clamp(26px,3vw,36px);
}

.cs-history-grid .cs-institutional-card h2 {
  margin: 0 0 12px;
  color: var(--cs-section-heading-color);
  font-size: clamp(1.35rem,2.2vw,1.75rem);
  line-height: 1.2;
}

.cs-history-number {

  display: block;
  margin-bottom: 12px;
  color: var(--cs-color-accent);
  font-size: .85rem;
  font-weight: 900;
  letter-spacing: .12em;

}

.cs-history-grid p {

  margin: 0;
  color: var(--cs-color-muted);
  line-height: 1.75;

}

.cs-company-directory {

  display: grid;
  gap: 28px;

}

.cs-company-search {

  display: grid;
  grid-template-columns: minmax(180px,1fr) minmax(150px,.75fr) minmax(120px,.55fr) minmax(150px,.7fr) auto;
  align-items: end;
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--cs-color-border);
  border-radius: var(--cs-card-radius);
  background: #fff;
  box-shadow: var(--cs-shadow);

}

.cs-company-search .cs-field--wide {

  grid-column: 1/-1;

}

.cs-company-search__actions {

  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;

}

.cs-company-search__actions a {

  font-weight: 700;
  text-decoration: none;

}

.cs-company-grid {

  display: grid;
  justify-content: start;
  gap: 24px;
  grid-template-columns: repeat(auto-fit,minmax(260px,300px));

}

.cs-company-card {

  overflow: hidden;
  border: 1px solid var(--cs-color-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--cs-shadow);
  display: flex;
  flex-direction: column;
  min-height: 390px;
  text-align: center;

}

.cs-company-card__image img {

  object-position: center;
  border-radius: inherit;
  background: #fff;
  width: 100%;
  height: 100%;
  padding: 12px;
  object-fit: contain;

}

.cs-company-card__body {

  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  padding: 14px 22px 28px;

}

.cs-company-card__body .cs-badges {

  justify-content: center;

}

.cs-company-card__body h2 {

  margin: 6px 0 10px;
  font-size: 1.55rem;
  line-height: 1.15;

}

.cs-company-card__body .construscript-card-link {

  margin-top: auto;

}

.cs-pagination ul {

  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;

}

.cs-pagination a,.cs-pagination span {

  min-height: 42px;
  align-items: center;
  justify-content: center;
  display: grid;
  place-items: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border: 1px solid var(--cs-color-border);
  border-radius: 8px;
  background: #fff;
  text-decoration: none;

}

.cs-pagination .current {

  border-color: var(--cs-color-primary);
  background: var(--cs-color-primary);
  color: #fff;

}

.cs-company-card__image,
.cs-public-profile__avatar--company {

  background: #fff;
  overflow: hidden;

}

.cs-company-card__image img,
.cs-public-profile__avatar--company img {

  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 10px;
  box-sizing: border-box;

}

.cs-public-profile__avatar--company {

  width: 150px;
  height: 110px;
  border-radius: 16px;

}

.cs-company-card__image {

  display: grid;
  place-items: center;
  text-decoration: none;
  min-height: 132px;
  margin: 30px auto 12px;
  overflow: hidden;
  border: 2px solid #e0e7ed;
  background: #f3f6f8;
  width: 150px;
  height: 110px;
  border-radius: 16px;
  margin-inline: auto;

}

.cs-company-details__grid {

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;

}

.cs-company-details__grid strong {

  display: block;
  margin-bottom: 8px;

}

.cs-company-details__grid p {

  margin: 0 0 16px;

}

@media (max-width: 720px) {

  .cs-company-details__grid {

    grid-template-columns: 1fr;

  }

  .cs-public-profile__avatar--company {

    width: 132px;
    height: 96px;

  }

}

.cs-company-gallery-fields {

  display: grid;
  gap: 10px;

}

.cs-field-title {

  font-weight: 800;

}

.cs-field-help {

  margin: 0;
  color: var(--cs-color-muted);
  font-size: .9rem;

}

.cs-company-gallery-fields__grid {

  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;

}

.cs-company-gallery-fields__grid label {

  padding: 12px;
  border: 1px solid var(--cs-color-border);
  border-radius: 12px;
  background: #f8fafc;

}

.cs-company-gallery-fields__grid img {

  width: 100%;
  height: 120px;
  margin: 0 0 10px;
  border-radius: 8px;
  object-fit: cover;

}

.cs-company-gallery-fields__grid input {

  padding: 8px;
  background: #fff;

}

.cs-company-grid,.cs-professional-grid,.construscript-featured-grid {

  align-items: stretch;

}

.cs-company-card,.cs-professional-card,.construscript-featured-card {

  height: 100%;

}

@media (max-width:560px) {

  .cs-company-gallery-fields__grid {

    grid-template-columns: 1fr;

  }

}

.cs-work-gallery__grid {

  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin-top: 22px;

}

.cs-work-gallery__grid .cs-gallery-item {

  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 4/3;
  border: 1px solid rgba(23,32,51,.10);
  border-radius: 14px;
  background: #edf2f6;
  box-shadow: 0 7px 20px rgba(23,32,51,.08);
  cursor: zoom-in;

}

.cs-work-gallery__grid .cs-gallery-item::after {

  content: "＋";
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: rgba(4,25,35,.72);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .18s ease,transform .18s ease;

}

.cs-work-gallery__grid .cs-gallery-item img {

  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  transition: transform .24s ease,filter .24s ease;

}

.cs-work-gallery__grid .cs-gallery-item:hover img,
.cs-work-gallery__grid .cs-gallery-item:focus-visible img {

  transform: scale(1.035);
  filter: brightness(.88);

}

.cs-work-gallery__grid .cs-gallery-item:hover::after,
.cs-work-gallery__grid .cs-gallery-item:focus-visible::after {

  opacity: 1;
  transform: translateY(0);

}

.cs-work-gallery__grid .cs-gallery-item:focus-visible {

  outline: 3px solid rgba(8,121,184,.28);
  outline-offset: 3px;

}

.cs-gallery-lightbox {

  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(3,14,20,.92);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease,visibility .18s ease;

}

.cs-gallery-lightbox.is-open {

  opacity: 1;
  visibility: visible;

}

.cs-gallery-lightbox__figure {

  display: grid;
  max-width: min(1180px,calc(100vw - 120px));
  max-height: calc(100vh - 80px);
  margin: 0;
  place-items: center;

}

.cs-gallery-lightbox__image {

  display: block;
  max-width: 100%;
  max-height: calc(100vh - 110px);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(0,0,0,.42);
  object-fit: contain;

}

.cs-gallery-lightbox__close,
.cs-gallery-lightbox__nav {

  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  background: rgba(5,26,36,.72);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);

}

.cs-gallery-lightbox__close {

  top: 22px;
  right: 22px;
  width: 46px;
  height: 46px;
  font-size: 1.65rem;

}

.cs-gallery-lightbox__nav {

  top: 50%;
  width: 52px;
  height: 52px;
  font-size: 2rem;
  transform: translateY(-50%);

}

.cs-gallery-lightbox__prev {

  left: 24px;

}

.cs-gallery-lightbox__next {

  right: 24px;

}

.cs-gallery-lightbox__close:hover,
.cs-gallery-lightbox__nav:hover,
.cs-gallery-lightbox__close:focus-visible,
.cs-gallery-lightbox__nav:focus-visible {

  background: var(--cs-color-primary);
  outline: none;

}

.cs-gallery-lightbox__counter {

  position: absolute;
  bottom: 20px;
  left: 50%;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(5,26,36,.72);
  color: #fff;
  font-size: .86rem;
  font-weight: 750;
  transform: translateX(-50%);

}

body.cs-gallery-lightbox-open {

  overflow: hidden;

}

@media (max-width:600px) {

  .cs-work-gallery__grid {

    grid-template-columns: 1fr;
    gap: 14px;

  }

  .cs-gallery-lightbox {

    padding: 12px;

  }

  .cs-gallery-lightbox__figure {

    max-width: calc(100vw - 24px);

  }

  .cs-gallery-lightbox__image {

    max-height: calc(100vh - 90px);
    border-radius: 10px;

  }

  .cs-gallery-lightbox__close {

    top: 10px;
    right: 10px;
    width: 42px;
    height: 42px;

  }

  .cs-gallery-lightbox__nav {

    top: auto;
    bottom: 18px;
    width: 46px;
    height: 46px;
    transform: none;

  }

  .cs-gallery-lightbox__prev {

    left: 16px;

  }

  .cs-gallery-lightbox__next {

    right: 16px;

  }

  .cs-gallery-lightbox__counter {

    bottom: 27px;

  }

}

body.construscript-menu-open {

  overflow: hidden;

}

.construscript-back-to-top {

  position: fixed;
  right: clamp(16px,2.4vw,30px);
  bottom: clamp(16px,2.4vw,30px);
  z-index: 9990;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  background: var(--cs-color-primary);
  color: #fff;
  box-shadow: 0 12px 30px rgba(4,43,67,.28);
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease;

}

.construscript-back-to-top.is-visible {

  opacity: 1;
  visibility: visible;
  transform: translateY(0);

}

.construscript-back-to-top:hover,.construscript-back-to-top:focus-visible {

  background: var(--cs-color-primary-dark);
  outline: 3px solid rgba(8,121,184,.25);
  outline-offset: 3px;

}


.cs-professional-grid,
.construscript-featured-grid {
  justify-content: start;
  grid-template-columns: repeat(auto-fit,minmax(230px,270px));
}

.cs-public-profile--company .cs-public-profile__main h1 {
  max-width: 900px;
  font-size: clamp(2rem,4.3vw,3.45rem);
  line-height: 1.08;
}

.cs-public-profile__fact-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--cs-color-muted);
  text-decoration: none;
}

.cs-public-profile__fact-link:hover,
.cs-public-profile__fact-link:focus-visible {
  color: var(--cs-color-primary);
}

.cs-public-profile__section .construscript-entry {
  max-width: 920px;
}

.cs-work-gallery__grid:has(.cs-gallery-item:nth-child(2):last-child) {
  grid-template-columns: repeat(2,minmax(0,1fr));
  max-width: 760px;
}

@media (max-width:1080px) {

  .construscript-menu-toggle {

    display: block;
    margin-left: auto;

  }

  .is-menu-open .construscript-navigation {

    display: flex;

  }

  .cs-search {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .construscript-featured-grid,.cs-professional-grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .construscript-footer__panel {

    grid-template-columns: 1fr 1fr;

  }

  .construscript-footer__brand {

    grid-column: 1/-1;

  }

  .cs-company-profile__content {

    grid-template-columns: 1fr;

  }

  .cs-directory .cs-search .cs-field--wide {

    grid-column: 1/-1;

  }

  .cs-directory .cs-search__actions {

    grid-column: 1/-1;

  }

  .construscript-brand__default-logo img {

    height: 62px;

  }

  .construscript-visual-hero--page {

    min-height: min(var(--cs-page-hero-height),440px);

  }

  .construscript-visual-hero--home,
  .construscript-home-hero__content {

    min-height: 540px;

  }

  .cs-directory .cs-search {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-directory .cs-search .cs-field--wide,.cs-directory .cs-search__actions {

    grid-column: 1/-1;

  }

  .cs-company-search {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-company-search .cs-field--wide,.cs-company-search__actions {

    grid-column: 1/-1;

  }

  .cs-company-grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-history-grid {

    grid-template-columns: 1fr;

  }

  .construscript-header {

    position: absolute;

  }

  .construscript-header__inner {

    min-height: 72px;

  }

  .construscript-navigation {

    position: absolute;
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
    gap: 4px;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100dvh - var(--cs-header-mobile-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 14px 14px;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.12);
    border-radius: 0 0 14px 14px;
    background: #071f2a;
    box-shadow: 0 18px 34px rgba(0,0,0,.28);

  }

  .construscript-navigation__primary,.construscript-navigation__secondary {

    display: block;
    margin: 0;
    width: 100%;

  }

  .construscript-navigation__secondary {

    padding-top: 4px;
    border-top: 1px solid rgba(255,255,255,.1);

  }

  .construscript-menu {

    display: grid;
    gap: 0;

  }

  .construscript-menu a {

    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border-radius: 7px;

  }

  .construscript-menu a:hover,.construscript-menu a:focus-visible {

    background: rgba(255,255,255,.08);

  }

  .construscript-account-link {

    width: 100%;
    min-height: 42px;
    margin: 4px 0 0;
    justify-content: center;

  }

  .construscript-home-hero__content h1 {

    font-size: clamp(2.8rem,5.7vw,4.35rem);
    max-width: 760px;

  }

  .construscript-home-search {

    grid-template-columns: minmax(180px,.75fr) minmax(0,1.3fr) 92px;

  }

  .cs-company-grid,.cs-professional-grid,.construscript-featured-grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

}

@media (max-width:360px) {

  .construscript-container {

    width: min(calc(100% - 18px),var(--cs-container));

  }

  .construscript-home-hero__content h1 {

    font-size: clamp(1.82rem,10.8vw,2.3rem);
    line-height: 1.06;

  }

  .construscript-home-hero__content>p:not(.construscript-eyebrow) {

    font-size: .89rem;

  }

  .construscript-visual-hero--home,.construscript-home-hero__content {

    min-height: 510px !important;

  }

  .construscript-visual-hero--page h1 {

    font-size: 1.95rem;

  }

  .cs-company-card,.cs-professional-card,.construscript-featured-card {

    width: 100%;

  }

  .construscript-footer__panel {

    padding-inline: 14px;

  }

}

@media (prefers-reduced-motion:reduce) {

  html {

    scroll-behavior: auto;

  }

  *,*::before,*::after {

    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;

  }

}

.construscript-featured-card,.cs-professional-card,.cs-company-card,
.cs-public-profile__card,.cs-public-profile__section,.cs-account-form,
.cs-account-status,.cs-search,.cs-company-search,.cs-contact-card,
.cs-institutional-card {

  box-shadow: 0 12px 35px rgba(23,32,51,var(--cs-card-shadow-opacity));

}

.cs-professional-card__body,.cs-company-card__body,.construscript-featured-card__body {

  padding-left: var(--cs-card-padding);
  padding-right: var(--cs-card-padding);

}

.cs-professional-card__image,.cs-company-card__image,.construscript-featured-card__image {

  width: var(--cs-card-image-size);
  height: var(--cs-card-image-size);
  min-width: var(--cs-card-image-size);
  min-height: var(--cs-card-image-size);

}

.cs-professional-card__body h3,.cs-company-card__body h2,.construscript-featured-card__body h3 {

  font-size: var(--cs-card-title-size);

}

.construscript-footer a,.construscript-footer p,.construscript-footer h2,.construscript-footer h3,.construscript-footer h4 {

  color: var(--cs-footer-text-color);

}

@media (max-width:768px) {

  :root {

    --cs-header-height: 72px;

  }

  .construscript-container {

    width: min(calc(100% - 28px),var(--cs-container));

  }

  .construscript-brand__default-logo img,.construscript-brand .custom-logo {

    max-width: 132px;
    max-height: 52px;

  }

  .construscript-menu-toggle {

    width: 44px;
    height: 44px;

  }

  .construscript-visual-hero--home {

    min-height: 560px !important;
    height: auto;

  }

  .construscript-home-hero__content>p:not(.construscript-eyebrow) {

    max-width: 620px;
    margin-top: 16px;
    font-size: 1rem;
    line-height: 1.55;

  }

  .construscript-home-search-wrap {

    margin-top: -34px;

  }

  .construscript-home-search button {

    width: 100%;

  }

  .construscript-featured-section {

    padding-top: 62px;

  }

  .cs-search,.cs-company-search {

    grid-template-columns: 1fr !important;
    gap: 12px;
    padding: 18px;

  }

  .cs-search .cs-field--wide,.cs-company-search .cs-field--wide,.cs-search__actions,.cs-company-search__actions {

    grid-column: auto !important;

  }

  .cs-search__actions,.cs-company-search__actions {

    display: grid;
    gap: 10px;
    width: 100%;

  }

  .cs-search__actions a,.cs-company-search__actions a {

    text-align: center;

  }

  .cs-company-grid,.cs-professional-grid,.construscript-featured-grid {

    grid-template-columns: 1fr;

  }

  .cs-company-card,.cs-professional-card,.construscript-featured-card {

    width: min(100%,340px);
    min-height: 0;
    margin-inline: auto;

  }

  .cs-account-form,.cs-search,.cs-company-search {

    border-radius: 14px;

  }

  .cs-form-grid {

    grid-template-columns: 1fr !important;

  }

  .cs-form-grid__wide {

    grid-column: auto !important;

  }

  .cs-public-profile__card {

    padding: 28px 18px;

  }

  .cs-public-profile__section {

    padding: 22px 18px;

  }

  .cs-public-profile__main h1 {

    font-size: clamp(2rem,10vw,2.75rem);

  }

  .cs-public-profile__facts {

    display: grid;
    gap: 8px;
    justify-items: center;

  }

  .cs-public-profile__actions {

    display: grid;
    width: 100%;

  }

  .construscript-footer {

    padding-top: 40px;

  }

  .construscript-footer__brand {

    grid-column: auto;

  }

  .construscript-footer__column a,.construscript-footer__column p {

    overflow-wrap: anywhere;

  }

  .construscript-footer__copyright {

    text-align: center;

  }

  .cs-gallery-lightbox__image {

    max-height: calc(100vh - 118px);

  }

  .construscript-home-hero__content,
  .construscript-visual-hero--page .construscript-visual-hero__content {

    text-align: center;

  }

  .construscript-eyebrow,
  .construscript-home-hero__content>p:not(.construscript-eyebrow),
  .construscript-visual-hero--page .construscript-visual-hero__content>p {

    margin-left: auto;
    margin-right: auto;

  }

  .construscript-actions {

    gap: 10px;
    margin-top: 22px;
    justify-content: center;

  }

  .construscript-home-search {

    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px;
    text-align: center;

  }

  .construscript-home-search label,
  .construscript-home-search input {

    text-align: left;

  }

  .construscript-section-heading {

    gap: 10px;
    align-items: center;
    text-align: center;

  }

  .construscript-section-heading>a {

    align-self: center;

  }

  .construscript-featured-grid,
  .cs-professional-grid,
  .cs-company-grid {

    justify-items: center;

  }

  .cs-results-count {

    text-align: center;

  }

  .cs-professional-card__body,
  .cs-company-card__body,
  .construscript-featured-card__body {

    justify-items: center;
    text-align: center;

  }

  .cs-badges {

    justify-content: center;

  }

  .cs-account-status {

    align-items: center;
    text-align: center;

  }

  .cs-account-status>div {

    justify-items: center;
    min-width: 0;
    width: 100%;

  }

  .cs-account-form {

    width: 100%;
    margin-left: auto;
    margin-right: auto;

  }

  .cs-account-form label,
  .cs-account-form .cs-field {

    text-align: left;

  }

  .cs-public-profile__section h2,
  .cs-public-profile__section>p,
  .cs-public-profile__links {

    text-align: center;

  }

  .cs-public-profile__links>div {

    justify-content: center;

  }

  .construscript-footer__panel {

    grid-template-columns: 1fr;
    padding: 26px 20px;
    justify-items: center;
    text-align: center;

  }

  .construscript-footer__brand,
  .construscript-footer__column {

    width: 100%;
    text-align: center;

  }

  .construscript-footer__brand p {

    margin-left: auto;
    margin-right: auto;

  }

  .construscript-footer-menu {

    justify-items: center;
    align-items: center;

  }

  .construscript-footer__column p {

    text-align: center;

  }

  .construscript-visual-hero--home,
  .construscript-home-hero__content {

    min-height: var(--cs-mobile-home-hero-height) !important;

  }

  .construscript-visual-hero--page {

    min-height: var(--cs-mobile-page-hero-height) !important;

  }

  .construscript-home-hero__content {

    min-height: 560px;
    padding-top: calc(var(--cs-header-height) + 24px);
    padding-bottom: 52px;

  }

  .construscript-home-hero__content h1 {

    max-width: 680px;
    font-size: var(--cs-mobile-home-title-size);
    line-height: 1.08;

  }

  .construscript-visual-hero--page .construscript-visual-hero__content {

    padding-top: calc(var(--cs-header-height) + 22px);
    padding-bottom: 26px;

  }

  .construscript-visual-hero--page h1 {

    font-size: var(--cs-mobile-page-title-size);
    line-height: 1.08;

  }

  .construscript-home-hero__content>p:not(.construscript-eyebrow),
  .construscript-visual-hero--page .construscript-visual-hero__content>p {

    font-size: var(--cs-mobile-hero-text-size);
    line-height: 1.48;

  }

  .construscript-section,.construscript-content {

    padding-top: var(--cs-mobile-section-spacing);
    padding-bottom: var(--cs-mobile-section-spacing);

  }

}

@media (max-width:480px) {

  .cs-gallery-editor__grid {

    grid-template-columns: 1fr;

  }

  .construscript-container {

    width: min(calc(100% - 22px),var(--cs-container));

  }

  .construscript-header__inner {

    gap: 12px;
    min-height: 68px;

  }

  .construscript-brand__default-logo img,.construscript-brand .custom-logo {

    max-width: 112px;
    max-height: 46px;

  }

  .construscript-menu-toggle {

    width: 42px;
    height: 42px;
    padding: 8px;

  }

  .construscript-navigation {

    left: 10px;
    right: 10px;
    max-height: calc(100vh - 92px);
    padding: 10px;

  }

  .construscript-visual-hero--home {

    min-height: 540px !important;
    background-position: center 48%;

  }

  .construscript-home-hero__content h1 {

    font-size: clamp(2rem,11vw,2.85rem);
    line-height: 1.03;
    letter-spacing: -.04em;

  }

  .construscript-home-hero__content>p:not(.construscript-eyebrow) {

    font-size: .94rem;
    line-height: 1.5;

  }

  .construscript-home-search-wrap {

    margin-top: -26px;

  }

  .construscript-home-search {

    padding: 15px;
    border-radius: 13px;

  }

  .construscript-featured-section {

    padding-top: 48px;

  }

  .construscript-section-heading h2 {

    font-size: clamp(1.75rem,9vw,2.35rem);

  }

  .construscript-section-heading>a {

    font-size: .95rem;

  }

  .construscript-visual-hero--page {

    min-height: 260px !important;

  }

  .construscript-visual-hero--page h1 {

    font-size: clamp(2rem,11vw,2.75rem);

  }

  .construscript-section,.construscript-content {

    padding-top: 42px;
    padding-bottom: 42px;

  }

  .cs-search,.cs-company-search,.cs-account-form {

    padding: 15px;

  }

  .cs-company-card,.cs-professional-card,.construscript-featured-card {

    width: min(100%,305px);

  }

  .cs-company-card__body,.cs-professional-card__body,.construscript-featured-card__body {

    padding-left: 18px;
    padding-right: 18px;

  }

  .cs-work-gallery__grid {

    gap: 12px;

  }

  .cs-gallery-lightbox__close {

    top: 8px;
    right: 8px;

  }

  .cs-gallery-lightbox__nav {

    bottom: 14px;

  }

  .construscript-footer__panel {

    padding: 22px 16px;
    border-radius: 14px;

  }

  .construscript-home-hero__content h1,
  .construscript-visual-hero--page h1 {

    text-wrap: balance;

  }

  .construscript-actions {

    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    margin-top: 18px;
    justify-items: center;

  }

  .construscript-actions a {

    width: 100%;
    max-width: 360px;

  }

  .cs-search,
  .cs-company-search {

    margin-left: auto;
    margin-right: auto;

  }

  .cs-search__actions,
  .cs-company-search__actions {

    justify-items: center;

  }

  .construscript-back-to-top {

    width: 44px;
    height: 44px;
    font-size: 1.35rem;
    right: 12px;
    bottom: 12px;

  }

  .construscript-home-hero__content {

    min-height: 540px;
    padding-top: 88px;
    padding-bottom: 44px;

  }

  .construscript-visual-hero--page .construscript-visual-hero__content {

    padding-top: 88px;
    padding-bottom: 22px;

  }

  .construscript-eyebrow {

    margin-bottom: 8px;
    letter-spacing: .08em;
    font-size: .69rem;

  }

}

.construscript-footer__brand {

  text-align: center;

}

.construscript-footer__logo {

  display: flex;
  justify-content: center;
  min-height: 82px;
  margin-bottom: 8px;

}

.construscript-footer__brand .custom-logo,
.construscript-footer__default-logo img {

  width: auto;
  max-width: 108px;
  max-height: 82px;
  object-fit: contain;
  filter: drop-shadow(0 5px 10px rgba(10,31,48,.16));

}

.construscript-footer__brand p {

  max-width: 360px;
  margin: 0 auto;
  color: #263548;
  font-size: .98rem;
  font-weight: 500;
  line-height: 1.72;

}

.construscript-footer-menu,
.construscript-footer-contact-list {

  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;

}

.construscript-footer-menu li,
.construscript-footer-contact-list li {

  position: relative;
  min-height: 27px;

}

.construscript-footer-menu a::before {

  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  margin-right: 9px;
  color: #057db8;
  font-size: 1rem;
  font-weight: 900;

}

.construscript-footer-menu a:hover,
.construscript-footer-contact-list a:hover {

  color: #006da4;
  transform: translateX(2px);

}

.construscript-footer-icon {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  margin-right: 9px;
  color: #057db8;
  font-weight: 900;

}

.construscript-footer__copyright {

  text-align: center;
  padding-top: 24px;
  color: #1f2d3d;
  font-size: .9rem;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(255,255,255,.95);

}

@media (max-width:900px) {

  .construscript-featured-grid,.cs-professional-grid,.cs-company-grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-company-gallery-fields__grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-work-gallery__grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-gallery-lightbox {

    padding: 20px;

  }

  .cs-gallery-lightbox__figure {

    max-width: calc(100vw - 80px);

  }

  .cs-gallery-lightbox__prev {

    left: 12px;

  }

  .cs-gallery-lightbox__next {

    right: 12px;

  }

  .construscript-footer__panel {

    grid-template-columns: 1fr 1fr;

  }

  .construscript-footer__brand {

    grid-column: 1/-1;

  }

}

body {

  margin: 0;
  color: var(--cs-color-text);
  font-family: var(--cs-global-font-family);
  font-size: var(--cs-global-body-size);
  line-height: var(--cs-global-body-line-height);
  background: var(--cs-body-background-color);

}

h1,h2,h3,h4,h5,h6 {

  color: var(--cs-global-heading-color);
  font-weight: var(--cs-global-heading-weight);
  letter-spacing: var(--cs-global-heading-letter-spacing);

}

.construscript-section-heading h2,.construscript-content h2 {

  font-size: var(--cs-global-h2-size);

}

.construscript-container {

  margin-inline: auto;
  width: min(calc(100% - (var(--cs-body-horizontal-padding) * 2)),var(--cs-body-content-width));

}

.construscript-section,.construscript-content {

  padding-top: var(--cs-body-section-spacing);
  padding-bottom: var(--cs-body-section-spacing);

}

.construscript-header__inner {

  display: flex;
  align-items: center;
  gap: 24px;
  min-height: var(--cs-header-desktop-height);

}

.construscript-menu {

  gap: var(--cs-header-menu-gap);

}

.construscript-menu a,.construscript-account-link {

  color: var(--cs-header-menu-color);
  font-size: var(--cs-header-menu-size);

}

.construscript-menu a:hover,.construscript-account-link:hover {

  color: var(--cs-header-menu-hover-color);

}

.construscript-account-link {

  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-left: 7px;
  padding: 7px 13px;
  border: 1px solid rgba(255,255,255,.7);
  color: #fff;
  font-weight: 750;
  text-decoration: none;
  border-radius: var(--cs-header-account-radius);

}

.construscript-home-hero__content {

  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 560px;
  padding-top: calc(var(--cs-header-height) + 28px);
  padding-bottom: 78px;
  max-width: var(--cs-hero-content-width);
  padding-inline: var(--cs-hero-content-padding);

}

.construscript-home-hero__content h1 {

  margin: 0;
  text-shadow: 0 3px 22px rgba(0,0,0,.38);
  width: min(100%,920px);
  max-width: 920px;
  letter-spacing: -.048em;
  text-wrap: balance;
  font-size: var(--cs-hero-home-title-size);
  font-weight: var(--cs-hero-title-weight);
  line-height: var(--cs-hero-title-line-height);

}

.construscript-visual-hero--page h1 {

  margin: 0;
  letter-spacing: -.045em;
  text-shadow: 0 3px 18px rgba(0,0,0,.42);
  font-size: var(--cs-hero-page-title-size);
  font-weight: var(--cs-hero-title-weight);
  line-height: var(--cs-hero-title-line-height);

}

.construscript-visual-hero__content p,.construscript-home-hero__content>p {

  font-size: var(--cs-hero-subtitle-size);

}

.construscript-featured-card,.cs-professional-card,.cs-company-card,.cs-account-form,.cs-company-profile__identity,.cs-company-profile__content,.cs-company-profile__contacts,.cs-contact-card,.cs-history-card {

  padding: var(--cs-cards-padding-global);
  border: var(--cs-cards-border-width) solid var(--cs-cards-border-color);
  border-radius: var(--cs-cards-radius-global);
  background: var(--cs-cards-background-color);
  box-shadow: 0 var(--cs-cards-shadow-y) var(--cs-cards-shadow-blur) rgba(23,32,51,var(--cs-cards-shadow-opacity-global));
  text-align: var(--cs-cards-text-align);

}

.construscript-featured-card:hover,.cs-professional-card:hover,.cs-company-card:hover {

  transform: translateY(calc(var(--cs-cards-hover-lift) * -1));

}

.construscript-featured-card__image,.cs-professional-card__image,.cs-company-card__image {

  width: var(--cs-cards-image-size-global);
  min-width: var(--cs-cards-image-size-global);
  height: var(--cs-cards-image-size-global);
  min-height: var(--cs-cards-image-size-global);

}

.construscript-featured-card__body h3,.cs-professional-card__body h3,.cs-company-card__body h2 {

  font-size: var(--cs-cards-title-size-global);
  color: var(--cs-cards-title-color);

}

.construscript-featured-card__body p,.cs-professional-card__body p,.cs-company-card__body p {

  font-size: var(--cs-cards-text-size);
  color: var(--cs-cards-text-color);

}

input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea {

  min-height: var(--cs-form-field-height);
  border: var(--cs-form-field-border-width) solid var(--cs-form-field-border-color);
  border-radius: var(--cs-form-field-radius);
  background: var(--cs-form-field-bg-color);

}

.construscript-footer {

  --cs-footer-image: linear-gradient(135deg,#eef3f5,#fff);
  position: relative;
  overflow: hidden;
  background-color: var(--cs-footer-background-color);
  color: var(--cs-footer-text-color);
  padding: 54px 0 20px;
  background-image: var(--cs-footer-image);
  background-position: center;
  background-repeat: no-repeat;
  font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  min-height: var(--cs-footer-min-height);
  padding-top: var(--cs-footer-top-padding);
  padding-bottom: var(--cs-footer-bottom-padding);
  background-size: var(--cs-footer-background-size);

}

.construscript-footer__brand .custom-logo,.construscript-footer__default-logo img {

  width: var(--cs-footer-logo-size);
  height: var(--cs-footer-logo-size);

}

.construscript-footer__brand h2,.construscript-footer__column h2 {

  font-size: var(--cs-footer-heading-size);
  color: var(--cs-footer-heading-color-complete);

}

.construscript-footer__brand p,.construscript-footer-menu a,.construscript-footer-contact-list a {

  font-size: var(--cs-footer-text-size);
  color: var(--cs-footer-link-color);

}

.construscript-footer-menu a:hover,.construscript-footer-contact-list a:hover {

  color: var(--cs-footer-link-hover-color);

}

.construscript-visual-hero h1,
.construscript-visual-hero h2,
.construscript-home-hero__content h1 {

  color: var(--cs-hero-title-color);

}

.construscript-visual-hero__content p,
.construscript-home-hero__content>p:not(.construscript-eyebrow) {

  color: var(--cs-hero-subtitle-color);

}

.construscript-header {

  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  color: var(--cs-header-text);
  backdrop-filter: blur(var(--cs-header-blur)) saturate(var(--cs-header-saturation));
  -webkit-backdrop-filter: blur(var(--cs-header-blur)) saturate(var(--cs-header-saturation));
  border-bottom: 1px solid rgba(255,255,255,var(--cs-header-border-opacity));
  box-shadow: 0 8px 28px rgba(0,0,0,var(--cs-header-shadow-opacity));
  background: rgba(var(--cs-header-bg-rgb),var(--cs-header-bg-opacity));

}

.construscript-menu a,
.construscript-account-link {

  color: var(--cs-header-menu-color);

}

.construscript-menu a:hover,
.construscript-menu a:focus-visible,
.construscript-account-link:hover,
.construscript-account-link:focus-visible {

  color: var(--cs-header-menu-hover-color);

}

.construscript-featured-card,
.cs-professional-card,
.cs-company-card,
.cs-contact-card,
.cs-history-card,
.cs-account-form,
.cs-company-profile__identity,
.cs-company-profile__content,
.cs-company-profile__contacts {

  border-width: var(--cs-cards-border-width);
  border-style: solid;
  border-color: var(--cs-cards-border-color);
  border-radius: var(--cs-cards-radius-global);
  background: var(--cs-cards-background-color);
  box-shadow: 0 var(--cs-cards-shadow-y) var(--cs-cards-shadow-blur) rgba(23,32,51,var(--cs-cards-shadow-opacity-global));
  text-align: var(--cs-cards-text-align);

}

.cs-contact-card,
.cs-history-card,
.cs-account-form,
.cs-company-profile__identity,
.cs-company-profile__content,
.cs-company-profile__contacts {

  padding: var(--cs-cards-padding-global);

}

.cs-professional-card__avatar,
.cs-company-card__logo,
.construscript-featured-card__avatar {

  width: var(--cs-cards-image-size-global);
  height: var(--cs-cards-image-size-global);

}

.construscript-featured-card__body h3,
.construscript-featured-card__body h3 a,
.cs-professional-card__body h3,
.cs-professional-card__body h3 a,
.cs-company-card__body h2,
.cs-company-card__body h2 a,
.cs-contact-card h2,
.cs-history-card h2,
.cs-account-form h2,
.cs-company-profile__identity h1,
.cs-company-profile__content h2,
.cs-company-profile__contacts h2 {

  color: var(--cs-cards-title-color);

}

.construscript-featured-card__body p,
.construscript-featured-card__body small,
.cs-professional-card__body p,
.cs-professional-card__body small,
.cs-company-card__body p,
.cs-company-card__body small,
.cs-contact-card p,
.cs-history-card p,
.cs-account-form p,
.cs-company-profile__content p,
.cs-company-profile__contacts p {

  color: var(--cs-cards-text-color);

}

.construscript-footer__overlay {

  position: absolute;
  inset: 0;
  background: rgba(255,255,255,var(--cs-footer-overlay-opacity));

}

.construscript-footer__panel {

  display: grid;
  background-color: var(--cs-footer-panel-color);
  color: var(--cs-footer-text-color);
  grid-template-columns: 1.08fr 1fr .9fr;
  align-items: start;
  gap: var(--cs-footer-columns-gap);
  padding: var(--cs-footer-panel-padding-y) var(--cs-footer-panel-padding-x);
  border: 1px solid rgba(var(--cs-footer-border-color-complete),var(--cs-footer-border-opacity));
  border-radius: var(--cs-footer-panel-radius-complete);
  box-shadow: 0 18px 50px rgba(13,24,38,var(--cs-footer-shadow-opacity));
  text-align: var(--cs-footer-text-align);
  background: linear-gradient(145deg,
    rgba(var(--cs-footer-glass-color),var(--cs-footer-panel-opacity)),
    rgba(var(--cs-footer-glass-color),calc(var(--cs-footer-panel-opacity) - .06))
  );
  border-color: rgba(var(--cs-footer-border-color-complete),var(--cs-footer-border-opacity));
  -webkit-backdrop-filter: blur(var(--cs-footer-glass-blur)) saturate(var(--cs-footer-glass-saturation));
  backdrop-filter: blur(var(--cs-footer-glass-blur)) saturate(var(--cs-footer-glass-saturation));

}

.construscript-footer__brand h2,
.construscript-footer__column h2 {

  margin: 0 0 16px;
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.2;
  color: var(--cs-footer-heading-color-complete);

}

.construscript-footer__brand p,
.construscript-footer__copyright,
.construscript-footer__copyright p {

  color: var(--cs-footer-body-color);

}

.construscript-footer-menu a,
.construscript-footer-contact-list a {

  display: inline-flex;
  align-items: center;
  font-size: .98rem;
  font-weight: 550;
  line-height: 1.5;
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
  transition: color .18s ease,transform .18s ease;
  color: var(--cs-footer-link-color);

}

.construscript-footer-menu a:hover,
.construscript-footer-menu a:focus-visible,
.construscript-footer-contact-list a:hover,
.construscript-footer-contact-list a:focus-visible {

  color: var(--cs-footer-link-hover-color);

}

:root {

  --cs-color-primary: #0879b8;
  --cs-color-primary-dark: #075f90;
  --cs-color-accent: #f4b400;
  --cs-color-text: #172033;
  --cs-color-muted: #5b6475;
  --cs-color-surface: #ffffff;
  --cs-color-background: #f5f7fa;
  --cs-color-border: #dfe5ec;
  --cs-header-text: #ffffff;
  --cs-overlay: .56;
  --cs-shadow: 0 18px 50px rgba(23, 32, 51, .12);
  --cs-radius: 18px;
  --cs-container: 1180px;
  --cs-header-height: 92px;
  --cs-page-hero-height: 340px;
  --cs-global-font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cs-global-body-size: 16px;
  --cs-global-body-line-height: 1.65;
  --cs-global-heading-weight: 800;
  --cs-global-heading-letter-spacing: -.4px;
  --cs-global-h2-size: 42px;
  --cs-global-mobile-body-size: 15px;
  --cs-global-mobile-h2-size: 30px;
  --cs-global-heading-color: #172033;
  --cs-global-muted-color: #5b6475;
  --cs-header-desktop-height: 80px;
  --cs-header-mobile-height: 68px;
  --cs-header-bg-color: #061b26;
  --cs-header-bg-opacity: .72;
  --cs-header-blur: 12px;
  --cs-header-saturation: 125%;
  --cs-header-border-color: #fff;
  --cs-header-border-opacity: .16;
  --cs-header-shadow-opacity: .12;
  --cs-header-menu-color: #fff;
  --cs-header-menu-hover-color: #79cfff;
  --cs-header-menu-size: 14px;
  --cs-header-menu-mobile-size: 15px;
  --cs-header-menu-gap: 24px;
  --cs-header-account-radius: 8px;
  --cs-hero-home-title-size: 64px;
  --cs-hero-page-title-size: 60px;
  --cs-hero-title-weight: 800;
  --cs-hero-title-line-height: 1.04;
  --cs-hero-subtitle-size: 18px;
  --cs-hero-content-width: 920px;
  --cs-hero-content-padding: 0px;
  --cs-hero-mobile-title-size: 34px;
  --cs-hero-mobile-page-title-size: 30px;
  --cs-hero-mobile-subtitle-size: 15px;
  --cs-hero-mobile-content-padding: 16px;
  --cs-body-content-width: 1180px;
  --cs-body-section-spacing: 72px;
  --cs-body-mobile-section-spacing: 42px;
  --cs-body-horizontal-padding: 24px;
  --cs-body-mobile-horizontal-padding: 14px;
  --cs-body-background-color: #f5f7fa;
  --cs-body-surface-color: #fff;
  --cs-cards-radius-global: 18px;
  --cs-cards-padding-global: 28px;
  --cs-cards-mobile-padding: 20px;
  --cs-cards-border-width: 1px;
  --cs-cards-shadow-y: 16px;
  --cs-cards-shadow-blur: 40px;
  --cs-cards-shadow-opacity-global: .11;
  --cs-cards-title-size-global: 24px;
  --cs-cards-mobile-title-size: 21px;
  --cs-cards-text-size: 16px;
  --cs-cards-image-size-global: 124px;
  --cs-cards-mobile-image-size: 110px;
  --cs-cards-hover-lift: 4px;
  --cs-cards-background-color: #fff;
  --cs-cards-border-color: #dfe5ec;
  --cs-cards-title-color: #172033;
  --cs-cards-text-color: #5b6475;
  --cs-cards-text-align: center;
  --cs-button-height: 46px;
  --cs-button-radius: 9px;
  --cs-button-font-size: 15px;
  --cs-button-font-weight: 750;
  --cs-button-bg-color: #0879b8;
  --cs-button-text-color: #fff;
  --cs-button-hover-bg-color: #075f90;
  --cs-form-field-height: 48px;
  --cs-form-field-radius: 9px;
  --cs-form-field-border-width: 1px;
  --cs-form-field-bg-color: #fff;
  --cs-form-field-border-color: #bdc8d4;
  --cs-footer-min-height: 360px;
  --cs-footer-top-padding: 54px;
  --cs-footer-bottom-padding: 28px;
  --cs-footer-panel-opacity: .82;
  --cs-footer-glass-blur: 18px;
  --cs-footer-glass-saturation: 130%;
  --cs-footer-panel-padding-y: 30px;
  --cs-footer-panel-padding-x: 36px;
  --cs-footer-panel-radius-complete: 18px;
  --cs-footer-border-opacity: .24;
  --cs-footer-shadow-opacity: .18;
  --cs-footer-heading-size: 20px;
  --cs-footer-text-size: 15px;
  --cs-footer-logo-size: 72px;
  --cs-footer-columns-gap: 44px;
  --cs-footer-mobile-padding: 20px;
  --cs-footer-glass-color: 255,255,255;
  --cs-footer-heading-color-complete: #172033;
  --cs-footer-link-color: #243247;
  --cs-footer-link-hover-color: #0879b8;
  --cs-footer-border-color-complete: 115,129,147;
  --cs-footer-text-align: left;
  --cs-footer-background-size: cover;
  --cs-header-bg-rgb: 6,27,38;
  --cs-hero-title-color: #fff;
  --cs-hero-subtitle-color: #fff;
  --cs-footer-body-color: #243247;
  --cs-footer-overlay-opacity: .18;
  --cs-section-heading-color: #172033;

}

.construscript-section-heading h2,
.construscript-featured-section .construscript-section-heading h2,
.construscript-content > h2,
.construscript-content .construscript-section-heading h2,
.cs-public-profile__section h2 {

  color: var(--cs-section-heading-color);

}

.construscript-featured-card,
.cs-professional-card,
.cs-company-card {

  position: relative;
  min-width: 0;
  border: 1px solid rgba(23,32,51,.09);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(23,32,51,.13);
  text-align: center;
  transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  min-height: 360px;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;

}

.construscript-featured-card__image,
.cs-professional-card__image,
.cs-company-card__image {

  padding: 0;
  box-shadow: 0 0 0 1px rgba(23,32,51,.14);
  color: var(--cs-color-primary);
  font-size: 3rem;
  font-weight: 850;
  text-decoration: none;
  margin-bottom: 18px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: var(--cs-cards-image-size-global);
  height: var(--cs-cards-image-size-global);
  min-width: var(--cs-cards-image-size-global);
  min-height: var(--cs-cards-image-size-global);
  margin: var(--cs-cards-padding-global) auto 0;
  border: 3px solid #e4ebf1;
  border-radius: 50%;
  background: #eef3f7;
  overflow: hidden;

}

.construscript-featured-card__image img,
.cs-professional-card__image img,
.cs-company-card__image img {

  padding: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: inherit;

}

.construscript-featured-card__body,
.cs-professional-card__body,
.cs-company-card__body {

  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  padding: var(--cs-cards-padding-global);
  text-align: var(--cs-cards-text-align);
  width: 100%;
  box-sizing: border-box;

}

@media (max-width:767px) {

  .construscript-header__inner {
    min-height: 64px;
    padding-inline: 14px;
  }

  .construscript-brand .custom-logo,
  .construscript-brand__default-logo img {
    width: auto;
    max-width: 112px;
    max-height: 46px;
  }

  .construscript-menu-toggle {
    width: 44px;
    height: 44px;
    padding: 10px;
  }

  .construscript-navigation {
    top: 100%;
    left: 0;
    right: 0;
    justify-content: flex-start;
    gap: 6px;
    max-height: none;
    overflow-y: visible;
    padding: 8px 14px 12px;
    border-radius: 0 0 14px 14px;
  }

  .construscript-navigation__primary,
  .construscript-navigation__secondary {
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  .construscript-navigation__secondary {
    padding-top: 2px;
  }

  .construscript-menu {
    gap: 2px;
  }

  .construscript-menu a,
  .construscript-account-link {
    min-height: 38px;
    padding: 7px 9px;
  }

  .construscript-account-link {
    margin-top: 2px;
  }

  .construscript-home-hero__content {
    width: min(calc(100% - 28px), 680px);
    min-height: 500px;
    padding-top: 88px;
    padding-bottom: 34px;
  }

  .construscript-home-hero__content h1 {
    max-width: 100%;
    font-size: clamp(2rem,9vw,3rem);
    line-height: 1.04;
    letter-spacing: -.035em;
  }

  .construscript-home-hero__content > p:not(.construscript-eyebrow) {
    margin-top: 14px;
    font-size: .98rem;
    line-height: 1.55;
  }

  .construscript-home-hero__actions {
    width: 100%;
    margin-top: 20px;
  }

  .construscript-home-hero__actions .cs-button {
    width: 100%;
  }

  .construscript-footer__panel {
    gap: 10px;
    padding: 16px 14px;
  }

  .construscript-footer__brand,
  .construscript-footer__column {
    text-align: center;
  }

  .construscript-footer-menu {
    justify-items: center;
  }

  .construscript-back-to-top {
    right: 12px;
    bottom: max(14px,env(safe-area-inset-bottom));
    width: 42px;
    height: 42px;
  }

  .construscript-back-to-top.is-near-footer,
  body.construscript-menu-open .construscript-back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
  }

  .cs-contact-grid {
    grid-template-columns: 1fr;
  }

  .cs-contact-card {
    padding: 28px 20px;
  }

  .cs-history-grid .cs-institutional-card {
    padding: 26px 22px;
  }

  .cs-public-profile--company .cs-public-profile__main h1 {
    font-size: clamp(1.9rem,9vw,2.7rem);
  }

  .cs-public-profile__avatar--company {
    width: 144px;
    height: 108px;
  }

  .cs-work-gallery__grid:has(.cs-gallery-item:nth-child(2):last-child) {
    grid-template-columns: 1fr;
    max-width: none;
  }


  .admin-bar .construscript-header {

    top: 46px;

  }

  .construscript-brand .custom-logo {

    max-width: 135px;
    max-height: 58px;

  }

  .construscript-featured-grid,.construscript-feature-grid,.cs-professional-grid,.cs-form-grid,.cs-profile__content,.construscript-profile,.construscript-footer__panel {

    grid-template-columns: 1fr;

  }

  .cs-search {

    grid-template-columns: 1fr;

  }

  .cs-gallery-editor__grid {

    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .cs-profile__hero {

    grid-template-columns: 1fr;

  }

  .cs-profile__photo {

    min-height: 300px;

  }

  .cs-profile__intro {

    padding: 30px;

  }

  .cs-work-gallery__grid {

    grid-template-columns: 1fr;

  }

  .cs-company-grid,.cs-company-profile__identity {

    grid-template-columns: 1fr;

  }

  .cs-company-profile__logo {

    max-width: 180px;

  }

  .cs-form-grid__wide {

    grid-column: auto;

  }

  .cs-account-form {

    padding: 22px;

  }

  .cs-account-status {

    align-items: stretch;
    flex-direction: column;

  }

  .cs-directory {

    gap: 16px;

  }

  .cs-directory .cs-search .cs-field--wide,
	.cs-directory .cs-search__actions {

    grid-column: auto;

  }

  .cs-directory .cs-search__actions {

    display: grid;
    grid-template-columns: 1fr auto;
    width: 100%;

  }

  .construscript-brand__default-logo img {

    height: 52px;

  }

  .construscript-visual-hero {

    background-position: center center;

  }

  .construscript-visual-hero--page {

    min-height: 390px;

  }

  .construscript-visual-hero--home,
  .construscript-home-hero__content {

    min-height: 610px;

  }

  .construscript-home-search-wrap {

    margin-top: -32px;

  }

  .construscript-home-search {

    grid-template-columns: 1fr;
    gap: 10px;
    padding: 17px;

  }

  .construscript-home-search button {

    width: 100%;

  }

  .construscript-featured-section {

    padding-top: 62px;

  }

  .cs-directory .cs-search {

    padding: 12px;
    gap: 9px;
    grid-template-columns: 1fr;

  }

  .cs-directory .cs-search .cs-field--wide,.cs-directory .cs-search__actions {

    grid-column: auto;

  }

  .cs-contact-grid,.cs-company-search,.cs-company-grid {

    grid-template-columns: 1fr;

  }

  .cs-company-search .cs-field--wide,.cs-company-search__actions {

    grid-column: auto;

  }

  .cs-company-search__actions {

    align-items: stretch;
    flex-direction: column;

  }

  .construscript-visual-hero--home {

    min-height: max(600px,var(--cs-home-hero-height));

  }

  .construscript-footer {

    min-height: 0;
    padding: 18px 0 10px;
    background-position: center;

  }

  .construscript-footer__brand {

    grid-column: auto;

  }

  .construscript-footer__brand,
  .construscript-footer__column {

    text-align: center;

  }

  .construscript-footer-menu,
  .construscript-footer-contact-list {

    justify-items: center;

  }

  .construscript-footer-menu a,
  .construscript-footer-contact-list a {

    justify-content: center;
    font-size: 1rem;

  }

  .construscript-footer__brand h2,
  .construscript-footer__column h2 {

    font-size: 1.22rem;

  }

  .construscript-footer__brand p {

    font-size: .96rem;

  }

  body {

    font-size: var(--cs-global-mobile-body-size);

  }

  .construscript-container {

    width: min(calc(100% - (var(--cs-body-mobile-horizontal-padding) * 2)),var(--cs-body-content-width));

  }

  .construscript-header__inner {

    min-height: var(--cs-header-mobile-height);

  }

  .construscript-navigation a,.construscript-account-link {

    font-size: var(--cs-header-menu-mobile-size);

  }

  .construscript-home-hero__content {

    padding-top: calc(var(--cs-header-height) + 36px);
    padding-bottom: 92px;
    padding-inline: var(--cs-hero-mobile-content-padding);
    text-align: center;

  }

  .construscript-home-hero__content h1 {

    line-height: 1.01;
    font-size: var(--cs-hero-mobile-title-size);

  }

  .construscript-visual-hero--page h1 {

    font-size: var(--cs-hero-mobile-page-title-size);

  }

  .construscript-visual-hero__content p,.construscript-home-hero__content>p {

    font-size: var(--cs-hero-mobile-subtitle-size);

  }

  .construscript-section,.construscript-content {

    padding-top: var(--cs-body-mobile-section-spacing);
    padding-bottom: var(--cs-body-mobile-section-spacing);

  }

  .construscript-section-heading h2,.construscript-content h2 {

    font-size: var(--cs-global-mobile-h2-size);

  }

  .construscript-featured-card,.cs-professional-card,.cs-company-card,.cs-account-form,.cs-company-profile__identity,.cs-company-profile__content,.cs-company-profile__contacts,.cs-contact-card,.cs-history-card {

    padding: var(--cs-cards-mobile-padding);

  }

  .construscript-featured-card__image,.cs-professional-card__image,.cs-company-card__image {

    width: var(--cs-cards-mobile-image-size);
    min-width: var(--cs-cards-mobile-image-size);
    height: var(--cs-cards-mobile-image-size);
    min-height: var(--cs-cards-mobile-image-size);

  }

  .construscript-featured-card__body h3,.cs-professional-card__body h3,.cs-company-card__body h2 {

    font-size: var(--cs-cards-mobile-title-size);

  }

  .construscript-footer__panel {

    grid-template-columns: 1fr;
    gap: 10px;
    border-radius: 18px;
    background: linear-gradient(145deg,rgba(255,255,255,.92),rgba(240,246,249,.87));
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    backdrop-filter: blur(24px) saturate(140%);
    padding: 16px 14px;
    text-align: center;

  }

  .construscript-footer-menu,.construscript-footer-contact-list {

    align-items: center;
    gap: 2px;

  }

  .construscript-footer__brand .custom-logo,
  .construscript-footer__default-logo img {

    width: 50px;
    height: 50px;

  }

  .construscript-footer__brand h2,
  .construscript-footer__column h2 {

    margin-bottom: 6px;

  }

  .construscript-footer__copyright {

    padding-top: 6px;
    font-size: .75rem;

  }

  .construscript-featured-card__body,
  .cs-professional-card__body,
  .cs-company-card__body,
  .cs-contact-card,
  .cs-history-card,
  .cs-account-form,
  .cs-company-profile__identity,
  .cs-company-profile__content,
  .cs-company-profile__contacts {

    padding: var(--cs-cards-mobile-padding);

  }

  .cs-professional-card__avatar,
  .cs-company-card__logo,
  .construscript-featured-card__avatar {

    width: var(--cs-cards-mobile-image-size);
    height: var(--cs-cards-mobile-image-size);

  }

  .construscript-featured-card__image,
  .cs-professional-card__image,
  .cs-company-card__image {

    width: var(--cs-cards-mobile-image-size);
    height: var(--cs-cards-mobile-image-size);
    min-width: var(--cs-cards-mobile-image-size);
    min-height: var(--cs-cards-mobile-image-size);
    margin: var(--cs-cards-mobile-padding) auto 0;

  }

  .construscript-section-heading {

    flex-direction: column;
    align-items: center;
    text-align: center;

  }

  .construscript-section-heading>a {

    align-self: center;

  }

}

@media (max-width:767px) and (max-height:620px) {
  .construscript-navigation {
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
  }
}

/* ========================================================================== */
/* Alpha 30 — refinamento responsivo conservador                              */
/* Escopo: composição de grids, mobile, uploads e densidade visual.           */
/* Não altera regras de negócio, dados, templates ou integrações.             */
/* ========================================================================== */

/* Em telas amplas, linhas incompletas ficam visualmente equilibradas. */
@media (min-width: 1090px) {
  .construscript-featured-grid,
  .cs-professional-grid,
  .cs-company-grid {
    justify-content: center;
  }
}

/* Impede que controles e textos gerados pelo Core provoquem overflow. */
.cs-account-form,
.cs-search,
.cs-company-search,
.cs-company-gallery-fields,
.cs-company-gallery-fields__grid,
.cs-company-gallery-fields__grid label,
.cs-account-form label,
.cs-account-form input,
.cs-account-form select,
.cs-account-form textarea {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.cs-account-form input[type="file"],
.cs-company-gallery-fields__grid input[type="file"] {
  width: 100%;
  overflow: hidden;
  color: var(--cs-color-muted);
  font-size: .88rem;
}

.cs-account-form input[type="file"]::file-selector-button,
.cs-company-gallery-fields__grid input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  background: #eaf4fa;
  color: #075f8f;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.cs-account-form input[type="file"]::file-selector-button:hover,
.cs-company-gallery-fields__grid input[type="file"]::file-selector-button:hover {
  background: #dceef8;
}

@media (max-width: 767px) {
  /* Home: mantém impacto visual, mas reduz rolagem antes do conteúdo útil. */
  .construscript-visual-hero--home,
  .construscript-home-hero__content {
    min-height: 500px !important;
  }

  .construscript-home-hero__content {
    padding-top: 82px;
    padding-bottom: 34px;
  }

  .construscript-home-hero__content h1 {
    font-size: clamp(1.95rem, 9vw, 2.65rem);
    line-height: 1.04;
  }

  .construscript-home-hero__content > p:not(.construscript-eyebrow) {
    margin-top: 11px;
    font-size: .92rem;
    line-height: 1.45;
  }

  .construscript-actions {
    gap: 8px;
    margin-top: 16px;
  }

  .construscript-actions a {
    min-height: 42px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .construscript-home-search-wrap {
    margin-top: -28px;
  }

  .construscript-home-search {
    gap: 9px;
    padding: 14px;
  }

  .construscript-featured-section {
    padding-top: 44px;
  }

  /* Diretórios: filtro compacto sem retirar nenhum campo. */
  .cs-search,
  .cs-company-search {
    gap: 8px;
    padding: 13px;
  }

  .cs-search label,
  .cs-company-search label {
    gap: 5px;
  }

  .cs-search input,
  .cs-search select,
  .cs-company-search input,
  .cs-company-search select {
    min-height: 42px;
  }

  .cs-search__actions,
  .cs-company-search__actions {
    gap: 8px;
  }

  .cs-search__actions button,
  .cs-company-search__actions button,
  .cs-search__actions a,
  .cs-company-search__actions a {
    min-height: 42px;
  }

  /* Cards: mantém uma coluna no telefone, reduzindo espaços vazios. */
  .cs-professional-grid,
  .cs-company-grid,
  .construscript-featured-grid {
    gap: 18px;
  }

  .cs-professional-card,
  .cs-company-card,
  .construscript-featured-card {
    width: min(100%, 305px);
  }

  .cs-professional-card__body,
  .cs-company-card__body,
  .construscript-featured-card__body {
    gap: 6px;
    padding: 14px 16px 18px;
  }

  .cs-professional-card__image,
  .cs-company-card__image,
  .construscript-featured-card__image {
    margin-top: 16px;
  }

  .cs-professional-card__body h3,
  .cs-company-card__body h2,
  .construscript-featured-card__body h3 {
    margin-top: 4px;
    margin-bottom: 5px;
    line-height: 1.14;
  }

  .cs-professional-card__body p,
  .cs-company-card__body p,
  .construscript-featured-card__body p {
    margin-top: 2px;
    margin-bottom: 2px;
  }

  /* Formulários de conta/empresa: densidade e leitura melhores. */
  .cs-account-form {
    padding: 16px;
  }

  .cs-account-form .cs-form-grid {
    gap: 14px;
  }

  .cs-account-form textarea {
    min-height: 132px;
  }

  /* Galeria da empresa: uma coluna real em celular para não cortar uploads. */
  .cs-company-gallery-fields__grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .cs-company-gallery-fields__grid label {
    width: 100%;
    padding: 10px;
    overflow: hidden;
  }

  .cs-company-gallery-fields__grid img {
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  .cs-account-form input[type="file"],
  .cs-company-gallery-fields__grid input[type="file"] {
    padding: 7px;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  /* Rodapé: preserva o desenho atual e reduz altura no telefone. */
  .construscript-footer {
    padding-top: 14px;
    padding-bottom: 8px;
  }

  .construscript-footer__panel {
    gap: 7px;
    padding: 14px 12px;
  }

  .construscript-footer__logo {
    min-height: 54px;
    margin-bottom: 3px;
  }

  .construscript-footer__brand p {
    line-height: 1.5;
  }

  .construscript-footer-menu,
  .construscript-footer-contact-list {
    gap: 1px;
  }

  .construscript-footer__copyright {
    padding-top: 5px;
  }
}

@media (max-width: 480px) {
  .construscript-container {
    width: min(calc(100% - 20px), var(--cs-container));
  }

  .construscript-visual-hero--home,
  .construscript-home-hero__content {
    min-height: 490px !important;
  }

  .construscript-home-hero__content {
    padding-top: 80px;
    padding-bottom: 32px;
  }

  .construscript-home-hero__content h1 {
    font-size: clamp(1.9rem, 9vw, 2.45rem);
  }

  .construscript-visual-hero--page {
    min-height: 250px !important;
  }

  .construscript-visual-hero--page .construscript-visual-hero__content {
    padding-top: 82px;
    padding-bottom: 18px;
  }

  .construscript-section,
  .construscript-content {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .cs-results-count {
    margin-top: 2px;
    margin-bottom: 0;
  }

  .cs-account-status {
    gap: 12px;
    padding: 18px 16px;
  }

  .cs-account-status .construscript-button,
  .cs-account-status .cs-button {
    width: 100%;
  }

  .cs-account-form input[type="file"]::file-selector-button,
  .cs-company-gallery-fields__grid input[type="file"]::file-selector-button {
    margin-right: 7px;
    padding: 8px 9px;
    font-size: .82rem;
  }
}


/* Alpha.32 — navegação contextual de produção */
.construscript-account-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 7px;
}
.construscript-account-actions .construscript-account-link {
  margin-left: 0;
}
.construscript-logout-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 10px;
  color: var(--cs-header-menu-color);
  font-size: var(--cs-header-menu-size);
  font-weight: 750;
  text-decoration: none;
  border-radius: var(--cs-header-account-radius);
}
.construscript-logout-link:hover,
.construscript-logout-link:focus-visible {
  color: var(--cs-header-menu-hover-color);
  background: rgba(255,255,255,.12);
}
.construscript-footer__copyright {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.construscript-footer__legal {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.construscript-footer__legal a {
  color: var(--cs-footer-link-color);
  font-size: .92em;
  text-decoration: none;
}
.construscript-footer__legal a:hover,
.construscript-footer__legal a:focus-visible {
  color: var(--cs-footer-link-hover-color);
  text-decoration: underline;
}
@media (max-width: 900px) {
  .construscript-account-actions {
    width: 100%;
    margin-left: 0;
    margin-top: 4px;
  }
  .construscript-account-actions .construscript-account-link,
  .construscript-account-actions .construscript-logout-link {
    flex: 1;
  }
  .construscript-footer__copyright {
    justify-content: center;
    text-align: center;
  }
  .construscript-footer__legal {
    justify-content: center;
  }
}

/* Alpha.36 — refinamento visual do rodapé
 * Escopo estrito: acabamento, proporção e responsividade do rodapé.
 * Não altera menus, busca, contas, IBGE, Mercado Pago ou templates funcionais.
 */
.construscript-footer {
  padding-top: clamp(30px, 4vw, 52px);
  padding-bottom: 18px;
}

.construscript-footer__panel {
  grid-template-columns: minmax(260px, 1.2fr) minmax(180px, .8fr) minmax(180px, .75fr);
  gap: clamp(28px, 4vw, 62px);
  padding: clamp(30px, 4vw, 48px) clamp(28px, 5vw, 64px);
  border-radius: 24px;
  border-color: rgba(var(--cs-footer-border-color-complete), .52);
  box-shadow: 0 22px 54px rgba(13, 24, 38, .13);
  background: linear-gradient(145deg, rgba(255,255,255,.90), rgba(248,252,255,.78));
}

.construscript-footer__brand {
  display: grid;
  justify-items: center;
  align-content: start;
}

.construscript-footer__logo {
  min-height: 72px;
  margin-bottom: 7px;
}

.construscript-footer__brand .custom-logo,
.construscript-footer__default-logo img {
  max-width: 96px;
  max-height: 72px;
}

.construscript-footer__brand h2,
.construscript-footer__column h2 {
  margin-bottom: 14px;
}

.construscript-footer__brand p {
  max-width: 330px;
  line-height: 1.62;
}

.construscript-footer__column {
  padding-top: 6px;
}

.construscript-footer-menu,
.construscript-footer-contact-list {
  gap: 8px;
}

.construscript-footer-menu a,
.construscript-footer-contact-list a {
  min-height: 30px;
}

.construscript-footer__copyright {
  margin-top: 14px;
  padding: 16px 4px 0;
  border-top: 1px solid rgba(32, 56, 76, .12);
  font-size: .86rem;
  line-height: 1.45;
}

.construscript-footer__copyright p {
  margin: 0;
}

.construscript-footer__legal {
  gap: 18px;
}

.construscript-footer__legal a {
  font-weight: 650;
}

@media (max-width: 900px) {
  .construscript-footer__panel {
    grid-template-columns: 1fr 1fr;
    gap: 26px 36px;
    padding: 30px 28px;
  }

  .construscript-footer__brand {
    grid-column: 1 / -1;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(32, 56, 76, .10);
  }

  .construscript-footer__links,
  .construscript-footer__contact {
    text-align: center;
  }

  .construscript-footer-menu,
  .construscript-footer-contact-list {
    justify-items: center;
  }
}

@media (max-width: 620px) {
  .construscript-footer {
    padding-top: 22px;
    padding-bottom: 12px;
  }

  .construscript-footer__panel {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 24px 18px;
    border-radius: 20px;
  }

  .construscript-footer__brand,
  .construscript-footer__column {
    width: 100%;
    padding: 0 0 20px;
  }

  .construscript-footer__brand {
    grid-column: auto;
    margin-bottom: 20px;
  }

  .construscript-footer__links {
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(32, 56, 76, .10);
  }

  .construscript-footer__contact {
    padding-bottom: 0;
  }

  .construscript-footer__logo {
    min-height: 60px;
  }

  .construscript-footer__brand .custom-logo,
  .construscript-footer__default-logo img {
    max-width: 82px;
    max-height: 60px;
  }

  .construscript-footer__brand p {
    max-width: 300px;
    font-size: .92rem;
    line-height: 1.55;
  }

  .construscript-footer__brand h2,
  .construscript-footer__column h2 {
    margin-bottom: 10px;
  }

  .construscript-footer-menu,
  .construscript-footer-contact-list {
    gap: 4px;
  }

  .construscript-footer__copyright {
    display: grid;
    justify-items: center;
    gap: 9px;
    margin-top: 10px;
    padding-top: 12px;
  }

  .construscript-footer__legal {
    justify-content: center;
    gap: 12px 16px;
  }
}

/* Alpha.37 — rodapé reestruturado
 * Mudança estrutural perceptível no desktop e no mobile.
 * Escopo: somente rodapé; nenhuma regra de Core, busca, conta, IBGE ou pagamentos.
 */
.construscript-footer {
  min-height: 0;
  padding: clamp(22px, 3vw, 34px) 0 16px;
}

.construscript-footer__panel {
  display: block;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--cs-footer-border-color-complete), .28);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,251,254,.84));
  box-shadow: 0 16px 38px rgba(13, 24, 38, .11);
}

.construscript-footer__main {
  display: grid;
  grid-template-columns: minmax(300px, 1.35fr) minmax(180px, .72fr) minmax(180px, .72fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(24px, 3vw, 34px) clamp(26px, 4.5vw, 54px) 22px;
}

.construscript-footer__brand {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 18px;
  row-gap: 4px;
  justify-items: start;
  align-items: center;
  text-align: left;
}

.construscript-footer__logo {
  grid-row: 1 / span 2;
  grid-column: 1;
  min-height: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.construscript-footer__brand .custom-logo,
.construscript-footer__default-logo img {
  width: 72px;
  height: 72px;
  max-width: 72px;
  max-height: 72px;
  object-fit: contain;
}

.construscript-footer__brand h2 {
  grid-column: 2;
  margin: 0;
  font-size: clamp(1.05rem, 1.4vw, 1.22rem);
  line-height: 1.18;
  text-transform: lowercase;
}

.construscript-footer__brand p {
  grid-column: 2;
  margin: 0;
  max-width: 360px;
  font-size: .93rem;
  line-height: 1.48;
}

.construscript-footer__column {
  padding: 0;
  align-self: center;
}

.construscript-footer__column h2 {
  margin: 0 0 9px;
  font-size: 1.02rem;
  line-height: 1.2;
}

.construscript-footer-menu,
.construscript-footer-contact-list {
  gap: 3px;
  margin: 0;
}

.construscript-footer-menu li,
.construscript-footer-contact-list li {
  margin: 0;
}

.construscript-footer-menu a,
.construscript-footer-contact-list a {
  min-height: 25px;
  font-size: .91rem;
  line-height: 1.35;
}

.construscript-footer__copyright {
  margin: 0 clamp(26px, 4.5vw, 54px);
  padding: 13px 0 14px;
  border-top: 1px solid rgba(32, 56, 76, .12);
  font-size: .78rem;
  line-height: 1.35;
}

.construscript-footer__legal {
  gap: 12px 18px;
}

.construscript-footer__legal a {
  font-size: .82rem;
  font-weight: 650;
}

@media (max-width: 900px) {
  .construscript-footer__main {
    grid-template-columns: minmax(260px, 1.15fr) 1fr 1fr;
    gap: 22px;
    padding: 24px 24px 18px;
  }

  .construscript-footer__brand {
    grid-column: auto;
    padding: 0;
    border: 0;
    margin: 0;
  }

  .construscript-footer__copyright {
    margin: 0 24px;
  }
}

@media (max-width: 700px) {
  .construscript-footer {
    padding: 18px 0 10px;
  }

  .construscript-footer__panel {
    border-radius: 18px;
  }

  .construscript-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
    padding: 20px 18px 14px;
  }

  .construscript-footer__brand {
    grid-column: 1 / -1;
    grid-template-columns: 58px minmax(0, 1fr);
    column-gap: 13px;
    row-gap: 2px;
    padding: 0 0 15px;
    margin: 0 0 14px;
    border-bottom: 1px solid rgba(32, 56, 76, .10);
  }

  .construscript-footer__brand .custom-logo,
  .construscript-footer__default-logo img {
    width: 54px;
    height: 54px;
    max-width: 54px;
    max-height: 54px;
  }

  .construscript-footer__brand h2 {
    font-size: 1rem;
  }

  .construscript-footer__brand p {
    max-width: none;
    font-size: .84rem;
    line-height: 1.4;
  }

  .construscript-footer__links,
  .construscript-footer__contact {
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    text-align: left;
  }

  .construscript-footer-menu,
  .construscript-footer-contact-list {
    justify-items: start;
    gap: 1px;
  }

  .construscript-footer__column h2 {
    margin-bottom: 6px;
    font-size: .94rem;
  }

  .construscript-footer-menu a,
  .construscript-footer-contact-list a {
    min-height: 23px;
    font-size: .84rem;
  }

  .construscript-footer__copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px 14px;
    margin: 0 18px;
    padding: 11px 0 12px;
    text-align: left;
    font-size: .69rem;
  }

  .construscript-footer__legal {
    justify-content: flex-end;
    gap: 8px 12px;
  }

  .construscript-footer__legal a {
    font-size: .72rem;
    white-space: nowrap;
  }
}

@media (max-width: 430px) {
  .construscript-footer__panel {
    margin-left: 12px;
    margin-right: 12px;
    width: auto;
  }

  .construscript-footer__main {
    grid-template-columns: 1.05fr .95fr;
    padding: 16px 14px 11px;
    gap: 0 12px;
  }

  .construscript-footer__brand {
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 10px;
    padding-bottom: 12px;
    margin-bottom: 11px;
  }

  .construscript-footer__brand .custom-logo,
  .construscript-footer__default-logo img {
    width: 46px;
    height: 46px;
    max-width: 46px;
    max-height: 46px;
  }

  .construscript-footer__brand h2 {
    font-size: .92rem;
  }

  .construscript-footer__brand p {
    font-size: .76rem;
    line-height: 1.34;
  }

  .construscript-footer__column h2 {
    font-size: .86rem;
  }

  .construscript-footer-menu a,
  .construscript-footer-contact-list a {
    min-height: 21px;
    font-size: .77rem;
  }

  .construscript-footer-icon {
    width: 16px;
    min-width: 16px;
  }

  .construscript-footer__copyright {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 7px;
    margin: 0 14px;
    padding: 9px 0 10px;
    text-align: center;
  }

  .construscript-footer__legal {
    justify-content: center;
  }
}


/* Alpha.68.7 — equilíbrio do cabeçalho com Central de Ajuda
 * Escopo estrito: navegação desktop. Mantém os links do menu secundário
 * em uma linha sem reduzir a legibilidade nem alterar o menu mobile. */
@media (min-width: 1081px) {
  .construscript-header .construscript-container {
    width: min(calc(100% - 40px), 1360px);
  }

  .construscript-header__inner {
    gap: 18px;
  }

  .construscript-navigation {
    min-width: 0;
    gap: 14px;
  }

  .construscript-navigation__primary .construscript-menu,
  .construscript-navigation__secondary .construscript-menu {
    gap: 8px;
  }

  .construscript-menu a,
  .construscript-account-link,
  .construscript-logout-link {
    white-space: nowrap;
  }

  .construscript-menu a {
    padding-inline: 8px;
  }

  .construscript-account-actions {
    gap: 6px;
    margin-left: 4px;
    flex: 0 0 auto;
  }
}


/* alpha.68.7.17 — LCP, entrega de imagens e acessibilidade */
.construscript-visual-hero.has-cs-hero-media{background-image:none}
.construscript-visual-hero__picture{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0}
.construscript-visual-hero__media{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.construscript-visual-hero--home .construscript-visual-hero__media{object-position:center 54%}
.construscript-visual-hero__overlay{z-index:0}
.construscript-brand__default-logo picture,.construscript-footer__default-logo picture{display:block;line-height:0}

/* Perfil profissional — refinamento harmônico padrão */
.cs-public-profile--professional .cs-public-profile__main h1{
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.cs-public-profile--professional .cs-public-profile__section h2{
  font-size:clamp(1.35rem,2.25vw,1.78rem);
  line-height:1.18;
  letter-spacing:-.02em;
  margin-bottom:14px;
}
.cs-public-profile--professional .cs-public-profile__links>div{
  gap:10px;
}
.cs-public-profile--professional .cs-public-profile__links a{
  min-height:40px;
  padding:7px 14px;
}

/* Obras realizadas: uma única faixa horizontal.
   No desktop, até quatro obras ficam lado a lado.
   Em telas menores, a faixa mantém as fotos em linha e permite
   navegação horizontal suave, com snap visual entre os cartões. */
.cs-public-profile--professional .cs-work-gallery__grid{
  display:flex;
  flex-wrap:nowrap;
  width:100%;
  max-width:840px;
  margin:18px auto 0;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 10px;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-gutter:stable;
}
.cs-public-profile--professional .cs-work-gallery__grid .cs-gallery-item{
  flex:0 0 calc((100% - 48px)/4);
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  border-radius:12px;
  box-shadow:0 6px 16px rgba(23,32,51,.07);
  transition:transform .22s ease,box-shadow .22s ease;
}
.cs-public-profile--professional .cs-work-gallery__grid .cs-gallery-item:hover,
.cs-public-profile--professional .cs-work-gallery__grid .cs-gallery-item:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(23,32,51,.12);
}
.cs-public-profile--professional .cs-work-gallery__grid::-webkit-scrollbar{
  height:7px;
}
.cs-public-profile--professional .cs-work-gallery__grid::-webkit-scrollbar-track{
  background:rgba(23,32,51,.06);
  border-radius:999px;
}
.cs-public-profile--professional .cs-work-gallery__grid::-webkit-scrollbar-thumb{
  background:rgba(0,121,183,.38);
  border-radius:999px;
}
@media(max-width:860px){
  .cs-public-profile--professional .cs-work-gallery__grid{
    max-width:620px;
    padding-right:44px;
  }
  .cs-public-profile--professional .cs-work-gallery__grid .cs-gallery-item{
    flex-basis:44%;
  }
}
@media(max-width:620px){
  .cs-public-profile--professional .cs-public-profile__main h1{
    font-size:2rem;
  }
  .cs-public-profile--professional .cs-public-profile__section h2{
    font-size:1.45rem;
  }
  .cs-public-profile--professional .cs-work-gallery__grid{
    max-width:100%;
    gap:12px;
    padding-right:54px;
  }
  .cs-public-profile--professional .cs-work-gallery__grid .cs-gallery-item{
    flex-basis:82%;
  }
}

/* Alpha.68.7.26 — rodapé responsivo e ícones modernos
 * Escopo: somente rodapé. Mantém desktop e celular em retrato já homologados.
 */
.construscript-footer-menu a::before{
  content:"›";
  width:21px;
  height:21px;
  min-width:21px;
  margin-right:9px;
  border:1px solid rgba(5,125,184,.28);
  border-radius:7px;
  background:rgba(5,125,184,.07);
  color:#057db8;
  font-size:1.18rem;
  font-weight:700;
  line-height:1;
  transform:none;
}
.construscript-footer-icon{
  width:22px;
  min-width:22px;
  height:22px;
  margin-right:9px;
}
.cs-footer-svg-icon{
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cs-footer-svg-icon__fill{
  fill:currentColor;
  stroke:none;
}
.construscript-footer-contact-list li{
  display:flex;
  align-items:center;
}
.construscript-footer-contact-list a{
  display:inline-flex;
  align-items:center;
}

/* Celular/tablet em paisagem: evita quatro colunas comprimidas.
 * Marca em largura total, Links/Obras em duas colunas e Contato em faixa horizontal.
 */
@media (orientation:landscape) and (max-width:1100px) and (max-height:620px){
  .construscript-footer{
    padding:14px 0 82px;
  }
  .construscript-footer__panel{
    width:min(calc(100% - 28px),1040px);
    border-radius:18px;
  }
  .construscript-footer__main{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px 28px !important;
    padding:20px 24px 16px !important;
    align-items:start;
  }
  .construscript-footer__brand{
    grid-column:1 / -1 !important;
    grid-template-columns:56px minmax(0,1fr) !important;
    grid-template-rows:auto auto;
    column-gap:14px !important;
    row-gap:2px !important;
    padding:0 0 14px !important;
    margin:0 !important;
    border-bottom:1px solid rgba(32,56,76,.10) !important;
  }
  .construscript-footer__brand .custom-logo,
  .construscript-footer__default-logo img{
    width:52px !important;
    height:52px !important;
    max-width:52px !important;
    max-height:52px !important;
  }
  .construscript-footer__brand h2{
    font-size:1rem !important;
  }
  .construscript-footer__brand p{
    max-width:none !important;
    font-size:.82rem !important;
    line-height:1.35 !important;
  }
  .construscript-footer__column{
    min-width:0;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    text-align:left !important;
  }
  .construscript-footer__column h2{
    margin:0 0 8px !important;
    font-size:.92rem !important;
  }
  .construscript-footer-menu,
  .construscript-footer-contact-list{
    justify-items:start !important;
    gap:4px !important;
  }
  .construscript-footer-menu a,
  .construscript-footer-contact-list a{
    min-height:28px !important;
    font-size:.82rem !important;
    line-height:1.25 !important;
  }
  .construscript-footer__contact{
    grid-column:1 / -1;
    padding-top:12px !important;
    border-top:1px solid rgba(32,56,76,.10) !important;
  }
  .construscript-footer__contact .construscript-footer-contact-list{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 18px !important;
  }
  .construscript-footer__contact .construscript-footer-contact-list li{
    min-height:30px;
  }
  .cs-footer-collapse__toggle{
    display:none !important;
  }
  .cs-footer-collapse__panel[hidden]{
    display:block !important;
  }
  .construscript-footer__copyright{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:wrap;
    gap:8px 18px !important;
    margin:0 24px !important;
    padding:12px 0 14px !important;
    text-align:center !important;
    font-size:.72rem !important;
  }
  .construscript-footer__legal{
    justify-content:center !important;
  }
}

/* Alpha.68.7.27 — comunicado institucional reutilizável na Home. */
.construscript-home-growth{
  padding-top:clamp(34px,5vw,64px);
  padding-bottom:clamp(38px,6vw,76px);
}

/* Alpha.68.7.28 — acabamento final de espaçamento entre seções da Home.
   Aplicado apenas ao desktop; o comportamento mobile homologado permanece intacto. */
@media (min-width: 761px){
  .construscript-featured-section{
    padding-bottom:28px;
  }

  .construscript-featured-section + .construscript-home-growth{
    padding-top:26px;
    padding-bottom:30px;
  }

  .construscript-home-growth + .construscript-section--content{
    padding-top:26px;
  }
}

/* Alpha.68.7.29 — uniformização dos três cards da página Nossa História. */
@media (min-width: 761px){
  .cs-history-grid{
    grid-auto-rows:1fr;
    align-items:stretch;
  }

  .cs-history-grid .cs-institutional-card{
    height:100%;
    min-height:250px;
  }

  .cs-history-editorial .cs-history-gutenberg > .wp-block-columns{
    align-items:stretch !important;
    gap:24px;
  }

  .cs-history-editorial .cs-history-gutenberg > .wp-block-columns > .wp-block-column{
    display:flex;
    align-self:stretch !important;
  }

  .cs-history-editorial .cs-history-gutenberg .cs-institutional-card{
    display:flex;
    width:100%;
    height:100%;
    min-height:250px;
    flex-direction:column;
    justify-content:flex-start;
  }
}

.cs-history-grid .cs-institutional-card,
.cs-history-editorial .cs-history-gutenberg .cs-institutional-card{
  border-radius:16px;
}

.cs-history-grid .cs-history-number,
.cs-history-editorial .cs-history-gutenberg .cs-history-number{
  margin:0 0 16px;
}

.cs-history-grid .cs-institutional-card h2,
.cs-history-editorial .cs-history-gutenberg .cs-institutional-card h2{
  margin:0 0 16px;
}

@media (max-width: 760px){
  .cs-history-grid .cs-institutional-card,
  .cs-history-editorial .cs-history-gutenberg .cs-institutional-card{
    min-height:0;
    height:auto;
  }
}

/* Alpha.68.7.30 — Portfólio público de Projetos. */
.cs-projects-archive,
.cs-project-single{background:#f4f7fa;color:#172033}
.cs-projects-archive__hero,
.cs-project-single__hero{
	padding:clamp(54px,7vw,92px) 0 clamp(40px,5vw,64px);
	background:linear-gradient(135deg,#0c2536 0%,#123d57 100%);
	color:#fff;
}
.cs-projects-archive__hero h1,
.cs-project-single__hero h1{
	max-width:900px;
	margin:6px 0 12px!important;
	color:#fff!important;
	font-size:clamp(2.2rem,5vw,4.4rem)!important;
	line-height:1.02!important;
	letter-spacing:-.045em;
}
.cs-projects-archive__hero p,
.cs-project-single__lead{max-width:760px;margin:0;color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.65}
.cs-projects-kicker{
	margin:0!important;
	color:#f4b400!important;
	font-size:.76rem!important;
	font-weight:900!important;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.cs-projects-archive__content,
.cs-project-single__body{padding-top:clamp(34px,5vw,64px);padding-bottom:clamp(54px,7vw,90px)}
.cs-projects-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cs-projects-filter a{
	display:inline-flex;align-items:center;min-height:38px;padding:7px 13px;border:1px solid #d5e0e8;border-radius:999px;
	background:#fff;color:#31465a;text-decoration:none;font-size:.83rem;font-weight:800
}
.cs-projects-filter a:hover,.cs-projects-filter a.is-active{border-color:#0879b8;background:#0879b8;color:#fff}
.cs-projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cs-project-card{overflow:hidden;border:1px solid #e0e7ed;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(19,45,64,.07)}
.cs-project-card__image{display:block;aspect-ratio:16/10;overflow:hidden;background:#dfeaf0}
.cs-project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.cs-project-card:hover .cs-project-card__image img{transform:scale(1.025)}
.cs-project-card__placeholder{display:grid;width:100%;height:100%;place-items:center;color:#6e7f8d;font-weight:800}
.cs-project-card__body{padding:20px}
.cs-project-card__category{margin:0 0 7px!important;color:#0879b8;font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cs-project-card h2{margin:0 0 11px!important;font-size:1.3rem!important;line-height:1.25!important}
.cs-project-card h2 a{color:#172033;text-decoration:none}
.cs-project-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.cs-project-card__meta span{padding:5px 8px;border-radius:7px;background:#f0f5f8;color:#4b5d6e;font-size:.72rem;font-weight:750}
.cs-project-card__excerpt{margin:0 0 14px!important;color:#627184;font-size:.88rem;line-height:1.55}
.cs-project-card__link{color:#0879b8;font-size:.86rem;font-weight:850;text-decoration:none}
.cs-projects-empty{padding:42px;border:1px dashed #cbd8e1;border-radius:18px;background:#fff;text-align:center}
.cs-projects-pagination{margin-top:30px}
.cs-project-single__cover{overflow:hidden;margin:0 0 28px;border-radius:22px;background:#e7eef3;box-shadow:0 18px 42px rgba(16,44,62,.10)}
.cs-project-single__cover img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}
.cs-project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:34px}
.cs-project-facts div{padding:14px 15px;border:1px solid #dfe7ed;border-radius:13px;background:#fff}
.cs-project-facts span{display:block;margin-bottom:4px;color:#718091;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.cs-project-facts strong{display:block;color:#21374a;font-size:.94rem}
.cs-project-single__content{max-width:900px;margin:0 auto 46px;color:#3e5063;font-size:1rem;line-height:1.75}
.cs-project-single__content h2,.cs-project-single__content h3{color:#172033}
.cs-project-section-heading{margin-bottom:18px}
.cs-project-section-heading h2{margin:5px 0 0!important;font-size:clamp(1.6rem,3vw,2.3rem)!important;color:#172033!important}
.cs-project-gallery{margin-top:40px}
.cs-project-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cs-project-gallery__grid a{display:block;overflow:hidden;aspect-ratio:4/3;border-radius:14px;background:#e7eef3}
.cs-project-gallery__grid img{width:100%;height:100%;object-fit:cover;transition:transform .24s ease}
.cs-project-gallery__grid a:hover img{transform:scale(1.025)}
.cs-project-contact{
	display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:54px;padding:28px 30px;
	border-radius:20px;background:#0d293b;color:#fff
}
.cs-project-contact h2{margin:5px 0 7px!important;color:#fff!important;font-size:clamp(1.5rem,3vw,2.2rem)!important}
.cs-project-contact p{max-width:680px;margin:0;color:rgba(255,255,255,.78);line-height:1.55}
.cs-project-contact__button{
	flex:0 0 auto;display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 16px;border-radius:11px;
	background:#0879b8;color:#fff!important;text-decoration:none;font-weight:850
}
@media(max-width:900px){
	.cs-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cs-project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
	.cs-projects-grid{grid-template-columns:1fr}
	.cs-project-facts{grid-template-columns:1fr 1fr}
	.cs-project-gallery__grid{grid-template-columns:1fr 1fr}
	.cs-project-contact{align-items:stretch;flex-direction:column;padding:22px}
	.cs-project-contact__button{width:100%}
}
@media(max-width:390px){
	.cs-project-facts,.cs-project-gallery__grid{grid-template-columns:1fr}
}
