
/* styles.css */
:root{--orange:#f57c00;--orange-dark:#d96300;--ink:#141414;--charcoal:#202020;--muted:#666;--soft:#f2f1ed;--line:#d9d8d3;--white:#fff;--shell:min(1240px,calc(100% - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:var(--shell);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(18,18,18,.97);border-bottom:1px solid #373737}.header-inner{height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:46px}.brand img{height:62px;width:auto}.site-header nav{display:flex;justify-content:flex-end;gap:34px;color:#fff;font-size:14px;font-weight:700}.site-header nav a{position:relative;padding:30px 0}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:23px;height:2px;background:var(--orange);transition:.25s}.site-header nav a:hover:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;background:var(--orange);color:#111;font:800 13px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.2s}.btn:hover{background:#ff951f;transform:translateY(-2px)}.btn-small{min-height:42px;padding:0 22px}.menu-toggle{display:none}.hero{min-height:660px;position:relative;overflow:hidden;background:#111;color:#fff;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 43%,rgba(0,0,0,.12) 78%),url('assets/hero.jpg') 67% center/cover no-repeat;transform:scale(1.01)}.hero:after{content:"";position:absolute;inset:0;opacity:.1;background-image:linear-gradient(30deg,#fff 12%,transparent 12.5%,transparent 87%,#fff 87.5%,#fff),linear-gradient(150deg,#fff 12%,transparent 12.5%,transparent 87%,#fff 87.5%,#fff);background-size:72px 126px;mask-image:linear-gradient(90deg,#000,transparent 55%)}.hero-content{position:relative;z-index:2;padding:90px 0;max-width:1240px}.hero-content>*{max-width:700px}.eyebrow{margin:0 0 18px;color:var(--orange);font:800 12px/1.2 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.12em}.eyebrow.dark{color:var(--orange-dark)}h1,h2,h3{font-family:Montserrat,sans-serif;margin-top:0;line-height:1.08}h1{font-size:clamp(40px,5vw,68px);font-weight:300;letter-spacing:-.04em;margin-bottom:26px}h1 span{font-weight:800}.hero-content>p:not(.eyebrow){font-size:19px;line-height:1.6;color:#e7e7e7}.actions{display:flex;align-items:center;gap:30px;margin-top:35px}.text-link{color:#fff;font-weight:900}.text-link span{color:var(--orange);padding-left:8px}.value-strip{background:var(--orange);padding:0}.value-grid{display:grid;grid-template-columns:repeat(3,1fr)}.value-grid article{min-height:122px;display:flex;align-items:center;gap:18px;padding:26px 34px;border-left:1px solid rgba(0,0,0,.18)}.value-grid article:last-child{border-right:1px solid rgba(0,0,0,.18)}.value-grid strong{font:300 38px/1 Montserrat;color:rgba(0,0,0,.35)}.value-grid h2{font-size:15px;margin:0 0 5px;text-transform:uppercase}.value-grid p{margin:0;font-size:14px}.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:46px}.section-head h2,.family h2,.locator h2,.learn-faq h2{font-size:clamp(32px,4vw,50px);font-weight:300;letter-spacing:-.035em;margin:0}.section-head>p{max-width:420px;color:var(--muted);font-size:18px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.category-card{border:1px solid var(--line);background:#fff;overflow:hidden;transition:.25s}.category-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(0,0,0,.12)}.category-image{height:270px;background:#ebeae6;overflow:hidden}.category-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.category-card:hover img{transform:scale(1.04)}.category-image.product-cutout{background:linear-gradient(135deg,#e8e7e3,#c9c7c1);padding:34px}.category-image.product-cutout img{object-fit:contain}.category-copy{padding:28px}.category-copy span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--orange-dark);font-weight:900}.category-copy h3{font-size:25px;margin:11px 0}.category-copy p{color:var(--muted);min-height:50px}.category-copy b{font-size:13px;text-transform:uppercase}.business-band{padding:105px 0;background-color:var(--charcoal);color:#fff;background-image:linear-gradient(30deg,#292929 12%,transparent 12.5%,transparent 87%,#292929 87.5%,#292929),linear-gradient(150deg,#292929 12%,transparent 12.5%,transparent 87%,#292929 87.5%,#292929);background-size:74px 130px}.business-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.benefits h2,.quote-card h2{font-size:clamp(31px,3.5vw,48px);font-weight:300}.benefits ul{padding:0;margin:32px 0 0;list-style:none;display:grid;gap:16px}.benefits li{padding:15px 0 15px 34px;border-top:1px solid #444;position:relative}.benefits li:before{content:"+";position:absolute;left:2px;color:var(--orange);font:700 24px Montserrat}.quote-card{position:relative;background:#fff;color:#111;padding:50px;box-shadow:14px 14px 0 var(--orange)}.quote-card p{color:#555;font-size:18px}.quote-card small{display:block;color:#777;margin-top:18px}.quote-number{font:800 70px/1 Montserrat;color:#eee;position:absolute;right:30px;top:22px}.family{background:var(--soft)}.family-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:80px}.family-copy p:not(.eyebrow){font-size:19px;color:#555;margin:30px 0}.dark-link{color:#111}.family-image{position:relative}.family-image img{width:100%;height:440px;object-fit:cover}.family-image:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:2px solid var(--orange);z-index:0}.family-image img,.family-image span{position:relative}.family-image span{position:absolute;right:0;bottom:0;background:#111;color:#fff;padding:14px 20px;font-size:13px}.locator{padding-bottom:0}.locator-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:0}.map-panel{background:#efeee9}.map-copy{padding:48px 50px 30px}.map-copy h2{font-size:38px}.map-copy label{display:flex;margin-top:28px}.map-copy input{height:52px;border:1px solid #bbb;padding:0 16px;font:inherit;flex:1}.map-copy button{width:52px;border:0;background:var(--orange);font-size:22px}.map-art{height:330px;position:relative;overflow:hidden;background-color:#deddd7;background-image:linear-gradient(28deg,transparent 49%,rgba(255,255,255,.6) 50%,transparent 52%),linear-gradient(112deg,transparent 48%,rgba(255,255,255,.7) 49%,transparent 51%);background-size:130px 90px,170px 120px}.road{position:absolute;height:20px;background:#fff;box-shadow:0 0 0 1px #ccc;transform-origin:left center}.r1{width:120%;top:45%;left:-10%;transform:rotate(-9deg)}.r2{width:90%;top:5%;left:35%;transform:rotate(70deg)}.r3{width:75%;top:80%;left:0;transform:rotate(-42deg)}.pin{position:absolute;width:28px;height:28px;border:6px solid #fff;border-radius:50% 50% 50% 0;background:var(--orange);transform:rotate(-45deg);box-shadow:0 4px 12px #777}.p1{left:27%;top:32%}.p2{left:58%;top:54%}.p3{left:77%;top:25%}.map-label{position:absolute;left:42%;top:45%;font:800 17px Montserrat;background:rgba(255,255,255,.85);padding:6px 10px}.partner-form{background:#171717;color:#fff;padding:48px}.partner-form h2{font-size:34px;font-weight:700}.partner-form>p:not(.eyebrow){color:#bbb}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.partner-form label{font-size:12px;color:#bbb;display:block;margin-top:12px}.partner-form input{width:100%;height:44px;margin-top:5px;background:#272727;border:1px solid #555;color:#fff}.partner-form .btn{width:100%;margin-top:25px}.form-status{min-height:24px;color:#ffad55;margin-top:12px}.learn-faq{background:#fff}.lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px}.learn-card{position:relative;min-height:590px;background:#111;color:#fff;overflow:hidden;display:flex;align-items:end}.learn-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.9))}.learn-card img{position:absolute;width:100%;height:100%;object-fit:cover}.learn-card>div{position:relative;z-index:2;padding:42px}.learn-card h2{font-size:38px}.faq h2{margin-bottom:32px}.faq details{border-top:1px solid #bbb;padding:22px 0}.faq details:last-child{border-bottom:1px solid #bbb}.faq summary{cursor:pointer;font:700 16px/1.35 Montserrat;padding-right:30px;position:relative}.faq summary:after{content:"+";position:absolute;right:4px;color:var(--orange);font-size:24px}.faq details[open] summary:after{content:"−"}.faq p{color:#666}footer{background:#101010;color:#ddd;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .6fr .6fr;gap:50px}.footer-map{min-height:180px;padding:28px;display:flex;flex-direction:column;justify-content:end;background:#292929;background-image:linear-gradient(30deg,#333 12%,transparent 12.5%,transparent 87%,#333 87.5%,#333);background-size:45px 79px;border-bottom:4px solid var(--orange)}.footer-map b{font:700 19px Montserrat;color:#fff}.footer-logo{height:100px}.footer-grid h2{font-size:14px;text-transform:uppercase;color:#fff}.footer-grid a{display:block;margin:10px 0;color:#aaa}.footer-bottom{border-top:1px solid #333;margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:#777}.float-whatsapp{position:fixed;z-index:30;right:18px;bottom:18px;background:var(--orange);color:#111;padding:15px 18px;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.25)}.float-whatsapp span{margin-right:14px}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){:root{--shell:min(100% - 32px,720px)}.header-inner{height:72px;gap:18px}.brand img{height:54px}.menu-toggle{display:block;justify-self:end;background:none;color:#fff;border:1px solid #555;padding:9px 13px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#171717;padding:20px 24px;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:12px}.header-inner>.btn{display:none}.hero{min-height:700px;align-items:end}.hero-photo{background-image:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.1)),url('assets/hero.jpg');background-position:54% center}.hero-content{padding:120px 0 62px}.value-grid,.category-grid,.business-grid,.family-grid,.locator-grid,.lower-grid,.footer-grid{grid-template-columns:1fr}.value-grid article{border-bottom:1px solid rgba(0,0,0,.18)}.section{padding:75px 0}.section-head{align-items:start;flex-direction:column}.category-image{height:310px}.business-grid{gap:45px}.family-grid{gap:50px}.family-image img{height:360px}.locator-grid{width:100%}.lower-grid{gap:40px}.footer-grid{grid-template-columns:1fr 1fr}.learn-card{min-height:500px}}@media(max-width:560px){h1{font-size:39px}.hero-content>p:not(.eyebrow){font-size:16px}.actions{align-items:flex-start;flex-direction:column}.category-image{height:230px}.quote-card,.partner-form,.map-copy{padding:32px 25px}.family-image img{height:280px}.field-row{grid-template-columns:1fr}.learn-card{min-height:470px}.learn-card>div{padding:28px}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:20px;flex-direction:column}.float-whatsapp span{display:none}}

/* nav-overrides.css */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  border: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.98) 0%,
    rgba(0, 0, 0, 0.72) 48%,
    rgba(0, 0, 0, 0) 100%
  );
}

