:root {
    --ex-navy: #061722;
    --ex-blue: #0f2d45;
    --ex-emerald: #315b4d;
    --ex-champagne: #d8b36a;
    --ex-cream: #f7f1e7;
    --ex-white: #ffffff;
    --ex-muted: #617080;
    --ex-shadow: 0 28px 80px rgba(6, 23, 34, 0.18);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--ex-cream);
    color: var(--ex-navy);
    font-family: Arial, Helvetica, sans-serif;
}

.ex-page {
    min-height: 100vh;
}

.ex-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 26px 7%;
}

.ex-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--ex-white);
    text-decoration: none;
    font-weight: 900;
}

.ex-brand__mark {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 999px;
    background: var(--ex-champagne);
    color: var(--ex-navy);
    font-size: 13px;
    letter-spacing: 0.5px;
}

.ex-brand__name {
    font-size: 28px;
    letter-spacing: -1px;
}

.ex-brand__name span {
    color: var(--ex-champagne);
}

.ex-nav {
    display: flex;
    gap: 26px;
}

.ex-nav a {
    color: var(--ex-white);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

.ex-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 130px 7% 90px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(6, 23, 34, 0.94), rgba(6, 23, 34, 0.45), rgba(6, 23, 34, 0.12)),
        url("https://images.unsplash.com/photo-1580060839134-75a5edca2e99?auto=format&fit=crop&w=2200&q=85");
    background-size: cover;
    background-position: center;
    color: var(--ex-white);
}

.ex-hero__content {
    position: relative;
    z-index: 2;
    max-width: 880px;
}

.ex-eyebrow {
    margin: 0 0 16px;
    color: var(--ex-champagne);
    text-transform: uppercase;
    letter-spacing: 2.2px;
    font-size: 12px;
    font-weight: 900;
}

.ex-hero h1 {
    margin: 0;
    max-width: 980px;
    font-size: clamp(50px, 7vw, 104px);
    line-height: 0.92;
    letter-spacing: -5px;
}

.ex-hero p:not(.ex-eyebrow) {
    max-width: 720px;
    margin: 30px 0 36px;
    color: #edf4f1;
    font-size: 21px;
    line-height: 1.65;
}

.ex-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.ex-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 26px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
}

.ex-btn--primary {
    background: var(--ex-champagne);
    color: var(--ex-navy);
}

.ex-btn--ghost {
    border: 1px solid rgba(255,255,255,0.45);
    color: var(--ex-white);
}

.ex-section {
    padding: 105px 7%;
}

.ex-section--light {
    background: var(--ex-cream);
}

.ex-section--dark {
    background: var(--ex-navy);
    color: var(--ex-white);
}

.ex-section__heading {
    max-width: 880px;
    margin: 0 auto 54px;
    text-align: center;
}

.ex-section__heading h2 {
    margin: 0 0 20px;
    font-size: clamp(34px, 4.5vw, 64px);
    line-height: 1.04;
    letter-spacing: -2px;
}

.ex-section__heading p:not(.ex-eyebrow) {
    margin: 0;
    color: var(--ex-muted);
    font-size: 18px;
    line-height: 1.75;
}

.ex-section--dark .ex-section__heading p:not(.ex-eyebrow) {
    color: #cbd8dc;
}

.ex-card-grid,
.ex-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.ex-card,
.ex-steps > div {
    min-height: 245px;
    padding: 30px;
    border-radius: 30px;
    box-shadow: var(--ex-shadow);
}

.ex-card {
    background: var(--ex-white);
}

.ex-steps > div {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
}

.ex-card span,
.ex-steps strong {
    color: var(--ex-champagne);
    font-weight: 900;
}

.ex-steps strong {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(216, 179, 106, 0.15);
}

.ex-card h3,
.ex-steps h3 {
    margin: 28px 0 12px;
    font-size: 24px;
}

.ex-card p,
.ex-steps p {
    margin: 0;
    color: var(--ex-muted);
    line-height: 1.7;
}

.ex-steps p {
    color: #d8e0e3;
}

@media (max-width: 1000px) {
    .ex-card-grid,
    .ex-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .ex-header {
        position: absolute;
        align-items: flex-start;
    }
}

@media (max-width: 720px) {
    .ex-header {
        flex-direction: column;
        gap: 18px;
    }

    .ex-nav {
        flex-wrap: wrap;
        gap: 14px;
    }

    .ex-hero {
        padding-top: 170px;
    }

    .ex-hero h1 {
        letter-spacing: -2px;
    }

    .ex-card-grid,
    .ex-steps {
        grid-template-columns: 1fr;
    }
}

.ex-builder {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(216,179,106,0.16), transparent 36%),
        linear-gradient(135deg, #f7f1e7 0%, #ffffff 100%);
}

.ex-builder-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 28px 7%;
}

.ex-brand--dark {
    color: var(--ex-navy);
}

.ex-progress {
    display: flex;
    gap: 8px;
}

.ex-progress span {
    width: 42px;
    height: 5px;
    border-radius: 999px;
    background: #d7dde1;
}

.ex-progress span.active {
    background: var(--ex-champagne);
}

.ex-builder-step {
    max-width: 1120px;
    margin: 0 auto;
    padding: 70px 7% 100px;
    text-align: center;
}

.ex-builder-step h1 {
    max-width: 980px;
    margin: 0 auto;
    color: var(--ex-navy);
    font-size: clamp(42px, 6vw, 82px);
    line-height: 0.98;
    letter-spacing: -4px;
}

.ex-builder-lead {
    max-width: 680px;
    margin: 24px auto 44px;
    color: var(--ex-muted);
    font-size: 20px;
    line-height: 1.7;
}

.ex-month-select {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ex-month-select a {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border-radius: 28px;
    background: var(--ex-white);
    color: var(--ex-navy);
    text-align: left;
    text-decoration: none;
    box-shadow: var(--ex-shadow);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ex-month-select a:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 90px rgba(6, 23, 34, 0.24);
}

.ex-month-select strong {
    font-size: 24px;
}

.ex-month-select span {
    color: var(--ex-champagne);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
}

@media (max-width: 900px) {
    .ex-month-select {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .ex-builder-header {
        flex-direction: column;
        gap: 22px;
    }

    .ex-month-select {
        grid-template-columns: 1fr;
    }
}

.ex-month-select small {
    display: block;
    margin-top: 14px;
    color: var(--ex-muted);
    font-size: 13px;
    line-height: 1.5;
}

.ex-selected-context {
    max-width: 760px;
    margin: 0 auto 34px;
    padding: 22px 26px;
    border-radius: 26px;
    background: rgba(216, 179, 106, 0.14);
    border: 1px solid rgba(216, 179, 106, 0.32);
    text-align: left;
}

.ex-selected-context span {
    display: block;
    color: var(--ex-navy);
    font-size: 24px;
    font-weight: 900;
}

.ex-selected-context strong {
    display: inline-block;
    margin: 5px 0 8px;
    color: var(--ex-champagne);
    text-transform: uppercase;
    letter-spacing: 1.6px;
    font-size: 12px;
}

.ex-selected-context p {
    margin: 0;
    color: var(--ex-muted);
    line-height: 1.6;
}

.ex-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.ex-choice-grid a {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border-radius: 28px;
    background: var(--ex-white);
    color: var(--ex-navy);
    text-align: left;
    text-decoration: none;
    box-shadow: var(--ex-shadow);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ex-choice-grid a:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 90px rgba(6, 23, 34, 0.24);
}

.ex-choice-grid strong {
    font-size: 23px;
}

.ex-choice-grid span {
    margin-top: 18px;
    color: var(--ex-muted);
    font-size: 14px;
    line-height: 1.5;
}

.ex-builder-back {
    margin-top: 34px;
}

.ex-builder-back a {
    color: var(--ex-navy);
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 980px) {
    .ex-choice-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .ex-choice-grid {
        grid-template-columns: 1fr;
    }
}

.ex-interest-form {
    margin-top: 10px;
}

.ex-choice-check {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border-radius: 28px;
    background: var(--ex-white);
    color: var(--ex-navy);
    text-align: left;
    box-shadow: var(--ex-shadow);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ex-choice-check:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 90px rgba(6, 23, 34, 0.24);
}

.ex-choice-check input {
    width: 18px;
    height: 18px;
    margin-bottom: 16px;
    accent-color: var(--ex-champagne);
}

.ex-choice-check strong {
    font-size: 23px;
}

.ex-choice-check span {
    margin-top: 18px;
    color: var(--ex-muted);
    font-size: 14px;
    line-height: 1.5;
}

.ex-builder-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 40px;
}

.ex-btn--muted {
    background: #e9e0d2;
    color: var(--ex-navy);
}

.ex-style-form {
    margin-top: 20px;
}

.ex-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    text-align: left;
}

.ex-two-column h2 {
    margin: 0 0 18px;
    color: var(--ex-navy);
    font-size: 28px;
}

.ex-radio-stack {
    display: grid;
    gap: 14px;
}

.ex-radio-stack label {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 20px;
    border-radius: 24px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
    cursor: pointer;
}

.ex-radio-stack input {
    margin-top: 5px;
    accent-color: var(--ex-champagne);
}

