/* STLM ENGENHARIA — PREMIUM CORPORATE OVERRIDES
   Direção: site institucional leve, corporativo e sem aparência promocional. */
:root {
  --grafite: #1e2327;
  --grafite-mid: #262b30;
  --grafite-light: #323840;
  --grafite-soft: #4a5159;
  --bordo: #7a1f2b;
  --bordo-hover: #8f2a37;
  --off-white: #f7f7f5;
  --light: #f1f1ee;
  --light-border: #e3e1dc;
  --text: #1e2327;
  --text-muted: #62676c;
  --text-light: #8a8e92;
  --shadow-sm: 0 2px 10px rgba(30, 35, 39, 0.05);
  --shadow: 0 12px 36px rgba(30, 35, 39, 0.08);
  --shadow-lg: 0 24px 80px rgba(30, 35, 39, 0.13);
  --header-h: 78px;
}
body {
  background: #fff;
  color: var(--text);
}
.container {
  max-width: 1280px;
}
.section,
#quem-somos,
#segmentos,
#obras-home,
#capacidade,
#diferenciais,
#processo {
  padding: 112px 0;
}
.section-label {
  font-size: 0.64rem;
  letter-spacing: 0.22em;
  margin-bottom: 18px;
  color: var(--bordo);
}
.section-label::before {
  width: 36px;
  height: 1px;
}
.section-title {
  font-weight: 750;
  letter-spacing: -0.035em;
  line-height: 1.04;
}
p {
  line-height: 1.82;
}
.btn {
  border-radius: 0;
  letter-spacing: 0.105em;
  box-shadow: none !important;
}
.btn--primary {
  background: var(--bordo);
  border-color: var(--bordo);
}
.btn--primary:hover {
  background: var(--bordo-hover);
  border-color: var(--bordo-hover);
  transform: none;
}
.btn--outline-dark {
  border-color: #c8c6c0;
  color: var(--grafite);
  background: #fff;
}
.btn--outline-dark:hover {
  background: var(--grafite);
  border-color: var(--grafite);
}
#loading-screen {
  display: none !important;
}
#header {
  background: rgba(30, 35, 39, 0.7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
#header.scrolled {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--light-border);
  box-shadow: 0 8px 30px rgba(30, 35, 39, 0.06);
}
#header.scrolled .nav-link {
  color: #575d63;
}
#header.scrolled .nav-link:hover,
#header.scrolled .nav-link.active {
  color: var(--grafite);
}
#header.scrolled .menu-toggle span {
  background: var(--grafite);
}
#hero {
  min-height: 100svh;
  background: var(--grafite);
}
.hero-bg img,
.hero-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
}
.hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(20, 24, 28, 0.86) 0%,
    rgba(20, 24, 28, 0.65) 36%,
    rgba(20, 24, 28, 0.24) 72%,
    rgba(20, 24, 28, 0.12) 100%
  );
}
.hero-body {
  align-items: center;
  padding-top: var(--header-h);
}
.hero-copy {
  max-width: 820px;
  padding-top: 52px;
}
.hero-kicker {
  margin-bottom: 32px;
}
.hero-kicker-line {
  width: 48px;
  background: rgba(255, 255, 255, 0.42);
}
.hero-kicker-text {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.64rem;
  letter-spacing: 0.24em;
}
.hero-title {
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 850;
  letter-spacing: -0.06em;
  margin-bottom: 24px;
  text-transform: none;
}
.hero-subline {
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #fff;
  max-width: 790px;
  margin-bottom: 18px;
  line-height: 1.35;
}
.hero-tagline {
  font-size: clamp(0.98rem, 1.45vw, 1.15rem);
  max-width: 620px;
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 42px;
}
.hero-actions {
  gap: 12px;
}
.hero-actions .btn--outline {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
}
#quem-somos {
  background: #fff;
  border-bottom: 1px solid var(--light-border);
}
.quem-somos-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 92px;
}
.quem-somos-body {
  font-size: 1.05rem;
  max-width: 720px;
  color: #4c535a;
}
.quem-facts {
  border: 0;
  background: #fff;
  box-shadow: 0 1px 0 var(--light-border) inset;
}
.quem-fact {
  padding: 28px 0 28px 28px;
  border-bottom: 1px solid var(--light-border);
}
.quem-fact-label {
  font-size: 0.92rem;
}
.quem-fact-desc {
  font-size: 0.86rem;
  color: #6a7076;
}
#segmentos {
  background: var(--off-white);
}
.segmentos-grid {
  gap: 18px;
  background: transparent;
  border: 0;
}
.segmento-card {
  border: 1px solid var(--light-border);
  padding: 36px 32px;
  background: #fff;
  min-height: 224px;
}
.segmento-card:hover {
  background: #fff;
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.segmento-icon {
  color: var(--bordo);
  opacity: 0.82;
  width: 30px;
  height: 30px;
}
.segmento-name {
  font-size: 1rem;
  letter-spacing: -0.01em;
}
.segmento-desc {
  font-size: 0.88rem;
  color: #656b70;
}
#obras-home {
  background: #fff;
}
#obras-home .section-title {
  font-size: clamp(2.1rem, 4vw, 3.25rem);
}
.works-editorial {
  height: 620px;
  background: #fff;
  border: 0;
  gap: 18px;
}
.works-stack {
  gap: 18px;
}
.work-featured,
.work-stacked {
  box-shadow: 0 18px 70px rgba(30, 35, 39, 0.1);
  background: #d8dce0;
}
.work-img-ph {
  background: linear-gradient(135deg, #d6dbde 0%, #aeb8bf 100%);
  color: rgba(30, 35, 39, 0.34);
}
.work-overlay {
  background: linear-gradient(
    to top,
    rgba(20, 24, 28, 0.86) 0%,
    rgba(20, 24, 28, 0.42) 46%,
    rgba(20, 24, 28, 0.04) 78%
  );
  padding: 38px;
}
.work-num {
  display: none;
}
.work-overlay-client {
  color: #fff;
  opacity: 0.78;
  font-size: 0.62rem;
}
.work-overlay h3 {
  font-size: clamp(1.15rem, 2.2vw, 1.85rem);
  letter-spacing: -0.02em;
}
.work-stacked .work-overlay h3 {
  font-size: 1.05rem;
}
.work-overlay-tag {
  color: rgba(255, 255, 255, 0.62);
}
.work-overlay-link {
  opacity: 1;
  transform: none;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.34);
  width: max-content;
  padding-bottom: 4px;
}
#capacidade {
  background: var(--grafite);
}
#capacidade::before {
  opacity: 0.4;
}
.capacidade-grid {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.08);
}
.capacidade-item {
  background: var(--grafite);
  padding: 44px 34px;
}
.capacidade-item:hover {
  background: #293037;
}
.capacidade-intro-text,
.capacidade-text {
  color: rgba(255, 255, 255, 0.62);
}
.capacidade-num {
  color: rgba(255, 255, 255, 0.45);
}
.capacidade-num::before {
  background: var(--bordo);
}
#diferenciais {
  background: #fff;
}
.diferenciais-grid {
  gap: 18px;
  border: 0;
  margin-top: 54px;
}
.diferencial-item {
  border: 1px solid var(--light-border) !important;
  background: #fff;
  padding: 36px 30px;
}
.diferencial-item:hover {
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.diferencial-num {
  font-size: 0.72rem;
  opacity: 1;
  color: var(--bordo);
  letter-spacing: 0.18em;
  margin-bottom: 18px;
  font-weight: 750;
}
.diferencial-title {
  font-size: 0.93rem;
}
#processo {
  background: var(--off-white);
}
.timeline-dot {
  border-radius: 0;
  width: 64px;
  height: 64px;
  background: #fff;
  color: var(--grafite);
}
.timeline-step:hover .timeline-dot {
  background: var(--grafite);
  border-color: var(--grafite);
  box-shadow: none;
}
#download-cta {
  background: linear-gradient(
    135deg,
    var(--grafite) 0%,
    #2a3035 58%,
    var(--bordo) 100%
  );
}
.footer{
    background: linear-gradient(
        90deg,
        #1A1E22 0%,
        #1C2325 100%
    );
}


