/* A denser home layout at normal browser zoom. */
:is(.home-page, .service-page) .site-header { padding: 0.75rem 1.5rem; gap: 0.4rem; }
:is(.home-page, .service-page) .logo-img { height: 46px; }
:is(.home-page, .service-page) .logo-description { font-size: 0.85rem; padding-top: 0; }
:is(.home-page, .service-page) .logo-description::before { font-size: 1rem; letter-spacing: 0.28rem; }
:is(.home-page, .service-page) .site-nav.header-menu { padding: 0.4rem 1rem; }
.home-page .section-heading h2 { font-size: 1.65rem; margin-top: 0.65rem; }
.home-page .section-heading { margin-bottom: 1.25rem; }
.home-page .eyebrow { letter-spacing: 0.24rem; font-size: 0.75rem; }
.home-hero h1 { font-size: clamp(1.85rem, 2.5vw, 2.4rem); line-height: 1.2; }
.home-hero .hero-copy > p:not(.eyebrow) { line-height: 1.5; }
.home-hero .hero-ctas { margin-top: 1rem; gap: 0.75rem; }
.home-hero .btn { min-height: 44px; padding: 0.55rem 1.25rem; font-size: 0.9rem; }
.home-hero .hero-metrics,
.home-hero .panel-grid .panel-card { padding: 1rem 1.15rem; }
.home-hero .panel-label { margin-top: 0; margin-bottom: 0.65rem; letter-spacing: 0.15rem; }
.home-hero .mini-card { padding: 0.75rem 0.85rem; }
.home-hero .home-caption h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
.home-hero .home-caption { bottom: 58px; }
.home-hero .home-caption p { font-size: 0.95rem; }
@media (min-width: 1000px) {
  .home-hero { padding: 2rem 1.5rem; gap: 1rem 1.5rem; }
}
@media (max-width: 600px) {
  :is(.home-page, .service-page) .site-header { padding: 0.75rem 1rem; }
  :is(.home-page, .service-page) .site-nav.header-menu { gap: 0.7rem; }
  :is(.home-page, .service-page) .site-nav.header-menu a { letter-spacing: 0.07rem; }
  .home-hero .home-caption h2 { font-size: 1.35rem; }
}

/* Compact section rhythm: small outer gutters and no accumulated margins. */
.home-page .frentes-grid { margin-top: 16px; gap: 12px; }
.home-page .system-intelligence .section-heading { margin-bottom: 16px; }
.home-page .frente-card { padding: 16px; }
.home-page .service-heading { margin-bottom: 10px; }
.home-page .frente-card .service-highlight { margin: 10px 0 12px; padding-top: 10px; }
.home-page .about { gap: 12px; }
@media (max-width: 600px) {
}

