/* GME public CMS pages */
.cms-page{--cms-red:#DD0000;--cms-gold:#FFCE00;--cms-ink:var(--gme-text,#171717);--cms-muted:var(--gme-muted,#686868);--cms-line:var(--gme-line,#e6e6e6);--cms-surface:var(--gme-surface,#fff);--cms-bg:var(--gme-bg,#fafafa);overflow:clip}
.cms-page *{box-sizing:border-box}
.cms-section{position:relative;padding:clamp(64px,8vw,108px) 0;border-bottom:1px solid var(--cms-line);background:var(--cms-surface)}
.cms-section:nth-child(even){background:var(--cms-bg)}
.cms-section--white{background:#fff;color:#171717}.cms-section--offwhite{background:#f7f7f5;color:#171717}.cms-section--black{background:#111;color:#fff}.cms-section--red{background:#DD0000;color:#fff}
.cms-section__inner{display:grid;gap:clamp(28px,4vw,48px)}
.cms-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(470px,62vw,690px);padding:clamp(76px,10vw,138px) 0;overflow:hidden;background:#171717;color:#fff}
.cms-hero--has-image{background-image:var(--cms-hero-image);background-size:cover;background-position:center;background-repeat:no-repeat}
.cms-hero__overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.66) 48%,rgba(0,0,0,.24) 100%)}
.cms-hero:not(.cms-hero--has-image) .cms-hero__overlay{background:radial-gradient(ellipse at 82% 18%,rgba(221,0,0,.35),transparent 34%),linear-gradient(120deg,#090909,#202020)}
.cms-hero__content{position:relative;z-index:1;width:100%}
.cms-hero h1{max-width:980px;margin:22px 0 26px;color:#fff;font-family:Manrope,sans-serif;font-size:clamp(44px,7.2vw,88px);font-weight:800;line-height:.99;letter-spacing:-.06em;text-wrap:balance}
.cms-eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 14px;color:var(--cms-red);font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.cms-eyebrow>span{display:inline-block;width:28px;height:3px;flex:0 0 28px;background:var(--cms-gold)}.cms-eyebrow--light{color:#fff}
.cms-hero__description{max-width:740px;color:rgba(255,255,255,.9);font-size:clamp(16px,1.6vw,20px);line-height:1.85}
.cms-hero__accent{width:70px;height:5px;margin-top:34px;background:var(--cms-gold)}
.cms-copy{max-width:860px}.cms-copy h2,.cms-cta h2{margin:10px 0 22px;color:inherit;font-family:Manrope,sans-serif;font-size:clamp(32px,4.4vw,58px);font-weight:800;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
.cms-rich-text{color:var(--cms-muted);font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.cms-section--black .cms-rich-text,.cms-section--red .cms-rich-text{color:rgba(255,255,255,.82)}
.cms-rich-text>:first-child{margin-top:0}.cms-rich-text>:last-child{margin-bottom:0}.cms-rich-text p{margin:0 0 1.1em}
.cms-rich-text h2,.cms-rich-text h3,.cms-rich-text h4{margin:1.5em 0 .55em;color:var(--cms-ink);font-family:Manrope,sans-serif;font-weight:800;line-height:1.2}
.cms-section--black .cms-rich-text h2,.cms-section--black .cms-rich-text h3,.cms-section--black .cms-rich-text h4,.cms-section--red .cms-rich-text h2,.cms-section--red .cms-rich-text h3,.cms-section--red .cms-rich-text h4{color:#fff}
.cms-rich-text h3{font-size:clamp(21px,2.4vw,28px)}.cms-rich-text h4{font-size:19px}.cms-rich-text ul,.cms-rich-text ol{margin:0 0 1.3em;padding-left:1.5rem}.cms-rich-text li{padding-left:.25rem;margin:.35em 0}.cms-rich-text li::marker{color:var(--cms-red)}
.cms-rich-text blockquote{margin:1.5em 0;padding:1rem 1.4rem;border-left:4px solid var(--cms-red);background:rgba(125,125,125,.07)}
.cms-rich-text a{color:var(--cms-red);text-underline-offset:3px}.cms-hero .cms-rich-text a{color:#fff;text-decoration-color:var(--cms-gold)}
.cms-rich-text img,.cms-embed img{max-width:100%;height:auto;border-radius:12px}.cms-rich-text table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.cms-rich-text th,.cms-rich-text td{padding:10px 12px;border:1px solid var(--cms-line);text-align:left}
.cms-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cms-gallery figure{min-width:0;margin:0}.cms-gallery img{display:block;width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:16px;border:1px solid var(--cms-line)}.cms-gallery figcaption{margin-top:10px;color:var(--cms-muted);font-size:13px;line-height:1.5}
.cms-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cms-team article{overflow:hidden;border:1px solid var(--cms-line);border-radius:16px;background:var(--cms-surface)}.cms-team img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover}.cms-team h3{margin:0;padding:16px;font:800 16px/1.35 Manrope,sans-serif;color:var(--cms-ink)}
.cms-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:clamp(26px,5vw,54px);border-radius:20px;background:var(--cms-gold);color:#111}.cms-cta>div{max-width:760px}.cms-cta h2{margin-top:0;color:#111}.cms-cta .cms-eyebrow{color:#111}.cms-cta .cms-rich-text{color:#292929}
.cms-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:18px;flex:0 0 auto;min-height:52px;padding:0 22px;border-radius:999px;background:#111;color:#fff;font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s}.cms-cta__button:hover{transform:translateY(-2px);background:var(--cms-red)}
.cms-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--cms-line);border-radius:16px;overflow:hidden}.cms-stats__item{min-height:145px;padding:25px;display:flex;flex-direction:column;justify-content:center;gap:9px;border-right:1px solid var(--cms-line)}.cms-stats__item:last-child{border-right:0}.cms-stats__item strong{color:var(--cms-red);font:800 clamp(26px,3vw,38px)/1.1 Manrope,sans-serif}.cms-stats__item span{color:var(--cms-muted);font-size:13px;line-height:1.5}
.cms-embed{padding:clamp(18px,3vw,32px);border:1px solid var(--cms-line);border-radius:16px;background:var(--cms-surface);overflow:auto}
.cms-empty-page{padding:130px 0;background:var(--cms-bg)}.cms-empty-page h1{margin:16px 0;font:800 clamp(42px,6vw,68px)/1.05 Manrope,sans-serif;letter-spacing:-.05em}.cms-empty-page>div>p:last-child{color:var(--cms-muted)}
@media(max-width:900px){.cms-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-team{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-stats__item:nth-child(2n){border-right:0}.cms-stats__item:nth-child(-n+2){border-bottom:1px solid var(--cms-line)}.cms-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.cms-hero{min-height:500px;padding:78px 0}.cms-hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.62))}.cms-section{padding:64px 0}.cms-gallery{grid-template-columns:1fr}.cms-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cms-team h3{padding:12px;font-size:14px}.cms-stats{grid-template-columns:1fr}.cms-stats__item{min-height:110px;border-right:0;border-bottom:1px solid var(--cms-line)}.cms-stats__item:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.cms-cta__button{transition:none}}
/* Fix hero content padding */
.cms-section--hero {
    box-sizing: border-box;
    padding: 100px 0;
}

/* Keep hero content away from the screen edges */
.cms-section--hero .cms-section__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding-left: 64px;
    padding-right: 64px;
}

/* Keep the hero heading within the padded container */
.cms-section--hero .cms-hero {
    width: 100%;
    max-width: 900px;
    margin: 0;
}

/* Responsive spacing */
@media (max-width: 768px) {
    .cms-section--hero {
        padding: 80px 0;
    }

    .cms-section--hero .cms-section__inner {
        padding-left: 28px;
        padding-right: 28px;
    }
}

@media (max-width: 480px) {
    .cms-section--hero .cms-section__inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}
.cms-process-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 32px 0;
}

.cms-process-step {
    padding: 28px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    border-radius: 12px;
    background: #fff;
}

.cms-process-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    border-radius: 50%;
    background: #FFCE00;
    color: #000;
    font-weight: 800;
}