/* Page hero interno menos pesado */
.page-hero,
.case-hero {
  background: linear-gradient(135deg, #1e2327 0%, #2d3339 100%) !important;
}
.page-hero h1 {
  font-size: clamp(1.75rem, 3.4vw, 3rem);
  letter-spacing: -0.04em;
}
.about-stats .about-stat:nth-child(3) .about-stat-num {
  font-size: 1.7rem;
}
/* Remover sensação promocional em dados internos */
.number-value,
.about-stat-num {
  font-weight: 760;
}
/* Responsivo */
@media (max-width: 1024px) {
  .quem-somos-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .works-editorial {
    height: auto;
    grid-template-columns: 1fr;
  }
  .work-featured,
  .work-stacked {
    min-height: 420px;
  }
  .works-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .capacidade-grid,
  .diferenciais-grid,
  .segmentos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 720px) {
  .container {
    padding: 0 22px;
  }
  .section,
  #quem-somos,
  #segmentos,
  #obras-home,
  #capacidade,
  #diferenciais,
  #processo {
    padding: 72px 0;
  }
  .hero-title {
    font-size: 3.05rem;
  }
  .hero-subline {
    font-size: 1.05rem;
  }
  .hero-tagline {
    font-size: 0.96rem;
  }
  .hero-actions {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .hero-overlay {
    background: linear-gradient(
      90deg,
      rgba(20, 24, 28, 0.9),
      rgba(20, 24, 28, 0.64)
    );
  }
  .section-header--split {
    display: block;
  }
  .section-header--split .btn {
    margin-top: 22px;
  }
  .works-stack {
    grid-template-columns: 1fr;
  }
  .work-featured,
  .work-stacked {
    min-height: 380px;
  }
  .capacidade-grid,
  .diferenciais-grid,
  .segmentos-grid {
    grid-template-columns: 1fr;
  }
  .timeline {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .timeline::before {
    display: none;
  }
}

/* Header com duas versões de logo: clara no topo escuro e escura após scroll */
#header {
  background: rgba(30, 35, 39, 0.62);
}
#header.scrolled {
  background: rgba(255, 255, 255, 0.96);
}
.site-logo {
  min-width: 220px;
}
.logo-img {
  height: 58px;
  width: auto;
  max-width: 220px;
}
.logo-img--dark {
  display: none;
}
#header.scrolled .logo-img--light {
  display: none;
}
#header.scrolled .logo-img--dark {
  display: block;
}
@media (max-width: 768px) {
  .site-logo {
    min-width: 160px;
  }
  .logo-img {
    height: 34px;
    max-width: 160px;
  }
}