.ex-radio-stack strong {
    display: block;
    font-size: 20px;
    color: var(--ex-navy);
}

.ex-radio-stack small {
    display: block;
    margin-top: 6px;
    color: var(--ex-muted);
    line-height: 1.5;
}

@media (max-width: 850px) {
    .ex-two-column {
        grid-template-columns: 1fr;
    }
}

.ex-style-form {
    margin-top: 20px;
}

.ex-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    text-align: left;
}

.ex-two-column h2 {
    margin: 0 0 18px;
    color: var(--ex-navy);
    font-size: 28px;
}

.ex-radio-stack {
    display: grid;
    gap: 14px;
}

.ex-radio-stack label {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 20px;
    border-radius: 24px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
    cursor: pointer;
}

.ex-radio-stack input {
    margin-top: 5px;
    accent-color: var(--ex-champagne);
}

.ex-radio-stack strong {
    display: block;
    font-size: 20px;
    color: var(--ex-navy);
}

.ex-radio-stack small {
    display: block;
    margin-top: 6px;
    color: var(--ex-muted);
    line-height: 1.5;
}

@media (max-width: 850px) {
    .ex-two-column {
        grid-template-columns: 1fr;
    }
}

.ex-preview-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 34px 0 18px;
}

.ex-preview-summary div {
    padding: 20px;
    border-radius: 22px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
    text-align: left;
}

.ex-preview-summary span {
    display: block;
    margin-bottom: 6px;
    color: var(--ex-champagne);
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-size: 11px;
    font-weight: 900;
}

.ex-preview-summary strong {
    color: var(--ex-navy);
    font-size: 20px;
}

.ex-interest-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 24px 0 38px;
}

.ex-interest-pills span {
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(216, 179, 106, 0.16);
    color: var(--ex-navy);
    font-weight: 800;
    font-size: 13px;
}

.ex-recommendation-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    text-align: left;
}

.ex-recommendation-card {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px;
    border-radius: 30px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
}

.ex-score {
    display: inline-grid;
    place-items: center;
    min-width: 52px;
    height: 38px;
    padding: 0 12px;
    border-radius: 999px;
    background: var(--ex-champagne);
    color: var(--ex-navy);
    font-weight: 900;
}

.ex-recommendation-card h2 {
    margin: 22px 0 12px;
    color: var(--ex-navy);
    font-size: 27px;
    line-height: 1.12;
}

.ex-recommendation-card p {
    color: var(--ex-muted);
    line-height: 1.65;
}

.ex-recommendation-card ul {
    padding-left: 18px;
    margin: 22px 0 0;
    color: var(--ex-muted);
    line-height: 1.6;
}

@media (max-width: 980px) {
    .ex-preview-summary,
    .ex-recommendation-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 660px) {
    .ex-preview-summary,
    .ex-recommendation-grid {
        grid-template-columns: 1fr;
    }
}

.ex-enquiry-form {
    max-width: 920px;
    margin: 44px auto 0;
    padding: 34px;
    border-radius: 32px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
    text-align: left;
}

.ex-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.ex-enquiry-form label {
    display: grid;
    gap: 8px;
    color: var(--ex-navy);
    font-weight: 900;
}

.ex-enquiry-form input,
.ex-enquiry-form textarea {
    width: 100%;
    padding: 14px 15px;
    border: 1px solid #d7dde1;
    border-radius: 16px;
    font: inherit;
}

.ex-full-field {
    margin-top: 18px;
}

@media (max-width: 720px) {
    .ex-form-grid {
        grid-template-columns: 1fr;
    }
}

.ex-checkbox-field {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 14px 0;
}

.ex-checkbox-field input {
    width: auto;
    accent-color: var(--ex-champagne);
}

.ex-catalogue-preview {
    margin-top: 42px;
    padding: 32px;
    border-radius: 32px;
    background: rgba(255,255,255,0.72);
    box-shadow: var(--ex-shadow);
    text-align: center;
}

.ex-catalogue-preview h2 {
    max-width: 760px;
    margin: 0 auto 14px;
    color: var(--ex-navy);
    font-size: 30px;
}

.ex-muted-line {
    max-width: 760px;
    margin: 0 auto;
    color: var(--ex-muted);
    line-height: 1.7;
}

.ex-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 24px;
    text-align: left;
}

.ex-mini-grid article {
    padding: 22px;
    border-radius: 22px;
    background: var(--ex-white);
}

.ex-mini-grid strong {
    display: block;
    color: var(--ex-navy);
    font-size: 20px;
}

.ex-mini-grid span {
    display: block;
    margin: 8px 0;
    color: var(--ex-champagne);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ex-mini-grid p {
    margin: 0;
    color: var(--ex-muted);
    line-height: 1.55;
}

@media (max-width: 850px) {
    .ex-mini-grid {
        grid-template-columns: 1fr;
    }
}

.ex-select-link {
    display: inline-flex;
    justify-content: center;
    margin-top: 22px;
    padding: 12px 18px;
    border-radius: 999px;
    background: var(--ex-navy);
    color: var(--ex-white);
    text-decoration: none;
    font-weight: 900;
}

.ex-thank-summary {
    max-width: 760px;
    margin: 36px auto;
    padding: 32px;
    border-radius: 32px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
    text-align: left;
}

.ex-thank-summary h2 {
    margin: 0 0 24px;
    color: var(--ex-navy);
    font-size: 30px;
}

.ex-thank-row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid #edf0f2;
}