.header-inner {
  height: 144px;
}

.brand img {
  height: 104px;
}

.site-header nav {
  align-self: stretch;
  align-items: center;
  font-family: Montserrat, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.site-header nav a {
  display: flex;
  height: 100%;
  align-items: center;
  padding: 0;
}

.site-header nav a::after {
  bottom: calc(50% - 12px);
}

.hero-content h1 {
  max-width: 1100px;
  font-size: clamp(28px, 4.25vw, 58px);
  margin-bottom: 20px;
}

.hero {
  min-height: 726px;
}

.hero-photo {
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.335) 40%, rgba(0, 0, 0, 0.06) 74%),
    url("assets/hero-produccion-goma-rale.png");
  background-position: 56% center;
  background-size: cover;
}

.hero-content {
  min-height: 726px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-top: 100px;
  padding-bottom: 0;
}

img { height: auto; }
.footer-logo { width: auto; height: 100px; object-fit: contain; object-position: left center; }
.map-art { overflow: hidden; }

.hero-title-line {
  display: block;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .hero .hero-content h1 { font-size: clamp(26px, 5.2vw, 36px); }
  .hero .hero-title-line { white-space: normal; }
  .hero .hero-content { padding-top: 150px; padding-bottom: 48px; }
}

.hero-title-line:first-child {
  font-weight: 300;
}

