/* SZ Ambiental: original Manrope headings and brand palette. */
:root {
  --navy: #142f50;
  --green: #234716;
  --paper: #f6f5f0;
  --line: #d5ddd2;
  --muted: #52615e;
  --mint: #dce5d7;
  --heading: 'Manrope', Arial, sans-serif;
}

body { line-height: 1.75; }
.header { min-height: 140px; padding-top: 12px; padding-bottom: 12px; }
.original-brand { gap: 0; }
.hero { grid-template-columns: 1.12fr 1fr; gap: 60px; padding-top: 60px; padding-bottom: 70px; }
.hero h1 { font-size: clamp(35px, 3.2vw, 45px); font-weight: 550; line-height: 1.23; letter-spacing: -.7px; margin-bottom: 18px; text-wrap: pretty; }
.hero-intro { color: var(--green); font-size: 20px; line-height: 1.65; max-width: 490px; margin: 0 0 30px; }
.hero-actions { gap: 18px; }
.hero-region { font-size: 14px; margin-top: 34px; }
.hero-image { height: 500px; border-radius: 4px 4px 48px 4px; background: #e3e7e2; }
.hero-image img { filter: none; object-position: 52% 50%; }
.hero-image:after { display: none; }
.button { background: var(--green); border-color: var(--green); font-size: 15px; padding: 15px 22px; }
.button:hover, .whatsapp-float:hover { background: #18330e; }
.text-link { font-size: 14px; }
.eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 1.6px; }
.section h2 { font-weight: 550; font-size: clamp(32px, 3.2vw, 44px); letter-spacing: -.5px; line-height: 1.25; }
.section-head { gap: 55px; }
.section-head > p { font-size: 16px; line-height: 1.8; }
.services { gap: 0 38px; }
.service:last-child { grid-column: 1 / -1; }
.service summary { gap: 16px; }
.service h3 { font: 600 25px/1.3 var(--heading); letter-spacing: -.25px; }
.service summary p { font-size: 16px; }
.service-number { font-size: 14px; }
.service-body { font-size: 16px; line-height: 1.8; }
.service-note { font-size: 14px; }
.service-image { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 3px; margin: 24px 0; }
.service:last-child .service-image { max-width: 540px; }
.segments-wrap { background: var(--navy); }
.segments-wrap .eyebrow { color: #d5e3c9; }
.segments-wrap .section-head > p { color: #d1d9dd; }
.segments-grid { gap: 20px; align-items: stretch; }
.segment-card { padding: 0; border: 1px solid #455d77; background: var(--navy); border-radius: 4px; overflow: hidden; min-height: 390px; }
.segment-card:hover { background: #1b3a5e; border-color: #8ca27f; }
.segment-image { width: 100%; height: auto; aspect-ratio: 16 / 11; object-fit: cover; flex-shrink: 0; }
.segment-content { padding: 24px 22px; display: flex; flex: 1; flex-direction: column; }
.segment-card h3 { font: 500 28px/1.15 var(--heading); letter-spacing: -.2px; min-height: 66px; margin-bottom: 15px; }
.segment-card p { font-size: 16px; line-height: 1.7; color: #d7dfe2; }
.segment-cta { border-color: #50667c; color: #edf3e8; font-size: 14px; }
.about { grid-template-columns: 1.1fr 1fr; gap: 90px; }
.about-title > p:not(.eyebrow), .about-content > p { color: var(--muted); font-size: 16px; line-height: 1.85; margin: 0 0 22px; }
.about-content { padding-top: 52px; }
.about-lead { font: 500 34px/1.3 var(--heading); letter-spacing: -.3px; margin: 0 0 24px; }
.purpose { border-color: var(--line); margin-top: 28px; padding-top: 25px; }
.purpose h3 { font: 600 25px/1.3 var(--heading); letter-spacing: -.2px; margin-bottom: 12px; }
.purpose p { font-size: 16px; line-height: 1.85; }
.values { gap: 10px; margin-top: 30px; }
.values span { font-size: 14px; padding: 8px 12px; border-color: #bdcdb5; }
.process-wrap { background: #e8ede3; }
.process-grid h3 { font: 600 28px/1.3 var(--heading); letter-spacing: -.2px; }
.process-grid p { font-size: 16px; line-height: 1.8; }
.process-grid article { border-color: #b9c7ad; }
.process-grid article > span { font-size: 14px; }
.article-card { border-color: var(--line); padding: 28px; min-height: 350px; }
.article-card:hover { background: #edf0e8; }
.article-card h3 { font: 600 28px/1.28 var(--heading); letter-spacing: -.25px; }
.article-card p { font-size: 16px; }
.article-category { font-size: 12px; line-height: 1.5; }
.article-read { font-size: 14px; }
.contact-wrap { background: #e8ede3; }
.contact-copy > p:not(.eyebrow) { font-size: 16px; }
.contact-area strong { font-size: 16px; }
.contact-area p { font-size: 14px; }
#request-form > h3 { font: 600 30px/1.3 var(--heading); letter-spacing: -.2px; }
.form-intro { font-size: 14px; }
label, .form-privacy { font-size: 14px; }
input, select, textarea { font-size: 16px; }
input::placeholder, textarea::placeholder { font-size: 14px; color: #747e71; }
.footer p, .footer small, .footer-link { font-size: 14px; }
dialog h2 { font: 600 34px/1.3 var(--heading); letter-spacing: -.25px; }
dialog h3 { font: 600 25px/1.3 var(--heading); }
.privacy-note { font-size: 14px; }
.whatsapp-float { background: var(--green); }

@media (max-width: 1100px) {
  .hero { gap: 34px; }
  .hero h1 { font-size: 38px; }
  .hero-image { height: 475px; }
  .segments-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .segment-card { min-height: 380px; }
  .segment-card h3 { min-height: 0; }
  .about { gap: 50px; }
  .article-card { padding: 24px; }
}
@media (max-width: 800px) {
  .header { min-height: 116px; }
  .hero { grid-template-columns: minmax(0, 1fr); gap: 35px; padding-top: 38px; padding-bottom: 48px; }
  .hero h1 { font-size: clamp(34px, 5.8vw, 44px); letter-spacing: -.5px; }
  .hero-image { height: 360px; border-radius: 4px 4px 36px 4px; }
  .hero-region { margin-top: 25px; }
  .section-head { display: block; }
  .about { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .about-content { padding-top: 0; }
  .about-lead { font-size: 32px; }
  .article-card { min-height: 0; }
  .service h3 { font-size: 24px; }
}
@media (max-width: 550px) {
  .hero h1 { font-size: 34px; line-height: 1.27; }
  .hero-actions { align-items: flex-start; gap: 12px; }
  .hero-actions .button { padding: 14px 18px; }
  .hero-image { height: 295px; }
  .hero-region { align-items: flex-start; font-size: 14px; }
  .section h2 { font-size: 34px; }
  .services { grid-template-columns: minmax(0, 1fr); }
  .service:last-child { grid-column: auto; }
  .service-body { padding-left: 0; }
  .segments-grid { grid-template-columns: minmax(0, 1fr); }
  .segment-card { min-height: 0; }
  .segment-image { aspect-ratio: 16 / 10; }
  .segment-content { padding: 24px; }
  .segment-card h3 { font-size: 30px; }
  .process-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .article-card h3 { font-size: 27px; }
  .footer { padding-bottom: 85px; }
}