.ex-thank-row span {
    color: var(--ex-champagne);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ex-thank-row strong {
    color: var(--ex-navy);
}

@media (max-width: 620px) {
    .ex-thank-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

.ex-nav--dark a {
    color: var(--ex-navy);
}

.ex-discover-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    text-align: left;
}

.ex-discover-card {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px;
    border-radius: 30px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
}

.ex-discover-card span {
    color: var(--ex-champagne);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ex-discover-card h2 {
    margin: 18px 0 12px;
    color: var(--ex-navy);
    font-size: 27px;
    line-height: 1.12;
}

.ex-discover-card p {
    color: var(--ex-muted);
    line-height: 1.65;
}

@media (max-width: 980px) {
    .ex-discover-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 660px) {
    .ex-discover-grid {
        grid-template-columns: 1fr;
    }
}

.ex-card-link {
    text-decoration: none;
}

.ex-detail-hero {
    position: relative;
    min-height: 72vh;
    display: flex;
    align-items: flex-end;
    padding: 140px 7% 90px;
    background:
        linear-gradient(90deg, rgba(6, 23, 34, 0.94), rgba(6, 23, 34, 0.48), rgba(6, 23, 34, 0.2)),
        url("https://images.unsplash.com/photo-1580060839134-75a5edca2e99?auto=format&fit=crop&w=2200&q=85");
    background-size: cover;
    background-position: center;
    color: var(--ex-white);
}

.ex-detail-hero__content {
    max-width: 980px;
    position: relative;
    z-index: 2;
}

.ex-detail-hero h1 {
    margin: 0;
    font-size: clamp(46px, 6.5vw, 92px);
    line-height: 0.95;
    letter-spacing: -4px;
}

.ex-detail-hero p:not(.ex-eyebrow) {
    max-width: 760px;
    margin: 28px 0 0;
    color: #edf4f1;
    font-size: 21px;
    line-height: 1.65;
}

.ex-detail-body {
    display: grid;
    grid-template-columns: minmax(0, 2fr) 420px;
    gap: 34px;
    padding: 80px 7%;
    background: var(--ex-cream);
}

.ex-detail-main,
.ex-side-card {
    background: var(--ex-white);
    border-radius: 32px;
    padding: 34px;
    box-shadow: var(--ex-shadow);
}

.ex-detail-main h2 {
    margin: 0 0 20px;
    font-size: clamp(34px, 4vw, 58px);
    letter-spacing: -2px;
}

.ex-detail-main h3,
.ex-side-card h3 {
    margin-top: 28px;
    font-size: 24px;
}

.ex-detail-main p,
.ex-side-card p {
    color: var(--ex-muted);
    line-height: 1.75;
    font-size: 17px;
}

.ex-detail-side {
    display: grid;
    align-content: start;
    gap: 22px;
}

@media (max-width: 1000px) {
    .ex-detail-body {
        grid-template-columns: 1fr;
    }
}

.ex-discover-section {
    margin-top: 64px;
}

.ex-discover-section:first-of-type {
    margin-top: 42px;
}

.ex-discover-grid--compact .ex-discover-card {
    min-height: 220px;
}

.ex-filter-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 32px 0 38px;
}

.ex-filter-strip a,
.ex-pagination a,
.ex-pagination span {
    display: inline-flex;
    padding: 10px 15px;
    border-radius: 999px;
    background: var(--ex-white);
    color: var(--ex-navy);
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 10px 28px rgba(6,23,34,.08);
}

.ex-pagination {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 38px;
}

.ex-results-count {
    margin: 0 0 24px;
    color: var(--ex-muted);
    font-weight: 800;
    text-align: center;
}

.ex-insider-box {
    margin-top: 32px;
    padding: 28px;
    border-radius: 26px;
    background: rgba(216,179,106,.18);
    border: 1px solid rgba(216,179,106,.35);
}

.ex-insider-box h3 {
    margin-top: 0;
}

.ex-planning-grid {
    display: grid;
    gap: 12px;
}

.ex-planning-grid div {
    padding: 14px;
    border-radius: 16px;
    background: var(--ex-cream);
}

.ex-planning-grid span {
    display: block;
    color: var(--ex-champagne);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ex-planning-grid strong {
    display: block;
    margin-top: 5px;
    color: var(--ex-navy);
}

.ex-search-form {
    max-width: 780px;
    margin: 34px auto 38px;
    display: flex;
    gap: 12px;
    padding: 12px;
    border-radius: 999px;
    background: var(--ex-white);
    box-shadow: var(--ex-shadow);
}

.ex-search-form input {
    flex: 1;
    border: none;
    padding: 0 18px;
    font: inherit;
    outline: none;
    background: transparent;
    color: var(--ex-navy);
}

@media (max-width: 650px) {
    .ex-search-form {
        border-radius: 26px;
        flex-direction: column;
    }

    .ex-search-form input {
        min-height: 48px;
    }
}

/* Gold-standard luxury destination detail page */

.ex-lux-detail {
    background: #f4efe6;
    color: var(--ex-navy);
}

.ex-lux-hero {
    min-height: 92vh;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 140px 7% 96px;
    color: #fff;
    background:
        radial-gradient(circle at 75% 25%, rgba(216,179,106,.35), transparent 32%),
        linear-gradient(90deg, rgba(4,18,27,.94), rgba(4,18,27,.65), rgba(4,18,27,.28)),
        url("https://images.unsplash.com/photo-1580060839134-75a5edca2e99?auto=format&fit=crop&w=2400&q=90");
    background-size: cover;
    background-position: center;
}

.ex-lux-hero:after {
    content: "";
    position: absolute;
    inset: auto 7% 54px;
    height: 1px;
    background: linear-gradient(90deg, rgba(216,179,106,.9), transparent);
}

.ex-lux-hero__inner {
    max-width: 980px;
    position: relative;
    z-index: 2;
}

.ex-lux-hero h1 {
    margin: 0;
    max-width: 980px;
    font-size: clamp(54px, 7.2vw, 112px);
    line-height: .88;
    letter-spacing: -5px;
}

.ex-lux-hero p:not(.ex-eyebrow) {
    max-width: 760px;
    margin: 30px 0 0;
    color: rgba(255,255,255,.9);
    font-size: clamp(19px, 2vw, 25px);
    line-height: 1.55;
}

.ex-lux-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.ex-lux-stats span {
    padding: 11px 15px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.11);
    backdrop-filter: blur(14px);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.ex-lux-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 42px;
    padding: 84px 7%;
}

.ex-lux-intro h2,
.ex-lux-editorial h2,
.ex-lux-card h2,
.ex-lux-cta h2 {
    margin: 0 0 22px;
    font-size: clamp(34px, 4vw, 64px);
    line-height: 1;
    letter-spacing: -2.4px;
}

.ex-lux-lead {
    max-width: 900px;
    color: #3d5060;
    font-size: clamp(20px, 2vw, 27px);
    line-height: 1.62;
}

.ex-lux-snapshot,
.ex-lux-card,
.ex-lux-editorial article {
    border-radius: 34px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 28px 80px rgba(4,18,27,.10);
    border: 1px solid rgba(216,179,106,.22);
}

.ex-lux-snapshot {
    padding: 30px;
    align-self: start;
}

.ex-lux-snapshot h3 {
    margin: 0 0 20px;
    font-size: 26px;
}

.ex-lux-snapshot dl {
    margin: 0;
    display: grid;
    gap: 12px;
}

.ex-lux-snapshot div,
.ex-lux-mini-grid div,
.ex-score-grid div {
    padding: 16px;
    border-radius: 18px;
    background: #f5efe5;
}

.ex-lux-snapshot dt,
.ex-lux-mini-grid span,
.ex-score-grid span {
    color: var(--ex-champagne);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.ex-lux-snapshot dd {
    margin: 5px 0 0;
    font-weight: 900;
}

.ex-lux-band {
    padding: 30px 7% 86px;
}

.ex-lux-editorial {
    display: grid;
    gap: 28px;
    max-width: 1180px;
}

.ex-lux-editorial article {
    padding: clamp(32px, 5vw, 58px);
}

.ex-lux-editorial p {
    max-width: 940px;
    color: #405466;
    font-size: 19px;
    line-height: 1.78;
}

.ex-lux-highlight-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 22px 0 24px;
}

.ex-lux-highlight-grid span,
.ex-lux-pill-grid span {
    display: inline-flex;
    padding: 12px 16px;
    border-radius: 999px;
    background: #071d2b;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.ex-lux-note {
    background:
        linear-gradient(135deg, rgba(216,179,106,.18), rgba(255,255,255,.92)) !important;
}

.ex-lux-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding: 0 7% 86px;
}

.ex-lux-card {
    padding: clamp(30px, 4vw, 48px);
}

.ex-lux-pill-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ex-lux-mini-grid,
.ex-score-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.ex-lux-mini-grid strong,
.ex-score-grid strong {
    display: block;
    margin-top: 7px;
    color: var(--ex-navy);
    font-size: 18px;
}

.ex-lux-scores,
.ex-lux-related {
    padding: 86px 7%;
    background: #fff;
}

.ex-score-grid {
    grid-template-columns: repeat(4, 1fr);
    max-width: 1180px;
    margin: 34px auto 0;
}

.ex-lux-related {
    background: #f4efe6;
}

.ex-lux-cta {
    margin: 0 7% 80px;
    padding: clamp(44px, 6vw, 78px);
    border-radius: 42px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(circle at 20% 20%, rgba(216,179,106,.38), transparent 32%),
        linear-gradient(135deg, #071d2b, #102f42);
    box-shadow: 0 34px 90px rgba(4,18,27,.22);
}

.ex-lux-cta p:not(.ex-eyebrow) {
    max-width: 760px;
    margin: 0 auto 28px;
    color: rgba(255,255,255,.82);
    font-size: 20px;
    line-height: 1.65;
}

.ex-section--quiet {
    padding: 40px 7% 80px;
    background: #f4efe6;
}

.ex-source-details {
    max-width: 1100px;
    margin: 0 auto;
    color: #556879;
}

.ex-source-details summary {
    cursor: pointer;
    font-weight: 900;
}

.ex-source-details pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 1000px) {
    .ex-lux-intro,
    .ex-lux-two-col {
        grid-template-columns: 1fr;
    }

    .ex-score-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ex-lux-hero {
        min-height: 82vh;
        padding: 120px 6% 70px;
    }

    .ex-lux-hero h1 {
        letter-spacing: -2.5px;
    }

    .ex-lux-intro,
    .ex-lux-band,
    .ex-lux-two-col,
    .ex-lux-scores,
    .ex-lux-related {
        padding-left: 6%;
        padding-right: 6%;
    }

    .ex-score-grid,
    .ex-lux-mini-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   Eire2SA Premium Discover Theme
   Added during Premium Website Polish phase.
   ========================================================== */

.ex-builder{
    background:
        radial-gradient(circle at top left, rgba(216,179,106,.16), transparent 34rem),
        linear-gradient(180deg,#fffaf1 0%,#f6efe3 48%,#ffffff 100%);
    min-height:100vh;
}

.ex-builder-step{max-width:1180px}
.ex-builder-step > h1{letter-spacing:-1.8px}
.ex-builder-lead{max-width:780px;font-size:18px;line-height:1.75;color:#4f6170}
.ex-discover-section{margin-top:54px}
.ex-section__heading h2{letter-spacing:-.9px}

.ex-search-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    background:rgba(255,255,255,.72);
    border:1px solid #eadfc9;
    border-radius:999px;
    padding:8px;
    box-shadow:0 16px 42px rgba(16,38,54,.08);
    backdrop-filter:blur(8px);
    margin:24px 0 30px;
}

.ex-search-form input{
    width:100%;
    border:0;
    background:transparent;
    padding:14px 18px;
    font-size:15px;
    color:#102636;
    outline:none;
}

.ex-search-form input::placeholder{color:#7c8790}

.ex-filter-strip{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:26px 0;
}

.ex-filter-strip a{
    text-decoration:none;
    color:#0b2434;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:999px;
    padding:9px 13px;
    font-weight:850;
    font-size:13px;
    transition:.18s ease;
}

.ex-filter-strip a:hover{
    transform:translateY(-1px);
    background:#f3ead8;
    border-color:#d8b36a;
}

.ex-results-count{
    display:inline-flex;
    margin:4px 0 22px;
    padding:9px 13px;
    border-radius:999px;
    background:#0b2434;
    color:#fff;
    font-size:13px;
    font-weight:850;
}

.ex-discover-grid{gap:22px}

.ex-discover-card{
    position:relative;
    min-height:250px;
    overflow:hidden;
    isolation:isolate;
    border-radius:28px;
    border:1px solid rgba(216,179,106,.34);
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(251,247,239,.94));
    box-shadow:0 18px 52px rgba(16,38,54,.09);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ex-discover-card:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top right, rgba(216,179,106,.22), transparent 16rem),
        linear-gradient(180deg, rgba(255,255,255,.06), transparent);
    z-index:-1;
}

.ex-discover-card:after{
    content:"Explore →";
    position:absolute;
    right:20px;
    bottom:18px;
    color:#9c7b34;
    font-weight:950;
    font-size:13px;
    opacity:.9;
}

.ex-discover-card:hover{
    transform:translateY(-5px);
    box-shadow:0 26px 70px rgba(16,38,54,.16);
    border-color:#d8b36a;
}

.ex-discover-card > div:first-child{padding:28px 28px 72px}

.ex-discover-card span:first-child{
    display:inline-flex;
    width:auto;
    max-width:100%;
    margin-bottom:12px;
    padding:8px 11px;
    border-radius:999px;
    background:#0b2434;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.9px;
    font-size:10px;
    font-weight:950;
    line-height:1.2;
}

.ex-discover-card h2{
    font-size:clamp(23px,2.2vw,32px);
    line-height:1.03;
    letter-spacing:-1px;
    margin:0 0 12px;
    color:#102636;
}

.ex-discover-card p{
    color:#526472;
    line-height:1.65;
    font-size:15px;
    margin:0;
}

.ex-interest-pills{
    position:absolute;
    left:22px;
    right:92px;
    bottom:18px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0;
}

.ex-interest-pills span{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#f3ead8;
    color:#0b2434;
    font-size:11px;
    font-weight:900;
}

.ex-discover-grid--compact .ex-discover-card{min-height:210px}

.ex-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:34px 0 0;
}