.hero-title-line:last-child {
  font-weight: 800;
}

.hero-content > p:not(.eyebrow),
.hero-content > .actions {
  max-width: 720px;
}

.hero-content > p:not(.eyebrow) {
  margin: 14px 0;
  font-size: 17px;
}

.hero-content > .actions {
  margin-top: 26px;
}

.hero .text-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-bottom: 4px;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  line-height: 1.2;
}

.hero .text-link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms ease;
}

.hero .text-link span {
  display: inline-block;
  transition: transform 220ms ease;
}

.hero .text-link:hover::after,
.hero .text-link:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.hero .text-link:hover span,
.hero .text-link:focus-visible span {
  transform: translateX(5px);
}

.reveal.motion-entry {
  opacity: 0;
  transform: translate3d(0, 32px, 0) scale(0.985);
  transition-property: opacity, transform;
  transition-duration: 720ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.reveal.motion-entry.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.hero-photo {
  animation: hero-photo-entry 1200ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes hero-photo-entry {
  from {
    opacity: 0;
    transform: scale(1.08);
  }

  to {
    opacity: 1;
    transform: scale(1.01);
  }
}

@keyframes float-control-entry {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.float-whatsapp {
  width: 104px;
  height: 104px;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0;
  border: 1px solid #ff9a32;
  border-radius: 50%;
  background: var(--orange);
  color: #111111;
  font: 700 11px/1 Montserrat, sans-serif;
  letter-spacing: 0.01em;
  box-shadow: 0 6px 0 #bd5900, 0 16px 32px rgba(0, 0, 0, 0.34);
  transition: transform 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
  animation: float-control-entry 700ms ease 850ms both;
}

.float-whatsapp svg {
  width: 31px;
  height: 31px;
  fill: currentColor;
}

.float-whatsapp span {
  margin: 0;
}

.float-whatsapp:hover,
.float-whatsapp:focus-visible {
  background: #ff951f;
  box-shadow: 0 7px 0 #bd5900, 0 19px 38px rgba(0, 0, 0, 0.4);
  transform: translateY(-3px);
}

.value-grid {
  color: #ffffff;
}

.value-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  color: #ffffff;
}

.value-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.portfolio-card {
  position: relative;
  min-height: 476px;
  border: 0;
  overflow: visible;
  background: transparent;
  perspective: 1100px;
}

.category-card.portfolio-card:hover {
  transform: none;
  box-shadow: none;
}

.portfolio-card-inner {
  position: absolute;
  inset: 0;
  transform: translateZ(-48px);
  transform-style: preserve-3d;
  transition: transform 480ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.portfolio-card:hover .portfolio-card-inner,
.portfolio-card:focus-visible .portfolio-card-inner {
  transform: translateZ(0);
}

.portfolio-card.is-flipped .portfolio-card-inner {
  transform: translateZ(0) rotateY(180deg);
}

.portfolio-face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #ffffff;
  backface-visibility: hidden;
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0);
  transition: box-shadow 420ms ease;
}

.portfolio-card:hover .portfolio-face,
.portfolio-card:focus-visible .portfolio-face {
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.16);
}

.portfolio-front {
  z-index: 2;
}

.portfolio-back {
  display: flex;
  flex-direction: column;
  padding: 38px 34px 32px;
  color: var(--ink);
  transform: rotateY(180deg);
}

.portfolio-back::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 7px;
  background: var(--orange);
}