/* ─────────────────────────────────────────────
   HOME V3 — direção inspirada em engenharia corporativa
   Hero carrossel + números + serviços na primeira página
───────────────────────────────────────────── */
#header {
  background: rgba(24, 29, 33, 0.78);
}
#header.scrolled {
  background: rgba(255, 255, 255, 0.97);
}
#hero.hero-carousel {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  background: #15191d;
}
.hero-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition:
    opacity 0.5s ease,
    transform 1.6s ease;
  transform: scale(1.02);
}
.hero-slide.active {
  opacity: 1;
  transform: scale(1);
}
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#hero.hero-carousel .hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(11, 15, 18, 0.9) 0%,
    rgba(11, 15, 18, 0.7) 34%,
    rgba(11, 15, 18, 0.3) 68%,
    rgba(11, 15, 18, 0.1) 100%
  );
}

#hero.hero-carousel .hero-title {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.6vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.08;
}

#hero.hero-carousel .hero-subline {
  max-width: 760px;
  font-size: clamp(1.12rem, 1.8vw, 1.45rem);
}
#hero.hero-carousel .hero-tagline {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.74);
}
.hero-dots {
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 10px;
}
.hero-dot {
  width: 34px;
  height: 3px;
  background: rgba(255, 255, 255, 0.28);
  transition: all 0.3s ease;
  border: 0;
  padding: 0;
}
.hero-dot.active {
  background: #fff;
  width: 54px;
}

.stl-metrics {
  padding: 44px 0;
  background: #fff;
  border-bottom: 1px solid var(--light-border);
}
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-left: 1px solid var(--light-border);
  border-right: 1px solid var(--light-border);
}
.metric-item {
  padding: 28px 30px;
  text-align: center;
  border-right: 1px solid var(--light-border);
}
.metric-item:last-child {
  border-right: 0;
}
.metric-item strong {
  display: block;
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 4vw, 3.2rem);
  font-weight: 850;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--bordo);
}
.metric-item span {
  display: block;
  margin-top: 12px;
  font-family: var(--font-heading);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bordo);
}
.metrics-note {
  margin-top: 16px;
  text-align: center;
  font-size: 0.72rem;
  color: #9a9a9a;
}

