:root{
      --primary:#082d57;
      --primary-dark:#041d39;
      --secondary:#f7931e;
      --secondary-dark:#d97605;
      --text:#17263a;
      --muted:#687486;
      --light:#f4f7fa;
      --white:#ffffff;
      --line:#dfe6ee;
      --shadow:0 18px 45px rgba(4,29,57,.12);
      --radius:18px;
    }

    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    html{
      scroll-behavior:smooth;
      scroll-padding-top:85px;
    }

    body{
      font-family:"Montserrat",sans-serif;
      color:var(--text);
      background:var(--white);
      overflow-x:hidden;
    }

    body.menu-open{
      overflow:hidden;
    }

    img{
      display:block;
      width: 100%;
    }

    a{
      text-decoration:none;
      color:inherit;
    }

    button,
    input,
    textarea{
      font:inherit;
    }

    button{
      border:0;
    }

    .container{
      width:min(1180px,calc(100% - 40px));
      margin:auto;
    }

    .section{
      padding:95px 0;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:12px;
      color:var(--secondary);
      font-size:.76rem;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .eyebrow::before{
      content:"";
      width:28px;
      height:2px;
      background:var(--secondary);
    }

    .section-title{
      font-size:clamp(1.75rem,3vw,2.65rem);
      line-height:1.15;
      color:var(--primary);
      margin-bottom:18px;
    }

    .section-copy{
      max-width:680px;
      color:var(--muted);
      line-height:1.8;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      min-height:50px;
      padding:0 24px;
      border-radius:8px;
      font-size:.84rem;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.02em;
      cursor:pointer;
      transition:.3s ease;
    }

    .btn-primary{
      color:var(--white);
      background:var(--secondary);
      box-shadow:0 12px 24px rgba(247,147,30,.28);
    }

    .btn-primary:hover{
      transform:translateY(-3px);
      background:var(--secondary-dark);
    }

    .btn-outline{
      color:var(--white);
      border:1px solid rgba(255,255,255,.55);
      background:rgba(255,255,255,.06);
      backdrop-filter:blur(8px);
    }

    .btn-outline:hover{
      color:var(--primary);
      background:var(--white);
      transform:translateY(-3px);
    }

    .header{
      position:fixed;
      top:0;
      left:0;
      width:100%;
      z-index:1000;
      padding:18px 0;
      transition:.35s ease;
    }

    .header.scrolled{
      padding:11px 0;
      background:rgba(4,29,57,.96);
      box-shadow:0 8px 25px rgba(0,0,0,.16);
      backdrop-filter:blur(12px);
    }

    .header-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:30px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:var(--white);
      min-width:220px;
    }
    .filter img {
    filter: brightness(0) invert(1) !important;
  }

    .brand img{
      height: 100px;
      object-fit: contain;
    }

    .brand-mark{
      display:grid;
      place-items:center;
      width:45px;
      height:45px;
      border:2px solid rgba(255,255,255,.85);
      border-radius:8px;
      font-size:1.35rem;
    }

    .brand-text strong{
      display:block;
      font-size:.88rem;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .brand-text span{
      display:block;
      margin-top:3px;
      font-size:.61rem;
      letter-spacing:.13em;
      opacity:.75;
      text-transform:uppercase;
    }

    .nav{
      display:flex;
      align-items:center;
      gap:26px;
    }

    .nav a{
      position:relative;
      color:rgba(255,255,255,.88);
      font-size:.72rem;
      font-weight:700;
      text-transform:uppercase;
    }

    .nav a::after{
      content:"";
      position:absolute;
      left:0;
      bottom:-8px;
      width:0;
      height:2px;
      background:var(--secondary);
      transition:.3s ease;
    }

    .nav a:hover::after,
    .nav a.active::after{
      width:100%;
    }

    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border-radius:8px;
      color:var(--white);
      background:rgba(255,255,255,.12);
      cursor:pointer;
    }

    .hero{
      position:relative;
      min-height:790px;
      display:flex;
      align-items:center;
      padding:135px 0 90px;
      color:var(--white);
      background:
        linear-gradient(90deg,rgba(3,24,48,.94) 0%,rgba(3,24,48,.72) 48%,rgba(3,24,48,.2) 100%),
        url("../images/slider.jpeg") center/cover no-repeat;
    }

    .hero::after{
      content:"";
      position:absolute;
      inset:auto 0 0;
      height:130px;
      background:linear-gradient(transparent,rgba(4,29,57,.36));
      pointer-events:none;
    }

    .hero-content{
      position:relative;
      z-index:2;
      max-width:820px;
    }

    .hero-kicker{
      display:inline-block;
      margin-bottom:12px;
      color:#ffac47;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .hero h1{
      max-width:760px;
      font-size:clamp(2.5rem,5.5vw,5.1rem);
      line-height:.98;
      letter-spacing:-.04em;
      text-transform:uppercase;
      text-shadow:0 6px 25px rgba(0,0,0,.28);
    }

    .hero h1 span{
      display:block;
      margin-top:14px;
      color:var(--secondary);
      font-size:clamp(1rem,2.1vw,1.7rem);
      line-height:1.25;
      letter-spacing:0;
    }

    .hero-location{
      display:flex;
      align-items:center;
      gap:10px;
      margin-top:24px;
      font-weight:600;
      color:rgba(255,255,255,.9);
    }

    .hero-stats{
      display:grid;
      grid-template-columns:repeat(4,minmax(125px,1fr));
      max-width:780px;
      margin:32px 0;
      border-top:1px solid rgba(255,255,255,.2);
      border-bottom:1px solid rgba(255,255,255,.2);
    }

    .hero-stat{
      display:flex;
      align-items:center;
      gap:12px;
      padding:20px 18px;
      border-right:1px solid rgba(255,255,255,.2);
    }

    .hero-stat:last-child{
      border-right:0;
    }

    .hero-stat i{
      font-size:1.55rem;
      color:var(--secondary);
    }

    .hero-stat strong{
      display:block;
      font-size:1rem;
    }

    .hero-stat span{
      display:block;
      margin-top:3px;
      font-size:.7rem;
      opacity:.75;
    }

    .hero-progress-note{
      margin-bottom:28px;
      color:rgba(255,255,255,.85);
      font-size:.86rem;
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
    }

    .whatsapp-float{
      position:fixed;
      right:20px;
      bottom:22px;
      z-index:999;
      display:grid;
      place-items:center;
      width:62px;
      height:62px;
      border:4px solid var(--white);
      border-radius:50%;
      background:#25d366;
      color:var(--white);
      box-shadow:0 12px 30px rgba(0,0,0,.22);
      font-size:2rem;
      transition:.3s ease;
    }

    .whatsapp-float:hover{
      transform:translateY(-5px) scale(1.03);
    }

    .description-grid{
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:65px;
      align-items:center;
    }

    .description-image{
      position:relative;
    }

    .description-image img{
      height:470px;
      object-fit:cover;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .image-badge{
      position:absolute;
      right:-24px;
      bottom:28px;
      width:150px;
      padding:22px;
      border-radius:14px;
      color:var(--white);
      background:var(--primary);
      box-shadow:var(--shadow);
    }

    .image-badge strong{
      display:block;
      font-size: 1.5rem;
      color:var(--secondary);
    }

    .image-badge span{
      font-size:.76rem;
      line-height:1.4;
    }

    .description-content p{
      margin-bottom:16px;
      color:var(--muted);
      line-height:1.8;
    }

    .check-list{
      display:grid;
      gap:13px;
      margin-top:26px;
      list-style:none;
    }

    .check-list li{
      display:flex;
      gap:11px;
      align-items:flex-start;
      font-size:.94rem;
      font-weight:600;
    }

    .check-list i{
      margin-top:3px;
      color:var(--secondary);
    }

    .specs{
      background:var(--light);
    }

    .specs-head{
      text-align:center;
      margin-bottom:42px;
    }

    .specs-head .section-copy{
      margin:auto;
    }

    .specs-grid{
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:16px;
    }

    .spec-card{
      min-height:170px;
      padding:26px 15px;
      text-align:center;
      border:1px solid #e7edf3;
      border-radius:12px;
      background:var(--white);
      box-shadow:0 8px 25px rgba(4,29,57,.05);
      transition:.3s ease;
    }

    .spec-card:hover{
      transform:translateY(-7px);
      border-color:rgba(247,147,30,.45);
      box-shadow:var(--shadow);
    }

    .spec-card i{
      margin-bottom:18px;
      color:var(--primary);
      font-size:2rem;
    }

    .spec-card strong{
      display:block;
      font-size:.84rem;
      line-height:1.4;
    }

    .spec-card span{
      display:block;
      margin-top:6px;
      color:var(--muted);
      font-size:.74rem;
    }

    .benefits{
      color:var(--white);
      background:var(--primary);
      padding:62px 0;
    }

    .benefits-head{
      text-align:center;
      margin-bottom:36px;
    }

    .benefits-head .eyebrow{
      color:var(--secondary);
    }

    .benefits-head h2{
      color:var(--white);
      font-size:clamp(1.6rem,3vw,2.2rem);
    }

    .benefits-grid{
      display:grid;
      grid-template-columns:repeat(8,1fr);
      gap:0;
    }

    .benefit{
      padding:10px 14px;
      text-align:center;
      border-right:1px solid rgba(255,255,255,.15);
    }

    .benefit:last-child{
      border-right:0;
    }

    .benefit i{
      display:block;
      margin-bottom:13px;
      color:var(--secondary);
      font-size:1.7rem;
    }

    .benefit span{
      font-size:.7rem;
      font-weight:700;
      line-height:1.4;
    }

    .progress-project{
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:55px;
      align-items:start;
    }

    .progress-wrap{
      margin:24px 0 34px;
    }

    .progress-label{
      display:flex;
      justify-content:space-between;
      margin-bottom:10px;
      font-weight:800;
    }

    .progress-track{
      height:15px;
      overflow:hidden;
      border-radius:20px;
      background:#e7ebf0;
    }

    .progress-bar{
      width:0;
      height:100%;
      border-radius:20px;
      background:linear-gradient(90deg,var(--secondary),#ffb14f);
      transition:width 1.5s ease;
    }

    .gallery-tabs{
      display:flex;
      gap:8px;
      margin-bottom:16px;
    }

    .gallery-tab{
      padding:10px 16px;
      border-radius:7px;
      color:var(--muted);
      background:#edf1f5;
      font-size:.72rem;
      font-weight:800;
      cursor:pointer;
      text-transform:uppercase;
    }

    .gallery-tab.active{
      color:var(--white);
      background:var(--primary);
    }

    .gallery-panel{
      display:none;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
    }

    .gallery-panel.active{
      display:grid;
    }

    .gallery-panel img{
      height:140px;
      object-fit:cover;
      border-radius:10px;
      cursor:pointer;
      transition:.3s ease;
    }

    .gallery-panel img:hover{
      transform:scale(1.03);
    }

    .video-card{
      overflow:hidden;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      background:var(--white);
    }

    .video-cover{
      position:relative;
    }

    .video-cover img{
      height:290px;
      object-fit:cover;
    }

    .play-btn{
      position:absolute;
      top:50%;
      left:50%;
      display:grid;
      place-items:center;
      width:68px;
      height:68px;
      border-radius:50%;
      color:var(--white);
      background:#ff1b1b;
      box-shadow:0 10px 28px rgba(0,0,0,.28);
      transform:translate(-50%,-50%);
      cursor:pointer;
      transition:.3s ease;
    }

    .play-btn:hover{
      transform:translate(-50%,-50%) scale(1.08);
    }

    .video-meta{
      display:flex;
      align-items:center;
      gap:10px;
      padding:18px 20px;
      color:var(--muted);
      font-size:.82rem;
    }

    .location-section{
      padding:70px 0;
      background:#f5f8fb;
    }

    .location-grid{
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      align-items:stretch;
      overflow:hidden;
      border-radius:var(--radius);
      background:var(--white);
      box-shadow:var(--shadow);
    }

    .location-copy{
      padding:50px;
    }

    .location-copy p{
      margin:18px 0 25px;
      color:var(--muted);
      line-height:1.7;
    }

    .map-frame{
      min-height:410px;
    }

    .map-frame iframe{
      width:100%;
      height:100%;
      min-height:410px;
      border:0;
    }

    .office-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:55px;
      align-items:center;
    }

    .office-grid img{
      height:400px;
      object-fit:cover;
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .office-content p{
      margin-bottom:16px;
      color:var(--muted);
      line-height:1.8;
    }

    .contact-section{
      background:var(--light);
    }

    .contact-grid{
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:30px;
    }

    .contact-form-box,
    .whatsapp-box{
      border-radius:var(--radius);
      background:var(--white);
      box-shadow:var(--shadow);
    }

    .contact-form-box{
      padding:38px;
    }

    .contact-form-box h2{
      margin-bottom:24px;
      color:var(--primary);
      font-size:1.65rem;
    }

    .form-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:15px;
    }

    .field{
      display:grid;
      gap:7px;
    }

    .field.full{
      grid-column:1 / -1;
    }

    .field label{
      font-size:.72rem;
      font-weight:700;
    }

    .field input,
    .field textarea{
      width:100%;
      padding:14px 15px;
      border:1px solid var(--line);
      border-radius:8px;
      outline:none;
      background:#fbfcfd;
      transition:.3s ease;
    }

    .field input:focus,
    .field textarea:focus{
      border-color:var(--secondary);
      box-shadow:0 0 0 3px rgba(247,147,30,.12);
    }

    .field textarea{
      min-height:120px;
      resize:vertical;
    }

    .form-actions{
      display:flex;
      align-items:center;
      gap:15px;
      margin-top:18px;
    }

    .form-status{
      font-size:.78rem;
      color:var(--muted);
    }

    .whatsapp-box{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      min-height:100%;
      padding:35px;
      text-align:center;
      color:var(--white);
      background:var(--primary);
    }

    .whatsapp-box i{
      margin:20px 0;
      color:#25d366;
      font-size:5rem;
    }

    .whatsapp-box h3{
      font-size:1.5rem;
    }

    .whatsapp-box p{
      margin-top:8px;
      color:rgba(255,255,255,.72);
      line-height:1.6;
    }

    .cta{
      position:relative;
      padding:75px 0;
      text-align:center;
      color:var(--white);
      background:
        linear-gradient(rgba(4,29,57,.9),rgba(4,29,57,.94)),
        url("https://images.unsplash.com/photo-1565793298595-6a879b1d9492?auto=format&fit=crop&w=1900&q=85") center/cover;
    }

    .cta h2{
      font-size:clamp(1.9rem,4vw,3rem);
    }

    .cta p{
      max-width:680px;
      margin:15px auto 28px;
      color:rgba(255,255,255,.78);
      line-height:1.7;
    }

    .cta-actions{
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:14px;
    }

    .footer{
      color:rgba(255,255,255,.76);
      background:var(--primary-dark);
    }

    .footer-top{
      display:grid;
      grid-template-columns:1.1fr 1fr .65fr .9fr;
      gap:35px;
      padding:55px 0 35px;
    }

    .footer h4{
      margin-bottom:16px;
      color:var(--white);
      font-size:.88rem;
      text-transform:uppercase;
    }

    .footer p,
    .footer a{
      font-size:.8rem;
      line-height:1.8;
    }

    .footer-contact{
      display:grid;
      gap:10px;
    }

    .footer-contact a{
      display:flex;
      align-items:flex-start;
      gap:10px;
    }

    .footer-contact i{
      margin-top:5px;
      color:var(--secondary);
    }

    .socials{
      display:flex;
      gap:10px;
    }

    .socials a{
      display:grid;
      place-items:center;
      width:38px;
      height:38px;
      border:1px solid rgba(255,255,255,.16);
      border-radius:50%;
      transition:.3s ease;
    }

    .socials a:hover{
      color:var(--white);
      border-color:var(--secondary);
      background:var(--secondary);
    }

    .footer-map{
      height:135px;
      overflow:hidden;
      border-radius:10px;
    }

    .footer-map iframe{
      width:100%;
      height:100%;
      border:0;
    }

    .footer-bottom{
      padding:18px 0;
      text-align:center;
      border-top:1px solid rgba(255,255,255,.1);
      font-size:.73rem;
    }

    .lightbox{
      position:fixed;
      inset:0;
      z-index:2000;
      display:none;
      place-items:center;
      padding:25px;
      background:rgba(0,0,0,.88);
    }

    .lightbox.open{
      display:grid;
    }

    .lightbox img{
      max-width:min(1000px,92vw);
      max-height:82vh;
      object-fit:contain;
      border-radius:12px;
    }

    .lightbox-close{
      position:absolute;
      top:20px;
      right:24px;
      width:45px;
      height:45px;
      border-radius:50%;
      color:var(--white);
      background:rgba(255,255,255,.14);
      cursor:pointer;
      font-size:1.2rem;
    }

    .video-modal{
      position:fixed;
      inset:0;
      z-index:2100;
      display:none;
      place-items:center;
      padding:25px;
      background:rgba(0,0,0,.9);
    }

    .video-modal.open{
      display:grid;
    }

    .video-modal-box{
      position:relative;
      width:min(950px,94vw);
      aspect-ratio:16/9;
      background:#000;
    }

    .video-modal iframe{
      width:100%;
      height:100%;
      border:0;
    }

    .video-close{
      position:absolute;
      top:-48px;
      right:0;
      width:40px;
      height:40px;
      border-radius:50%;
      color:var(--white);
      background:rgba(255,255,255,.15);
      cursor:pointer;
    }

    @media(max-width:1050px){
      .nav{
        gap:16px;
      }

      .nav a{
        font-size:.66rem;
      }

      .specs-grid{
        grid-template-columns:repeat(3,1fr);
      }

      .benefits-grid{
        grid-template-columns:repeat(4,1fr);
        gap:25px 0;
      }

      .benefit:nth-child(4){
        border-right:0;
      }
    }

    @media(max-width:860px){
      .menu-toggle{
        display:block;
      }

      .nav{
        position:fixed;
        top:0;
        right:-100%;
        width:min(340px,86vw);
        height:100vh;
        padding:105px 28px 30px;
        flex-direction:column;
        align-items:flex-start;
        gap:26px;
        background:var(--primary-dark);
        box-shadow:-18px 0 45px rgba(0,0,0,.25);
        transition:.35s ease;
      }

      .nav.open{
        right:0;
      }

      .nav a{
        font-size:.86rem;
      }

      .hero{
        min-height:760px;
        background-position:62% center;
      }

      .hero-stats{
        grid-template-columns:repeat(2,1fr);
      }

      .hero-stat:nth-child(2){
        border-right:0;
      }

      .hero-stat:nth-child(-n+2){
        border-bottom:1px solid rgba(255,255,255,.2);
      }

      .description-grid,
      .progress-project,
      .location-grid,
      .office-grid,
      .contact-grid{
        grid-template-columns:1fr;
      }

      .description-image img,
      .office-grid img{
        height:380px;
      }

      .image-badge{
        right:20px;
      }

      .location-copy{
        padding:38px;
      }

      .footer-top{
        grid-template-columns:repeat(2,1fr);
      }
    }

    @media(max-width:620px){
      .container{
        width:min(100% - 28px,1180px);
      }

      .section{
        padding:72px 0;
      }

      .brand{
        min-width:auto;
      }

      .brand-text strong{
        font-size:.72rem;
      }

      .brand-text span{
        font-size:.52rem;
      }

      .hero{
        min-height:820px;
        padding-top:120px;
      }

      .hero h1{
        font-size:2.65rem;
      }

      .hero h1 span{
        font-size:1rem;
      }

      .hero-stats{
        grid-template-columns:1fr 1fr;
      }

      .hero-stat{
        padding:16px 10px;
      }

      .hero-actions .btn{
        width:100%;
      }

      .description-image img,
      .office-grid img{
        height:290px;
      }

      .image-badge{
        position:static;
        width:100%;
        margin-top:14px;
      }

      .specs-grid{
        grid-template-columns:repeat(2,1fr);
      }

      .spec-card{
        min-height:150px;
        padding:22px 10px;
      }

      .benefits-grid{
        grid-template-columns:repeat(2,1fr);
      }

      .benefit:nth-child(even){
        border-right:0;
      }

      .gallery-panel{
        grid-template-columns:1fr;
      }

      .gallery-panel img{
        height:220px;
      }

      .video-cover img{
        height:230px;
      }

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

      .field.full{
        grid-column:auto;
      }

      .contact-form-box{
        padding:26px 20px;
      }

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

      .form-actions .btn{
        width:100%;
      }

      .footer-top{
        grid-template-columns:1fr;
      }

      .whatsapp-float{
        right:14px;
        bottom:14px;
        width:56px;
        height:56px;
      }
    }