.portfolio-back-label {
  color: var(--orange-dark);
  font: 800 11px/1.2 Montserrat, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.portfolio-back h3 {
  margin: 24px 0 16px;
  font-size: 29px;
}

.portfolio-back p {
  margin: 0;
  color: var(--muted);
}

.portfolio-back ul {
  display: grid;
  gap: 10px;
  margin: 24px 0 30px;
  padding: 22px 0 0;
  border-top: 1px solid var(--line);
  list-style: none;
}

.portfolio-back li {
  position: relative;
  padding-left: 20px;
  color: #4f4f4f;
  font-size: 14px;
}

.portfolio-back li::before {
  content: "+";
  position: absolute;
  left: 0;
  color: var(--orange-dark);
  font-weight: 900;
}

.portfolio-cta {
  min-height: 52px;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--orange);
  color: #111111;
  font: 800 12px/1 Montserrat, sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.portfolio-cta b {
  transition: transform 220ms ease;
}

.portfolio-card:hover .portfolio-cta b,
.portfolio-card:focus-visible .portfolio-cta b {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-card-inner,
  .portfolio-face,
  .portfolio-cta b {
    transition-duration: 1ms;
  }

  .reveal,
  .reveal.motion-entry,
  .reveal.visible,
  .reveal.motion-entry.visible {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .hero-photo,
  .float-whatsapp {
    animation: none;
  }
}

.quote-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
}

.quote-template-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #1a1a1a;
  font: 700 12px/1.4 Montserrat, sans-serif;
  transition: color 200ms ease;
}

.quote-template-link > span {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  transition: text-decoration-color 200ms ease;
}

.xls-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  fill: none;
  stroke: var(--orange);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.xls-icon text {
  fill: var(--orange);
  stroke: none;
  font: 800 7px Montserrat, sans-serif;
  letter-spacing: -0.02em;
}

.quote-template-link:hover,
.quote-template-link:focus-visible {
  color: var(--orange-dark);
}

.quote-template-link:hover > span,
.quote-template-link:focus-visible > span {
  text-decoration-color: var(--orange);
}

/* Sistema de textura derivado del hexágono central del iso RALE. */
.hero::after {
  display: none;
}

.business-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #202020;
  background-image: none;
}

.business-band::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -12% -5%;
  pointer-events: none;
  background-image: url("assets/pernos-wireframe-referencia.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: min(54vw, 820px) auto;
  background-attachment: fixed;
  filter: grayscale(1) contrast(1.45) brightness(1.35);
  mix-blend-mode: screen;
  opacity: 0.24;
}

.business-grid {
  position: relative;
  z-index: 1;
}

.catalog,
.family {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.catalog::before,
.family::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: url("assets/isotipo-rale-parallax.png");
  background-repeat: no-repeat;
  background-size: min(18vw, 225px) auto;
  background-attachment: fixed;
  opacity: 0.15;
}

.catalog::before {
  background-position: right 4% center;
}

.family::after {
  background-position: left 4% center;
}

footer {
  background-color: #101010;
  background-image: none;
}

.home-page .section,
.home-page .business-band {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (max-width: 900px) {
  .header-inner {
    height: 130px;
  }

  .brand img {
    height: 90px;
  }

  .menu-toggle {
    border-color: rgba(255, 255, 255, 0.45);
    font: 300 12px Montserrat, sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .site-header nav {
    top: 130px;
    background: rgba(17, 17, 17, 0.96);
  }

  .site-header nav a {
    height: auto;
    padding: 12px;
  }

  .float-whatsapp {
    width: 88px;
    height: 88px;
    right: 16px;
    bottom: 16px;
    gap: 5px;
    font-size: 10px;
  }

  .float-whatsapp svg {
    width: 27px;
    height: 27px;
  }

  .float-whatsapp span {
    display: block;
  }

  .hero-content h1 {
    font-size: clamp(18px, 5.2vw, 36px);
  }

  .hero {
    min-height: 770px;
  }

  .hero-photo {
    background-image:
      linear-gradient(0deg, rgba(0, 0, 0, 0.47) 0%, rgba(0, 0, 0, 0.19) 68%, rgba(0, 0, 0, 0.05) 100%),
      url("assets/hero-produccion-goma-rale.png");
    background-position: 50% center;
  }

  .hero-content {
    min-height: 770px;
    padding-top: 84px;
    padding-bottom: 0;
  }

  .business-band::before {
    inset: 0;
    background-attachment: scroll;
    background-position: left center;
    background-size: 920px auto;
    opacity: 0.18;
  }
}

@media (max-width: 900px) {
  .portfolio-card {
    min-height: 516px;
  }
}

@media (max-width: 560px) {
  .portfolio-card {
    min-height: 448px;
  }

  .portfolio-back {
    padding: 32px 26px 26px;
  }

  .portfolio-back h3 {
    font-size: 25px;
  }

  .quote-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .quote-template-link {
    text-align: center;
  }
}
/* Footer location and social links */
.footer-grid > div:not(.footer-map):not(.footer-social) a {
  transition: color .2s ease, transform .2s ease;
}

.footer-grid > div:not(.footer-map):not(.footer-social) a:hover,
.footer-grid > div:not(.footer-map):not(.footer-social) a:focus-visible {
  color: var(--orange);
  transform: translateX(4px);
}

.partner-form select {
  width: 100%;
  height: 44px;
  margin-top: 5px;
  padding: 0 38px 0 12px;
  color: #fff;
  background-color: #272727;
  border: 1px solid #555;
  border-radius: 0;
  font: inherit;
  color-scheme: dark;
  cursor: pointer;
}

.partner-form select:invalid {
  color: #fff;
}

.partner-form select:focus {
  border-color: var(--orange);
  outline: 2px solid rgba(245, 124, 0, .25);
  outline-offset: 1px;
}

.partner-form select option {
  color: #fff;
  background: #272727;
}

.partner-form select option:disabled {
  color: #fff;
}

.footer-credit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
  padding-top: 18px;
  font-size: 10px;
  line-height: 1;
  text-align: center;
  color: #777;
}

.footer-credit a {
  color: var(--orange);
}

.footer-credit a:hover,
.footer-credit a:focus-visible {
  text-decoration: underline;
}

.footer-map {
  position: relative;
  display: block;
  min-height: 210px;
  padding: 0;
  overflow: hidden;
  background: #292929;
  background-image: none;
}

.footer-map iframe {
  display: block;
  width: 100%;
  height: 210px;
  border: 0;
  filter: grayscale(.15) contrast(1.05);
}

.footer-map-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  padding: 24px 16px 12px;
  color: #ddd;
  background: linear-gradient(transparent, rgba(0, 0, 0, .86));
  pointer-events: none;
}

