/* Grupo Saluvia V12: identidade tipográfica, fundos texturizados e movimento contido. */
.saluvia-home { --film-ink:#092b22; --film-pine:#123e30; --film-mint:#dcead6; --film-gold:#e8d39e; }

/* Abertura: o nome do grupo é o protagonista. A fotografia continua ilustrativa. */
.saluvia-home .impact-hero {
  min-height: clamp(680px, calc(100svh - 114px), 920px);
  background: #08281f;
}
.saluvia-home .impact-photo { z-index: -3; }
.saluvia-home .impact-photo img { object-position: 59% center; }
.saluvia-home .impact-hero::before {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(3,25,20,.96) 0%, rgba(4,29,22,.85) 37%, rgba(8,32,25,.5) 69%, rgba(3,24,18,.19) 100%),
    linear-gradient(0deg, rgba(2,21,16,.48), transparent 48%);
}
.saluvia-home .impact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .27;
  background-image:
    linear-gradient(rgba(240,255,233,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,255,233,.075) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: linear-gradient(to bottom, #000, transparent 95%);
}
.saluvia-home .impact-content { padding-top: clamp(105px, 12vh, 170px); padding-bottom: 160px; z-index: 2; }
.saluvia-home .impact-kicker { display: inline-flex; align-items: center; gap: 15px; color: #d6e9d6; font-size: 11px; letter-spacing: .25em; }
.saluvia-home .impact-kicker span { color: var(--film-gold); }
.saluvia-home .film-title { display: block; max-width: none; margin: 31px 0 0; font-weight: 780; letter-spacing: -.075em; line-height: .83; }
.saluvia-home .film-prefix { display: block; width: fit-content; font-size: clamp(21px,2.8vw,37px); font-weight: 660; letter-spacing: .47em; line-height: 1.3; color: #e2eee2; margin: 0 0 18px 9px; }
.saluvia-home .film-word { position: relative; display: block; width: fit-content; max-width: 100%; white-space: nowrap; font-size: clamp(92px, 12.3vw, 177px); line-height: .84; color: #f4f7ec; letter-spacing: -.095em; text-shadow: 0 18px 60px rgba(0,0,0,.2); }
@supports (background-clip: text) {
  .saluvia-home .film-word { background: linear-gradient(105deg,#dce9db 0%,#fff 27%,#f0e3c5 47%,#fff 62%,#dce9db 100%); background-size: 190% 100%; background-clip: text; color: transparent; }
}
.saluvia-home .film-word::after { content: ""; display: block; width: 100%; height: 2px; margin-top: 28px; background: linear-gradient(90deg, var(--film-gold), rgba(232,211,158,.65), transparent 94%); }
.saluvia-home .film-tagline { max-width: 880px; margin: 28px 0 15px; font-size: clamp(31px,3.3vw,49px); line-height: 1.13; letter-spacing: -.048em; font-weight: 570; color: #fff; }
.saluvia-home .film-tagline em { font-style: normal; color: var(--film-gold); }
.saluvia-home .film-description { max-width: 590px; color: #d8e6da; font-size: clamp(15px,1.25vw,18px); line-height: 1.7; margin: 0; }
.saluvia-home .impact-actions { margin-top: 31px; gap: 12px; }
.saluvia-home .impact-actions .btn { position: relative; isolation: isolate; overflow: hidden; border-radius: 999px; min-height: 54px; padding-inline: 25px; box-shadow: 0 12px 27px rgba(0,0,0,.17); }
.saluvia-home .impact-actions .btn-gold { background: #e8d39e; color: #153529; }
.saluvia-home .impact-actions .btn-gold:hover { background: #f3e4bb; color: #153529; }
.saluvia-home .impact-actions .btn-outline-light { border-color: rgba(241,248,238,.67); background: rgba(255,255,255,.08); backdrop-filter: blur(7px); }
.saluvia-home .impact-actions .btn::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(105deg, transparent 12%, rgba(255,255,255,.55) 49%, transparent 83%); transform: translateX(-150%); transition: transform .7s ease; }
.saluvia-home .impact-actions .btn:hover::before, .saluvia-home .impact-actions .btn:focus-visible::before { transform: translateX(150%); }
.saluvia-home .film-image-note { position: absolute; right: max(30px,calc((100vw - 1220px)/2)); bottom: 82px; z-index: 2; color: rgba(242,248,239,.8); font-size: 10px; letter-spacing: .08em; }
.saluvia-home .impact-bottom { z-index: 3; background: rgba(5,33,24,.72); backdrop-filter: blur(12px); border-top-color: rgba(232,246,227,.22); }
.saluvia-home .impact-bottom .container { min-height: 68px; }

/* A alternância entre superfícies claras e escuras cria capítulos legíveis. */
.saluvia-home :is(.scale-strip,.identity-section,.partners-section,.pathways-section,.process-section,.v9-proposal,.sectors-section,.portfolio-section,.faq-section,.social-section) { position: relative; isolation: isolate; }
.saluvia-home :is(.scale-strip,.identity-section,.partners-section,.pathways-section,.process-section,.v9-proposal,.sectors-section,.portfolio-section,.faq-section,.social-section)::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .46;
  background-image:
    linear-gradient(rgba(39,94,58,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(39,94,58,.05) 1px, transparent 1px),
    repeating-linear-gradient(115deg, rgba(21,91,49,.014) 0 1px, transparent 1px 13px);
  background-size: 78px 78px, 78px 78px, auto;
}
.saluvia-home :is(.scale-strip,.identity-section,.partners-section,.pathways-section,.process-section,.v9-proposal,.sectors-section,.portfolio-section,.faq-section,.social-section) > .container { position: relative; z-index: 1; }
.saluvia-home .scale-strip { background: linear-gradient(120deg,#e5eee1,#f3f5eb 54%,#dfeadd); border-bottom: 1px solid #d2e0d0; }
.saluvia-home .scale-grid { padding-block: 43px; }
.saluvia-home .scale-grid strong { color: #1b4a34; font-size: clamp(19px,2vw,27px); }
.saluvia-home .scale-grid span { font-size: 12px; color: #52705b; }
.saluvia-home .identity-section { background: radial-gradient(ellipse at 5% 8%,#f8fbf5,transparent 58%),#eef5ed; }
.saluvia-home .identity-media { border-radius: 25px; box-shadow: 0 30px 70px rgba(11,62,37,.13); }
.saluvia-home .identity-media span { right: 16px; bottom: 16px; border-radius: 999px; padding: 6px 12px; }
.saluvia-home .identity-copy .section-title { max-width: 640px; }
.saluvia-home .identity-copy .kicker, .saluvia-home .section-head .kicker { color: #3a7650; }
.saluvia-home .partners-section { background: #f7f8f2; border-top-color: #d8e3d7; }
.saluvia-home .partner-strip { background: rgba(255,255,255,.83); border: 1px solid #d9e6da; border-radius: 20px; overflow: hidden; box-shadow: 0 15px 38px rgba(17,73,39,.06); }
.saluvia-home .partner-item { background: transparent; }

.saluvia-home .mission-section { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 15% 10%,rgba(47,117,76,.31),transparent 52%),linear-gradient(145deg,#082a20,#0f3c2c 70%,#092b21); }
.saluvia-home .mission-section::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .26; background-image: linear-gradient(rgba(227,247,220,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(227,247,220,.09) 1px,transparent 1px); background-size: 74px 74px; mask-image: linear-gradient(to right,#000,transparent 78%); }
.saluvia-home .mission-section > .container { position: relative; z-index: 1; }
.saluvia-home .mission-copy .section-title { font-size: clamp(42px,4.8vw,68px); }
.saluvia-home .mission-media img { border-radius: 24px; box-shadow: 0 35px 70px rgba(0,17,9,.24); }
.saluvia-home .mission-points { border-top-color: rgba(231,246,224,.34); }
.saluvia-home .mission-points > div { border-bottom-color: rgba(231,246,224,.24); }

.saluvia-home .pathways-section { background: linear-gradient(155deg,#eaf3e8,#f4f8f1 48%,#e8f1e8); }
.saluvia-home .pathway-card { border-radius: 23px; padding: clamp(29px,3.6vw,52px); box-shadow: 0 17px 42px rgba(18,70,39,.06); }
.saluvia-home .pathway-dark { background: linear-gradient(140deg,#144b36,#0c3327); border-color: #205943; box-shadow: 0 24px 53px rgba(11,59,32,.16); }
.saluvia-home .pathway-card:hover { transform: translateY(-6px); box-shadow: 0 25px 52px rgba(18,70,39,.13); }
.saluvia-home .process-section { background: #fafbf7; }
.saluvia-home .process-rows li { border-bottom-color: #d6e3d7; }
.saluvia-home .v9-proposal { background: linear-gradient(135deg,#e4efe2,#eff5e9 60%,#dfeade); }
.saluvia-home .v9-proposal-list { border-top-color: #bdd3bf; }
.saluvia-home .v9-proposal-list li { border-bottom-color: #bdd3bf; }
.saluvia-home .v9-proposal .btn { border-radius: 999px; background: #124832; color: #fff; box-shadow: 0 12px 28px rgba(13,68,36,.14); }
.saluvia-home .v9-proposal .btn:hover { background: #206548; color: #fff; }
.saluvia-home .sectors-section { background: #f5f4eb; }
.saluvia-home .sector-columns span { border-color: #cfdfce; }
.saluvia-home .portfolio-section { background: linear-gradient(160deg,#f1f7ee,#f9fbf5 58%,#eaf3e9); }
.saluvia-home .portfolio-tile { overflow: hidden; border-radius: 22px; background: #fff; border-color: #dce9d9; box-shadow: 0 15px 40px rgba(14,64,32,.055); }
.saluvia-home .portfolio-tile:hover { border-color: #9cbea0; box-shadow: 0 26px 48px rgba(14,64,32,.12); }
.saluvia-home .portfolio-image { background: #f3f8f1; }
.saluvia-home .portfolio-bottom .btn { border-radius: 999px; box-shadow: 0 10px 24px rgba(10,64,33,.14); }

.saluvia-home .national-section { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 85% 15%,rgba(50,121,78,.36),transparent 45%),linear-gradient(135deg,#082b20,#114834 75%,#0b3326); }
.saluvia-home .national-section::before { content: ""; position: absolute; inset: 0; z-index: 0; opacity: .31; pointer-events: none; background-image: linear-gradient(rgba(235,249,225,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(235,249,225,.075) 1px,transparent 1px); background-size: 81px 81px; }
.saluvia-home .national-section::after { content: "BRASIL"; position: absolute; z-index: 0; right: -2%; bottom: -7%; color: rgba(236,250,229,.065); font-weight: 850; font-size: clamp(140px,19vw,360px); line-height: 1; letter-spacing: -.08em; pointer-events: none; }
.saluvia-home .national-section > .container { position: relative; z-index: 1; }
.saluvia-home .national-section h2 { font-size: clamp(45px,5.7vw,81px); }
.saluvia-home .faq-section { background: #f7faf5; }
.saluvia-home .faq-list details { margin-bottom: 11px; padding: 19px 24px; border: 1px solid #dce8da; border-radius: 15px; background: rgba(255,255,255,.88); box-shadow: 0 8px 22px rgba(16,65,33,.035); }
.saluvia-home .social-section { background: linear-gradient(120deg,#e7efe4,#f3f5ea); }
.saluvia-home .cta-band { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg,#0a3024,#15503a); color: #fff; }
.saluvia-home .cta-band::before { content: ""; position: absolute; inset: 0; z-index: 0; opacity: .25; pointer-events: none; background-image: linear-gradient(rgba(231,248,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(231,248,220,.12) 1px,transparent 1px); background-size: 76px 76px; }
.saluvia-home .cta-band > .container { position: relative; z-index: 1; }
.saluvia-home .cta-band .kicker { color: #d6e9c9; }
.saluvia-home .cta-band h2 { color: #fff; }
.saluvia-home .cta-band p { color: #d3e7d8; }
.saluvia-home .cta-band .btn { border-radius: 999px; background: #e9d7a7; color: #193928; box-shadow: 0 12px 27px rgba(0,19,9,.21); }
.saluvia-home .cta-band .btn:hover { background: #f4e5be; color: #193928; }

/* Nas páginas internas, a mesma trama surge apenas nas aberturas institucionais. */
.page-intro.dark-page { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 88% 12%,#e3efe2,transparent 40%),linear-gradient(140deg,#f2f7ef,#e9f2e8); }
.page-intro.dark-page::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .52; background-image: linear-gradient(rgba(34,95,54,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(34,95,54,.07) 1px,transparent 1px); background-size: 78px 78px; }
.page-intro.dark-page > .container { position: relative; z-index: 1; }
main:not(.saluvia-home):not(.catalog-page):not(.product-showcase) .section.pale { position: relative; isolation: isolate; background: linear-gradient(145deg,#eef5eb,#e4eee3); }
main:not(.saluvia-home):not(.catalog-page):not(.product-showcase) .section.pale::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .45; background-image: linear-gradient(rgba(30,91,51,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(30,91,51,.06) 1px,transparent 1px); background-size: 78px 78px; }
main:not(.saluvia-home):not(.catalog-page):not(.product-showcase) .section.pale > .container { position: relative; z-index: 1; }
.site-header .desktop-cta { border-radius: 999px; }

@media (max-width: 970px) {
  .saluvia-home .film-word { font-size: clamp(80px,12.3vw,140px); }
  .saluvia-home .impact-content { padding-top: 100px; }
}
@media (max-width: 720px) {
  .saluvia-home .impact-hero { min-height: 760px; }
  .saluvia-home .impact-photo img { object-position: 66% center; }
  .saluvia-home .impact-hero::before { background: linear-gradient(90deg,rgba(3,26,20,.94),rgba(3,28,21,.76) 64%,rgba(3,24,18,.57)),linear-gradient(0deg,rgba(3,25,19,.52),transparent 50%); }
  .saluvia-home .impact-content { padding-top: 86px; padding-bottom: 155px; }
  .saluvia-home .film-prefix { font-size: 20px; margin-left: 3px; margin-bottom: 15px; }
  .saluvia-home .film-word { font-size: clamp(58px,15.8vw,108px); letter-spacing: -.095em; }
  .saluvia-home .film-word::after { margin-top: 20px; }
  .saluvia-home .film-tagline { font-size: clamp(31px,7.5vw,45px); }
  .saluvia-home .film-description { font-size: 15px; }
  .saluvia-home .film-image-note { right: 30px; bottom: 78px; }
  .saluvia-home .mission-copy .section-title { font-size: clamp(36px,8.5vw,50px); }
  .saluvia-home .pathway-card { border-radius: 18px; }
  .saluvia-home .national-section::after { font-size: 26vw; bottom: -3%; }
  .saluvia-home .faq-list details { padding: 16px 18px; }
}
@media (max-width: 430px) {
  .saluvia-home .impact-hero { min-height: 790px; }
  .saluvia-home .film-word { font-size: clamp(43px,14.3vw,61px); }
  .saluvia-home .impact-actions { flex-direction: column; align-items: stretch; }
  .saluvia-home .impact-actions .btn { width: 100%; }
  .saluvia-home .film-image-note { display: none; }
  .saluvia-home .impact-bottom .container { gap: 10px; }
  .saluvia-home .impact-bottom span { font-size: 8px; }
  .saluvia-home .partner-strip { border-radius: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
  .saluvia-home .impact-photo img { animation: film-photo-settle 1.8s ease-out both; }
  .saluvia-home .impact-kicker { animation: film-rise .7s .05s both; }
  .saluvia-home .film-prefix { animation: film-rise .7s .18s both; }
  .saluvia-home .film-word { animation: film-title-reveal 1.16s .28s cubic-bezier(.2,.8,.2,1) both, film-light-pass 1.7s 1.22s ease-out both; }
  .saluvia-home .film-word::after { animation: film-rule-draw .8s 1.1s ease-out both; transform-origin: left; }
  .saluvia-home .film-tagline { animation: film-rise .85s .75s both; }
  .saluvia-home .film-description, .saluvia-home .impact-actions { animation: film-rise .85s .98s both; }
  @keyframes film-photo-settle { from { transform: scale(1.065); } to { transform: scale(1); } }
  @keyframes film-title-reveal { from { clip-path: inset(0 100% 0 0); filter: blur(5px); } to { clip-path: inset(0 0 0 0); filter: blur(0); } }
  @keyframes film-light-pass { from { background-position: 100% 0; } to { background-position: 0 0; } }
  @keyframes film-rise { from { opacity: .05; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes film-rule-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}
@media (prefers-reduced-motion: reduce) {
  .saluvia-home .impact-photo img, .saluvia-home .impact-kicker, .saluvia-home .film-prefix, .saluvia-home .film-word, .saluvia-home .film-word::after, .saluvia-home .film-tagline, .saluvia-home .film-description, .saluvia-home .impact-actions { animation: none !important; transform: none !important; filter: none !important; clip-path: none !important; }
  .saluvia-home .impact-actions .btn::before { display: none; }
}