.home-segments {
  background: #f7f7f5 !important;
}
.segmentos-grid--compact .segmento-card {
  min-height: 170px;
  padding: 34px 30px;
}

.home-services {
  padding: 112px 0;
  background: #fff;
}
.services-feature-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  grid-auto-rows: 260px;
  gap: 18px;
}
.service-feature {
  position: relative;
  overflow: hidden;
  background: #1e2327;
  display: block;
  color: #fff;
  box-shadow: 0 20px 70px rgba(30, 35, 39, 0.1);
}
.service-feature--large {
  grid-row: span 2;
}
.service-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.9) contrast(1.04);
  transform: scale(1.02);
  transition:
    transform 0.7s ease,
    filter 0.7s ease;
}
.service-feature:hover img {
  transform: scale(1.08);
  filter: saturate(0.92) contrast(1.1);
}
.service-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(9, 12, 15, 0.9) 0%,
    rgba(9, 12, 15, 0.5) 48%,
    rgba(9, 12, 15, 0.08) 100%
  );
}
.service-feature-overlay {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 34px;
  color: #fff;
}
.service-feature-overlay span {
  display: block;
  font-family: var(--font-heading);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 12px;
}
.service-feature-overlay h3 {
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.6rem);
  letter-spacing: -0.03em;
  margin-bottom: 10px;
}
.service-feature-overlay p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
  max-width: 460px;
  line-height: 1.65;
}

.home-about {
  padding: 112px 0;
  background: #f7f7f5 !important;
  border-top: 1px solid var(--light-border);
  border-bottom: 1px solid var(--light-border);
}
.about-split {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 90px;
  align-items: start;
}
.about-copy p {
  font-size: 1.05rem;
  color: #555d64;
  max-width: 720px;
  margin-bottom: 18px;
}
.about-copy .btn {
  margin-top: 22px;
}
.about-panel {
  background: #fff;
  border: 1px solid var(--light-border);
  box-shadow: 0 18px 60px rgba(30, 35, 39, 0.06);
}
.about-panel-item {
  padding: 34px 38px;
  border-bottom: 1px solid var(--light-border);
}
.about-panel-item:last-child {
  border-bottom: 0;
}
.about-panel-item strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 1rem;
  color: #1e2327;
  margin-bottom: 7px;
}
.about-panel-item span {
  display: block;
  font-size: 0.9rem;
  color: #646a70;
  line-height: 1.65;
}

.home-capacidade {
  padding: 112px 0 !important;
}
.home-portfolio {
  padding: 112px 0;
  background: #fff;
}
.portfolio-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.portfolio-mini-card {
  position: relative;
  display: block;
  min-height: 320px;
  overflow: hidden;
  background: #1e2327;
  color: #fff;
  box-shadow: 0 16px 60px rgba(30, 35, 39, 0.08);
}
.portfolio-mini-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  filter: saturate(0.9) contrast(1.05);
  transition: transform 0.7s ease;
}
.portfolio-mini-card:hover img {
  transform: scale(1.06);
}
.portfolio-mini-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(10, 13, 16, 0.88),
    rgba(10, 13, 16, 0.28),
    rgba(10, 13, 16, 0.02)
  );
}
.portfolio-mini-card div {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 28px;
}
.portfolio-mini-card span {
  display: block;
  font-family: var(--font-heading);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 10px;
}
.portfolio-mini-card strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  line-height: 1.25;
  color: #fff;
}

@media (max-width: 1024px) {
  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .metric-item:nth-child(2) {
    border-right: 0;
  }
  .metric-item:nth-child(n + 3) {
    border-top: 1px solid var(--light-border);
  }
  .services-feature-grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 260px;
  }
  .service-feature--large {
    grid-column: span 2;
    grid-row: span 1;
  }
  .about-split {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .portfolio-mini-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 720px) {
  #hero.hero-carousel .hero-title {
    font-size: clamp(1.35rem, 8vw, 2.4rem);
  }
  .hero-dots {
    bottom: 18px;
  }
  .metrics-grid {
    grid-template-columns: 1fr;
    border-left: 0;
    border-right: 0;
  }
  .metric-item {
    border-right: 0;
    border-top: 1px solid var(--light-border);
    padding: 26px 20px;
  }
  .metric-item:first-child {
    border-top: 0;
  }
  .services-feature-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 240px;
  }
  .service-feature--large {
    grid-column: auto;
    grid-row: auto;
  }
  .portfolio-mini-grid {
    grid-template-columns: 1fr;
  }
}