.footer-map-caption span {
  font-size: 12px;
}

.footer-map-caption b {
  color: #fff;
  font: 700 15px/1.3 Montserrat, sans-serif;
}

.social-links {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-grid .social-links a {
  display: grid;
  width: 42px;
  height: 42px;
  margin: 0;
  place-items: center;
  color: #fff;
  border: 1px solid #3a3a3a;
  border-radius: 50%;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.footer-grid .social-links a:hover,
.footer-grid .social-links a:focus-visible {
  color: #111;
  border-color: var(--orange);
  background: var(--orange);
  transform: translateY(-2px);
}

.social-links svg {
  width: 20px;
  height: 20px;
}

.social-link-facebook svg {
  fill: currentColor;
}

.social-link-instagram svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

/* internal.css */
/* Shared styles for every RALE internal page */
/* Accessibility and mobile resilience shared by all public templates. */
@media (scripting: none) {
  .reveal, .motion-entry { opacity: 1 !important; transform: none !important; visibility: visible !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal, .motion-entry { opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--orange); outline-offset: 4px;
}
@media (max-width: 560px) {
  input, select, textarea { font-size: 16px !important; }
  .catalog-breadcrumb { overflow-wrap: anywhere; }
  .product-gallery-thumbs button { min-height: 44px; }
  .menu-toggle { min-height: 44px; }
}
.internal-hero {
  position: relative;
  height: 428px;
  min-height: 428px;
  overflow: hidden;
  color: #fff;
  background: #171717;
}

.internal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(0, 0, 0, .18), rgba(0, 0, 0, .18)),
    var(--internal-hero-image, url("assets/sobre-familia-rale.png")) center 42% / cover no-repeat;
}

.internal-hero::after {
  content: none;
}

.internal-hero .hero-content {
  position: relative;
  z-index: 1;
  min-height: 428px;
  height: 428px;
  padding: 164px 0 30px;
  justify-content: flex-end;
  align-items: flex-end;
  text-align: right;
}

.internal-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 300;
  letter-spacing: -.035em;
  text-transform: uppercase;
}

.internal-hero h1 span {
  font-weight: 300;
}

.internal-hero h1 strong {
  font-weight: 900;
}

.about-page-hero {
  --internal-hero-image: url("assets/hero-nosotros-mejorado.png");
}

.about-page-hero::before {
  background-position: center 54%;
}

.catalog-page-hero {
  --internal-hero-image: url("assets/catalogo-hero.jpg");
}

.catalog-page-hero::before {
  background-position: center 58%;
}

.elements-page-hero {
  --internal-hero-image: url("assets/elementos-sujecion-hero.jpg");
}

.elements-page-hero::before {
  background-position: center 48%;
}

.product-page-hero {
  --internal-hero-image: url("assets/ganchos-hero.jpg");
}

.product-page-hero::before {
  background-position: center 64%;
}

.contact-page-hero {
  --internal-hero-image: url("assets/hero-produccion-rale.png");
}

.contact-page-hero::before {
  background-position: center 52%;
}

.internal-section {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}

.internal-section:nth-of-type(even) {
  background: var(--soft);
}

.internal-parallax {
  isolation: isolate;
}

.internal-parallax::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background-image: url("assets/isotipo-rale-parallax.png");
  background-repeat: no-repeat;
  background-size: min(18vw, 225px) auto;
  background-attachment: fixed;
  opacity: .15;
}

.internal-parallax-right::before {
  background-position: right 4% center;
}

.internal-parallax-left::before {
  background-position: left 4% center;
}

.internal-parallax > .shell {
  position: relative;
  z-index: 1;
}

.internal-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 80px;
  align-items: center;
}

.internal-split.reverse .internal-media {
  order: 2;
}

.internal-copy .eyebrow {
  margin-bottom: 16px;
}

.internal-copy h2,
.internal-section-head h2 {
  margin-bottom: 26px;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 300;
  letter-spacing: -.035em;
}

