/* ===== FONTS ===== */
    @font-face { font-family:'PlayfairDisplay'; src:url('fonts/PlayfairDisplay-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; }
    @font-face { font-family:'PlayfairDisplay'; src:url('fonts/PlayfairDisplay-RegularItalic.ttf') format('truetype'); font-weight:400; font-style:italic; }
    @font-face { font-family:'PlayfairDisplay'; src:url('fonts/PlayfairDisplay-Medium.ttf') format('truetype'); font-weight:500; font-style:normal; }
    @font-face { font-family:'Poppins'; src:url('fonts/Poppins-Light.ttf') format('truetype'); font-weight:300; font-style:normal; }
    @font-face { font-family:'Poppins'; src:url('fonts/Poppins-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; }
    @font-face { font-family:'Poppins'; src:url('fonts/Poppins-Medium.ttf') format('truetype'); font-weight:500; font-style:normal; }

    /* ===== VARIABLES ===== */
    :root {
      --orange: #CD812C;
      --orange-cta: #CD812C;
      --hero-bg: #FAFAF6;
      --white: #ffffff;
      --black: #1a1a1a;
      --gray: #666666;
      --gray-light: #f7f7f7;
      --border: #e5e5e5;
    }

    /* ===== RESET ===== */
    *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    body { background:var(--white); color:var(--black); font-family:'Poppins',sans-serif; font-weight:300; line-height:1.65; font-size:15px; }
    img { display:block; max-width:100%; }
    button { cursor:pointer; font-family:'Poppins',sans-serif; }
    select, input { font-family:'Poppins',sans-serif; }
    a { text-decoration:none; color:inherit; }
    ul { list-style:none; }

    /* ===== NAVBAR ===== */
    .nav {
      background:var(--white);
      border-bottom:1px solid #E5E5E5;
      position:sticky; top:0; z-index:100;
    }
    .nav__inner {
      width:100%; padding:0 56px;
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center; padding-top:100px; padding-bottom:24px; height:auto; gap:0;
    }
    .nav__logo { height:108px; width:auto; flex-shrink:0; }
    /* Center the nav links in the middle column */
    .nav__links {
      display:flex; gap:44px; justify-content:center; align-items:center;
    }
    .nav__links li {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:18px;
      color:var(--black); cursor:pointer; transition:color .2s; white-space:nowrap;
    }
    .nav__links li:hover { color:var(--orange); }
    .nav__right { display:flex; align-items:center; gap:20px; }
    .btn-contact {
      background:var(--orange); color:var(--white);
      border:2px solid var(--orange); border-radius:30px;
      padding:10px 28px; font-size:14px; font-weight:400;
      transition:all .2s; white-space:nowrap;
    }
    .btn-contact:hover { background:transparent; color:var(--orange); }
    .nav__social { display:flex; gap:8px; align-items:center; }
    .nav__social a { display:flex; align-items:center; }
    /* SVGs have correct orange fill already — no filter needed */
    .nav__social img { width:30px; height:30px; object-fit:contain; }

    /* ===== HERO ===== */
    .hero { background:var(--hero-bg); }
    .hero__top {
      max-width:1180px; margin:0 auto; padding:60px 32px 0;
      display:grid; grid-template-columns:1fr 440px; gap:48px; align-items:start;
    }
    .hero__right { display:flex; flex-direction:column; gap:0; }
    /* Full-width house image below the text+form block */
    .hero__img-wrap {
      max-width:1180px; margin:0 auto; padding:0 32px 0;
    }
    .hero__img-wrap img {
      width:100%; height:380px; object-fit:cover; object-position:center 40%;
      border-radius:10px; display:block;
    }
.hero__left { padding-right:80px; }
    .hero__title {
      font-family:'PlayfairDisplay',serif; font-size:clamp(30px,3.2vw,48px);
      font-weight:400; color:var(--black); line-height:1.18; margin-bottom:18px;
    }
    .hero__sub {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:18px;
      color:var(--gray); margin-bottom:10px; line-height:1.6;
    }
    .hero__sub span { color:var(--orange); }
    /* Form card */
    .form-card {
      background:var(--white); border-radius:10px;
      box-shadow:0 6px 30px rgba(0,0,0,0.10); padding:24px 22px;
      position:relative; top:-8px;
    }
    .form-card__row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
    .form-card__row--single { grid-template-columns:1fr; }
    .fi {
      width:100%; padding:9px 14px; border:1.5px solid var(--border); border-radius:30px;
      font-family:'Poppins',sans-serif; font-weight:300; font-size:13px; color:var(--black);
      background:var(--white); outline:none; appearance:none;
      transition:border-color .2s;
    }
    select.fi {
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat:no-repeat; background-position:right 14px center;
      padding-right:34px;
    }
    .fi:focus { border-color:var(--orange); }
    .fi::placeholder { color:#bbb; }
    .btn-buscar {
      width:100%; padding:12px; background:var(--orange); color:var(--white);
      border:none; border-radius:30px; font-size:14px; font-weight:400;
      margin-bottom:10px; transition:opacity .2s;
    }
    .btn-buscar:hover { opacity:.88; }
    .form-note { font-size:11.5px; color:#aaa; text-align:center; }



    /* ===== TE BRINDAMOS ===== */
    .brindamos {
      background:var(--white); padding:64px 0 0;
    }
    .brindamos__inner {
      max-width:1180px; margin:0 auto; padding:0 32px;
    }
    .eyebrow {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:11px;
      letter-spacing:.14em; text-transform:uppercase; color:var(--orange);
      margin-bottom:8px;
    }
    .section-h {
      font-family:'PlayfairDisplay',serif; font-weight:400;
      font-size:clamp(24px,2.8vw,38px); color:var(--black); margin-bottom:52px;
    }
    .brindamos__grid {
      display:grid; grid-template-columns:repeat(6,1fr); gap:16px;
      text-align:center;
    }
    .bi { display:flex; flex-direction:column; align-items:center; gap:10px; }
    .bi__icon { color:#FD8700; margin-bottom:4px; }
    .bi__icon svg { width:38px; height:38px; stroke:#FD8700; fill:none; stroke-width:1.5; }
    .bi__title {
      font-family:'PlayfairDisplay',serif; font-size:13.5px; font-weight:400;
      color:var(--black); line-height:1.3;
    }
    .bi__text {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:12px;
      color:var(--gray); line-height:1.5; text-align:center;
    }

    /* ===== SECTION 2 IMAGE ===== */
    .sec2 { max-width:1180px; margin:48px auto 0; padding:0 32px; }
    .sec2 img { width:100%; height:380px; object-fit:cover; object-position:center; display:block; border-radius:10px; }

    /* ===== SOLUCIONES ===== */
    .solutions { background:var(--white); padding:64px 0 0; }
    .solutions__inner { max-width:1180px; margin:0 auto; padding:0 32px; }
    .solutions__sub {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:14px;
      color:var(--gray); margin-bottom:36px;
    }
    /* Flip-card grid — icon on front, text on back (3D flip on hover) */
    .sol-grid {
      display:grid; grid-template-columns:repeat(3,1fr);
      gap:0; margin-bottom:40px; border-radius:4px; overflow:hidden;
    }
    .sol-flip {
      aspect-ratio:1.6/1;
      perspective:1200px;
      border:0.5px solid rgba(255,255,255,.35);
    }
    .sol-flip__inner {
      position:relative; width:100%; height:100%;
      transform-style:preserve-3d;
      transition:transform .6s cubic-bezier(.4,.2,.2,1);
    }
    .sol-flip:hover .sol-flip__inner { transform:rotateY(180deg); }
    .sol-flip__front, .sol-flip__back {
      position:absolute; inset:0;
      backface-visibility:hidden;
      display:flex; align-items:center; justify-content:center;
    }
    .sol-flip__front {
      background:#FD9A3E;
    }
    .sol-flip__front svg { width:84px; height:84px; display:block; }
    .sol-flip__back {
      background:var(--white);
      transform:rotateY(180deg);
      flex-direction:column; align-items:flex-start; justify-content:center;
      padding:28px 26px; text-align:left;
    }
    .sol-text__title {
      font-family:'PlayfairDisplay',serif; font-size:15px; font-weight:400;
      color:var(--black); margin-bottom:6px;
    }
    .sol-text__body {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:13px;
      color:#333; line-height:1.55;
    }
    .solutions__footer-text {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:14px;
      color:var(--black); margin-top:40px; margin-bottom:18px;
      max-width:800px;
    }
    .btn-asesoria {
      display:inline-block; padding:9px 22px;
      background:var(--orange); color:var(--white);
      border:none; border-radius:4px; font-size:13px; font-weight:400;
      transition:opacity .2s;
    }
    .btn-asesoria:hover { opacity:.88; }
    .btn-asesoria--outline {
      background:transparent; color:var(--orange);
      border:1.5px solid var(--orange);
    }
    .btn-asesoria--outline:hover { background:var(--orange); color:var(--white); opacity:1; }
    .btn-asesoria--white {
      background:transparent; color:var(--white);
      border:1.5px solid rgba(255,255,255,.7);
    }
    .btn-asesoria--white:hover { background:rgba(255,255,255,.15); opacity:1; }

    /* ===== CTA BANNER ===== */
    .cta { background:var(--white); margin-top:56px; padding:0 32px; }
    .cta__inner {
      max-width:1180px; margin:0 auto;
      display:grid; grid-template-columns:1fr 340px; align-items:stretch;
      min-height:230px; background:var(--orange-cta); border-radius:4px; overflow:hidden;
    }
    .cta__text { padding:48px 40px 48px 32px; }
    .cta__title {
      font-family:'PlayfairDisplay',serif; font-size:clamp(20px,2.5vw,34px);
      font-weight:400; color:var(--white); margin-bottom:14px; line-height:1.2;
    }
    .cta__sub {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:14px;
      color:rgba(255,255,255,.88); margin-bottom:24px; line-height:1.55;
    }
    .cta__img { overflow:hidden; }
    .cta__img img { width:100%; height:100%; object-fit:cover; object-position:center top; }

    /* ===== CONTACT ===== */
    .contact { background:var(--white); padding:64px 0 0; }
    .contact__inner { max-width:1180px; margin:0 auto; padding:0 32px; }
    .contact__grid {
      display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:36px;
    }
    /* Left: info rows */
    .cinfo { display:flex; flex-direction:column; gap:12px; }
    .cinfo__row {
      background:var(--gray-light); border-radius:6px; padding:14px 16px;
      display:flex; align-items:flex-start; gap:14px;
    }
    .cinfo__icon { color:var(--orange); flex-shrink:0; margin-top:2px; }
    .cinfo__icon svg { width:18px; height:18px; stroke:var(--orange); fill:none; stroke-width:2; }
    .cinfo__label {
      font-family:'Poppins',sans-serif; font-weight:400; font-size:13px; color:var(--black);
    }
    .cinfo__val {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:13px; color:var(--gray);
    }
    /* Right: form */
    .cform {
      background:var(--white); border:1px solid var(--border); border-radius:8px;
      padding:28px 26px;
    }
    .cform__title {
      font-family:'PlayfairDisplay',serif; font-size:18px; font-weight:400;
      color:var(--black); margin-bottom:4px;
    }
    .cform__sub {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:12px;
      color:var(--gray); margin-bottom:18px;
    }
    .cform__field { margin-bottom:12px; }
    .cform__label {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:12px;
      color:var(--gray); display:block; margin-bottom:4px;
    }
    .cform__input {
      width:100%; padding:9px 14px; border:1px solid var(--border); border-radius:4px;
      font-family:'Poppins',sans-serif; font-weight:300; font-size:13px; color:var(--black);
      outline:none; transition:border-color .2s;
    }
    .cform__input:focus { border-color:var(--orange); }
    .cform__input::placeholder { color:#ccc; }
    .cform__btn {
      width:100%; padding:11px; background:var(--orange); color:var(--white);
      border:none; border-radius:4px; font-size:14px; font-weight:400; margin-top:6px;
    }
    .cform__btn:hover { opacity:.88; }
    .cform__note {
      font-size:11px; color:#bbb; text-align:center; margin-top:10px;
    }
    /* Full-width photo below contact */
    .contact__photo { margin-top:56px; }
    .contact__photo img { width:100%; height:400px; object-fit:cover; object-position:center 35%; display:block; }
    .contact__photo--mobile { display:none; }

    /* ===== FOOTER ===== */
    .footer { background:var(--orange-cta); }
    .footer__inner {
      max-width:1180px; margin:0 auto; padding:28px 32px;
      display:flex; align-items:center; gap:40px; flex-wrap:wrap;
    }
    .footer__logo { height:48px; width:auto; filter:brightness(0) invert(1); }
    .footer__links { display:flex; gap:32px; margin-left:auto; flex-wrap:wrap; }
    .footer__link {
      font-family:'Poppins',sans-serif; font-weight:300; font-size:12.5px;
      color:rgba(255,255,255,.82); cursor:pointer;
    }
    .footer__link:hover { color:var(--white); }

    /* ===== WHATSAPP ===== */
    .wa {
      position:fixed; bottom:28px; right:28px; z-index:200;
      width:54px; height:54px; background:#25d366; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      box-shadow:0 4px 16px rgba(0,0,0,.22); transition:transform .2s;
    }
    .wa:hover { transform:scale(1.08); }
    .wa img { width:28px; height:28px; }

    /* ===== RESPONSIVE ===== */
    .nav__hamburger { display:none; }
    .nav__mobile-menu { display:none; }
    @media (max-width:960px) {
      .hero__top { grid-template-columns:1fr; }
      .brindamos__grid { grid-template-columns:repeat(3,1fr); }
      .sol-grid { grid-template-columns:repeat(2,1fr); }
      .cta__inner { grid-template-columns:1fr; }
      .cta__img { display:none; }
      .contact__grid { grid-template-columns:1fr; }
      .contact__photo--mobile { display:block; }
      .contact__photo--desktop { display:none; }

      /* ===== MOBILE NAV ===== */
      .nav__inner {
        display:flex; justify-content:space-between; align-items:center;
        padding:16px 20px; height:auto;
      }
      .nav__logo { height:72px; }
      .nav__links { display:none; }
      .nav__right { display:none; }

      /* Hamburger button */
      .nav__hamburger {
        display:flex; flex-direction:column; justify-content:center;
        gap:5px; width:36px; height:36px; cursor:pointer;
        background:none; border:none; padding:4px;
      }
      .nav__hamburger span {
        display:block; width:26px; height:2px;
        background:var(--orange); border-radius:2px;
        transition:all .3s;
      }
      /* Hamburger → X when open */
      .nav--open .nav__hamburger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
      .nav--open .nav__hamburger span:nth-child(2) { opacity:0; }
      .nav--open .nav__hamburger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

      /* Mobile dropdown menu */
    .nav__mobile-menu {
        display:none; flex-direction:column;
        background:var(--white); border-top:1px solid var(--border);
        padding:20px 24px 28px; gap:0;
      }
      .nav--open .nav__mobile-menu { display:flex; }
      .nav__mobile-menu li {
        list-style:none;
        font-family:'Poppins',sans-serif; font-weight:300; font-size:18px;
        color:var(--black); padding:14px 0;
        border-bottom:1px solid var(--border); cursor:pointer;
      }
      .nav__mobile-menu li:last-of-type { border-bottom:none; }
      .nav__mobile-menu li:hover { color:var(--orange); }
      .nav__mobile-actions {
        display:flex; flex-direction:column; gap:20px;
        margin-top:24px; align-items:flex-start;
      }
      .nav__mobile-social {
        display:flex; gap:12px; align-items:center;
      }
      .nav__mobile-social img { width:36px; height:36px; }
    }
    @media (max-width:600px) {
      .brindamos__grid { grid-template-columns:repeat(2,1fr); }
      .sol-grid { grid-template-columns:1fr; }
      .footer__links { margin-left:0; }
    }

    /* ===== ANIMATIONS ===== */

    /* Hero image: slow continuous zoom */
    .hero__img-wrap img {
      animation: heroZoom 12s ease-in-out infinite alternate;
      transform-origin: center center;
    }
    @keyframes heroZoom {
      from { transform: scale(1); }
      to   { transform: scale(1.06); }
    }

    /* Base state for scroll-triggered elements */
    .anim-fade-up {
      opacity: 0;
      transform: translateY(36px);
      transition: opacity 0.85s cubic-bezier(.25,.46,.45,.94),
                  transform 0.85s cubic-bezier(.25,.46,.45,.94);
    }
    .anim-fade-up.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Staggered delay variants */
    .anim-fade-up.d1 { transition-delay: 0.10s; }
    .anim-fade-up.d2 { transition-delay: 0.22s; }
    .anim-fade-up.d3 { transition-delay: 0.34s; }
    .anim-fade-up.d4 { transition-delay: 0.46s; }
    .anim-fade-up.d5 { transition-delay: 0.58s; }
    .anim-fade-up.d6 { transition-delay: 0.70s; }

    /* Scale-in for solution cards */
    .anim-scale {
      opacity: 0;
      transform: scale(0.88);
      transition: opacity 0.75s cubic-bezier(.25,.46,.45,.94),
                  transform 0.75s cubic-bezier(.25,.46,.45,.94);
    }
    .anim-scale.visible {
      opacity: 1;
      transform: scale(1);
    }

    /* Slide from left for CTA banner */
    .anim-slide-left {
      opacity: 0;
      transform: translateX(-48px);
      transition: opacity 0.9s cubic-bezier(.25,.46,.45,.94),
                  transform 0.9s cubic-bezier(.25,.46,.45,.94);
    }
    .anim-slide-left.visible {
      opacity: 1;
      transform: translateX(0);
    }

    /* Respect reduced motion preference */
    @media (prefers-reduced-motion: reduce) {
      .anim-fade-up, .anim-scale, .anim-slide-left {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
      }
      .hero__img-wrap img { animation: none !important; }
    }

    /* ===== PHOTO PARALLAX ===== */
    /* Each photo container clips the overflow so the image can shift */
    .hero__img-wrap       { overflow: hidden; }
    .sec2                 { overflow: hidden; }
    .cta__img             { overflow: hidden; }
    .contact__photo       { overflow: hidden; }

    /* Photos start slightly scaled up so they never show edges while moving */
    .parallax-img {
      will-change: transform;
      transform: translateY(0px) scale(1.08);
      transition: transform 0.1s linear;
    }

/* -------------------------------------------------------------------------
   desktop-only / mobile-only

   El HTML de la landing ya usaba estas dos clases en las imágenes de cada
   sección, pero el CSS nunca las definía. El resultado era que el navegador
   descargaba y mostraba LAS DOS versiones de cada imagen —la de escritorio y
   la móvil— en cualquier tamaño de pantalla.

   Se usa el mismo punto de corte de 960px que el resto de la hoja.
   ------------------------------------------------------------------------- */

@media (max-width: 960px) {
  .desktop-only { display: none !important; }
}
@media (min-width: 961px) {
  .mobile-only { display: none !important; }
}
