:root{--orange:#f4770b;--orange-dark:#d95d00;--ink:#15171a;--muted:#697077;--line:#e5e7e9;--off:#f7f7f6;--font-body:'DM Sans',sans-serif;--font-display:'Barlow Condensed',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 48px));margin:auto}.topbar{background:#171819;color:#e6e6e6;font-size:12px}.topbar-inner,.top-contact{display:flex;align-items:center;justify-content:space-between}.topbar-inner{height:38px}.topbar i{color:var(--orange);margin-right:7px}.top-contact{gap:26px}.top-contact a{transition:.2s}.top-contact a:hover{color:var(--orange)}.social-mini{display:flex;gap:15px;font-size:14px}.nav-wrap{height:102px;background:#fff}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-family:var(--font-display);font-weight:800;font-size:52px;line-height:.75;letter-spacing:-1px;color:#45474b}.brand small{font-size:8px;letter-spacing:.5px;color:#555;white-space:nowrap}.brand-mark{width:45px;height:55px;display:block;position:relative;background:linear-gradient(135deg,#ffad00 10%,#f15c08 80%);clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%)}.brand-mark:before{content:"";position:absolute;inset:9px 11px;background:#fff;clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%)}.brand-mark span{position:absolute;inset:15px 17px;background:var(--orange);clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%)}.nav-links{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:600;text-transform:uppercase}.nav-links>a:not(.nav-cta){padding:41px 0 37px;position:relative}.nav-links>a:not(.nav-cta):after{content:"";position:absolute;height:2px;background:var(--orange);bottom:29px;left:0;right:100%;transition:.2s}.nav-links>a:hover,.nav-links>a.active{color:var(--orange)}.nav-links>a:hover:after,.nav-links>a.active:after{right:0}.nav-links i{font-size:9px;margin-left:3px}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:700;text-transform:uppercase;font-size:13px;border-radius:8px;transition:.25s}.nav-cta{background:var(--orange);color:#fff;padding:13px 19px;box-shadow:0 8px 20px #f4770b33}.nav-cta:hover,.button-orange:hover{background:var(--orange-dark);transform:translateY(-2px)}.menu-toggle{display:none;border:0;background:none;font-size:23px}.hero{height:590px;position:relative;overflow:hidden;background:#17191b;color:#fff}.hero-image{position:absolute;inset:0 0 0 42%;background-image:url('../images/182918.jpg');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#121416 0%,#121416 34%,rgba(18,20,22,.92) 43%,rgba(18,20,22,.12) 70%,rgba(18,20,22,.15))}.hero-content{position:relative;padding-top:106px}.eyebrow{color:var(--orange);font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:800;margin:0 0 12px}.eyebrow.light{color:#fff}.hero h1,.projects h2{font:800 clamp(70px,8vw,114px)/.83 var(--font-display);letter-spacing:1px;text-transform:uppercase;margin:0}.hero h1 em,.projects h2 em{font-style:normal;color:var(--orange)}.orange-line{height:3px;width:80px;background:var(--orange);margin:25px 0}.hero-copy{font-size:16px;line-height:1.45;color:#ddd}.hero-copy strong{color:#fff}.hero-actions{display:flex;gap:16px;margin-top:30px}.button{padding:15px 24px}.button-orange{background:var(--orange);color:#fff}.button-outline{border:1px solid #fff;color:#fff}.button-outline:hover{border-color:var(--orange);color:var(--orange)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--orange);transform:translateY(-2px)}.hero-scroll{position:absolute;right:31px;bottom:33px;font-size:11px;color:#fff;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:1px}.hero-scroll span{height:38px;border-left:1px solid var(--orange);display:inline-block;margin-bottom:10px}.section{padding:96px 0}.section-heading{margin-bottom:42px}.center{text-align:center}.section-heading h2,.about h2,.contact h2{font:700 52px/.92 var(--font-display);letter-spacing:.2px;margin:0;text-transform:uppercase}.section-heading h2 span,.about h2 span,.contact h2 span{color:var(--orange)}.section-heading>p:last-child{color:var(--muted);margin:17px 0 0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.25s;background:#fff}.product-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #15202c15;border-color:#f5b27b}.product-photo{height:187px;background:#f0f0ef;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover;transition:.4s}.product-card:hover img{transform:scale(1.05)}.product-info{padding:16px 18px;position:relative}.product-info h3{font-size:16px;margin:0 0 2px}.product-info p{color:var(--muted);font-size:13px;margin:0}.product-info a{position:absolute;right:18px;top:23px;color:var(--orange);font-size:25px}.text-link{display:inline-block;color:var(--orange);font-weight:700;margin-top:36px}.text-link i{margin-left:8px}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:31px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.trust-item{display:flex;gap:16px;align-items:flex-start}.trust-item i{font-size:27px;color:var(--orange);margin-top:2px}.trust-item strong{font-size:14px}.trust-item p{font-size:12px;line-height:1.4;color:var(--muted);margin:4px 0 0}.about{background:var(--off)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-collage{height:480px;position:relative;padding:0 44px 44px 0}.about-collage:before{content:"";position:absolute;left:0;top:0;width:70%;height:84%;border:1px solid var(--orange);z-index:0}.about-collage img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;object-position:center}.about-accent{position:absolute;bottom:0;right:0;width:55%;height:65%;background:var(--orange)}.experience{position:absolute;z-index:2;bottom:0;left:27px;background:var(--ink);color:#fff;padding:17px 25px;display:flex;align-items:center;gap:13px}.experience strong{font:800 48px/.8 var(--font-display);color:var(--orange)}.experience span{font-size:12px;line-height:1.25}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:520px}.signature{display:flex;gap:11px;align-items:center;margin:26px 0}.signature-mark{background:var(--orange);color:#fff;width:37px;height:37px;display:grid;place-items:center;font:800 24px var(--font-display);border-radius:50%}.signature strong{display:block;font:800 24px var(--font-display);line-height:.8}.signature small{color:var(--muted);font-size:11px}.services{padding:96px 0;background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{border:1px solid var(--line);padding:32px 30px;min-height:255px;position:relative;overflow:hidden;transition:.25s}.service-grid article:hover{border-color:var(--orange);box-shadow:0 12px 30px #15202c12}.service-grid article>i{color:var(--orange);font-size:31px}.service-number{position:absolute;right:28px;top:22px;color:#e9e9e9;font:800 42px var(--font-display)}.service-grid h3{font:700 27px var(--font-display);margin:13px 0 3px}.service-grid p{color:var(--muted);font-size:13px}.service-grid a{color:var(--orange);font-size:12px;font-weight:700;text-transform:uppercase}.service-grid a i{margin-left:8px}.projects{padding:90px 0;background:var(--ink);color:#fff}.project-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:80px}.projects h2{font-size:73px;margin:5px 0 20px}.projects p:not(.eyebrow){color:#b7b9bb;max-width:480px;margin-bottom:30px}.project-stats{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #444;gap:0}.project-stats div{padding:10px 22px;border-right:1px solid #444}.project-stats strong{font:800 52px var(--font-display);color:var(--orange);display:block}.project-stats span{color:#d6d6d6;font-size:12px;line-height:1.2;display:block}.contact-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:43px}.contact-head>p{color:var(--muted);max-width:315px;margin:0 0 4px}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px}.contact-form label{display:block;font-size:12px;font-weight:700;color:#41454a;margin-bottom:19px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid var(--line);border-radius:5px;padding:13px 14px;margin-top:7px;font:inherit;font-size:13px;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f4770b17}.form-message{font-size:12px;color:var(--orange)}.map-wrap{height:280px;filter:grayscale(.8)}.map-wrap iframe{width:100%;height:100%;border:0}.location-info{display:flex;gap:15px;align-items:flex-start;border:1px solid var(--line);border-top:0;padding:18px}.location-info>i{color:var(--orange);font-size:24px}.location-info strong{font-size:14px}.location-info p{color:var(--muted);font-size:13px;margin:1px 0 0}.location-info>a{margin-left:auto;color:var(--orange);font-size:12px;font-weight:700;white-space:nowrap}footer{background:#111314;color:#fff}.footer-main{display:flex;align-items:center;justify-content:space-between;padding:47px 0;border-bottom:1px solid #303234}.brand-footer strong{color:#fff}.brand-footer small{color:#a8aaac}.footer-main>p{font-size:13px;color:#a8aaac;line-height:1.4}.footer-social{display:flex;align-items:center;gap:10px}.footer-social span{color:#a8aaac;font-size:12px;margin-right:8px}.footer-social a{width:34px;height:34px;border:1px solid #45474a;border-radius:50%;display:grid;place-items:center;color:#ddd;font-size:13px;transition:.2s}.footer-social a:hover{background:var(--orange);border-color:var(--orange)}.footer-bottom{display:flex;justify-content:space-between;padding:18px 0;color:#727579;font-size:11px}.whatsapp-float{position:fixed;z-index:10;right:25px;bottom:25px;background:#25d366;color:#fff;border-radius:50px;padding:11px 18px 11px 14px;display:flex;align-items:center;gap:9px;font-weight:700;box-shadow:0 10px 25px #0003;transition:.25s}.whatsapp-float i{font-size:24px}.whatsapp-float:hover{background:#1da851;transform:translateY(-3px)}@media(max-width:900px){.nav-links{gap:15px}.about-grid{gap:40px}.projects h2{font-size:58px}.container{width:min(100% - 32px,1180px)}}@media(max-width:700px){.topbar-inner{height:auto;padding:9px 0}.top-contact>a:first-child,.social-mini{display:none}.nav-wrap{height:78px}.brand strong{font-size:40px}.brand small{font-size:6px}.brand-mark{width:35px;height:43px}.menu-toggle{display:block;color:var(--ink)}.nav-links{display:none;position:absolute;z-index:5;top:116px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:15px 24px;box-shadow:0 10px 20px #0001}.nav-links.open{display:flex}.nav-links>a:not(.nav-cta){padding:10px 0}.nav-links>a:not(.nav-cta):after{bottom:4px}.nav-cta{text-align:center}.hero{height:620px}.hero-image{inset:0;background-position:65% center}.hero-shade{background:linear-gradient(90deg,#121416eF 0%,#121416C9 70%,#12141650)}.hero-content{padding-top:85px}.hero h1{font-size:78px}.hero-copy{font-size:14px}.hero-scroll{display:none}.section,.services{padding:70px 0}.section-heading h2,.about h2,.contact h2{font-size:42px}.product-grid,.service-grid,.trust-grid,.about-grid,.project-grid,.contact-grid{grid-template-columns:1fr}.product-photo{height:210px}.trust-grid{gap:20px}.about-collage{height:370px}.about-copy{margin-top:10px}.projects h2{font-size:62px}.project-grid{gap:40px}.project-stats{border-left:0;border-top:1px solid #444;padding-top:20px}.contact-head{display:block}.contact-head>p{margin-top:20px}.field-row{grid-template-columns:1fr;gap:0}.footer-main,.footer-bottom{display:block}.footer-main>p{margin:24px 0}.footer-social{margin-top:20px}.footer-bottom span{display:block;margin-top:5px}.whatsapp-float{right:16px;bottom:16px}.whatsapp-float span{display:none}.whatsapp-float{padding:13px;border-radius:50%}}
:focus-visible{outline-color:var(--orange)}.product-card:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.modal-open{overflow:hidden}.product-modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:#111a;opacity:0;visibility:hidden;transition:.2s}.product-modal.open{opacity:1;visibility:visible}.product-modal-content{position:relative;width:min(760px,100%);padding:14px;background:#fff;border-radius:10px;box-shadow:0 20px 60px #0005;transform:translateY(12px) scale(.98);transition:.2s}.product-modal.open .product-modal-content{transform:none}.product-modal-content img{display:block;width:100%;max-height:75vh;object-fit:contain;border-radius:5px;background:var(--off)}.product-modal-content h2{font:700 28px var(--font-display);text-transform:uppercase;margin:14px 4px 2px}.product-modal-close{position:absolute;z-index:1;top:22px;right:22px;width:38px;height:38px;border:0;border-radius:50%;background:#111c;color:#fff;font-size:18px;cursor:pointer}.product-modal-close:hover{background:var(--orange)}
/* Logo original de Precon */
.brand { position: relative; width: 270px; height: 72px; display: block; }
.brand > span { display: none; }
.brand > .brand-mark,
.brand > span:not(.brand-mark) { display: none !important; }
.brand-footer { width: 270px; height: 72px; }
@media (max-width: 700px) {
  .brand { width: 205px; height: 58px; }
  .brand-footer { width: 205px; height: 58px; }
}

.catalog-hero { padding: 92px 0 100px; background: linear-gradient(100deg, #151719 0%, #202326 58%, #3a210f 100%); color: #fff; }
.catalog-hero h1, .catalog-cta h2 { font: 800 clamp(62px, 8vw, 104px)/.84 var(--font-display); letter-spacing: 1px; text-transform: uppercase; margin: 0 0 24px; }
.catalog-hero h1 em, .catalog-cta h2 em { font-style: normal; color: var(--orange); }
.catalog-hero > .container > p:last-child { max-width: 520px; color: #c8cacc; font-size: 16px; margin: 0; }
.catalog-products { background: var(--off); }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.catalog-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 10px; transition: .25s; }
.catalog-card:hover { transform: translateY(-5px); border-color: #f5b27b; box-shadow: 0 14px 35px #15202c15; }
.catalog-photo { height: 250px; padding: 12px; background: #f0f0ef; overflow: hidden; }
.catalog-photo img { width: 100%; height: 100%; display: block; object-fit: contain; transition: .4s; }
.catalog-card:hover .catalog-photo img { transform: scale(1.05); }
.catalog-info { padding: 20px; }
.catalog-info h3 { font: 700 28px/1 var(--font-display); margin: 0 0 7px; text-transform: uppercase; }
.catalog-info p { min-height: 0; color: var(--muted); font-size: 13px; line-height: 1.4; margin: 0 0 12px; }
.catalog-info a { color: var(--orange); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.catalog-info a i { margin-left: 7px; transition: .2s; }
.catalog-info a:hover i { transform: translateX(4px); }
.catalog-cta { padding: 80px 0; background: var(--ink); color: #fff; }
.catalog-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.catalog-cta h2 { font-size: clamp(54px, 7vw, 82px); margin: 0; }
@media (max-width: 900px) { .catalog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .catalog-hero { padding: 68px 0 74px; } .catalog-grid { grid-template-columns: 1fr; } .catalog-cta .container { display: block; } .catalog-cta .button { margin-top: 28px; } }

.company-profile { background: #fff; }
.company-profile-figure { margin: 0; padding: 14px; background: #f1f2f2; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 14px 35px #15202c12; }
.company-profile-figure img { display: block; width: 100%; height: auto; border-radius: 5px; }
.company-profile-figure figcaption { padding: 10px 4px 1px; color: var(--muted); font-size: 11px; text-align: center; }
.company-info { background: var(--off); }
.company-info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.company-info-grid article { padding: 34px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--orange); }
.company-info-grid h2 { font: 700 38px/1 var(--font-display); margin: 0 0 14px; text-transform: uppercase; }
.company-info-grid article > p:last-child { color: var(--muted); margin: 0; }
.company-facts { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 22px; background: var(--ink); color: #fff; }
.company-facts div { padding: 25px 18px; border-right: 1px solid #444; }
.company-facts strong { display: block; color: var(--orange); font: 800 34px/1 var(--font-display); }
.company-facts span { display: block; margin-top: 8px; color: #d6d6d6; font-size: 11px; line-height: 1.3; }
.company-values { padding-top: 55px; }
.company-values > div { display: flex; justify-content: space-between; gap: 16px; }
.company-values span { display: flex; align-items: center; gap: 8px; font-weight: 700; text-transform: uppercase; font-size: 12px; }
.company-values i { color: var(--orange); font-size: 20px; }
.company-extra { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; margin-top: 22px; }
.company-extra > div { padding: 28px 32px; background: #fff; border: 1px solid var(--line); }
.company-extra h3 { font: 700 30px/1.15 var(--font-display); margin: 0; text-transform: uppercase; }
.company-extra ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: 13px; }
.company-extra li::before { content: '✓'; color: var(--orange); font-weight: 800; margin-right: 8px; }
@media (max-width: 900px) { .company-facts { grid-template-columns: repeat(3, 1fr); } .company-facts div:nth-child(3) { border-right: 0; } }
@media (max-width: 700px) { .company-info-grid, .company-extra { grid-template-columns: 1fr; } .company-facts { grid-template-columns: repeat(2, 1fr); } .company-facts div:nth-child(3) { border-right: 1px solid #444; } .company-values > div { display: grid; grid-template-columns: repeat(2, 1fr); } }
.hero h1 { font-size: clamp(54px, 6.2vw, 82px); line-height: .88; }
@media (max-width: 700px) { .hero h1 { font-size: 56px; line-height: .9; } }
.inner-hero { padding: 90px 0 100px; background: linear-gradient(105deg, #151719, #25292c 60%, #4a260b); color: #fff; }
.inner-hero h1, .coverage-section h2, .equipment-section h2 { font: 800 clamp(62px, 8vw, 104px)/.84 var(--font-display); text-transform: uppercase; margin: 0 0 22px; }
.inner-hero h1 em, .coverage-section h2 em, .equipment-section h2 em { color: var(--orange); font-style: normal; }
.inner-hero > .container > p:last-child { max-width: 560px; color: #d0d2d3; font-size: 16px; margin: 0; }
.story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: start; }
.story-grid h2, .info-panels h2 { font: 700 52px/.92 var(--font-display); text-transform: uppercase; margin: 0; }
.story-grid h2 span { color: var(--orange); }
.story-grid > div:last-child { color: var(--muted); }
.mission-section { background: var(--off); }
.info-panels { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.info-panels article { background: #fff; padding: 34px; border-top: 3px solid var(--orange); }
.info-panels article > p:last-child { color: var(--muted); margin-bottom: 0; }
.experience-section { background: #fff; }
.experience-facts { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--ink); color: #fff; }
.experience-facts div { padding: 28px 18px; border-right: 1px solid #444; }
.experience-facts strong { display: block; color: var(--orange); font: 800 34px/1 var(--font-display); }
.experience-facts span { display: block; color: #d6d6d6; font-size: 11px; line-height: 1.3; margin-top: 9px; }
.values-section { background: var(--off); }
.values-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.values-grid article { padding: 26px 20px; background: #fff; border: 1px solid var(--line); }
.values-grid i { color: var(--orange); font-size: 28px; }.values-grid h3 { font: 700 25px var(--font-display); margin: 12px 0 4px; text-transform: uppercase; }.values-grid p { color: var(--muted); font-size: 12px; margin: 0; }
.coverage-section, .equipment-section { padding: 85px 0; background: var(--ink); color: #fff; }.coverage-grid { display: flex; align-items: center; justify-content: space-between; gap: 50px; }.coverage-section h2, .equipment-section h2 { font-size: 72px; margin: 0; }.coverage-grid > p { max-width: 340px; color: #d6d6d6; font-size: 18px; }
.services-hero { background: linear-gradient(105deg, #151719, #222a2d 58%, #345043); }.service-page-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.service-page-grid article { min-height: 230px; padding: 30px; border: 1px solid var(--line); background: #fff; border-top: 3px solid var(--orange); }.service-page-grid i { color: var(--orange); font-size: 30px; }.service-page-grid h2 { font: 700 30px/1 var(--font-display); text-transform: uppercase; margin: 14px 0 5px; }.service-page-grid p { color: var(--muted); font-size: 13px; margin: 0; }.equipment-section { padding: 100px 0 108px; background: linear-gradient(105deg, #151719, #272b2d); }.equipment-list { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }.equipment-list span { padding: 12px 18px; border: 1px solid #596064; color: #e5e5e5; text-transform: uppercase; font-size: 12px; font-weight: 700; }
.catalog-cta { margin-top: 28px; border-top: 4px solid var(--orange); }
.services-closing { padding: 88px 0; background: var(--off); }
.closing-grid { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-left: 4px solid var(--orange); border-radius: 10px; background: linear-gradient(105deg, #151719, #272b2d); color: #fff; box-shadow: 0 18px 40px #15202c18; }
.closing-capacity, .closing-project { padding: 52px 48px; }
.services-closing h2 { font: 800 clamp(48px, 6vw, 76px)/.84 var(--font-display); text-transform: uppercase; margin: 0; }
.services-closing h2 em { color: var(--orange); font-style: normal; }
.closing-project { display: flex; flex-direction: column; justify-content: center; gap: 28px; border-left: 1px solid #596064; background: #11131466; }
.closing-project .button { align-self: flex-start; }
@media (max-width: 900px) { .story-grid { gap: 35px; }.experience-facts { grid-template-columns: repeat(3, 1fr); }.values-grid { grid-template-columns: repeat(3, 1fr); }.service-page-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .inner-hero { padding: 68px 0 74px; }.inner-hero h1 { font-size: 58px; }.story-grid, .info-panels, .coverage-grid { grid-template-columns: 1fr; display: grid; }.story-grid h2, .info-panels h2 { font-size: 42px; }.experience-facts { grid-template-columns: repeat(2, 1fr); }.values-grid, .service-page-grid { grid-template-columns: 1fr; }.coverage-section h2, .equipment-section h2 { font-size: 58px; }.equipment-section { padding: 72px 0 76px; }.catalog-cta { margin-top: 20px; }.closing-grid { grid-template-columns: 1fr; }.closing-capacity, .closing-project { padding: 38px 28px; }.closing-project { border-left: 0; border-top: 1px solid #596064; }.services-closing h2 { font-size: 52px; }.coverage-grid > p { margin: 0; } }
.service-page-grid article { overflow: hidden; }
.service-page-grid article > img { display: block; width: calc(100% + 60px); height: 165px; margin: -30px -30px 24px; object-fit: cover; }
.image-credit { margin: 18px 0 0; color: var(--muted); font-size: 11px; text-align: right; }
.contact-hero { background: linear-gradient(105deg, #151719, #25292c 60%, #3f220d); }
.contact-section { background: var(--off); }
.contact-page-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; }
.contact-page-grid h2 { font: 700 58px/.9 var(--font-display); text-transform: uppercase; margin: 0; }.contact-page-grid h2 span { color: var(--orange); }
.contact-intro { max-width: 460px; color: var(--muted); margin: 20px 0 34px; }
.contact-details { padding: 32px; background: #fff; border: 1px solid var(--line); align-self: start; }
.contact-detail { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }.contact-detail:first-child { padding-top: 0; }.contact-detail i { width: 25px; color: var(--orange); font-size: 22px; text-align: center; }.contact-detail strong, .contact-detail a, .contact-detail span { display: block; font-size: 13px; }.contact-detail strong { margin-bottom: 3px; }.contact-detail a { color: var(--orange); }.contact-detail span { color: var(--muted); }.contact-whatsapp { width: 100%; margin-top: 24px; }
.contact-map { padding: 0 0 90px; background: var(--off); }.contact-map .map-wrap { height: 360px; filter: grayscale(.8); }.contact-map iframe { width: 100%; height: 100%; border: 0; }
@media (max-width: 700px) { .contact-page-grid { grid-template-columns: 1fr; gap: 42px; }.contact-page-grid h2 { font-size: 46px; }.contact-details { padding: 24px; } }
.video-banner { width: 100%; min-height: 100svh; height: 100svh; background: #111; }
.video-banner .hero-video { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.video-banner .hero-image { display: none; }
.video-banner .hero-shade { z-index: 1; background: rgba(10, 12, 13, .48); }
.video-banner .hero-content, .video-banner .hero-scroll { display: none; }
.hero-logo { position: absolute; z-index: 2; top: 50%; left: 50%; width: min(34rem, 78vw); height: min(15rem, 34vw); transform: translate(-50%, -50%); }
.hero-logo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (max-width: 700px) { .hero-logo { width: min(21rem, 84vw); height: min(10rem, 40vw); } }
.topbar { display: none; }
.home-overlay-nav .nav-wrap { position: fixed; z-index: 10; top: 0; left: 0; width: 100%; background: transparent; transition: background .25s, box-shadow .25s; }
.home-overlay-nav .nav-links > a:not(.nav-cta) { color: #fff; }
.home-overlay-nav .menu-toggle { color: #fff; }
.home-overlay-nav.nav-scrolled .nav-wrap { background: #fff; box-shadow: 0 6px 22px #0002; }
.home-overlay-nav.nav-scrolled .nav-links > a:not(.nav-cta) { color: var(--ink); }
.home-overlay-nav.nav-scrolled .menu-toggle { color: var(--ink); }
@media (max-width: 700px) { .home-overlay-nav .nav-links { top: 78px; } }
.service-detail-hero, .content-hero { padding: 88px 0 72px; color: #fff; background: linear-gradient(110deg, #151719, #2a3033); }
.service-detail-hero p, .content-hero p { max-width: 720px; color: #d7dadc; font-size: 17px; }
.service-detail-hero h1, .content-hero h1 { max-width: 820px; font: 800 clamp(54px, 8vw, 92px)/.86 var(--font-display); text-transform: uppercase; margin: 0 0 22px; }
.breadcrumb { padding: 18px 0; color: var(--muted); font-size: 13px; }.breadcrumb a { color: var(--orange); }
.service-detail-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 58px; align-items: start; }.service-detail-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }.service-detail-grid h2, .faq-section h2, .legal-content h2, .not-found h1 { font: 700 44px/.95 var(--font-display); text-transform: uppercase; margin: 0 0 18px; }.service-detail-grid p, .legal-content p { color: var(--muted); }
.service-detail-grid ul, .process-list { padding-left: 20px; color: var(--muted); }.service-detail-grid li, .process-list li { margin: 10px 0; }.service-detail-cta { margin-top: 34px; padding: 30px; border-left: 4px solid var(--orange); background: var(--off); }.service-detail-cta p { margin: 0 0 16px; }
.service-card { border: 1px solid var(--line); background: #fff; overflow: hidden; border-radius: 10px; }.service-card img { display: block; width: 100%; height: 190px; object-fit: cover; }.service-card div { padding: 22px; }.service-card h3 { font: 700 27px var(--font-display); margin: 0 0 6px; text-transform: uppercase; }.service-card p { color: var(--muted); font-size: 13px; }.service-card a { display: inline-flex; align-items: center; gap: 8px; color: var(--orange); font-weight: 700; font-size: 13px; line-height: 1; text-transform: uppercase; }.service-card a i { margin: 0; line-height: 1; }
.service-page-grid .service-card { padding: 0; }
.service-page-grid .service-card > img { width: 100%; height: 190px; margin: 0; object-fit: cover; }
.service-page-grid .service-card > div { padding: 22px; }
.service-detail-module { padding-top: 8px; }
.service-detail-module h3 { font: 700 26px/1 var(--font-display); margin: 27px 0 10px; text-transform: uppercase; }
.service-detail-module h3:first-child { margin-top: 22px; }
.service-location { display: flex; gap: 9px; align-items: flex-start; margin: 28px 0 0; padding: 14px 16px; color: #4f565c !important; font-size: 13px; background: #fff7f0; border-left: 3px solid var(--orange); }
.service-location i { margin-top: 5px; color: var(--orange); }
.related-services { margin-top: 30px; padding: 23px 24px; border: 1px solid var(--line); border-radius: 8px; }
.related-services h3 { margin: 0 0 12px; font: 700 25px/1 var(--font-display); text-transform: uppercase; }
.related-services ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.related-services a { display: flex; justify-content: space-between; gap: 8px; height: 100%; padding: 12px; color: var(--ink); font-size: 12px; font-weight: 700; line-height: 1.25; background: var(--off); border-radius: 4px; }
.related-services a:hover { color: var(--orange); }
.related-services i { color: var(--orange); }
.brand-logo { display: block; width: min(235px, 42vw); height: 64px; object-fit: contain; object-position: left center; }
.site-header .brand-logo { width: min(320px, 47vw); height: 86px; }
.home-overlay-nav .nav-wrap { background: transparent; }.home-overlay-nav.nav-scrolled .nav-wrap { background: #fff; box-shadow: 0 6px 22px #0002; }.home-overlay-nav.nav-scrolled .nav-links > a:not(.nav-cta) { color: var(--ink); }.home-overlay-nav .nav-links > a:not(.nav-cta) { color: #fff; }
@media (max-width: 700px) { .brand-logo { width: min(190px, 54vw); height: 52px; } }
@media (max-width: 700px) { .site-header .brand-logo { width: min(220px, 58vw); height: 62px; } }
.video-banner .hero-content { left: 13%; width: 34%; background: transparent; border: 0; }
.video-banner .hero-logo { right: 13%; width: 34%; background: transparent; border: 0; }
@media (max-width: 700px) { .video-banner .hero-content { left: 4%; width: 50%; }.video-banner .hero-logo { right: 4%; width: 42%; } }
.faq-list { max-width: 860px; margin: 35px auto 0; }.faq-item { border: 1px solid var(--line); margin-bottom: 12px; }.faq-item button { width: 100%; padding: 20px; display: flex; justify-content: space-between; gap: 15px; text-align: left; border: 0; background: #fff; font: 700 19px var(--font-body); color: var(--ink); cursor: pointer; }.faq-item button::after { content: '+'; color: var(--orange); font-size: 26px; line-height: .8; }.faq-item.open button::after { content: '−'; }.faq-answer { display: none; padding: 0 20px 20px; color: var(--muted); }.faq-item.open .faq-answer { display: block; }
.legal-content { max-width: 850px; }.legal-content h2 { margin-top: 38px; }.legal-content li { color: var(--muted); margin: 9px 0; }.not-found { min-height: 55vh; display: grid; place-items: center; text-align: center; }.not-found p { color: var(--muted); max-width: 500px; margin: 0 auto 25px; }
@media (max-width: 700px) { .service-detail-hero, .content-hero { padding: 64px 0 54px; }.service-detail-grid { grid-template-columns: 1fr; gap: 30px; }.service-detail-grid h2, .faq-section h2, .legal-content h2 { font-size: 38px; }.service-card img { height: 180px; }.related-services ul { grid-template-columns: 1fr; } }
.footer-bottom .footer-phone { color: #d6d6d6; font-size: 13px; font-weight: 600; }
.footer-bottom .footer-phone i { color: var(--orange); margin-right: 6px; }
.footer-bottom .footer-email { margin-left: 14px; }
.footer-bottom .footer-email i { color: var(--orange); }
.footer-bottom > span:first-child { color: #fff; font-size: 13px; font-weight: 600; }
.footer-bottom a { color: #d6d6d6; }
.footer-bottom a:hover { color: var(--orange); }
.footer-social-group { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.footer-main > p { color: #fff; font-size: 15px; font-weight: 500; }
.footer-social { font-size: 15px; }
.footer-social span { color: #fff; font-size: 13px; }
.footer-social a { font-size: 15px; }
.footer-social a, .footer-social .social-pending { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; font-size: 20px; border: 0; border-radius: 12px; transition: transform .2s, filter .2s; }
.footer-social .social-pending { margin-right: 0; }
.footer-social a:hover { transform: translateY(-3px); filter: brightness(1.12); }
.footer-social .social-pending { cursor: default; }
.footer-social .social-facebook { background: linear-gradient(145deg, #2d88ff, #0866ff); box-shadow: 0 6px 15px #0866ff55; }
.footer-social .social-instagram { background: radial-gradient(circle at 30% 108%, #ffdc80 0 5%, #fcaf45 19%, #f77737 35%, #e1306c 57%, #c13584 75%, #833ab4 100%); box-shadow: 0 6px 15px #e1306c55; }
.footer-social .social-tiktok { background: #090909; box-shadow: -2px 2px 0 #25f4ee, 2px -2px 0 #fe2c55, 0 7px 16px #0006; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; color: #fff; font-size: 14px; }
.footer-contact i { width: 16px; color: var(--orange); margin-right: 5px; text-align: center; }
.footer-bottom { justify-content: center; text-align: center; }
@media (max-width: 700px) { .footer-social-group, .footer-contact { align-items: flex-start; } }

/* Pie de página: columnas consistentes y lectura clara en todas las pantallas. */
footer .footer-main { display: grid; grid-template-columns: 250px minmax(0, 1fr) 280px; gap: 46px; align-items: center; padding: 38px 0; }
footer .footer-main > p { max-width: 510px; margin: 0; color: #d6d6d6; font-size: 14px; line-height: 1.55; }
footer .footer-contact { justify-self: end; gap: 9px; text-align: right; }
footer .footer-contact a { display: inline-flex; align-items: center; }
footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; text-align: left; }
footer .footer-bottom > span:last-child { white-space: nowrap; }
@media (max-width: 700px) {
  footer .footer-main { grid-template-columns: 1fr; gap: 24px; padding: 38px 0 32px; }
  footer .footer-main > p { max-width: 360px; }
  footer .footer-contact { justify-self: start; align-items: flex-start; text-align: left; }
  footer .footer-bottom { display: block; padding: 18px 0 24px; text-align: left; }
  footer .footer-bottom > span:last-child { display: block; margin-top: 8px; white-space: normal; }
}

/* Fichas cuadradas de productos para conservar completas las especificaciones. */
#productos .product-grid { grid-template-columns: repeat(3, 1fr); }
#productos .product-photo { height: auto; aspect-ratio: 1; padding: 0; background: #f4f4f3; }
#productos .product-photo img { object-fit: contain; }
@media (max-width: 700px) { #productos .product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { #productos .product-grid { grid-template-columns: 1fr; } }

[data-products-services2] .catalog-photo { height: auto; aspect-ratio: 1; padding: 0; }
[data-products-services2] .catalog-photo img { object-fit: contain; }

/* Catálogo compacto: cuatro fichas por fila en pantallas de escritorio. */
[data-products-services2] { grid-template-columns: repeat(4, 1fr); gap: 14px; }
[data-products-services2] .catalog-info { padding: 14px; }
[data-products-services2] .catalog-info h3 { font-size: 23px; margin-bottom: 6px; }
[data-products-services2] .catalog-info p { font-size: 12px; margin-bottom: 10px; }
[data-products-services2] .catalog-info a { font-size: 11px; }
@media (max-width: 1000px) { [data-products-services2] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { [data-products-services2] { grid-template-columns: repeat(2, 1fr); gap: 12px; } }
@media (max-width: 480px) { [data-products-services2] { grid-template-columns: 1fr; } }
.site-header { position: relative; z-index: 100; }
.nav-dropdown { position: relative; }
.nav-dropdown-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 41px 0 37px; position: relative; }
.nav-dropdown-toggle i { font-size: 9px; }
.nav-dropdown-menu { position: absolute; z-index: 101; top: 82px; left: -18px; min-width: 180px; padding: 8px 0; background: #fff; border-top: 2px solid var(--orange); box-shadow: 0 12px 25px #0002; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; }
.nav-dropdown-menu a { display: block; padding: 10px 18px; color: var(--ink); font-size: 12px; font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.nav-dropdown-menu a:hover { color: var(--orange); background: #fff7f0; }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { opacity: 1; visibility: visible; transform: none; }
.home-overlay-nav:not(.nav-scrolled) .nav-dropdown-toggle { color: #fff; }
.home-overlay-nav.nav-scrolled .nav-dropdown-toggle { color: var(--ink); }
.home-overlay-nav:not(.nav-scrolled) .nav-dropdown-menu { background: transparent; box-shadow: none; }
.home-overlay-nav:not(.nav-scrolled) .nav-dropdown-menu a { color: #fff; }
.home-overlay-nav:not(.nav-scrolled) .nav-dropdown-menu a:hover { color: var(--orange); background: rgba(255, 255, 255, .12); }
.home-overlay-nav.nav-scrolled .nav-dropdown-menu { background: #fff; box-shadow: 0 12px 25px #0002; }
.home-overlay-nav.nav-scrolled .nav-dropdown-menu a { color: var(--ink); }
@media (max-width: 700px) { .nav-dropdown { display: block; } .nav-dropdown-toggle { width: 100%; padding: 10px 0; } .nav-dropdown-menu { position: static; display: none; min-width: 0; padding: 0 0 4px 14px; border-top: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; } .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { display: block; } .nav-dropdown-menu a { padding: 8px 0; } }
.nav-dropdown.open .nav-dropdown-menu { display: block; }
.gallery-hero { background: linear-gradient(105deg, #151719, #242b2e 60%, #4a260d); }
.gallery-section { background: var(--off); }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.gallery-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; transition: .25s; }
.gallery-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px #15202c18; border-color: #f5b27b; }
.gallery-card .product-photo { height: 190px; }
.gallery-card .product-info { padding: 14px 16px; }.gallery-card .product-info h3 { font: 700 24px/1 var(--font-display); text-transform: uppercase; margin: 0 0 5px; }.gallery-card .product-info p { color: var(--muted); font-size: 12px; margin: 0; }
@media (max-width: 900px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .gallery-grid { grid-template-columns: 1fr; } .gallery-card .product-photo { height: 230px; } }
.products .product-grid { grid-template-columns: repeat(4, 1fr); }
.catalog-photo { height: 300px; }
@media (max-width: 1000px) { .products .product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .products .product-grid { grid-template-columns: repeat(2, 1fr); } .products .product-photo { height: 180px; } .catalog-photo { height: 260px; } }
@media (max-width: 480px) { .products .product-grid { grid-template-columns: 1fr; } .products .product-photo { height: 220px; } .catalog-photo { height: 280px; } }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.video-banner .hero-content { display: block; position: absolute; z-index: 2; top: 50%; left: 5%; width: 40%; max-width: 40rem; padding: 2rem; overflow: hidden; transform: translateY(-50%); background: rgba(10, 12, 13, .2); border: 1px solid rgba(255, 255, 255, .18); border-radius: .5rem; }
.video-banner .hero-logo { left: auto; right: 5%; width: 40%; max-width: 36rem; padding: 2rem; overflow: hidden; transform: translateY(-50%); background: rgba(10, 12, 13, .2); border: 1px solid rgba(255, 255, 255, .18); border-radius: .5rem; }
.video-banner .hero-content h1 { font-size: clamp(3.8rem, 6vw, 6.5rem); }
@media (max-width: 700px) { .video-banner .hero-content { top: 43%; left: 3%; width: 52%; padding: 1rem; } .video-banner .hero-content h1 { font-size: clamp(2.8rem, 11vw, 4.4rem); } .video-banner .hero-copy { display: none; } .video-banner .hero-actions { flex-direction: column; align-items: flex-start; gap: .65rem; margin-top: 1.25rem; } .video-banner .hero-actions .button { padding: .7rem 1rem; font-size: .7rem; } .video-banner .hero-logo { top: 58%; right: 3%; width: 40%; height: 22vw; padding: .75rem; } }
.video-banner .hero-layout { position: absolute; z-index: 2; inset: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(1rem, 2vw, 2.5rem); padding: 0 clamp(3rem, 11vw, 12rem); }
.video-banner .hero-layout .hero-content, .video-banner .hero-layout .hero-logo { position: relative; inset: auto; top: auto; right: auto; left: auto; width: 100%; max-width: none; height: auto; margin: 0; transform: none; box-sizing: border-box; }
.video-banner .hero-layout .hero-content { padding: clamp(1.25rem, 3vw, 3rem); }
.video-banner .hero-layout .hero-logo { padding: clamp(1.25rem, 3vw, 3rem); aspect-ratio: 2.4 / 1; }
.video-banner .hero-layout .hero-content, .video-banner .hero-layout .hero-logo { background: transparent; border: 0; }
@media (max-width: 700px) { .video-banner .hero-layout { grid-template-columns: 1fr; grid-template-rows: auto auto; align-content: center; gap: 1rem; padding: 5rem 1rem 1rem; } .video-banner .hero-layout .hero-content { width: 100%; padding: .75rem; text-align: center; } .video-banner .hero-layout .hero-content h1 { font-size: clamp(2.6rem, 12vw, 4rem); } .video-banner .hero-layout .hero-content .eyebrow { font-size: .65rem; letter-spacing: .12rem; } .video-banner .hero-layout .hero-actions { justify-content: center; align-items: center; flex-direction: row; } .video-banner .hero-layout .hero-logo { width: min(24rem, 82vw); height: auto; aspect-ratio: 2.4 / 1; justify-self: center; padding: .5rem; } }
/* Imágenes completas en las tarjetas del home */
.product-photo { height: 220px; padding: 10px; }
.product-photo img { object-fit: contain; }

/* Mapas a color */
.map-wrap,
.contact-map .map-wrap { filter: none; }

/* Composición final de la portada sobre el video. */
.video-banner .hero-content { left: 12%; width: 38%; max-width: none; background: transparent; border: 0; }
.video-banner .hero-logo { right: 15%; width: 32%; max-width: none; background: transparent; border: 0; }
@media (max-width: 700px) { .video-banner .hero-content { left: 4%; width: 50%; }.video-banner .hero-logo { right: 4%; width: 42%; } }
