:root {
  --vilac-blue: #063c60;
  --vilac-deep-blue: #072a42;
  --vilac-mint: #a8e6cf;
  --vilac-cream: #f6f1e8;
  --vilac-white: #fff;
  --vilac-shell: min(1180px, calc(100% - 40px));
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--vilac-deep-blue);
  background: var(--vilac-cream);
  font-family: Arial, sans-serif;
}

.site-shell {
  width: var(--vilac-shell);
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 9999;
  padding: 10px 14px;
  color: var(--vilac-deep-blue);
  background: var(--vilac-white);
  transform: translateY(-180%);
}

.skip-link:focus {
  transform: none;
}

.site-header,
.site-footer {
  color: var(--vilac-white);
  background: var(--vilac-deep-blue);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
}

.site-brand {
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.site-footer {
  padding-block: 40px;
}

.production-placeholder {
  display: grid;
  min-height: 70vh;
  align-items: center;
  padding-block: 80px;
}

.production-placeholder h1 {
  max-width: 16ch;
  margin: 12px 0 20px;
  font-size: clamp(2.4rem, 7vw, 5.5rem);
  line-height: 0.95;
}

.production-placeholder__eyebrow {
  color: var(--vilac-blue);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Sistema visual da fatia vertical: catálogo e produto. */
:root { --ink:#102d28; --ink-soft:#4c625e; --forest:#12372d; --forest-deep:#0b2720; --mint:#a4ddce; --cream:#f8f7f2; --paper:#fff; --cocoa:#2d1c16; --line:#d9dcd6; --shell:min(1340px,calc(100% - 64px)); }
body { color:var(--ink); background:var(--cream); font-family:Arial,Helvetica,sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; }
.site-shell { width:var(--shell); }
.screen-reader-text,.skip-link { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; z-index:100; top:16px; left:16px; width:auto; height:auto; padding:12px 16px; margin:0; clip:auto; color:var(--ink); background:var(--paper); }
.site-header { position:sticky; z-index:20; top:0; color:#fff; background:rgba(11,39,32,.96); transition:box-shadow .2s ease; }
.site-header.is-scrolled { box-shadow:0 8px 24px rgba(4,23,17,.22); }
.site-header__inner { gap:35px; justify-content:initial; min-height:78px; }
.site-brand { flex:0 0 auto; }
.site-brand img { width:130px; height:auto; }
.site-nav { flex:1; }
.site-nav ul { display:flex; justify-content:center; gap:clamp(18px,2.2vw,38px); padding:0; margin:0; list-style:none; }
.site-nav a { color:rgba(255,255,255,.78); font-size:.73rem; font-weight:700; text-decoration:none; }
.site-nav .current-menu-item a,.site-nav a:hover { color:var(--mint); }
.header-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:45px; padding:0 18px; border:1px solid currentColor; color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.02em; text-decoration:none; transition:color .2s ease,background .2s ease,transform .2s ease; }
.header-cta:hover,.button:hover { transform:translateY(-2px); }
.header-cta span { width:7px; height:7px; border-radius:50%; background:var(--mint); }
.menu-button { display:none; width:42px; height:42px; padding:10px; border:0; color:#fff; background:transparent; }
.menu-button > span:not(.screen-reader-text) { display:block; width:22px; height:1px; margin:5px auto; background:currentColor; }
.site-footer { padding:64px 0 22px; color:#fff; background:var(--forest-deep); }
.site-footer__grid { display:grid; grid-template-columns:1.5fr .7fr 1fr; gap:55px; }
.site-footer__logo { width:135px; height:auto; margin-bottom:18px; }
.site-footer p { max-width:320px; margin:0; color:#c5d2cd; font-size:.78rem; line-height:1.6; }
.site-footer__grid > div:not(:first-child) { display:flex; flex-direction:column; gap:11px; }
.site-footer strong { margin-bottom:5px; color:var(--mint); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.site-footer a { color:#fff; font-size:.77rem; text-decoration:none; }
.site-footer a:hover { color:var(--mint); }
.site-footer__bottom { margin-top:55px; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); color:#9eafa9; font-size:.65rem; }
.eyebrow { margin:0 0 15px; color:var(--forest); font-size:.62rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.eyebrow--mint { color:var(--mint); }
.section { padding-block:clamp(74px,9vw,128px); }
.button--light { color:#fff; border-color:rgba(255,255,255,.48); }
.button--light:hover { color:var(--forest); background:var(--mint); border-color:var(--mint); }

.catalog-hero { position:relative; min-height:518px; overflow:hidden; color:#fff; background:#0f3228; }
.catalog-hero__scene { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,38,30,.99) 0%,rgba(10,38,30,.86) 36%,rgba(10,38,30,.2) 65%),url('../images/bg-produtos-copy.webp') center/cover no-repeat; }
.catalog-hero__content { position:relative; z-index:1; max-width:min(1340px,calc(100% - 64px)); padding-top:115px; }
.catalog-hero__content > * { max-width:550px; }
.catalog-hero h1 { margin:0 0 20px; font-size:clamp(2.7rem,4.4vw,4.85rem); font-weight:600; letter-spacing:-.065em; line-height:.95; }
.catalog-hero p:not(.eyebrow) { margin:0 0 28px; color:#d3e3dd; font-size:.94rem; line-height:1.65; }
.catalog-section { padding-block:clamp(72px,8vw,120px); }
.catalog-heading { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:70px; align-items:end; margin-bottom:38px; }
.catalog-heading h2,.section-heading h2 { max-width:620px; margin:0; font-size:clamp(2.2rem,3.6vw,4rem); font-weight:600; letter-spacing:-.06em; line-height:.98; }
.catalog-heading > p { margin:0 0 3px; color:var(--ink-soft); font-size:.82rem; line-height:1.6; }
.catalog-filter { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; padding:18px; margin-bottom:30px; background:#fff; border:1px solid var(--line); }
.catalog-filter label { display:grid; gap:7px; color:var(--ink-soft); font-size:.61rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.catalog-filter select { width:100%; min-height:42px; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); background:#fff; font:inherit; font-size:.82rem; }
.catalog-filter p { align-self:end; min-width:140px; margin:0; padding:0 8px 9px; color:var(--ink-soft); font-size:.68rem; white-space:nowrap; }
.catalog-filter strong { color:var(--forest); font-size:1.35rem; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; }
.product-card { display:flex; min-height:405px; flex-direction:column; background:var(--paper); }
.product-card__image { display:grid; min-height:225px; place-items:center; overflow:hidden; padding:19px; background:linear-gradient(135deg,#34211a,#80533d); }
.product-card:nth-child(3n+2) .product-card__image { background:linear-gradient(135deg,#265a55,#8bb5a6); }
.product-card:nth-child(3n) .product-card__image { background:linear-gradient(135deg,#5f4122,#a8844a); }
.product-card__image img { width:180px; height:190px; object-fit:contain; filter:drop-shadow(0 18px 16px rgba(0,0,0,.25)); transition:transform .28s ease; }
.product-card:hover .product-card__image img { transform:translateY(-5px) rotate(1deg); }
.product-card__body { display:flex; flex:1; flex-direction:column; padding:21px; }
.product-card small { color:var(--forest); font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.product-card h2 { margin:10px 0 8px; font-size:1.55rem; font-weight:600; letter-spacing:-.045em; line-height:1.02; }
.product-card h2 a { text-decoration:none; }
.product-card p { margin:0; color:var(--ink-soft); font-size:.76rem; line-height:1.48; }
.text-link { display:flex; justify-content:space-between; margin-top:auto; padding-top:17px; border-top:1px solid var(--line); color:var(--forest); font-size:.67rem; font-weight:700; text-decoration:none; }
.catalog-empty { grid-column:1/-1; padding:34px; background:#fff; color:var(--ink-soft); }
.catalog-cta,.product-cta { color:#fff; background:var(--forest); }
.catalog-cta .site-shell { padding-block:clamp(68px,8vw,105px); }
.catalog-cta h2 { max-width:780px; margin:0 0 30px; font-size:clamp(2rem,3.5vw,3.7rem); font-weight:600; letter-spacing:-.06em; line-height:1; }

.product-hero { position:relative; overflow:hidden; color:#fff; background:#160c09 url('../images/bg-chocolte-32.webp') center/cover no-repeat; }
.product-hero::before { position:absolute; inset:0; content:''; background:linear-gradient(90deg,rgba(22,12,9,.96),rgba(22,12,9,.61)); }
.product-hero__grid { position:relative; display:grid; min-height:600px; grid-template-columns:1fr .8fr; gap:60px; align-items:center; }
.product-hero__grid > div:first-child { max-width:590px; }
.breadcrumb { margin:0 0 28px; color:#d4b6a5; font-size:.68rem; }
.breadcrumb a { color:inherit; }
.breadcrumb span { padding-inline:8px; opacity:.55; }
.product-hero h1 { margin:0 0 18px; font-size:clamp(3rem,5.4vw,5.6rem); font-weight:600; letter-spacing:-.07em; line-height:.9; }
.product-hero h1 + p { max-width:500px; margin:0 0 28px; color:#e2cbc0; font-size:.92rem; line-height:1.6; }
.product-hero__packshot { display:grid; place-items:center; height:100%; min-height:465px; border-left:1px solid rgba(255,255,255,.18); }
.product-hero__packshot img { width:min(360px,85%); max-height:420px; object-fit:contain; filter:drop-shadow(0 24px 19px rgba(0,0,0,.35)); }
.product-intro__grid { display:grid; grid-template-columns:.38fr 1fr; gap:65px; }
.product-intro h2 { max-width:700px; margin:0 0 22px; font-size:clamp(2.2rem,3.5vw,3.9rem); font-weight:600; letter-spacing:-.06em; line-height:.99; }
.product-intro__grid > div > p { max-width:620px; color:var(--ink-soft); font-size:.93rem; line-height:1.65; }
.product-applications { padding-block:clamp(70px,8vw,114px); color:#fff; background:var(--forest-deep); }
.product-applications__grid { display:grid; grid-template-columns:1fr .72fr; gap:clamp(45px,11vw,150px); }
.product-applications h2 { max-width:540px; margin:0 0 18px; font-size:clamp(2.2rem,3.4vw,3.7rem); font-weight:600; letter-spacing:-.06em; line-height:.99; }
.rich-text { max-width:540px; color:#c8dad4; font-size:.88rem; line-height:1.6; }
.product-applications__terms { align-self:end; padding:25px; border:1px solid rgba(255,255,255,.18); }
.product-applications__terms strong { color:var(--mint); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.product-applications__terms ul { padding:8px 0 0; margin:15px 0 0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.product-applications__terms li { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.18); font-size:.84rem; }
.section-heading { margin-bottom:35px; }
.product-specs { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.product-specs article { min-height:180px; padding:23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.product-specs small { color:var(--ink-soft); font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.product-specs h3 { margin:13px 0 5px; font-size:1.75rem; font-weight:600; letter-spacing:-.05em; }
.product-specs p { margin:8px 0 0; color:var(--ink-soft); font-size:.78rem; line-height:1.45; }
.product-documents { padding-block:clamp(70px,8vw,110px); color:#fff; background:var(--cocoa); }
.product-documents h2 { max-width:640px; margin:0 0 30px; font-size:clamp(2.1rem,3.4vw,3.65rem); font-weight:600; letter-spacing:-.06em; line-height:1; }
.product-documents ul { max-width:760px; padding:0; margin:0; list-style:none; border-top:1px solid rgba(255,255,255,.22); }
.product-documents li { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.22); color:#e1cfc2; font-size:.84rem; }
.product-documents a { color:#fff; }
.product-segments h2 { max-width:580px; margin:0 0 27px; font-size:clamp(2.1rem,3.3vw,3.55rem); font-weight:600; letter-spacing:-.06em; line-height:1; }
.term-list { display:flex; flex-wrap:wrap; gap:9px; }
.term-list span { padding:12px 15px; border:1px solid var(--line); color:var(--forest); background:#fff; font-size:.75rem; font-weight:700; }
.product-cta__grid { display:grid; grid-template-columns:1.1fr .55fr auto; gap:55px; align-items:center; padding-block:clamp(65px,8vw,108px); }
.product-cta h2 { max-width:580px; margin:0; font-size:clamp(2rem,3.3vw,3.55rem); font-weight:600; letter-spacing:-.06em; line-height:1; }
.product-cta p:not(.eyebrow) { color:#bed2ca; font-size:.82rem; line-height:1.6; }

/* Home: a rotação vive no tema; os dados ficam reduzidos a campos editoriais. */
.home-hero { position:relative; min-height:620px; overflow:hidden; color:#fff; background:var(--forest-deep); }
.home-hero__slide { position:relative; min-height:620px; }
.home-hero__background,.home-hero__background img,.home-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.home-hero__background img { object-fit:cover; object-position:center; }
.home-hero__shade { background:linear-gradient(90deg,rgba(9,34,27,.96),rgba(9,34,27,.75) 42%,rgba(9,34,27,.12)); }
.home-hero__content { position:relative; display:flex; min-height:620px; flex-direction:column; justify-content:center; }
.home-hero__content > * { max-width:580px; }
.home-hero h1 { margin:0 0 20px; font-size:clamp(2.9rem,5.2vw,5.7rem); font-weight:600; letter-spacing:-.07em; line-height:.91; text-wrap:balance; }
.home-hero__content > p:not(.eyebrow) { margin:0 0 30px; color:#d7e5df; font-size:.96rem; line-height:1.65; }
.home-hero__controls { position:absolute; z-index:3; bottom:28px; left:50%; display:flex; align-items:center; gap:12px; transform:translateX(-50%); }
.home-hero__controls button { min-height:34px; padding:0 11px; border:1px solid rgba(255,255,255,.45); color:#fff; background:rgba(5,26,20,.4); font:inherit; font-size:.68rem; cursor:pointer; }
.home-hero__controls p { min-width:45px; margin:0; font-size:.7rem; text-align:center; }
.home-intro__grid { display:grid; grid-template-columns:.38fr 1fr; gap:65px; }
.home-intro h2 { max-width:700px; margin:0 0 19px; font-size:clamp(2.2rem,3.7vw,4rem); font-weight:600; letter-spacing:-.06em; line-height:.98; text-wrap:balance; }
.home-intro p:not(.eyebrow) { max-width:600px; margin:0 0 25px; color:var(--ink-soft); font-size:.9rem; line-height:1.6; }
.home-products { padding:0 0 clamp(78px,9vw,130px); }
.home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:38px; margin-bottom:32px; }
.home-section-heading h2 { max-width:680px; margin:0; font-size:clamp(2.15rem,3.5vw,3.75rem); font-weight:600; letter-spacing:-.06em; line-height:.98; text-wrap:balance; }
.home-section-heading > p { max-width:330px; margin:0; color:#c9d9d3; font-size:.84rem; line-height:1.6; }
.home-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.home-product-card { display:flex; min-height:390px; flex-direction:column; background:#fff; }
.home-product-card__visual { display:grid; min-height:218px; place-items:center; padding:18px; overflow:hidden; background:linear-gradient(135deg,#312017,#7f533b); }
.home-product-card:nth-child(3n+2) .home-product-card__visual { background:linear-gradient(135deg,#28564e,#85aa98); }
.home-product-card:nth-child(3n) .home-product-card__visual { background:linear-gradient(135deg,#78592b,#bea262); }
.home-product-card__visual img { width:175px; height:185px; object-fit:contain; filter:drop-shadow(0 18px 16px rgba(0,0,0,.25)); transition:transform .28s ease; }
.home-product-card:hover .home-product-card__visual img { transform:translateY(-5px) rotate(1deg); }
.home-product-card > div { display:flex; flex:1; flex-direction:column; padding:20px; }
.home-product-card small { color:var(--forest); font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.home-product-card h3 { margin:9px 0 8px; font-size:1.55rem; font-weight:600; letter-spacing:-.045em; line-height:1.02; }
.home-product-card h3 a { text-decoration:none; }
.home-product-card p { margin:0; color:var(--ink-soft); font-size:.76rem; line-height:1.45; }
.home-applications { color:#fff; background:var(--forest-deep); }
.home-section-heading--light { align-items:end; }
.home-applications__grid { display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:260px 260px; gap:12px; }
.home-applications__grid a { position:relative; display:block; overflow:hidden; color:#fff; text-decoration:none; background:#102d28; }
.home-applications__grid a:first-child { grid-row:1 / 3; }
.home-applications__grid img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.home-applications__grid a::after { position:absolute; inset:0; content:''; background:linear-gradient(0deg,rgba(7,24,19,.78),rgba(7,24,19,.05) 70%); }
.home-applications__grid a:hover img { transform:scale(1.04); }
.home-applications__grid span { position:absolute; z-index:1; right:25px; bottom:23px; left:25px; display:flex; flex-direction:column; gap:7px; }
.home-applications__grid small { color:var(--mint); font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.home-applications__grid strong { max-width:370px; font-size:clamp(1.35rem,2vw,2rem); font-weight:600; letter-spacing:-.04em; line-height:1.02; }
.home-origin { position:relative; overflow:hidden; color:#fff; background:#143d60; }
.home-origin__art { position:absolute; inset:0; opacity:.52; background:linear-gradient(90deg,rgba(9,43,69,.96),rgba(9,43,69,.48)),url('../images/origin-espirito-santo-concept.png') center/cover no-repeat; }
.home-origin__grid { position:relative; display:grid; min-height:580px; grid-template-columns:1fr .65fr; gap:100px; align-items:center; }
.home-origin__grid h2 { max-width:600px; margin:0 0 20px; font-size:clamp(2.35rem,4vw,4.3rem); font-weight:600; letter-spacing:-.065em; line-height:.94; text-wrap:balance; }
.home-origin__grid > div > p:not(.eyebrow) { max-width:560px; margin:0 0 28px; color:#d0e0e6; font-size:.92rem; line-height:1.6; }
.home-origin__facts { display:grid; gap:13px; }
.home-origin__facts p { display:grid; gap:4px; padding:23px; margin:0; border:1px solid rgba(255,255,255,.25); background:rgba(6,44,69,.28); }
.home-origin__facts strong { color:var(--mint); font-size:1.25rem; font-weight:600; letter-spacing:-.03em; }
.home-origin__facts span { color:#e0ebed; font-size:.75rem; line-height:1.4; }
.home-contact { background:#f2f1eb; }
.home-contact__grid { display:flex; align-items:center; justify-content:space-between; gap:55px; }
.home-contact h2 { max-width:690px; margin:0 0 17px; font-size:clamp(2.2rem,3.7vw,4rem); font-weight:600; letter-spacing:-.06em; line-height:.98; }
.home-contact p:not(.eyebrow) { max-width:590px; margin:0; color:var(--ink-soft); font-size:.88rem; line-height:1.6; }
.home-contact .button { flex:0 0 auto; color:#fff; background:var(--forest); border-color:var(--forest); }
.home-contact .button:hover { background:var(--forest-deep); }

/* Institucional: narrativa com origem, portfólio e próxima ação. */
.about-hero { color:#fff; background:#061d36 url('../images/bg-vilac.webp') center/cover no-repeat; }
.about-hero__grid { display:grid; min-height:600px; grid-template-columns:1.1fr .65fr; gap:100px; align-items:center; }
.about-hero h1 { max-width:720px; margin:0 0 21px; font-size:clamp(2.8rem,4.9vw,5.25rem); font-weight:600; letter-spacing:-.07em; line-height:.92; text-wrap:balance; }
.about-hero__grid > div:first-child > p:not(.eyebrow) { max-width:600px; margin:0 0 28px; color:#d1e0eb; font-size:.92rem; line-height:1.65; }
.about-hero__actions { display:flex; flex-wrap:wrap; gap:10px; }
.about-stats { display:grid; gap:10px; }
.about-stats p { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 19px; margin:0; border:1px solid rgba(255,255,255,.2); background:rgba(2,15,40,.28); }
.about-stats small { color:var(--mint); font-size:.57rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.about-stats strong { max-width:210px; font-size:.78rem; text-align:right; text-transform:uppercase; }
.about-story__grid { display:grid; grid-template-columns:.78fr 1fr; gap:110px; }
.about-story h2,.about-portfolio h2 { max-width:630px; margin:0; font-size:clamp(2.25rem,3.6vw,3.95rem); font-weight:600; letter-spacing:-.06em; line-height:.98; text-wrap:balance; }
.about-story__grid > div:last-child { padding-top:10px; }
.about-story__grid > div:last-child p { max-width:590px; margin:0 0 18px; color:var(--ink-soft); font-size:.92rem; line-height:1.68; }
.about-purpose { padding-block:clamp(75px,9vw,125px); color:#fff; background:var(--forest-deep); }
.about-purpose__grid { display:grid; grid-template-columns:1fr .72fr; gap:clamp(50px,12vw,170px); }
.about-purpose h2 { max-width:620px; margin:0; font-size:clamp(2.25rem,3.65vw,3.95rem); font-weight:600; letter-spacing:-.06em; line-height:.98; text-wrap:balance; }
.about-purpose__grid > div:last-child { align-self:end; color:#cadbd5; font-size:.9rem; line-height:1.67; }
.about-purpose__grid > div:last-child p { margin:0 0 18px; }
.about-portfolio h2 { margin-bottom:42px; }
.about-pillars { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.about-pillars article { min-height:235px; padding:27px 28px 0 0; border-right:1px solid var(--line); }
.about-pillars article + article { padding-left:28px; }
.about-pillars article:last-child { border:0; }
.about-pillars h3 { margin:0 0 13px; font-size:1.55rem; font-weight:600; letter-spacing:-.045em; line-height:1.05; }
.about-pillars p { max-width:300px; margin:0; color:var(--ink-soft); font-size:.82rem; line-height:1.55; }
.about-cta { color:#fff; background:#180e0a url('../images/about-cta.png') 72% center/cover no-repeat; }
.about-cta .site-shell { padding-block:clamp(85px,10vw,150px); }
.about-cta p { max-width:530px; color:#dac5b8; font-size:.83rem; }
.about-cta h2 { max-width:650px; margin:10px 0 18px; font-size:clamp(2.65rem,4.5vw,5rem); font-weight:600; letter-spacing:-.07em; line-height:.92; text-wrap:balance; }
@media (max-width:900px) { :root { --shell:min(100% - 40px,760px); } .site-header__inner { gap:18px; min-height:70px; } .site-nav { position:absolute; top:70px; right:0; left:0; display:none; padding:18px 20px 24px; background:var(--forest-deep); } .site-nav.is-open { display:block; } .site-nav ul { align-items:flex-start; flex-direction:column; gap:20px; } .site-nav a { font-size:.86rem; } .header-cta { margin-left:auto; } .menu-button { display:block; } .catalog-hero__content { padding-top:95px; } .catalog-heading,.product-intro__grid,.product-applications__grid,.product-cta__grid { grid-template-columns:1fr; gap:25px; } .catalog-filter { grid-template-columns:1fr 1fr; } .catalog-filter p { grid-column:1/-1; padding-top:10px; } .product-grid { grid-template-columns:repeat(2,1fr); } .product-hero__grid { grid-template-columns:1fr .68fr; min-height:540px; gap:25px; } .product-hero__packshot { min-height:420px; } .product-specs { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { :root { --shell:calc(100% - 32px); } .site-brand img { width:112px; } .header-cta { min-height:38px; padding:0 10px; font-size:.62rem; } .catalog-hero { min-height:590px; } .catalog-hero__scene { background:linear-gradient(180deg,rgba(10,38,30,.98) 0%,rgba(10,38,30,.85) 48%,rgba(10,38,30,.12) 100%),url('../images/bg-produtos-copy.webp') 62% bottom/auto 48% no-repeat; } .catalog-hero__content { padding-top:75px; } .catalog-hero h1 { font-size:clamp(2.7rem,12vw,3.8rem); } .catalog-heading { margin-bottom:28px; } .catalog-filter { grid-template-columns:1fr; } .catalog-filter p { grid-column:auto; } .product-grid { grid-template-columns:1fr; } .product-card { min-height:365px; } .product-card__image { min-height:205px; } .product-hero { background-position:60% center; } .product-hero::before { background:linear-gradient(180deg,rgba(22,12,9,.94),rgba(22,12,9,.74)); } .product-hero__grid { grid-template-columns:1fr; min-height:0; padding-top:74px; } .product-hero__packshot { min-height:300px; border-top:1px solid rgba(255,255,255,.18); border-left:0; } .product-hero__packshot img { width:220px; max-height:270px; } .product-specs { grid-template-columns:1fr; } .site-footer__grid { grid-template-columns:1fr; gap:35px; } .site-footer__bottom { margin-top:35px; } }

@media (max-width:600px) { .home-hero,.home-hero__slide,.home-hero__content { min-height:650px; } .home-hero__background img { object-position:61% center; } .home-hero__shade { background:linear-gradient(180deg,rgba(9,34,27,.96),rgba(9,34,27,.74) 52%,rgba(9,34,27,.12)); } .home-hero__content { justify-content:flex-start; padding-top:80px; } .home-hero h1 { font-size:clamp(2.75rem,12vw,4rem); } .home-hero__controls { bottom:18px; gap:8px; } .home-hero__controls button { min-height:38px; } .home-intro__grid { grid-template-columns:1fr; gap:20px; } }

@media (max-width:900px) { .home-product-grid { grid-template-columns:repeat(2,1fr); } .home-applications__grid { grid-template-columns:1fr 1fr; grid-template-rows:300px 220px 220px; } .home-applications__grid a:first-child { grid-column:1 / -1; grid-row:auto; } .home-origin__grid { grid-template-columns:1fr; gap:35px; padding-block:85px; } .home-contact__grid { align-items:flex-start; flex-direction:column; gap:26px; } }
@media (max-width:900px) { .about-hero__grid,.about-story__grid,.about-purpose__grid { grid-template-columns:1fr; gap:35px; } .about-hero__grid { padding-block:95px; } .about-stats { grid-template-columns:repeat(2,1fr); } .about-pillars { grid-template-columns:1fr; } .about-pillars article,.about-pillars article + article { min-height:0; padding:24px 0; border-right:0; border-bottom:1px solid var(--line); } }
@media (max-width:600px) { .home-product-grid { grid-template-columns:1fr; } .home-product-card { min-height:355px; } .home-applications__grid { grid-template-columns:1fr; grid-template-rows:295px repeat(3,225px); } .home-applications__grid a:first-child { grid-column:auto; } .home-applications__grid span { right:19px; bottom:18px; left:19px; } .home-origin__grid { min-height:0; padding-block:75px; } .home-origin__art { background:linear-gradient(180deg,rgba(9,43,69,.91),rgba(9,43,69,.73)),url('../images/origin-espirito-santo-concept.png') center/cover no-repeat; } }
@media (max-width:600px) { .about-hero__grid { min-height:0; padding-block:78px; } .about-hero h1 { font-size:clamp(2.75rem,12vw,4rem); } .about-stats { grid-template-columns:1fr; } .about-cta { background-position:62% center; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Estados e pequenas proteções de interação. */
a:focus-visible,button:focus-visible,select:focus-visible { outline:3px solid var(--mint); outline-offset:4px; }
.catalog-filter select:focus-visible { outline-color:var(--forest); outline-offset:2px; }
.button,.header-cta,.product-card__image,.text-link { touch-action:manipulation; -webkit-tap-highlight-color:rgba(164,221,206,.32); }
#informacoes { scroll-margin-top:104px; }
.catalog-heading h2,.section-heading h2,.catalog-cta h2,.product-intro h2,.product-applications h2,.product-segments h2,.product-cta h2 { text-wrap:balance; }
.product-card h2,.product-hero h1 { overflow-wrap:anywhere; }
