﻿:root {
            --ink: #172429;
            --navy: #061820;
            --navy-soft: #102a35;
            --ivory: #f3eee6;
            --paper: #fbf7ef;
            --gold: #bf9660;
            --gold-soft: #d1b279;
            --line: rgba(191, 150, 96, 0.42);
            --serif: "Cormorant Garamond", Georgia, serif;
            --sans: "Jost", Arial, sans-serif;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            color: var(--ink);
            background: var(--ivory);
            font-family: var(--sans);
            font-weight: 300;
            letter-spacing: 0.01em;
        }

        img { max-width: 100%; display: block; }
        a { color: inherit; text-decoration: none; }

        .combo-nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 50;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 28px;
            min-height: 86px;
            padding: 18px clamp(22px, 4vw, 72px);
            color: white;
            background: linear-gradient(180deg, rgba(4, 17, 22, 0.86), rgba(4, 17, 22, 0.28) 72%, rgba(4, 17, 22, 0));
        }

        .combo-brand {
            display: inline-flex;
            align-items: center;
            width: clamp(148px, 15vw, 214px);
            padding: 8px 12px;
            background: rgba(255, 255, 255, 0.78);
            border: 1px solid rgba(255, 255, 255, 0.38);
            backdrop-filter: blur(12px);
        }

        .combo-brand img {
            width: 100%;
            height: auto;
            filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.32));
        }

        .combo-links {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: clamp(14px, 2vw, 30px);
            font-size: 13px;
            font-weight: 400;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            text-shadow: 0 8px 22px rgba(0, 0, 0, 0.42);
        }

        .combo-links a {
            position: relative;
            white-space: nowrap;
        }

        .combo-links a:not(.lang-switch)::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -8px;
            height: 1px;
            transform: scaleX(0);
            transform-origin: center;
            background: var(--gold-soft);
            transition: transform 180ms ease;
        }

        .combo-links a:hover::after,
        .combo-links a:focus-visible::after {
            transform: scaleX(1);
        }

        .lang-switch {
            border: 1px solid rgba(255, 255, 255, 0.56);
            background: rgba(255, 255, 255, 0.08);
            backdrop-filter: blur(14px);
        }

        .lang-switch {
            padding: 12px 13px;
            letter-spacing: 0.08em;
        }

        .page {
            width: 100%;
            max-width: none;
            margin: 0;
            background: var(--paper);
            overflow: clip;
        }

        .hero {
            min-height: 100svh;
            position: relative;
            display: grid;
            grid-template-columns: minmax(280px, 0.92fr) minmax(480px, 1.08fr);
            overflow: hidden;
            color: white;
            background:
                linear-gradient(90deg, rgba(5, 16, 20, 0.05), rgba(5, 16, 20, 0.7) 50%, rgba(5, 16, 20, 0.97)),
                url("/images/combicata/web/hero-sunset.jpg") left center / cover no-repeat;
        }

        .lagoon-badge {
            position: absolute;
            top: 44px;
            left: 42px;
            width: 160px;
            min-height: 222px;
            border: 1px solid rgba(255, 255, 255, 0.64);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 18px;
            text-align: center;
            background: rgba(14, 20, 22, 0.16);
        }

        .lagoon-badge span:first-child {
            font-size: 16px;
            letter-spacing: 0.28em;
        }

        .lagoon-badge strong {
            margin: 10px 0 6px;
            font-family: var(--serif);
            font-size: 78px;
            font-weight: 300;
            line-height: 0.86;
        }

        .lagoon-badge span:last-child {
            font-size: 13px;
            line-height: 1.55;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .hero-copy {
            grid-column: 2;
            align-self: center;
            width: min(700px, 88%);
            margin: 0 auto;
            padding: 118px 0 148px;
            text-align: center;
        }

        .palm {
            color: var(--gold-soft);
            font-size: 54px;
            line-height: 1;
            margin-bottom: 24px;
        }

        .eyebrow {
            color: var(--gold-soft);
            font-size: 19px;
            letter-spacing: 0.42em;
            text-transform: uppercase;
        }

        h1 {
            margin: 26px 0 12px;
            font-family: var(--serif);
            font-weight: 300;
            font-size: clamp(54px, 6.4vw, 84px);
            line-height: 0.92;
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        h1 .small {
            display: block;
            color: white;
            font-size: 0.58em;
            letter-spacing: 0.06em;
        }

        h1 .gold {
            display: block;
            color: var(--gold-soft);
            font-size: 1.22em;
        }

        .subline {
            margin-top: 24px;
            font-size: 19px;
            letter-spacing: 0.28em;
            text-transform: uppercase;
        }

        .rule {
            width: 58px;
            height: 2px;
            background: var(--gold-soft);
            margin: 28px auto 24px;
        }

        .hero-copy p {
            max-width: 540px;
            margin: 0 auto;
            font-size: 18px;
            line-height: 1.68;
        }

        .hero-actions,
        .cta-actions {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 14px;
            margin-top: 34px;
        }

        .primary-cta,
        .secondary-cta {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 52px;
            padding: 15px 24px;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
        }

        .primary-cta {
            color: var(--navy);
            background: var(--gold-soft);
            border: 1px solid var(--gold-soft);
            box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
        }

        .secondary-cta {
            color: white;
            border: 1px solid rgba(255, 255, 255, 0.56);
            background: rgba(255, 255, 255, 0.08);
        }

        .primary-cta:hover,
        .secondary-cta:hover {
            transform: translateY(-2px);
        }

        .value-strip {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            padding: 0 86px 42px;
            gap: 0;
        }

        .value {
            display: grid;
            grid-template-columns: 58px 1fr;
            gap: 20px;
            align-items: center;
            padding: 0 34px;
            border-right: 1px solid var(--line);
        }

        .value:last-child { border-right: 0; }
        .value-icon {
            color: var(--gold-soft);
            font-family: var(--serif);
            font-size: 45px;
            line-height: 1;
            text-align: center;
        }

        .value h3 {
            margin: 0 0 4px;
            font-size: 15px;
            letter-spacing: 0.22em;
            text-transform: uppercase;
        }

        .value p {
            margin: 0;
            font-size: 14px;
            line-height: 1.38;
        }

        .booking-bar {
            position: static;
            z-index: 20;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            padding: 18px clamp(24px, 6vw, 88px);
            color: white;
            background: var(--navy);
            border-top: 1px solid rgba(209, 178, 121, 0.38);
            border-bottom: 1px solid rgba(209, 178, 121, 0.28);
        }

        .booking-bar div {
            display: flex;
            align-items: baseline;
            flex-wrap: wrap;
            gap: 12px;
            font-size: 16px;
            line-height: 1.4;
        }

        .booking-bar strong {
            color: var(--gold-soft);
            font-family: var(--serif);
            font-size: 28px;
            font-weight: 400;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .booking-bar span {
            color: rgba(255, 255, 255, 0.82);
        }

        .journey {
            display: grid;
            grid-template-columns: minmax(330px, 0.8fr) minmax(420px, 1.55fr) minmax(260px, 0.65fr);
            background: var(--paper);
        }

        .itinerary,
        .quote-panel {
            padding: 42px 44px;
        }

        .section-kicker {
            margin: 0 0 28px;
            color: var(--gold);
            font-family: var(--serif);
            font-size: 24px;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .section-kicker::after {
            content: "";
            display: block;
            width: 55px;
            height: 1px;
            margin-top: 12px;
            background: var(--gold);
        }

        .stop {
            position: relative;
            display: grid;
            grid-template-columns: 36px 1fr;
            gap: 18px;
            padding-bottom: 24px;
        }

        .stop:not(:last-child)::before {
            content: "";
            position: absolute;
            left: 17px;
            top: 38px;
            bottom: -4px;
            border-left: 1px dashed var(--gold);
        }

        .stop-num {
            position: relative;
            z-index: 1;
            width: 34px;
            height: 34px;
            border: 1px solid var(--gold);
            border-radius: 50%;
            display: grid;
            place-items: center;
            color: var(--gold);
            background: var(--paper);
            font-family: var(--serif);
            font-size: 18px;
        }

        .stop h3 {
            margin: 0 0 5px;
            font-size: 15px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .stop p {
            margin: 0;
            font-size: 14px;
            line-height: 1.45;
        }

        .photo-grid {
            display: grid;
            grid-template-columns: 1fr 0.9fr;
            grid-auto-rows: 252px;
            gap: 2px;
            background: white;
        }

        .photo-tile {
            position: relative;
            overflow: hidden;
            min-height: 220px;
        }

        .photo-tile.tall { grid-row: span 1; }
        .photo-tile img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .quote-panel {
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 504px;
            background:
                radial-gradient(circle at 90% 84%, rgba(150, 126, 83, 0.13), transparent 24%),
                linear-gradient(120deg, #fbf7ef, #eee5da);
        }

        .quote-mark {
            color: var(--gold);
            font-family: var(--serif);
            font-size: 70px;
            line-height: 0.7;
        }

        .quote-panel blockquote {
            margin: 22px 0;
            font-family: var(--serif);
            font-size: 30px;
            line-height: 1.45;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .quote-panel .quote-line {
            width: 58px;
            height: 2px;
            background: var(--gold);
        }

        .collections {
            display: grid;
            grid-template-columns: 1.1fr 0.92fr 1.1fr;
            background: linear-gradient(90deg, #eee8de, #fbf7ef 46%, #efe6da);
        }

        .collection-panel,
        .included-panel {
            padding: 44px 48px 38px;
        }

        .panel-title {
            margin: 0;
            font-family: var(--serif);
            font-size: 31px;
            font-weight: 400;
            letter-spacing: 0.08em;
            text-align: center;
            text-transform: uppercase;
        }

        .panel-sub {
            margin: 6px 0 28px;
            text-align: center;
            font-size: 13px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
        }

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

        .plan {
            padding: 0 20px;
            text-align: center;
            border-right: 1px solid var(--line);
        }

        .plan:last-child { border-right: 0; }
        .plan .mini-palm {
            color: var(--gold);
            font-size: 32px;
        }

        .plan h3 {
            margin: 8px 0 10px;
            font-family: var(--serif);
            font-size: 18px;
            line-height: 1.1;
            letter-spacing: 0.1em;
            text-transform: uppercase;
        }

        .plan p {
            min-height: 42px;
            margin: 0 0 14px;
            font-size: 13px;
            line-height: 1.35;
        }

        .from {
            font-size: 11px;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .price {
            font-family: var(--serif);
            font-size: 32px;
        }

        .note {
            margin-top: 26px;
            text-align: center;
            font-size: 12px;
            letter-spacing: 0.22em;
            text-transform: uppercase;
        }

        .included-panel .panel-title {
            text-align: left;
            margin-bottom: 28px;
        }

        .included-list {
            display: grid;
            gap: 17px;
            margin: 0;
            padding: 0;
            list-style: none;
            font-size: 13px;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }

        .included-list li {
            display: grid;
            grid-template-columns: 30px 1fr;
            align-items: center;
            gap: 14px;
        }

        .included-list span {
            color: var(--gold);
            font-family: var(--serif);
            font-size: 28px;
            line-height: 1;
            text-align: center;
        }

        .aerial {
            min-height: 420px;
            background: #0c2730;
        }

        .aerial img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .proposal-cta {
            display: grid;
            justify-items: center;
            padding: clamp(58px, 8vw, 106px) clamp(24px, 6vw, 90px);
            color: white;
            text-align: center;
            background:
                linear-gradient(rgba(5, 16, 20, 0.8), rgba(5, 16, 20, 0.88)),
                url("/images/combicata/web/villa-sunset.jpg") center / cover no-repeat;
        }

        .proposal-cta .section-kicker {
            margin-bottom: 18px;
            color: var(--gold-soft);
        }

        .proposal-cta .section-kicker::after {
            margin-left: auto;
            margin-right: auto;
            background: var(--gold-soft);
        }

        .proposal-cta h2 {
            max-width: 920px;
            margin: 0;
            font-family: var(--serif);
            font-size: clamp(42px, 6vw, 82px);
            font-weight: 300;
            line-height: 0.98;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .proposal-cta p:not(.section-kicker) {
            max-width: 760px;
            margin: 24px auto 0;
            font-size: 18px;
            line-height: 1.72;
            color: rgba(255, 255, 255, 0.86);
        }

        .proposal-cta .secondary-cta {
            background: rgba(255, 255, 255, 0.12);
        }

        .tagline {
            padding: 23px 24px 19px;
            color: white;
            text-align: center;
            background: linear-gradient(90deg, #193947, #244f61, #183542);
        }

        .tagline .top {
            font-family: var(--serif);
            font-size: 27px;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .tagline .script {
            margin-top: 2px;
            color: var(--gold-soft);
            font-family: var(--serif);
            font-size: 30px;
            font-style: italic;
        }

        .site-footer {
            padding: clamp(58px, 7vw, 92px) clamp(24px, 6vw, 88px) 28px;
            color: white;
            background: #0b2028;
        }

        .site-footer-top {
            display: grid;
            grid-template-columns: minmax(280px, 1.5fr) repeat(3, minmax(160px, 0.8fr));
            gap: clamp(28px, 4vw, 60px);
            align-items: start;
            padding-bottom: 48px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.12);
        }

        .site-footer-title {
            max-width: 420px;
            margin: 0 0 26px;
            font-family: var(--serif);
            font-size: clamp(38px, 5vw, 72px);
            font-weight: 300;
            line-height: 0.95;
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }

        .site-footer-title em {
            color: var(--gold-soft);
            font-style: italic;
            text-transform: none;
        }

        .site-footer-cta {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            padding: 14px 22px;
            color: var(--navy);
            background: var(--gold-soft);
            font-size: 13px;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .site-footer-col {
            display: grid;
            gap: 12px;
        }

        .site-footer-col h4 {
            margin: 0 0 8px;
            color: var(--gold-soft);
            font-size: 12px;
            font-weight: 500;
            letter-spacing: 0.22em;
            text-transform: uppercase;
        }

        .site-footer-col a {
            color: rgba(255, 255, 255, 0.76);
            font-size: 15px;
            line-height: 1.35;
        }

        .site-footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            padding-top: 28px;
        }

        .site-footer-bottom img {
            width: 170px;
            padding: 8px 12px;
            background: rgba(255, 255, 255, 0.9);
        }

        .site-footer-bottom p {
            margin: 0;
            color: rgba(255, 255, 255, 0.62);
            font-size: 13px;
        }

        @media (max-width: 1100px) {
            .combo-nav {
                align-items: flex-start;
                min-height: 112px;
                padding: 16px 24px;
            }

            .combo-brand {
                width: 150px;
                flex: 0 0 auto;
            }

            .combo-links {
                flex-wrap: wrap;
                gap: 12px 18px;
                font-size: 12px;
            }

            .hero {
                min-height: 820px;
                grid-template-columns: 1fr;
                background-position: center;
            }

            .hero-copy {
                grid-column: 1;
                margin-left: auto;
                margin-right: 5vw;
                width: min(580px, 82%);
                padding-top: 174px;
            }

            .value-strip {
                padding: 0 26px 34px;
                grid-template-columns: repeat(2, 1fr);
                row-gap: 22px;
            }

            .journey {
                grid-template-columns: minmax(300px, 0.72fr) minmax(380px, 1fr);
            }

            .quote-panel {
                grid-column: 1 / -1;
                min-height: 260px;
            }

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

            .aerial {
                grid-column: 1 / -1;
                height: 460px;
            }
        }

        @media (max-width: 760px) {
            .combo-nav {
                position: absolute;
                flex-direction: column;
                align-items: stretch;
                gap: 10px;
                min-height: 0;
                padding: 14px 18px 0;
                background: linear-gradient(180deg, rgba(4, 17, 22, 0.82), rgba(4, 17, 22, 0));
            }

            .combo-brand {
                width: 118px;
            }

            .combo-links {
                display: grid;
                grid-template-columns: repeat(3, auto);
                justify-content: end;
                align-self: stretch;
                gap: 8px 12px;
                font-size: 9px;
                letter-spacing: 0.1em;
            }

            .lang-switch {
                padding: 9px 10px;
            }

            .hero {
                min-height: auto;
                display: block;
                background:
                    linear-gradient(180deg, rgba(5, 16, 20, 0.1), rgba(5, 16, 20, 0.82) 54%, rgba(5, 16, 20, 0.98)),
                    url("/images/combicata/web/hero-sunset.jpg") center top / cover no-repeat;
            }

            .lagoon-badge {
                top: 148px;
                left: 20px;
                width: 112px;
                min-height: 154px;
                padding: 12px;
            }

            .lagoon-badge span:first-child { font-size: 11px; }
            .lagoon-badge strong { font-size: 52px; }
            .lagoon-badge span:last-child { font-size: 9px; }

            .hero-copy {
                width: auto;
                margin: 0;
                padding: 324px 22px 34px;
            }

            .palm { font-size: 40px; margin-bottom: 12px; }
            .eyebrow { font-size: 13px; letter-spacing: 0.32em; }
            h1 { font-size: 49px; }
            .subline { font-size: 13px; letter-spacing: 0.18em; }
            .hero-copy p { font-size: 15px; }

            .hero-actions,
            .cta-actions {
                display: grid;
                grid-template-columns: 1fr;
                gap: 10px;
            }

            .primary-cta,
            .secondary-cta {
                width: 100%;
                min-height: 50px;
                padding: 14px 16px;
                font-size: 11px;
                letter-spacing: 0.12em;
            }

            .value-strip {
                position: relative;
                grid-template-columns: 1fr 1fr;
                padding: 16px 18px 26px;
                gap: 12px;
            }

            .value {
                grid-template-columns: 36px 1fr;
                padding: 0;
                gap: 10px;
                border: 0;
            }

            .value-icon { font-size: 28px; }
            .value h3 { font-size: 11px; }
            .value p { font-size: 11px; }

            .booking-bar {
                position: static;
                display: grid;
                gap: 14px;
                padding: 22px 20px;
            }

            .booking-bar div {
                display: grid;
                gap: 6px;
                text-align: center;
            }

            .booking-bar strong {
                font-size: 24px;
            }

            .journey,
            .collections {
                grid-template-columns: 1fr;
            }

            .itinerary,
            .quote-panel,
            .collection-panel,
            .included-panel {
                padding: 34px 24px;
            }

            .photo-grid {
                grid-auto-rows: 190px;
            }

            .quote-panel blockquote {
                font-size: 25px;
            }

            .plans {
                grid-template-columns: 1fr;
                gap: 24px;
            }

            .plan {
                padding: 0;
                border-right: 0;
                border-bottom: 1px solid var(--line);
                padding-bottom: 22px;
            }

            .plan:last-child {
                border-bottom: 0;
                padding-bottom: 0;
            }

            .plan h3 { font-size: 14px; }
            .price { font-size: 25px; }

            .aerial {
                height: 360px;
            }

            .proposal-cta {
                padding: 54px 22px 60px;
            }

            .proposal-cta h2 {
                font-size: 39px;
            }

            .proposal-cta p:not(.section-kicker) {
                font-size: 15px;
            }

            .tagline .top {
                font-size: 16px;
                line-height: 1.8;
            }

            .tagline .script {
                font-size: 24px;
            }

            .site-footer {
                padding: 48px 24px 96px;
            }

            .site-footer-top {
                grid-template-columns: 1fr;
                gap: 32px;
                text-align: left;
            }

            .site-footer-bottom {
                display: grid;
                gap: 18px;
            }

            .site-footer-bottom img {
                width: 150px;
            }
        }