/* Ajustes finais DaiSystems */
.client-logo img {
  max-height: 36px;
  width: auto;
  filter: grayscale(1) brightness(1.8);
  opacity: 0.72;
  transition: var(--transition);
}
.client-logo:hover img {
  filter: grayscale(0) brightness(1);
  opacity: 1;
}
.footer-credits a {
  color: rgba(255, 255, 255, 0.45);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  transition: var(--transition);
}
.footer-credits a:hover {
  color: var(--bordo-hover);
  border-bottom-color: var(--bordo-hover);
}

/* Refino final da transição da hero */
.hero-slide {
  transition: opacity 0.5s ease, transform 1.6s ease;
}

/* Alinhamento card WhatsApp na página de Contato */
.contact-wpp {
  width: 100%;
}
.contact-wpp svg {
  flex-shrink: 0;
  display: block;
}


/* Footer background correto */
footer {
  background: linear-gradient(90deg, #1A1E22 0%, #1C2325 100%) !important;
}

/* ── PATCH FINAL CASES V16 — alinhamento, hero, cards e CTA ───────────── */
body {
  overflow-x: hidden;
}

@media (min-width: 1025px) {
  .case-hero .container,
  .case-content .container,
  .case-cta .container,
  footer .container {
    width: 100%;
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .case-hero {
    padding: calc(var(--header-h) + 72px) 0 74px !important;
  }

  .case-hero-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 520px) minmax(420px, 460px) !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 72px !important;
  }

  .case-hero h1 {
    max-width: 520px !important;
    font-size: clamp(2.35rem, 3.15vw, 3.45rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
    margin-bottom: 0 !important;
  }

  .case-tags {
    max-width: 560px !important;
  }

  .case-summary {
    width: 100% !important;
    max-width: 460px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-self: center !important;
  }

  .case-summary-item {
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 28px 24px !important;
  }

  .case-summary-value {
    font-size: 0.95rem !important;
    line-height: 1.45 !important;
  }

  .case-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 720px) 320px !important;
    gap: 72px !important;
    align-items: start !important;
  }

  .case-grid > div:first-child,
  .case-section,
  .case-section p,
  .case-section h2,
  .case-scope,
  .case-gallery-grid {
    max-width: 720px !important;
  }

  .case-cta-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 48px !important;
  }

  .case-cta p {
    max-width: 760px !important;
  }

  footer .footer-grid {
    grid-template-columns: minmax(270px, 1.35fr) minmax(130px, .75fr) minmax(210px, 1fr) minmax(230px, 1fr) !important;
    gap: 48px !important;
  }
}

.case-summary-value,
.case-info-val,
.case-section p,
.case-section h2,
.case-scope-item,
.case-cta h2,
.case-cta p,
.footer-grid,
.footer-grid * {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

.case-summary-value,
.case-info-val {
  white-space: normal !important;
}

.case-cta-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  justify-content: flex-end !important;
}

.case-cta-actions .btn,
.case-info-card .btn {
  min-height: 48px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
}

.case-info-card .btn {
  width: 100% !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  font-size: 0.72rem !important;
}

@media (max-width: 1024px) {
  .case-hero .container,
  .case-content .container,
  .case-cta .container,
  footer .container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .case-hero-grid,
  .case-grid {
    grid-template-columns: 1fr !important;
  }

  .case-hero h1 {
    max-width: 720px !important;
    font-size: clamp(2.1rem, 7vw, 3.2rem) !important;
    line-height: 1.03 !important;
  }

  .case-summary {
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .case-cta-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .case-cta-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 640px) {
  .case-hero {
    padding: calc(var(--header-h) + 44px) 0 56px !important;
  }

  .case-hero h1 {
    font-size: clamp(1.9rem, 10vw, 2.55rem) !important;
    line-height: 1.05 !important;
  }

  .case-summary {
    grid-template-columns: 1fr !important;
  }

  .case-summary-item {
    min-height: auto !important;
    padding: 22px 20px !important;
  }

  .case-cta-inner,
  .case-cta-actions {
    width: 100% !important;
    align-items: stretch !important;
  }

  .case-cta-actions .btn,
  .case-info-card .btn {
    width: 100% !important;
  }

  footer .footer-grid {
    grid-template-columns: 1fr !important;
  }
}
