/* Shared direction for the remaining commercial pages. */
.commercial-page { background: var(--paper); }

/* Repasse e retorção */
.single-service-hero .internal-hero-media img { object-position: center; filter: saturate(.72) contrast(1.08) brightness(.58); }
.single-service-hero .internal-hero-media::after { background: linear-gradient(90deg, rgba(1,8,4,.99) 0%, rgba(1,8,4,.9) 35%, rgba(1,8,4,.44) 72%, rgba(1,8,4,.3) 100%), linear-gradient(180deg, rgba(1,8,4,.12), transparent 45%, rgba(1,8,4,.7)); }
.single-service-hero .internal-hero-copy { max-width: 790px; }
.retorcao-hero .internal-hero-media img { object-position: 55% center; }
.related-service .service-compare-heading { margin-bottom: 0; }
.related-service .button { margin-top: 26px; }
.dual-hero .internal-hero-media { display: grid; grid-template-columns: 1fr 1fr; }
.dual-hero .internal-hero-media img { object-position: center; filter: saturate(.62) contrast(1.08) brightness(.57); }
.dual-hero .internal-hero-media::after {
  background:
    linear-gradient(90deg, rgba(1,8,4,.99) 0%, rgba(1,8,4,.93) 31%, rgba(1,8,4,.55) 61%, rgba(1,8,4,.34) 100%),
    linear-gradient(180deg, rgba(1,8,4,.2), transparent 42%, rgba(1,8,4,.7));
}
.dual-hero h1 { max-width: 790px; }
.dual-hero h1 span { display: inline; }
.dual-hero .hero-lede { max-width: 690px; }

