.vila-navbar {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                z-index: 20;
                padding-top: 24px;
            }

.vila-navbar .container {
                position: relative;
                overflow: hidden;
                background: rgba(0, 0, 0, 0.54);
                backdrop-filter: blur(16px);
                border: 1px solid rgba(243, 254, 255, 0.08);
                border-radius: 28px;
                padding: 12px 24px;
                box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
            }

.vila-navbar .container::before {
                content: "";
                position: absolute;
                inset: 0;
                background:
                    radial-gradient(circle at top left, rgba(203, 108, 230, 0.16), transparent 34%),
                    radial-gradient(circle at top right, rgba(203, 166, 87, 0.18), transparent 30%),
                    linear-gradient(135deg, rgba(12, 12, 12, 0.9), rgba(18, 14, 11, 0.72));
                pointer-events: none;
            }

.vila-navbar .container::after {
                content: "";
                position: absolute;
                inset: 0;
                border-radius: inherit;
                padding: 1px;
                background: linear-gradient(135deg, rgba(203, 108, 230, 0.45), rgba(255, 255, 255, 0.1), rgba(203, 166, 87, 0.42));
                -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
                -webkit-mask-composite: xor;
                mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
                mask-composite: exclude;
                pointer-events: none;
            }

.vila-navbar .container > * {
                position: relative;
                z-index: 1;
            }

            .vila-brand {
                width: auto !important;
                display: inline-flex;
                align-items: center;
                flex: 0 0 auto;
                margin-right: 16px;
            }

            .vila-brand img {
                display: block;
                width: auto !important;
                height: 78px;
            }

.vila-navbar .navbar-nav .nav-link {
                font-size: 15px;
                font-weight: 600;
                letter-spacing: 0.06em;
                color: rgba(243, 254, 255, 0.86);
                border-radius: 999px;
                padding: 11px 18px;
                transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
            }

.vila-navbar .navbar-nav {
                gap: 6px;
            }

.vila-navbar .navbar-nav .nav-link:hover,
.vila-navbar .navbar-nav .nav-link:focus-visible,
.vila-navbar .navbar-nav .nav-link.active {
                color: var(--white-color);
                background: linear-gradient(135deg, rgba(203, 108, 230, 0.16), rgba(203, 166, 87, 0.14));
                box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
                transform: translateY(-1px);
            }

.vila-navbar .custom-btn {
                padding: 14px 26px;
                background: linear-gradient(135deg, rgba(203, 108, 230, 0.95), rgba(224, 147, 234, 0.95));
                box-shadow: 0 16px 34px rgba(203, 108, 230, 0.22);
            }