.ex-pagination a,
.ex-pagination span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 15px;
    border-radius:999px;
    background:#fff;
    border:1px solid #eadfc9;
    color:#102636;
    text-decoration:none;
    font-weight:850;
}

.ex-pagination a:hover{
    background:#f3ead8;
    border-color:#d8b36a;
}

@media(max-width:760px){
    .ex-search-form{
        grid-template-columns:1fr;
        border-radius:24px;
    }

    .ex-search-form .ex-btn{
        width:100%;
        justify-content:center;
    }

    .ex-discover-card{
        min-height:230px;
        border-radius:24px;
    }

    .ex-discover-card > div:first-child{
        padding:24px 24px 76px;
    }

    .ex-interest-pills{
        right:24px;
    }

    .ex-discover-card:after{
        right:24px;
        bottom:16px;
    }
}

/* ==========================================================
   Eire2SA Intelligent Homepage
   Catalogue-driven homepage sections.
   ========================================================== */

.ex-homepage{
    background:
        radial-gradient(circle at top left, rgba(216,179,106,.18), transparent 34rem),
        linear-gradient(180deg,#fffaf1 0%,#f6efe3 46%,#ffffff 100%);
    min-height:100vh;
}

.ex-home-hero{
    min-height:78vh;
    display:flex;
    align-items:center;
    padding:70px 24px 80px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(6,23,34,.92),rgba(6,23,34,.64),rgba(6,23,34,.25)),
        radial-gradient(circle at 75% 20%,rgba(216,179,106,.28),transparent 22rem),
        #0b2434;
    border-radius:0 0 46px 46px;
}

.ex-home-hero__content{
    max-width:1180px;
    width:100%;
    margin:0 auto;
}

.ex-home-hero h1{
    font-size:clamp(46px,7vw,92px);
    line-height:.93;
    letter-spacing:-3.2px;
    margin:0 0 22px;
    max-width:900px;
}

.ex-home-hero__lead{
    font-size:20px;
    line-height:1.7;
    max-width:770px;
    color:#e9f0f2;
}

.ex-home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

.ex-home-stats{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:34px;
}

.ex-home-stats div{
    min-width:150px;
    padding:16px 18px;
    border-radius:22px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
}

.ex-home-stats strong{
    display:block;
    font-size:30px;
    line-height:1;
    color:#d8b36a;
}

.ex-home-stats span{
    display:block;
    margin-top:5px;
    color:#edf4f5;
    font-size:13px;
    font-weight:800;
}