.service-choice { color: #fff; background: var(--forest-soft); border-top: 1px solid rgba(88,217,142,.32); }
.service-choice-grid { display: grid; grid-template-columns: 1fr 1fr; }
.service-choice-card { position: relative; min-height: 176px; padding: 34px 38px; border-right: 1px solid var(--line-light); }
.service-choice-card:last-child { border-right: 0; }
.service-choice-card small { display: block; margin-bottom: 18px; color: var(--brand-bright); font-size: 9px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.service-choice-card h2 { margin: 0 0 10px; font-size: 25px; font-weight: 400; letter-spacing: -.035em; }
.service-choice-card p { max-width: 520px; margin: 0; color: rgba(255,255,255,.58); font-size: 11px; font-weight: 300; line-height: 1.65; }
.service-choice-card a::after { position: absolute; inset: 0; content: ""; }

.service-feature { padding: 124px 0 132px; scroll-margin-top: 92px; }
.service-feature.alt { color: #fff; background: #03170f; }
.service-feature-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 90px; align-items: center; }
.service-feature.alt .service-feature-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.service-feature.alt .service-feature-visual { order: 2; }
.service-feature-visual { position: relative; min-height: 600px; overflow: hidden; margin: 0; border-radius: 24px; background: #07120d; }
.service-feature-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.04) brightness(.78); transition: transform 700ms var(--ease-out), filter 500ms ease; }
.service-feature-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 55%, rgba(2,8,5,.46)); }
.service-feature-copy h2 { margin: 0; font-size: var(--section-title); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.service-feature-copy h2 span { display: block; color: var(--brand); }
.service-feature.alt .service-feature-copy h2 span { color: var(--brand-bright); }
.service-feature-copy > p { margin: 26px 0 0; color: var(--ink-soft); font-size: 15px; font-weight: 300; line-height: 1.75; }
.service-feature.alt .service-feature-copy > p { color: rgba(255,255,255,.62); }
.service-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 34px 0 0; border: 1px solid var(--line); background: var(--line); }
.service-feature.alt .service-benefits { border-color: var(--line-light); background: var(--line-light); }
.service-benefit { min-height: 128px; padding: 21px 22px; background: var(--paper); }
.service-feature.alt .service-benefit { background: #061b12; }
.service-benefit small { color: var(--brand-text); font-size: 9px; font-weight: 600; letter-spacing: .14em; }
.service-feature.alt .service-benefit small { color: var(--brand-bright); }
.service-benefit h3 { margin: 24px 0 0; font-size: 17px; font-weight: 400; letter-spacing: -.025em; }

@media (hover:hover) and (pointer:fine) {
  .service-feature-visual:hover img { transform: scale(1.025); filter: saturate(.9) contrast(1.04) brightness(.84); }
}

.service-compare { padding: 122px 0 132px; background: #fbf9f5; }
.service-compare-heading { display: grid; grid-template-columns: 1.05fr .65fr; gap: 90px; align-items: end; margin-bottom: 62px; }
.service-compare-heading .lede { justify-self: end; }
.comparison-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.comparison-card { min-height: 390px; padding: 36px 38px 40px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.22); }
.comparison-card > small { display: block; margin-bottom: 70px; color: var(--brand-text); font-size: 9px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.comparison-card h3 { margin: 0 0 18px; font-size: clamp(30px, 3.4vw, 48px); font-weight: 400; letter-spacing: -.05em; }
.comparison-card p { max-width: 500px; margin: 0 0 24px; color: var(--ink-soft); font-size: 12px; font-weight: 300; line-height: 1.7; }
.comparison-card ul { margin: 0; padding: 0; list-style: none; }
.comparison-card li { padding: 12px 0; border-top: 1px solid var(--line); font-size: 11px; }

/* Sustentabilidade */
.sustainability-hero .internal-hero-media img { object-position: center 43%; filter: saturate(.86) contrast(1.04) brightness(.61); }
.sustainability-hero .internal-hero-media::after {
  background:
    linear-gradient(90deg, rgba(1,8,4,.94) 0%, rgba(1,8,4,.86) 32%, rgba(1,8,4,.44) 62%, rgba(1,8,4,.2) 100%),
    linear-gradient(180deg, rgba(1,8,4,.18), transparent 38%, rgba(1,8,4,.68));
}
.sustainability-hero h1 { max-width: 820px; }

.impact-strip { color: #fff; background: #08271b; border-top: 1px solid rgba(88,217,142,.34); }
.impact-strip-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.impact-stat { min-height: 166px; padding: 32px 28px; border-right: 1px solid var(--line-light); }
.impact-stat:last-child { border-right: 0; }
.impact-stat small { display: block; min-height: 28px; margin-bottom: 25px; color: var(--brand-bright); font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.impact-stat strong { display: block; font-size: clamp(24px, 2.6vw, 38px); font-weight: 400; letter-spacing: -.045em; line-height: 1.02; }
.impact-stat span { display: block; margin-top: 8px; color: rgba(255,255,255,.52); font-size: 10px; line-height: 1.5; }

.sustainability-story { padding: 124px 0 132px; scroll-margin-top: 92px; }
.sustainability-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.sustainability-story-visual { position: relative; min-height: 0; aspect-ratio: 4 / 5; overflow: hidden; margin: 0; border-radius: 24px; }
.sustainability-story-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 42% 50%; filter: saturate(.76) contrast(1.04) brightness(.72); }
.sustainability-story-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 72%, rgba(2,8,5,.14)); }
.sustainability-story-copy h2 { margin: 0; font-size: var(--section-title); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.sustainability-story-copy h2 span { display: block; color: var(--brand); }
.sustainability-story-copy > p { max-width: 600px; margin: 28px 0 0; color: var(--ink-soft); font-size: 15px; font-weight: 300; line-height: 1.75; }
.sustainability-points { margin-top: 36px; border-top: 1px solid var(--line); }
.sustainability-point { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.sustainability-point span { color: var(--brand-text); font-size: 10px; font-weight: 600; letter-spacing: .12em; }
.sustainability-point h3 { margin: 0 0 6px; font-size: 18px; font-weight: 400; }
.sustainability-point p { margin: 0; color: var(--ink-soft); font-size: 11px; font-weight: 300; line-height: 1.65; }

.qualification { padding: 122px 0 132px; color: #fff; background: #03170f; }
.qualification-heading { display: grid; grid-template-columns: 1.05fr .65fr; gap: 90px; align-items: end; margin-bottom: 64px; }
.qualification-heading h2 { margin: 0; font-size: var(--section-title); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.qualification-heading h2 span { display: block; color: var(--brand-bright); }
.qualification-heading > p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; font-weight: 300; line-height: 1.75; }
.qualification-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.qualification-card { min-height: 270px; padding: 30px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.qualification-card > span { display: block; margin-bottom: 76px; color: var(--brand-bright); font-size: 10px; font-weight: 600; letter-spacing: .13em; }
.qualification-card h3 { margin: 0 0 12px; font-size: 23px; font-weight: 400; letter-spacing: -.035em; }
.qualification-card p { margin: 0; color: rgba(255,255,255,.54); font-size: 11px; font-weight: 300; line-height: 1.65; }
.qualification-cta { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-top: 38px; }
.qualification-cta p { max-width: 660px; margin: 0; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.65; }

/* Contato */
.contact-hero { min-height: 530px; }
.contact-hero .internal-hero-content { min-height: 530px; }
.contact-hero .internal-hero-media img { object-position: 72% 54%; filter: saturate(.76) contrast(1.06) brightness(.56); }
.contact-hero h1 { max-width: 870px; }

.contact-options { color: #fff; background: #08271b; border-top: 1px solid rgba(88,217,142,.34); }
.contact-options-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.contact-option { position: relative; min-height: 190px; padding: 34px 34px 38px; border-right: 1px solid var(--line-light); }
.contact-option:last-child { border-right: 0; }
.contact-option small { display: block; margin-bottom: 46px; color: var(--brand-bright); font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.contact-option strong { display: block; color: #fff; font-size: clamp(20px, 2.2vw, 30px); font-weight: 400; letter-spacing: -.035em; overflow-wrap: anywhere; }
.contact-option span { display: block; margin-top: 8px; color: rgba(255,255,255,.52); font-size: 10px; }
.contact-option a::after { position: absolute; inset: 0; content: ""; }

.contact-main { padding: 124px 0 132px; scroll-margin-top: 92px; }
.contact-main-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: start; }
.contact-aside { position: sticky; top: 130px; }
.contact-aside h2 { margin: 0; font-size: var(--section-title); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.contact-aside h2 span { display: block; color: var(--brand); }
.contact-aside > p { margin: 26px 0 0; color: var(--ink-soft); font-size: 14px; font-weight: 300; line-height: 1.75; }
.contact-address { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--line); }
.contact-address small { display: block; margin-bottom: 12px; color: var(--brand-text); font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.contact-address address { color: var(--ink); font-size: 13px; font-style: normal; line-height: 1.75; }

.contact-form { padding: 40px; border: 1px solid var(--line); background: rgba(255,255,255,.34); }
.form-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contact-form-intro { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 38px; }
.contact-form-intro h2 { margin: 0; font-size: 30px; font-weight: 400; letter-spacing: -.04em; }
.contact-form-intro p { max-width: 330px; margin: 0; color: var(--ink-soft); font-size: 10.5px; font-weight: 300; line-height: 1.6; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 18px; }
.form-field { display: flex; flex-direction: column; gap: 9px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 52px; padding: 13px 15px; color: var(--ink); border: 1px solid rgba(16,32,25,.22); border-radius: 0; outline: 0; background: #fbf9f5; font-size: 13px; font-weight: 300; }
.form-field textarea { min-height: 142px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(0,136,53,.12); }
.contact-form-footer { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 28px; }
.contact-form-footer p { max-width: 430px; margin: 0; color: var(--ink-soft); font-size: 9.5px; font-weight: 300; line-height: 1.6; }
.contact-form-footer p a { color: var(--ink); text-underline-offset: 3px; }
.contact-form button[aria-busy="true"] { cursor: wait; opacity: .72; }
.contact-form-status { margin: 18px 0 0; color: var(--brand-text); font-size: 11px; font-weight: 500; }
.contact-form-status[data-state="error"] { color: #9b2f2f; }
.contact-form-status[data-state="success"] { color: #006b31; }

@media (max-width: 1000px) {
  .service-feature-grid, .service-feature.alt .service-feature-grid, .sustainability-story-grid, .contact-main-grid { grid-template-columns: 1fr 1fr; gap: 50px; }
  .impact-strip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qualification-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .impact-stat:nth-child(2) { border-right: 0; }
  .impact-stat:nth-child(-n+2) { border-bottom: 1px solid var(--line-light); }
}

@media (max-width: 760px) {
  .dual-hero .internal-hero-media { display: block; }
  .dual-hero .internal-hero-media img:last-child { display: none; }
  .dual-hero .internal-hero-media::after { background: linear-gradient(180deg, rgba(1,8,4,.12), rgba(1,8,4,.3) 32%, rgba(1,8,4,.96) 70%, #010804); }
  .service-choice-grid, .contact-options-grid { grid-template-columns: 1fr; }
  .service-choice-card, .contact-option { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .service-feature, .service-compare, .sustainability-story, .qualification, .contact-main { padding: 82px 0 90px; scroll-margin-top: 68px; }
  .service-feature-grid, .service-feature.alt .service-feature-grid, .sustainability-story-grid, .contact-main-grid { grid-template-columns: 1fr; gap: 42px; }
  .service-feature.alt .service-feature-visual { order: 0; }
  .service-feature-visual { min-height: 430px; border-radius: 18px; }
  .sustainability-story-visual { min-height: 0; aspect-ratio: 3 / 2; border-radius: 18px; }
  .sustainability-story-visual::after { background: linear-gradient(180deg, transparent 72%, rgba(2,8,5,.14)); }
  .service-compare-heading, .qualification-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 42px; }
  .service-compare-heading .lede { justify-self: start; }
  .comparison-grid, .qualification-grid { grid-template-columns: 1fr; }
  .comparison-card { min-height: 0; padding: 30px 24px; }
  .comparison-card > small { margin-bottom: 50px; }
  .impact-strip-grid { grid-template-columns: 1fr; }
  .impact-stat { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .impact-stat:last-child { border-bottom: 0; }
  .qualification-cta { flex-direction: column; align-items: flex-start; }
  .contact-hero, .contact-hero .internal-hero-content { min-height: 640px; }
  .contact-aside { position: static; }
  .contact-form { padding: 28px 22px; }
  .contact-form-intro, .contact-form-footer { flex-direction: column; align-items: flex-start; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full { grid-column: auto; }
}

@media (max-width: 430px) {
  .dual-hero h1 { font-size: 45px; }
  .service-benefits { grid-template-columns: 1fr; }
  .service-feature-visual { min-height: 390px; }
}