.internal-copy p {
  margin: 0;
  color: #555;
  font-size: 18px;
  line-height: 1.75;
}

.internal-media {
  position: relative;
}

.internal-media::before {
  content: "";
  position: absolute;
  inset: -14px 14px 14px -14px;
  border: 2px solid var(--orange);
}

.internal-media img {
  position: relative;
  width: 100%;
  aspect-ratio: 786 / 488;
  object-fit: cover;
}

.commitment-section {
  color: #fff;
  background: var(--charcoal) !important;
  overflow: visible;
}

.commitment-section .internal-split {
  align-items: start;
}

.commitment-section .internal-media {
  position: sticky;
  top: 164px;
}

.commitment-section .internal-copy p {
  color: #d0d0d0;
}

.commitment-section .internal-media::before {
  border-color: rgba(255, 255, 255, .35);
}

.commitment-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-top: 34px;
}

.commitment-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 28px;
  border-top: 3px solid var(--orange);
  background: #2a2a2a;
}

.commitment-card h3 {
  margin: 3px 0 0;
  color: #fff;
  font-size: 18px;
  text-transform: uppercase;
}

.commitment-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.commitment-icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  color: var(--orange);
}

.commitment-icon svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.commitment-card p {
  color: #ccc;
  font-size: 16px;
  line-height: 1.65;
}

.internal-section-head {
  max-width: 720px;
  margin-bottom: 46px;
}

.internal-section-head p:not(.eyebrow) {
  color: #666;
  font-size: 18px;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
}

.team-card {
  background: #fff;
  border-bottom: 4px solid var(--orange);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .08);
}

.team-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.team-photo-placeholder {
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  place-items: center;
  background: linear-gradient(145deg, #deddd8, #b9b8b2);
}

.team-photo-placeholder span {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  color: #fff;
  background: #292929;
  border: 4px solid var(--orange);
  border-radius: 50%;
  font: 800 24px/1 Montserrat, sans-serif;
}

.team-card > div:not(.team-photo-placeholder) {
  padding: 22px;
}

.team-card h3 {
  margin: 0 0 5px;
  font-size: 18px;
}

.team-card p {
  margin: 0;
  color: #666;
}

.catalog-download {
  color: #fff;
  background: #171717 !important;
}

.catalog-download-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.catalog-download-form {
  padding: 0;
  background: transparent;
}

.catalog-download-form h2 {
  margin-bottom: 18px;
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 800;
}

.catalog-download-form h2 span {
  color: var(--orange);
}

.catalog-download-form > p:not(.eyebrow) {
  margin-bottom: 26px;
  color: #bbb;
}

.catalog-download-form label {
  margin-top: 12px;
}

.catalog-download-form input {
  padding: 0 12px;
}

.catalog-download-preview img {
  width: 100%;
  max-height: 440px;
  object-fit: contain;
}

/* Catalog, product listing and product detail */
.catalog-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 36px;
  color: #777;
  font: 700 12px/1.4 Montserrat, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.catalog-breadcrumb a {
  transition: color .2s ease;
}

.catalog-breadcrumb a:hover,
.catalog-breadcrumb a:focus-visible {
  color: var(--orange-dark);
}

.catalog-breadcrumb span[aria-hidden="true"] {
  color: var(--orange);
}

.catalog-intro {
  max-width: 760px;
  margin-bottom: 48px;
}

.catalog-intro h2 {
  margin: 0 0 20px;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 300;
  letter-spacing: -.035em;
}

.catalog-intro > p:not(.eyebrow) {
  margin: 0;
  color: #666;
  font-size: 18px;
  line-height: 1.7;
}

.catalog-categories .category-grid {
  align-items: stretch;
}

.catalog-categories .category-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.catalog-categories .category-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.catalog-categories .category-copy p {
  flex: 1;
}

.catalog-categories .category-copy b {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
}

.catalog-categories .category-copy b::after {
  content: "→";
  color: var(--orange);
  font-size: 18px;
  transition: transform .2s ease;
}

.catalog-categories .category-card:hover .category-copy b::after,
.catalog-categories .category-card:focus-visible .category-copy b::after {
  transform: translateX(5px);
}

.product-list-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.product-list-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--line);
  border-bottom: 4px solid var(--orange);
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease;
}

.product-list-card:hover,
.product-list-card:focus-visible {
  transform: translateY(-7px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, .12);
}

.product-list-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: #eeefef;
}

.product-list-card > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px;
}

.product-list-card h2 {
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 1.2;
}

.product-list-card p {
  flex: 1;
  margin: 0 0 24px;
  color: #666;
  line-height: 1.65;
}

.product-list-card .text-link {
  align-self: flex-start;
  color: var(--ink);
  font-size: 12px;
}

.category-benefits {
  color: #fff;
  background: var(--charcoal) !important;
}

.category-benefits-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  align-items: center;
}

.category-benefits h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 300;
  letter-spacing: -.035em;
}

.category-benefits-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.category-benefits-list article {
  padding: 30px;
  border-top: 3px solid var(--orange);
  background: #2a2a2a;
}

.category-benefits-list h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 18px;
}

.category-benefits-list p {
  margin: 0;
  color: #ccc;
  line-height: 1.65;
}

.product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 76px;
  align-items: start;
}