/* Lighter and more readable operational intelligence cards. */
.home-page .intelligence-grid h3 { padding-left: 0; font-size: 1rem; }
.home-page .intelligence-grid h3::before { display: none; }
.home-page .intelligence-grid p { color: #506256; font-size: 0.95rem; line-height: 1.5; }
.home-page .intelligence-grid article:hover {
  transform: translateY(-2px);
  border-color: #8bbf99;
  box-shadow: 0 6px 14px rgba(20, 72, 46, 0.08);
}
.home-page .intelligence-footer {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  box-shadow: none;
}
.home-page .intelligence-footer::before { display: none; }
.home-page .intelligence-footer .footer-label {
  flex-shrink: 0;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #176943;
}
.home-page .intelligence-footer .footer-text { font-size: 0.95rem; line-height: 1.5; }
@media (max-width: 600px) {
  .home-page .intelligence-footer { flex-direction: column; gap: 6px; }
}

/* Branded green surfaces, with a compact icon beside each feature. */
.home-page .intelligence-grid .intelligence-feature,
.home-page .intelligence-grid .intelligence-feature:nth-child(even) {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-content: start;
  column-gap: 10px;
  row-gap: 6px;
  background: linear-gradient(135deg, #d5eada, #c3dfcd);
  border: 1px solid #9bc5aa;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), 0 4px 12px rgba(20,72,46,0.08);
}
.home-page .intelligence-grid .intelligence-feature:nth-child(n + 5) {
  background: linear-gradient(135deg, #cce4d3, #b9d8c5);
}
.intelligence-icon {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #206b47;
  color: #dcf3b8;
  box-shadow: 0 2px 5px rgba(16,63,43,0.12);
}
.intelligence-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.home-page .intelligence-feature h3 { grid-column: 2; margin: 0; color: #103f2b; }
.home-page .intelligence-feature p { grid-column: 2; color: #305340; }
.home-page .intelligence-footer { background: #256448; border: 1px solid #20583f; box-shadow: 0 3px 10px rgba(20,72,46,0.1); }
.home-page .intelligence-footer .footer-label { color: #d7eea6; }
.home-page .intelligence-footer .footer-text { color: #f0f7f2; }

/* FullCare uses shared rows and a stable, uncropped dashboard viewport. */
.home-page .fullcare { gap: 12px 20px; }
.home-page .fullcare-copy > .eyebrow { margin-top: 0; }
.home-page .fullcare-copy h2 { font-size: 1.65rem; line-height: 1.25; margin: 12px 0; }
.home-page .fullcare-copy > p:not(.eyebrow) { margin: 0 0 12px; line-height: 1.5; color: var(--text-muted); }
.home-page .fullcare-copy ul { margin: 0 0 16px; line-height: 1.5; }
.home-page .fullcare-carousel {
  display: flex;
  align-items: center;
  min-width: 0;
  background: #e8f1ec;
  border: 1px solid rgba(24,92,58,0.22);
  border-radius: 14px;
  padding-bottom: 42px;
  box-shadow: 0 6px 18px rgba(20,72,46,0.1);
}
.home-page .fullcare-carousel img {
  width: 100%;
  height: clamp(240px, 24vw, 360px);
  object-fit: contain;
  object-position: center;
}
.home-page .fullcare-carousel .carousel-indicators { bottom: 4px; gap: 2px; }
.home-page .fullcare-carousel .carousel-dot { width: 28px; height: 32px; padding: 0; display: grid; place-items: center; background: transparent; }
.home-page .fullcare-carousel .carousel-dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #96b3a1; }
.home-page .fullcare-carousel .carousel-dot.is-active::after { background: #1d8f39; }
.home-page .fullcare-carousel .carousel-arrow { background: rgba(6,35,11,0.8); top: calc(50% - 21px); }
.home-page .fullcare-highlights,
.home-page .fullcare-cards .panel-card { padding: 16px; }
.home-page .fullcare-highlights .panel-label,
.home-page .fullcare-cards .panel-label,
.home-page .fullcare-cards .stat-label { margin: 0 0 8px; }
.home-page .fullcare-cards { gap: 12px; }
.home-page .fullcare-cards > * { height: auto; }
.home-page .fullcare-cards .panel-meta { margin-bottom: 0; }
.home-page .fullcare-cards .stats-grid { grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 1000px) {
  .home-page .fullcare { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
  .home-page .fullcare-content,
  .home-page .fullcare-panel { display: contents; }
  .home-page .fullcare-copy { grid-column: 1; grid-row: 1; align-self: center; }
  .home-page .fullcare-carousel { grid-column: 2; grid-row: 1; }
  .home-page .fullcare-highlights { grid-column: 1; grid-row: 2; margin: 0; }
  .home-page .fullcare-cards { grid-column: 2; grid-row: 2; }
}
@media (max-width: 999px) {
  .home-page .fullcare { grid-template-columns: minmax(0, 1fr); }
  .home-page .fullcare-carousel img { height: clamp(200px, 48vw, 360px); }
}

/* Service pages share the home page's scale, spacing and green palette. */
.service-page .hero { display: block; }
.service-page .hero h1,
.service-page .sinistra-hero h1 { font-size: clamp(1.85rem, 2.5vw, 2.4rem); line-height: 1.2; margin: 12px 0; max-width: 1100px; }
.service-page .hero-content > p:not(.eyebrow),
.service-page .sinistra-hero-content > p:not(.eyebrow) { max-width: 1100px; margin: 0; line-height: 1.5; color: var(--text-muted); }
.service-page .eyebrow,
.service-page .section-subtitle { font-size: 0.75rem; letter-spacing: 0.24rem; margin-top: 0; }
.service-page .hero-ctas { margin-top: 16px; gap: 12px; }
.service-page .btn { min-height: 44px; padding: 0.55rem 1.25rem; font-size: 0.9rem; }
.service-page .content-block { background: linear-gradient(145deg, #edf7f0, #dceee2); }
.service-page .section-heading { max-width: 100%; margin: 0 0 16px; text-align: left; }
.service-page .section-heading h2,
.service-page .sinistra-cta h2 { font-size: 1.65rem; line-height: 1.25; margin: 8px 0; }
.service-page .section-heading p { max-width: 1000px; margin: 0; line-height: 1.5; }
.service-page .steps-grid { margin-top: 0; gap: 12px; }
.service-page .steps-grid article { min-height: 0; padding: 16px; border-radius: 10px; background: linear-gradient(135deg, #d5eada, #c3dfcd); border: 1px solid #9bc5aa; }
.service-page .steps-grid h3 { font-size: 1rem; color: #103f2b; margin: 0 0 8px; }
.service-page .steps-grid article p { margin: 0; line-height: 1.5; color: #305340; font-size: 0.95rem; }
.service-page .sinistra-stats { gap: 12px; }
.service-page .sinistra-stats > div { padding: 16px; border-radius: 10px; background: #e8f3ec; }
.service-page .stat-label { margin: 0 0 8px; color: #176943; letter-spacing: 0.12rem; }
.service-page .stat-value { margin: 0; line-height: 1.5; }
.service-page main > .sinistra-cta { background: #256448; box-shadow: none; gap: 16px; }
.service-page .sinistra-cta p { max-width: 900px; line-height: 1.5; }
.service-page .sinistra-cta .btn-outline { color: #fff; }
.service-page .sinistra-hero { background: linear-gradient(135deg, rgba(29,143,57,0.06), rgba(255,255,255,0.98)); color: var(--text-primary); gap: 16px; }
.service-page .sinistra-hero { align-items: center; }
.service-page .sinistra-hero-content > .eyebrow { color: #176943; }
.service-page .sinistra-hero-card {
  margin: 0;
  padding: 0;
  overflow: hidden;
  min-width: 0;
  border-radius: 12px;
  background: #cce4d3;
  border: 1px solid #9bc5aa;
  box-shadow: 0 4px 12px rgba(20,72,46,0.08);
}
.service-page .sinistra-hero-card img {
  display: block;
  width: 100%;
  height: clamp(180px, 18vw, 260px);
  object-fit: cover;
  object-position: center 40%;
}
.service-page .sinistra-hero-card figcaption { padding: 14px 16px; }
.service-page .sinistra-hero-card .panel-label { margin: 0 0 6px; font-size: 0.75rem; letter-spacing: 0.12rem; color: #176943; }
.service-page .sinistra-hero-card .panel-value { margin: 0 0 6px; font-size: 1.15rem; line-height: 1.3; }
.service-page .sinistra-hero-card .panel-meta { margin: 0; font-size: 0.95rem; line-height: 1.5; color: #305340; }
@media (max-width: 900px) {
  .service-page .sinistra-hero { grid-template-columns: minmax(0, 1fr); }
}
.service-page .sinistra-testimonials { color: var(--text-primary); }
.service-page .sinistra-testimonials article { background: #cce4d3; padding: 16px; border-radius: 10px; }

/* Shared layout for the home page and all service pages. */
:is(.home-page, .service-page) main {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 8px 6px 12px;
}
:is(.home-page, .service-page) main > section {
  margin: 0;
  min-width: 0;
}
:is(.home-page, .service-page) main > :is(.hero, .sinistra-hero, .frentes, .system-intelligence, .fullcare, .content-block) {
  padding: 20px 12px;
  border-radius: 16px;
  border: 1px solid rgba(24, 92, 58, 0.24);
  box-shadow: 0 6px 18px rgba(20, 72, 46, 0.07);
}
@media (max-width: 600px) {
  :is(.home-page, .service-page) main { gap: 10px; padding: 8px 6px; }
  :is(.home-page, .service-page) main > :is(.hero, .sinistra-hero, .frentes, .system-intelligence, .fullcare, .content-block) { padding: 16px 10px; }
}