.vila-navbar .custom-btn:hover {
                background: linear-gradient(135deg, rgba(224, 247, 248, 0.96), rgba(203, 166, 87, 0.92));
                color: #101010;
            }

            .vila-hero {
                min-height: 100vh;
                height: auto;
                padding-top: 190px;
                padding-bottom: 96px;
                background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.74) 0%, rgba(0, 0, 0, 0.52) 42%, rgba(0, 0, 0, 0.86) 100%), url('../images/vila/vila-hero-eksterijer.webp');
                background-size: cover;
                background-position: center;
                display: flex;
                align-items: center;
            }

            .vila-hero .container,
            .vila-story-section .container,
            .vila-experience-section .container {
                position: relative;
                z-index: 2;
            }

            .vila-hero .container {
                height: auto;
                padding-bottom: 0;
            }

            .vila-hero .row {
                height: auto;
            }

            .vila-hero-copy {
                padding-top: 34px;
            }

            .vila-hero h1 {
                color: var(--white-color);
                font-size: clamp(48px, 6.6vw, 84px);
                letter-spacing: -0.05em;
                line-height: 0.95;
                margin: 22px 0 22px;
                max-width: 760px;
            }

            .vila-hero p {
                color: rgba(243, 254, 255, 0.88);
                font-size: clamp(18px, 2vw, 21px);
                line-height: 1.55;
                max-width: 700px;
                margin-bottom: 32px;
            }

            .vila-hero-actions {
                display: flex;
                flex-wrap: wrap;
                gap: 16px;
                margin-bottom: 40px;
            }

            .vila-hero-actions .custom-btn {
                min-width: 170px;
                padding: 14px 30px;
                box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14);
            }

            .custom-btn.custom-btn-alt {
                background: transparent;
                border: 1px solid rgba(243, 254, 255, 0.5);
                color: var(--white-color);
            }

            .custom-btn.custom-btn-alt:hover {
                background: rgba(243, 254, 255, 0.08);
                color: var(--white-color);
            }

            .hero-highlights {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 18px;
                max-width: 860px;
                align-items: stretch;
            }

            .hero-highlight-card,
            .vila-feature-card,
            .vila-mood-card {
                backdrop-filter: blur(14px);
                background: rgba(5, 5, 5, 0.55);
                border: 1px solid rgba(203, 166, 87, 0.28);
                border-radius: 24px;
                box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
            }

            .hero-highlight-card {
                min-height: 220px;
                padding: 26px 24px;
                background: linear-gradient(180deg, rgba(10, 10, 10, 0.8), rgba(31, 22, 11, 0.62));
            }

            .hero-highlight-card h3,
            .vila-feature-card h3,
            .vila-mood-card h3 {
                color: var(--white-color);
                font-size: 22px;
                margin-bottom: 8px;
            }

            .hero-highlight-card p,
            .vila-feature-card p,
            .vila-mood-card p,
            .vila-story-copy p,
            .vila-note p,
            .vila-contact-card p {
                color: rgba(243, 254, 255, 0.78);
            }

            .hero-highlight-card p {
                font-size: 16px;
                line-height: 1.6;
                margin-bottom: 0;
            }

            .vila-story-section,
            .vila-experience-section {
                background-attachment: fixed;
                position: relative;
            }

            .vila-story-section {
                background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9)), url('../images/vila/vila-vodopad-bazen.webp');
                background-size: cover;
                background-position: center;
            }

            .vila-story-copy h2,
            .vila-experience-copy h2,
            .vila-gallery-heading h2,
            .vila-contact-card h2 {
                color: var(--white-color);
                margin-bottom: 24px;
            }

            .vila-story-copy .lead,
            .vila-gallery-heading p {
                color: rgba(243, 254, 255, 0.86);
                font-size: 20px;
            }

            .vila-story-section .row {
                align-items: stretch !important;
            }

            .vila-story-copy {
                display: flex;
                align-items: center;
            }

            .vila-story-copy-panel {
                max-width: 560px;
            }

            .vila-story-media {
                display: flex;
                justify-content: flex-end;
                align-items: center;
            }

            .vila-story-image-wrap,
            .vila-contact-card {
                position: relative;
                overflow: hidden;
                border-radius: 26px;
            }

            .vila-story-image-wrap img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .vila-story-image-wrap {
                width: min(100%, 560px);
                aspect-ratio: 4 / 3;
                margin-left: auto;
                border: 1px solid rgba(203, 166, 87, 0.24);
                box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
            }

            .vila-note {
                position: absolute;
                left: 24px;
                right: 24px;
                bottom: 24px;
                background: rgba(0, 0, 0, 0.68);
                border: 1px solid rgba(203, 166, 87, 0.36);
                border-radius: 24px;
                padding: 24px;
            }

            .vila-note h3 {
                color: var(--white-color);
                margin-bottom: 10px;
            }

            .vila-features {
                background-image: linear-gradient(rgba(10, 10, 10, 0.9), rgba(10, 10, 10, 0.88)), url('../images/nicholas-green-unsplash-blur.webp');
                background-position: center;
                background-size: cover;
            }

            .vila-section-intro {
                max-width: 700px;
                margin: 0 auto 50px;
                text-align: center;
            }

            .vila-section-intro h2 {
                color: var(--white-color);
                margin-bottom: 18px;
            }

            .vila-section-intro p {
                color: rgba(243, 254, 255, 0.8);
            }

            .vila-feature-card {
                height: 100%;
                padding: 28px;
            }

            .vila-feature-icon {
                width: 62px;
                height: 62px;
                border-radius: 18px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                margin-bottom: 20px;
                background: rgba(203, 166, 87, 0.14);
                color: var(--secondary-color);
                font-size: 28px;
            }

            .vila-gallery-section {
                padding-top: 78px;
                padding-bottom: 78px;
                background: radial-gradient(circle at top, rgba(203, 166, 87, 0.08), transparent 36%), #050505;
            }

            .vila-gallery-carousel-wrap {
                max-width: 1020px;
                margin: 0 auto;
            }

            .vila-gallery-carousel {
                overflow: hidden;
                border-radius: 28px;
                border: 1px solid rgba(203, 166, 87, 0.2);
                box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
            }

            .vila-gallery-slide {
                position: relative;
                aspect-ratio: 16 / 9;
            }

            .vila-gallery-slide img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .vila-gallery-overlay {
                position: absolute;
                inset: 0;
                display: flex;
                align-items: end;
                padding: 22px;
                background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.88));
            }

            .vila-gallery-caption {
                max-width: 420px;
                backdrop-filter: blur(10px);
                background: rgba(0, 0, 0, 0.5);
                border: 1px solid rgba(243, 254, 255, 0.12);
                border-radius: 22px;
                padding: 18px 22px;
            }

            .vila-gallery-overlay h3 {
                color: var(--white-color);
                margin-bottom: 8px;
            }

            .vila-gallery-overlay p {
                margin: 0;
            }

            .vila-gallery-carousel .carousel-control-prev,
            .vila-gallery-carousel .carousel-control-next {
                width: 68px;
                opacity: 1;
            }

            .vila-gallery-carousel .carousel-control-prev-icon,
            .vila-gallery-carousel .carousel-control-next-icon {
                width: 48px;
                height: 48px;
                border-radius: 50%;
                background-color: rgba(0, 0, 0, 0.56);
                background-size: 42%;
                border: 1px solid rgba(243, 254, 255, 0.18);
            }

            .vila-gallery-thumbs {
                display: grid;
                grid-template-columns: repeat(6, minmax(0, 1fr));
                gap: 10px;
                margin-top: 14px;
            }

            .vila-gallery-thumb {
                position: relative;
                border: 0;
                padding: 0;
                background: transparent;
                border-radius: 18px;
                overflow: hidden;
                aspect-ratio: 16 / 10;
                box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
            }

            .vila-gallery-thumb img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0.72;
                transition: transform 0.35s ease, opacity 0.35s ease;
            }

            .vila-gallery-thumb:hover img,
            .vila-gallery-thumb.active img {
                transform: scale(1.05);
                opacity: 1;
            }

            .vila-gallery-thumb.active {
                outline: 2px solid rgba(203, 166, 87, 0.7);
                outline-offset: 2px;
            }

            .vila-gallery-thumb span {
                position: absolute;
                left: 12px;
                bottom: 12px;
                color: var(--white-color);
                font-size: 13px;
                font-weight: 700;
                letter-spacing: 0.04em;
                text-shadow: 0 3px 14px rgba(0, 0, 0, 0.45);
            }

            .vila-experience-section {
                background-image: linear-gradient(rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.9)), url('../images/vila/vila-eksterijer-front.webp');
                background-size: cover;
                background-position: center;
            }

            .vila-experience-copy p {
                color: rgba(243, 254, 255, 0.82);
            }

            .vila-mood-card {
                padding: 26px;
                margin-bottom: 20px;
            }

            .vila-check-list {
                list-style: none;
                padding: 0;
                margin: 28px 0 0;
            }

            .vila-check-list li {
                color: rgba(243, 254, 255, 0.82);
                display: flex;
                align-items: center;
                gap: 12px;
                margin-bottom: 14px;
            }

            .vila-check-list i {
                color: var(--secondary-color);
                font-size: 18px;
            }

            .vila-contact-card {
                background: linear-gradient(145deg, rgba(203, 166, 87, 0.18), rgba(203, 108, 230, 0.14)), rgba(10, 10, 10, 0.94);
                border: 1px solid rgba(203, 166, 87, 0.28);
                padding: 40px;
            }

            .vila-contact-section {
                background: linear-gradient(180deg, rgba(5, 5, 5, 0.98), rgba(8, 8, 8, 0.98));
            }

            .vila-contact-card .site-footer-link {
                font-size: 20px;
                font-weight: var(--font-weight-bold);
            }

            .vila-contact-summary {
                display: flex;
                flex-direction: column;
                gap: 24px;
                height: 100%;
            }

            .vila-contact-links {
                display: grid;
                gap: 14px;
            }