.ex-home-paths{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.ex-home-path-card{
    display:block;
    text-decoration:none;
    color:#102636;
    border-radius:34px;
    padding:34px;
    min-height:320px;
    background:linear-gradient(145deg,#ffffff,#fbf7ef);
    border:1px solid rgba(216,179,106,.42);
    box-shadow:0 22px 64px rgba(16,38,54,.1);
    transition:.22s ease;
}

.ex-home-path-card:hover{
    transform:translateY(-5px);
    box-shadow:0 30px 80px rgba(16,38,54,.16);
    border-color:#d8b36a;
}

.ex-home-path-card span,
.ex-home-category-grid a span,
.ex-home-journey-card > span{
    display:inline-flex;
    padding:8px 11px;
    border-radius:999px;
    background:#0b2434;
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.9px;
    font-size:10px;
    font-weight:950;
    margin-bottom:14px;
}

.ex-home-path-card h2{
    font-size:clamp(30px,4vw,48px);
    line-height:1;
    letter-spacing:-1.6px;
    margin:0 0 14px;
}

.ex-home-path-card p{
    color:#526472;
    line-height:1.7;
    font-size:16px;
}

.ex-home-path-card strong{
    display:inline-flex;
    margin-top:18px;
    color:#9c7b34;
}

.ex-home-category-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.ex-home-category-grid a{
    text-decoration:none;
    color:#102636;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:24px;
    padding:20px;
    min-height:150px;
    transition:.18s ease;
    box-shadow:0 14px 38px rgba(16,38,54,.07);
}

.ex-home-category-grid a:hover{
    transform:translateY(-3px);
    border-color:#d8b36a;
    box-shadow:0 20px 50px rgba(16,38,54,.13);
}

.ex-home-category-grid a strong{
    display:block;
    font-size:22px;
    line-height:1.1;
    letter-spacing:-.6px;
}

.ex-home-category-grid a small{
    display:block;
    margin-top:10px;
    color:#6a7680;
    font-weight:800;
}

.ex-home-journey-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.ex-home-journey-card{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:30px;
    padding:26px;
    box-shadow:0 18px 52px rgba(16,38,54,.09);
}

.ex-home-journey-card h2{
    margin:0 0 10px;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-1px;
}

.ex-home-journey-card p{
    color:#526472;
    line-height:1.65;
}

.ex-home-journey-card ol{
    margin:18px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:9px;
}

.ex-home-journey-card li{
    display:flex;
    justify-content:space-between;
    gap:12px;
    border-radius:16px;
    background:#fbf7ef;
    border:1px solid #eadfc9;
    padding:11px 13px;
    font-weight:900;
}

.ex-home-journey-card li a{
    color:#102636;
    text-decoration:none;
}

.ex-home-journey-card li small{
    color:#9c7b34;
    white-space:nowrap;
}

.ex-home-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.ex-home-steps article{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:28px;
    padding:26px;
    box-shadow:0 14px 38px rgba(16,38,54,.07);
}

.ex-home-steps span{
    width:38px;
    height:38px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#d8b36a;
    color:#0b2434;
    font-weight:950;
}

.ex-home-steps h2{
    margin:18px 0 10px;
}

.ex-home-steps p{
    color:#526472;
    line-height:1.65;
}

@media(max-width:900px){
    .ex-home-hero{
        min-height:70vh;
        border-radius:0 0 30px 30px;
    }

    .ex-home-paths,
    .ex-home-journey-grid,
    .ex-home-steps{
        grid-template-columns:1fr;
    }

    .ex-home-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .ex-home-category-grid{
        grid-template-columns:1fr;
    }

    .ex-home-hero h1{
        letter-spacing:-2px;
    }
}

/* ==========================================================
   Eire2SA Luxury Journey Designer
   Consultant-style Design My Journey flow.
   ========================================================== */

.ex-lux-designer{
    background:
        radial-gradient(circle at top left, rgba(216,179,106,.16), transparent 34rem),
        linear-gradient(180deg,#fffaf1 0%,#f7efe2 52%,#ffffff 100%);
    min-height:100vh;
}

.ex-designer-progress{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}

.ex-designer-progress div{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:999px;
    background:#fff;
    border:1px solid #eadfc9;
    color:#5d6b76;
    font-size:12px;
    font-weight:850;
}

.ex-designer-progress div.is-complete{
    background:#0b2434;
    color:#fff;
    border-color:#0b2434;
}

.ex-designer-progress span{
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#d8b36a;
    color:#0b2434;
    font-size:11px;
    font-weight:950;
}

.ex-designer-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:34px;
    align-items:start;
}

.ex-designer-summary{
    position:sticky;
    top:24px;
    background:#0b2434;
    color:#fff;
    border-radius:30px;
    padding:26px;
    box-shadow:0 24px 70px rgba(11,36,52,.2);
}

.ex-designer-summary h2{
    margin:0 0 18px;
    color:#fff;
    font-size:28px;
    line-height:1.05;
    letter-spacing:-1px;
}

.ex-designer-summary h3{
    color:#d8b36a;
    margin:22px 0 10px;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.ex-designer-summary__rows{
    display:grid;
    gap:8px;
}

.ex-designer-summary__rows div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:11px 12px;
}

.ex-designer-summary__rows span{
    display:block;
    color:#c8d2d8;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-weight:900;
    margin-bottom:4px;
}

.ex-designer-summary__rows strong{
    color:#fff;
    font-size:14px;
}

.ex-designer-pills{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.ex-designer-pills span{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#d8b36a;
    color:#0b2434;
    font-size:11px;
    font-weight:950;
}

.ex-designer-quality{
    margin-top:20px;
    padding:15px;
    border-radius:18px;
    background:rgba(216,179,106,.15);
    border:1px solid rgba(216,179,106,.35);
}

.ex-designer-quality span{
    display:block;
    color:#d8b36a;
    font-size:18px;
    letter-spacing:2px;
    margin-bottom:5px;
}

.ex-designer-quality strong{
    color:#fff;
}

.ex-designer-summary ul,
.ex-next-steps-card ol,
.ex-consultant-recommendation ul{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:9px;
}

.ex-designer-summary li{
    color:#e8eef1;
    line-height:1.55;
    font-size:13px;
}

.ex-lux-choice-grid a,
.ex-lux-choice-grid label{
    box-shadow:0 18px 50px rgba(16,38,54,.08);
    border:1px solid rgba(216,179,106,.34);
    border-radius:24px;
    background:linear-gradient(145deg,#fff,#fbf7ef);
}

.ex-consultant-recommendation{
    background:#0b2434;
    color:#fff;
    border-radius:34px;
    padding:32px;
    box-shadow:0 24px 70px rgba(11,36,52,.2);
    margin-bottom:28px;
}

.ex-consultant-recommendation > span{
    display:inline-flex;
    padding:8px 11px;
    border-radius:999px;
    background:#d8b36a;
    color:#0b2434;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.9px;
    font-weight:950;
}

.ex-consultant-recommendation h2{
    color:#fff;
    font-size:clamp(34px,5vw,58px);
    line-height:.98;
    letter-spacing:-2px;
    margin:18px 0;
}

.ex-consultant-recommendation p,
.ex-consultant-recommendation li{
    color:#e8eef1;
    line-height:1.7;
}

.ex-consultant-recommendation h3{
    color:#d8b36a;
    margin-top:24px;
}

.ex-consultant-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:24px 0;
}

.ex-consultant-metrics div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:14px;
}

.ex-consultant-metrics small{
    display:block;
    color:#c8d2d8;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-weight:900;
    margin-bottom:5px;
}

.ex-consultant-metrics strong{
    color:#fff;
}

.ex-enquiry-workspace{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:34px;
    align-items:start;
}

.ex-next-steps-card{
    margin-top:22px;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:28px;
    padding:24px;
    box-shadow:0 18px 50px rgba(16,38,54,.08);
}

.ex-next-steps-card h2{
    margin-top:0;
}

.ex-next-steps-card li{
    display:grid;
    gap:3px;
    padding:13px;
    border-radius:16px;
    background:#fbf7ef;
    border:1px solid #eadfc9;
}

.ex-next-steps-card li strong{
    color:#102636;
}

.ex-next-steps-card li span{
    color:#5d6b76;
    line-height:1.5;
}

.ex-thank-hero{
    min-height:58vh;
    display:flex;
    align-items:center;
    padding:70px 24px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(6,23,34,.92),rgba(6,23,34,.64)),
        radial-gradient(circle at 80% 20%,rgba(216,179,106,.26),transparent 24rem),
        #0b2434;
    border-radius:0 0 44px 44px;
}

.ex-thank-hero > div{
    max-width:1180px;
    width:100%;
    margin:0 auto;
}

.ex-thank-hero h1{
    font-size:clamp(42px,6vw,82px);
    line-height:.94;
    letter-spacing:-2.6px;
    margin:0 0 18px;
    max-width:850px;
}

.ex-thank-hero p{
    max-width:700px;
    color:#e8eef1;
    font-size:19px;
    line-height:1.7;
}

@media(max-width:980px){
    .ex-designer-layout,
    .ex-enquiry-workspace{
        grid-template-columns:1fr;
    }

    .ex-designer-summary{
        position:static;
        order:-1;
    }

    .ex-consultant-metrics{
        grid-template-columns:1fr;
    }

    .ex-designer-progress{
        justify-content:flex-start;
        margin-top:16px;
    }
}

/* ==========================================================
   Eire2SA Journey Intelligence
   Smart Discover basket route summary.
   ========================================================== */

.e2sa-journey-intelligence{
    margin-top:10px;
    display:grid;
    gap:8px;
}

.e2sa-journey-quality{
    display:grid;
    gap:3px;
    padding:10px;
    border-radius:15px;
    background:rgba(216,179,106,.14);
    border:1px solid rgba(216,179,106,.28);
}

.e2sa-journey-quality span{
    color:#d8b36a;
    letter-spacing:1.8px;
    font-size:13px;
}

.e2sa-journey-quality strong{
    color:#fff;
    font-size:13px;
}

.e2sa-journey-nights{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.e2sa-journey-nights span{
    color:#c8d2d8;
    font-size:11px;
    font-weight:850;
}

.e2sa-journey-nights strong{
    color:#fff;
    font-size:12px;
}

.e2sa-journey-intelligence p{
    color:#dce6ea;
    font-size:12px;
    line-height:1.45;
    margin:0;
}

.e2sa-itinerary-stage{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:9px;
}

.e2sa-itinerary-stage-head{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:8px;
    align-items:center;
}

.e2sa-itinerary-stage-head strong{
    color:#fff;
    font-size:13px;
}

.e2sa-itinerary-stage-head small{
    color:#d8b36a;
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}

.e2sa-itinerary-stage-items{
    margin-top:7px;
    display:grid;
    gap:4px;
    padding-left:30px;
}

.e2sa-itinerary-stage-items span{
    color:#c8d2d8;
    font-size:11px;
    line-height:1.35;
}

/* ==========================================================
   Eire2SA Discover Enquiry Conversion
   Premium selected-itinerary enquiry page.
   ========================================================== */

.ex-discover-enquiry{
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(216,179,106,.16), transparent 34rem),
        linear-gradient(180deg,#fffaf1 0%,#f7efe2 52%,#ffffff 100%);
}

.ex-discover-enquiry-hero{
    min-height:52vh;
    display:flex;
    align-items:center;
    padding:70px 24px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(6,23,34,.92),rgba(6,23,34,.62)),
        radial-gradient(circle at 82% 18%,rgba(216,179,106,.28),transparent 24rem),
        #0b2434;
    border-radius:0 0 44px 44px;
}

.ex-discover-enquiry-hero > div{
    max-width:1180px;
    width:100%;
    margin:0 auto;
}

.ex-discover-enquiry-hero h1{
    font-size:clamp(42px,6vw,82px);
    line-height:.94;
    letter-spacing:-2.6px;
    margin:0 0 18px;
    max-width:850px;
}

.ex-discover-enquiry-hero p{
    max-width:740px;
    color:#e8eef1;
    font-size:19px;
    line-height:1.7;
}

.ex-discover-enquiry-grid{
    display:grid;
    grid-template-columns:380px minmax(0,1fr);
    gap:34px;
    align-items:start;
}

.ex-discover-enquiry-grid aside{
    position:sticky;
    top:24px;
    display:grid;
    gap:22px;
}

.ex-discover-summary-card,
.ex-discover-enquiry-form-card{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:30px;
    padding:26px;
    box-shadow:0 18px 50px rgba(16,38,54,.08);
}

.ex-discover-summary-card:first-child{
    background:#0b2434;
    color:#fff;
    border-color:#0b2434;
}

.ex-discover-summary-card:first-child h2{
    color:#fff;
}

.ex-discover-summary-card:first-child p{
    color:#dce6ea;
}

.ex-discover-summary-card h2,
.ex-discover-enquiry-form-card h2{
    margin-top:0;
    font-size:30px;
    line-height:1.05;
    letter-spacing:-1px;
}

.ex-discover-summary-metrics{
    display:grid;
    gap:9px;
    margin:18px 0;
}

.ex-discover-summary-metrics div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:12px;
}

.ex-discover-summary-metrics span{
    display:block;
    color:#c8d2d8;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-weight:900;
    margin-bottom:4px;
}

.ex-discover-summary-metrics strong{
    color:#fff;
}

.ex-discover-stage-list{
    display:grid;
    gap:12px;
}

.ex-discover-stage-list article{
    border:1px solid #eadfc9;
    background:#fbf7ef;
    border-radius:20px;
    padding:14px;
}

.ex-discover-stage-list article > div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}

.ex-discover-stage-list article > div strong{
    color:#102636;
}

.ex-discover-stage-list article > div span{
    color:#9c7b34;
    font-weight:900;
    white-space:nowrap;
}

.ex-discover-stage-list ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:6px;
}

.ex-discover-stage-list li{
    color:#526472;
    font-size:14px;
    line-height:1.45;
}

.ex-discover-stage-list small{
    color:#9c7b34;
    font-weight:800;
}

.ex-enquiry-form button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

@media(max-width:980px){
    .ex-discover-enquiry-grid{
        grid-template-columns:1fr;
    }

    .ex-discover-enquiry-grid aside{
        position:static;
    }
}

/* ==========================================================
   Eire2SA Editorial CMS V1
   Professional catalogue editing workspace.
   ========================================================== */

