:root{
  --red:#c7121f;
  --gold:#c9972f;
  --logo-red:#c10f12;
  --logo-red-soft:#ff2a34;
  --smoke:#101516;
  --smoke-deep:#05090a;
  --text:#1e2328;
  --muted:#687178;
  --line:#e3eaee;
  --soft:#f6f9fa;
  --dark:#101516;
  --shadow:0 22px 62px rgba(18,30,34,.12);
}
.home-white{
  background:#fff;
  color:var(--text);
  overflow-x:hidden;
}
.home-white-stage{
  position:relative;
  background:#fff;
  padding:0 0 clamp(70px,9vw,130px);
  color:var(--text);
}
.home-white-stage:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--mx,18%) var(--my,18%),rgba(199,18,31,.06),transparent 18rem),
    linear-gradient(180deg,#fff,#fff 72%,#f8fafb);
}
.lazy-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 720px;
}
.intro-center,
.section-heading{
  position:relative;
  z-index:1;
  width:min(940px,calc(100% - 34px));
  margin:0 auto;
  padding:clamp(54px,8vw,108px) 0 34px;
  text-align:center;
}
.section-heading{
  padding:0 0 32px;
}
.intro-center span,
.section-heading span,
.application-panel span,
.area-copy span,
.map-panel span,
.contact-form span,
.final-cta span{
  display:block;
  color:var(--red);
  font-size:clamp(2rem,3.6vw,4rem);
  line-height:1;
  font-weight:400;
}
.intro-center h1,
.section-heading h2,
.application-panel h2,
.area-copy h2,
.map-panel h2,
.contact-form h2,
.final-cta h2{
  margin:8px 0 0;
  color:#343a40;
  font-family:"Montserrat",system-ui,Arial,sans-serif;
  font-size:clamp(1.25rem,2.2vw,2.25rem);
  font-weight:600;
  line-height:1.22;
}
.intro-center p,
.section-heading p,
.application-panel p,
.area-copy p,
.map-panel p,
.final-cta p{
  max-width:790px;
  margin:18px auto 0;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.75;
}
.product-hover-grid{
  position:relative;
  z-index:1;
  width:min(1160px,calc(100% - 34px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(22px,3vw,34px);
  padding:0 0 clamp(54px,7vw,92px);
}
.product-hover-card{
  --rx:0deg;
  --ry:0deg;
  --sx:50%;
  --sy:50%;
  position:relative;
  display:block;
  min-height:clamp(210px,18vw,292px);
  overflow:hidden;
  border-radius:4px;
  background:#eef2f4;
  box-shadow:0 18px 36px rgba(25,38,44,.10);
  transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(0);
  transition:transform .32s ease,box-shadow .32s ease;
  isolation:isolate;
}
.product-hover-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    radial-gradient(circle at var(--sx) var(--sy),rgba(255,255,255,.34),transparent 8rem),
    linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.58));
  opacity:0;
  transition:opacity .32s ease;
}
.product-hover-card:after{
  content:"";
  position:absolute;
  inset:12px;
  z-index:4;
  border:1px solid rgba(255,255,255,.78);
  transform:scale(.92);
  opacity:0;
  transition:transform .32s ease,opacity .32s ease;
  pointer-events:none;
}
.product-hover-card img,
.gallery-card img{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  filter:saturate(1.04) contrast(1.02);
  transition:transform .55s ease,filter .55s ease;
}
.product-hover-card .shine{
  position:absolute;
  inset:-36% auto -36% -70%;
  z-index:5;
  width:46%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.70),transparent);
  opacity:0;
  transition:transform .62s ease,opacity .22s ease;
  pointer-events:none;
}
.product-overlay{
  position:absolute;
  inset:auto 0 0;
  z-index:6;
  min-height:55%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  padding:28px 20px;
  text-align:center;
  color:#fff;
  transform:translateY(28px);
  opacity:0;
  transition:transform .34s ease,opacity .34s ease;
}
.product-overlay h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.05rem,1.65vw,1.58rem);
  font-weight:800;
  text-transform:uppercase;
  text-shadow:0 4px 18px rgba(0,0,0,.45);
}
.product-overlay p{
  margin:8px 0 0;
  color:rgba(255,255,255,.88);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.product-hover-card:hover,
.product-hover-card:focus-visible,
.product-hover-card.is-hovered{
  transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-10px);
  box-shadow:0 34px 64px rgba(25,38,44,.22);
}
.product-hover-card:hover:before,
.product-hover-card:focus-visible:before,
.product-hover-card.is-hovered:before,
.product-hover-card:hover .product-overlay,
.product-hover-card:focus-visible .product-overlay,
.product-hover-card.is-hovered .product-overlay{
  opacity:1;
}
.product-hover-card:hover:after,
.product-hover-card:focus-visible:after,
.product-hover-card.is-hovered:after{
  transform:scale(1);
  opacity:1;
}
.product-hover-card:hover img,
.product-hover-card:focus-visible img,
.product-hover-card.is-hovered img{
  transform:scale(1.13);
  filter:saturate(1.18) contrast(1.08) brightness(.82);
}
.product-hover-card:hover .shine,
.product-hover-card:focus-visible .shine,
.product-hover-card.is-hovered .shine{
  opacity:1;
  transform:translateX(390%) skewX(-18deg);
}
.service-matrix,
.gallery-section,
.process-band,
.materials-section,
.compare-section,
.applications-section,
.technical-section,
.area-section,
.location-contact,
.faq-section,
.blog-guide-section,
.final-cta{
  position:relative;
  z-index:1;
  width:min(1160px,calc(100% - 34px));
  margin:0 auto clamp(58px,8vw,100px);
}
.matrix-grid,
.process-grid,
.technical-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.material-grid,
.compare-grid,
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.matrix-card,
.process-item,
.material-card,
.compare-card,
.technical-card,
.blog-card,
.faq-item{
  min-height:132px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  box-shadow:0 14px 34px rgba(20,30,34,.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.matrix-card:hover,
.process-item:hover,
.material-card:hover,
.compare-card:hover,
.technical-card:hover,
.blog-card:hover{
  transform:translateY(-6px);
  border-color:rgba(199,18,31,.22);
  box-shadow:0 24px 52px rgba(20,30,34,.12);
}
.matrix-card b,
.process-item span,
.compare-card b{
  display:block;
  margin-bottom:10px;
  color:var(--red);
  font-size:1.35rem;
}
.matrix-card h3,
.process-item h3,
.material-card h3,
.compare-card h3,
.technical-card h3,
.blog-card h3{
  margin:0 0 10px;
  color:#22292e;
  font-size:1.2rem;
}
.matrix-card p,
.process-item p,
.material-card p,
.compare-card p,
.technical-card p,
.blog-card p,
.faq-item p,
.application-panel li{
  margin:0;
  color:#697078;
  line-height:1.58;
  font-size:.93rem;
}
.gallery-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:16px;
}
.gallery-card{
  position:relative;
  overflow:hidden;
  min-height:230px;
  border-radius:7px;
  background:#eef2f4;
  box-shadow:var(--shadow);
}
.gallery-card.large{
  grid-row:span 2;
  min-height:480px;
}
.gallery-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.65));
}
.gallery-card b{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  color:#fff;
  font-size:1rem;
  text-transform:uppercase;
  text-shadow:0 3px 12px rgba(0,0,0,.4);
}
.gallery-card:hover img{
  transform:scale(1.12);
  filter:brightness(.78);
}
.applications-section{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.application-panel,
.area-section,
.final-cta{
  padding:clamp(28px,5vw,58px);
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow);
}
.application-panel ul{
  margin:22px 0 0;
  padding-left:18px;
}
.application-panel li+li{
  margin-top:10px;
}
.area-section{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);
  gap:28px;
  align-items:center;
}
.area-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.area-tags span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border:1px solid #dbe5e8;
  border-radius:999px;
  background:#f8fbfc;
  color:#30383c;
  font-weight:700;
  font-size:.88rem;
}
.location-contact{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:24px;
  align-items:stretch;
}
.map-panel,
.contact-form{
  border:1px solid var(--line);
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f8fbfc);
  padding:26px;
  box-shadow:var(--shadow);
}
.map-panel iframe{
  width:100%;
  min-height:370px;
  margin-top:20px;
  border:0;
  border-radius:8px;
  background:#eaf1f2;
}
.contact-form{
  display:grid;
  gap:13px;
}
.contact-form label{
  display:grid;
  gap:6px;
  color:#243235;
  font-size:13px;
  font-weight:800;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d6e2e5;
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:500 15px/1.3 "Montserrat",Arial,sans-serif;
  padding:13px 14px;
  outline:none;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--logo-red);
  box-shadow:0 0 0 4px rgba(193,15,18,.14);
}
.contact-form button,
.primary-action{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:1px solid rgba(193,15,18,.62);
  border-radius:0;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(180deg,#20282c 0%,var(--smoke) 52%,var(--smoke-deep) 100%);
  color:#fff;
  padding:0 18px;
  font-weight:800;
  font-size:.9rem;
  cursor:pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(193,15,18,.34),
    0 16px 34px rgba(5,9,10,.20);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease;
}
.contact-form button:before,
.primary-action:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 0 34%,rgba(255,42,52,.38) 46%,transparent 58% 100%);
  transform:translateX(-120%);
  transition:transform .58s cubic-bezier(.2,.8,.2,1);
}
.contact-form button:after,
.primary-action:after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:6px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--logo-red-soft),transparent);
  opacity:.78;
}
.contact-form button:hover,
.primary-action:hover{
  transform:translateY(-3px);
  border-color:rgba(255,42,52,.9);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    0 22px 42px rgba(5,9,10,.26),
    0 0 0 4px rgba(193,15,18,.09);
}
.contact-form button:hover:before,
.primary-action:hover:before{
  transform:translateX(120%);
}
.whatsapp-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:2px;
}
.whatsapp-link,
.footer-whatsapp a,
.floating-whatsapp a{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  border-radius:0;
  border:1px solid rgba(193,15,18,.52);
  background:
    radial-gradient(circle at 24% 18%,rgba(255,255,255,.10),transparent 32%),
    linear-gradient(180deg,#20282c,#101516 58%,#05090a);
  color:#fff;
  padding:0 16px;
  font-family:"Montserrat",system-ui,Arial,sans-serif;
  font-weight:650;
  font-size:.82rem;
  letter-spacing:0;
  text-align:center;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(193,15,18,.32),
    0 12px 28px rgba(5,9,10,.16);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease;
}
.whatsapp-link:before,
.footer-whatsapp a:before,
.floating-whatsapp a:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(110deg,transparent 0 36%,rgba(255,42,52,.28) 48%,transparent 60% 100%);
  transform:translateX(-120%);
  transition:transform .58s cubic-bezier(.2,.8,.2,1);
}
.whatsapp-link{
  flex-direction:column;
  align-items:flex-start;
  min-height:58px;
  padding:10px 16px;
}
.whatsapp-link span,
.floating-whatsapp a span{
  color:var(--logo-red-soft);
  font-size:.68rem;
  font-weight:700;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:0;
}
.whatsapp-link strong{
  color:#fff;
  font-size:.94rem;
  line-height:1.1;
  font-weight:800;
}
.whatsapp-link.compact{
  flex-direction:row;
  align-items:center;
  min-height:42px;
  padding:0 16px;
}
.whatsapp-link.compact strong{
  font-size:.88rem;
}
.whatsapp-link:hover,
.footer-whatsapp a:hover,
.floating-whatsapp a:hover{
  transform:translateY(-2px);
  color:#fff;
  border-color:rgba(255,42,52,.88);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    0 18px 36px rgba(5,9,10,.22),
    0 0 0 4px rgba(193,15,18,.08);
}
.whatsapp-link:hover:before,
.footer-whatsapp a:hover:before,
.floating-whatsapp a:hover:before{
  transform:translateX(120%);
}
.whatsapp-center{
  width:min(420px,100%);
  margin:18px auto 0;
}
.faq-section{
  max-width:980px;
}
.faq-item{
  margin-bottom:12px;
}
.faq-item summary{
  cursor:pointer;
  color:#22292e;
  font-weight:800;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.glossary-strip{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.glossary-strip b{
  color:var(--red);
  margin-right:8px;
}
.glossary-strip span{
  padding:8px 12px;
  border-radius:999px;
  background:#f3f6f7;
  color:#4d565b;
  font-weight:700;
  font-size:.86rem;
}
.final-cta{
  margin-bottom:0;
  text-align:center;
  background:#fff7f7;
  border-color:#ead4d6;
}
.final-cta .primary-action{
  margin-top:22px;
}
.site-footer{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  gap:28px;
  padding:42px min(5vw,64px);
  background:#101516;
  color:#fff;
}
.footer-brand img{
  width:min(260px,70vw);
  height:auto;
}
.footer-brand p{
  max-width:440px;
  color:rgba(255,255,255,.72);
  line-height:1.65;
}
.footer-whatsapp{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.footer-whatsapp a{
  min-height:36px;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.06);
  border-color:rgba(201,151,47,.38);
  box-shadow:none;
}
.footer-whatsapp a:hover{
  color:#fff;
  background:rgba(255,255,255,.09);
}
.footer-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 18px;
}
.footer-links a{
  color:rgba(255,255,255,.84);
  font-size:.9rem;
}
.footer-links a:hover{
  color:#fff;
}
.floating-whatsapp{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:6px;
  width:92px;
}
.floating-whatsapp a{
  min-height:38px;
  border-radius:999px;
  flex-direction:row;
  padding:0 12px;
  background:rgba(255,255,255,.92);
  border-color:rgba(201,151,47,.48);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(18,30,34,.13);
}
.floating-whatsapp a span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
.floating-whatsapp a strong{
  color:#101516;
  font-size:.86rem;
  font-weight:800;
}
.reveal-white{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .65s ease,transform .65s ease;
}
.reveal-white.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (max-width:980px){
  .product-hover-grid,
  .material-grid,
  .compare-grid,
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .matrix-grid,
  .process-grid,
  .technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-grid,
  .applications-section,
  .area-section,
  .location-contact,
  .site-footer{grid-template-columns:1fr}
  .gallery-card.large{grid-row:auto;min-height:260px}
}
@media (max-width:680px){
  .intro-center,
  .section-heading{text-align:left}
  .intro-center span,
  .section-heading span,
  .application-panel span,
  .area-copy span,
  .map-panel span,
  .contact-form span,
  .final-cta span{font-size:clamp(1.7rem,10vw,3rem)}
  .product-hover-grid,
  .material-grid,
  .compare-grid,
  .blog-grid,
  .matrix-grid,
  .process-grid,
  .technical-grid,
  .footer-links{grid-template-columns:1fr}
  .product-hover-card{min-height:230px}
  .application-panel,
  .area-section,
  .final-cta{padding:24px}
  .map-panel iframe{min-height:300px}
  .whatsapp-actions{grid-template-columns:1fr}
  .floating-whatsapp{
    left:12px;
    right:12px;
    bottom:12px;
    width:auto;
    flex-direction:row;
  }
  .floating-whatsapp a{
    flex:1;
  }
}
.contact-form .whatsapp-link span,
.final-cta .whatsapp-link span,
.floating-whatsapp a span{
  color:#6d767d;
  font-size:.68rem;
  font-weight:700;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:0;
}
.contact-form .whatsapp-link strong,
.final-cta .whatsapp-link strong,
.floating-whatsapp a strong{
  color:#1a2025;
  font-size:.94rem;
  line-height:1.1;
  font-weight:800;
}
.final-cta .whatsapp-link.compact strong{
  font-size:.88rem;
}
.floating-whatsapp a span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
@media (prefers-reduced-motion:reduce){
  .reveal-white{opacity:1;transform:none;transition:none}
  .product-hover-card,
  .product-hover-card img,
  .product-hover-card .shine,
  .product-overlay,
  .gallery-card img{transition:none}
}