.vila-contact-links .site-footer-link {
                display: inline-flex;
                align-items: center;
                gap: 10px;
            }

.vila-contact-links .site-footer-link i {
                color: var(--primary-color);
            }

            .vila-reservation-form {
                margin-top: 24px;
            }

            .vila-reservation-form .form-label,
            .vila-form-note {
                color: rgba(243, 254, 255, 0.78);
            }

            .vila-reservation-form .form-control,
            .vila-reservation-form .form-select {
                background: rgba(255, 255, 255, 0.06);
                border: 1px solid rgba(243, 254, 255, 0.12);
                border-radius: 18px;
                color: var(--white-color);
                min-height: 56px;
                padding: 14px 18px;
            }

            .vila-reservation-form textarea.form-control {
                min-height: 140px;
                resize: vertical;
            }

            .vila-reservation-form .form-control::placeholder {
                color: rgba(243, 254, 255, 0.42);
            }

            .vila-reservation-form .form-control:focus,
            .vila-reservation-form .form-select:focus {
                border-color: rgba(203, 166, 87, 0.6);
                box-shadow: 0 0 0 0.18rem rgba(203, 166, 87, 0.16);
            }

            .vila-contact-actions {
                display: flex;
                flex-wrap: wrap;
                gap: 14px;
                margin-top: 22px;
            }

            .vila-contact-info {
                display: flex;
                flex-wrap: wrap;
                gap: 18px;
                margin-top: 30px;
            }

            .vila-contact-chip {
                background: rgba(255, 255, 255, 0.06);
                border: 1px solid rgba(255, 255, 255, 0.12);
                border-radius: 999px;
                color: var(--white-color);
                padding: 12px 18px;
            }

            .neon-text {
                text-shadow: 0 0 12px rgba(203, 108, 230, 0.45);
            }

            .reveal-on-scroll {
                opacity: 0;
                transform: translateY(36px);
                transition: opacity 0.8s ease, transform 0.8s ease;
                transition-delay: var(--reveal-delay, 0s);
            }

            .reveal-on-scroll.is-visible {
                opacity: 1;
                transform: translateY(0);
            }

            .vila-navbar .container,
            .vila-hero-copy,
            .hero-highlight-card {
                opacity: 0;
                transform: translateY(24px);
                transition: opacity 0.8s ease, transform 0.8s ease;
            }

            body.page-ready .vila-navbar .container,
            body.page-ready .vila-hero-copy,
            body.page-ready .hero-highlight-card {
                opacity: 1;
                transform: translateY(0);
            }

            body.page-ready .vila-navbar .container { transition-delay: 0.08s; }
            body.page-ready .vila-hero-copy { transition-delay: 0.18s; }
            body.page-ready .hero-highlights .hero-highlight-card:nth-child(1) { transition-delay: 0.28s; }
            body.page-ready .hero-highlights .hero-highlight-card:nth-child(2) { transition-delay: 0.38s; }
            body.page-ready .hero-highlights .hero-highlight-card:nth-child(3) { transition-delay: 0.48s; }