.product-gallery-main {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--line);
  background: #eeefef;
  transition: opacity .18s ease;
}

.product-gallery-main.is-loading {
  opacity: .45;
}

.product-gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.product-gallery-thumbs button {
  padding: 0;
  border: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: border-color .2s ease, transform .2s ease;
}

.product-gallery-thumbs button:hover,
.product-gallery-thumbs button:focus-visible,
.product-gallery-thumbs button.is-active {
  border-color: var(--orange);
  transform: translateY(-2px);
}

.product-gallery-thumbs img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: #eeefef;
}

.product-detail-copy {
  position: relative;
  top: auto;
  align-self: start;
  margin-top: 0;
}

.product-detail-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(36px, 4vw, 54px);
  font-weight: 300;
  letter-spacing: -.04em;
}

.product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-bottom: 28px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
  color: #777;
  font-size: 13px;
}

.product-meta strong {
  color: var(--ink);
}

.product-detail-copy > p {
  color: #555;
  font-size: 18px;
  line-height: 1.75;
}

.product-detail-copy .btn {
  margin-top: 12px;
}

.measure-panel {
  margin: 25px 0 22px;
  padding: 20px 22px;
  border-left: 4px solid var(--orange);
  color: var(--ink);
  background: var(--soft);
}

.measure-panel h3 {
  margin: 0 0 13px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.measure-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.measure-grid span {
  padding: 7px 9px;
  background: #fff;
  color: #555;
  font-size: 12px;
  line-height: 1.3;
}

.catalog-support {
  background: var(--soft);
}

.catalog-support .lower-grid {
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.catalog-support .partner-form,
.catalog-support .faq {
  min-height: 100%;
}

.catalog-support .faq {
  padding: 48px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .06);
}

.catalog-support .faq h2 {
  font-size: 34px;
}

/* Contact page */
.contact-layout {
  display: grid;
  grid-template-columns: minmax(340px, .8fr) minmax(0, 1.2fr);
  gap: 30px;
  align-items: start;
}

.contact-action-column {
  display: grid;
  gap: 20px;
}

.contact-info-panel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 48px;
  color: var(--ink);
  background: #dededb;
  border-bottom: 4px solid var(--orange);
}

.contact-info-panel h2 {
  margin: 0 0 18px;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 300;
  letter-spacing: -.035em;
}

.contact-info-panel > p:not(.eyebrow) {
  margin: 0 0 28px;
  color: #4f4f4f;
  font-size: 17px;
  line-height: 1.7;
}

.contact-methods {
  display: grid;
  gap: 10px;
  margin-bottom: 28px;
}

.contact-method {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: rgba(255, 255, 255, .72);
  transition: background .2s ease, transform .2s ease;
}

.contact-method:hover,
.contact-method:focus-visible {
  background: #fff;
  transform: translateX(4px);
}

.contact-method svg {
  width: 28px;
  height: 28px;
  padding: 5px;
  border-radius: 50%;
  color: var(--orange);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.contact-method small,
.contact-method strong {
  display: block;
}

.contact-method small {
  margin-bottom: 2px;
  color: #666;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contact-method strong {
  color: var(--ink);
  font: 700 15px/1.35 Montserrat, sans-serif;
}

.contact-info-panel .btn {
  align-self: flex-start;
}

.contact-social {
  display: flex;
  gap: 12px;
  margin-top: 26px;
}

.contact-social a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #777;
  border-radius: 50%;
  transition: border-color .2s ease, background .2s ease;
}

.contact-social a:hover,
.contact-social a:focus-visible {
  border-color: var(--orange);
  background: var(--orange);
}

.contact-social svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.contact-map-panel {
  height: 250px;
  min-height: 250px;
  border-bottom: 4px solid var(--orange);
  background: #ddd;
}

.contact-info-panel .contact-map-panel {
  width: 100%;
  margin-top: 26px;
}

.contact-map-panel iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 250px;
  border: 0;
}

.contact-form {
  padding: 32px;
  border-bottom: 4px solid var(--orange);
}

.contact-form h2 {
  margin-bottom: 10px;
  font-size: 28px;
}

.contact-form > p:not(.eyebrow) {
  margin: 0 0 14px;
}

.contact-form textarea {
  display: block;
  width: 100%;
  min-height: 92px;
  margin-top: 5px;
  padding: 12px;
  border: 1px solid #555;
  background: #272727;
  color: #fff;
  font: inherit;
  resize: vertical;
}

.contact-form textarea:focus {
  border-color: var(--orange);
  outline: 1px solid var(--orange);
}

.contact-form .btn {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .internal-hero,
  .internal-hero .hero-content {
    min-height: 340px;
    height: 42vh;
  }

  .internal-hero .hero-content {
    padding: 154px 0 38px;
    align-items: flex-start;
    text-align: left;
  }

  .internal-section {
    padding: 76px 0;
  }

  .internal-split,
  .catalog-download-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .product-list-grid {
    grid-template-columns: 1fr 1fr;
  }

  .category-benefits-grid,
  .product-detail-grid,
  .catalog-support .lower-grid,
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .product-detail-copy {
    position: relative;
    top: auto;
  }

  .internal-split.reverse .internal-media {
    order: 0;
  }

  .commitment-section {
    overflow: hidden;
  }

  .commitment-section .internal-media {
    position: relative;
    top: auto;
  }

  .team-grid {
    grid-template-columns: 1fr 1fr;
  }

  .internal-parallax::before {
    background-size: 190px auto;
    background-attachment: scroll;
  }
}