.ex-cms-page{
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(216,179,106,.16), transparent 34rem),
        linear-gradient(180deg,#fffaf1 0%,#f7efe2 52%,#ffffff 100%);
}

.ex-cms-header{
    max-width:1240px;
    margin:0 auto;
    padding:22px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.ex-cms-header nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.ex-cms-header nav a{
    color:#0b2434;
    text-decoration:none;
    font-weight:900;
    padding:9px 12px;
    border-radius:999px;
    background:#fff;
    border:1px solid #eadfc9;
}

.ex-cms-hero,
.ex-cms-edit-hero{
    max-width:1240px;
    margin:0 auto;
    padding:42px 24px 22px;
}

.ex-cms-hero h1,
.ex-cms-edit-hero h1{
    font-size:clamp(42px,6vw,78px);
    line-height:.94;
    letter-spacing:-2.6px;
    margin:0 0 16px;
    color:#102636;
}

.ex-cms-hero p,
.ex-cms-edit-hero p{
    max-width:760px;
    color:#526472;
    font-size:18px;
    line-height:1.7;
}

.ex-cms-shell{
    max-width:1240px;
    margin:0 auto;
    padding:20px 24px 70px;
}

.ex-cms-stats{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin-bottom:24px;
}

.ex-cms-stats a{
    text-decoration:none;
    color:#102636;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:22px;
    padding:18px;
    box-shadow:0 14px 38px rgba(16,38,54,.07);
}

.ex-cms-stats strong{
    display:block;
    font-size:30px;
    line-height:1;
    color:#9c7b34;
}

.ex-cms-stats span{
    display:block;
    margin-top:6px;
    color:#526472;
    font-weight:850;
    font-size:13px;
}

.ex-cms-search{
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px 210px auto;
    gap:10px;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:26px;
    padding:12px;
    box-shadow:0 16px 42px rgba(16,38,54,.08);
}

.ex-cms-search input,
.ex-cms-search select,
.ex-cms-field input,
.ex-cms-field select,
.ex-cms-field textarea{
    width:100%;
    border:1px solid #eadfc9;
    border-radius:14px;
    padding:12px;
    background:#fff;
    color:#102636;
    font:inherit;
}

.ex-cms-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin:22px 0;
}

.ex-cms-toolbar span{
    color:#526472;
    font-weight:850;
}

.ex-cms-table{
    display:grid;
    gap:10px;
}

.ex-cms-table-head,
.ex-cms-row{
    display:grid;
    grid-template-columns:2fr 1.1fr .9fr 1.1fr 1fr;
    gap:14px;
    align-items:center;
}

.ex-cms-table-head{
    padding:0 18px 6px;
    color:#7c8790;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-size:11px;
    font-weight:950;
}

.ex-cms-row{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:22px;
    padding:16px 18px;
    box-shadow:0 12px 30px rgba(16,38,54,.06);
}

.ex-cms-row strong{
    display:block;
    color:#102636;
}

.ex-cms-row small{
    color:#6b7780;
}

.ex-cms-status,
.ex-cms-flag{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:#0b2434;
    color:#fff;
    font-size:11px;
    font-weight:950;
    text-transform:uppercase;
}

.ex-cms-flag{
    background:#d8b36a;
    color:#0b2434;
    margin-top:5px;
}

.ex-cms-flag--muted{
    background:#e9e2d4;
}

.ex-cms-health{
    display:grid;
    gap:4px;
}

.ex-cms-health span{
    display:block;
    height:8px;
    border-radius:999px;
    background:#edf0f1;
    overflow:hidden;
}

.ex-cms-health span i{
    display:block;
    height:100%;
    background:#d8b36a;
    border-radius:999px;
}

.ex-cms-health strong{
    font-size:13px;
}

.ex-cms-health small{
    color:#6b7780;
    font-size:12px;
}

.ex-cms-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.ex-cms-actions a{
    text-decoration:none;
    color:#102636;
    background:#fbf7ef;
    border:1px solid #eadfc9;
    border-radius:999px;
    padding:8px 10px;
    font-size:12px;
    font-weight:900;
}

.ex-cms-edit-layout{
    max-width:1240px;
    margin:0 auto;
    padding:20px 24px 80px;
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:30px;
    align-items:start;
}

.ex-cms-preview{
    position:sticky;
    top:22px;
    background:#0b2434;
    color:#fff;
    border-radius:30px;
    padding:24px;
    box-shadow:0 24px 70px rgba(11,36,52,.2);
}

.ex-cms-preview-hero{
    height:190px;
    border-radius:22px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04)),
        #18384f;
    background-size:cover;
    background-position:center;
    margin-bottom:18px;
}

.ex-cms-preview h2{
    color:#fff;
    margin:0 0 10px;
    font-size:28px;
    line-height:1.05;
}

.ex-cms-preview h3{
    color:#d8b36a;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-size:13px;
    margin:22px 0 10px;
}

.ex-cms-preview p,
.ex-cms-missing-list li{
    color:#dce6ea;
    line-height:1.6;
}

.ex-cms-health--large{
    margin:18px 0;
}

.ex-cms-health--large span{
    background:rgba(255,255,255,.15);
}

.ex-cms-health--large strong{
    color:#fff;
    font-size:22px;
}

.ex-cms-preview-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:20px 0;
}

.ex-cms-preview-metrics div{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:15px;
    padding:10px;
}

.ex-cms-preview-metrics span{
    display:block;
    color:#c8d2d8;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.7px;
    font-weight:900;
}

.ex-cms-preview-metrics strong{
    color:#fff;
    font-size:15px;
}

.ex-cms-preview-actions{
    display:grid;
    gap:8px;
}

.ex-cms-form{
    display:grid;
    gap:22px;
}

.ex-cms-form-section{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:28px;
    padding:24px;
    box-shadow:0 16px 42px rgba(16,38,54,.07);
}

.ex-cms-form-section h2{
    margin:0 0 18px;
    font-size:26px;
    letter-spacing:-.7px;
}

.ex-cms-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.ex-cms-field{
    display:grid;
    gap:6px;
}

.ex-cms-field span{
    font-weight:950;
    color:#102636;
    font-size:13px;
}

.ex-cms-field small{
    color:#7b8790;
    line-height:1.45;
}

.ex-cms-field em{
    color:#a33;
    font-style:normal;
    font-weight:850;
}

.ex-cms-field textarea{
    min-height:110px;
}

.ex-cms-field.is-checkbox{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    border:1px solid #eadfc9;
    border-radius:14px;
    background:#fbf7ef;
}

.ex-cms-field.is-checkbox input{
    width:auto;
}

.ex-cms-field.has-error input,
.ex-cms-field.has-error select,
.ex-cms-field.has-error textarea{
    border-color:#a33;
}

.ex-cms-savebar{
    position:sticky;
    bottom:0;
    z-index:5;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    border:1px solid #eadfc9;
    border-radius:24px;
    padding:14px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    box-shadow:0 -12px 36px rgba(16,38,54,.08);
}

.ex-cms-errors{
    background:#fff2f2;
    border:1px solid #e5b7b7;
    color:#782020;
    border-radius:18px;
    padding:14px;
}

@media(max-width:1100px){
    .ex-cms-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ex-cms-search{
        grid-template-columns:1fr;
    }

    .ex-cms-table-head{
        display:none;
    }

    .ex-cms-row{
        grid-template-columns:1fr;
    }

    .ex-cms-edit-layout{
        grid-template-columns:1fr;
    }

    .ex-cms-preview{
        position:static;
    }
}