.cms-process-step h4 {
    margin: 0 0 10px;
    font-size: 1.15rem;
    font-weight: 700;
}

.cms-process-step p {
    margin: 0;
    line-height: 1.7;
}

html[data-theme="dark"] .cms-process-step {
    background: #1c1c1c;
    border-color: rgba(255, 255, 255, 0.14);
    color: #f5f5f5;
}

@media (max-width: 640px) {
    .cms-process-steps {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cms-process-step {
        padding: 22px;
    }
}

/* Section titles — Light Mode */
.cms-section__title {
    color: #000000;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 24px;
    transition: color 0.3s ease;
}

/* Section titles — Dark Mode */
html[data-theme="dark"] .cms-section__title {
    color: #ffffff;
}

/* Respect the existing GME colour scheme */
.cms-section__title {
    overflow-wrap: break-word;
}
/* Light Mode */
.cms-section h2,
.cms-section h3,
.cms-section h4,
.cms-process-step h4 {
    color: #000000;
}

/* Dark Mode */
html[data-theme="dark"] .cms-section h2,
html[data-theme="dark"] .cms-section h3,
html[data-theme="dark"] .cms-section h4,
html[data-theme="dark"] .cms-process-step h4 {
    color: #ffffff;
}
/* FAQ container */
.cms-faq-list {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

/* Individual FAQ item — light mode */
.cms-faq-item {
    padding: 24px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.10);
    border-left: 4px solid #DD0000;
    border-radius: 8px;
}

/* FAQ question */
.cms-faq-item h3 {
    margin: 0 0 12px;
    color: #000000;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
}

/* FAQ answer */
.cms-faq-item p {
    margin: 0;
    color: #333333;
    line-height: 1.8;
}

/* Dark mode */
html[data-theme="dark"] .cms-faq-item {
    background: #1c1c1c;
    border-color: rgba(255, 255, 255, 0.12);
    border-left-color: #FFCE00;
}

html[data-theme="dark"] .cms-faq-item h3 {
    color: #ffffff;
}

html[data-theme="dark"] .cms-faq-item p {
    color: #e0e0e0;
}

/* Mobile responsiveness */
@media (max-width: 600px) {
    .cms-faq-item {
        padding: 18px;
    }

    .cms-faq-item h3 {
        font-size: 1rem;
    }
}
.cms-career-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.cms-career-step {
    padding: 22px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #dd0000;
    border-radius: 12px;
}

.cms-career-step h4 {
    margin: 0 0 10px;
    color: #000;
    font-size: 1.05rem;
    font-weight: 700;
}

.cms-career-step p {
    margin: 0;
    line-height: 1.7;
}

html[data-theme="dark"] .cms-career-step {
    background: #1c1c1c;
    border-color: #383838;
    border-left-color: #dd0000;
}

html[data-theme="dark"] .cms-career-step h4 {
    color: #fff;
}

@media (max-width: 640px) {
    .cms-career-steps {
        grid-template-columns: 1fr;
    }
}