@media screen and (max-width: 991px) {
                .vila-navbar {
                    position: fixed;
                    padding-top: 14px;
                }

                .vila-navbar .container {
                    padding: 12px 16px;
                    border-radius: 24px;
                }

                .vila-brand img {
                    height: 58px;
                }

                .vila-navbar .navbar-collapse {
                    margin-top: 16px;
                    padding: 18px 16px;
                    background: linear-gradient(180deg, rgba(4, 4, 4, 0.94), rgba(10, 10, 10, 0.9));
                    border: 1px solid rgba(243, 254, 255, 0.08);
                    border-radius: 22px;
                    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
                    max-height: calc(100vh - 110px);
                    overflow-y: auto;
                }

                .vila-navbar .navbar-nav {
                    align-items: stretch !important;
                    gap: 8px;
                }

                .vila-navbar .navbar-nav .nav-link {
                    display: flex;
                    justify-content: center;
                    margin: 0;
                    padding: 14px 18px;
                    font-size: 20px;
                    font-weight: 700;
                    letter-spacing: 0.05em;
                    text-align: center;
                    background: rgba(255, 255, 255, 0.02);
                }

                .vila-story-section,
                .vila-experience-section {
                    background-attachment: scroll;
                }

                .vila-hero {
                    min-height: auto;
                    padding-top: 144px;
                    padding-bottom: 64px;
                    align-items: flex-start;
                }

                .vila-hero-copy {
                    padding-top: 0;
                }

                .hero-highlights {
                    display: grid;
                    grid-auto-flow: column;
                    grid-auto-columns: minmax(240px, 72vw);
                    gap: 14px;
                    overflow-x: auto;
                    overflow-y: hidden;
                    padding-bottom: 6px;
                    scroll-snap-type: x proximity;
                    scrollbar-width: none;
                }

                .hero-highlights::-webkit-scrollbar {
                    height: 0;
                }

                .hero-highlight-card {
                    min-height: 0;
                    scroll-snap-align: start;
                }

                .vila-gallery-thumbs {
                    grid-template-columns: repeat(3, minmax(0, 1fr));
                }

                .vila-gallery-slide,
                .vila-gallery-slide img {
                    min-height: 0;
                }

                .vila-story-media {
                    justify-content: flex-start;
                }
            }

