:root{--primary-blue:#0057b8;--primary-dark:#0b1f33;--charcoal:#202833;--steel-grey:#687582;--light-grey:#f3f5f7;--white:#fff;--success-green:#25d366;--warning-gold:#d89b2b;--shadow:0 12px 35px rgba(11,31,51,.1)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:Inter,Arial,sans-serif;color:var(--charcoal);line-height:1.65;padding-bottom:0;overflow-x:hidden}
h1,h2,h3,h4,h5,.brand{font-family:Poppins,Arial,sans-serif;font-weight:700;color:var(--primary-dark)}
a{text-decoration:none}
img{max-width:100%}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.75rem}
.topbar{background:#061625;color:#dce7f1;font-size:.82rem;padding:.45rem 0}
.topbar a{color:#fff}
.navbar{background:rgba(11,31,51,.98);padding:.85rem 0;transition:.25s}
.navbar.scrolled{box-shadow:0 8px 24px #0003;padding:.55rem 0}
.navbar-brand{color:#fff!important;line-height:1}
.navbar-brand small{display:block;font:500 .61rem Inter;letter-spacing:.12em;color:#aebcca;margin-top:.35rem}
.navbar .nav-link{color:#d8e1ea!important;font-weight:600;font-size:.9rem;margin:.1rem .15rem}
.navbar .nav-link:hover,.navbar .nav-link.active{color:#fff!important}
.btn{border-radius:.35rem;font-weight:700;padding:.75rem 1.15rem}
.btn-primary{background:var(--primary-blue);border-color:var(--primary-blue)}
.btn-whatsapp{background:var(--success-green);color:#082b18}
.btn-outline-light:hover{color:var(--primary-dark)}
.eyebrow{font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--primary-blue);font-size:.78rem}
.hero{min-height:76vh;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(5,20,35,.94) 0%,rgba(5,20,35,.73) 45%,rgba(5,20,35,.12) 100%),url('../assets/images/hero/hero-aluminium-door.jpg') center/cover}
.hero h1{color:#fff;font-size:clamp(2.5rem,5.6vw,5.25rem);line-height:1.03;letter-spacing:-.04em}
.hero p{max-width:680px;color:#dae4ed;font-size:1.08rem}
.hero .eyebrow{color:#8ec4ff}
.trust-row{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.86rem;font-weight:700}
.trust-row span:before{content:'✓';color:#67d59b;margin-right:.4rem}
.free-badge{display:inline-block;border:1px solid #ffffff55;background:#ffffff14;padding:.35rem .65rem;border-radius:3rem;font-size:.75rem}
.page-hero{background:linear-gradient(120deg,#0b1f33,#123c65);padding:5.5rem 0 4rem;color:#fff;position:relative;overflow:hidden}
.page-hero:after{content:'';position:absolute;width:350px;height:350px;border:70px solid #1880e7;opacity:.12;transform:rotate(35deg);right:-100px;top:-150px}
.page-hero h1{color:#fff;font-size:clamp(2.3rem,5vw,4.25rem)}
.page-hero p{color:#c9d7e4;max-width:680px}
.section{padding:5rem 0}
.section-sm{padding:3rem 0}
.bg-light{background:var(--light-grey)!important}
.section-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;letter-spacing:-.035em}
.lead-copy{font-size:1.05rem;color:var(--steel-grey)}
.card-industrial{border:1px solid #dfe5ea;border-radius:.65rem;box-shadow:0 5px 20px rgba(11,31,51,.05);height:100%;overflow:hidden;transition:.25s;background:#fff}
.card-industrial:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#b9d6f4}
.card-body{padding:1.5rem}
.category-image{display:block;width:100%;height:230px;object-fit:cover;background:#dfe6eb}
.visual{height:210px;position:relative;overflow:hidden;background:linear-gradient(135deg,#12283e,#426075)}
.visual img{width:100%;height:100%;object-fit:cover}
.visual:after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#07192c88)}
.visual-label{position:absolute;left:1rem;bottom:1rem;z-index:1;color:#fff;font-weight:700}
.placeholder-product{height:210px;background:linear-gradient(145deg,#d8e0e7,#f7f9fa);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.placeholder-product:before{content:'';width:42%;height:78%;border:12px solid #172d42;background:linear-gradient(90deg,#8ca0ae88,#eaf0f4);box-shadow:16px 12px 0 #0057b8}
.placeholder-product.security:before{width:65%;height:62%;background:repeating-linear-gradient(90deg,#1a3042 0 8px,transparent 8px 35px);border:8px solid #1a3042}
.placeholder-product.structure:before{width:75%;height:55%;background:linear-gradient(155deg,transparent 48%,#233a4c 49% 53%,transparent 54%),repeating-linear-gradient(90deg,#233a4c 0 7px,transparent 7px 52px);border:8px solid #233a4c}
.icon-box{width:48px;height:48px;background:#e8f2fc;color:var(--primary-blue);display:grid;place-items:center;border-radius:.45rem;font-size:1.35rem}
.check-list{list-style:none;padding:0}
.check-list li{padding:.45rem 0}
.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;background:#e8f5ed;color:#167c41;border-radius:50%;margin-right:.55rem;font-weight:900}
.step-number{font:800 3rem Poppins;color:#d2e5f8}
.nav-pills .nav-link{border:1px solid #ced8e0;color:var(--charcoal);font-weight:700;margin:.2rem;border-radius:3rem}
.nav-pills .nav-link.active{background:var(--primary-blue);border-color:var(--primary-blue)}
.dark-section{background:var(--primary-dark);color:#dce6ef}
.dark-section h2,.dark-section h3{color:#fff}
.cta-band{background:linear-gradient(120deg,#0057b8,#07335d);color:#fff;border-radius:.75rem;padding:clamp(2rem,5vw,4rem)}
.cta-band h2{color:#fff}
.testimonial{border-left:4px solid var(--primary-blue)}
.footer{background:#071827;color:#aebdca;padding:4rem 0 1.2rem}
.footer h2{color:#fff;font-size:1rem}
.footer a{color:#c7d2dc;display:block;margin:.35rem 0}
.footer a:hover{color:#fff}
.footer-tag{border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;padding:1rem 0;color:#fff;letter-spacing:.12em;font-weight:700;font-size:.72rem}
.floating-wa{position:fixed;right:1.3rem;bottom:1.4rem;z-index:1030;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--success-green);color:#082b18;font-size:1.65rem;box-shadow:0 8px 28px #0004}
.back-top{position:fixed;right:1.55rem;bottom:5.8rem;z-index:1029;width:42px;height:42px;border:0;border-radius:50%;background:var(--primary-dark);color:#fff;opacity:0;pointer-events:none;transition:.2s}
.back-top.show{opacity:1;pointer-events:auto}
.mobile-actions{display:none}
.form-section{background:#fff;border:1px solid #dbe3e9;border-radius:.7rem;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 8px 28px #0b1f330d;margin-bottom:1.25rem}
.form-section h2{font-size:1.35rem;border-bottom:1px solid #e3e8ec;padding-bottom:.8rem;margin-bottom:1.25rem}
.form-label{font-weight:700;font-size:.9rem}
.form-control,.form-select{padding:.72rem;border-color:#c8d2db}
.form-control:focus,.form-select:focus,.btn:focus-visible,a:focus-visible{box-shadow:0 0 0 .25rem rgba(0,87,184,.25);outline:2px solid transparent}
.invalid-feedback{font-weight:600}
.file-list{font-size:.84rem;color:var(--steel-grey)}
.modal-summary{white-space:pre-wrap;background:#f4f7f9;border-radius:.4rem;padding:1rem;font: .85rem/1.55 ui-monospace,monospace;max-height:48vh;overflow:auto}
.gallery-card{cursor:pointer}
.gallery-card:focus-visible{outline:3px solid var(--primary-blue);outline-offset:4px}
.gallery-card img{aspect-ratio:4/3;object-fit:cover}
.gallery-placeholder{aspect-ratio:4/3;background:linear-gradient(145deg,#29455d,#90a3b2);display:grid;place-items:center;color:#fff;position:relative;overflow:hidden}
.gallery-placeholder:before{content:'';width:55%;height:55%;border:10px solid #d9e3e9;transform:skew(-8deg);opacity:.75}
.gallery-placeholder i{position:absolute;font-size:2rem}
.filter-empty{text-align:center;padding:3rem;color:var(--steel-grey)}
.map-placeholder{min-height:340px;background:linear-gradient(45deg,#dce5eb 25%,transparent 25%) 0 0/40px 40px,linear-gradient(45deg,transparent 75%,#dce5eb 75%) 0 0/40px 40px,#eef2f5;display:grid;place-items:center;border-radius:.6rem;color:var(--primary-dark)}
.legal{max-width:850px}
.legal h2{margin-top:2rem;font-size:1.45rem}
.reveal{opacity:0;transform:translateY(18px);transition:.6s}
.reveal.visible{opacity:1;transform:none}
.pill-primary-dark {
  background: var(--primary-dark);
  color: var(--white);
  border-color: var(--primary-dark);
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: #fff !important;
}

.navbar-brand .brand-logo {
  height: 52px;
  width: auto;
  object-fit: contain;
}

.navbar-brand .brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.navbar-brand .brand-text small {
  display: block;
  font: 500 .61rem Inter;
  letter-spacing: .12em;
  color: #aebcca;
  margin-top: .2rem;
}

@media print{.topbar,.navbar,.footer,.floating-wa,.back-top,.mobile-actions,.no-print{display:none!important}
body{padding:0}
.modal{position:static;display:block!important}
.modal-dialog{max-width:none;margin:0}
.modal-content{border:0}
.modal-header,.modal-footer{display:none}
.modal-summary{max-height:none}
}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
.reveal{opacity:1;transform:none}
}


.footer-placeholder{color:#8697a6;display:block;margin:.35rem 0}
.lightbox-placeholder{min-height:420px}
.status-message{min-height:1.5rem;font-weight:700}
.btn[aria-disabled="true"]{pointer-events:none;opacity:.65}
.language-item{display:flex;align-items:center;margin-left:.55rem}.language-selector{width:auto;min-width:106px;border-color:#ffffff55;background-color:#fff;color:var(--primary-dark);font-weight:700}.navbar .nav-link,.navbar .btn{white-space:normal}.card-industrial h2,.card-industrial h3,.card-industrial p{overflow-wrap:anywhere}
