.borveron-site{
    --petrol: #003b49;
    --petrol-dark: #002b35;
    --petrol-soft: #0d5361;
    --lime: #c4e54a;
    --lime-dark: #a9cd2f;
    --white: #ffffff;
    --canvas: #f5f7f4;
    --line: rgba(0, 59, 73, 0.14);
    --muted: rgba(0, 59, 73, 0.68);
    --muted-light: rgba(255, 255, 255, 0.72);
    --shadow: 0 24px 64px rgba(0, 43, 53, 0.14);
    --container: 1280px;
    --page-gutter: 48px;
    --header-height: 84px;
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 12px;
}

.borveron-site, .borveron-site *, .borveron-site::before, .borveron-site *::before, .borveron-site::after, .borveron-site *::after{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.borveron-site{
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 20px);
}

.borveron-site{
    min-width: 320px;
    overflow-x: clip;
    color: var(--petrol);
    background: var(--white);
    font-family: "Poppins", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.borveron-site.menu-open, .borveron-site.modal-open{
    overflow: hidden;
}

.borveron-site img, .borveron-site svg{
    display: block;
    max-width: 100%;
}

.borveron-site button, .borveron-site input, .borveron-site select{
    color: inherit;
    font: inherit;
}

.borveron-site button{
    border: 0;
}

.borveron-site a{
    color: inherit;
}

.borveron-site .container{
    width: min(calc(100% - var(--page-gutter) - var(--page-gutter)), var(--container));
    margin-inline: auto;
}

.borveron-site .skip-link{
    position: fixed;
    top: 10px;
    left: 12px;
    z-index: 3000;
    padding: 10px 15px;
    color: var(--white);
    background: var(--petrol);
    border-radius: 8px;
    text-decoration: none;
    transform: translateY(-150%);
}

.borveron-site .skip-link:focus{
    transform: translateY(0);
}

.borveron-site .sr-only{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.borveron-site :focus-visible{
    outline: 3px solid var(--lime);
    outline-offset: 3px;
}

/* Header */

.borveron-site .header{
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    min-height: var(--header-height);
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(14px);
    transition: box-shadow 0.25s ease;
}

.borveron-site .header.scrolled{
    box-shadow: 0 10px 35px rgba(0, 43, 53, 0.12);
}

.borveron-site .header-container{
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.borveron-site .logo{
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    text-decoration: none;
}

.borveron-site .logo-image{
    width: auto;
    height: 58px;
    object-fit: contain;
}

.borveron-site .navigation{
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.3vw, 34px);
}

.borveron-site .navigation-link{
    position: relative;
    padding: 12px 0;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.borveron-site .navigation-link::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 2px;
    background: var(--lime);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.borveron-site .navigation-link:hover::after, .borveron-site .navigation-link.active::after, .borveron-site .navigation-link:focus-visible::after{
    transform: scaleX(1);
}

.borveron-site .navigation-button{
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 23px;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.borveron-site .navigation-button:hover{
    transform: translateY(-2px);
    box-shadow: 0 11px 24px rgba(0, 59, 73, 0.16);
}

.borveron-site .menu-button{
    width: 46px;
    height: 46px;
    display: none;
    padding: 9px;
    background: transparent;
    cursor: pointer;
}

.borveron-site .menu-button span{
    width: 100%;
    height: 2px;
    display: block;
    margin: 6px 0;
    background: var(--petrol);
    border-radius: 999px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.borveron-site .menu-button[aria-expanded="true"] span:nth-child(1){
    transform: translateY(8px) rotate(45deg);
}

.borveron-site .menu-button[aria-expanded="true"] span:nth-child(2){
    opacity: 0;
}

.borveron-site .menu-button[aria-expanded="true"] span:nth-child(3){
    transform: translateY(-8px) rotate(-45deg);
}

.borveron-site main{
    padding-top: var(--header-height);
}

/* Buttons */

.borveron-site .button{
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 25px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.borveron-site .button:hover{
    transform: translateY(-2px);
}

.borveron-site .button-primary{
    color: var(--petrol);
    background: var(--lime);
}

.borveron-site .button-primary:hover{
    background: var(--lime-dark);
    box-shadow: 0 12px 28px rgba(0, 43, 53, 0.19);
}

.borveron-site .button-ghost{
    color: var(--white);
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.34);
}

.borveron-site .button-ghost:hover{
    background: rgba(255, 255, 255, 0.16);
}

.borveron-site .button-outline{
    color: var(--petrol);
    background: transparent;
    border-color: rgba(0, 59, 73, 0.3);
}

.borveron-site .button-outline:hover{
    color: var(--white);
    background: var(--petrol);
}

/* Hero */

.borveron-site .project-hero{
    position: relative;
    z-index: 1;
    isolation: isolate;
    min-height: 720px;
    background-color: var(--petrol);
    background-image:
        linear-gradient(90deg, rgba(0, 43, 53, 0.18) 0%, rgba(0, 43, 53, 0.08) 48%, rgba(0, 43, 53, 0.42) 100%),
        linear-gradient(0deg, rgba(0, 43, 53, 0.42) 0%, rgba(0, 43, 53, 0) 45%),
        url("img/imagen_principal.png");
    background-position: center, center, center 62%;
    background-repeat: no-repeat;
    background-size: cover;
}

.borveron-site .project-hero::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 75% 30%, rgba(196, 229, 74, 0.16), transparent 30%);
    pointer-events: none;
}

.borveron-site .project-family{
    position: absolute;
    bottom: 0;
    left: clamp(8px, 2.5vw, 46px);
    z-index: 1;
    width: clamp(420px, 38vw, 610px);
    height: auto;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(14px 22px 30px rgba(0, 43, 53, 0.3));
}

.borveron-site .project-hero-container{
    position: relative;
    z-index: 2;
    min-height: 720px;
    display: flex;
    align-items: flex-start;
    padding-top: 64px;
    padding-bottom: 56px;
}

.borveron-site .hero-copy{
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: min(100%, 460px);
    margin-left: auto;
    padding: 30px 34px;
    color: var(--white);
    background: linear-gradient(
        145deg,
        rgba(0, 43, 53, 0.58),
        rgba(0, 59, 73, 0.46)
    );
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: var(--radius-lg);
    box-shadow: 0 24px 60px rgba(0, 27, 34, 0.20);
    backdrop-filter: blur(3px) saturate(1.05);
    -webkit-backdrop-filter: blur(3px) saturate(1.05);
}

.borveron-site .hero-eyebrow{
    margin-bottom: 14px;
    color: var(--lime);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.borveron-site .hero-copy h1{
    font-size: clamp(32px, 3.2vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.borveron-site .hero-copy > p:not(.hero-eyebrow){
    max-width: 390px;
    margin-top: 14px;
    color: var(--muted-light);
    font-size: 14px;
    line-height: 1.6;
}

.borveron-site .hero-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.borveron-site .project-facts{
    position: absolute;
    right: 0;
    bottom: -66px;
    left: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(0, 43, 53, 0.16);
    overflow: hidden;
}

.borveron-site .hero-fact{
    min-width: 0;
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 22px 32px;
    border-right: 1px solid rgba(0, 59, 73, 0.12);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 180ms ease, box-shadow 180ms ease;
}

.borveron-site .hero-fact:not(.fact-location){
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    justify-content: stretch;
    background: var(--white);
}

.borveron-site .hero-fact:not(.fact-location):hover{
    background: var(--canvas);
    box-shadow: inset 0 3px 0 var(--lime);
}

.borveron-site .hero-fact:last-child{
    border-right: 0;
}

.borveron-site .fact-location{
    color: var(--white);
    background: var(--petrol);
}

.borveron-site .fact-location:hover{
    background: var(--petrol-soft);
}

.borveron-site .location-icon{
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    background: var(--lime);
    border-radius: 50%;
    box-shadow: 0 5px 14px rgba(0, 96, 139, 0.12);
}

.borveron-site .fact-type-icon{
    width: 80px;
    height: 58px;
    display: grid;
    place-items: center;
    flex: 0 0 80px;
}

.borveron-site .fact-type-icon img{
    width: auto;
    max-width: 78px;
    height: 58px;
    object-fit: contain;
    animation: borveron-location-logo-float 2.8s ease-in-out infinite;
}

.borveron-site .location-icon img{
    width: 62px;
    height: 72px;
    object-fit: contain;
    animation: borveron-location-logo-float 2.8s ease-in-out infinite;
}

@keyframes borveron-location-logo-float {
    0%,
    100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-3px) scale(1.06); }
}

.borveron-site .fact-location .location-icon{
    width: 88px;
    height: 88px;
    flex-basis: 88px;
    background: var(--white);
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(0, 27, 34, 0.22);
}

.borveron-site .fact-content{
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.borveron-site .fact-label{
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.borveron-site .fact-location .fact-label, .borveron-site .fact-location small{
    color: rgba(255, 255, 255, 0.66);
}

.borveron-site .hero-fact strong{
    font-size: clamp(19px, 1.55vw, 23px);
    line-height: 1.3;
    letter-spacing: -0.025em;
}

.borveron-site .hero-fact small{
    margin-top: 8px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.45;
}

.borveron-site .fact-location .fact-label{
    font-size: 14px;
}

.borveron-site .fact-location strong{
    font-size: clamp(21px, 1.8vw, 26px);
}

.borveron-site .fact-location small{
    display: block;
    margin-top: 9px;
    color: var(--white);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

/* Common headings */

.borveron-site .small-title{
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 17px;
    color: var(--petrol-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.borveron-site .small-title > span{
    width: 34px;
    height: 2px;
    flex: 0 0 auto;
    background: var(--lime);
}

.borveron-site .light-title{
    color: var(--white);
}

.borveron-site .section-heading{
    max-width: 820px;
    margin-bottom: 42px;
}

.borveron-site .section-heading h2, .borveron-site .lead-information h2, .borveron-site .location-information h2, .borveron-site .faq-intro h2, .borveron-site .visit-strip h2, .borveron-site .final-cta h2{
    font-size: clamp(35px, 4.25vw, 58px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.borveron-site .section-heading > p:last-child, .borveron-site .lead-information > p:not(.small-title), .borveron-site .location-information > p:not(.small-title):not(.location-address), .borveron-site .faq-intro > p:last-child{
    margin-top: 18px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
}

.borveron-site .centered-heading{
    margin-inline: auto;
    text-align: center;
}

.borveron-site .centered-heading .small-title{
    justify-content: center;
}

/* Project overview and form */

.borveron-site .lead-section{
    padding: 166px 0 110px;
}

.borveron-site .lead-container{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(370px, 470px);
    align-items: center;
    gap: clamp(50px, 8vw, 118px);
}

.borveron-site .lead-information{
    max-width: 690px;
}

.borveron-site .lead-benefits{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-top: 32px;
}

.borveron-site .lead-benefits > div{
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 19px;
    background: var(--canvas);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
}

.borveron-site .lead-benefits svg{
    width: 24px;
    flex: 0 0 24px;
    fill: none;
    stroke: var(--petrol);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.borveron-site .lead-benefits strong, .borveron-site .lead-benefits span{
    display: block;
}

.borveron-site .lead-benefits strong{
    font-size: 13px;
}

.borveron-site .lead-benefits span{
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

.borveron-site .project-services{
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 23px;
}

.borveron-site .project-services span{
    padding: 8px 14px;
    background: rgba(196, 229, 74, 0.25);
    border: 1px solid rgba(169, 205, 47, 0.4);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.borveron-site .contact-card{
    padding: clamp(28px, 4vw, 40px);
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}

.borveron-site .form-small-title, .borveron-site .information-small-title{
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.borveron-site .contact-card h2{
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.15;
    letter-spacing: -0.04em;
}

.borveron-site .form-description{
    margin: 12px 0 24px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}

.borveron-site .form-group{
    margin-bottom: 15px;
}

.borveron-site .form-group label{
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    font-weight: 700;
}

.borveron-site .form-group > input, .borveron-site .form-group select{
    width: 100%;
    height: 54px;
    padding: 0 16px;
    background: var(--canvas);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    outline: 0;
}

.borveron-site .form-group small{
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 9px;
}

.borveron-site .phone-container{
    display: grid;
    grid-template-columns: 59px 1fr;
    background: var(--canvas);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.borveron-site .phone-container > span{
    display: grid;
    place-items: center;
    color: var(--muted);
    border-right: 1px solid var(--line);
    font-size: 12px;
}

.borveron-site .phone-container input{
    width: 100%;
    height: 52px;
    padding: 0 16px;
    background: transparent;
    border: 0;
    outline: 0;
}

.borveron-site .form-group > input:focus, .borveron-site .form-group select:focus, .borveron-site .phone-container:focus-within{
    border-color: var(--lime-dark);
    box-shadow: 0 0 0 3px rgba(196, 229, 74, 0.25);
}

.borveron-site .consent-field{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.5;
    cursor: pointer;
}

.borveron-site .consent-field input{
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin-top: 1px;
    accent-color: var(--petrol);
}

.borveron-site .form-error{
    min-height: 20px;
    margin: 8px 0 2px;
    color: #9d2f27;
    font-size: 10px;
    font-weight: 600;
}

.borveron-site .form-button{
    width: 100%;
}

/* Cotizador */

.borveron-site .cotizador-section{
    padding: 0 0 124px;
    background: var(--canvas);
}

.borveron-site .cotizador-grid{
    position: relative;
    left: 50%;
    width: min(96vw, 1576px);
    display: grid;
    grid-template-columns: minmax(0, 1.17fr) minmax(0, 0.83fr);
    align-items: start;
    overflow: visible;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    transform: translateX(-50%);
}

.borveron-site .cotizador-grid--without-preview{
    width: min(92vw, 760px);
    grid-template-columns: minmax(0, 1fr);
}

.borveron-site .cotizador-form-panel{
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: clamp(38px, 4vw, 68px) clamp(30px, 4.5vw, 76px);
    min-height: clamp(700px, 48vw, 790px);
    color: var(--white);
    background: var(--petrol);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}

.borveron-site .cotizador-form-panel .form-small-title{
    color: var(--lime);
}

.borveron-site .cotizador-form-panel h2{
    max-width: 576px;
    font-size: clamp(32px, 2.7vw, 40px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.borveron-site .cotizador-form-panel h2 span{
    color: var(--lime);
}

.borveron-site .cotizador-form-panel .form-description{
    max-width: 470px;
    margin: 12px 0 22px;
    color: var(--muted-light);
    font-size: 13px;
}

.borveron-site .cotizador-form-panel #contact-form{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 576px;
    column-gap: 16px;
    align-items: start;
}

.borveron-site .cotizador-choice-picker{
    min-width: 0;
    grid-column: 1 / -1;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
}

.borveron-site .cotizador-type-field{
    grid-column: 1 / -1;
}

.borveron-site .cotizador-form-panel #contact-form .cotizador-select-field{
    position: relative;
    height: 58px;
    margin-bottom: 15px;
}

.borveron-site .cotizador-form-panel #contact-form .cotizador-select-field > label{
    position: absolute;
    top: 7px;
    left: 15px;
    z-index: 1;
    margin: 0;
    color: var(--white);
    font-size: 9px;
    font-weight: 800;
    line-height: 12px;
    text-transform: uppercase;
    pointer-events: none;
}

.borveron-site .cotizador-form-panel #contact-form .cotizador-select-field select{
    height: 58px;
    padding: 21px 46px 11px 15px;
    font-size: 12px;
    font-weight: 500;
    text-transform: none;
}

.borveron-site .cotizador-choice-picker legend{
    margin-bottom: 10px;
    color: var(--white);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.borveron-site .cotizador-choice-options{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.borveron-site .cotizador-choice-button{
    min-height: 46px;
    padding: 10px 12px;
    color: var(--muted-light);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.borveron-site .cotizador-choice-button.active, .borveron-site .cotizador-choice-button:hover{
    color: var(--petrol);
    background: var(--lime);
    border-color: var(--lime);
}

.borveron-site .cotizador-form-panel .form-required-note, .borveron-site .cotizador-form-panel .consent-field, .borveron-site .cotizador-form-panel .form-error, .borveron-site .cotizador-form-panel .form-button{
    grid-column: 1 / -1;
}

.borveron-site .cotizador-form-panel #contact-form .form-group > input, .borveron-site .cotizador-form-panel #contact-form .form-group select{
    height: 58px;
    padding: 0 15px;
    color: var(--white);
    background: rgba(0, 43, 53, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--radius-sm);
    outline: 0;
}

.borveron-site .cotizador-form-panel #contact-form .form-group select{
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.borveron-site .cotizador-form-panel #contact-form #housing-typology, .borveron-site .cotizador-form-panel #contact-form #document-type{
    appearance: none;
    padding-right: 46px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 5.75 5 5 5-5' stroke='%23c4e54a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 16px;
    cursor: pointer;
}

.borveron-site .cotizador-form-panel #contact-form .form-group select option{
    color: var(--petrol);
    background: var(--white);
}

.borveron-site .cotizador-form-panel #contact-form #housing-typology option:checked, .borveron-site .cotizador-form-panel #contact-form #document-type option:checked:not([value=""]), .borveron-site .cotizador-form-panel #contact-form #housing-typology option:hover, .borveron-site .cotizador-form-panel #contact-form #document-type option:hover, .borveron-site .cotizador-form-panel #contact-form #housing-typology option:focus, .borveron-site .cotizador-form-panel #contact-form #document-type option:focus, .borveron-site .cotizador-form-panel #contact-form #housing-typology option:active, .borveron-site .cotizador-form-panel #contact-form #document-type option:active{
    color: var(--petrol);
    background: var(--lime);
}

@supports (appearance: base-select) {
    .borveron-site .cotizador-form-panel #contact-form #housing-typology, .borveron-site .cotizador-form-panel #contact-form #document-type{
        appearance: base-select;
        display: flex;
        position: relative;
        align-items: flex-end;
        justify-content: space-between;
        padding-top: 21px;
        padding-bottom: 11px;
        background-image: none;
    }

    .borveron-site .cotizador-form-panel #contact-form #housing-typology::picker-icon, .borveron-site .cotizador-form-panel #contact-form #document-type::picker-icon{
        content: "";
        position: absolute;
        top: 50%;
        right: 20px;
        width: 16px;
        height: 16px;
        margin: 0;
        transform: translateY(-50%);
        color: transparent;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 5.75 5 5 5-5' stroke='%23c4e54a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .borveron-site .cotizador-form-panel #contact-form #housing-typology::picker(select), .borveron-site .cotizador-form-panel #contact-form #document-type::picker(select){
        appearance: base-select;
        position-area: block-end span-inline-start;
        position-try-fallbacks: none;
        padding: 6px;
        color: var(--petrol);
        background: var(--white);
        border: 1px solid var(--line);
        border-radius: var(--radius-sm);
        box-shadow: var(--shadow);
        max-height: min(280px, 40vh);
        overflow-y: auto;
    }

    .borveron-site .cotizador-form-panel #contact-form #housing-typology option, .borveron-site .cotizador-form-panel #contact-form #document-type option{
        padding: 10px 14px;
        color: var(--petrol);
        background: var(--white);
        border-radius: 6px;
    }

    .borveron-site .cotizador-form-panel #contact-form #housing-typology option:checked, .borveron-site .cotizador-form-panel #contact-form #document-type option:checked:not([value=""]), .borveron-site .cotizador-form-panel #contact-form #housing-typology option:hover, .borveron-site .cotizador-form-panel #contact-form #document-type option:hover, .borveron-site .cotizador-form-panel #contact-form #housing-typology option:focus, .borveron-site .cotizador-form-panel #contact-form #document-type option:focus, .borveron-site .cotizador-form-panel #contact-form #housing-typology option:active, .borveron-site .cotizador-form-panel #contact-form #document-type option:active{
        color: var(--petrol);
        background: var(--lime);
    }
}

.borveron-site .cotizador-form-panel #contact-form .form-group > input::placeholder{
    color: rgba(255, 255, 255, 0.86);
    font-size: 13px;
    font-weight: 800;
    opacity: 1;
}

.borveron-site .cotizador-form-panel #contact-form .form-group > input:focus, .borveron-site .cotizador-form-panel #contact-form .form-group select:focus{
    border-color: var(--lime);
    box-shadow: 0 0 0 3px rgba(196, 229, 74, 0.18);
}

.borveron-site .cotizador-form-panel #contact-form .form-group small{
    color: var(--muted-light);
}

.borveron-site .cotizador-form-panel .form-required-note{
    margin: 0 0 12px;
    color: var(--white);
    font-size: 10px;
    font-weight: 600;
}

.borveron-site .cotizador-form-panel .form-group label{
    color: var(--white);
}

.borveron-site .cotizador-form-panel .consent-field{
    color: var(--muted-light);
}

.borveron-site .cotizador-form-panel .consent-field input{
    accent-color: var(--lime);
}

.borveron-site .cotizador-form-panel .form-error{
    color: #ffd6c9;
}

.borveron-site .cotizador-form-panel .form-button{
    width: min(100%, 195px);
    min-height: 50px;
    justify-self: start;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.borveron-site .cotizador-preview{
    position: relative;
    z-index: 2;
    min-width: 0;
    width: min(calc(100% + clamp(84px, calc(50vw - 565px), 210px)), 640px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-self: start;
    margin-top: clamp(24px, 2.5vw, 42px);
    margin-left: clamp(-146px, calc(565px - 50vw), -84px);
    padding: 10px;
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: 0 22px 60px rgba(0, 43, 53, 0.12);
}

.borveron-site .cotizador-preview[hidden]{
    display: none;
}

.borveron-site .cotizador-image-wrap{
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    background: var(--canvas);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.borveron-site .cotizador-image-wrap img{
    display: block;
    width: 100%;
    height: auto;
    transition: opacity 180ms ease;
}

.borveron-site .cotizador-zoom-button{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: rgba(196, 229, 74, 0.72);
    border: 2px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(0, 43, 53, 0.24);
    opacity: 0;
    cursor: pointer;
    transform: translate(-50%, -50%) scale(0.94);
    transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.borveron-site .cotizador-image-wrap:hover .cotizador-zoom-button, .borveron-site .cotizador-zoom-button:focus-visible{
    opacity: 0.62;
    transform: translate(-50%, -50%) scale(1);
}

.borveron-site .cotizador-zoom-button:hover{
    background: rgba(196, 229, 74, 0.88);
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1.06);
}

.borveron-site .cotizador-zoom-button:focus-visible{
    outline: 3px solid var(--petrol);
    outline-offset: 3px;
}

.borveron-site .cotizador-zoom-button svg{
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
}

.borveron-site .cotizador-view-controls{
    position: absolute;
    right: 0;
    bottom: -94px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.borveron-site .cotizador-view-controls > span{
    min-width: 48px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}

.borveron-site .cotizador-arrow{
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 50%;
    font-size: 23px;
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease;
}

.borveron-site .cotizador-arrow:hover{
    background: var(--lime-dark);
    transform: translateY(-2px);
}

/* Common areas */

.borveron-site .amenities-section{
    position: relative;
    overflow: hidden;
    padding: clamp(40px, 3.4vw, 54px) 0 clamp(42px, 3.6vw, 58px);
    color: var(--petrol);
    background:
        radial-gradient(ellipse at 8% 18%, rgba(0, 59, 73, 0.035), transparent 30%),
        radial-gradient(ellipse at 92% 80%, rgba(196, 229, 74, 0.11), transparent 28%),
        var(--canvas);
}

.borveron-site .amenities-heading{
    width: 100%;
    max-width: 100%;
    margin: 0 auto clamp(22px, 2.6vw, 34px);
}

.borveron-site .amenities-title-lockup{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
}

.borveron-site .amenities-title-lockup h2{
    margin: 0;
    font-size: clamp(23px, 2.15vw, 30px);
    line-height: 1.14;
    letter-spacing: -0.035em;
    white-space: nowrap;
}

.borveron-site .amenities-title-isologo{
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 clamp(34px, 3.4vw, 44px);
    width: clamp(34px, 3.4vw, 44px);
    height: 62px;
}

.borveron-site .amenities-title-isologo img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    animation: borveron-advisor-balloon-float 3.6s ease-in-out infinite;
}

.borveron-site .amenities-features{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(22px, 3vw, 42px);
    width: min(100%, 1280px);
    margin-inline: auto;
}

.borveron-site .amenity-feature{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 24px;
    min-width: 0;
    padding: 16px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: 0 18px 42px rgba(0, 43, 53, 0.07);
    scroll-margin-top: calc(var(--header-height) + 24px);
}

.borveron-site .amenity-visual{
    position: relative;
    min-width: 0;
    margin: 0;
}

.borveron-site .amenity-photo{
    width: 100%;
    height: clamp(260px, 28vw, 370px);
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}

.borveron-site .amenity-photo--zen{
    object-position: 58% center;
}

.borveron-site .amenity-visual figcaption{
    position: absolute;
    right: 24px;
    bottom: 24px;
    padding: 6px 10px;
    color: var(--white);
    background: rgba(0, 43, 53, 0.76);
    border-radius: 999px;
    font-size: 10px;
    font-style: italic;
}

.borveron-site .amenity-copy{
    max-width: none;
    padding: 0 8px 8px;
    text-align: center;
}

.borveron-site .amenity-copy h3{
    margin-bottom: 13px;
    color: var(--petrol);
    font-size: clamp(23px, 2.15vw, 30px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.08;
    text-align: center;
}

.borveron-site .amenity-copy h3::after{
    display: block;
    width: 48px;
    height: 4px;
    margin: 14px auto 0;
    background: var(--lime-dark);
    content: "";
}

.borveron-site .amenity-copy > p:last-child{
    max-width: 370px;
    margin-inline: auto;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
}

/* Homes */

.borveron-site .homes-section{
    padding: 112px 0;
    background: var(--canvas);
}

/* Project site plan */

.borveron-site .site-plan-section{
    min-height: calc(100svh - var(--header-height));
    display: grid;
    align-items: center;
    padding: clamp(36px, 5vh, 64px) 0;
    background: var(--white);
}

.borveron-site .site-plan-container{
    max-width: 1380px;
}

.borveron-site .site-plan-layout{
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(24px, 3vw, 40px);
}

.borveron-site .site-plan-figure{
    position: relative;
    isolation: isolate;
    display: flex;
    width: min(100%, 680px);
    height: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 15px;
    box-shadow: none;
}

.borveron-site .site-plan-promo-card{
    position: absolute;
    top: clamp(-42px, -2.2vw, -26px);
    left: 50%;
    z-index: 3;
    width: min(82%, 520px);
    padding: clamp(13px, 1.3vw, 18px) clamp(16px, 2vw, 26px);
    color: var(--white);
    text-align: center;
    background: linear-gradient(145deg, var(--petrol-soft), var(--petrol-dark));
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(0, 27, 34, 0.3);
    transform: translateX(-50%);
    isolation: isolate;
    overflow: hidden;
    pointer-events: none;
}

.borveron-site .site-plan-promo-card h3{
    position: relative;
    z-index: 2;
    margin: 0;
    color: var(--white);
    font-size: clamp(18px, 1.7vw, 26px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: 0.015em;
    white-space: nowrap;
    text-transform: uppercase;
}

.borveron-site .site-plan-promo-card::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(
        from var(--borveron-hero-border-angle),
        transparent 0deg 300deg,
        rgba(196, 229, 74, 0.18) 318deg,
        var(--lime) 330deg,
        transparent 342deg 360deg
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    filter: drop-shadow(0 0 5px rgba(196, 229, 74, 0.85));
    pointer-events: none;
}

@keyframes borveron-site-plan-promo-flash {
    0%, 6%, 13%, 100% {
        box-shadow: 0 16px 34px rgba(0, 27, 34, 0.3);
        filter: brightness(1);
    }
    8% {
        box-shadow: 0 0 0 2px rgba(196, 229, 74, 0.72), 0 0 36px rgba(196, 229, 74, 0.9), 0 0 60px rgba(196, 229, 74, 0.36), 0 16px 34px rgba(0, 27, 34, 0.3);
        filter: brightness(1.2);
    }
    10% {
        box-shadow: 0 0 0 1px rgba(196, 229, 74, 0.28), 0 0 16px rgba(196, 229, 74, 0.42), 0 16px 34px rgba(0, 27, 34, 0.3);
        filter: brightness(1.06);
    }
}

.borveron-site .site-plan-image-wrap{
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 15px;
}

.borveron-site .site-plan-image{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 15px;
}

.borveron-site .site-plan-map-highlight{
    position: absolute;
    top: var(--site-plan-marker-top, 20.5%);
    left: var(--site-plan-marker-left, 34.4%);
    z-index: 1;
    width: 44px;
    height: 44px;
    border: 2px solid var(--lime);
    border-radius: 50%;
    background: rgba(196, 229, 74, 0.16);
    box-shadow: 0 0 0 5px rgba(196, 229, 74, 0.28), 0 0 18px rgba(196, 229, 74, 0.85);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(0.65);
    transition: opacity 180ms ease, transform 180ms ease;
}

.borveron-site .site-plan-image-wrap[data-active-marker] .site-plan-map-highlight{
    opacity: 1;
    animation: borveron-site-plan-map-marker-pulse 1.45s ease-in-out infinite;
}

.borveron-site .site-plan-amenity-pin{
    position: absolute;
    z-index: 4;
    display: block;
    width: clamp(48px, 4vw, 60px);
    aspect-ratio: 1;
    filter: drop-shadow(0 6px 7px rgba(0, 27, 34, 0.26));
    transform: translate(-50%, -100%);
    animation: borveron-site-plan-amenity-pin-float 2.6s ease-in-out infinite;
    transition: filter 180ms ease, transform 180ms ease;
}

.borveron-site .site-plan-amenity-pin--reading{
    top: 47.2%;
    left: 19%;
}

.borveron-site .site-plan-amenity-pin--zen{
    top: 57.4%;
    left: 15.8%;
    animation-delay: 420ms;
}

.borveron-site .site-plan-amenity-pin img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.borveron-site .site-plan-amenity-pin:hover, .borveron-site .site-plan-amenity-pin:focus-visible{
    z-index: 5;
    filter: drop-shadow(0 9px 12px rgba(0, 27, 34, 0.38));
    animation: none;
    transform: translate(-50%, -108%) scale(1.08);
}

.borveron-site .site-plan-amenity-pin:focus-visible{
    outline: 3px solid var(--white);
    outline-offset: 3px;
    border-radius: 50%;
}

@keyframes borveron-site-plan-amenity-pin-float {
    0%, 100% {
        transform: translate(-50%, -100%);
    }
    50% {
        transform: translate(-50%, -112%);
    }
}

@keyframes borveron-site-plan-map-marker-pulse {
    0%, 100% {
        box-shadow: 0 0 0 4px rgba(196, 229, 74, 0.24), 0 0 14px rgba(196, 229, 74, 0.7);
        transform: translate(-50%, -50%) scale(0.96);
    }
    50% {
        box-shadow: 0 0 0 9px rgba(196, 229, 74, 0.34), 0 0 24px rgba(196, 229, 74, 0.95);
        transform: translate(-50%, -50%) scale(1.08);
    }
}

.borveron-site .site-plan-content{
    min-width: 0;
}

.borveron-site .site-plan-main-heading.section-heading{
    max-width: none;
    margin: 0 auto clamp(18px, 2.5vh, 28px);
}

.borveron-site .site-plan-title-lockup{
    position: relative;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
}

.borveron-site .site-plan-title-lockup h2{
    margin: 0;
    font-size: clamp(23px, 2.15vw, 30px);
    line-height: 1.14;
    letter-spacing: -0.035em;
}

.borveron-site .site-plan-title-isologo{
    position: absolute;
    top: 50%;
    right: calc(100% + 12px);
    width: clamp(48px, 4.5vw, 60px);
    height: 82px;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    pointer-events: none;
}

.borveron-site .site-plan-title-isologo img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    animation: borveron-advisor-balloon-float 3.6s ease-in-out infinite;
}

@media (min-width: 801px) {
    .borveron-site .site-plan-figure{
        transform: translateY(-clamp(28px, 5.5vh, 48px));
    }

    .borveron-site .site-plan-main-heading.section-heading{
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
        gap: clamp(24px, 3vw, 40px);
    }

    .borveron-site .site-plan-title-lockup{
        grid-column: 2;
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
        margin: 0;
    }

    .borveron-site .site-plan-title-isologo{
        position: static;
        flex: 0 0 clamp(34px, 3.4vw, 44px);
        width: clamp(34px, 3.4vw, 44px);
        height: 62px;
        transform: none;
    }

    .borveron-site .site-plan-promo-card{
        animation: borveron-site-plan-promo-flash 6s linear infinite;
    }

    .borveron-site .site-plan-promo-card::before{
        animation: borveron-hero-border-ray 6s linear infinite;
    }
}

.borveron-site .site-plan-details{
    display: grid;
    gap: 12px;
}

.borveron-site .site-plan-building-card{
    position: relative;
    padding: 0;
    overflow: visible;
}

.borveron-site .site-plan-detail-heading{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    padding: 0 150px;
    color: var(--petrol);
    background: transparent;
}

.borveron-site .site-plan-building-name{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.borveron-site .site-plan-building-icon{
    width: 25px;
    height: 25px;
    display: block;
    object-fit: contain;
}

.borveron-site .site-plan-building-title{
    text-align: center;
}

.borveron-site .site-plan-detail-heading h3{
    color: var(--petrol);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    text-align: center;
}

.borveron-site .site-plan-parking{
    position: absolute;
    right: 16px;
    display: grid;
    justify-items: center;
    gap: 2px;
    padding: 6px 12px;
    color: var(--petrol);
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 12px;
    line-height: 1.15;
    text-align: center;
}

.borveron-site .site-plan-parking > span{
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
}

.borveron-site .site-plan-parking strong{
    color: var(--petrol);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.borveron-site .site-plan-marker{
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: inline-grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 50%;
    font-size: 11px;
    font-weight: 800;
}

.borveron-site .site-plan-marker[data-marker="B"]{ background: #f2a51a; }
.borveron-site .site-plan-marker[data-marker="C"]{ background: #ff8218; }
.borveron-site .site-plan-marker[data-marker="D"]{ background: #f04945; }
.borveron-site .site-plan-marker[data-marker="E"]{ background: #e74e9c; }
.borveron-site .site-plan-marker[data-marker="F"]{ background: #ae78ba; }
.borveron-site .site-plan-marker[data-marker="G"]{ background: #7788ce; }
.borveron-site .site-plan-marker[data-marker="H"]{ background: #39aeda; }
.borveron-site .site-plan-marker[data-marker="I"]{ background: #68c8b7; }

.borveron-site .site-plan-apartment-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px 10px;
    margin: 0;
    padding: 0;
    overflow: visible;
}

.borveron-site .site-plan-area-list{
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.borveron-site .site-plan-area-list li{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 3px 0;
    border-bottom: 1px solid rgba(0, 59, 73, 0.08);
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.25;
}

.borveron-site .site-plan-area-list li:last-child{
    border-bottom: 0;
}

.borveron-site .site-plan-area-list strong{
    flex: 0 0 auto;
    color: var(--petrol);
    font-size: inherit;
    font-weight: 700;
    white-space: nowrap;
}

.borveron-site .site-plan-building-area-list li{
    gap: 4px;
    font-size: 9.5px;
}

.borveron-site .site-plan-house-section-heading{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4px 2px 1px;
}

.borveron-site .site-plan-house-section-heading h3{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0;
    color: var(--petrol);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.borveron-site .site-plan-house-section-heading img{
    width: 25px;
    height: 25px;
    display: block;
    object-fit: contain;
}

.borveron-site .site-plan-house-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px 10px;
}

@media (max-width: 1200px) {
    .borveron-site .site-plan-apartment-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .site-plan-house-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .site-plan-detail-heading{
        min-height: 0;
        padding: 12px 12px 44px;
    }

    .borveron-site .site-plan-parking{
        right: 50%;
        bottom: 7px;
        transform: translateX(50%);
    }
}

.borveron-site .site-plan-house-card{
    position: relative;
    isolation: isolate;
    min-width: 0;
    height: 128px;
    padding: 12px;
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 14px;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.borveron-site .site-plan-apartment-card{
    height: 148px;
    cursor: pointer;
}

.borveron-site .site-plan-house-card::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(
        from var(--borveron-hero-border-angle),
        transparent 0deg 292deg,
        rgba(196, 229, 74, 0.28) 310deg,
        var(--lime) 328deg,
        transparent 345deg 360deg
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    opacity: 0;
    filter: drop-shadow(0 0 5px rgba(196, 229, 74, 0.8));
    pointer-events: none;
    transition: opacity 180ms ease;
}

.borveron-site .site-plan-house-card:hover, .borveron-site .site-plan-house-card:focus-visible{
    border-color: transparent;
    box-shadow: 0 7px 20px rgba(0, 43, 53, 0.11);
}

.borveron-site .site-plan-house-card:hover::after, .borveron-site .site-plan-house-card:focus-visible::after{
    opacity: 1;
    animation: borveron-hero-border-ray 3.8s linear infinite;
}

.borveron-site .site-plan-house-card:focus-visible{
    outline: 2px solid var(--lime-dark);
    outline-offset: 2px;
}

.borveron-site .site-plan-house-card h4{
    position: absolute;
    top: 50%;
    right: 8px;
    left: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    color: var(--petrol);
    font-size: 15px;
    line-height: 1.2;
    transform: translateY(-50%);
    transition: top 180ms ease, transform 180ms ease;
}

.borveron-site .site-plan-house-card .site-plan-marker{
    width: 25px;
    height: 25px;
    flex-basis: 25px;
    font-size: 12px;
}

.borveron-site .site-plan-house-card .site-plan-area-list li{
    padding: 2px 0;
    font-size: 10.5px;
}

.borveron-site .site-plan-apartment-card .site-plan-area-list li{
    padding: 1px 0;
    font-size: 9.5px;
}

.borveron-site .site-plan-house-card .site-plan-area-list strong{
    font-weight: 700;
}

.borveron-site .site-plan-house-card .site-plan-area-list{
    position: absolute;
    right: 12px;
    bottom: 9px;
    left: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.borveron-site .site-plan-house-card:hover h4, .borveron-site .site-plan-house-card:focus-visible h4{
    top: 9px;
    transform: none;
}

.borveron-site .site-plan-house-card:hover .site-plan-area-list, .borveron-site .site-plan-house-card:focus-visible .site-plan-area-list{
    opacity: 1;
    transform: translateY(0);
}

@media (hover: none), (pointer: coarse) {
    .borveron-site .site-plan-house-card{
        height: auto;
        min-height: 0;
        padding: 11px 13px;
        overflow: visible;
    }

    .borveron-site .site-plan-house-card h4{
        position: static;
        margin-bottom: 7px;
        transform: none;
    }

    .borveron-site .site-plan-house-card .site-plan-area-list{
        position: static;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }
}

.borveron-site .site-plan-zoom{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border: 2px solid var(--white);
    border-radius: 50%;
    box-shadow: 0 8px 22px rgba(0, 43, 53, 0.18);
    opacity: 0;
    cursor: pointer;
    transform: translate(-50%, -50%) scale(0.94);
    transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.borveron-site .site-plan-image-wrap:hover .site-plan-zoom, .borveron-site .site-plan-zoom:focus-visible{
    opacity: 0.72;
    transform: translate(-50%, -50%) scale(1);
}

.borveron-site .site-plan-zoom:hover{
    background: var(--lime-dark);
    opacity: 0.94;
    transform: translate(-50%, -50%) scale(1.06);
}

.borveron-site .site-plan-zoom:focus-visible{
    outline: 3px solid var(--petrol);
    outline-offset: 3px;
}

.borveron-site .site-plan-zoom svg{
    width: 26px;
    height: 26px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
}

@media (hover: none) {
    .borveron-site .site-plan-zoom{
        opacity: 0.72;
        transform: translate(-50%, -50%) scale(1);
    }
}

@media (max-width: 800px) {
    .borveron-site .site-plan-section{
        min-height: 0;
        padding: 64px 0;
    }

    .borveron-site .site-plan-layout{
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .borveron-site .site-plan-details{
        width: min(100%, 640px);
        margin-inline: auto;
    }

    .borveron-site .site-plan-title-lockup{
        width: 100%;
    }

    .borveron-site .site-plan-title-lockup h2{
        width: calc(100% - 52px);
        margin-inline: auto;
    }

    .borveron-site .site-plan-title-isologo{
        right: auto;
        left: 0;
        width: 34px;
        height: 56px;
    }

    .borveron-site .site-plan-figure{
        width: min(100%, 560px);
        height: auto;
        display: flex;
        flex-direction: column;
        justify-self: center;
    }

    .borveron-site .site-plan-promo-card{
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: min(82%, 360px);
        margin: 0 auto 14px;
        transform: none;
        order: 0;
    }

    .borveron-site .site-plan-image-wrap{
        order: 1;
    }

    .borveron-site .site-plan-image-wrap{
        height: auto;
    }

    .borveron-site .site-plan-image{
        height: auto;
        object-fit: contain;
    }

    .borveron-site .site-plan-house-grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.borveron-site .home-tabs{
    width: fit-content;
    display: flex;
    gap: 5px;
    margin-bottom: 28px;
    padding: 5px;
    background: rgba(0, 59, 73, 0.11);
    border-radius: 999px;
}

.borveron-site .home-tab{
    padding: 12px 28px;
    color: var(--muted);
    background: transparent;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.borveron-site .home-tab.active{
    color: var(--white);
    background: var(--petrol);
}

.borveron-site .home-panel{
    min-height: 560px;
    display: none;
    grid-template-columns: minmax(0, 1.1fr) minmax(390px, 0.9fr);
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: 0 22px 55px rgba(0, 43, 53, 0.1);
    overflow: hidden;
}

.borveron-site .home-panel.active{
    display: grid;
}

.borveron-site .home-visual{
    position: relative;
    min-height: 560px;
    display: flex;
    align-items: flex-end;
    padding: 38px;
    color: var(--white);
    background-color: var(--petrol);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.borveron-site .home-visual::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(0, 43, 53, 0.86) 100%);
}

.borveron-site .houses-visual{
    background-image: linear-gradient(140deg, rgba(0, 59, 73, 0.08), rgba(0, 59, 73, 0.26)), url("img/portada_render.png");
}

.borveron-site .apartments-visual{
    background-image: linear-gradient(140deg, rgba(0, 59, 73, 0.08), rgba(0, 59, 73, 0.26)), url("img/imagen_principal.png");
}

.borveron-site .image-label{
    position: absolute;
    top: 24px;
    left: 24px;
    z-index: 2;
    padding: 9px 15px;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.borveron-site .visual-caption{
    position: relative;
    z-index: 2;
}

.borveron-site .visual-caption small, .borveron-site .visual-caption strong{
    display: block;
}

.borveron-site .visual-caption small{
    color: var(--lime);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.borveron-site .visual-caption strong{
    margin-top: 5px;
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1;
    letter-spacing: -0.05em;
}

.borveron-site .home-information{
    align-self: center;
    padding: clamp(36px, 5vw, 62px);
}

.borveron-site .home-information h3{
    font-size: clamp(30px, 3.5vw, 44px);
    line-height: 1.12;
    letter-spacing: -0.045em;
}

.borveron-site .information-description{
    margin: 17px 0 24px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.72;
}

.borveron-site .home-metrics{
    display: grid;
    grid-template-columns: 1.4fr 0.7fr 0.7fr;
    gap: 8px;
    margin-bottom: 24px;
}

.borveron-site .home-metrics > div{
    padding: 13px;
    background: var(--canvas);
    border-radius: 12px;
}

.borveron-site .home-metrics strong, .borveron-site .home-metrics span{
    display: block;
}

.borveron-site .home-metrics strong{
    font-size: 14px;
    line-height: 1.2;
}

.borveron-site .home-metrics span{
    margin-top: 4px;
    color: var(--muted);
    font-size: 9px;
}

.borveron-site .features{
    display: grid;
    gap: 12px;
    margin-bottom: 27px;
    list-style: none;
}

.borveron-site .features li{
    position: relative;
    padding-left: 29px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.borveron-site .features li::before{
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 50%;
    font-size: 10px;
    font-weight: 800;
}

.borveron-site .information-link, .borveron-site .text-link{
    padding: 0;
    color: var(--petrol);
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.borveron-site .information-link span, .borveron-site .text-link span{
    display: inline-block;
    margin-left: 6px;
    transition: transform 0.2s ease;
}

.borveron-site .information-link:hover span, .borveron-site .text-link:hover span{
    transform: translateX(4px);
}

/* Gallery */

.borveron-site .gallery-section{
    padding: 112px 0;
}

.borveron-site .gallery-heading-row{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.borveron-site .gallery-heading-row .section-heading{
    margin-bottom: 42px;
}

.borveron-site .gallery-heading-row .text-link{
    margin-bottom: 48px;
    white-space: nowrap;
}

.borveron-site .gallery-grid{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: 230px;
    gap: 14px;
}

.borveron-site .gallery-card{
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 22px;
    color: var(--white);
    background-color: var(--petrol);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: var(--radius-md);
    overflow: hidden;
    cursor: zoom-in;
}

.borveron-site .gallery-card::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 43, 53, 0.02) 35%, rgba(0, 43, 53, 0.84) 100%);
    transition: background 0.25s ease;
}

.borveron-site .gallery-card::after{
    content: "+";
    position: absolute;
    top: 16px;
    right: 16px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 50%;
    font-size: 20px;
    transition: transform 0.25s ease;
}

.borveron-site .gallery-card:hover::after{
    transform: rotate(90deg);
}

.borveron-site .gallery-card span{
    position: relative;
    z-index: 1;
    font-size: 14px;
    font-weight: 800;
}

.borveron-site .gallery-card-main{
    grid-column: span 7;
    grid-row: span 2;
    background-image: url("img/imagen_principal.png");
}

.borveron-site .gallery-card-houses{
    grid-column: span 5;
    background-image: url("img/portada_render.png");
}

.borveron-site .gallery-card-apartments{
    grid-column: span 5;
    background-image: url("img/imagen_principal.png");
}

.borveron-site .gallery-card-detail-one{
    grid-column: span 6;
    background-image: url("img/portada_render.png");
    background-position: 62% center;
}

.borveron-site .gallery-card-detail-two{
    grid-column: span 6;
    background-image: url("img/imagen_principal.png");
    background-position: 38% center;
}

.borveron-site .reference-note{
    margin-top: 14px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.5;
}

/* Visit CTA */

.borveron-site .visit-strip{
    padding: 0 0 112px;
}

.borveron-site .visit-strip-container{
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 48px;
    padding: clamp(28px, 4vw, 48px) clamp(32px, 5vw, 60px);
    color: var(--white);
    background: var(--petrol);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.borveron-site .visit-strip-globe{
    --globe-shift: 0px;
    --globe-zigzag: 18px;
    position: absolute;
    top: 110%;
    left: 8px;
    z-index: 1;
    width: clamp(68px, 6vw, 88px);
    height: auto;
    opacity: 0;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(196, 229, 74, 0.28));
    pointer-events: none;
    animation: borveron-project-globe-zigzag 15s linear infinite;
}

.borveron-site .visit-strip-globe--right{
    right: 8px;
    left: auto;
    --globe-shift: -100%;
    --globe-zigzag: -12px;
    animation-delay: -7.5s;
}

.borveron-site .visit-strip-container::after{
    content: "";
    position: absolute;
    z-index: 0;
    right: 140px;
    bottom: -190px;
    width: 300px;
    height: 300px;
    border: 42px solid rgba(196, 229, 74, 0.09);
    border-radius: 50%;
}

.borveron-site .visit-strip h2{
    max-width: 820px;
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.12;
}

.borveron-site .visit-strip .button, .borveron-site .visit-strip-container > div{
    position: relative;
    z-index: 2;
}

/* Location */

.borveron-site .location-section{
    position: relative;
    overflow: hidden;
    padding: 48px 0 76px;
    color: var(--petrol);
    background: #e8f0ee;
}

.borveron-site .location-grid{
    display: grid;
    grid-template-columns: minmax(0, 0.44fr) minmax(0, 0.56fr);
    align-items: center;
    column-gap: clamp(12px, 1.4vw, 20px);
    row-gap: 24px;
}

.borveron-site .location-topbar{
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
}

.borveron-site .location-information{
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(10px, 1.1vw, 16px);
}

.borveron-site .location-information h2{
    margin: 0;
    color: var(--petrol);
    font-size: clamp(30px, 2.8vw, 40px);
    line-height: 1;
    letter-spacing: -0.03em;
    white-space: nowrap;
}

.borveron-site .location-address{
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 0;
    color: var(--petrol);
    font-size: clamp(14px, 1.15vw, 17px);
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
}

.borveron-site .location-address .location-pin-icon{
    width: 36px;
    height: 44px;
    flex: 0 0 36px;
    object-fit: contain;
}

.borveron-site .location-actions{
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.borveron-site .location-how-to{
    margin-right: 2px;
    color: var(--petrol);
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.borveron-site .location-route-link{
    min-width: 130px;
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 12px;
    color: var(--petrol);
    background: var(--white);
    border: 1px solid rgba(0, 59, 73, 0.14);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.borveron-site .location-route-link:hover{
    color: var(--petrol);
    background: var(--lime);
    transform: translateY(-2px);
}

.borveron-site .location-route-link svg{
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.borveron-site .location-route-link .location-waze-icon, .borveron-site .location-route-link .location-maps-icon{
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    object-fit: contain;
}

.borveron-site .map-card{
    width: min(100%, 740px, max(280px, calc(100vh - 240px)));
    width: min(100%, 740px, max(280px, calc(100svh - 240px)));
    grid-column: 1;
    justify-self: center;
    margin: 0;
    padding: 0;
    background: var(--white);
    border: 5px solid var(--white);
    border-radius: 30px;
    filter: drop-shadow(0 24px 38px rgba(0, 0, 0, 0.2));
}

.borveron-site .map-card img{
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    border-radius: 24px;
}

.borveron-site .map-zoom-button{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: rgba(196, 229, 74, 0.72);
    border: 2px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgba(0, 43, 53, 0.24);
    opacity: 0;
    cursor: pointer;
    transform: translate(-50%, -50%) scale(0.94);
    transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.borveron-site .map-card:hover .map-zoom-button, .borveron-site .map-zoom-button:focus-visible{
    opacity: 0.62;
    transform: translate(-50%, -50%) scale(1);
}

.borveron-site .map-zoom-button:hover{
    background: rgba(196, 229, 74, 0.88);
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1.06);
}

.borveron-site .map-zoom-button:focus-visible{
    outline: 3px solid var(--petrol);
    outline-offset: 3px;
}

.borveron-site .map-zoom-button svg{
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 2;
}

@media (hover: none) {
    .borveron-site .map-zoom-button{
        opacity: 0.62;
        transform: translate(-50%, -50%) scale(1);
    }
}

.borveron-site .location-nearby{
    grid-column: 2;
    width: min(100%, 760px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    justify-self: center;
    align-self: stretch;
}

.borveron-site .location-nearby-intro{
    color: var(--petrol);
    text-align: center;
}

.borveron-site .location-nearby-isotype{
    width: 56px;
    height: 56px;
    display: block;
    margin: 0 auto 10px;
    object-fit: contain;
}

.borveron-site .location-nearby-intro h3{
    max-width: 680px;
    margin: 0;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.1;
}

.borveron-site .location-nearby-intro > p:last-child{
    max-width: 640px;
    margin: 7px auto 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.borveron-site .location-highlights{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.borveron-site .location-highlights li{
    min-width: 0;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 6px;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.borveron-site .location-highlights svg{
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.borveron-site .location-place-icon{
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    object-fit: contain;
}

.borveron-site .location-appointment{
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(22px, 3vw, 42px);
    margin-top: 8px;
    padding: 22px clamp(22px, 3vw, 42px);
    background: #dce3e0;
    border: 1px solid rgba(0, 59, 73, 0.14);
    border-radius: var(--radius-lg);
}

.borveron-site .location-appointment-prompt{
    display: flex;
    align-items: center;
    gap: clamp(16px, 2vw, 26px);
    min-width: 0;
}

.borveron-site .location-appointment-icon{
    width: 72px;
    height: 104px;
    flex: 0 0 72px;
    display: grid;
    place-items: center;
    background: transparent;
}

.borveron-site .location-appointment-balloon{
    width: 72px;
    height: 104px;
    display: grid;
    place-items: center;
    transform-origin: 50% 84%;
    animation: borveron-advisor-balloon-float 3.6s ease-in-out infinite;
}

.borveron-site .location-appointment-icon img{
    width: 72px;
    height: 104px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 5px 7px rgba(0, 43, 53, 0.16));
}

.borveron-site .location-appointment-icon[data-balloon="gina"] img{
    transform: scale(1.42);
    transform-origin: center;
}

.borveron-site .location-appointment-icon.is-changing .location-appointment-balloon{
    animation: borveron-advisor-balloon-arrive 650ms ease-out,
        borveron-advisor-balloon-float 3.6s ease-in-out 650ms infinite;
}

@keyframes borveron-advisor-balloon-float {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
    50% { transform: translate3d(0, -6px, 0) rotate(2deg); }
}

@keyframes borveron-advisor-balloon-arrive {
    0% { opacity: 0.5; transform: translate3d(0, 10px, 0) scale(0.88) rotate(-5deg); }
    65% { opacity: 1; transform: translate3d(0, -4px, 0) scale(1.04) rotate(2deg); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1) rotate(-1deg); }
}

.borveron-site .location-appointment-prompt h2{
    max-width: 560px;
    color: var(--petrol);
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.18;
    letter-spacing: -0.025em;
}

.borveron-site .location-appointment-prompt p{
    margin-top: 8px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.45;
}

.borveron-site .location-appointment-main{
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(14px, 1.8vw, 26px);
}

.borveron-site .location-sales-contact{
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 13px;
}

.borveron-site .location-advisor-carousel{
    min-width: 0;
    flex: 1 1 auto;
}

.borveron-site .location-advisor-dots{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0;
    gap: 5px;
}

.borveron-site .location-advisor-dot:focus-visible{
    outline: 2px solid var(--petrol);
    outline-offset: 3px;
}

.borveron-site .location-advisor-dot{
    width: 14px;
    height: 14px;
    display: grid;
    place-items: center;
    background: transparent;
    cursor: pointer;
}

.borveron-site .location-advisor-dot::after{
    content: "";
    width: 8px;
    height: 8px;
    background: rgba(0, 59, 73, 0.28);
    border-radius: 999px;
    transition: background-color 180ms ease, transform 180ms ease;
}

.borveron-site .location-advisor-dot[aria-current="true"]::after{
    background: var(--lime);
    transform: scale(1.15);
}

.borveron-site .location-sales-mark{
    position: relative;
    width: 78px;
    height: 78px;
    flex: 0 0 78px;
    display: grid;
    place-items: center;
    overflow: visible;
    background: var(--white);
    border: 2px solid var(--white);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 43, 53, 0.14);
    isolation: isolate;
}

.borveron-site .location-sales-mark img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 35%;
    border-radius: 50%;
}

.borveron-site .location-sales-mark::after{
    content: "";
    position: absolute;
    inset: -5px;
    z-index: 2;
    padding: 4px;
    border-radius: 50%;
    background: conic-gradient(
        from var(--borveron-hero-border-angle),
        transparent 0deg 292deg,
        rgba(196, 229, 74, 0.32) 310deg,
        var(--lime) 328deg,
        rgba(196, 229, 74, 0.2) 340deg,
        transparent 352deg 360deg
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: borveron-hero-border-ray 3.8s linear infinite;
    filter: drop-shadow(0 0 6px rgba(196, 229, 74, 0.95)) drop-shadow(0 0 12px rgba(196, 229, 74, 0.55));
    pointer-events: none;
}

.borveron-site .location-sales-copy{
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--petrol);
}

.borveron-site .location-sales-copy strong{
    font-size: 17px;
}

.borveron-site .location-sales-copy span{
    color: var(--muted);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.borveron-site .location-contact-actions{
    display: flex;
    align-items: center;
    gap: 12px;
}

.borveron-site .location-contact-action{
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 50%;
    transition: transform 180ms ease, background-color 180ms ease;
}

.borveron-site .location-contact-action:hover{
    background: var(--lime-dark);
    transform: translateY(-2px);
}

.borveron-site .location-contact-email{
    cursor: default;
}

.borveron-site .location-contact-email:hover{
    background: var(--lime);
    transform: none;
}

.borveron-site .location-contact-action img{
    display: block;
    width: 23px;
    height: 23px;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 1100px) {
    .borveron-site{
        --page-gutter: 24px;
    }

    .borveron-site .location-grid{
        grid-template-columns: minmax(0, 1fr);
    }

    .borveron-site .location-topbar{
        flex-wrap: wrap;
        gap: 14px;
    }

    .borveron-site .location-information{
        flex: 1 1 100%;
    }

    .borveron-site .location-actions{
        margin-left: auto;
    }

    .borveron-site .map-card{
        justify-self: center;
        margin-inline: auto;
    }

    .borveron-site .location-nearby{
        grid-column: 1;
        width: min(100%, 780px);
        justify-self: center;
    }

    .borveron-site .location-appointment{
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 22px 28px;
    }

    .borveron-site .location-appointment-main{
        width: min(100%, 760px);
        margin-inline: auto;
    }
}

@media (max-width: 920px) {
    .borveron-site .location-grid{
        grid-template-columns: minmax(0, 1fr);
    }

    .borveron-site .map-card{
        grid-column: 1;
        justify-self: center;
        margin-inline: auto;
    }

    .borveron-site .location-highlights{
        width: 100%;
    }

    .borveron-site .location-nearby{
        grid-column: 1;
        width: min(100%, 560px);
        justify-self: center;
    }

}

@media (max-width: 600px) {
    .borveron-site .site-plan-house-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .location-highlights{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .location-nearby-isotype{
        width: 48px;
        height: 48px;
    }

    .borveron-site .location-nearby-intro h3{
        font-size: clamp(24px, 6vw, 30px);
    }

    .borveron-site .location-appointment{
        padding: 22px 18px;
    }

    .borveron-site .location-appointment-prompt{
        flex-direction: column;
        align-items: center;
        gap: 8px;
        text-align: center;
    }

    .borveron-site .location-appointment-prompt > div{
        width: 100%;
    }

    .borveron-site .location-appointment-icon{
        width: 50px;
        height: 76px;
        flex-basis: 50px;
    }

    .borveron-site .location-appointment-icon img{
        width: 54px;
        height: 76px;
    }

    .borveron-site .location-appointment-balloon{
        width: 54px;
        height: 76px;
    }

    .borveron-site .location-appointment-prompt h2{
        font-size: 22px;
    }

    .borveron-site .location-appointment-prompt p{
        font-size: 11px;
    }

    .borveron-site .location-appointment-main{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .borveron-site .location-advisor-carousel{
        width: 100%;
        flex: 0 1 auto;
    }

    .borveron-site .location-sales-mark{
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .borveron-site .location-sales-contact{
        justify-content: center;
        gap: 10px;
    }

    .borveron-site .location-sales-copy strong{
        font-size: 15px;
    }

    .borveron-site .location-sales-copy span{
        font-size: 10px;
    }

    .borveron-site .location-advisor-dots{
        flex-direction: row;
    }

    .borveron-site .location-contact-actions{
        justify-content: center;
        gap: 11px;
    }

    .borveron-site .location-contact-action{
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }
}

/* FAQ */

.borveron-site .faq-section{
    padding: 112px 0;
}

.borveron-site .faq-grid{
    display: grid;
    grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(50px, 8vw, 120px);
}

.borveron-site .faq-intro{
    position: sticky;
    top: calc(var(--header-height) + 30px);
}

.borveron-site .faq-list{
    border-top: 1px solid var(--line);
}

.borveron-site .faq-list details{
    border-bottom: 1px solid var(--line);
}

.borveron-site .faq-list summary{
    position: relative;
    padding: 25px 46px 25px 0;
    font-size: 15px;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}

.borveron-site .faq-list summary::-webkit-details-marker{
    display: none;
}

.borveron-site .faq-list summary::after{
    content: "+";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    background: var(--canvas);
    border-radius: 50%;
    font-size: 18px;
    transform: translateY(-50%);
}

.borveron-site .faq-list details[open] summary::after{
    content: "−";
    color: var(--petrol);
    background: var(--lime);
}

.borveron-site .faq-list details p{
    max-width: 720px;
    padding: 0 46px 24px 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}

/* Related projects */

.borveron-site .related-projects-section{
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 22px 0 34px;
    background: var(--canvas);
}

.borveron-site .related-projects-container{
    position: relative;
    z-index: 2;
}

.borveron-site .related-projects-hummingbird{
    position: absolute;
    top: 18%;
    left: -8%;
    z-index: 1;
    width: clamp(52px, 6vw, 78px);
    height: auto;
    opacity: 0;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    animation: borveron-related-hummingbird-flight 22s ease-in-out infinite;
}

@keyframes borveron-related-hummingbird-flight {
    0% {
        top: 18%;
        left: -8%;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(-18deg) scale(0.85);
    }
    8% {
        opacity: 0.95;
    }
    20% {
        top: 40%;
        left: 14%;
        transform: translate(-50%, -50%) rotate(12deg) scale(1);
    }
    34% {
        top: 22%;
        left: 32%;
        transform: translate(-50%, -50%) rotate(-12deg) scale(0.95);
    }
    49% {
        top: 54%;
        left: 49%;
        transform: translate(-50%, -50%) rotate(14deg) scale(1.05);
    }
    64% {
        top: 26%;
        left: 66%;
        transform: translate(-50%, -50%) rotate(-10deg) scale(0.92);
    }
    80% {
        top: 46%;
        left: 83%;
        transform: translate(-50%, -50%) rotate(12deg) scale(1);
    }
    92% {
        top: 20%;
        left: 102%;
        opacity: 0.95;
        transform: translate(-50%, -50%) rotate(-12deg) scale(0.9);
    }
    100% {
        top: 18%;
        left: 108%;
        opacity: 0;
        transform: translate(-50%, -50%) rotate(10deg) scale(0.85);
    }
}

.borveron-site .related-projects-heading{
    max-width: none;
    margin: 0 auto 16px;
    text-align: center;
}

.borveron-site .related-projects-logo{
    display: block;
    width: clamp(126px, 12vw, 140px);
    height: auto;
    margin: 0 auto 8px;
}

.borveron-site .related-projects-heading h2{
    color: var(--petrol);
    font-size: clamp(32px, 3.5vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.borveron-site .related-projects-grid{
    display: grid;
    max-width: 1120px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-inline: auto;
}

.borveron-site .related-project-card{
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: transform 220ms ease;
}

.borveron-site .related-project-card:hover{
    transform: translateY(-5px);
}

.borveron-site .related-project-visual{
    position: relative;
    isolation: isolate;
    flex: 0 0 auto;
    aspect-ratio: 0.798;
}

.borveron-site .related-project-visual > img:first-child{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.borveron-site .related-project-copy{
    flex: 1 0 auto;
    width: 97.5%;
    align-self: center;
    margin-top: -5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 16px 18px 18px;
    text-align: center;
    background: var(--white);
    border: 1px solid var(--line);
    border-top: 0;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 16px 38px rgba(0, 43, 53, 0.08);
}

.borveron-site .related-project-action{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.borveron-site .related-project-footer-logo{
    display: block;
    width: min(180px, 62vw);
    max-height: 54px;
    object-fit: contain;
}

.borveron-site .related-project-logo-link{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 4px 8px;
    border-radius: 10px;
    transition: opacity 180ms ease, transform 180ms ease;
}

.borveron-site .related-project-logo-link:hover{
    opacity: 0.78;
    transform: translateY(-2px);
}

.borveron-site .related-project-logo-link:focus-visible{
    outline: 3px solid var(--lime-dark);
    outline-offset: 3px;
}

.borveron-site .related-project-status{
    color: var(--petrol-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.borveron-site .related-project-copy h3{
    margin-top: 5px;
    color: var(--petrol);
    font-size: 18px;
    line-height: 1.25;
}

.borveron-site .related-project-location{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}

/* Final CTA and footer */

.borveron-site .final-cta{
    padding: 0 0 112px;
}

.borveron-site .final-cta-container{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 40px;
    padding: clamp(38px, 6vw, 68px);
    background: var(--lime);
    border-radius: var(--radius-lg);
}

.borveron-site .final-cta-container > div > p{
    margin-bottom: 10px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.borveron-site .final-cta h2{
    max-width: 800px;
    font-size: clamp(32px, 4vw, 52px);
}

.borveron-site .final-cta .button-primary{
    color: var(--white);
    background: var(--petrol);
}

.borveron-site .closing-brand-section{
    padding: 30px 0 36px;
    background: var(--canvas);
}

.borveron-site .closing-brand-row{
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(190px, 0.8fr) minmax(190px, 0.8fr);
    align-items: center;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.borveron-site .closing-message{
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 26px 20px 12px;
}

.borveron-site .closing-isotype{
    width: 72px;
    height: 112px;
    flex: 0 0 72px;
    object-fit: contain;
    animation: borveron-closing-isotype-float 3.4s ease-in-out infinite;
}

@keyframes borveron-closing-isotype-float {
    0%,
    100% { transform: translateY(0) rotate(-2deg); }
    50% { transform: translateY(-7px) rotate(2deg); }
}

.borveron-site .closing-message > div > p{
    margin-bottom: 5px;
    color: var(--petrol-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.borveron-site .closing-message h2{
    max-width: 410px;
    color: var(--petrol);
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1.14;
    letter-spacing: -0.035em;
}

.borveron-site .closing-contact-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    color: var(--petrol);
    font-size: 12px;
    font-weight: 800;
    text-decoration-color: var(--lime-dark);
    text-underline-offset: 4px;
}

.borveron-site .closing-brand-credit{
    min-height: 94px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 22px;
    border-left: 1px solid var(--line);
    text-align: center;
}

.borveron-site .closing-brand-credit > span{
    color: var(--petrol);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.borveron-site .closing-brand-credit img{
    width: min(100%, 220px);
    height: 58px;
    object-fit: contain;
}

.borveron-site .project-details-section{
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
    margin-top: 0;
}

.borveron-site .project-details-copy{
    align-self: center;
    padding: clamp(48px, 6vw, 92px) clamp(30px, 6vw, 100px);
    transform: translateY(33px);
}

.borveron-site .project-details-copy h2{
    max-width: 580px;
    font-size: clamp(23px, 2.15vw, 30px);
    line-height: 1.14;
    letter-spacing: -0.035em;
}

.borveron-site .project-details-copy > p:not(.small-title){
    max-width: 560px;
    margin-top: 16px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
}

.borveron-site .project-details-link{
    display: block;
    width: fit-content;
    margin-top: 20px;
    color: var(--petrol-soft);
    font-weight: 800;
    text-decoration: none;
}

.borveron-site .project-details-link span{
    color: var(--lime-dark);
}

.borveron-site .brochure-callout{
    width: min(100%, 470px);
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
}

.borveron-site .brochure-button{
    width: min(100%, 360px);
    flex: 1 1 360px;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 0;
    padding: 13px 20px;
    color: var(--petrol);
    background: transparent;
    border: 1px solid var(--petrol-soft);
    border-radius: var(--radius-sm);
    font-weight: 800;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.borveron-site .brochure-button:hover{
    color: var(--petrol);
    background: var(--lime);
    border-color: var(--lime);
}

.borveron-site .brochure-button svg{
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.borveron-site .project-brochure-globe{
    width: clamp(64px, 6.8vw, 88px);
    height: auto;
    flex: 0 0 clamp(64px, 6.8vw, 88px);
    object-fit: contain;
    animation: borveron-brochure-globe-float 6s ease-in-out infinite alternate;
}

@keyframes borveron-brochure-globe-float {
    from {
        transform: translate3d(-5px, 10px, 0) rotate(-8deg);
    }
    to {
        transform: translate3d(12px, -18px, 0) rotate(8deg);
    }
}

.borveron-site .project-details-highlights{
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(42px, 5vw, 76px) clamp(30px, 5.5vw, 86px);
    color: var(--white);
    background:
        linear-gradient(125deg, rgba(0, 59, 73, 0.9), rgba(0, 43, 53, 0.82)),
        url("img/imagen_principal.png") center / cover no-repeat;
}

.borveron-site .project-details-globe{
    --globe-shift: 0px;
    --globe-zigzag: 18px;
    position: absolute;
    top: 110%;
    left: 8px;
    z-index: 1;
    width: clamp(84px, 7vw, 96px);
    height: auto;
    opacity: 0;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(196, 229, 74, 0.28));
    pointer-events: none;
    animation: borveron-project-globe-zigzag 15s linear infinite;
}

.borveron-site .project-details-globe--right{
    right: 8px;
    left: auto;
    --globe-shift: -100%;
    --globe-zigzag: -12px;
    animation-delay: -10s;
}

.borveron-site .project-details-kicker{
    color: var(--lime);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.borveron-site .project-details-highlights h3{
    margin-top: 8px;
    margin-bottom: 30px;
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.borveron-site .project-highlights-grid{
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    transform: translateY(33px);
}

@keyframes borveron-project-globe-zigzag {
    0% {
        top: 110%;
        opacity: 0;
        transform: translateX(var(--globe-shift)) rotate(-8deg);
    }
    8% {
        opacity: 0.82;
    }
    22% {
        top: 78%;
        transform: translateX(calc(var(--globe-shift) + var(--globe-zigzag))) rotate(8deg);
    }
    40% {
        top: 55%;
        transform: translateX(var(--globe-shift)) rotate(-8deg);
    }
    58% {
        top: 32%;
        transform: translateX(calc(var(--globe-shift) + var(--globe-zigzag))) rotate(8deg);
    }
    76% {
        top: 9%;
        transform: translateX(var(--globe-shift)) rotate(-8deg);
    }
    90% {
        top: -9%;
        opacity: 0.82;
        transform: translateX(calc(var(--globe-shift) + var(--globe-zigzag))) rotate(8deg);
    }
    100% {
        top: -24%;
        opacity: 0;
        transform: translateX(var(--globe-shift)) rotate(-8deg);
    }
}

.borveron-site .project-highlight-card{
    min-height: 218px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 22px 18px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-md);
    transition: background-color 180ms ease, transform 180ms ease;
}

.borveron-site .project-highlight-card:nth-child(-n + 3){
    grid-column: span 2;
}

.borveron-site .project-highlight-card:nth-child(4){
    grid-column: 2 / span 2;
}

.borveron-site .project-highlight-card:nth-child(5){
    grid-column: 4 / span 2;
}

.borveron-site .project-highlight-card:hover{
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-3px);
}

.borveron-site .project-highlight-card > span{
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--lime);
    background: rgba(196, 229, 74, 0.17);
    border: 1px solid rgba(196, 229, 74, 0.35);
    border-radius: 50%;
    font-size: 21px;
    font-weight: 800;
    line-height: 1;
}

.borveron-site .project-highlight-card h4{
    max-width: 240px;
    color: var(--white);
    font-size: 15px;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
}

.borveron-site .project-highlight-card p{
    max-width: 260px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 12px;
    line-height: 1.55;
    text-align: center;
}

.borveron-site .footer{
    color: rgba(255, 255, 255, 0.7);
    background: var(--petrol-dark);
}

.borveron-site .footer-main{
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: clamp(45px, 8vw, 110px);
    padding-top: 58px;
    padding-bottom: 50px;
}

.borveron-site .footer-logo .logo-image{
    height: 58px;
}

.borveron-site .footer-column{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
}

.borveron-site .footer-column strong{
    margin-bottom: 5px;
    color: var(--white);
    font-size: 12px;
}

.borveron-site .footer-column a{
    text-decoration: none;
}

.borveron-site .footer-column a:hover{
    color: var(--lime);
}

.borveron-site .footer-bottom{
    display: flex;
    justify-content: space-between;
    gap: 25px;
    padding-top: 20px;
    padding-bottom: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 9px;
}

/* WhatsApp and gallery dialog */

.borveron-site .whatsapp-floating{
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 900;
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border: 4px solid var(--white);
    border-radius: 50%;
    box-shadow: 0 14px 34px rgba(0, 43, 53, 0.3);
    transition: transform 0.2s ease;
}

.borveron-site .whatsapp-floating:hover{
    transform: translateY(-4px) scale(1.03);
}

.borveron-site .whatsapp-floating svg{
    width: 27px;
    fill: currentColor;
}

.borveron-site .gallery-modal{
    width: min(calc(100% - 36px), 1080px);
    max-height: calc(100vh - 36px);
    margin: auto;
    padding: 0;
    background: var(--petrol-dark);
    border: 0;
    border-radius: var(--radius-md);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.borveron-site .gallery-modal::backdrop{
    background: rgba(0, 24, 30, 0.82);
    backdrop-filter: blur(6px);
}

.borveron-site .gallery-modal figure{
    display: grid;
}

.borveron-site .gallery-modal img{
    width: 100%;
    max-height: calc(100vh - 120px);
    object-fit: contain;
}

.borveron-site .gallery-modal figcaption{
    padding: 16px 22px;
    color: var(--white);
    font-size: 12px;
    font-weight: 600;
}

.borveron-site .gallery-modal-close{
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 50%;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.borveron-site .gallery-modal--fullscreen{
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    display: grid;
    place-items: center;
}

.borveron-site .gallery-modal--fullscreen figure{
    width: fit-content;
    height: fit-content;
    max-width: calc(100vw - 48px);
    max-height: calc(100dvh - 48px);
    margin: 0;
    display: block;
}

.borveron-site .gallery-modal--fullscreen img{
    width: auto;
    height: auto;
    max-width: calc(100vw - 96px);
    max-height: calc(100dvh - 96px);
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 24px 90px rgba(0, 0, 0, 0.3);
}

.borveron-site .gallery-modal--fullscreen figcaption{
    display: none;
}

/* Responsive */

@media (max-width: 1100px){
    .borveron-site .project-family {
        left: 0;
        width: clamp(390px, 43vw, 500px);
    }

    .borveron-site .hero-copy {
        width: min(100%, 500px);
    }

    .borveron-site .home-panel {
        grid-template-columns: 1fr 0.92fr;
    }
}

@media (max-width: 920px) {
    .borveron-site{
        --header-height: 76px;
    }

    .borveron-site .logo-image{
        height: 50px;
    }

    .borveron-site .menu-button{
        display: block;
    }

    .borveron-site .navigation{
        position: fixed;
        top: var(--header-height);
        right: 0;
        left: 0;
        display: grid;
        gap: 0;
        padding: 12px 18px 22px;
        background: var(--white);
        border-top: 1px solid var(--line);
        box-shadow: 0 20px 35px rgba(0, 43, 53, 0.14);
        transform: translateY(-130%);
        visibility: hidden;
        transition: transform 0.25s ease, visibility 0.25s ease;
    }

    .borveron-site .navigation.open{
        transform: translateY(0);
        visibility: visible;
    }

    .borveron-site .navigation a{
        padding: 15px 8px;
        border-bottom: 1px solid var(--line);
        font-size: 13px;
    }

    .borveron-site .navigation-link::after{
        display: none;
    }

    .borveron-site .navigation-button{
        margin-top: 12px;
        border-bottom: 0 !important;
    }

    .borveron-site .project-hero, .borveron-site .project-hero-container{
        min-height: 680px;
    }

    .borveron-site .project-family{
        width: min(52vw, 450px);
        opacity: 0.93;
    }

    .borveron-site .hero-copy{
        width: min(58vw, 480px);
        padding: 30px;
    }

    .borveron-site .hero-copy h1{
        font-size: clamp(36px, 5.5vw, 51px);
    }

    .borveron-site .project-facts{
        grid-template-columns: 1.25fr 1fr 1fr;
    }

    .borveron-site .hero-fact{
        padding: 21px 18px;
    }

    .borveron-site .lead-container, .borveron-site .faq-grid{
        grid-template-columns: 1fr;
    }

    .borveron-site .lead-information, .borveron-site .contact-card{
        max-width: 760px;
    }

    .borveron-site .home-panel{
        grid-template-columns: 1fr;
    }

    .borveron-site .home-visual{
        min-height: 460px;
    }

    .borveron-site .faq-intro{
        position: static;
    }
}

@media (max-width: 1200px) {
    .borveron-site .project-highlights-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .project-highlight-card:nth-child(-n + 3), .borveron-site .project-highlight-card:nth-child(4), .borveron-site .project-highlight-card:nth-child(5){
        grid-column: auto;
    }

    .borveron-site .project-highlight-card:last-child{
        grid-column: 1 / -1;
        justify-self: center;
        width: calc(50% - 8px);
    }

}

@media (max-width: 1300px) {
    .borveron-site .cotizador-section{
        padding: 64px 0 104px;
    }

    .borveron-site .cotizador-grid{
        left: auto;
        width: min(calc(100vw - 48px), 860px);
        grid-template-columns: 1fr;
        gap: 24px;
        margin-inline: auto;
        transform: none;
    }

    .borveron-site .cotizador-form-panel{
        padding: clamp(30px, 5.5vw, 58px);
        min-height: 0;
    }

    .borveron-site .cotizador-form-panel #contact-form{
        max-width: none;
    }

    .borveron-site .cotizador-preview{
        width: 100%;
        align-self: stretch;
        margin: 0;
        padding: 8px;
        border: 0;
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow);
    }

    .borveron-site .cotizador-view-controls{
        position: static;
        margin-top: 16px;
    }
}

/* Keep the project facts readable on narrow tablets. */
@media (min-width: 721px) and (max-width: 800px){
    .borveron-site .project-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .project-facts .fact-location {
        grid-column: 1 / -1;
    }

    .borveron-site .project-facts .hero-fact:not(.fact-location) {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
    }

    .borveron-site .project-facts .fact-type-icon {
        width: 64px;
    }
}

@media (max-width: 720px) {
    .borveron-site{
        --page-gutter: 18px;
    }

    .borveron-site .project-hero{
        min-height: auto;
        background-color: var(--canvas);
        background-image: none;
    }

    .borveron-site .project-hero::before{
        content: "";
        position: absolute;
        inset: 0 0 clamp(290px, 78vw, 330px);
        z-index: -1;
        background-image:
            linear-gradient(90deg, rgba(0, 43, 53, 0.18) 0%, rgba(0, 43, 53, 0.08) 48%, rgba(0, 43, 53, 0.42) 100%),
            linear-gradient(0deg, rgba(0, 43, 53, 0.42) 0%, rgba(0, 43, 53, 0) 45%),
            url("img/imagen_principal.png");
        background-position: center, center, 61% center;
        background-repeat: no-repeat;
        background-size: cover;
        pointer-events: none;
    }

    .borveron-site .project-hero-container{
        min-height: auto;
        display: block;
        padding-top: 32px;
        padding-bottom: 26px;
    }

    .borveron-site .project-family{
        display: none;
    }

    .borveron-site .hero-copy{
        width: 100%;
        margin: 0 0 14px;
        padding: 15px 16px;
        text-align: center;
        background: linear-gradient(
            145deg,
            rgba(0, 43, 53, 0.68),
            rgba(0, 59, 73, 0.58)
        );
        border-radius: 20px;
    }

    .borveron-site .hero-copy h1{
        font-size: clamp(27px, 7.4vw, 32px);
        line-height: 1.02;
    }

    .borveron-site .hero-eyebrow{
        margin-bottom: 7px;
        font-size: 9px;
    }

    .borveron-site .hero-copy > p:not(.hero-eyebrow){
        margin-top: 8px;
        font-size: 12px;
        line-height: 1.4;
    }

    .borveron-site .hero-actions{
        display: grid;
        grid-template-columns: 1fr;
        gap: 7px;
        margin-top: 12px;
    }

    .borveron-site .hero-actions .button{
        min-height: 42px;
        padding-block: 9px;
    }

    .borveron-site .project-facts{
        position: static;
        grid-template-columns: 1fr;
        margin-top: clamp(72px, 19vw, 94px);
        border-radius: 18px;
    }

    .borveron-site .hero-fact{
        min-height: 88px;
        justify-content: center;
        padding-inline: 18px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .borveron-site .hero-fact:not(.fact-location){
        width: min(100%, 298px);
        margin-inline: auto;
        grid-template-columns: 64px minmax(0, 1fr);
        justify-content: center;
        gap: 14px;
    }

    .borveron-site .hero-fact .fact-content{
        align-items: center;
        text-align: center;
    }

    .borveron-site .hero-fact .fact-type-icon{
        width: 64px;
        flex-basis: 64px;
    }

    .borveron-site .hero-fact:last-child{
        border-bottom: 0;
    }

    .borveron-site .lead-section, .borveron-site .amenities-section, .borveron-site .homes-section, .borveron-site .site-plan-section, .borveron-site .gallery-section, .borveron-site .location-section, .borveron-site .faq-section{
        padding: 78px 0;
    }

    .borveron-site .amenities-section{
        padding: 38px 0 44px;
    }

    .borveron-site .site-plan-section{
        min-height: 0;
        padding: 64px 0;
    }

    .borveron-site .site-plan-layout{
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .borveron-site .site-plan-figure{
        width: min(100%, 560px);
        justify-self: center;
    }

    .borveron-site .amenities-title-lockup{
        gap: 10px;
        width: 100%;
    }

    .borveron-site .amenities-title-lockup h2{
        max-width: calc(100% - 48px);
        font-size: clamp(21px, 6vw, 28px);
        white-space: normal;
    }

    .borveron-site .amenity-copy h3{
        font-size: clamp(21px, 6vw, 28px);
    }

    .borveron-site .amenities-title-isologo{
        flex-basis: 34px;
        width: 34px;
        height: 56px;
    }

    .borveron-site .amenities-features{
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .borveron-site .amenity-feature{
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
        max-width: 680px;
        margin-inline: auto;
    }

    .borveron-site .amenity-copy{
        max-width: none;
    }

    .borveron-site .amenity-photo{
        height: clamp(240px, 70vw, 340px);
    }

    .borveron-site .lead-container{
        gap: 45px;
    }

    .borveron-site .cotizador-section{
        padding: 64px 0;
    }

    .borveron-site .cotizador-grid{
        width: 100%;
        gap: 18px;
    }

    .borveron-site .cotizador-form-panel #contact-form{
        grid-template-columns: 1fr;
    }

    .borveron-site .cotizador-form-panel #contact-form > *{
        grid-column: 1;
    }

    .borveron-site .lead-benefits, .borveron-site .home-metrics{
        grid-template-columns: 1fr;
    }

    .borveron-site .home-tabs{
        width: 100%;
    }

    .borveron-site .home-tab{
        flex: 1;
        padding-inline: 10px;
    }

    .borveron-site .home-visual{
        min-height: 330px;
        padding: 26px;
    }

    .borveron-site .home-information{
        padding: 34px 23px 40px;
    }

    .borveron-site .gallery-heading-row{
        display: block;
    }

    .borveron-site .gallery-heading-row .text-link{
        display: inline-block;
        margin: -18px 0 28px;
    }

    .borveron-site .gallery-grid{
        grid-template-columns: 1fr;
        grid-auto-rows: 260px;
    }

    .borveron-site .gallery-card-main, .borveron-site .gallery-card-houses, .borveron-site .gallery-card-apartments, .borveron-site .gallery-card-detail-one, .borveron-site .gallery-card-detail-two{
        grid-column: auto;
        grid-row: auto;
    }

    .borveron-site .gallery-card-main{
        min-height: 360px;
    }

    .borveron-site .visit-strip, .borveron-site .final-cta{
        padding-bottom: 78px;
    }

    .borveron-site .visit-strip-container, .borveron-site .final-cta-container{
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 40px 24px;
    }

    .borveron-site .visit-strip-container{
        gap: 22px;
        padding: 30px 24px;
        justify-items: center;
    }

    .borveron-site .visit-strip-container > div{
        width: 100%;
        text-align: center;
    }

    .borveron-site .visit-strip-globe--right{
        right: -62px;
    }

    .borveron-site .visit-strip .button{
        justify-self: center;
    }

    .borveron-site .final-cta .button{
        justify-self: start;
    }

    .borveron-site .location-section{
        padding: 68px 0 56px;
    }

    .borveron-site .location-topbar{
        align-items: center;
        flex-direction: column;
        gap: 20px;
    }

    .borveron-site .location-information{
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
    }

    .borveron-site .location-address{
        justify-content: center;
        margin-top: 4px;
        white-space: normal;
    }

    .borveron-site .location-actions{
        flex-wrap: wrap;
        justify-content: center;
        width: min(100%, 460px);
        margin-inline: auto;
    }

    .borveron-site .location-how-to{
        flex: 0 0 100%;
        margin-right: 0;
        text-align: center;
    }

    .borveron-site .map-card{
        width: min(100%, 740px, max(280px, calc(100vh - 400px)));
        width: min(100%, 740px, max(280px, calc(100svh - 400px)));
    }

    .borveron-site .footer-main{
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .borveron-site .footer-bottom{
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 440px) {
    .borveron-site .site-plan-section{
        padding-block: 60px;
    }

    .borveron-site .site-plan-figure{
        padding: 0;
        border-radius: 13px;
    }

    .borveron-site .site-plan-promo-card{
        width: min(82%, 330px);
        padding: 14px 18px;
    }

    .borveron-site .site-plan-promo-card h3{
        font-size: clamp(14px, 4.2vw, 17px);
        line-height: 1.15;
        white-space: normal;
        text-wrap: balance;
    }

    .borveron-site .site-plan-image-wrap{
        border-radius: 13px;
    }

    .borveron-site .site-plan-image{
        border-radius: 13px;
    }

    .borveron-site .site-plan-apartment-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .borveron-site .site-plan-detail-heading{
        min-height: 0;
        padding: 12px 12px 46px;
    }

    .borveron-site .site-plan-parking{
        right: 50%;
        bottom: 8px;
        transform: translateX(50%);
    }

    .borveron-site .site-plan-zoom{
        width: 50px;
        height: 50px;
    }

    .borveron-site .logo-image{
        height: 44px;
    }

    .borveron-site .contact-card{
        padding: 26px 20px;
    }

    .borveron-site .section-heading h2, .borveron-site .lead-information h2, .borveron-site .location-information h2, .borveron-site .faq-intro h2{
        font-size: 34px;
    }

    .borveron-site .site-plan-title-lockup h2{
        font-size: 24px;
    }

    .borveron-site .location-section .location-information h2{
        font-size: clamp(34px, 9vw, 40px);
    }

    .borveron-site .location-section .location-actions{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: 10px;
    }

    .borveron-site .location-section .location-how-to{
        grid-column: 1 / -1;
    }

    .borveron-site .location-route-link{
        min-width: 0;
        min-height: 58px;
        gap: 8px;
        padding: 10px;
        font-size: 13px;
    }

    .borveron-site .location-highlights{
        width: min(100%, 420px);
    }

    .borveron-site .location-highlights li{
        gap: 8px;
        padding: 15px 8px;
        font-size: 12px;
    }

    .borveron-site .whatsapp-floating{
        right: 14px;
        bottom: 14px;
        width: 56px;
        height: 56px;
    }
}

@media (max-width: 920px) {
    .borveron-site .project-details-section{
        grid-template-columns: 1fr;
    }

    .borveron-site .project-details-copy, .borveron-site .project-details-highlights{
        padding: 52px 36px;
    }

    .borveron-site .closing-brand-row{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .closing-message{
        grid-column: 1 / -1;
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 720px) {
    .borveron-site .project-details-section{
        margin-top: 0;
    }

    .borveron-site .project-details-copy, .borveron-site .project-details-highlights{
        padding: 44px 22px;
    }

    .borveron-site .project-details-copy{
        transform: none;
        text-align: center;
    }

    .borveron-site .project-details-copy h2, .borveron-site .project-details-copy > p:not(.small-title){
        margin-inline: auto;
    }

    .borveron-site .project-details-link{
        margin-inline: auto;
    }

    .borveron-site .brochure-callout{
        justify-content: center;
        margin-inline: auto;
    }

    .borveron-site .site-plan-house-card h4{
        align-items: center;
        gap: 5px;
        margin-bottom: 3px;
        text-align: center;
    }

    .borveron-site .site-plan-house-card .site-plan-area-list li{
        justify-content: flex-start;
        gap: 6px;
        padding-block: 0;
    }

    .borveron-site .site-plan-house-card .site-plan-area-list{
        gap: 0;
        width: max-content;
        max-width: 100%;
        margin-inline: auto;
    }

    .borveron-site .site-plan-apartment-card{
        padding: 11px 13px;
    }

    .borveron-site .site-plan-apartment-card h4{
        margin-bottom: 7px;
    }

    .borveron-site .site-plan-apartment-card .site-plan-area-list{
        gap: 0;
    }

    .borveron-site .site-plan-apartment-card .site-plan-area-list li{
        padding-block: 0;
        line-height: 1.25;
    }

    .borveron-site .faq-intro{
        text-align: center;
    }

    .borveron-site .faq-intro .small-title{
        justify-content: center;
    }

    .borveron-site .faq-intro > p:last-child{
        max-width: 560px;
        margin-inline: auto;
    }

    .borveron-site .project-highlights-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        transform: none;
    }

    .borveron-site .project-highlight-card{
        min-height: 190px;
        padding: 16px;
    }

    .borveron-site .project-highlight-card h4{
        font-size: 13px;
    }

    .borveron-site .project-highlight-card p{
        font-size: 11px;
    }

    .borveron-site .closing-brand-section{
        padding: 24px 0 30px;
    }

    .borveron-site .closing-brand-row{
        grid-template-columns: 1fr;
    }

    .borveron-site .closing-message{
        gap: 12px;
        padding: 20px 4px;
    }

    .borveron-site .closing-isotype{
        width: 60px;
        height: 94px;
        flex-basis: 60px;
    }

    .borveron-site .closing-message h2{
        font-size: 22px;
    }

    .borveron-site .closing-brand-credit{
        min-height: 82px;
        border-left: 0;
        border-top: 1px solid var(--line);
    }
}

@media (max-width: 440px) {
    .borveron-site .cotizador-choice-options{
        gap: 6px;
    }

    .borveron-site .cotizador-choice-button{
        padding: 8px 4px;
        font-size: 9px;
        white-space: normal;
    }

    .borveron-site .project-highlights-grid{
        grid-template-columns: 1fr;
    }

    .borveron-site .project-highlight-card:last-child{
        grid-column: auto;
        width: 100%;
    }
}

/* Tarjeta compacta ubicada sobre el cielo */

@media (min-width: 1250px){

    .borveron-site .project-hero-container {
        position: relative;
        display: block;
        padding-top: 0;
        padding-bottom: 0;
    }

    .borveron-site .hero-copy {
        position: absolute;

        top: 30px;
        left: 52%;
        right: auto;

        width: 560px;
        max-width: calc(100% - 48px);

        margin: 0;
        padding: 22px 30px;

        transform: translateX(-50%);

        background: linear-gradient(
            145deg,
            rgba(0, 43, 53, 0.58),
            rgba(0, 59, 73, 0.46)
        );

        border: 1px solid rgba(196, 229, 74, 0.34);

        box-shadow: 0 20px 50px rgba(0, 27, 34, 0.18);

        backdrop-filter: blur(3px) saturate(1.05);
        -webkit-backdrop-filter: blur(3px) saturate(1.05);

        text-align: center;
        overflow: hidden;
        isolation: isolate;
    }

    .borveron-site .hero-copy h1 {
        font-size: clamp(38px, 2.35vw, 45px);
        line-height: 1.04;
        letter-spacing: -0.045em;
    }

    .borveron-site .hero-title-line {
        display: block;
        white-space: nowrap;
    }

    .borveron-site .hero-copy > p:not(.hero-eyebrow) {
        max-width: 500px;
        margin-top: 11px auto 0;

        font-size: 13px;
        line-height: 1.5;
        text-align: center;
    }

    .borveron-site .hero-eyebrow {
        margin-bottom: 9px;
        font-size: 10px;
        letter-spacing: 0.13em;
        text-align: center;
    }

    .borveron-site .hero-actions {
        display:  flex;
        justify-content: center;
        flex-direction: wrap;
        gap: 10px;
        margin-top: 17px;    
    }

    .borveron-site .hero-copy .button {
        min-height: 44px;
        padding: 11px 21px;
    }
}

/* Rayo lima que recorre el borde de la tarjeta principal */

@property --borveron-hero-border-angle{
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

.borveron-site .hero-copy > *{
    position: relative;
    z-index: 2;
}

.borveron-site .hero-copy::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(
        from var(--borveron-hero-border-angle),
        transparent 0deg 300deg,
        rgba(196, 229, 74, 0.18) 318deg,
        var(--lime) 330deg,
        transparent 342deg 360deg
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: borveron-hero-border-ray 4s linear infinite;
    pointer-events: none;
}

.borveron-site .hero-copy::after{
    display: none;
}

.borveron-site .map-card{
    position: relative;
    isolation: isolate;
}

.borveron-site .map-card::before, .borveron-site .site-plan-image-wrap::before{
    content: "";
    position: absolute;
    inset: -5px;
    z-index: 1;
    padding: 5px;
    border-radius: inherit;
    background: conic-gradient(
        from var(--borveron-hero-border-angle),
        transparent 0deg 300deg,
        rgba(196, 229, 74, 0.18) 318deg,
        var(--lime) 330deg,
        transparent 342deg 360deg
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: borveron-hero-border-ray 6s linear infinite;
    filter: drop-shadow(0 0 4px rgba(196, 229, 74, 0.75));
    pointer-events: none;
}

.borveron-site .site-plan-image-wrap::before{
    inset: 0;
    padding: 4px;
}

@keyframes borveron-hero-border-ray {
    to {
        --borveron-hero-border-angle: 360deg;
    }
}

@media (prefers-reduced-motion: reduce) {
    .borveron-site{
        scroll-behavior: auto;
    }

    .borveron-site, .borveron-site *, .borveron-site::before, .borveron-site *::before, .borveron-site::after, .borveron-site *::after{
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    .borveron-site .location-icon img, .borveron-site .fact-type-icon img, .borveron-site .location-appointment-icon img, .borveron-site .location-appointment-balloon, .borveron-site .footer-benefits > div > span, .borveron-site .location-appointment-icon.is-changing .location-appointment-balloon{
        animation: none;
    }

    .borveron-site .closing-isotype{
        animation: none;
    }

    .borveron-site .hero-copy::before{
        animation: none;
    }

    .borveron-site .map-card::before, .borveron-site .site-plan-image-wrap::before{
        animation: none;
    }

    .borveron-site .location-sales-mark::after{
        animation: none;
    }

    .borveron-site .site-plan-house-card::after{
        animation: none;
    }

    .borveron-site .site-plan-map-highlight{
        animation: none !important;
    }

    .borveron-site .site-plan-amenity-pin{
        animation: none;
    }

    .borveron-site .project-details-globe{
        animation: none;
    }

    .borveron-site .visit-strip-globe{
        animation: none;
        opacity: 0.82;
        top: 50%;
        transform: translateY(-50%);
    }

    .borveron-site .project-brochure-globe{
        animation: none;
    }

    .borveron-site .related-projects-hummingbird{
        display: none;
    }

    .borveron-site .site-plan-title-isologo img{
        animation: none;
    }

    .borveron-site .amenities-title-isologo img{
        animation: none;
    }

    .borveron-site .site-plan-promo-card, .borveron-site .site-plan-promo-card::before{
        animation: none;
    }

}

@media (max-width: 920px) {
    .borveron-site .related-projects-section{
        padding: 28px 0 40px;
    }

    .borveron-site .related-projects-grid{
        max-width: 760px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .related-project-card:last-child:nth-child(odd){
        width: calc((100% - 22px) / 2);
        grid-column: 1 / -1;
        justify-self: center;
    }
}

@media (max-width: 600px) {
    .borveron-site .related-projects-section{
        padding: 30px 0 42px;
    }

    .borveron-site .related-projects-heading{
        margin-bottom: 18px;
    }

    .borveron-site .related-projects-grid{
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .borveron-site .related-project-card:last-child{
        width: 100%;
        grid-column: auto;
    }

    .borveron-site .related-project-card{
        width: min(100%, 420px);
        justify-self: center;
    }
}
/* Borverón sticky project navigation */

/* Responsive footer inspired by the IFC concrete page */

.borveron-site .footer{
    position: relative;
    overflow: hidden;
    border-top: 4px solid var(--lime);
    background: #34474d;
    color: rgba(255, 255, 255, 0.76);
}

.borveron-site .footer-main{
    grid-template-columns: minmax(260px, 1.45fr) minmax(160px, 0.9fr) minmax(190px, 0.9fr) minmax(240px, 1.25fr);
    align-items: start;
    gap: clamp(24px, 3.2vw, 48px);
    padding-top: 54px;
    padding-bottom: 48px;
}

.borveron-site .footer-brand{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.borveron-site .footer-logo{
    justify-content: center;
    margin-bottom: 28px;
}

.borveron-site .footer-logo .logo-image{
    width: min(340px, 100%);
    height: auto;
    max-height: 100px;
    object-fit: contain;
    object-position: center;
}

.borveron-site .footer-brand p, .borveron-site .footer-cta p{
    max-width: 370px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 16px;
    line-height: 1.8;
}

.borveron-site .footer-parent-link{
    margin-top: 28px;
    color: #cbd0cd;
    font-size: 13px;
    text-decoration: none;
}

.borveron-site .footer-parent-link:hover{
    color: var(--lime);
}

.borveron-site .footer-column{
    gap: 14px;
    padding-top: 58px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 16px;
    line-height: 1.5;
}

.borveron-site .footer-column strong{
    margin-bottom: 8px;
    color: var(--white);
    font-size: 22px;
}

.borveron-site .footer-column a{
    color: inherit;
    text-decoration: none;
    transition: color 160ms ease;
}

.borveron-site .footer-column a:hover{
    color: var(--lime);
}

.borveron-site .footer-cta{
    margin-top: 30px;
    padding: 28px;
    color: var(--white);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    text-align: center;
}

.borveron-site .footer-cta-kicker{
    color: var(--lime);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.borveron-site .footer-cta h2{
    margin: 8px 0 9px;
    color: var(--white);
    font-size: clamp(23px, 2vw, 30px);
    line-height: 1.18;
    text-align: center;
}

.borveron-site .footer-cta p{
    margin-inline: auto;
    text-align: center;
}

.borveron-site .footer-cta-button{
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 17px;
    padding: 10px 16px;
    color: var(--petrol);
    background: var(--lime);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.borveron-site .footer-cta-button:hover{
    background: #d4f167;
}

.borveron-site .footer-benefits{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding-top: 22px;
    padding-bottom: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.borveron-site .footer-benefits > div{
    display: flex;
    align-items: center;
    gap: 13px;
}

.borveron-site .footer-benefits > div > span{
    width: 46px;
    height: 60px;
    display: flex;
    flex: 0 0 46px;
    align-self: center;
    align-items: center;
    justify-content: center;
    transform-origin: 50% 84%;
    animation: borveron-advisor-balloon-float 3.6s ease-in-out infinite;
}

.borveron-site .footer-benefits > div:nth-child(2) > span{
    animation-delay: -1.2s;
}

.borveron-site .footer-benefits > div:nth-child(3) > span{
    animation-delay: -2.4s;
}

.borveron-site .footer-benefits > div > span img{
    width: 42px;
    height: 54px;
    object-fit: fill;
}

.borveron-site .footer-benefits > div:first-child > span img{
    transform: scale(1.22);
}

.borveron-site .footer-benefits p, .borveron-site .footer-benefits strong, .borveron-site .footer-benefits small{
    display: block;
}

.borveron-site .footer-benefits strong{
    color: var(--white);
    font-size: 14px;
}

.borveron-site .footer-benefits small{
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    line-height: 1.45;
}

.borveron-site .footer-bottom{
    display: flex;
    min-height: 98px;
    align-items: center;
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #aeb9c7;
    font-size: 16px;
    text-align: center;
}

.borveron-site .footer-bottom p{
    width: auto;
    margin: 0;
    text-align: center;
}

@media (max-width: 1120px) {

    .borveron-site .footer-main{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .borveron-site .footer-cta{
        align-self: stretch;
    }
}

@media (max-width: 920px) {

    .borveron-site .header-container{
        gap: 10px;
    }

    .borveron-site .navigation-parent-link{
        min-height: 0;
        margin: 8px 0 0;
        padding: 14px 4px 4px;
        border-top: 1px solid var(--line);
        border-left: 0;
        font-size: 13px;
    }

    .borveron-site .header .logo-image{
        height: 46px;
    }

    .borveron-site .footer-main{
        gap: 30px 24px;
    }

    .borveron-site .footer-benefits{
        gap: 15px;
    }
}

@media (max-width: 600px) {

    .borveron-site .header-container{
        width: calc(100% - 28px);
    }

    .borveron-site .header .logo-image{
        height: 42px;
    }

    .borveron-site .menu-button{
        width: 40px;
        height: 40px;
    }

    .borveron-site .footer-main{
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        padding-top: 38px;
        padding-bottom: 34px;
    }

    .borveron-site .footer-brand p{
        max-width: 420px;
    }

    .borveron-site .footer-column{
        padding-top: 0;
    }

    .borveron-site .footer-cta{
        padding: 20px;
    }

    .borveron-site .footer-benefits{
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        padding-top: 19px;
        padding-bottom: 19px;
    }

    .borveron-site .footer-bottom{
        min-height: 82px;
        padding-top: 18px;
        padding-bottom: 18px;
        font-size: 13px;
    }
}


/* Publicación cPanel: Borverón queda dentro de su propio ámbito. */
.borveron-site { position: relative; }
.borveron-site main { padding-top: 0; }
.borveron-site .header { position: relative; inset: auto; transform: none; visibility: visible; pointer-events: auto; }
.borveron-site.js-enabled .header { position: fixed; inset: 0 0 auto; transform: translateY(calc(-100% - 8px)); visibility: hidden; pointer-events: none; }
.borveron-site.js-enabled .header.scrolled { transform: translateY(0); visibility: visible; pointer-events: auto; }

.borveron-site .navigation-parent-link { display: inline-flex; align-items: center; min-height: 26px; margin-left: 4px; padding-left: 20px; border-left: 1px solid #e5e5e5; color: #92928d; font-size: 13px; font-weight: 500; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: color 180ms ease; }
.borveron-site .navigation-parent-link:hover, .borveron-site .navigation-parent-link:focus-visible { color: #679d3d; }


/* Ajustes solicitados para móvil */
@media (max-width: 720px) {
    .borveron-site .cotizador-view-controls{
        justify-content: center;
        margin-inline: auto;
    }

    .borveron-site .closing-brand-section{
        padding-bottom: 12px;
    }

    .borveron-site .cotizador-section{
        padding-top: 20px;
    }
}

/* Movimiento suave del isologo en la sección de ubicación */
.borveron-site .location-nearby-isotype{
    animation: borveron-advisor-balloon-float 3.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .borveron-site .location-nearby-isotype{
        animation: none;
    }
}


/* Isologo animado y título en formato normal para Preguntas frecuentes */
.borveron-site .faq-eyebrow{
    gap: 12px;
    font-size: 13px;
    letter-spacing: 0.02em;
    text-transform: none;
}

.borveron-site .faq-isotype{
    display: block;
    width: 28px;
    height: 32px;
    flex: 0 0 28px;
    object-fit: contain;
    animation: borveron-advisor-balloon-float 3.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .borveron-site .faq-isotype{
        animation: none;
    }
}


/* Menos espacio vertical alrededor de Preguntas frecuentes */
.borveron-site .faq-section{
    padding-block: 68px;
}

@media (max-width: 720px) {
    .borveron-site .faq-section{
        padding-block: 48px;
    }
}


@media (max-width: 720px) {
    .borveron-site .navigation .navigation-link,
    .borveron-site .navigation .navigation-parent-link {
        text-align: center;
    }
}


@media (max-width: 720px) {
    .borveron-site .navigation .navigation-parent-link{
        display: flex;
        justify-content: center;
        width: 100%;
        margin-left: 0;
        padding-left: 4px;
    }
}


/* En móvil, evita artefactos del borde animado del mapa */
@media (max-width: 720px) {
    .borveron-site .map-card {
        overflow: hidden;
    }

    .borveron-site .map-card::before {
        display: none;
        animation: none;
    }
}


@media (max-width: 600px) {
    .borveron-site .map-card{
        width: min(100%, 400px);
    }
}


@media (max-width: 720px) {
    .borveron-site .map-card{
        filter: none;
        box-shadow: 0 12px 26px rgba(0, 43, 53, 0.16);
    }
}


@media (max-width: 720px) {
    .borveron-site .amenity-photo{
        height: auto;
        aspect-ratio: 3 / 2;
        object-fit: contain;
    }
}


/* En responsive, el rótulo queda superpuesto al plano de distribución */
@media (max-width: 720px) {
    .borveron-site .site-plan-figure{
        position: relative;
        display: block;
        height: auto;
    }

    .borveron-site .site-plan-promo-card{
        position: absolute;
        top: -22px;
        right: auto;
        left: 50%;
        width: min(90%, 360px);
        margin: 0;
        transform: translateX(-50%);
        order: initial;
    }

    .borveron-site .site-plan-image-wrap{
        width: 100%;
        height: auto;
        margin: 0;
    }
}


/* Espaciado y efecto del rótulo del plano también en móvil */
@media (max-width: 720px) {
    .borveron-site .site-plan-figure{
        margin-top: 16px;
    }

    .borveron-site .site-plan-promo-card{
        animation: borveron-site-plan-promo-flash 6s linear infinite;
    }

    .borveron-site .site-plan-promo-card::before{
        animation: borveron-hero-border-ray 6s linear infinite;
    }
}


/* Ajustes de espacios y encabezado del plano en responsive */
@media (max-width: 720px) {
    .borveron-site .location-section{
        padding-top: 36px;
    }

    .borveron-site .location-topbar{
        gap: 12px;
    }

    .borveron-site .location-information{
        gap: 4px;
    }

    .borveron-site .location-address{
        margin-top: 0;
    }

    .borveron-site .site-plan-section{
        padding-top: 22px;
    }

    .borveron-site .site-plan-main-heading.section-heading{
        margin-bottom: 28px;
    }

    .borveron-site .site-plan-title-lockup{
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        margin-inline: auto;
        text-align: center;
    }

    .borveron-site .site-plan-title-lockup h2{
        width: 100%;
        max-width: 100%;
        margin: 0;
        text-align: center;
    }

    .borveron-site .site-plan-title-isologo{
        position: static;
        right: auto;
        left: auto;
        width: 36px;
        height: 52px;
        transform: none;
    }
}


@media (max-width: 720px) {
    .borveron-site .amenities-title-lockup{
        flex-direction: column-reverse;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        text-align: center;
    }

    .borveron-site .amenities-title-lockup h2{
        width: 100%;
        max-width: 100%;
        text-align: center;
        white-space: normal;
    }

    .borveron-site .amenities-title-isologo{
        flex-basis: 52px;
        width: 36px;
        height: 52px;
    }
}


.borveron-site .cotizador-fields {
    display: contents;
}

/* Mobile cotizador flow: intro and home type, plan preview, then contact fields. */
@media (max-width: 720px) {
    .borveron-site .cotizador-grid {
        width: min(calc(100vw - 20px), 520px);
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        overflow: hidden;
        background: var(--petrol);
        border-radius: 20px;
        box-shadow: var(--shadow);
    }

    .borveron-site .cotizador-form-panel {
        display: contents;
    }

    .borveron-site .cotizador-intro {
        grid-column: 1;
        grid-row: 1;
        padding: 22px 18px 0;
        color: var(--white);
    }

    .borveron-site .cotizador-intro h2 {
        margin: 0;
        text-align: center;
        font-size: clamp(23px, 6.2vw, 30px);
        line-height: 1.06;
        letter-spacing: -0.035em;
        text-wrap: balance;
    }

    .borveron-site .cotizador-intro .form-description {
        margin: 8px 0 0;
        font-size: 11px;
        line-height: 1.4;
    }

    .borveron-site .cotizador-form-panel #contact-form {
        display: contents;
    }

    .borveron-site .cotizador-choice-picker {
        grid-column: 1;
        grid-row: 2;
        margin: 13px 18px 0;
    }

    .borveron-site .cotizador-preview {
        grid-column: 1;
        grid-row: 3;
        width: auto;
        margin: 16px 8px 0;
        padding: 8px;
        background: var(--white);
        border-radius: 17px;
        box-shadow: 0 10px 28px rgba(0, 43, 53, 0.12);
    }

    .borveron-site .cotizador-fields {
        grid-column: 1;
        grid-row: 4;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        min-width: 0;
        padding: 16px 18px 26px;
    }
}


@media (max-width: 720px) {
    .borveron-site .cotizador-fields .form-button {
        justify-self: center;
    }
}
