:root{
    --navy:#0E1C41;
    --navy-light:#16295c;
    --orange:#E3711B;
    --orange-light:#f3934c;
    --white:#ffffff;
    --gray-bg:#f5f6fa;
    --gray-text:#5b6270;
    --dark-text:#1a1f2e;
    --cartel-navy:#161F2D;
    --cream:#FEFCDF;
    --cream-dark:#eae7c9;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Poppins',sans-serif;
    color:var(--dark-text);
    line-height:1.6;
    background:var(--white);
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Playfair Display',serif;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}
  .btn{
    display:inline-block;
    padding:14px 32px;
    border-radius:4px;
    font-weight:600;
    font-size:0.95rem;
    letter-spacing:0.3px;
    transition:all 0.25s ease;
    cursor:pointer;
    border:2px solid transparent;
  }
  .btn-primary{background:var(--orange);color:#fff;}
  .btn-primary:hover{background:var(--orange-light);transform:translateY(-2px);box-shadow:0 8px 20px rgba(227,113,27,0.35);}
  .btn-outline{background:transparent;border-color:#fff;color:#fff;}
  .btn-outline:hover{background:#fff;color:var(--navy);}
  .btn-outline-navy{background:transparent;border-color:var(--navy);color:var(--navy);}
  .btn-outline-navy:hover{background:var(--navy);color:#fff;}
  .section-tag{
    color:var(--orange);
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:0.8rem;
    font-weight:600;
    margin-bottom:12px;
    display:block;
  }
  .section-title{
    font-size:2.2rem;
    color:var(--navy);
    margin-bottom:16px;
    font-weight:700;
  }
  .section-sub{
    color:var(--gray-text);
    max-width:600px;
    margin-bottom:48px;
    font-size:1.02rem;
  }
  .center{text-align:center;margin-left:auto;margin-right:auto;}

  /* HEADER */
  header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:1000;
    background:rgba(14,28,65,0.97);
    backdrop-filter:blur(6px);
    box-shadow:0 2px 20px rgba(0,0,0,0.15);
  }
  .nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 24px;
    max-width:1180px;
    margin:0 auto;
  }
  .logo-img{height:52px;width:auto;}
  nav ul{display:flex;gap:36px;}
  nav a{
    color:#fff;
    font-weight:500;
    font-size:0.95rem;
    letter-spacing:0.3px;
    position:relative;
    padding:6px 0;
  }
  nav a::after{
    content:'';
    position:absolute;
    bottom:0;left:0;
    width:0;height:2px;
    background:var(--orange);
    transition:width 0.25s ease;
  }
  nav a:hover::after{width:100%;}
  .nav-cta{display:flex;align-items:center;gap:18px;}
  .whatsapp-header{
    display:flex;align-items:center;gap:8px;
    background:var(--orange);
    color:#fff;
    padding:10px 20px;
    border-radius:4px;
    font-weight:600;
    font-size:0.9rem;
  }
  .whatsapp-header:hover{background:var(--orange-light);}
  .menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;}

  /* HERO */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    background:linear-gradient(135deg, rgba(14,28,65,0.94), rgba(14,28,65,0.80)),
      url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800"><rect width="1200" height="800" fill="%23162a5c"/></svg>');
    background-size:cover;
    background-position:center;
    color:#fff;
    padding-top:100px;
  }
  .hero::before{
    content:'';
    position:absolute;inset:0;
    background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?q=80&w=1600&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
    opacity:0.35;
    z-index:0;
  }
  .hero-content{position:relative;z-index:1;max-width:680px;}
  .hero-content .section-tag{color:var(--orange-light);}
  .hero-content h1{
    font-size:3.2rem;
    line-height:1.15;
    margin-bottom:22px;
    font-weight:700;
  }
  .hero-content h1 span{color:var(--orange);}
  .hero-content p{
    font-size:1.1rem;
    margin-bottom:36px;
    color:#dfe4f2;
    max-width:540px;
  }
  .hero-btns{display:flex;gap:16px;flex-wrap:wrap;}

  .hero-stats{
    position:relative;z-index:1;
    display:flex;
    gap:0;
    margin-top:70px;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.15);
    border-radius:8px;
    overflow:hidden;
    max-width:680px;
  }
  .hero-stats div{
    flex:1;
    text-align:center;
    padding:22px 10px;
    border-right:1px solid rgba(255,255,255,0.15);
  }
  .hero-stats div:last-child{border-right:none;}
  .hero-stats strong{display:block;font-size:1.8rem;color:var(--orange-light);font-family:'Playfair Display',serif;}
  .hero-stats span{font-size:0.8rem;color:#c7cee4;letter-spacing:0.5px;}

  /* PROPERTIES */
  .properties{padding:110px 0 90px;background:var(--gray-bg);}
  .prop-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
  }
  .prop-card{
    display:block;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 6px 24px rgba(14,28,65,0.08);
    transition:transform 0.3s ease, box-shadow 0.3s ease;
    cursor:pointer;
  }
  .prop-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(14,28,65,0.16);}
  .prop-img{
    position:relative;
    height:220px;
    background-size:cover;
    background-position:center;
  }
  .prop-badge{
    position:absolute;top:14px;left:14px;
    background:var(--orange);
    color:#fff;
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:0.5px;
    padding:6px 12px;
    border-radius:3px;
    text-transform:uppercase;
  }
  .prop-badge.sample{background:rgba(14,28,65,0.85);}
  .prop-price{
    position:absolute;bottom:14px;right:14px;
    background:var(--navy);
    color:#fff;
    font-weight:700;
    padding:8px 14px;
    border-radius:4px;
    font-size:0.95rem;
  }
  .prop-body{padding:22px 22px 26px;}
  .prop-body h3{font-size:1.15rem;color:var(--navy);margin-bottom:6px;}
  .prop-loc{color:var(--gray-text);font-size:0.88rem;margin-bottom:16px;display:flex;align-items:center;gap:6px;}
  .prop-feats{
    display:flex;
    gap:16px;
    padding-top:16px;
    border-top:1px solid #eef0f5;
    font-size:0.85rem;
    color:var(--gray-text);
  }
  .prop-feats b{color:var(--navy);}
  .properties-cta{margin-top:56px;text-align:center;}
  .kiteprop-note{
    max-width:640px;
    margin:20px auto 0;
    font-size:0.85rem;
    color:var(--gray-text);
    font-style:italic;
  }

  /* SERVICES */
  .services{padding:110px 0;background:#fff;}
  .services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;
  }
  .service-card{
    background:var(--gray-bg);
    border-radius:10px;
    padding:34px 26px;
    text-align:center;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
  }
  .service-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(14,28,65,0.1);}
  .service-icon{font-size:2.2rem;margin-bottom:14px;}
  .service-card h3{color:var(--navy);font-size:1.15rem;margin-bottom:10px;}
  .service-card p{color:var(--gray-text);font-size:0.88rem;margin-bottom:16px;}
  .service-link{color:var(--orange);font-weight:600;font-size:0.88rem;}
  .service-link:hover{color:var(--orange-light);}

  /* TECHNOLOGY / DIFFERENTIATORS */
  .tech{padding:110px 0;background:var(--navy);color:#fff;position:relative;overflow:hidden;}
  .tech::before{
    content:'';
    position:absolute;
    width:480px;height:480px;
    border-radius:50%;
    background:rgba(227,113,27,0.08);
    bottom:-220px;left:-160px;
  }
  .tech-title{color:#fff;position:relative;z-index:1;}
  .tech-sub{color:#c7cee4;position:relative;z-index:1;}
  .tech-badge{
    display:inline-block;
    background:rgba(227,113,27,0.15);
    color:var(--orange-light);
    border:1px solid rgba(227,113,27,0.4);
    padding:6px 16px;
    border-radius:20px;
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.5px;
    margin-bottom:20px;
    position:relative;z-index:1;
  }
  .tech-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    position:relative;z-index:1;
    margin-top:10px;
  }
  .tech-card{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:12px;
    padding:36px 28px;
    text-align:center;
    transition:transform 0.3s ease, border-color 0.3s ease;
  }
  .tech-card:hover{transform:translateY(-6px);border-color:var(--orange);}
  .tech-icon{font-size:2.4rem;margin-bottom:16px;}
  .tech-card h3{color:#fff;font-size:1.2rem;margin-bottom:12px;}
  .tech-card p{color:#c7cee4;font-size:0.9rem;}
  .tech-note{
    margin-top:36px;text-align:center;
    font-size:0.8rem;color:#8b93ad;font-style:italic;
    position:relative;z-index:1;
  }

  /* ABOUT */
  .about{padding:110px 0;background:#fff;}
  .about-wrap{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:70px;
    align-items:center;
  }
  .about-img{
    position:relative;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(14,28,65,0.18);
  }
  .about-img img{height:520px;object-fit:cover;width:100%;}
  .about-badge{
    position:absolute;
    bottom:-28px;right:-28px;
    background:var(--orange);
    color:#fff;
    padding:26px 30px;
    border-radius:10px;
    text-align:center;
    box-shadow:0 14px 30px rgba(227,113,27,0.35);
  }
  .about-badge strong{display:block;font-size:2.2rem;font-family:'Playfair Display',serif;}
  .about-badge span{font-size:0.78rem;letter-spacing:0.5px;}
  .about-text p{color:var(--gray-text);margin-bottom:18px;}
  .about-values{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-top:32px;
  }
  .value-item{display:flex;gap:14px;align-items:flex-start;}
  .value-icon{
    width:42px;height:42px;min-width:42px;
    background:rgba(227,113,27,0.12);
    color:var(--orange);
    border-radius:8px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
    font-weight:700;
  }
  .value-item h4{font-size:1rem;color:var(--navy);margin-bottom:4px;font-family:'Poppins',sans-serif;font-weight:600;}
  .value-item p{font-size:0.85rem;color:var(--gray-text);margin:0;}

  /* CONTACT */
  .contact{padding:110px 0;background:var(--navy);color:#fff;position:relative;overflow:hidden;}
  .contact::after{
    content:'';
    position:absolute;
    width:500px;height:500px;
    border-radius:50%;
    background:rgba(227,113,27,0.08);
    top:-200px;right:-150px;
  }
  .contact-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    position:relative;z-index:1;
  }
  .contact .section-title{color:#fff;}
  .contact .section-sub{color:#c7cee4;}
  .contact-info{display:flex;flex-direction:column;gap:22px;margin-top:10px;}
  .contact-item{display:flex;gap:18px;align-items:flex-start;}
  .contact-icon{
    width:48px;height:48px;min-width:48px;
    background:rgba(227,113,27,0.15);
    color:var(--orange-light);
    border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.3rem;
  }
  .contact-item h4{font-size:0.95rem;margin-bottom:4px;color:#fff;font-family:'Poppins',sans-serif;font-weight:600;}
  .contact-item a, .contact-item span{color:#c7cee4;font-size:0.92rem;}
  .contact-item a:hover{color:var(--orange-light);}
  .social-row{display:flex;gap:14px;margin-top:8px;}
  .social-row a{
    width:44px;height:44px;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1.1rem;
    transition:all 0.25s ease;
  }
  .social-row a:hover{background:var(--orange);border-color:var(--orange);}

  .contact-form{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:12px;
    padding:36px;
  }
  .contact-form h3{color:#fff;margin-bottom:8px;font-size:1.3rem;}
  .contact-form p{color:#b9c0d6;font-size:0.85rem;margin-bottom:24px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
  .form-group label{font-size:0.8rem;color:#c7cee4;}
  .form-group input, .form-group textarea, .form-group select{
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:6px;
    padding:12px 14px;
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:0.9rem;
  }
  .form-group textarea{resize:vertical;min-height:100px;}
  .form-group input::placeholder, .form-group textarea::placeholder{color:#8b93ad;}
  .form-submit{width:100%;border:none;margin-top:6px;}

  /* FOOTER */
  footer{background:#091530;color:#9aa4c4;padding:56px 0 24px;}
  .footer-wrap{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:50px;
    padding-bottom:40px;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .footer-logo{height:46px;margin-bottom:16px;}
  .footer-wrap p{font-size:0.88rem;line-height:1.7;}
  .footer-col h4{color:#fff;font-family:'Poppins',sans-serif;font-size:0.95rem;margin-bottom:18px;font-weight:600;}
  .footer-col ul li{margin-bottom:10px;}
  .footer-col ul a{font-size:0.88rem;}
  .footer-col ul a:hover{color:var(--orange-light);}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:24px;font-size:0.8rem;flex-wrap:wrap;gap:10px;
  }

  /* WHATSAPP FLOAT */
  .wa-float{
    position:fixed;
    bottom:26px;right:26px;
    width:60px;height:60px;
    background:#25D366;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(37,211,102,0.5);
    z-index:999;
    font-size:1.8rem;
    color:#fff;
    animation:pulse 2.2s infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,0.55);}
    70%{box-shadow:0 0 0 16px rgba(37,211,102,0);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
  }

  @media (max-width:960px){
    .prop-grid{grid-template-columns:repeat(2,1fr);}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .tech-grid{grid-template-columns:1fr;}
    .about-wrap{grid-template-columns:1fr;}
    .about-img img{height:400px;}
    .contact-wrap{grid-template-columns:1fr;}
  }
  @media (max-width:720px){
    .services-grid{grid-template-columns:1fr;}
    nav ul{display:none;}
    .menu-toggle{display:block;}
    .whatsapp-header span{display:none;}
    .hero-content h1{font-size:2.2rem;}
    .prop-grid{grid-template-columns:1fr;}
    .hero-stats{flex-wrap:wrap;}
    .hero-stats div{flex:1 1 50%;border-bottom:1px solid rgba(255,255,255,0.15);}
    .footer-wrap{grid-template-columns:1fr;gap:30px;}
    .form-row{grid-template-columns:1fr;}
  }

  /* ===== PROPERTY DETAIL PAGE ===== */
  .breadcrumb{
    padding:130px 0 20px;
    font-size:0.85rem;
    color:var(--gray-text);
  }
  .breadcrumb a{color:var(--navy);font-weight:600;}
  .breadcrumb a:hover{color:var(--orange);}
  .breadcrumb span{margin:0 6px;}

  .detail-gallery{padding:10px 0 0;}
  .gallery-main{
    height:460px;
    border-radius:12px;
    background-size:cover;
    background-position:center;
    position:relative;
    margin-bottom:12px;
  }
  .gallery-main .prop-badge{font-size:0.78rem;padding:8px 16px;}
  .gallery-thumbs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
  }
  .gallery-thumbs div{
    height:110px;
    border-radius:8px;
    background-size:cover;
    background-position:center;
  }

  .detail-body{padding:50px 0 110px;background:var(--gray-bg);}
  .detail-grid{
    display:grid;
    grid-template-columns:1.6fr 1fr;
    gap:50px;
    align-items:start;
  }
  .detail-main{background:#fff;border-radius:12px;padding:40px;box-shadow:0 6px 24px rgba(14,28,65,0.06);}
  .detail-main h1{font-size:1.9rem;color:var(--navy);margin-bottom:10px;}
  .detail-loc{color:var(--gray-text);font-size:0.95rem;margin-bottom:22px;}
  .detail-price{
    display:inline-block;
    background:var(--navy);
    color:#fff;
    font-weight:700;
    font-size:1.3rem;
    padding:12px 22px;
    border-radius:6px;
    margin-bottom:26px;
  }
  .detail-feats{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    padding:22px 0;
    border-top:1px solid #eef0f5;
    border-bottom:1px solid #eef0f5;
    margin-bottom:26px;
  }
  .detail-feats span{
    background:var(--gray-bg);
    padding:10px 16px;
    border-radius:6px;
    font-size:0.9rem;
    color:var(--navy);
  }
  .detail-main h2{font-size:1.2rem;color:var(--navy);margin:26px 0 12px;}
  .detail-main p.desc{color:var(--gray-text);line-height:1.8;}
  .amenities-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .amenities-grid span{
    display:flex;align-items:center;gap:8px;
    color:var(--gray-text);
    font-size:0.92rem;
  }

  .detail-tech{
    margin-top:36px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }
  .tech-card-light{
    background:var(--gray-bg);
    border:1px dashed #c9cee0;
    border-radius:10px;
    padding:22px 18px;
    text-align:center;
  }
  .tech-card-light .tech-icon{font-size:1.8rem;margin-bottom:10px;}
  .tech-card-light h4{color:var(--navy);font-size:0.95rem;margin-bottom:6px;}
  .tech-card-light p{color:var(--gray-text);font-size:0.78rem;}

  .detail-sidebar{
    background:#fff;
    border-radius:12px;
    padding:32px;
    box-shadow:0 6px 24px rgba(14,28,65,0.06);
    position:sticky;
    top:100px;
  }
  .detail-sidebar h3{color:var(--navy);font-size:1.1rem;margin-bottom:6px;}
  .detail-sidebar p{color:var(--gray-text);font-size:0.85rem;margin-bottom:20px;}
  .sidebar-btn{width:100%;text-align:center;margin-bottom:12px;}
  .sidebar-agent{
    display:flex;align-items:center;gap:12px;
    margin-top:22px;padding-top:22px;
    border-top:1px solid #eef0f5;
  }
  .sidebar-agent-icon{
    width:46px;height:46px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-weight:700;
  }
  .sidebar-agent span{display:block;font-size:0.82rem;color:var(--gray-text);}
  .sidebar-agent strong{color:var(--navy);font-size:0.92rem;}

  .back-link{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--navy);
    font-weight:600;
    font-size:0.9rem;
    margin-bottom:20px;
  }
  .back-link:hover{color:var(--orange);}

  @media (max-width:960px){
    .detail-grid{grid-template-columns:1fr;}
    .detail-sidebar{position:static;}
    .detail-tech{grid-template-columns:1fr;}
    .gallery-thumbs{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:720px){
    .amenities-grid{grid-template-columns:1fr;}
    .gallery-main{height:280px;}
  }

  /* ===== TEMA PÁGINAS INTERNAS (cartel navy/crema) ===== */
  body.detail-page header{background:rgba(22,31,45,0.97);}
  body.detail-page nav a::after{background:var(--cream);}
  body.detail-page .whatsapp-header{background:var(--cream);color:var(--cartel-navy);}
  body.detail-page .whatsapp-header:hover{background:#fff;color:var(--cartel-navy);}

  body.detail-page .prop-badge{background:var(--cream);color:var(--cartel-navy);}
  body.detail-page .prop-badge.sample{background:rgba(255,255,255,0.85);color:var(--cartel-navy);}

  body.detail-page .detail-price{background:var(--cartel-navy);color:var(--cream);}
  body.detail-page .detail-feats span{background:var(--cream);color:var(--cartel-navy);}

  body.detail-page .btn-primary{background:var(--cream);color:var(--cartel-navy);}
  body.detail-page .btn-primary:hover{background:#fff;color:var(--cartel-navy);box-shadow:0 8px 20px rgba(22,31,45,0.25);}
  body.detail-page .btn-outline-navy{border-color:var(--cartel-navy);color:var(--cartel-navy);}
  body.detail-page .btn-outline-navy:hover{background:var(--cartel-navy);color:var(--cream);}

  body.detail-page .back-link{color:var(--cartel-navy);}
  body.detail-page .back-link:hover{color:var(--navy-light);}

  body.detail-page .detail-main h1,
  body.detail-page .detail-main h2,
  body.detail-page .detail-sidebar h3{color:var(--cartel-navy);}

  body.detail-page .sidebar-agent-icon{background:var(--cartel-navy);color:var(--cream);}
  body.detail-page .sidebar-agent strong{color:var(--cartel-navy);}

  body.detail-page .tech-card-light{border-color:var(--cream-dark);background:#fdfcf3;}
  body.detail-page .tech-card-light h4{color:var(--cartel-navy);}

  body.detail-page footer{background:var(--cartel-navy);}
  body.detail-page .wa-float{background:#25D366;}
