:root{--primary:#0a3f95;--accent:#0877d9;--navy:#071a31;--ink:#152436;--muted:#64748b;--light:#f4f7fb;--line:#dfe7f0;--white:#fff;--radius:20px;--shadow:0 18px 50px rgba(7,26,49,.11)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.7;padding-bottom:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.text-primary{color:var(--primary)!important}.bg-light{background-color:var(--light)!important}
.section{padding:88px 0}.section-sm{padding:58px 0}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem}
.eyebrow:before{content:"";width:26px;height:3px;background:var(--accent);border-radius:3px}
.section-title{font-weight:800;letter-spacing:-.035em;line-height:1.15;color:var(--navy);font-size:clamp(2rem,4vw,3.35rem)}
.lead-copy{color:var(--muted);font-size:1.08rem;max-width:720px}
.btn{font-weight:750;border-radius:12px;padding:.78rem 1.25rem;transition:.25s ease}
.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:#07347e;border-color:#07347e;transform:translateY(-2px)}
.btn-outline-light:hover{color:var(--navy)}
.topbar{background:var(--navy);color:#d5e1ef;font-size:.82rem;padding:.48rem 0}
.topbar a:hover{color:#fff}.topbar .bi{color:#51a8ff}
.site-nav{background:rgba(255,255,255,.97);box-shadow:0 4px 24px rgba(7,26,49,.06);padding:.55rem 0;z-index:1030}
.navbar-brand img{width:205px;height:58px;object-fit:contain;object-position:left center}
.navbar-brand{margin-right:auto}.mobile-nav-actions{display:none;align-items:center;gap:.4rem;margin-right:.35rem}.mobile-nav-action{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;font-size:1rem;box-shadow:0 5px 14px rgba(7,26,49,.14)}.mobile-nav-action:hover{color:#fff;transform:translateY(-1px)}.mobile-nav-action.phone{background:var(--primary)}.mobile-nav-action.whatsapp{background:#128c4c}
.navbar .offcanvas-lg{flex-grow:1}.navbar .offcanvas-body{display:flex;align-items-center;padding:0}.mobile-menu-logo{width:155px;height:auto}.offcanvas-header{border-bottom:1px solid var(--line)}
.navbar-nav .nav-link{font-size:.92rem;font-weight:750;color:#26394e!important;padding:.75rem .72rem!important;border-radius:8px}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:var(--primary)!important;background:#edf4ff}
.navbar-toggler{border:0;padding:.5rem;color:var(--navy)}.navbar-toggler:focus{box-shadow:none}
.hero{position:relative;min-height:650px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(3,19,39,.94) 0%,rgba(4,28,57,.82) 46%,rgba(4,30,61,.25) 100%),url('../img/steel-villa.webp') center/cover no-repeat;overflow:hidden}
.hero:after{content:"";position:absolute;right:-160px;bottom:-240px;width:520px;height:520px;border:80px solid rgba(45,140,235,.18);transform:rotate(45deg)}
.hero .container{position:relative;z-index:1}.hero h1{font-size:clamp(2.5rem,6vw,5.1rem);font-weight:800;line-height:1.02;letter-spacing:-.04em;max-width:880px}
.hero .hero-copy{font-size:clamp(1rem,2vw,1.23rem);max-width:660px;color:#d7e4f2}
.hero-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .9rem;background:rgba(8,119,217,.18);border:1px solid rgba(112,183,244,.55);border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hero-stats{position:relative;z-index:2;margin-top:-55px}.stats-panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem}
.stat{padding:1rem 1.2rem;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;color:var(--primary);font-size:1.55rem;font-weight:900}.stat span{color:var(--muted);font-size:.86rem}
.service-card{height:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:1.65rem;transition:.28s ease;position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;inset:auto -35px -45px auto;width:100px;height:100px;border:18px solid #edf4ff;transform:rotate(45deg)}
.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#c5daf2}.service-card .icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#eaf3ff;color:var(--primary);font-size:1.45rem;margin-bottom:1.15rem}
.service-card h3{font-size:1.18rem;font-weight:850;color:var(--navy)}.service-card p{font-size:.93rem;color:var(--muted);margin:0}
.image-frame{position:relative}.image-frame img{border-radius:var(--radius);width:100%;min-height:460px;object-fit:cover;box-shadow:var(--shadow)}
.image-frame .float-card{position:absolute;left:-28px;bottom:30px;background:var(--primary);color:#fff;padding:1.25rem 1.4rem;border-radius:15px;max-width:220px;box-shadow:0 15px 35px rgba(10,63,149,.28)}
.about-visual{position:relative;padding:0 0 34px 34px}.about-visual:before{content:"";position:absolute;left:0;bottom:0;width:55%;height:72%;border-radius:20px;background:linear-gradient(145deg,var(--primary),var(--accent))}.about-visual img{position:relative;width:100%;height:520px;object-fit:cover;object-position:center;border-radius:22px;box-shadow:var(--shadow)}
.about-visual .visual-note{position:absolute;right:22px;bottom:0;background:#fff;border-radius:16px;padding:1rem 1.15rem;box-shadow:0 15px 40px rgba(7,26,49,.18);min-width:235px}.about-visual .visual-note i{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e8f3ff;color:var(--primary);font-size:1.25rem}.about-visual .visual-note strong{display:block;color:var(--navy);font-size:.95rem}.about-visual .visual-note span{display:block;color:var(--muted);font-size:.78rem}
.check-list{list-style:none;padding:0;margin:1.4rem 0}.check-list li{position:relative;padding:.45rem 0 .45rem 2rem}.check-list li:before{content:"\F633";font-family:"bootstrap-icons";position:absolute;left:0;color:var(--accent);font-weight:900}
.steel-band{background:linear-gradient(135deg,var(--navy),#0b3766);color:#fff;position:relative;overflow:hidden}.steel-band:after{content:"";position:absolute;inset:-140px -120px auto auto;width:360px;height:360px;border:55px solid rgba(36,130,222,.18);transform:rotate(45deg)}
.steel-band .section-title{color:#fff}.process-step{position:relative;padding:1.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:16px;height:100%}.process-step .num{font-size:2rem;font-weight:900;color:#55abff}.process-step h3{font-size:1.05rem;font-weight:800}
.project-card{position:relative;border-radius:18px;overflow:hidden;height:340px;background:#14263a}.project-card img{display:block;width:100%;height:100%;object-fit:cover;transition:.5s ease}.project-card:hover img{transform:scale(1.05)}
.project-card .overlay{position:absolute;inset:0;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 38%,rgba(4,18,34,.9));color:#fff}.project-card h3{font-weight:850;font-size:1.22rem}.project-card span{font-size:.82rem;color:#bcd9f5}
.cta{background:linear-gradient(120deg,#0a3f95,#0877d9);border-radius:26px;color:#fff;padding:3rem;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(255,255,255,.12);right:-100px;top:-120px;transform:rotate(45deg)}.cta>*{position:relative;z-index:1}
.page-hero{background:linear-gradient(100deg,rgba(4,20,39,.96),rgba(5,54,102,.78)),url('../img/hero-steel.webp') center/cover no-repeat;color:#fff;padding:100px 0 88px}.page-hero h1{font-weight:800;font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.035em}.breadcrumb-item,.breadcrumb-item a{color:#cde0f3}.breadcrumb-item.active{color:#fff}.breadcrumb-item+.breadcrumb-item:before{color:#8fb3d5}
.value-card{padding:1.6rem;border-left:4px solid var(--accent);background:#fff;border-radius:0 16px 16px 0;box-shadow:0 10px 35px rgba(7,26,49,.06);height:100%}.value-card h3{font-size:1.15rem;font-weight:850;color:var(--navy)}
.feature-row{padding:1.15rem 0;border-bottom:1px solid var(--line)}.feature-row:last-child{border:0}.feature-row .bi{font-size:1.4rem;color:var(--accent)}
.faq .accordion-item{border:1px solid var(--line);border-radius:13px!important;margin-bottom:.75rem;overflow:hidden}.faq .accordion-button{font-weight:800;color:var(--navy);padding:1.15rem}.faq .accordion-button:not(.collapsed){background:#edf5ff;color:var(--primary);box-shadow:none}.faq .accordion-button:focus{box-shadow:none}
.filter-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.55rem 1rem;border-radius:999px;font-weight:750}.filter-btn.active,.filter-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.gallery-card{border:0;background:#fff;border-radius:17px;overflow:hidden;width:100%;padding:0;text-align:left;box-shadow:0 8px 28px rgba(7,26,49,.08);transition:.25s ease}.gallery-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.gallery-card img{display:block;width:100%;height:255px;object-fit:cover;background:#e9eef4}.gallery-card .caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem}.gallery-card strong{font-size:.93rem;color:var(--navy)}.gallery-card .bi{color:var(--accent)}
.gallery-count{color:var(--muted);font-size:.9rem}.gallery-modal .modal-content{background:#061628;border:0;border-radius:18px;overflow:hidden}.gallery-modal .modal-body{padding:0}.gallery-modal img{display:block;max-width:100%;max-height:82vh;margin:auto;object-fit:contain}.gallery-modal .btn-close{position:absolute;right:12px;top:12px;z-index:2;background-color:#fff;border-radius:50%;padding:.65rem;opacity:.9}.gallery-empty{padding:4rem 1rem;text-align:center;color:var(--muted)}
.contact-card{padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:16px;height:100%}.contact-card .icon{font-size:1.5rem;color:var(--accent)}
.form-control,.form-select{border:1px solid #ccd8e5;border-radius:11px;padding:.8rem .9rem}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(8,119,217,.12)}
.map-box{min-height:390px;border:0;width:100%;border-radius:var(--radius)}
.site-footer{background:#061628;color:#9fb0c4;padding:70px 0 100px}.footer-logo{background:#fff;border-radius:12px;padding:.5rem;width:190px}.site-footer h3{font-size:1rem;color:#fff;font-weight:800;margin-bottom:1rem}.site-footer a{display:inline-block;color:#adbdce;padding:.23rem 0}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.3rem;font-size:.84rem}
.social-links{display:flex;flex-wrap:wrap;gap:.65rem}.social-link{display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.58rem .85rem!important;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff!important;font-weight:750;font-size:.86rem}.social-link:hover{background:#fff;color:var(--navy)!important;border-color:#fff}.social-link.instagram:hover{color:#c13584!important}.social-link.facebook:hover{color:#1877f2!important}.contact-social .social-link{border-color:var(--line);color:var(--navy)!important;background:#fff;box-shadow:0 8px 24px rgba(7,26,49,.07)}.contact-social .social-link:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mobile-actions{display:none;position:fixed;left:0;right:0;bottom:0;background:#fff;z-index:1040;box-shadow:0 -5px 24px rgba(7,26,49,.14);padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom))}.mobile-actions a{flex:1;display:flex;align-items:center;justify-content:center;gap:.45rem;color:#fff;font-weight:800;padding:.7rem;border-radius:10px}.mobile-actions .call{background:var(--primary)}.mobile-actions .wa{background:#128c4c}
.reveal{animation:fadeUp .65s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:991.98px){#site-header{position:sticky;top:0;z-index:1045}.site-nav{position:relative!important;top:auto!important}.topbar{display:none}.navbar-brand img{width:190px;height:56px}.mobile-nav-actions{display:flex}.navbar .offcanvas-start{top:12px;bottom:12px;left:12px;width:min(88vw,370px);height:auto;border:0;border-radius:22px;box-shadow:0 24px 70px rgba(4,20,39,.28);overflow:hidden}.navbar .offcanvas-body{display:block;padding:1rem 1.1rem 1.4rem;overflow-y:auto}.navbar .offcanvas-header{padding:1rem 1.1rem}.navbar .offcanvas-header .btn-close{width:2.25rem;height:2.25rem;padding:.45rem;margin:0;border-radius:10px;background-color:#edf4ff;opacity:1}.navbar-nav{gap:.28rem}.navbar-nav .nav-link{padding:.78rem .85rem!important;border-radius:11px}.navbar-nav .nav-link.active{background:linear-gradient(100deg,#e8f2ff,#f4f8fd)}.navbar-nav .nav-item.ms-lg-2{margin-top:.8rem}.navbar-nav .nav-item.ms-lg-2 .btn{display:block;width:100%;padding:.82rem}.offcanvas-backdrop.show{opacity:.58}.hero{min-height:610px;background-position:63% center}.hero:before{content:"";position:absolute;inset:0;background:rgba(4,20,39,.22)}.hero-stats{margin-top:-35px}.image-frame .float-card{left:15px}.section{padding:68px 0}}
@media(max-width:767.98px){body{padding-bottom:68px}.mobile-actions{display:flex;gap:.55rem}.site-footer{padding-bottom:55px}.hero{min-height:590px;padding:90px 0 70px;background:linear-gradient(rgba(3,18,35,.82),rgba(3,23,45,.78)),url('../img/steel-villa.webp') 65% center/cover no-repeat}.hero h1{font-size:2.7rem}.hero .btn{width:100%}.hero-stats{margin-top:0;background:#fff}.stats-panel{border-radius:0;box-shadow:none}.stat{border-right:0;border-bottom:1px solid var(--line);padding:.75rem}.stat:nth-last-child(-n+2){border-bottom:0}.stat strong{font-size:1.25rem}.section{padding:56px 0}.section-title{font-size:2.1rem}.image-frame img{min-height:330px}.image-frame .float-card{position:relative;left:auto;bottom:auto;margin:-28px 15px 0;max-width:none}.about-visual{padding:0 0 25px 18px}.about-visual img{height:360px;border-radius:17px}.about-visual .visual-note{right:12px;padding:.8rem;min-width:210px}.gallery-card img{height:230px}.cta{padding:2rem 1.4rem;border-radius:20px}.page-hero{padding:65px 0 58px}.project-card{height:300px}.map-box{min-height:320px}}
@media(max-width:420px){.site-nav .container{padding-left:.75rem;padding-right:.75rem}.navbar-brand img{width:168px;height:54px}.mobile-nav-action{width:35px;height:35px;border-radius:9px}.navbar-toggler{padding:.3rem}.navbar-toggler .bi{font-size:1.75rem!important}}
@media(max-width:360px){.navbar-brand img{width:148px}.mobile-nav-actions{gap:.3rem}.mobile-nav-action{width:33px;height:33px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