.catalog-page-hero + .internal-section,
.elements-page-hero + .internal-section,
.product-page-hero + .internal-section {
  padding-top: 30px;
}

/* Shared corporate imagery, September 2026. */
.product-gallery-main, .product-list-card > img { object-fit:contain; background:#fff; }
.hero-slideshow { position:absolute; inset:0; overflow:hidden; }
.hero-slideshow .hero-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 850ms ease-in-out; }
.hero-slideshow .hero-slide.is-active { opacity:1; }
.hero-slideshow::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.32) 45%,rgba(0,0,0,.08)); }
.internal-hero.drive-internal-hero::before { background-image:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.18)),var(--drive-hero-image); background-position:var(--drive-hero-position); background-size:cover; }
@media(max-width:900px) {
  .hero-slideshow::after { background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,.25) 70%,rgba(0,0,0,.08)); }
}
@media(prefers-reduced-motion:reduce) {
  .hero-slideshow .hero-slide { transition:none; }
}

/* Long product names must not overlap the navigation on narrow screens. */
@media (max-width: 560px) {
  .catalog-page-hero, .elements-page-hero, .product-page-hero,
  .catalog-page-hero .hero-content, .elements-page-hero .hero-content, .product-page-hero .hero-content {
    height: auto;
    min-height: 214px;
  }
  .catalog-page-hero .hero-content, .elements-page-hero .hero-content, .product-page-hero .hero-content {
    padding: 144px 0 24px;
  }
  .product-detail-copy h2, .internal-hero h1 { overflow-wrap: break-word; }
}

@media (max-width: 560px) {
  .internal-hero,
  .internal-hero .hero-content {
    min-height: 320px;
    height: 44vh;
  }

  .internal-hero h1 {
    font-size: 34px;
  }

  .internal-copy p {
    font-size: 16px;
  }

  .commitment-grid,
  .team-grid {
    grid-template-columns: 1fr;
  }

  .product-list-grid,
  .category-benefits-list {
    grid-template-columns: 1fr;
  }

  .measure-grid {
    grid-template-columns: 1fr 1fr;
  }

  .catalog-support .faq {
    padding: 32px 25px;
  }

  .contact-info-panel {
    padding: 38px 30px;
  }

  .contact-map-panel,
  .contact-map-panel iframe {
    height: 280px;
    min-height: 280px;
  }

  .contact-form {
    padding: 30px 25px;
  }

  .commitment-card {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Compact hero used only by the three catalog routes */
.catalog-page-hero,
.elements-page-hero,
.product-page-hero,
.catalog-page-hero .hero-content,
.elements-page-hero .hero-content,
.product-page-hero .hero-content {
  height: 214px;
  min-height: 214px;
}

.catalog-page-hero .hero-content,
.elements-page-hero .hero-content,
.product-page-hero .hero-content {
  padding: 140px 0 18px;
  align-items: flex-start;
  text-align: left;
}

.catalog-page-hero h1,
.elements-page-hero h1,
.product-page-hero h1 {
  font-size: clamp(28px, 3vw, 42px);
}

@media (max-width: 900px) {
  .catalog-page-hero .hero-content,
  .elements-page-hero .hero-content,
  .product-page-hero .hero-content {
    padding: 132px 0 16px;
  }

  .catalog-page-hero h1,
  .elements-page-hero h1,
  .product-page-hero h1 {
    font-size: 28px;
  }
}

.catalog-page-hero ~ .internal-section,
.catalog-page-hero ~ .section,
.elements-page-hero ~ .internal-section,
.elements-page-hero ~ .section,
.product-page-hero ~ .internal-section,
.product-page-hero ~ .section {
  padding-top: 40px;
  padding-bottom: 40px;
}

.catalog-page-hero + .internal-section,
.elements-page-hero + .internal-section,
.product-page-hero + .internal-section {
  padding-top: 30px;
}

/* Commercialization form companion image */
.partner-image{position:relative;min-height:360px;overflow:hidden;background:#efeee9}.partner-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:60% center}@media(max-width:900px){.partner-image{min-height:0;aspect-ratio:4/3}}
/* Native WordPress toolbar and centrally managed contact forms. */
body.admin-bar .site-header{top:32px}
.partner-form .wpcf7{width:100%}
.partner-form .wpcf7-form{margin:0}
.partner-form .wpcf7-form-control-wrap{display:block;width:100%}
.partner-form .wpcf7-submit{width:auto;max-width:100%;white-space:normal}
.partner-form .wpcf7-not-valid-tip{font-size:14px;color:#9c2222}
.partner-form .wpcf7-response-output{margin:20px 0 0;padding:12px;font-size:15px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:600px){body.admin-bar .site-header{top:0}}
.partner-form .field-row>p{display:contents}.partner-form .field-row>p>br{display:none}
.partner-form input.wpcf7-submit{background:var(--orange);color:#111;border:0;padding:0 24px;font:800 13px/1.3 Montserrat,sans-serif;cursor:pointer}.partner-form input.wpcf7-submit:hover{background:#ff951f}