@media screen and (max-width: 767px) {
                .vila-brand img {
                    height: 50px;
                }

                .vila-navbar .navbar-nav .nav-link {
                    font-size: 21px;
                }

                .vila-hero {
                    padding-top: 168px;
                    padding-bottom: 56px;
                }

                .vila-hero-copy {
                    padding-top: 8px;
                }

                .vila-hero h1 {
                    font-size: clamp(36px, 14vw, 56px);
                    margin: 0 0 16px;
                    max-width: 8ch;
                }

                .vila-hero p,
                .vila-story-copy .lead {
                    font-size: 17px;
                    line-height: 1.5;
                }

                .vila-hero-actions {
                    gap: 12px;
                    margin-bottom: 28px;
                }

                .hero-highlights {
                    grid-template-columns: 1fr;
                    grid-auto-flow: row;
                    grid-auto-columns: unset;
                    gap: 12px;
                    overflow: visible;
                    padding-bottom: 0;
                    max-width: none;
                }

                .hero-highlight-card {
                    min-height: 0;
                    padding: 20px 18px;
                }

                .vila-hero-actions .custom-btn {
                    width: 100%;
                    justify-content: center;
                }

                .vila-gallery-section {
                    padding-top: 64px;
                    padding-bottom: 64px;
                }

                .vila-gallery-slide {
                    aspect-ratio: auto;
                    display: flex;
                    flex-direction: column;
                }

                .vila-gallery-slide img {
                    aspect-ratio: 16 / 10;
                }

                .vila-gallery-overlay {
                    position: static;
                    display: block;
                    padding: 0;
                    background: none;
                }

                .vila-gallery-caption {
                    max-width: none;
                    border-radius: 0 0 22px 22px;
                    border-top: 0;
                    padding: 16px 18px 18px;
                    background: rgba(8, 8, 8, 0.88);
                }

                .vila-gallery-thumbs {
                    grid-template-columns: repeat(2, minmax(0, 1fr));
                    gap: 8px;
                }

                .vila-gallery-thumb span {
                    left: 8px;
                    bottom: 8px;
                    font-size: 12px;
                }

                .vila-note,
                .vila-contact-card {
                    padding: 24px;
                }

                .vila-contact-actions .custom-btn {
                    width: 100%;
                    justify-content: center;
                }

                .vila-contact-info {
                    flex-direction: column;
                }
            }
