
        /* ---------------------------------------------------------------
           Tokens
           One navy, one accent, cool neutrals. Accent is reserved for
           actions and small markers so it keeps its meaning.
        --------------------------------------------------------------- */
        .cm-page {
            --font-display: 'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
            --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;

            --navy: #1A1D42;
            --navy-2: #252a5a;
            --accent: #E26700;
            --accent-dark: #B85400;
            --paper: #F5F6F8;
            --white: #FFFFFF;
            --ink: #1A1D42;
            --text: #3B4152;
            --muted: #5E6475;
            --line: #E2E5EB;
            --line-dark: rgba(255, 255, 255, 0.14);

            --radius-sm: 4px;
            --radius: 6px;

            /* used by .proc-timeline in con-update.css */
            --orange-100: #F6D3B5;

            font-family: var(--font-body);
            color: var(--text);
            -webkit-font-smoothing: antialiased;
        }

        .cm-page h2,
        .cm-page h3 {
            font-family: var(--font-display);
            color: var(--ink);
            letter-spacing: -0.01em;
        }

        .cm-page img {
            max-width: 100%;
        }

        .cm-page a:focus-visible,
        .cm-page button:focus-visible,
        .cm-page summary:focus-visible,
        .cm-page input:focus-visible,
        .cm-page select:focus-visible,
        .cm-page textarea:focus-visible {
            outline: 2px solid var(--accent);
            outline-offset: 2px;
        }

        /* ---------------------------------------------------------------
           Section scaffolding
        --------------------------------------------------------------- */
        .cm-sec {
            padding: 88px 24px;
        }

        .cm-sec--paper {
            background: var(--paper);
        }

        .cm-sec--white {
            background: var(--white);
        }

        .cm-sec--navy {
            background: var(--navy);
            color: rgba(255, 255, 255, 0.78);
        }

        .cm-wrap {
            max-width: 1200px;
            margin: 0 auto;
        }

        .cm-head {
            max-width: 680px;
            margin-bottom: 48px;
        }

        .cm-label {
            display: block;
            font-family: var(--font-body);
            font-size: 14px;
            font-weight: 600;
            color: var(--accent-dark);
            margin-bottom: 12px;
        }

        .cm-sec--navy .cm-label {
            color: #F2A15C;
        }

        .cm-title {
            font-size: clamp(30px, 3.6vw, 42px);
            font-weight: 700;
            line-height: 1.15;
            margin-bottom: 16px;
        }

        .cm-sec--navy .cm-title {
            color: var(--white);
        }

        .cm-lede {
            font-size: 17px;
            line-height: 1.65;
            color: var(--muted);
            max-width: 62ch;
        }

        .cm-sec--navy .cm-lede {
            color: rgba(255, 255, 255, 0.72);
        }

        .cm-split {
            display: grid;
            grid-template-columns: 5fr 6fr;
            gap: 64px;
            align-items: center;
        }

        .cm-split--top {
            align-items: start;
        }

        .cm-media img {
            display: block;
            width: 100%;
            height: 100%;
            max-height: 520px;
            object-fit: cover;
            border-radius: var(--radius);
        }

        /* ---------------------------------------------------------------
           Intro (what is corporate event management)
        --------------------------------------------------------------- */
        .cm-intro-points {
            list-style: none;
            margin-top: 28px;
            border-top: 1px solid var(--line);
        }

        .cm-intro-points li {
            display: flex;
            gap: 14px;
            padding: 16px 0;
            border-bottom: 1px solid var(--line);
            font-size: 15px;
            line-height: 1.55;
            color: var(--text);
        }

        .cm-intro-points svg {
            width: 20px;
            height: 20px;
            flex-shrink: 0;
            color: var(--accent);
            margin-top: 1px;
        }

        .cm-intro-points strong {
            color: var(--ink);
            font-weight: 600;
        }

        /* ---------------------------------------------------------------
           Services
        --------------------------------------------------------------- */
        .cm-services {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-top: 1px solid var(--line);
            border-left: 1px solid var(--line);
        }

        .cm-service {
            display: flex;
            flex-direction: column;
            padding: 32px 28px;
            background: var(--white);
            border-right: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            text-decoration: none;
            color: inherit;
            transition: background-color 0.2s ease;
        }

        .cm-service:hover {
            background: #FAFBFC;
        }

        .cm-service--lead {
            grid-column: span 2;
            background: var(--navy);
            color: rgba(255, 255, 255, 0.75);
            border-color: var(--navy);
        }

        .cm-service--lead:hover {
            background: var(--navy-2);
        }

        .cm-service__icon {
            width: 26px;
            height: 26px;
            color: var(--accent);
            margin-bottom: 20px;
        }

        .cm-service--lead .cm-service__icon {
            color: #F2A15C;
        }

        .cm-service h3 {
            font-size: 19px;
            font-weight: 600;
            line-height: 1.3;
            margin-bottom: 10px;
        }

        .cm-service--lead h3 {
            color: var(--white);
            font-size: 24px;
        }

        .cm-service p {
            font-size: 15px;
            line-height: 1.6;
            color: var(--muted);
            flex: 1;
            margin-bottom: 20px;
            max-width: 52ch;
        }

        .cm-service--lead p {
            color: rgba(255, 255, 255, 0.72);
        }

        .cm-more {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            font-weight: 600;
            color: var(--ink);
        }

        .cm-service--lead .cm-more {
            color: var(--white);
        }

        .cm-more svg {
            width: 16px;
            height: 16px;
            transition: transform 0.2s ease;
        }

        .cm-service:hover .cm-more svg,
        a.cm-more:hover svg {
            transform: translateX(3px);
        }

        /* ---------------------------------------------------------------
           Scope (what we manage) — navy band
        --------------------------------------------------------------- */
        .cm-scope {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0 48px;
        }

        .cm-scope__item {
            padding: 28px 0;
            border-top: 1px solid var(--line-dark);
        }

        .cm-scope__item svg {
            width: 24px;
            height: 24px;
            color: #F2A15C;
            margin-bottom: 14px;
        }

        .cm-scope__item h3 {
            font-size: 17px;
            font-weight: 600;
            color: var(--white);
            margin-bottom: 8px;
        }

        .cm-scope__item p {
            font-size: 15px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.7);
        }

        /* ---------------------------------------------------------------
           Event types
        --------------------------------------------------------------- */
        .cm-types {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0 32px;
            list-style: none;
        }

        .cm-types li {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 14px 0;
            border-bottom: 1px solid var(--line);
            font-size: 15px;
            font-weight: 500;
            color: var(--ink);
        }

        .cm-types svg {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
            color: var(--accent);
        }

        /* ---------------------------------------------------------------
           Destinations
        --------------------------------------------------------------- */
        .cm-dest-group+.cm-dest-group {
            margin-top: 48px;
        }

        .cm-dest-group__title {
            font-size: 15px;
            font-weight: 600;
            color: var(--muted);
            font-family: var(--font-body);
            margin-bottom: 20px;
            padding-bottom: 12px;
            border-bottom: 1px solid var(--line);
        }

        .cm-dest-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
        }

        .cm-dest-grid--3 {
            grid-template-columns: repeat(3, 1fr);
        }

        .cm-dest {
            display: flex;
            flex-direction: column;
            text-decoration: none;
            color: inherit;
        }

        .cm-dest__img {
            aspect-ratio: 4 / 3;
            overflow: hidden;
            border-radius: var(--radius);
            margin-bottom: 16px;
            background: var(--line);
        }

        .cm-dest__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .cm-dest h3 {
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 6px;
        }

        .cm-dest p {
            font-size: 14px;
            line-height: 1.6;
            color: var(--muted);
            margin-bottom: 12px;
            flex: 1;
        }

        .cm-dest:hover h3 {
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .cm-note {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            margin-top: 48px;
            padding: 20px 24px;
            background: var(--white);
            border: 1px solid var(--line);
            border-left: 3px solid var(--accent);
            border-radius: var(--radius-sm);
            font-size: 15px;
            line-height: 1.6;
            color: var(--text);
        }

        .cm-note svg {
            width: 20px;
            height: 20px;
            flex-shrink: 0;
            color: var(--accent);
            margin-top: 2px;
        }

        /* ---------------------------------------------------------------
           Industries
        --------------------------------------------------------------- */
        .cm-industries {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            list-style: none;
        }

        .cm-industries li {
            padding: 9px 16px;
            border: 1px solid var(--line);
            border-radius: 999px;
            background: var(--white);
            font-size: 14px;
            font-weight: 500;
            color: var(--ink);
        }

        /* ---------------------------------------------------------------
           Process — sequence, so numbered
        --------------------------------------------------------------- */
        .cm-process {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 24px;
            list-style: none;
            counter-reset: step;
            position: relative;
        }

        .cm-process::before {
            content: '';
            position: absolute;
            top: 17px;
            left: 18px;
            right: 18px;
            height: 1px;
            background: var(--line);
        }

        .cm-process li {
            position: relative;
            counter-increment: step;
        }

        .cm-process li::before {
            content: counter(step);
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: var(--white);
            border: 1.5px solid var(--accent);
            color: var(--accent-dark);
            font-family: var(--font-display);
            font-weight: 700;
            font-size: 15px;
            margin-bottom: 20px;
            position: relative;
        }

        .cm-process h3 {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .cm-process p {
            font-size: 14px;
            line-height: 1.6;
            color: var(--muted);
        }

        /* ---------------------------------------------------------------
           Why Nest Leisure
        --------------------------------------------------------------- */
        .cm-why {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 40px 48px;
        }

        .cm-why__item {
            padding-top: 20px;
            border-top: 2px solid var(--ink);
        }

        .cm-why__item h3 {
            font-size: 17px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .cm-why__item p {
            font-size: 15px;
            line-height: 1.6;
            color: var(--muted);
        }

        /* ---------------------------------------------------------------
           Cost factors
        --------------------------------------------------------------- */
        .cm-factors {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0 32px;
            list-style: none;
            margin: 8px 0 32px;
        }

        .cm-factors li {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 12px 0;
            border-bottom: 1px solid var(--line);
            font-size: 15px;
            color: var(--ink);
        }

        .cm-factors svg {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
            color: var(--accent);
        }

        .cm-btn {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 14px 24px;
            background: var(--accent);
            color: var(--white);
            font-size: 15px;
            font-weight: 600;
            text-decoration: none;
            border: none;
            border-radius: var(--radius-sm);
            cursor: pointer;
            transition: background-color 0.2s ease;
        }

        .cm-btn:hover {
            background: var(--accent-dark);
        }

        .cm-btn svg {
            width: 16px;
            height: 16px;
        }

        /* ---------------------------------------------------------------
           FAQ
        --------------------------------------------------------------- */
        .cm-faq-grid {
            display: grid;
            grid-template-columns: 4fr 7fr;
            gap: 64px;
            align-items: start;
        }

        .cm-faq-aside {
            position: sticky;
            top: 110px;
        }

        .cm-faq-aside .cm-media img {
            max-height: 340px;
            margin-top: 28px;
        }
                /* FAQ accordion (own class names so con-update.css can't interfere) */
        .cm-page .cm-faq {
            border-top: 1px solid var(--line);
        }

        .cm-page .cm-faq__item {
            border-bottom: 1px solid var(--line);
        }

        .cm-page .cm-faq__h {
            margin: 0;
            font-size: inherit;
            font-weight: inherit;
        }

        .cm-page .cm-faq__q {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            width: 100%;
            padding: 22px 0;
            margin: 0;
            background: none;
            border: 0;
            border-radius: 0;
            text-align: left;
            cursor: pointer;
            font-family: var(--font-display);
            font-size: 17px;
            font-weight: 600;
            line-height: 1.4;
            color: var(--ink);
            -webkit-appearance: none;
            appearance: none;
        }

        .cm-page .cm-faq__q:hover {
            color: var(--accent-dark);
        }

        .cm-page .cm-faq__icon {
            position: relative;
            flex-shrink: 0;
            width: 28px;
            height: 28px;
            border: 1px solid var(--line);
            border-radius: 50%;
            transition: background-color 0.2s ease, border-color 0.2s ease;
        }

        .cm-page .cm-faq__icon::before,
        .cm-page .cm-faq__icon::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 10px;
            height: 1.5px;
            background: var(--ink);
            transform: translate(-50%, -50%);
            transition: transform 0.2s ease;
        }

        .cm-page .cm-faq__icon::after {
            transform: translate(-50%, -50%) rotate(90deg);
        }

        .cm-page .cm-faq__item.is-open .cm-faq__icon {
            background: var(--navy);
            border-color: var(--navy);
        }

        .cm-page .cm-faq__item.is-open .cm-faq__icon::before,
        .cm-page .cm-faq__item.is-open .cm-faq__icon::after {
            background: var(--white);
        }

        .cm-page .cm-faq__item.is-open .cm-faq__icon::after {
            transform: translate(-50%, -50%) rotate(0deg);
        }

        .cm-page .cm-faq__a {
            display: none;
            padding: 0 52px 24px 0;
        }

        .cm-page .cm-faq__item.is-open .cm-faq__a {
            display: block;
        }

        .cm-page .cm-faq__a p {
            font-size: 15px;
            line-height: 1.7;
            color: var(--muted);
            margin: 0;
        }

        @media (max-width: 768px) {
            .cm-page .cm-faq__q {
                font-size: 16px;
                padding: 18px 0;
            }

            .cm-page .cm-faq__a {
                padding-right: 0;
            }
        }

        /* ---------------------------------------------------------------
           Contact
        --------------------------------------------------------------- */
        .cm-contact {
            display: grid;
            grid-template-columns: 5fr 6fr;
            gap: 56px;
            align-items: start;
        }

        .cm-contact__direct {
            margin-top: 32px;
            padding-top: 28px;
            border-top: 1px solid var(--line-dark);
        }

        .cm-contact__direct p {
            font-size: 15px;
            color: rgba(255, 255, 255, 0.72);
            margin-bottom: 14px;
        }

        .cm-contact__direct a {
            display: flex;
            align-items: center;
            gap: 12px;
            color: var(--white);
            font-size: 17px;
            font-weight: 500;
            text-decoration: none;
            padding: 6px 0;
        }

        .cm-contact__direct a:hover {
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .cm-contact__direct svg {
            width: 20px;
            height: 20px;
            color: #F2A15C;
        }

        .cm-form-card {
            background: var(--white);
            border-radius: var(--radius);
            padding: 36px;
            color: var(--text);
        }

        .cm-form-card h3 {
            font-size: 22px;
            font-weight: 700;
            margin-bottom: 6px;
        }

        .cm-form-card>p {
            font-size: 15px;
            color: var(--muted);
            margin-bottom: 24px;
            line-height: 1.6;
        }

        .cm-form-card .f-grid label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            color: var(--ink);
            margin-bottom: 6px;
        }

        .cm-form-card .f-grid input,
        .cm-form-card .f-grid select,
        .cm-form-card .f-grid textarea {
            width: 100%;
        }

        .cm-form-note {
            font-size: 13px;
            color: var(--muted);
            text-align: center;
            margin-top: 4px;
        }

        /* ---------------------------------------------------------------
           Responsive
        --------------------------------------------------------------- */
        @media (max-width: 1024px) {

            .cm-split,
            .cm-faq-grid,
            .cm-contact {
                gap: 40px;
            }

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

            .cm-service--lead {
                grid-column: span 2;
            }

            .cm-scope,
            .cm-why {
                grid-template-columns: repeat(2, 1fr);
            }

            .cm-dest-grid,
            .cm-dest-grid--3 {
                grid-template-columns: repeat(2, 1fr);
            }

            .cm-process {
                grid-template-columns: repeat(3, 1fr);
                row-gap: 40px;
            }

            .cm-process::before {
                display: none;
            }
        }

        @media (max-width: 768px) {
            .cm-sec {
                padding: 60px 18px;
            }

            .cm-split,
            .cm-faq-grid,
            .cm-contact {
                grid-template-columns: 1fr;
            }

            .cm-faq-aside {
                position: static;
            }

            .cm-faq-aside .cm-media {
                display: none;
            }

            .cm-services {
                grid-template-columns: 1fr;
            }

            .cm-service--lead {
                grid-column: span 1;
            }

            .cm-scope,
            .cm-why,
            .cm-types,
            .cm-factors {
                grid-template-columns: 1fr;
            }

            .cm-process {
                grid-template-columns: 1fr 1fr;
            }

            .cm-form-card {
                padding: 24px;
            }
        }

        @media (max-width: 520px) {

            .cm-dest-grid,
            .cm-dest-grid--3,
            .cm-process {
                grid-template-columns: 1fr;
            }
        }

        @media (prefers-reduced-motion: reduce) {

            .cm-page *,
            .cm-page *::before,
            .cm-page *::after {
                transition: none !important;
                animation: none !important;
            }
        }