@media(max-width:700px){
    .ex-cms-stats,
    .ex-cms-field-grid{
        grid-template-columns:1fr;
    }

    .ex-cms-header{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* ==========================================================
   Eire2SA Editorial CMS V2
   Media and relationship manager screens.
   ========================================================== */

.ex-cms-media-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.ex-cms-media-card{
    display:grid;
    gap:12px;
    background:#fbf7ef;
    border:1px solid #eadfc9;
    border-radius:24px;
    padding:16px;
}

.ex-cms-media-thumb{
    height:190px;
    border-radius:18px;
    background:
        linear-gradient(135deg,rgba(16,38,54,.12),rgba(16,38,54,.04)),
        #e8dfce;
    background-size:cover;
    background-position:center;
}

.ex-cms-media-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.ex-cms-delete-list{
    margin-top:18px;
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.ex-cms-delete-list form button,
.ex-cms-relation-list form button{
    border:1px solid #e5b7b7;
    background:#fff2f2;
    color:#842727;
    border-radius:999px;
    padding:8px 11px;
    font-weight:900;
    cursor:pointer;
}

.ex-cms-savebar--static{
    position:static;
    margin-top:16px;
}

.ex-cms-search--compact{
    grid-template-columns:minmax(0,1fr) auto;
    margin-bottom:18px;
}

.ex-cms-relation-list{
    display:grid;
    gap:14px;
}

.ex-cms-relation-list article{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px auto;
    gap:16px;
    align-items:start;
    background:#fbf7ef;
    border:1px solid #eadfc9;
    border-radius:22px;
    padding:16px;
}

.ex-cms-relation-list strong{
    display:block;
    color:#102636;
    font-size:18px;
}

.ex-cms-relation-list span{
    display:block;
    margin-top:3px;
    color:#9c7b34;
    font-weight:900;
    font-size:13px;
}

.ex-cms-relation-list p{
    color:#526472;
    line-height:1.55;
    margin:10px 0 0;
}

.ex-cms-relation-list dl{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:0;
}

.ex-cms-relation-list dl div{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:14px;
    padding:9px;
}

.ex-cms-relation-list dt{
    color:#7b8790;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.7px;
    font-weight:900;
}

.ex-cms-relation-list dd{
    margin:3px 0 0;
    color:#102636;
    font-weight:950;
}

@media(max-width:900px){
    .ex-cms-media-grid,
    .ex-cms-relation-list article{
        grid-template-columns:1fr;
    }

    .ex-cms-search--compact{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   Eire2SA Editorial CMS V3
   Quality dashboard and editorial work queues.
   ========================================================== */

.ex-cms-quality-kpis{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    margin-bottom:26px;
}

.ex-cms-quality-kpis article{
    background:#0b2434;
    color:#fff;
    border-radius:24px;
    padding:20px;
    box-shadow:0 18px 50px rgba(16,38,54,.1);
}

.ex-cms-quality-kpis strong{
    display:block;
    color:#d8b36a;
    font-size:34px;
    line-height:1;
}

.ex-cms-quality-kpis span{
    display:block;
    margin-top:7px;
    color:#e8eef1;
    font-size:13px;
    font-weight:850;
}

.ex-cms-quality-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-bottom:24px;
}

.ex-cms-quality-panel{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:30px;
    padding:24px;
    box-shadow:0 18px 50px rgba(16,38,54,.08);
}

.ex-cms-quality-panel h2{
    margin:0 0 18px;
    font-size:28px;
    letter-spacing:-.8px;
}

.ex-cms-quality-panel p{
    color:#526472;
    line-height:1.6;
}

.ex-cms-quality-table{
    display:grid;
    gap:8px;
}

.ex-cms-quality-table > div{
    display:grid;
    grid-template-columns:1.8fr .6fr .6fr .6fr .7fr .9fr;
    gap:10px;
    align-items:center;
    padding:11px 0;
    border-bottom:1px solid #f0e6d6;
    color:#526472;
    font-size:13px;
}

.ex-cms-quality-table--compact > div{
    grid-template-columns:1.8fr .6fr .6fr .6fr .9fr;
}

.ex-cms-quality-table .head{
    color:#7c8790;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.8px;
    font-weight:950;
}

.ex-cms-quality-table strong{
    color:#102636;
}

.ex-cms-mini-bar{
    display:inline-block;
    width:70px;
    height:7px;
    border-radius:999px;
    background:#edf0f1;
    overflow:hidden;
    vertical-align:middle;
    margin-right:6px;
}

.ex-cms-mini-bar b{
    display:block;
    height:100%;
    background:#d8b36a;
}

.ex-cms-priority-list{
    display:grid;
    gap:10px;
}

.ex-cms-priority-list article{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    background:#fbf7ef;
    border:1px solid #eadfc9;
    border-radius:18px;
    padding:14px;
}

.ex-cms-priority-list strong{
    display:block;
    color:#102636;
}

.ex-cms-priority-list span,
.ex-cms-priority-list small{
    display:block;
    color:#6a7680;
    margin-top:3px;
}

.ex-cms-priority-list div:last-child{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
}

.ex-cms-priority-list a,
.ex-cms-duplicate-list a{
    text-decoration:none;
    color:#102636;
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:999px;
    padding:8px 10px;
    font-size:12px;
    font-weight:900;
}

.ex-cms-duplicate-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.ex-cms-duplicate-list a{
    display:inline-flex;
    gap:7px;
    align-items:center;
}

.ex-cms-duplicate-list span{
    color:#9c7b34;
}

@media(max-width:1100px){
    .ex-cms-quality-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ex-cms-quality-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:700px){
    .ex-cms-quality-kpis{
        grid-template-columns:1fr;
    }

    .ex-cms-quality-table > div,
    .ex-cms-quality-table--compact > div,
    .ex-cms-priority-list article{
        grid-template-columns:1fr;
    }
}

/* ==========================================================
   Eire2SA Final CTA + Thank You Polish
   ========================================================== */

.ex-home-actions .ex-btn--secondary,
.ex-thank-hero .ex-btn--secondary,
.ex-discover-enquiry-hero .ex-btn--secondary{
    background:#ffffff;
    color:#0b2434 !important;
    border:1px solid rgba(255,255,255,.86);
    box-shadow:0 14px 34px rgba(0,0,0,.14);
}

.ex-home-actions .ex-btn--secondary:hover,
.ex-thank-hero .ex-btn--secondary:hover,
.ex-discover-enquiry-hero .ex-btn--secondary:hover{
    background:#d8b36a;
    color:#0b2434 !important;
    border-color:#d8b36a;
}

.ex-thank-hero .ex-home-actions .ex-btn--primary{
    background:#d8b36a;
    color:#0b2434 !important;
    border-color:#d8b36a;
}

/* Eire2SA Consultant Operations V1 */
.ex-ops-page{min-height:100vh;background:linear-gradient(180deg,#fffaf1 0%,#f7efe2 55%,#fff 100%)}
.ex-ops-header{max-width:1240px;margin:0 auto;padding:22px 24px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.ex-ops-header a{color:#0b2434;text-decoration:none;font-weight:900}
.ex-ops-header nav{display:flex;gap:10px;flex-wrap:wrap}
.ex-ops-header nav a{background:#fff;border:1px solid #eadfc9;border-radius:999px;padding:9px 12px}
.ex-ops-hero{max-width:1240px;margin:0 auto;padding:46px 24px 24px}
.ex-ops-hero h1{font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-2px;margin:0 0 16px;color:#102636}
.ex-ops-hero p{max-width:760px;color:#526472;font-size:18px;line-height:1.7}
.ex-ops-shell{max-width:1240px;margin:0 auto;padding:20px 24px 80px}
.ex-ops-stats,.ex-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.ex-ops-stats article,.ex-ops-card,.ex-ops-panel,.ex-ops-table article,.ex-ops-list a{background:#fff;border:1px solid #eadfc9;border-radius:24px;padding:20px;box-shadow:0 16px 42px rgba(16,38,54,.08)}
.ex-ops-stats strong{display:block;color:#9c7b34;font-size:34px}
.ex-ops-stats span,.ex-ops-card span,.ex-ops-list span,.ex-ops-table span,.ex-ops-table small{display:block;color:#526472;margin-top:5px}
.ex-ops-card,.ex-ops-list a{text-decoration:none;color:#102636}
.ex-ops-card strong,.ex-ops-list strong,.ex-ops-table strong{color:#102636;font-size:18px}
.ex-ops-list,.ex-ops-table{display:grid;gap:12px}
.ex-ops-search{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:10px;margin-bottom:22px}
.ex-ops-search input,.ex-ops-search select,.ex-ops-panel input,.ex-ops-panel select,.ex-ops-panel textarea{width:100%;border:1px solid #eadfc9;border-radius:14px;padding:12px;font:inherit}
.ex-ops-table article{display:grid;grid-template-columns:minmax(0,1fr) 180px auto auto;gap:14px;align-items:center}
.ex-ops-case-layout{max-width:1240px;margin:0 auto;padding:20px 24px 80px;display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;align-items:start}
.ex-ops-case-layout aside{position:sticky;top:22px}
.ex-ops-panel h2{margin-top:0;color:#102636}
.ex-ops-panel h3{color:#9c7b34;margin-bottom:8px}
.ex-ops-workspace{display:grid;gap:22px}
.ex-ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ex-ops-panel label{display:grid;gap:6px;font-weight:900;color:#102636;margin-bottom:12px}
.ex-ops-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ex-ops-mini-form{display:grid;gap:10px;margin-bottom:16px}
.ex-ops-task-list,.ex-ops-log-list{display:grid;gap:10px}
.ex-ops-task-list article,.ex-ops-log-list article{background:#fbf7ef;border:1px solid #eadfc9;border-radius:18px;padding:14px}
.ex-ops-task-list button{border:1px solid #eadfc9;background:#fff;border-radius:999px;padding:7px 10px;font-weight:900}
@media(max-width:980px){.ex-ops-stats,.ex-ops-grid,.ex-ops-case-layout,.ex-ops-two,.ex-ops-form-grid,.ex-ops-table article,.ex-ops-search{grid-template-columns:1fr}.ex-ops-case-layout aside{position:static}}

/* Eire2SA Consultant Operations V2 */
.ex-ops-v2 .ex-ops-brief-grid{display:grid;grid-template-columns:1fr;gap:9px;margin:18px 0}
.ex-ops-brief-grid div{background:#fbf7ef;border:1px solid #eadfc9;border-radius:15px;padding:11px}
.ex-ops-brief-grid span{display:block;color:#7b8790;font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:900}
.ex-ops-brief-grid strong{display:block;color:#102636;margin-top:4px;font-size:13px}
.ex-ops-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}
.ex-ops-pills span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#0b2434;color:#fff;font-size:12px;font-weight:900}
.ex-ops-destination-list{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.ex-ops-destination-list li{background:#fff;border:1px solid #eadfc9;border-radius:14px;padding:10px;color:#102636;font-weight:850}
.ex-ops-destination-list small{display:block;color:#9c7b34;margin-top:3px}
.ex-ops-note-box{background:#fbf7ef;border:1px solid #eadfc9;border-radius:16px;padding:13px;color:#526472;line-height:1.55}
.ex-ops-messages{padding-bottom:0}
.ex-ops-messages div{background:#0b2434;color:#fff;border-radius:15px;padding:12px 14px}
.ex-ops-itinerary-header{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fbf7ef;border:1px solid #eadfc9;border-radius:18px;padding:14px;margin-bottom:16px}
.ex-ops-itinerary-header strong{display:block;color:#102636;font-size:18px}
.ex-ops-itinerary-header span{display:block;color:#526472;margin-top:4px}
.ex-ops-mini-form--row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.ex-ops-mini-form--row textarea{min-height:48px}
.ex-ops-itinerary-days{display:grid;gap:16px}
.ex-ops-itinerary-day{background:#fbf7ef;border:1px solid #eadfc9;border-radius:22px;padding:16px}
.ex-ops-itinerary-day header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.ex-ops-itinerary-day header strong{color:#102636;font-size:18px}
.ex-ops-itinerary-day header span{color:#9c7b34;font-weight:900}
.ex-ops-itinerary-day p{color:#526472;line-height:1.55}
.ex-ops-itinerary-items{display:grid;gap:8px;margin:12px 0}
.ex-ops-itinerary-items div{background:#fff;border:1px solid #eadfc9;border-radius:15px;padding:12px}
.ex-ops-itinerary-items strong{display:block;color:#102636}
.ex-ops-itinerary-items span{display:block;color:#9c7b34;margin-top:3px;font-weight:850}
@media(max-width:980px){.ex-ops-mini-form--row,.ex-ops-itinerary-header,.ex-ops-itinerary-day header{display:grid;grid-template-columns:1fr}}

/* Eire2SA Consultant Operations V3 */
.ex-ops-itinerary-editor,
.ex-ops-day-editor,
.ex-ops-item-editor{
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:20px;
    padding:14px;
    margin-bottom:14px;
}
.ex-ops-itinerary-editor{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:start;
}
.ex-ops-itinerary-editor label,
.ex-ops-day-editor label,
.ex-ops-item-editor label{
    display:grid;
    gap:5px;
    font-weight:900;
    color:#102636;
    font-size:13px;
}
.ex-ops-itinerary-editor input,
.ex-ops-itinerary-editor textarea,
.ex-ops-day-editor input,
.ex-ops-day-editor textarea,
.ex-ops-item-editor input,
.ex-ops-item-editor select,
.ex-ops-item-editor textarea{
    width:100%;
    border:1px solid #eadfc9;
    border-radius:12px;
    padding:10px;
    font:inherit;
}
.ex-ops-itinerary-editor-actions,
.ex-ops-inline-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.ex-ops-day-editor-grid{
    display:grid;
    grid-template-columns:90px 160px minmax(0,1fr);
    gap:10px;
}
.ex-ops-day-editor-grid label:last-child{
    grid-column:1 / -1;
}
.ex-ops-item-editor-grid{
    display:grid;
    grid-template-columns:1.2fr .7fr 1.2fr .6fr .6fr .5fr;
    gap:10px;
}
.ex-ops-item-editor-grid label:nth-last-child(-n+2){
    grid-column:span 3;
}
.ex-ops-delete-form{
    margin:8px 0 14px;
}
.ex-ops-delete-form button{
    border:1px solid #e5b7b7;
    background:#fff2f2;
    color:#842727;
    border-radius:999px;
    padding:8px 11px;
    font-weight:900;
    cursor:pointer;
}
.ex-ops-delete-form--day{
    border-top:1px solid #eadfc9;
    padding-top:12px;
}
@media(max-width:980px){
    .ex-ops-itinerary-editor,
    .ex-ops-day-editor-grid,
    .ex-ops-item-editor-grid{
        grid-template-columns:1fr;
    }
    .ex-ops-item-editor-grid label:nth-last-child(-n+2){
        grid-column:auto;
    }
}

/* Eire2SA Consultant Operations V4 */
.ex-ops-quote-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.ex-ops-quote-summary div{background:#0b2434;color:#fff;border-radius:18px;padding:14px}
.ex-ops-quote-summary span{display:block;color:#dce6ea;font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:900}
.ex-ops-quote-summary strong{display:block;color:#d8b36a;font-size:24px;margin-top:5px}
.ex-ops-quote-lines{display:grid;gap:10px}
.ex-ops-quote-line{display:grid;grid-template-columns:1fr 1fr 1.5fr 1fr .6fr .7fr .7fr 1.4fr auto;gap:8px;background:#fbf7ef;border:1px solid #eadfc9;border-radius:18px;padding:12px}
.ex-ops-quote-line input,.ex-ops-quote-line select,.ex-ops-quote-line textarea{width:100%;border:1px solid #eadfc9;border-radius:10px;padding:9px;font:inherit}
.ex-ops-doc-list{display:grid;gap:10px}
.ex-ops-doc-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;background:#fbf7ef;border:1px solid #eadfc9;border-radius:18px;padding:14px}
.ex-ops-doc-list strong{display:block;color:#102636}
.ex-ops-doc-list span{display:block;color:#9c7b34;margin-top:4px;font-weight:850}
.ex-ops-doc-list p{color:#526472;line-height:1.5}
@media(max-width:1100px){.ex-ops-quote-line,.ex-ops-doc-list article{grid-template-columns:1fr}}
@media(max-width:700px){.ex-ops-quote-summary{grid-template-columns:1fr}}

/* Eire2SA Consultant Operations V5 */
.ex-ops-proposal-panel{
    background:
        radial-gradient(circle at top right, rgba(216,179,106,.22), transparent 18rem),
        #0b2434 !important;
    color:#fff;
}
.ex-ops-proposal-panel h2{
    color:#fff;
}
.ex-ops-proposal-panel p{
    color:#dce6ea;
}
.ex-ops-proposal-panel .ex-btn--primary{
    background:#d8b36a;
    color:#0b2434 !important;
    border-color:#d8b36a;
}

/* Eire2SA Consultant Operations V6B */
.ex-ops-proposal-settings{
    border:2px solid rgba(216,179,106,.45) !important;
}
.ex-ops-proposal-settings-form{
    display:grid;
    gap:12px;
}
.ex-ops-proposal-settings-form label{
    display:grid;
    gap:6px;
    font-weight:900;
    color:#102636;
}
.ex-ops-proposal-settings-form input,
.ex-ops-proposal-settings-form textarea{
    width:100%;
    border:1px solid #eadfc9;
    border-radius:12px;
    padding:10px;
    font:inherit;
}
.ex-ops-small-note{
    color:#526472;
    line-height:1.5;
    margin:6px 0 0;
}

/* Eire2SA Unified Discover + Plan Start */
.ex-plan-start{
    min-height:100vh;
    background:
        radial-gradient(circle at top right, rgba(216,179,106,.28), transparent 28rem),
        linear-gradient(180deg,#fffaf1 0%,#f7efe2 65%,#fff 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px;
}
.ex-plan-start__hero{
    width:min(920px,100%);
    background:#fff;
    border:1px solid #eadfc9;
    border-radius:34px;
    padding:42px;
    box-shadow:0 24px 70px rgba(16,38,54,.12);
}
.ex-plan-start__hero h1{
    margin:26px 0 14px;
    color:#102636;
    font-size:clamp(42px,7vw,84px);
    line-height:.92;
    letter-spacing:-2.5px;
}
.ex-plan-start__hero p{
    max-width:680px;
    color:#526472;
    font-size:18px;
    line-height:1.65;
}
.ex-plan-start__form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:28px;
}
.ex-plan-start__form label{
    display:grid;
    gap:8px;
    color:#102636;
    font-weight:900;
}
.ex-plan-start__form input[type="date"]{
    border:1px solid #eadfc9;
    border-radius:16px;
    padding:14px;
    font:inherit;
}
.ex-plan-start__check{
    grid-column:1 / -1;
    display:flex !important;
    flex-direction:row;
    align-items:center;
}
.ex-plan-start__check input{
    width:18px;
    height:18px;
}
.ex-plan-start__form button{
    grid-column:1 / -1;
    justify-self:start;
}
@media(max-width:760px){
    .ex-plan-start__form{
        grid-template-columns:1fr;
    }
    .ex-plan-start__hero{
        padding:28px;
    }
}

/* Eire2SA nav direct form + destination return link */
.ex-nav-direct-form{
    display:inline-flex;
    margin:0;
    padding:0;
}
.ex-nav-direct-form button{
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:900;
    cursor:pointer;
    padding:0;
}
.ex-nav-direct-form button:hover{
    color:#d8b36a;
}
.ex-back-destination-menu{
    position:sticky;
    top:0;
    z-index:40;
    background:#fffaf1;
    border-bottom:1px solid #eadfc9;
    padding:12px 28px;
}
.ex-back-destination-menu a{
    color:#0b2434;
    font-weight:900;
    text-decoration:none;
}
.ex-back-destination-menu a:hover{
    color:#9c7b34;
}
