/* Profixt 2 v0.35.0 consolidated bundle. Generated from v0.34.6 sources; source order preserved. */

/* ===== source: profixt-2.css ===== */

:root {
    --profixt-max: 1240px;
    --profixt-ink: #111820;
    --profixt-dark: #12171c;
    --profixt-panel: #1c232a;
    --profixt-accent: #e9b949;
    --profixt-paper: #f5f4ef;
    --profixt-white: #ffffff;
    --profixt-muted: #aeb5bc;
    --profixt-border: rgba(17, 24, 32, .14);
    --profixt-radius: 16px;
    --profixt-shadow: 0 18px 50px rgba(7, 12, 17, .12);
}

.profixt-container {
    width: min(calc(100% - 2rem), var(--profixt-max));
    margin-inline: auto;
}

.profixt-section {
    padding-block: clamp(4rem, 8vw, 7.5rem);
}

.profixt-home {
    overflow: hidden;
    background: var(--profixt-paper);
    color: var(--profixt-ink);
}

.profixt-kicker {
    margin: 0 0 .9rem;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.profixt-hero {
    position: relative;
    min-height: min(820px, 88vh);
    display: grid;
    align-items: center;
    background: var(--profixt-dark);
    color: #fff;
}

.profixt-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    padding-block: clamp(5rem, 10vw, 9rem);
}

.profixt-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(2.8rem, 7vw, 6.8rem);
    line-height: .92;
    letter-spacing: -.055em;
}

.profixt-hero__lead {
    max-width: 760px;
    margin: 1.6rem 0 0;
    color: #d8dde2;
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.6;
}

.profixt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 2rem;
}

.profixt-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: .75rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 800;
    transition: .2s ease;
}

.profixt-button:hover {
    transform: translateY(-2px);
}

.profixt-button--accent {
    background: var(--profixt-accent);
    color: #111820;
}

.profixt-button--ghost {
    border-color: rgba(255,255,255,.4);
    color: #fff;
}

.profixt-button--light {
    background: #fff;
    color: var(--profixt-ink);
    white-space: nowrap;
}

.profixt-hero__visual {
    position: relative;
    min-height: 520px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 24px;
    overflow: hidden;
    background:
        linear-gradient(155deg, rgba(255,255,255,.08), rgba(255,255,255,.015)),
        repeating-linear-gradient(90deg, transparent 0 58px, rgba(255,255,255,.04) 59px 60px);
}

.profixt-wordmark {
    position: absolute;
    left: -1rem;
    bottom: 2rem;
    font-size: clamp(4rem, 9vw, 8rem);
    font-weight: 900;
    letter-spacing: -.08em;
    color: rgba(255,255,255,.07);
    transform: rotate(-90deg) translateY(100%);
    transform-origin: left bottom;
}

.profixt-rope {
    position: absolute;
    top: -8%;
    width: 4px;
    height: 125%;
    border-radius: 999px;
    background: linear-gradient(#fff, var(--profixt-accent), #fff);
    box-shadow: 0 0 22px rgba(233,185,73,.3);
}

.profixt-rope--one {
    left: 42%;
    transform: rotate(12deg);
}

.profixt-rope--two {
    left: 62%;
    transform: rotate(-8deg);
}

.profixt-hero__badge {
    position: absolute;
    right: 1.4rem;
    bottom: 1.4rem;
    padding: .65rem .8rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.profixt-section-heading {
    max-width: 760px;
    margin-bottom: 2.4rem;
}

.profixt-section-heading h2,
.profixt-worldwide h2,
.profixt-method h2,
.profixt-contact-band h2 {
    margin: 0;
    font-size: clamp(2.2rem, 5vw, 4.5rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.profixt-section-heading > p:last-child {
    margin-top: 1rem;
    font-size: 1.12rem;
}

.profixt-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.profixt-service-card {
    min-height: 340px;
    display: flex;
    flex-direction: column;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border: 1px solid var(--profixt-border);
    border-radius: var(--profixt-radius);
    background: #fff;
    box-shadow: var(--profixt-shadow);
}

.profixt-service-card__number {
    color: #7a838c;
    font-weight: 800;
}

.profixt-service-card h3 {
    margin: auto 0 1rem;
    font-size: clamp(1.5rem, 2.4vw, 2.2rem);
}

.profixt-service-card p {
    color: #525e68;
}

.profixt-service-card a {
    margin-top: 1rem;
    color: var(--profixt-ink);
    font-weight: 800;
    text-decoration: none;
}

.profixt-worldwide {
    background: var(--profixt-accent);
}

.profixt-split {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: start;
}

.profixt-large-copy {
    margin: 0;
    font-size: clamp(1.15rem, 2.1vw, 1.55rem);
    line-height: 1.6;
}

.profixt-upcoming-wrap {
    background: #fff;
}

.profixt-courses {
    width: 100%;
    margin: 0;
}

.profixt-courses__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.profixt-course-card {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: clamp(1.3rem, 3vw, 2rem);
    border: 1px solid var(--profixt-border);
    border-radius: var(--profixt-radius);
    background: var(--profixt-paper);
}

.profixt-course-card h3 {
    margin: 0;
    font-size: clamp(1.3rem, 2vw, 1.8rem);
}

.profixt-course-card__date {
    font-weight: 900;
}

.profixt-course-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    align-items: center;
}

.profixt-status {
    padding: .25rem .65rem;
    border-radius: 999px;
    font-weight: 800;
    background: rgba(0,0,0,.07);
}

.profixt-status--available { background: rgba(35,140,70,.13); }
.profixt-status--limited { background: rgba(208,145,0,.16); }
.profixt-status--full,
.profixt-status--cancelled { background: rgba(190,35,35,.13); }

.profixt-method {
    background: var(--profixt-dark);
    color: #fff;
}

.profixt-method .profixt-large-copy {
    color: #c9d0d6;
    margin-top: 1.3rem;
}

.profixt-stats {
    display: grid;
    gap: 1rem;
}

.profixt-stat {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 1rem;
    align-items: baseline;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.profixt-stat strong {
    color: var(--profixt-accent);
    font-size: clamp(1.8rem, 4vw, 3rem);
}

.profixt-stat span {
    color: #d6dce1;
}

.profixt-contact-band {
    background: var(--profixt-panel);
    color: #fff;
}

.profixt-contact-band__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}

.profixt-contact-band__inner p {
    max-width: 720px;
    color: #cdd3d8;
}

@media (max-width: 900px) {
    .profixt-hero__grid,
    .profixt-split {
        grid-template-columns: 1fr;
    }

    .profixt-hero__visual {
        min-height: 360px;
    }

    .profixt-service-grid,
    .profixt-courses__grid {
        grid-template-columns: 1fr;
    }

    .profixt-contact-band__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .profixt-hero {
        min-height: auto;
    }

    .profixt-hero__grid {
        padding-top: 4rem;
    }

    .profixt-stat {
        grid-template-columns: 1fr;
        gap: .2rem;
    }
}


.profixt-inner {
    background: var(--profixt-paper);
    color: var(--profixt-ink);
}

.profixt-inner-hero {
    padding-block: clamp(5rem, 11vw, 10rem);
    background:
        linear-gradient(135deg, rgba(18,23,28,.98), rgba(18,23,28,.88)),
        radial-gradient(circle at 80% 20%, rgba(233,185,73,.2), transparent 34%);
    color: #fff;
}

.profixt-inner-hero h1 {
    max-width: 980px;
    margin: 0;
    font-size: clamp(2.8rem, 7vw, 6.5rem);
    line-height: .94;
    letter-spacing: -.05em;
}

.profixt-inner-hero__lead {
    max-width: 780px;
    margin: 1.5rem 0 0;
    color: #d6dce1;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    line-height: 1.6;
}

.profixt-inner-highlights {
    background: #fff;
}

.profixt-inner-grid,
.profixt-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.profixt-inner-card {
    min-height: 240px;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border: 1px solid var(--profixt-border);
    border-radius: var(--profixt-radius);
    background: #fff;
    box-shadow: var(--profixt-shadow);
}

.profixt-inner-card h2,
.profixt-inner-card h3 {
    margin-top: 0;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.profixt-inner-card a {
    color: inherit;
    text-decoration: none;
}

.profixt-contact-grid .profixt-inner-card {
    min-height: 220px;
}

@media (max-width: 900px) {
    .profixt-inner-grid,
    .profixt-contact-grid {
        grid-template-columns: 1fr;
    }
}


.profixt-site-bar {
    position: relative;
    z-index: 50;
    background: #0d1116;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.profixt-site-bar__inner {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
}

.profixt-site-wordmark,
.profixt-site-logo {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-decoration: none;
}

.profixt-site-logo img {
    max-height: 38px;
    width: auto;
}

.profixt-site-bar__contact {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.profixt-site-bar__contact > a:not(.profixt-button) {
    color: #d5dbe0;
    text-decoration: none;
    font-size: .9rem;
}

.profixt-global-footer {
    padding-top: 4rem;
    background: #0d1116;
    color: #d6dce1;
}

.profixt-global-footer__grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 2rem;
}

.profixt-global-footer__brand {
    color: #fff;
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.profixt-global-footer a {
    color: #fff;
    text-decoration: none;
}

.profixt-global-footer__bottom {
    margin-top: 3rem;
    padding-block: 1.25rem;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: .9rem;
}

.profixt-contact-form-section {
    background: #fff;
}

.profixt-enquiry-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.profixt-enquiry-form label {
    display: grid;
    gap: .45rem;
    font-weight: 700;
}

.profixt-enquiry-form input,
.profixt-enquiry-form textarea {
    width: 100%;
    padding: .85rem 1rem;
    border: 1px solid var(--profixt-border);
    border-radius: 8px;
    background: var(--profixt-paper);
}

.profixt-enquiry-form__wide {
    grid-column: 1 / -1;
}

.profixt-consent {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: flex-start;
    font-weight: 500 !important;
}

.profixt-consent input {
    width: auto;
    margin-top: .25rem;
}

.profixt-honeypot {
    position: absolute !important;
    left: -9999px !important;
}

.profixt-form-notice {
    margin-bottom: 1rem;
    padding: 1rem;
    border-radius: 8px;
    background: #f1f4f6;
    font-weight: 700;
}

@media (max-width: 900px) {
    .profixt-site-bar__inner,
    .profixt-site-bar__contact {
        align-items: flex-start;
        flex-direction: column;
    }

    .profixt-site-bar__inner {
        padding-block: .8rem;
    }

    .profixt-site-bar__contact {
        width: 100%;
        gap: .55rem;
    }

    .profixt-global-footer__grid,
    .profixt-enquiry-form {
        grid-template-columns: 1fr;
    }

    .profixt-enquiry-form__wide {
        grid-column: auto;
    }
}


/* v0.8.0 — Profixt visual identity */
.profixt-site-logo--bundled {
    display: inline-flex;
    align-items: center;
}

.profixt-site-logo--bundled img {
    display: block;
    width: auto;
    height: 34px;
    max-width: 180px;
    object-fit: contain;
}

.profixt-hero-logo {
    display: block;
    width: min(680px, 90vw);
    height: auto;
    margin-bottom: 1.6rem;
}

.profixt-global-footer__logo {
    display: block;
    width: min(270px, 80%);
    height: auto;
    margin-bottom: 1.25rem;
}

@media (max-width: 720px) {
    .profixt-site-logo--bundled img {
        height: 29px;
        max-width: 150px;
    }

    .profixt-hero-logo {
        width: min(520px, 94vw);
    }
}


/* v0.8.1 branding fallback for legacy Profixt markup */
.profixt-site-wordmark {
    display: inline-block;
    width: 180px;
    height: 50px;
    overflow: hidden;
    text-indent: -9999px;
    background: url("../images/profixt-logo.webp") left center / contain no-repeat;
}

.profixt-wordmark {
    width: min(680px, 90vw);
    aspect-ratio: 700 / 191;
    overflow: hidden;
    text-indent: -9999px;
    background: url("../images/profixt-logo.webp") left center / contain no-repeat;
}

.profixt-global-footer__brand {
    width: 270px;
    max-width: 80%;
    aspect-ratio: 700 / 191;
    overflow: hidden;
    text-indent: -9999px;
    background: url("../images/profixt-logo.webp") left center / contain no-repeat;
}

/* ===== source: profixt-v090.css ===== */

/* Profixt 2 v0.9.0 conversion-focused prototype */
:root {
    --p90-orange: #f5821f;
    --p90-orange-light: #ff9d4d;
    --p90-ink: #15191c;
    --p90-charcoal: #202528;
    --p90-panel: #292f33;
    --p90-soft: #f3f1ec;
    --p90-paper: #fbfaf7;
    --p90-text: #23272a;
    --p90-muted: #697176;
    --p90-line: rgba(20, 25, 28, .13);
    --p90-radius: 18px;
    --p90-shadow: 0 20px 60px rgba(16, 20, 22, .12);
}

.p90, .p90 * { box-sizing: border-box; }
.p90 { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); color: var(--p90-text); background: var(--p90-paper); }
.p90 h1, .p90 h2, .p90 h3, .p90 p { margin-top: 0; }
.p90 h1, .p90 h2, .p90 h3 { letter-spacing: -.035em; line-height: 1.04; }
.p90 p { line-height: 1.7; }
.p90 a { transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.p90-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.p90-section { padding: clamp(72px, 8vw, 120px) 0; }
.p90-section--dark { color: #fff; background: var(--p90-ink); }
.p90-section--soft { background: var(--p90-soft); }
.p90-kicker { margin-bottom: 16px !important; color: var(--p90-orange); font-size: 12px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.p90-lead { max-width: 760px; margin-bottom: 30px !important; color: rgba(255,255,255,.76); font-size: clamp(19px, 2.3vw, 27px); }
.p90-large { font-size: clamp(18px, 2vw, 24px); color: #50585d; }
.p90-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.p90-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 19px; border: 1px solid transparent; border-radius: 9px; font-weight: 800; text-decoration: none !important; }
.p90-button:hover { transform: translateY(-2px); }
.p90-button--primary { background: var(--p90-orange); color: #17191a !important; }
.p90-button--primary:hover { background: var(--p90-orange-light); }
.p90-button--secondary { border-color: rgba(255,255,255,.3); color: #fff !important; background: rgba(255,255,255,.04); }
.p90-button--light { background: #fff; color: var(--p90-ink) !important; }
.p90-heading { max-width: 760px; margin-bottom: 40px; }
.p90-heading--wide { max-width: 900px; }
.p90-heading h2, .p90-intro-grid h2, .p90-two-column h2, .p90-centre h2, .p90-international h2, .p90-final h2 { font-size: clamp(34px, 5vw, 62px); }
.p90-heading > p:last-child { color: #657076; font-size: 19px; }
.p90-section--dark .p90-heading > p:last-child { color: rgba(255,255,255,.67); }

.p90-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 75% 30%, rgba(245,130,31,.18), transparent 28%), linear-gradient(135deg,#121619,#252b2f); }
.p90-hero--image { background-image: linear-gradient(90deg, rgba(14,17,19,.96) 0%, rgba(14,17,19,.8) 52%, rgba(14,17,19,.45) 100%), var(--p90-hero); background-size: cover; background-position: center; }
.p90-hero::after { content:""; position:absolute; inset:auto -5% -35% 48%; width:620px; height:620px; border:2px solid rgba(245,130,31,.25); border-radius:50%; box-shadow:0 0 0 80px rgba(245,130,31,.035),0 0 0 160px rgba(245,130,31,.02); }
.p90-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:60px; align-items:center; min-height:720px; padding-block:110px; }
.p90-hero h1 { max-width:850px; margin-bottom:24px; font-size:clamp(52px,7vw,92px); }
.p90-hero__brand { align-self:end; padding:26px; border-left:1px solid rgba(255,255,255,.2); }
.p90-hero__brand img { width:100%; max-width:340px; height:auto; }
.p90-hero__brand span { display:block; margin-top:20px; color:rgba(255,255,255,.55); font-weight:800; letter-spacing:.15em; }

.p90-trust { color:#fff; background:var(--p90-charcoal); border-top:1px solid rgba(255,255,255,.08); }
.p90-trust__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.p90-trust-card { display:flex; gap:15px; padding:30px 24px; border-right:1px solid rgba(255,255,255,.1); }
.p90-trust-card:last-child { border-right:0; }
.p90-trust-card h2 { margin-bottom:8px; font-size:17px; letter-spacing:-.01em; }
.p90-trust-card p { margin:0; color:rgba(255,255,255,.6); font-size:14px; line-height:1.5; }
.p90-icon svg, .p90-contact-details svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; }
.p90-icon { flex:0 0 auto; color:var(--p90-orange); }

.p90-programmes { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--p90-line); }
.p90-programme { padding:35px 30px 40px 0; border-right:1px solid var(--p90-line); }
.p90-programme + .p90-programme { padding-left:30px; }
.p90-programme:last-child { border-right:0; }
.p90-programme > span { color:var(--p90-orange); font-size:14px; font-weight:900; }
.p90-programme h3 { margin:60px 0 20px; font-size:34px; }
.p90-programme p { min-height:105px; color:var(--p90-muted); }
.p90-programme a { color:var(--p90-text); font-weight:850; text-decoration:none; }
.p90-programme a:hover { color:var(--p90-orange); }

.p90-centre { padding:clamp(80px,9vw,135px) 0; color:#fff; background:linear-gradient(135deg,#1d2225,#2d3438); }
.p90-centre__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; }
.p90-centre__visual { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:430px; padding:35px; overflow:hidden; border:1px solid rgba(255,255,255,.13); background:linear-gradient(150deg,rgba(245,130,31,.12),transparent 55%),repeating-linear-gradient(90deg,transparent 0,transparent 49px,rgba(255,255,255,.035) 50px); }
.p90-centre__visual::before,.p90-centre__visual::after { content:""; position:absolute; top:-10%; bottom:-10%; width:2px; background:var(--p90-orange); transform:rotate(18deg); opacity:.6; }
.p90-centre__visual::before { left:40%; }.p90-centre__visual::after { left:61%; }
.p90-centre__visual strong { position:relative; z-index:1; font-size:110px; line-height:.9; }
.p90-centre__visual span { position:relative; z-index:1; margin-top:14px; color:rgba(255,255,255,.65); font-size:17px; }
.p90-centre .p90-large { color:rgba(255,255,255,.69); }

.p90-process { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--p90-line); border:1px solid var(--p90-line); }
.p90-process article { padding:30px; background:var(--p90-paper); }
.p90-process span { color:var(--p90-orange); font-weight:900; }
.p90-process h3 { margin:55px 0 15px; font-size:25px; }
.p90-process p { margin:0; color:var(--p90-muted); font-size:15px; }

.p90-international { padding:75px 0; color:#17191a; background:var(--p90-orange); }
.p90-international .p90-kicker { color:#17191a; }
.p90-international__inner { display:grid; grid-template-columns:1fr auto; gap:45px; align-items:center; }
.p90-international h2 { max-width:800px; }
.p90-international p:last-child { max-width:780px; margin-bottom:0; font-size:18px; }

.p90-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.p90-proof article { min-height:260px; padding:35px; border:1px solid var(--p90-line); border-radius:var(--p90-radius); background:#fff; box-shadow:0 12px 35px rgba(10,15,18,.05); }
.p90-proof h3 { margin-top:85px; font-size:27px; }
.p90-proof p { color:var(--p90-muted); }

.p90-faq { background:#fff; }
.p90-faq__grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; }
.p90-faq details { border-top:1px solid var(--p90-line); padding:22px 0; }
.p90-faq details:last-child { border-bottom:1px solid var(--p90-line); }
.p90-faq summary { cursor:pointer; font-size:19px; font-weight:800; }
.p90-faq details p { margin:16px 0 0; color:var(--p90-muted); }

.p90-final { padding:70px 0; color:#fff; background:var(--p90-ink); }
.p90-final__inner { display:grid; grid-template-columns:1fr auto; gap:35px; align-items:center; }
.p90-final h2 { margin-bottom:12px; }
.p90-final p { margin:0; color:rgba(255,255,255,.65); }

.p90-page-hero { padding:clamp(100px,12vw,170px) 0 95px; color:#fff; background:radial-gradient(circle at 82% 10%,rgba(245,130,31,.18),transparent 30%),var(--p90-ink); }
.p90-page-hero h1 { max-width:950px; margin-bottom:25px; font-size:clamp(48px,7vw,86px); }
.p90-intro-grid,.p90-two-column { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.p90-fact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:60px; }
.p90-fact-grid article { min-height:210px; padding:27px; border:1px solid var(--p90-line); background:#fff; }
.p90-fact-grid strong { display:block; margin-bottom:55px; color:var(--p90-orange); font-size:25px; }
.p90-fact-grid p { margin:0; color:var(--p90-muted); font-size:15px; }
.p90-checklist { padding:0; margin:0; list-style:none; }
.p90-checklist li { position:relative; padding:18px 0 18px 38px; border-bottom:1px solid var(--p90-line); font-size:18px; }
.p90-checklist li::before { content:"✓"; position:absolute; left:0; color:var(--p90-orange); font-weight:900; }

.p90-contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:55px; align-items:start; }
.p90-contact-details { display:grid; gap:12px; }
.p90-contact-details article { display:flex; gap:17px; padding:24px; border:1px solid var(--p90-line); background:#fff; }
.p90-contact-details article > span { flex:0 0 30px; color:var(--p90-orange); font-size:24px; font-weight:900; }
.p90-contact-details strong { font-size:17px; }
.p90-contact-details p { margin:5px 0 0; color:var(--p90-muted); }
.p90-contact-details a { color:inherit; }
.p90-contact-note { padding:25px; color:#fff; background:var(--p90-charcoal); }
.p90-contact-note p { margin:8px 0 0; color:rgba(255,255,255,.65); }
.p90-form-card { padding:35px; border-radius:var(--p90-radius); background:#fff; box-shadow:var(--p90-shadow); }
.p90-form-card h2 { font-size:38px; }

/* Restyle the native course cards inside v0.9 */
.p90 .profixt-courses { margin:0; }
.p90 .profixt-course-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.p90 .profixt-course-card { padding:28px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:#252b2f; box-shadow:none; }
.p90 .profixt-course-card:first-child { border-color:rgba(245,130,31,.7); background:linear-gradient(135deg,rgba(245,130,31,.12),transparent 55%),#2a3034; }
.p90 .profixt-course-card h3 { font-size:25px; color:#fff; }
.p90 .profixt-course-date { color:var(--p90-orange-light); }
.p90 .profixt-course-card p,.p90 .profixt-course-meta { color:rgba(255,255,255,.65); }
.p90 .profixt-status { border-radius:999px; }
.p90 .profixt-button { border-radius:8px; background:var(--p90-orange); color:#17191a !important; }

/* Form integration */
.p90 .profixt-enquiry-form { max-width:none; }
.p90 .profixt-enquiry-form input,.p90 .profixt-enquiry-form select,.p90 .profixt-enquiry-form textarea { width:100%; border:1px solid #d6d9da; border-radius:8px; background:#fff; }
.p90 .profixt-enquiry-form button { border-radius:8px; background:var(--p90-orange); color:#17191a; font-weight:850; }

/* Header refinement */
.profixt-global-bar { background:#15191c !important; }
.profixt-global-bar__inner { min-height:72px; }
.profixt-global-nav a { font-weight:750; }
.profixt-global-nav .menu-item:last-child a { padding:9px 13px; border-radius:7px; background:var(--p90-orange); color:#17191a !important; }

@media (max-width: 980px) {
    .p90-hero__inner,.p90-centre__grid,.p90-intro-grid,.p90-two-column,.p90-faq__grid,.p90-contact-layout { grid-template-columns:1fr; }
    .p90-hero__brand { display:none; }
    .p90-trust__grid,.p90-process,.p90-fact-grid { grid-template-columns:repeat(2,1fr); }
    .p90-programmes,.p90-proof { grid-template-columns:1fr; }
    .p90-programme,.p90-programme + .p90-programme { padding:30px 0; border-right:0; border-bottom:1px solid var(--p90-line); }
    .p90-programme p { min-height:0; }
    .p90-programme h3 { margin-top:30px; }
}

@media (max-width: 680px) {
    .p90-container { width:min(100% - 28px,1180px); }
    .p90-section { padding:68px 0; }
    .p90-hero__inner { min-height:0; padding:90px 0 75px; }
    .p90-hero h1,.p90-page-hero h1 { font-size:44px; }
    .p90-trust__grid,.p90-process,.p90-fact-grid,.p90 .profixt-course-grid { grid-template-columns:1fr; }
    .p90-trust-card { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
    .p90-international__inner,.p90-final__inner { grid-template-columns:1fr; }
    .p90-centre__visual { min-height:330px; }
    .p90-centre__visual strong { font-size:82px; }
    .p90-actions .p90-button { width:100%; }
    .p90-form-card { padding:23px; }
}


/* v0.9.1 — authentic Profixt training photography */
.p90-hero--image {
    background-image:
        linear-gradient(90deg,
            rgba(12,15,17,.97) 0%,
            rgba(12,15,17,.91) 35%,
            rgba(12,15,17,.66) 62%,
            rgba(12,15,17,.28) 100%
        ),
        var(--p90-hero);
    background-position: 47% center;
}

.p90-centre__photo {
    position: relative;
    min-height: 460px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.13);
    background: #15191c;
}

.p90-centre__photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
    object-position: 48% center;
    filter: saturate(.95) contrast(1.04);
}

.p90-centre__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(10,13,15,.88) 100%);
    pointer-events: none;
}

.p90-centre__photo figcaption {
    position: absolute;
    z-index: 1;
    left: 28px;
    right: 28px;
    bottom: 24px;
    display: flex;
    align-items: baseline;
    gap: 15px;
    color: #fff;
}

.p90-centre__photo figcaption strong {
    color: var(--p90-orange);
    font-size: clamp(48px, 6vw, 78px);
    line-height: .9;
}

.p90-centre__photo figcaption span {
    max-width: 240px;
    color: rgba(255,255,255,.75);
    font-size: 15px;
    line-height: 1.35;
}

.p90-centre-gallery {
    padding: clamp(75px, 9vw, 125px) 0;
    background: #111518;
    color: #fff;
}

.p90-centre-gallery__grid {
    display: grid;
    grid-template-columns: 1.18fr .82fr;
    gap: clamp(35px, 6vw, 80px);
    align-items: center;
}

.p90-centre-gallery figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
}

.p90-centre-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: 48% center;
}

.p90-centre-gallery .p90-large {
    color: rgba(255,255,255,.68);
}

@media (max-width: 980px) {
    .p90-centre-gallery__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .p90-hero--image {
        background-image:
            linear-gradient(180deg,
                rgba(12,15,17,.82) 0%,
                rgba(12,15,17,.88) 55%,
                rgba(12,15,17,.96) 100%
            ),
            var(--p90-hero);
        background-position: 52% center;
    }

    .p90-centre__photo,
    .p90-centre__photo img {
        min-height: 360px;
    }

    .p90-centre__photo figcaption {
        left: 20px;
        right: 20px;
        bottom: 18px;
        align-items: flex-end;
    }
}


/* v0.9.2 — corrected hero background implementation */
.p90-hero {
    isolation: isolate;
}

.p90-hero__background {
    position: absolute;
    z-index: -2;
    inset: 0;
    overflow: hidden;
}

.p90-hero__background img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 47% center;
}

.p90-hero--image::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(10, 13, 15, .97) 0%,
            rgba(10, 13, 15, .91) 34%,
            rgba(10, 13, 15, .68) 61%,
            rgba(10, 13, 15, .28) 100%
        );
    pointer-events: none;
}

/* Prevent the old CSS-variable background method from interfering. */
.p90-hero--image {
    background-image: none !important;
}

@media (max-width: 680px) {
    .p90-hero__background img {
        object-position: 52% center;
    }

    .p90-hero--image::before {
        background:
            linear-gradient(
                180deg,
                rgba(10, 13, 15, .70) 0%,
                rgba(10, 13, 15, .83) 48%,
                rgba(10, 13, 15, .97) 100%
            );
    }
}


/* v0.10.0 — launch polish */
.profixt-v100-page .entry-hero,
.profixt-v100-page .entry-header,
.profixt-v100-page .page-header,
.profixt-v100-page .kadence-page-title,
.profixt-v100-page .entry-title-wrap{display:none!important}
.profixt-v100-page .content-area,
.profixt-v100-page .site-main,
.profixt-v100-page .content-container,
.profixt-v100-page .entry-content{margin-top:0!important;padding-top:0!important}
.profixt-v100-page .entry-content>.p90:first-child{margin-top:0!important}

.profixt-global-bar__inner{min-height:64px;gap:20px}
.profixt-site-logo--bundled img{height:38px;max-width:190px}
.profixt-global-nav{gap:4px}
.profixt-global-nav a{padding:10px 11px;border-radius:7px}
.profixt-global-nav a:hover,
.profixt-global-nav .current-menu-item>a,
.profixt-global-nav .current_page_item>a{background:rgba(255,255,255,.06);color:#fff!important}
.profixt-global-nav .menu-item:last-child a{margin-left:4px;background:var(--p90-orange);color:#17191a!important}

.p90-hero__inner{min-height:680px}
.p90-hero__copy{max-width:760px}
.p90-hero h1{max-width:760px}
.p90-hero__brand{max-width:310px;opacity:.92}
.p90-hero__brand img{max-width:250px}

.p100-credentials{color:#fff;background:#171b1e;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.p100-credentials__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.p100-credentials article{min-height:130px;padding:28px 24px;border-right:1px solid rgba(255,255,255,.09)}
.p100-credentials article:last-child{border-right:0}
.p100-credentials strong{display:block;margin-bottom:10px;color:var(--p90-orange);font-size:24px;letter-spacing:-.02em}
.p100-credentials span{color:rgba(255,255,255,.66);font-size:14px;line-height:1.5}

.p90 .profixt-course-card{position:relative;overflow:hidden}
.p90 .profixt-course-card:first-child::before{content:"NEXT";position:absolute;top:14px;right:14px;padding:5px 8px;border-radius:999px;background:rgba(245,130,31,.16);color:var(--p90-orange-light);font-size:11px;font-weight:900;letter-spacing:.08em}
html[lang^="bg"] .p90 .profixt-course-card:first-child::before{content:"НАЙ-БЛИЗЪК"}
.p90 .profixt-button{min-height:42px;padding:10px 14px;font-weight:850}

.p90-form-card label{color:#202528;font-weight:750}
.p90-form-card input,.p90-form-card select,.p90-form-card textarea{min-height:46px;padding:11px 12px}
.p90-form-card textarea{min-height:130px}

.profixt-global-footer{padding-top:60px;background:#111518!important}
.profixt-global-footer__logo{max-width:220px}
.profixt-global-footer a{color:rgba(255,255,255,.72)}
.profixt-global-footer a:hover{color:var(--p90-orange)}

@media(max-width:980px){
.p100-credentials__grid{grid-template-columns:repeat(2,1fr)}
.p100-credentials article:nth-child(2){border-right:0}
.profixt-global-nav{gap:0}
.profixt-global-nav a{padding:10px 8px}
}
@media(max-width:680px){
.p90-hero__inner{min-height:620px;align-items:end}
.p90-hero__copy{padding-bottom:12px}
.p90-hero h1{font-size:42px}
.p90-lead{font-size:18px}
.p100-credentials__grid{grid-template-columns:1fr}
.p100-credentials article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
.p100-credentials article:last-child{border-bottom:0}
}


/* v0.10.1 language switcher */
.profixt-global-nav .profixt-language-switcher > a,
.profixt-global-nav .profixt-language-switcher a {
    white-space: nowrap;
}


/* v0.10.2: exactly one complete language switcher */
.profixt-global-nav .profixt-language-switcher > a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}


/* =========================================================
   Profixt 2 v0.11.0 — comprehensive visual and launch polish
   ========================================================= */

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

.profixt-skip-link {
    position: fixed;
    z-index: 999999;
    top: 10px;
    left: 10px;
    transform: translateY(-150%);
    padding: 10px 14px;
    border-radius: 7px;
    background: #fff;
    color: #111 !important;
    font-weight: 800;
}

.profixt-skip-link:focus {
    transform: translateY(0);
}

.p90 {
    --p90-content: min(1180px, calc(100% - 40px));
}

.p90-section,
.p90-centre,
.p90-international,
.p90-final,
.p90-centre-gallery {
    scroll-margin-top: 84px;
}

/* Header */
.profixt-global-bar {
    position: relative;
    z-index: 1000;
    box-shadow: 0 1px 0 rgba(255,255,255,.05);
}

.profixt-global-bar.is-sticky,
.profixt-global-bar.profixt-sticky {
    backdrop-filter: blur(12px);
    background: rgba(17,21,24,.94) !important;
}

.profixt-global-bar__inner {
    min-height: 68px;
}

.profixt-global-nav a {
    font-size: 14px;
    letter-spacing: -.01em;
}

.profixt-language-button > a,
.profixt-language-switcher > a {
    font-weight: 800;
}

.profixt-language-button > a {
    background: transparent !important;
    color: rgba(255,255,255,.8) !important;
    border: 1px solid rgba(255,255,255,.14);
}

.profixt-language-button > a:hover {
    border-color: rgba(245,130,31,.7);
    color: #fff !important;
}

/* Hero */
.p90-hero {
    min-height: 680px;
}

.p90-hero__inner {
    min-height: 680px;
    padding-block: clamp(80px, 9vw, 120px);
}

.p90-hero__copy {
    padding: 36px 0;
}

.p90-hero h1 {
    margin-bottom: 22px;
    max-width: 720px;
    font-size: clamp(50px, 6.6vw, 84px);
    line-height: .98;
}

.p90-hero .p90-lead {
    max-width: 690px;
    margin-bottom: 28px !important;
    color: rgba(255,255,255,.78);
}

.p90-hero__brand {
    border-left: 0;
    align-self: center;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
    background: rgba(10,13,15,.28);
    backdrop-filter: blur(5px);
}

.p90-hero__brand img {
    max-width: 230px;
}

.p90-actions {
    gap: 10px;
}

.p90-button {
    min-height: 50px;
    padding: 13px 19px;
}

.p90-button--secondary {
    border-color: rgba(255,255,255,.22);
}

.p90-button:focus-visible,
.p90 a:focus-visible,
.profixt-global-nav a:focus-visible {
    outline: 3px solid rgba(245,130,31,.55);
    outline-offset: 3px;
}

/* Trust strip */
.p90-trust {
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.p90-trust-card {
    min-height: 138px;
    align-items: flex-start;
}

.p90-trust-card h2 {
    font-size: 16px;
}

.p90-trust-card p {
    max-width: 240px;
}

/* Course cards */
.p90 .profixt-course-grid {
    gap: 18px;
}

.p90 .profixt-course-card {
    min-height: 270px;
    padding: 30px;
    border-color: rgba(255,255,255,.10);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.p90 .profixt-course-card:hover {
    transform: translateY(-3px);
    border-color: rgba(245,130,31,.42);
}

.p90 .profixt-course-card:first-child {
    border-width: 2px;
}

.p90 .profixt-course-card h3 {
    max-width: 75%;
    margin-bottom: 18px;
}

.p90 .profixt-course-date {
    font-size: 17px;
    font-weight: 800;
}

.p90 .profixt-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 16px 0;
}

.p90 .profixt-course-card .profixt-button {
    margin-top: auto;
}

/* Programme cards */
.p90-programmes {
    gap: 0;
}

.p90-programme {
    min-height: 360px;
    display: flex;
    flex-direction: column;
}

.p90-programme p {
    flex: 1;
}

.p90-programme a {
    align-self: flex-start;
}

/* Credentials */
.p100-credentials article {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Centre */
.p90-centre__grid {
    gap: clamp(45px, 7vw, 85px);
}

.p90-centre__photo {
    border-radius: 14px;
}

.p90-centre__photo img {
    transition: transform .5s ease;
}

.p90-centre__photo:hover img {
    transform: scale(1.015);
}

.p90-centre-gallery figure {
    border-radius: 14px;
}

.p90-centre-gallery__grid h2 {
    font-size: clamp(34px, 4.4vw, 58px);
}

/* Inner page heroes */
.p90-page-hero {
    padding: clamp(90px, 10vw, 145px) 0 80px;
}

.p90-page-hero h1 {
    max-width: 900px;
}

.p90-inner .p90-page-hero .p90-lead {
    max-width: 780px;
}

/* Fact cards */
.p90-fact-grid article {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(10,15,18,.04);
}

.p90-fact-grid strong {
    margin-bottom: 45px;
}

/* FAQ */
.p90-faq details {
    transition: background .2s ease;
}

.p90-faq details[open] {
    padding-left: 18px;
    padding-right: 18px;
    background: #f7f5f0;
}

.p90-faq summary {
    list-style: none;
    position: relative;
    padding-right: 32px;
}

.p90-faq summary::-webkit-details-marker {
    display: none;
}

.p90-faq summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: -2px;
    color: var(--p90-orange);
    font-size: 24px;
}

.p90-faq details[open] summary::after {
    content: "−";
}

/* Contact */
.p90-contact-layout {
    gap: clamp(35px, 5vw, 70px);
}

.p90-contact-details article {
    border-radius: 12px;
}

.p90-form-card {
    position: sticky;
    top: 92px;
}

.p110-enquiry-summary {
    margin: 0 0 20px;
    padding: 12px 14px;
    border-left: 4px solid var(--p90-orange);
    border-radius: 7px;
    background: rgba(245,130,31,.10);
    color: #2a2e31;
    font-weight: 800;
}

.p90-form-card form.is-submitting {
    opacity: .72;
    pointer-events: none;
}

.p90-form-card button[aria-busy="true"]::after,
.p90-form-card input[aria-busy="true"]::after {
    content: "…";
}

/* Footer */
.profixt-global-footer__inner {
    gap: 45px;
}

.profixt-v110-legal {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    width: min(1180px, calc(100% - 40px));
    margin: 35px auto 0;
    padding: 18px 0 28px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.48);
    font-size: 13px;
}

/* Page-specific accents */
.profixt-page-irata .p90-page-hero {
    background:
        radial-gradient(circle at 78% 12%, rgba(245,130,31,.22), transparent 28%),
        #15191c;
}

.profixt-page-wah .p90-page-hero {
    background:
        radial-gradient(circle at 80% 10%, rgba(245,130,31,.14), transparent 28%),
        linear-gradient(135deg,#172024,#202a2f);
}

.profixt-page-ppe .p90-page-hero {
    background:
        radial-gradient(circle at 80% 10%, rgba(245,130,31,.12), transparent 28%),
        linear-gradient(135deg,#1d2022,#2a2d30);
}

.profixt-page-centre .p90-page-hero {
    background:
        radial-gradient(circle at 80% 10%, rgba(245,130,31,.18), transparent 30%),
        linear-gradient(135deg,#111518,#252b2f);
}

/* Tablet and mobile */
@media (max-width: 1100px) {
    .profixt-global-nav a {
        padding: 9px 7px;
        font-size: 13px;
    }

    .p90-hero__inner {
        grid-template-columns: 1fr .42fr;
        gap: 30px;
    }

    .p90-hero__brand {
        padding: 16px;
    }
}

@media (max-width: 980px) {
    .p90-hero {
        min-height: 620px;
    }

    .p90-hero__inner {
        min-height: 620px;
        grid-template-columns: 1fr;
    }

    .p90-hero__brand {
        display: none;
    }

    .p90-form-card {
        position: static;
    }
}

@media (max-width: 760px) {
    .profixt-global-bar__inner {
        min-height: 60px;
    }

    .profixt-site-logo--bundled img {
        height: 32px;
        max-width: 160px;
    }

    .p90-container {
        width: min(100% - 28px, 1180px);
    }

    .p90-section {
        padding: 64px 0;
    }

    .p90-hero,
    .p90-hero__inner {
        min-height: 600px;
    }

    .p90-hero__inner {
        padding-block: 80px 58px;
    }

    .p90-hero h1 {
        font-size: clamp(40px, 12vw, 54px);
    }

    .p90-actions {
        flex-direction: column;
    }

    .p90-actions .p90-button {
        width: 100%;
    }

    .p90-trust__grid {
        grid-template-columns: 1fr;
    }

    .p90-trust-card {
        min-height: 0;
    }

    .p90 .profixt-course-card h3 {
        max-width: 100%;
        padding-right: 65px;
    }

    .p90-programme {
        min-height: 0;
    }

    .p90-centre__photo,
    .p90-centre__photo img {
        min-height: 330px;
    }

    .p90-faq__grid {
        gap: 35px;
    }

    .profixt-v110-legal {
        flex-direction: column;
        width: min(100% - 28px, 1180px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .p90 *,
    .profixt-global-bar *,
    .profixt-global-footer * {
        animation: none !important;
        transition: none !important;
    }
}


/* v0.11.1 — course announcement module */
.p90 .profixt-ca {
    margin: 0;
    color: #f4f1ea;
}

.p90 .profixt-ca > .profixt-ca__heading {
    display: none;
}

.p90 .profixt-ca__grid {
    display: grid;
    gap: 18px;
}

.p90 .profixt-ca__card {
    position: relative;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-left: 5px solid var(--p90-orange);
    border-radius: 13px;
    background: #292f33;
    box-shadow: 0 15px 38px rgba(0,0,0,.18);
    transition: transform .2s ease, border-color .2s ease;
}

.p90 .profixt-ca__card:hover {
    transform: translateY(-3px);
    border-color: rgba(245,130,31,.48);
    border-left-color: var(--p90-orange);
}

.p90 .profixt-ca__card--nearest {
    border-color: rgba(245,130,31,.46);
    border-left-color: var(--p90-orange);
    background:
        linear-gradient(135deg, rgba(245,130,31,.13), transparent 52%),
        #30363a;
}

.p90 .profixt-ca__nearest-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(245,130,31,.16);
    color: #ff9b45;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.p90 .profixt-ca__topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.p90 .profixt-ca__topline h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(22px, 2.3vw, 30px);
}

.p90 .profixt-ca__card--nearest .profixt-ca__topline h3 {
    font-weight: 900;
}

.p90 .profixt-ca__places {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 850;
    white-space: nowrap;
}

.p90 .profixt-ca__places--green {
    border-color: rgba(46,204,113,.35);
    background: rgba(46,204,113,.16);
    color: #5ee493;
}

.p90 .profixt-ca__places--orange {
    border-color: rgba(245,130,31,.38);
    background: rgba(245,130,31,.17);
    color: #ff9b45;
}

.p90 .profixt-ca__places--red {
    border-color: rgba(231,76,60,.38);
    background: rgba(231,76,60,.17);
    color: #ff7469;
}

.p90 .profixt-ca__dates {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 17px;
    color: rgba(255,255,255,.68);
}

.p90 .profixt-ca__dates strong {
    color: rgba(255,255,255,.9);
}

.p90 .profixt-ca__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}

.p90 .profixt-ca__price {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    padding: 10px 13px;
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: #fff;
}

.p90 .profixt-ca__price-label {
    color: rgba(255,255,255,.62);
    font-size: 14px;
    font-weight: 650;
}

.p90 .profixt-ca__price strong {
    color: #fff;
    font-size: 19px;
}

.p90 .profixt-ca__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 7px;
    background: var(--p90-orange);
    color: #17191a !important;
    font-size: 14px;
    font-weight: 850;
    text-decoration: none !important;
}

.p90 .profixt-ca__button:hover {
    transform: translateY(-1px);
    background: var(--p90-orange-light);
}

.p90 .profixt-ca__empty {
    padding: 22px;
    border: 1px dashed rgba(255,255,255,.18);
    border-radius: 10px;
    color: rgba(255,255,255,.65);
    text-align: center;
}

/* Ensure no testimonial/proof remnants appear. */
.p90-proof,
.testimonials,
.testimonial,
[class*="testimonial-section"],
[id*="testimonials"] {
    display: none !important;
}

@media (min-width: 900px) {
    .p90 .profixt-ca__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .p90 .profixt-ca__card--nearest {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .p90 .profixt-ca__card {
        padding: 22px;
    }

    .p90 .profixt-ca__topline {
        flex-direction: column;
    }

    .p90 .profixt-ca__places {
        white-space: normal;
    }

    .p90 .profixt-ca__dates {
        display: grid;
    }

    .p90 .profixt-ca__bottom {
        align-items: stretch;
    }

    .p90 .profixt-ca__button {
        width: 100%;
    }
}


/* =========================================================
   Profixt 2 v0.12.0 — premium visual polish
   ========================================================= */

:root {
    --p120-grid: rgba(255,255,255,.035);
    --p120-orange-soft: rgba(245,130,31,.16);
}

/* Thin reading-progress line */
.p120-scroll-progress {
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--p90-orange);
    pointer-events: none;
}

/* Refined site background */
.p90 {
    background:
        linear-gradient(180deg, rgba(255,255,255,.24), transparent 220px),
        var(--p90-paper);
}

.p90-section {
    position: relative;
    overflow: hidden;
}

.p120-section-mark {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(1180px, calc(100% - 40px));
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(20,25,28,.14), transparent);
    pointer-events: none;
}

.p90-section--dark .p120-section-mark,
.p90-centre .p120-section-mark,
.p90-final .p120-section-mark,
.p90-international .p120-section-mark {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}

/* Hero: premium overlay, mesh and photo framing */
.p90-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.75) 48%, transparent 86%);
    pointer-events: none;
}

.p90-hero__copy {
    position: relative;
}

.p90-hero__copy::before {
    content: "";
    position: absolute;
    left: -24px;
    top: 4px;
    width: 4px;
    height: 88px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--p90-orange), transparent);
}

.p90-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.p90-kicker::before {
    content: "";
    width: 24px;
    height: 2px;
    background: currentColor;
}

.p90-hero h1 {
    text-wrap: balance;
    text-shadow: 0 5px 26px rgba(0,0,0,.35);
}

.p90-hero__brand {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 20px 55px rgba(0,0,0,.2);
}

/* Buttons */
.p90-button,
.p90 .profixt-ca__button {
    position: relative;
    overflow: hidden;
    box-shadow: 0 9px 24px rgba(0,0,0,.14);
}

.p90-button::after,
.p90 .profixt-ca__button::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%) skewX(-18deg);
    width: 45%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
    transition: transform .55s ease;
}

.p90-button:hover::after,
.p90 .profixt-ca__button:hover::after {
    transform: translateX(260%) skewX(-18deg);
}

/* Trust strip */
.p90-trust-card {
    position: relative;
    transition: background .2s ease;
}

.p90-trust-card:hover {
    background: rgba(255,255,255,.025);
}

.p90-trust-card::after {
    content: "";
    position: absolute;
    right: 22px;
    bottom: 16px;
    width: 28px;
    height: 28px;
    border-right: 1px solid rgba(245,130,31,.22);
    border-bottom: 1px solid rgba(245,130,31,.22);
}

/* Course cards */
.p90 .profixt-ca__card {
    background:
        radial-gradient(circle at 100% 0, rgba(245,130,31,.08), transparent 34%),
        #292f33;
}

.p90 .profixt-ca__card::after {
    content: "";
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 120px;
    height: 120px;
    border: 1px solid rgba(245,130,31,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 24px rgba(245,130,31,.025);
    pointer-events: none;
}

.p90 .profixt-ca__card--nearest {
    box-shadow: 0 20px 55px rgba(0,0,0,.24);
}

/* Programme cards */
.p90-programme {
    position: relative;
    overflow: hidden;
}

.p90-programme::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--p90-orange);
    transition: width .35s ease;
}

.p90-programme:hover::before {
    width: 100%;
}

.p90-programme > span {
    font-size: 12px;
    letter-spacing: .16em;
}

.p90-programme h3 {
    transition: color .2s ease;
}

.p90-programme:hover h3 {
    color: var(--p90-orange);
}

/* Credential metrics */
.p100-credentials article {
    position: relative;
}

.p100-credentials article::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 22px;
    height: 22px;
    border-top: 1px solid rgba(245,130,31,.25);
    border-right: 1px solid rgba(245,130,31,.25);
}

/* Centre image */
.p90-centre__photo,
.p90-centre-gallery figure {
    box-shadow: 0 26px 65px rgba(0,0,0,.28);
}

.p90-centre__photo::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 16px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    pointer-events: none;
}

/* Fact cards and proofs */
.p90-fact-grid article,
.p90-contact-details article,
.p90-form-card {
    position: relative;
    overflow: hidden;
}

.p90-fact-grid article::after,
.p90-contact-details article::after {
    content: "";
    position: absolute;
    right: -16px;
    bottom: -16px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: rgba(245,130,31,.08);
}

/* FAQ */
.p90-faq details {
    border-radius: 8px;
}

.p90-faq summary {
    transition: color .2s ease;
}

.p90-faq details:hover summary {
    color: var(--p90-orange);
}

/* Forms */
.p90-form-card {
    border: 1px solid rgba(20,25,28,.08);
}

.p90-form-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--p90-orange), #ffad67);
}

.p90-form-card input:focus,
.p90-form-card select:focus,
.p90-form-card textarea:focus {
    border-color: rgba(245,130,31,.75) !important;
    box-shadow: 0 0 0 3px rgba(245,130,31,.12);
    outline: none;
}

/* Reveal motion */
.p120-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity .6s ease var(--p120-delay, 0ms),
        transform .6s ease var(--p120-delay, 0ms);
}

.p120-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile refinements */
@media (max-width: 760px) {
    .p90-hero__copy::before {
        left: -12px;
        height: 60px;
    }

    .p90-kicker::before {
        width: 18px;
    }

    .p90 .profixt-ca__card::after {
        right: -55px;
        bottom: -55px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .p120-reveal {
        opacity: 1 !important;
        transform: none !important;
    }

    .p90-button::after,
    .p90 .profixt-ca__button::after {
        display: none;
    }
}


/* =========================================================
   Profixt 2 v0.12.1 — detail polish
   ========================================================= */

.p90 h1,
.p90 h2,
.p90 h3 {
    text-rendering: geometricPrecision;
}

.p90-heading h2,
.p90-centre h2,
.p90-international h2,
.p90-final h2,
.p90-page-hero h1 {
    text-wrap: balance;
}

.p90-heading > p:last-child,
.p90-large,
.p90-lead {
    text-wrap: pretty;
}

.profixt-global-bar {
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.profixt-global-bar__inner::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(245,130,31,.35), transparent);
    opacity: .55;
}

.profixt-global-nav .current-menu-item > a,
.profixt-global-nav .current_page_item > a {
    position: relative;
}

.profixt-global-nav .current-menu-item > a::after,
.profixt-global-nav .current_page_item > a::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 4px;
    height: 2px;
    border-radius: 99px;
    background: var(--p90-orange);
}

.p90-hero {
    min-height: 700px;
}

.p90-hero__background img {
    transform: scale(1.035);
    transition: transform .15s linear;
    will-change: transform;
}

.p90-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: auto 0 0;
    height: 160px;
    background: linear-gradient(180deg, transparent, rgba(12,15,17,.58));
    pointer-events: none;
}

.p90-hero__inner {
    z-index: 2;
}

.p90-hero__copy {
    max-width: 790px;
}

.p90-hero__brand {
    transform: translateY(8px);
}

.p90-hero__brand span {
    font-size: 12px;
    letter-spacing: .18em;
}

.p90 > section {
    position: relative;
}

.p121-section-index {
    position: absolute;
    z-index: 1;
    top: 24px;
    right: max(20px, calc((100vw - 1180px) / 2));
    color: rgba(20,25,28,.11);
    font-size: clamp(42px, 6vw, 82px);
    font-weight: 900;
    letter-spacing: -.05em;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.p90-section--dark .p121-section-index,
.p90-centre .p121-section-index,
.p90-international .p121-section-index,
.p90-final .p121-section-index,
.p90-centre-gallery .p121-section-index,
.p90-page-hero .p121-section-index {
    color: rgba(255,255,255,.08);
}

.p90 .profixt-ca__card {
    padding-right: 82px;
}

.p121-course-icon {
    position: absolute;
    right: 24px;
    top: 50%;
    width: 34px;
    height: 34px;
    transform: translateY(-50%);
    color: rgba(245,130,31,.24);
}

.p121-course-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
}

.p90 .profixt-ca__card:hover .p121-course-icon {
    color: rgba(245,130,31,.48);
}

.p90-programme h3 {
    max-width: 90%;
}

.p90-programme p {
    max-width: 92%;
}

.p90-programme a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.p90-programme a::after {
    content: "↗";
    transition: transform .2s ease;
}

.p90-programme a:hover::after {
    transform: translate(2px,-2px);
}

.p100-credentials strong {
    font-size: 28px;
}

.p100-credentials span {
    max-width: 210px;
}

.p90-centre__photo img,
.p90-centre-gallery img {
    filter: saturate(.94) contrast(1.05);
}

.p90-faq details {
    padding-inline: 18px;
}

.p90-faq details[open] {
    box-shadow: inset 3px 0 0 var(--p90-orange);
}

.p90-contact-details article {
    transition: transform .2s ease, border-color .2s ease;
}

.p90-contact-details article:hover {
    transform: translateX(3px);
    border-color: rgba(245,130,31,.35);
}

.profixt-global-footer {
    position: relative;
    overflow: hidden;
}

.profixt-global-footer::before {
    content: "";
    position: absolute;
    right: -120px;
    bottom: -120px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(245,130,31,.10);
    border-radius: 50%;
    box-shadow:
        0 0 0 55px rgba(245,130,31,.025),
        0 0 0 110px rgba(245,130,31,.012);
    pointer-events: none;
}

@media (max-width: 980px) {
    .p90-hero {
        min-height: 640px;
    }

    .p121-section-index {
        top: 16px;
        right: 20px;
        font-size: 54px;
    }
}

@media (max-width: 700px) {
    .p90-hero {
        min-height: 610px;
    }

    .p90 .profixt-ca__card {
        padding-right: 22px;
    }

    .p121-course-icon {
        display: none;
    }

    .p121-section-index {
        font-size: 42px;
        opacity: .8;
    }

    .profixt-global-nav .current-menu-item > a::after,
    .profixt-global-nav .current_page_item > a::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .p90-hero__background img {
        transform: none !important;
    }
}


/* =========================================================
   Profixt 2 v0.12.2 — consolidated header
   ========================================================= */

/* Hide any legacy textual site label still emitted by old markup. */
.profixt-global-bar__label,
.profixt-global-bar__title,
.profixt-global-bar__name,
.profixt-global-bar .site-title,
.profixt-global-bar .site-description {
    display: none !important;
}

/* One compact header row: logo, navigation, contact details. */
.profixt-global-bar__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    min-height: 72px;
}

.profixt-site-logo,
.profixt-site-logo--bundled {
    grid-column: 1;
    flex: 0 0 auto;
}

.profixt-global-nav,
.profixt-global-bar nav {
    grid-column: 2;
    justify-self: center;
    min-width: 0;
}

.profixt-global-bar__contact,
.profixt-global-contact,
.profixt-global-bar__meta {
    grid-column: 3;
    justify-self: end;
}

/* Keep contact details compact instead of competing with the menu. */
.profixt-global-bar__contact,
.profixt-global-contact,
.profixt-global-bar__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
    font-size: 12px;
}

.profixt-global-bar__contact a,
.profixt-global-contact a,
.profixt-global-bar__meta a {
    color: rgba(255,255,255,.62);
    text-decoration: none;
}

.profixt-global-bar__contact a:hover,
.profixt-global-contact a:hover,
.profixt-global-bar__meta a:hover {
    color: var(--p90-orange);
}

/* Reduce navigation bulk and improve balance. */
.profixt-global-nav {
    display: flex;
    justify-content: center;
    align-items: center;
}

.profixt-global-nav ul,
.profixt-global-nav .menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: 0;
}

.profixt-global-nav a {
    padding: 9px 9px;
    font-size: 13px;
}

/* The language switcher remains visually separate, not a second CTA. */
.profixt-language-button > a,
.profixt-language-switcher > a {
    margin-left: 5px;
    padding-inline: 10px;
}

/* Make the logo the only brand identifier in the header. */
.profixt-site-logo--bundled img {
    width: auto;
    height: 39px;
    max-width: 185px;
}

/* Sticky state becomes slimmer. */
.profixt-global-bar.is-sticky .profixt-global-bar__inner,
.profixt-global-bar.profixt-sticky .profixt-global-bar__inner {
    min-height: 62px;
}

.profixt-global-bar.is-sticky .profixt-site-logo--bundled img,
.profixt-global-bar.profixt-sticky .profixt-site-logo--bundled img {
    height: 34px;
}

/* Tablet: contact details move out before the navigation becomes cramped. */
@media (max-width: 1180px) {
    .profixt-global-bar__inner {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 18px;
    }

    .profixt-global-nav,
    .profixt-global-bar nav {
        grid-column: 2;
        justify-self: end;
    }

    .profixt-global-bar__contact,
    .profixt-global-contact,
    .profixt-global-bar__meta {
        display: none !important;
    }

    .profixt-global-nav a {
        padding-inline: 7px;
        font-size: 12px;
    }
}

/* Mobile: preserve the theme's mobile toggle and remove desktop-row pressure. */
@media (max-width: 820px) {
    .profixt-global-bar__inner {
        display: flex;
        justify-content: space-between;
        min-height: 62px;
    }

    .profixt-site-logo--bundled img {
        height: 33px;
        max-width: 160px;
    }

    .profixt-global-nav {
        justify-content: flex-end;
    }
}


/* =========================================================
   Profixt 2 v0.12.3 — actual single consolidated header
   ========================================================= */

/*
 * The previous layout rendered a custom logo/contact bar above Kadence's
 * own navigation header. That is why “Profixt Training Centre” remained.
 * We now keep one Kadence header only.
 */
.profixt-site-bar {
    display: none !important;
}

/* Remove all Kadence textual branding while retaining/inserting the logo. */
#masthead .site-title,
#masthead .site-description,
#masthead .site-branding-text,
#masthead .site-title-wrap,
.site-header .site-title,
.site-header .site-description,
.site-header .site-branding-text,
.site-header .site-title-wrap {
    display: none !important;
}

/* Single header shell */
#masthead,
.site-header {
    border-bottom: 1px solid rgba(255,255,255,.07);
    background: rgba(17,21,24,.97);
    box-shadow: 0 8px 28px rgba(0,0,0,.16);
    backdrop-filter: blur(12px);
}

#masthead .site-main-header-inner-wrap,
#masthead .site-header-row-container-inner,
.site-header .site-main-header-inner-wrap,
.site-header .site-header-row-container-inner {
    min-height: 72px;
}

/* Logo injected only when Kadence has no image logo. */
.profixt123-header-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.profixt123-header-logo img {
    display: block;
    width: auto;
    height: 39px;
    max-width: 185px;
    object-fit: contain;
}

/* Reuse any existing Kadence logo cleanly. */
#masthead .custom-logo,
.site-header .custom-logo {
    width: auto;
    max-width: 185px;
    max-height: 42px;
}

/* Compact navigation */
#masthead .primary-menu-container > ul,
.site-header .primary-menu-container > ul {
    align-items: center;
}

#masthead .primary-menu-container a,
.site-header .primary-menu-container a {
    font-size: 13px;
    font-weight: 720;
    letter-spacing: -.01em;
}

/* One clear CTA inside the same row. */
.profixt123-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-left: 14px;
    padding: 9px 14px;
    border-radius: 7px;
    background: var(--p90-orange);
    color: #16191b !important;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(0,0,0,.16);
}

.profixt123-header-cta:hover {
    transform: translateY(-1px);
    background: var(--p90-orange-light);
}

/* Remove extra empty header rows if Kadence emits them. */
#masthead .site-top-header-wrap:empty,
#masthead .site-bottom-header-wrap:empty,
.site-header .site-top-header-wrap:empty,
.site-header .site-bottom-header-wrap:empty {
    display: none !important;
}

@media (max-width: 1180px) {
    .profixt123-header-cta {
        display: none;
    }

    #masthead .primary-menu-container a,
    .site-header .primary-menu-container a {
        padding-inline: 7px;
        font-size: 12px;
    }
}

@media (max-width: 820px) {
    #masthead .site-main-header-inner-wrap,
    #masthead .site-header-row-container-inner,
    .site-header .site-main-header-inner-wrap,
    .site-header .site-header-row-container-inner {
        min-height: 62px;
    }

    .profixt123-header-logo img,
    #masthead .custom-logo,
    .site-header .custom-logo {
        height: 33px;
        max-width: 160px;
    }
}


/* =========================================================
   Profixt 2 v0.12.4 — hero readability correction
   ========================================================= */

/*
 * Kadence's global heading colour was overriding the custom hero text.
 * Force the entire hero copy to use high-contrast light colours.
 */
.p90-hero,
.p90-hero__copy,
.p90-hero__copy h1,
.p90-hero__copy h2,
.p90-hero__copy h3,
.p90-hero__copy p,
.p90-hero__copy li,
.p90-hero__copy span:not(.p90-button),
.p90-hero__copy strong {
    color: #ffffff !important;
}

.p90-hero__copy h1 {
    text-shadow:
        0 2px 2px rgba(0,0,0,.65),
        0 8px 32px rgba(0,0,0,.55);
}

.p90-hero .p90-lead {
    color: rgba(255,255,255,.92) !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.55);
}

.p90-hero .p90-kicker {
    color: #ff8a22 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.65);
}

/* Add a restrained readability panel behind the main copy. */
.p90-hero__copy {
    padding: 42px 44px 42px 42px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background:
        linear-gradient(90deg, rgba(8,11,13,.82), rgba(8,11,13,.62) 72%, rgba(8,11,13,.18));
    box-shadow: 0 28px 70px rgba(0,0,0,.30);
    backdrop-filter: blur(2px);
}

/* Strengthen the left side of the hero image without darkening the whole photo. */
.p90-hero__background::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(7,10,12,.82) 0%,
            rgba(7,10,12,.63) 35%,
            rgba(7,10,12,.24) 63%,
            rgba(7,10,12,.08) 100%);
    pointer-events: none;
}

/* Preserve readable button labels. */
.p90-hero .p90-button {
    text-shadow: none;
}

.p90-hero .p90-button--primary,
.p90-hero .p90-button--primary span {
    color: #17191a !important;
}

.p90-hero .p90-button--secondary,
.p90-hero .p90-button--secondary span {
    color: #ffffff !important;
}

/* Logo card remains visible without overpowering the headline. */
.p90-hero__brand {
    background: rgba(14,17,19,.68);
    border-color: rgba(255,255,255,.16);
}

/* Mobile: use a simpler full-width dark panel. */
@media (max-width: 760px) {
    .p90-hero__copy {
        padding: 30px 24px;
        border-radius: 12px;
        background: rgba(8,11,13,.76);
    }

    .p90-hero__background::after {
        background: rgba(7,10,12,.55);
    }
}


/* =========================================================
   Profixt 2 v0.12.6 — clean hero composition
   ========================================================= */

/* Remove the decorative concentric circles on the left. */
.p90-hero::before,
.p90-hero::after,
.p90-hero .p120-section-mark,
.p90-hero .p121-section-index {
    display: none !important;
}

.p90-hero {
    overflow: hidden;
}

/* Keep only a clean image overlay, without decorative shapes. */
.p90-hero__background::after {
    background:
        linear-gradient(
            90deg,
            rgba(7,10,12,.80) 0%,
            rgba(7,10,12,.62) 36%,
            rgba(7,10,12,.24) 65%,
            rgba(7,10,12,.05) 100%
        ) !important;
}

/* Remove the boxed/glass-card effect behind the text. */
.p90-hero__copy {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    max-width: 780px;
}

/* Keep a subtle vertical accent only. */
.p90-hero__copy::before {
    left: -34px;
    top: 0;
    height: 74px;
    width: 4px;
    background: linear-gradient(180deg, var(--p90-orange), rgba(245,130,31,0));
}

/* Remove the floating Profixt logo card from the middle of the hero image. */
.p90-hero__brand {
    display: none !important;
}

/* Let the main copy use the available width naturally. */
.p90-hero__inner {
    grid-template-columns: minmax(0, 780px) !important;
    justify-content: start !important;
    align-items: center !important;
}

/* Slightly refine text sizing after removing the card. */
.p90-hero h1 {
    max-width: 760px;
    font-size: clamp(50px, 5.8vw, 78px);
    line-height: 1.01;
}

.p90-hero .p90-lead {
    max-width: 720px;
}

/* Keep the buttons visually grounded without another box. */
.p90-hero .p90-actions {
    margin-top: 26px;
}

/* Mobile cleanup. */
@media (max-width: 760px) {
    .p90-hero__copy {
        padding: 0 !important;
        background: transparent !important;
    }

    .p90-hero__copy::before {
        left: -14px;
        height: 58px;
    }

    .p90-hero__background::after {
        background: rgba(7,10,12,.58) !important;
    }

    .p90-hero h1 {
        font-size: clamp(40px, 12vw, 54px);
    }
}


/* =========================================================
   Profixt 2 v0.12.7 — dark section contrast repair
   ========================================================= */

/*
 * Some section headings further down the page were inheriting dark theme
 * colours, making them nearly invisible on dark backgrounds.
 * Force readable light text across all dark sections.
 */
.p90-section--dark,
.p90-trust,
.p90-centre,
.p90-final,
.p90-page-hero {
    color: #ffffff !important;
}

.p90-section--dark h1,
.p90-section--dark h2,
.p90-section--dark h3,
.p90-section--dark h4,
.p90-section--dark h5,
.p90-section--dark h6,
.p90-trust h1,
.p90-trust h2,
.p90-trust h3,
.p90-trust h4,
.p90-trust h5,
.p90-trust h6,
.p90-centre h1,
.p90-centre h2,
.p90-centre h3,
.p90-centre h4,
.p90-centre h5,
.p90-centre h6,
.p90-final h1,
.p90-final h2,
.p90-final h3,
.p90-final h4,
.p90-final h5,
.p90-final h6,
.p90-page-hero h1,
.p90-page-hero h2,
.p90-page-hero h3,
.p90-page-hero h4,
.p90-page-hero h5,
.p90-page-hero h6,
.p90-section--dark .p90-heading h2,
.p90-section--dark .p90-heading h3,
.p90-section--dark .p90-heading h4 {
    color: #ffffff !important;
    text-shadow: 0 2px 16px rgba(0,0,0,.16);
}

.p90-section--dark p,
.p90-section--dark li,
.p90-section--dark .p90-large,
.p90-section--dark .p90-heading > p:last-child,
.p90-trust p,
.p90-centre p,
.p90-centre .p90-large,
.p90-final p,
.p90-page-hero p {
    color: rgba(255,255,255,.82) !important;
}

.p90-section--dark .p90-kicker,
.p90-trust .p90-kicker,
.p90-centre .p90-kicker,
.p90-final .p90-kicker,
.p90-page-hero .p90-kicker {
    color: #ff8a22 !important;
}

.p90-section--dark .p90-button--secondary,
.p90-trust .p90-button--secondary,
.p90-centre .p90-button--secondary,
.p90-final .p90-button--secondary,
.p90-page-hero .p90-button--secondary {
    color: #ffffff !important;
    border-color: rgba(255,255,255,.34) !important;
}

/* Specifically reinforce the Upcoming Courses heading section. */
.p90-section--dark .p90-heading,
.p90-section--dark .p90-heading * {
    color: inherit;
}

.p90-section--dark .p90-heading h2 {
    color: #ffffff !important;
}

.p90-section--dark .p90-heading p {
    color: rgba(255,255,255,.78) !important;
}


/* =========================================================
   Profixt 2 v0.12.8 — remove top white strip + darker sections
   ========================================================= */

/* Darker palette for the whole redesigned page */
:root {
    --p90-soft: #1b2024;
    --p90-paper: #21272b;
    --p90-text: #edf0f2;
    --p90-muted: #b8c0c7;
    --p90-line: rgba(255,255,255,.10);
    --p90-shadow: 0 20px 60px rgba(0, 0, 0, .18);
}

/* Make sure the page wrapper behind the redesigned sections is dark,
   so no white strip shows above/between sections. */
body.page,
.site,
.site-main,
.content-area,
.site-content,
.entry,
.entry-content,
.content-container,
.site-container {
    background: #15191c;
}

/* Remove the white gap / strip above the first section. */
.site-main,
.content-area,
.site-content,
.entry-content,
.entry-content-wrap,
.single-content,
.page-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.entry-content > .p90:first-child,
.content-area .entry-content > .p90:first-child,
.site-main .p90:first-child {
    margin-top: 0 !important;
}

/* If Kadence injects a title area or spacer on some pages, hide it for the redesigned layout. */
.p90:first-child ~ .entry-hero,
.p90:first-child ~ .page-header,
.p90:first-child ~ .title-entry,
.p90:first-child ~ .page-title,
body.page .entry-hero,
body.page .page-header {
    margin-bottom: 0 !important;
}

/* General redesigned-page surfaces */
.p90 {
    background: var(--p90-paper);
    color: var(--p90-text);
}

.p90-section--soft {
    background: var(--p90-soft) !important;
    color: var(--p90-text);
}

.p90-faq,
.p90-process article,
.p90-proof article,
.p90-fact-grid article,
.p90-programme,
.p90-course-card,
.p90-team-card,
.p90-contact-card {
    background: #262c31 !important;
    color: var(--p90-text) !important;
    border-color: rgba(255,255,255,.09) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.14);
}

.p90-heading > p:last-child,
.p90-programme p,
.p90-proof p,
.p90-fact-grid p,
.p90-faq details p,
.p90-checklist li,
.p90-large {
    color: var(--p90-muted) !important;
}

.p90-programme a,
.p90-faq summary,
.p90-proof h3,
.p90-fact-grid strong {
    color: var(--p90-text) !important;
}

.p90-process {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.10) !important;
}

.p90-process article h3,
.p90-programme h3,
.p90-heading h2,
.p90-intro-grid h2,
.p90-two-column h2,
.p90-centre h2,
.p90-international h2,
.p90-final h2,
.p90-page-hero h1 {
    color: #ffffff !important;
}

/* Keep orange accents lively on dark gray backgrounds */
.p90-kicker,
.p90-programme > span,
.p90-process span {
    color: var(--p90-orange) !important;
}

/* Slightly darker trust strip to fit the darker direction */
.p90-trust {
    background: #1a1f23 !important;
}

/* Keep FAQ / content areas fully dark instead of white */
.p90-faq {
    background: #20262a !important;
}

.p90-faq details {
    border-color: rgba(255,255,255,.10) !important;
}

/* Mobile compatibility */
@media (max-width: 768px) {
    .site-main,
    .content-area,
    .site-content,
    .entry-content {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}


/* =========================================================
   Profixt 2 v0.12.9 — FAQ contrast correction
   ========================================================= */

.p90-faq {
    background: #20262a !important;
    color: #edf0f2 !important;
}

.p90-faq .p90-kicker {
    color: #ff8a22 !important;
}

.p90-faq h1,
.p90-faq h2,
.p90-faq h3,
.p90-faq h4,
.p90-faq h5,
.p90-faq h6 {
    color: #ffffff !important;
}

.p90-faq__grid {
    align-items: start;
}

.p90-faq details {
    margin: 0;
    padding: 20px 18px;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 10px;
    background: #262c31 !important;
    color: #edf0f2 !important;
    box-shadow: none !important;
}

.p90-faq details + details {
    margin-top: 12px;
}

.p90-faq details[open] {
    background: #2d3439 !important;
    border-color: rgba(245,130,31,.38) !important;
    box-shadow: inset 3px 0 0 var(--p90-orange) !important;
}

.p90-faq summary {
    color: #ffffff !important;
    font-weight: 800;
}

.p90-faq summary::after {
    color: #ff8a22 !important;
}

.p90-faq details p,
.p90-faq details li,
.p90-faq details span,
.p90-faq details strong {
    color: #cfd6dc !important;
}

.p90-faq details[open] p {
    color: #dbe1e6 !important;
}

.p90-faq details:hover {
    background: #2a3035 !important;
    border-color: rgba(245,130,31,.24) !important;
}

/* Remove any inherited light card styling from previous versions. */
.p90-faq details,
.p90-faq details[open],
.p90-faq .wp-block-details {
    background-image: none !important;
}

@media (max-width: 760px) {
    .p90-faq details {
        padding: 18px 16px;
    }
}


/* =========================================================
   Profixt 2 v0.12.10 — remove Kadence footer credit
   ========================================================= */

.site-footer .site-info,
.site-footer .footer-html,
.site-footer .site-footer-bottom-section-1,
.site-footer .site-footer-bottom-section-2,
.site-footer .site-footer-bottom-section-3,
.site-footer .site-bottom-footer-inner-wrap,
#colophon .site-info,
#colophon .footer-html {
    display: none !important;
}

/* Keep the custom Profixt legal line visible. */
.profixt-v110-legal {
    display: flex !important;
}


/* =========================================================
   Profixt 2 v0.12.11 — remove duplicate footer
   ========================================================= */

.profixt-v110-legal {
    display: none !important;
}


/* =========================================================
   Profixt 2 v0.13.0 — refined industrial polish
   ========================================================= */

.p90-section,
.p90-centre,
.p90-final,
.p90-international,
.p90-faq,
.p90-centre-gallery {
    padding-top: clamp(78px, 8vw, 118px);
    padding-bottom: clamp(78px, 8vw, 118px);
}

.p90-heading {
    margin-bottom: 46px;
}

.p90-heading h2,
.p130-heading {
    position: relative;
    display: inline-block;
    max-width: 900px;
}

.p130-heading::after {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    margin-top: 18px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--p90-orange), rgba(245,130,31,0));
}

#masthead,
.site-header {
    transition: transform .28s ease, background .25s ease, box-shadow .25s ease;
}

#masthead.profixt-header-scrolled,
.site-header.profixt-header-scrolled {
    background: rgba(14,17,19,.985) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.28);
}

#masthead.profixt-header-hidden,
.site-header.profixt-header-hidden {
    transform: translateY(-100%);
}

.profixt123-header-logo img,
#masthead .custom-logo,
.site-header .custom-logo {
    transition: transform .2s ease, opacity .2s ease;
}

.profixt123-header-logo:hover img,
#masthead .custom-logo-link:hover .custom-logo,
.site-header .custom-logo-link:hover .custom-logo {
    transform: translateY(-1px);
    opacity: .94;
}

.p90-hero__inner {
    min-height: 690px;
}

.p90-hero__copy {
    max-width: 760px;
}

.p90-hero h1 {
    margin-bottom: 22px;
    letter-spacing: -.045em;
}

.p90-hero .p90-lead {
    line-height: 1.55;
}

.p90-trust-card {
    min-height: 132px;
}

.p90-trust-card h2 {
    font-size: 16px;
    color: #fff !important;
}

.p90-trust-card p {
    color: rgba(255,255,255,.64) !important;
}

.p90 .profixt-ca__grid {
    gap: 20px;
}

.p90 .profixt-ca__card {
    isolation: isolate;
    min-height: 245px;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255,255,255,.025), transparent 45%), #282e33 !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

.p90 .profixt-ca__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(0,0,0,.25);
}

.p130-card-edge {
    position: absolute;
    z-index: -1;
    right: -35px;
    bottom: -35px;
    width: 110px;
    height: 110px;
    border: 1px solid rgba(245,130,31,.14);
    transform: rotate(45deg);
}

.p90 .profixt-ca__card--nearest {
    background: linear-gradient(145deg, rgba(245,130,31,.13), transparent 58%), #30363b !important;
}

.p90-programmes {
    gap: 16px;
    border: 0;
}

.p90-programme {
    min-height: 360px;
    padding: 32px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255,255,255,.025), transparent 40%), #252b30 !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.12);
}

.p90-programme h3,
.p90-programme a,
.p90-process h3 {
    color: #fff !important;
}

.p90-programme p {
    min-height: 0;
    color: #b9c1c8 !important;
}

.p90-process {
    gap: 14px;
    border: 0 !important;
    background: transparent !important;
}

.p90-process article {
    min-height: 240px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: #252b30 !important;
}

.p90-faq__grid {
    gap: 64px;
}

.p90-faq details {
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.p90-faq details:hover {
    transform: translateX(2px);
}

.p90-contact-details article {
    background: #252b30 !important;
}

.p90-form-card {
    background: #282e33 !important;
    border-color: rgba(255,255,255,.09) !important;
}

.p90-form-card label {
    color: #eef1f3 !important;
}

.p90-form-card input,
.p90-form-card select,
.p90-form-card textarea {
    background: #171b1e !important;
    color: #f1f3f5 !important;
    border-color: rgba(255,255,255,.13) !important;
}

.profixt-global-footer {
    border-top: 1px solid rgba(255,255,255,.08);
    background: #111518 !important;
}

.profixt-global-footer__bottom {
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.52);
}

@media (max-width: 760px) {
    #masthead.profixt-header-hidden,
    .site-header.profixt-header-hidden {
        transform: none;
    }

    .p90-section,
    .p90-centre,
    .p90-final,
    .p90-international,
    .p90-faq,
    .p90-centre-gallery {
        padding-top: 64px;
        padding-bottom: 64px;
    }
}


/* =========================================================
   Profixt 2 v0.13.1 — all-around finish pass
   ========================================================= */

/* Slightly richer global palette */
:root {
    --p90-orange: #f5821f;
    --p90-orange-light: #ff9c43;
    --p90-ink: #14181b;
    --p90-charcoal: #1c2226;
    --p90-panel: #272d32;
    --p90-soft: #1d2327;
    --p90-paper: #20262a;
    --p90-text: #f0f2f4;
    --p90-muted: #b7c0c7;
}

/* Improve layout consistency */
.p90-container,
.profixt-container {
    width: min(1180px, calc(100% - 48px));
}

.p90 p {
    max-width: 72ch;
}

.p90-section:nth-of-type(even) {
    background-image:
        linear-gradient(180deg, rgba(255,255,255,.012), transparent 180px);
}

/* Header */
#masthead,
.site-header {
    border-bottom-color: rgba(255,255,255,.08) !important;
}

#masthead .primary-menu-container a,
.site-header .primary-menu-container a {
    position: relative;
    transition: color .2s ease, opacity .2s ease;
}

#masthead .primary-menu-container a:hover,
.site-header .primary-menu-container a:hover {
    color: #fff !important;
}

#masthead .primary-menu-container a::before,
.site-header .primary-menu-container a::before {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 5px;
    height: 1px;
    transform: scaleX(0);
    transform-origin: center;
    background: var(--p90-orange);
    transition: transform .2s ease;
}

#masthead .primary-menu-container a:hover::before,
.site-header .primary-menu-container a:hover::before {
    transform: scaleX(1);
}

/* Hero */
.p90-hero {
    min-height: 680px;
}

.p90-hero__background img {
    filter: saturate(.93) contrast(1.04) brightness(.95);
}

.p90-hero__copy {
    padding-block: 8px;
}

.p90-hero h1 {
    max-width: 700px;
    font-size: clamp(48px, 5.2vw, 76px);
    line-height: 1.02;
}

.p90-hero .p90-lead {
    max-width: 680px;
    font-size: clamp(18px, 1.8vw, 24px);
    color: rgba(255,255,255,.88) !important;
}

.p90-hero .p90-kicker {
    letter-spacing: .17em;
}

.p90-hero .p90-actions {
    margin-top: 28px;
}

/* Buttons */
.p131-button {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.p131-button::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    transform: scaleX(0);
    transform-origin: left;
    background: rgba(255,255,255,.12);
    transition: transform .25s ease;
}

.p131-button:hover::before {
    transform: scaleX(1);
}

.p90-button--secondary:hover {
    border-color: rgba(245,130,31,.65) !important;
    background: rgba(245,130,31,.08) !important;
}

/* Cards */
.profixt-ca__card,
.p90-programme,
.p90-process article,
.p90-fact-grid article,
.p90-contact-details article,
.p90-form-card {
    border-color: rgba(255,255,255,.09) !important;
}

.profixt-ca__card,
.p90-programme,
.p90-process article {
    transform:
        perspective(900px)
        rotateX(var(--p131-rotate-x, 0deg))
        rotateY(var(--p131-rotate-y, 0deg))
        translateY(0);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.profixt-ca__card:hover,
.p90-programme:hover,
.p90-process article:hover {
    border-color: rgba(245,130,31,.34) !important;
}

.p90-programme h3,
.p90-process h3 {
    letter-spacing: -.025em;
}

/* Trust cards */
.p90-trust-card {
    padding: 28px 24px;
}

.p90-trust-card .p90-icon {
    margin-top: 2px;
}

.p90-trust-card h2 {
    margin-bottom: 6px;
}

/* Course section */
.p90 .profixt-ca__topline {
    gap: 28px;
}

.p90 .profixt-ca__dates {
    line-height: 1.55;
}

.p90 .profixt-ca__bottom {
    padding-top: 2px;
}

.p90 .profixt-ca__button {
    min-height: 42px;
    padding-inline: 16px;
}

/* Training centre */
.p90-centre {
    background:
        radial-gradient(circle at 85% 15%, rgba(245,130,31,.08), transparent 26%),
        linear-gradient(135deg, #1a2024, #252c31) !important;
}

.p90-centre__photo {
    overflow: hidden;
}

.p90-centre__photo img {
    transition: transform .7s ease, filter .4s ease;
}

.p90-centre__photo:hover img {
    transform: scale(1.025);
    filter: saturate(1) contrast(1.06);
}

/* FAQ */
.p90-faq details {
    overflow: hidden;
}

.p90-faq details[open] summary {
    color: #fff !important;
}

.p90-faq details p {
    max-width: 68ch;
}

/* Contact */
.p90-contact-details article {
    padding: 24px;
}

.p90-contact-details article strong {
    color: #fff !important;
}

.p90-form-card {
    box-shadow: 0 22px 60px rgba(0,0,0,.18);
}

.p90-form-card button[type="submit"],
.p90-form-card input[type="submit"] {
    min-height: 46px;
    border-radius: 8px;
}

/* Footer */
.profixt-global-footer__logo {
    max-width: 190px;
}

.profixt-global-footer a {
    transition: color .2s ease;
}

.profixt-global-footer a:hover {
    color: var(--p90-orange-light) !important;
}

/* Fine mobile tuning */
@media (max-width: 760px) {
    .p90-container,
    .profixt-container {
        width: min(100% - 28px, 1180px);
    }

    .p90-hero {
        min-height: 590px;
    }

    .p90-hero h1 {
        font-size: clamp(39px, 11vw, 52px);
    }

    .p90-programme,
    .p90-process article,
    .profixt-ca__card {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .profixt-ca__card,
    .p90-programme,
    .p90-process article,
    .p90-centre__photo img {
        transform: none !important;
        transition: none !important;
    }
}


/* =========================================================
   Profixt 2 v0.13.2 — memberships and partner logos
   ========================================================= */

.p132-partners {
    position: relative;
    padding: clamp(78px, 8vw, 118px) 0;
    overflow: hidden;
    color: #f0f2f4;
    background:
        radial-gradient(circle at 82% 18%, rgba(245,130,31,.08), transparent 24%),
        linear-gradient(135deg, #171c20, #22282d);
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.p132-partners::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -135px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(245,130,31,.09);
    border-radius: 50%;
    box-shadow:
        0 0 0 52px rgba(245,130,31,.018),
        0 0 0 104px rgba(245,130,31,.009);
    pointer-events: none;
}

.p132-partners .p90-heading {
    position: relative;
    z-index: 1;
}

.p132-partners .p90-heading h2 {
    color: #fff !important;
}

.p132-partners .p90-heading > p:last-child {
    color: #b9c1c8 !important;
}

.p132-partners__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
}

.p132-partner-card {
    display: flex;
    min-height: 315px;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 15px;
    background: #282e33;
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.p132-partner-card:hover {
    transform: translateY(-4px);
    border-color: rgba(245,130,31,.36);
    box-shadow: 0 24px 56px rgba(0,0,0,.25);
}

.p132-partner-card__logo {
    display: flex;
    min-height: 215px;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border-radius: 10px;
}

.p132-partner-card__logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 205px;
    object-fit: contain;
}

.p132-partner-card--irata .p132-partner-card__logo {
    background: #1c2226;
}

.p132-partner-card--irata .p132-partner-card__logo img {
    max-height: 215px;
}

.p132-partner-card--polygon .p132-partner-card__logo {
    background: #fff;
}

.p132-partner-card--polygon .p132-partner-card__logo img {
    max-height: 165px;
}

.p132-partner-card > p {
    margin: 22px 0 0;
    color: #eef1f3 !important;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .015em;
}

@media (max-width: 800px) {
    .p132-partners__grid {
        grid-template-columns: 1fr;
    }

    .p132-partner-card {
        min-height: 270px;
    }

    .p132-partner-card__logo {
        min-height: 185px;
    }
}

@media (max-width: 520px) {
    .p132-partners {
        padding: 64px 0;
    }

    .p132-partner-card {
        padding: 20px;
    }

    .p132-partner-card__logo {
        min-height: 160px;
        padding: 12px;
    }
}


/* =========================================================
   Profixt 2 v0.13.3 — accreditation strip in the header
   ========================================================= */

/* The dedicated homepage partner section is no longer used. */
.p132-partners {
    display: none !important;
}

.p133-accreditation-bar {
    position: relative;
    z-index: 5;
    width: 100%;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.06);
    background:
        linear-gradient(90deg, rgba(245,130,31,.045), transparent 32%, transparent 68%, rgba(245,130,31,.035)),
        #111619;
}

.p133-accreditation-bar__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    width: min(1180px, calc(100% - 48px));
    min-height: 58px;
    margin-inline: auto;
    padding: 7px 0;
}

.p133-accreditation {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.p133-accreditation__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.p133-accreditation--irata .p133-accreditation__logo {
    width: 84px;
    height: 42px;
}

.p133-accreditation--irata img {
    width: auto;
    max-width: 84px;
    max-height: 42px;
    object-fit: contain;
}

.p133-accreditation--polygon .p133-accreditation__logo {
    width: 104px;
    height: 40px;
    padding: 4px 7px;
    border-radius: 5px;
    background: #fff;
}

.p133-accreditation--polygon img {
    width: auto;
    max-width: 90px;
    max-height: 31px;
    object-fit: contain;
}

.p133-accreditation__text {
    display: grid;
    gap: 1px;
    line-height: 1.1;
    white-space: nowrap;
}

.p133-accreditation__text strong {
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .035em;
}

.p133-accreditation__text span {
    color: rgba(255,255,255,.56);
    font-size: 11px;
    font-weight: 700;
}

.p133-accreditation-bar__divider {
    width: 1px;
    height: 28px;
    background: rgba(255,255,255,.12);
}

/* Header scroll behaviour includes the accreditation strip. */
#masthead.profixt-header-hidden,
.site-header.profixt-header-hidden {
    transform: translateY(-100%);
}

/* Keep the logos visible but secondary to the main navigation. */
#masthead.profixt-header-scrolled .p133-accreditation-bar__inner,
.site-header.profixt-header-scrolled .p133-accreditation-bar__inner {
    min-height: 50px;
}

#masthead.profixt-header-scrolled .p133-accreditation--irata .p133-accreditation__logo,
.site-header.profixt-header-scrolled .p133-accreditation--irata .p133-accreditation__logo {
    height: 35px;
}

@media (max-width: 820px) {
    .p133-accreditation-bar__inner {
        justify-content: flex-start;
        gap: 14px;
        width: min(100% - 28px, 1180px);
        min-height: 52px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .p133-accreditation-bar__inner::-webkit-scrollbar {
        display: none;
    }

    .p133-accreditation--irata .p133-accreditation__logo {
        width: 72px;
        height: 36px;
    }

    .p133-accreditation--irata img {
        max-width: 72px;
        max-height: 36px;
    }

    .p133-accreditation--polygon .p133-accreditation__logo {
        width: 91px;
        height: 35px;
    }

    .p133-accreditation--polygon img {
        max-width: 78px;
        max-height: 27px;
    }

    .p133-accreditation__text strong {
        font-size: 11px;
    }

    .p133-accreditation__text span {
        font-size: 10px;
    }
}

@media (max-width: 520px) {
    .p133-accreditation__text {
        display: none;
    }

    .p133-accreditation-bar__divider {
        height: 24px;
    }

    .p133-accreditation-bar__inner {
        justify-content: center;
    }
}


/* =========================================================
   Profixt 2 v0.13.4 — keep desktop header visible
   ========================================================= */

/* The desktop header must remain visible while scrolling. */
#masthead.profixt-header-hidden,
.site-header.profixt-header-hidden {
    transform: none !important;
}

/* Keep it sticky and compact rather than hiding it. */
#masthead,
.site-header {
    position: sticky;
    top: 0;
    z-index: 9990;
}

/* Account for the WordPress admin bar when logged in. */
.admin-bar #masthead,
.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar #masthead,
    .admin-bar .site-header {
        top: 46px;
    }
}

/* The accreditation strip stays attached to the visible header. */
.p133-accreditation-bar {
    position: relative;
    z-index: 5;
}


/* =========================================================
   Profixt 2 v0.14.0 — confined-space training page
   ========================================================= */

.profixt-page-confined .p90-page-hero {
    background:
        linear-gradient(105deg, rgba(8,11,13,.96), rgba(19,25,29,.88)),
        radial-gradient(circle at 82% 22%, rgba(245,130,31,.18), transparent 29%),
        #15191c;
}

.profixt-page-confined .p90-page-hero::after {
    content: "";
    position: absolute;
    right: max(24px, calc((100vw - 1180px) / 2));
    bottom: 45px;
    width: 190px;
    height: 190px;
    opacity: .22;
    background:
        linear-gradient(90deg, transparent 46%, var(--p90-orange) 47%, var(--p90-orange) 53%, transparent 54%),
        linear-gradient(0deg, transparent 46%, var(--p90-orange) 47%, var(--p90-orange) 53%, transparent 54%);
    border: 2px solid rgba(245,130,31,.34);
    border-radius: 50%;
    pointer-events: none;
}

.profixt-page-confined .p90-fact-grid article {
    min-height: 230px;
    background:
        linear-gradient(145deg, rgba(245,130,31,.045), transparent 42%),
        #262c31 !important;
}

.profixt-page-confined .p90-checklist li::before {
    content: "✓";
    display: grid;
    place-items: center;
    top: 15px;
    width: 23px;
    height: 23px;
    border: 1px solid rgba(245,130,31,.45);
    border-radius: 50%;
    font-size: 12px;
}

.profixt-page-confined .p90-final {
    background:
        radial-gradient(circle at 85% 20%, rgba(245,130,31,.10), transparent 25%),
        #15191c;
}

@media (max-width: 760px) {
    .profixt-page-confined .p90-page-hero::after {
        display: none;
    }
}


/* =========================================================
   Profixt 2 v0.14.1 — Courses dropdown + prominent credentials
   ========================================================= */

.p133-accreditation-bar,
[data-profixt-header-accreditations] {
    display: none !important;
}

.profixt-courses-menu {
    position: relative;
}

.profixt-courses-menu__toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 9px;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.72);
    font: inherit;
    font-size: 13px;
    font-weight: 720;
    cursor: pointer;
}

.profixt-courses-menu__toggle:hover,
.profixt-courses-menu.is-open .profixt-courses-menu__toggle,
.profixt-courses-menu.current-menu-ancestor .profixt-courses-menu__toggle {
    color: #fff;
}

.profixt-courses-menu__toggle > span {
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease;
}

.profixt-courses-menu.is-open .profixt-courses-menu__toggle > span {
    transform: rotate(225deg) translate(-1px,-1px);
}

.profixt-courses-menu > .sub-menu {
    position: absolute;
    z-index: 10000;
    top: calc(100% + 8px);
    left: 50%;
    display: grid !important;
    width: 270px;
    padding: 8px;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 11px;
    background: rgba(20,24,27,.985);
    box-shadow: 0 22px 54px rgba(0,0,0,.34);
    backdrop-filter: blur(14px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.profixt-courses-menu.is-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.profixt-courses-menu > .sub-menu li {
    width: 100%;
}

.profixt-courses-menu > .sub-menu a {
    display: block;
    padding: 12px 13px !important;
    border-radius: 7px;
    color: rgba(255,255,255,.78) !important;
    font-size: 13px !important;
    line-height: 1.25;
}

.profixt-courses-menu > .sub-menu a::before,
.profixt-courses-menu > .sub-menu a::after {
    display: none !important;
}

.profixt-courses-menu > .sub-menu a:hover,
.profixt-courses-menu > .sub-menu .current-menu-item > a {
    color: #fff !important;
    background: rgba(245,130,31,.12);
}

.p141-first-impression {
    padding: 36px 0;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(245,130,31,.055), transparent 35%, transparent 68%, rgba(245,130,31,.035)),
        #151a1e;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.p141-first-impression__inner {
    display: grid;
    grid-template-columns: minmax(280px,.72fr) minmax(520px,1.28fr);
    gap: 44px;
    align-items: center;
}

.p141-first-impression__intro h2 {
    max-width: 560px;
    margin: 0 0 13px;
    color: #fff !important;
    font-size: clamp(27px, 3vw, 42px);
    line-height: 1.06;
}

.p141-first-impression__intro > p:last-child {
    margin: 0;
    color: rgba(255,255,255,.66) !important;
    font-size: 15px;
    line-height: 1.6;
}

.p141-first-impression__logos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.p141-logo-card {
    display: flex;
    min-height: 205px;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px 15px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 13px;
    background: #22282d;
    box-shadow: 0 16px 38px rgba(0,0,0,.18);
}

.p141-logo-card--irata img {
    width: auto;
    max-width: 255px;
    max-height: 145px;
    object-fit: contain;
}

.p141-logo-card__white {
    display: grid;
    width: 100%;
    min-height: 145px;
    place-items: center;
    padding: 15px;
    border-radius: 8px;
    background: #fff;
}

.p141-logo-card--polygon img {
    width: auto;
    max-width: 275px;
    max-height: 112px;
    object-fit: contain;
}

.p141-logo-card p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

@media (max-width: 1100px) {
    .p141-first-impression__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .profixt-courses-menu {
        width: 100%;
    }

    .profixt-courses-menu__toggle {
        width: 100%;
        justify-content: space-between;
        padding: 13px 14px;
    }

    .profixt-courses-menu > .sub-menu {
        position: static;
        width: 100%;
        max-height: 0;
        padding: 0 0 0 12px;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        transform: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        transition: max-height .22s ease;
    }

    .profixt-courses-menu.is-open > .sub-menu {
        max-height: 360px;
        transform: none;
    }
}

@media (max-width: 650px) {
    .p141-first-impression__logos {
        grid-template-columns: 1fr;
    }

    .p141-logo-card {
        min-height: 185px;
    }
}


/* =========================================================
   Profixt 2 v0.14.2 — dedicated IRATA resources menu
   ========================================================= */

.profixt-courses-menu > .sub-menu {
    width: 310px;
}

.profixt-courses-menu > .sub-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.profixt-external-link {
    flex: 0 0 auto;
    color: var(--p90-orange);
    font-size: 13px;
    font-weight: 900;
    opacity: .82;
}

.profixt-courses-menu > .sub-menu a:hover .profixt-external-link {
    opacity: 1;
    transform: translate(1px,-1px);
}

@media (max-width: 820px) {
    .profixt-courses-menu > .sub-menu {
        width: 100%;
    }

    .profixt-external-link {
        margin-right: 5px;
    }
}


/* =========================================================
   Profixt 2 v0.14.3 — SPRAT, Cresto and safety video library
   ========================================================= */

/* Four first-impression credentials */
.p141-first-impression__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p141-logo-card__dark {
    display: grid;
    width: 100%;
    min-height: 145px;
    place-items: center;
    padding: 15px;
    border-radius: 8px;
    background: #171c20;
}

.p141-logo-card--sprat img {
    width: auto;
    max-width: 260px;
    max-height: 110px;
    object-fit: contain;
}

.p141-logo-card--cresto img {
    width: auto;
    max-width: 285px;
    max-height: 120px;
    object-fit: contain;
}

/* Video page */
.p143-video-hero {
    background:
        radial-gradient(circle at 85% 18%, rgba(245,130,31,.12), transparent 25%),
        linear-gradient(135deg, #151a1e, #252c31);
}

.p143-video-library {
    background: #1c2226;
}

.p143-video-library__notice {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 26px;
    padding: 14px 17px;
    border: 1px solid rgba(245,130,31,.24);
    border-radius: 9px;
    background: rgba(245,130,31,.07);
}

.p143-video-library__notice strong {
    color: #fff;
}

.p143-video-library__notice span {
    color: #b9c1c8;
}

.p143-video-grid {
    display: grid;
    gap: 24px;
}

.p143-video-card {
    position: relative;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: #262c31;
    box-shadow: 0 18px 44px rgba(0,0,0,.18);
}

.p143-video-card__number {
    position: absolute;
    top: 18px;
    right: 22px;
    color: rgba(255,255,255,.07);
    font-size: 70px;
    font-weight: 900;
    line-height: 1;
}

.p143-video-card h2 {
    position: relative;
    z-index: 1;
    max-width: 780px;
    margin: 0 0 22px;
    color: #fff !important;
    font-size: clamp(25px, 3vw, 38px);
}

.p143-video-card__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 10px;
    background: #0c0f11;
}

.p143-video-card__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.p143-video-card__placeholder {
    display: grid;
    min-height: 290px;
    place-items: center;
    border: 1px dashed rgba(255,255,255,.14);
    border-radius: 10px;
    background: #171c20;
    color: #8f9aa3;
    text-align: center;
}

@media (max-width: 760px) {
    .p143-video-library__notice {
        flex-direction: column;
    }

    .p143-video-card {
        padding: 21px;
    }

    .p143-video-card__number {
        font-size: 54px;
    }

    .p143-video-card__placeholder {
        min-height: 190px;
    }
}

@media (max-width: 650px) {
    .p141-first-impression__logos {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Profixt 2 v0.14.5 — Vimeo privacy fallback
   ========================================================= */

.p145-video-external {
    display: grid;
    min-height: 330px;
    place-items: center;
    align-content: center;
    gap: 14px;
    padding: 38px;
    border: 1px solid rgba(245,130,31,.20);
    border-radius: 10px;
    background:
        radial-gradient(circle at 50% 45%, rgba(245,130,31,.08), transparent 35%),
        #171c20;
    text-align: center;
}

.p145-video-external__icon {
    display: grid;
    width: 66px;
    height: 66px;
    place-items: center;
    border: 1px solid rgba(245,130,31,.38);
    border-radius: 50%;
    background: rgba(245,130,31,.10);
    color: var(--p90-orange);
    font-size: 25px;
    line-height: 1;
}

.p145-video-external h3 {
    margin: 4px 0 0;
    color: #fff !important;
    font-size: clamp(21px, 2vw, 28px);
}

.p145-video-external p {
    max-width: 620px;
    margin: 0 0 8px;
    color: #b9c1c8 !important;
}

@media (max-width: 760px) {
    .p145-video-external {
        min-height: 270px;
        padding: 28px 20px;
    }
}


/* =========================================================
   Profixt 2 v0.14.6 — location map
   ========================================================= */

.p146-location {
    position: relative;
    padding: clamp(68px, 7vw, 96px) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 14% 18%, rgba(245,130,31,.09), transparent 24%),
        #181e22;
    border-top: 1px solid rgba(255,255,255,.07);
}

.p146-location__grid {
    display: grid;
    grid-template-columns: minmax(300px,.72fr) minmax(520px,1.28fr);
    gap: 46px;
    align-items: center;
}

.p146-location__copy h2 {
    max-width: 520px;
    margin: 0 0 16px;
    color: #fff !important;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.04;
}

.p146-location__copy > p:last-of-type {
    max-width: 520px;
    margin-bottom: 24px;
    color: #b9c1c8 !important;
    font-size: 18px;
}

.p146-location__details {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
}

.p146-location__details a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #fff !important;
    font-weight: 800;
    text-decoration: none;
}

.p146-location__details a:hover {
    color: var(--p90-orange-light) !important;
}

.p146-location__map {
    min-height: 390px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 15px;
    background: #111518;
    box-shadow: 0 24px 60px rgba(0,0,0,.24);
}

.p146-location__map iframe {
    display: block;
    width: 100%;
    min-height: 390px;
    border: 0;
    filter: grayscale(.18) contrast(1.02);
}

@media (max-width: 1000px) {
    .p146-location__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .p146-location {
        padding: 58px 0;
    }

    .p146-location__map,
    .p146-location__map iframe {
        min-height: 320px;
    }

    .p146-location__details {
        flex-direction: column;
    }
}


/* =========================================================
   Profixt 2 v0.14.8 — larger navigation typography
   ========================================================= */

/* Desktop main navigation */
#masthead .primary-menu-container > ul > li > a,
.site-header .primary-menu-container > ul > li > a,
.profixt-global-nav > ul > li > a,
.profixt-global-nav > .menu > li > a,
.profixt-courses-menu__toggle {
    min-height: 44px;
    padding: 11px 12px !important;
    font-size: 15px !important;
    font-weight: 760 !important;
    line-height: 1.2;
    letter-spacing: -.01em;
}

/* Language switcher and booking button */
.profixt-language-button > a,
.profixt-language-switcher > a {
    min-height: 42px;
    padding: 10px 13px !important;
    font-size: 14px !important;
}

.profixt123-header-cta {
    min-height: 44px;
    padding: 11px 17px;
    font-size: 14px;
}

/* Dropdown links */
.profixt-courses-menu > .sub-menu {
    width: 330px;
}

.profixt-courses-menu > .sub-menu a {
    padding: 13px 15px !important;
    font-size: 14px !important;
    line-height: 1.35;
}

/* Prevent the slightly larger desktop menu from crowding the logo. */
@media (max-width: 1250px) {
    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        padding-inline: 9px !important;
        font-size: 14px !important;
    }
}

/* Mobile navigation */
@media (max-width: 820px) {
    #masthead .mobile-navigation a,
    .site-header .mobile-navigation a,
    #masthead .drawer-navigation a,
    .site-header .drawer-navigation a,
    #masthead .mobile-menu-container a,
    .site-header .mobile-menu-container a,
    .profixt-global-nav a,
    .profixt-courses-menu__toggle {
        min-height: 50px;
        padding: 14px 16px !important;
        font-size: 17px !important;
        font-weight: 760 !important;
        line-height: 1.3;
    }

    .profixt-courses-menu > .sub-menu a {
        min-height: 46px;
        padding: 12px 16px 12px 25px !important;
        font-size: 15px !important;
        line-height: 1.35;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a {
        min-height: 48px;
        font-size: 16px !important;
    }
}

@media (max-width: 420px) {
    #masthead .mobile-navigation a,
    .site-header .mobile-navigation a,
    #masthead .drawer-navigation a,
    .site-header .drawer-navigation a,
    #masthead .mobile-menu-container a,
    .site-header .mobile-menu-container a,
    .profixt-global-nav a,
    .profixt-courses-menu__toggle {
        font-size: 16px !important;
    }
}


/* =========================================================
   Profixt 2 v0.14.9 — menu hover color states
   ========================================================= */

#masthead .primary-menu-container > ul > li > a,
.site-header .primary-menu-container > ul > li > a,
.profixt-global-nav > ul > li > a,
.profixt-global-nav > .menu > li > a,
.profixt-courses-menu__toggle,
.profixt-courses-menu > .sub-menu a,
.profixt-language-button > a,
.profixt-language-switcher > a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

/* Main menu hover/focus */
#masthead .primary-menu-container > ul > li > a:hover,
#masthead .primary-menu-container > ul > li > a:focus-visible,
.site-header .primary-menu-container > ul > li > a:hover,
.site-header .primary-menu-container > ul > li > a:focus-visible,
.profixt-global-nav > ul > li > a:hover,
.profixt-global-nav > ul > li > a:focus-visible,
.profixt-global-nav > .menu > li > a:hover,
.profixt-global-nav > .menu > li > a:focus-visible,
.profixt-courses-menu__toggle:hover,
.profixt-courses-menu__toggle:focus-visible {
    color: #ff9d2e !important;
    background: rgba(255, 157, 46, 0.08) !important;
}

/* Active/current menu items keep a stronger accent */
#masthead .primary-menu-container .current-menu-item > a,
#masthead .primary-menu-container .current-menu-ancestor > a,
.site-header .primary-menu-container .current-menu-item > a,
.site-header .primary-menu-container .current-menu-ancestor > a,
.profixt-global-nav .current-menu-item > a,
.profixt-global-nav .current-menu-ancestor > a {
    color: #ff9d2e !important;
}

/* Dropdown items */
.profixt-courses-menu > .sub-menu a:hover,
.profixt-courses-menu > .sub-menu a:focus-visible,
.profixt-global-nav .sub-menu a:hover,
.profixt-global-nav .sub-menu a:focus-visible,
#masthead .sub-menu a:hover,
#masthead .sub-menu a:focus-visible,
.site-header .sub-menu a:hover,
.site-header .sub-menu a:focus-visible {
    color: #ffffff !important;
    background: linear-gradient(90deg, rgba(255,157,46,.20), rgba(255,157,46,.08)) !important;
    border-left: 3px solid #ff9d2e;
}

/* Language switcher hover */
.profixt-language-button > a:hover,
.profixt-language-button > a:focus-visible,
.profixt-language-switcher > a:hover,
.profixt-language-switcher > a:focus-visible {
    color: #ffffff !important;
    background: rgba(255, 157, 46, 0.14) !important;
    border-color: rgba(255, 157, 46, 0.5) !important;
}

/* Booking CTA hover */
.profixt123-header-cta,
.profixt123-header-cta:visited {
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.profixt123-header-cta:hover,
.profixt123-header-cta:focus-visible {
    background: #ffae4d !important;
    color: #10151b !important;
    box-shadow: 0 10px 24px rgba(255,157,46,.20);
    transform: translateY(-1px);
}

/* Mobile drawer/dropdown hover/tap states */
@media (max-width: 820px) {
    #masthead .mobile-navigation a:hover,
    #masthead .mobile-navigation a:focus-visible,
    .site-header .mobile-navigation a:hover,
    .site-header .mobile-navigation a:focus-visible,
    #masthead .drawer-navigation a:hover,
    #masthead .drawer-navigation a:focus-visible,
    .site-header .drawer-navigation a:hover,
    .site-header .drawer-navigation a:focus-visible,
    #masthead .mobile-menu-container a:hover,
    #masthead .mobile-menu-container a:focus-visible,
    .site-header .mobile-menu-container a:hover,
    .site-header .mobile-menu-container a:focus-visible {
        color: #ff9d2e !important;
        background: rgba(255, 157, 46, 0.08) !important;
    }
}


/* =========================================================
   Profixt 2 v0.15.0 — ladder training page
   ========================================================= */

.profixt-page-ladders .p90-page-hero {
    background:
        linear-gradient(108deg, rgba(10,13,15,.97), rgba(22,28,32,.89)),
        radial-gradient(circle at 82% 18%, rgba(245,130,31,.19), transparent 28%),
        #15191c;
}

.profixt-page-ladders .p90-page-hero::after {
    content: "";
    position: absolute;
    right: max(24px, calc((100vw - 1180px) / 2));
    bottom: 45px;
    width: 150px;
    height: 220px;
    opacity: .24;
    background:
        repeating-linear-gradient(
            0deg,
            transparent 0 25px,
            rgba(245,130,31,.85) 25px 29px
        );
    border-left: 5px solid var(--p90-orange);
    border-right: 5px solid var(--p90-orange);
    transform: skewY(-4deg);
    pointer-events: none;
}

.profixt-page-ladders .p90-fact-grid article {
    min-height: 235px;
    background:
        linear-gradient(145deg, rgba(245,130,31,.06), transparent 45%),
        #262c31 !important;
}

.profixt-page-ladders .p90-checklist li::before {
    content: "✓";
    display: grid;
    place-items: center;
    top: 15px;
    width: 23px;
    height: 23px;
    border: 1px solid rgba(245,130,31,.45);
    border-radius: 50%;
    font-size: 12px;
}

.profixt-page-ladders .p90-final {
    background:
        radial-gradient(circle at 83% 18%, rgba(245,130,31,.11), transparent 25%),
        #15191c;
}

@media (max-width: 760px) {
    .profixt-page-ladders .p90-page-hero::after {
        display: none;
    }
}


/* =========================================================
   Profixt 2 v0.15.1 — PPE inspection photography
   ========================================================= */

.profixt-page-ppe .p90-page-hero {
    position: relative;
    min-height: 610px;
    display: flex;
    align-items: center;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.profixt-page-ppe .p90-page-hero .p90-container {
    position: relative;
    z-index: 2;
}

.profixt-page-ppe .p90-page-hero h1 {
    max-width: 820px;
    text-shadow: 0 4px 24px rgba(0,0,0,.38);
}

.profixt-page-ppe .p90-page-hero .p90-lead {
    max-width: 720px;
    color: rgba(255,255,255,.88) !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.34);
}

.profixt-page-ppe .p90-section--soft {
    position: relative;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.profixt-page-ppe .p90-section--soft::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,.018), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(245,130,31,.08), transparent 25%);
}

.profixt-page-ppe .p90-section--soft > .p90-container {
    position: relative;
    z-index: 1;
}

.profixt-page-ppe .p90-section--soft h2 {
    color: #fff !important;
}

.profixt-page-ppe .p90-section--soft .p90-checklist li {
    color: #eef1f3 !important;
    border-color: rgba(255,255,255,.11) !important;
}

@media (max-width: 760px) {
    .profixt-page-ppe .p90-page-hero {
        min-height: 560px;
        background-position: 58% center !important;
    }

    .profixt-page-ppe .p90-section--soft {
        background-position: 62% center !important;
    }
}


/* =========================================================
   Profixt 2 v0.15.3 — course-page consistency & conversion
   ========================================================= */

/* Shared course-page rhythm */
.profixt-page-irata .p90-page-hero,
.profixt-page-wah .p90-page-hero,
.profixt-page-confined .p90-page-hero,
.profixt-page-ladders .p90-page-hero,
.profixt-page-ppe .p90-page-hero {
    min-height: clamp(540px, 64vh, 690px);
    display: flex;
    align-items: center;
    overflow: hidden;
}

.profixt-page-irata .p90-page-hero .p90-container,
.profixt-page-wah .p90-page-hero .p90-container,
.profixt-page-confined .p90-page-hero .p90-container,
.profixt-page-ladders .p90-page-hero .p90-container,
.profixt-page-ppe .p90-page-hero .p90-container {
    padding-top: 64px;
    padding-bottom: 64px;
}

.profixt-page-irata .p90-page-hero h1,
.profixt-page-wah .p90-page-hero h1,
.profixt-page-confined .p90-page-hero h1,
.profixt-page-ladders .p90-page-hero h1,
.profixt-page-ppe .p90-page-hero h1 {
    max-width: 880px;
    margin-bottom: 22px;
    font-size: clamp(44px, 5vw, 72px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.profixt-page-irata .p90-page-hero .p90-lead,
.profixt-page-wah .p90-page-hero .p90-lead,
.profixt-page-confined .p90-page-hero .p90-lead,
.profixt-page-ladders .p90-page-hero .p90-lead,
.profixt-page-ppe .p90-page-hero .p90-lead {
    max-width: 760px;
    font-size: clamp(18px, 2vw, 23px);
    line-height: 1.58;
}

/* More premium facts grid */
.profixt-page-irata .p90-fact-grid,
.profixt-page-wah .p90-fact-grid,
.profixt-page-confined .p90-fact-grid,
.profixt-page-ladders .p90-fact-grid,
.profixt-page-ppe .p90-fact-grid {
    gap: 16px;
}

.profixt-page-irata .p90-fact-grid article,
.profixt-page-wah .p90-fact-grid article,
.profixt-page-confined .p90-fact-grid article,
.profixt-page-ladders .p90-fact-grid article,
.profixt-page-ppe .p90-fact-grid article {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    padding: 30px;
    border-radius: 14px;
}

.profixt-page-irata .p90-fact-grid article::after,
.profixt-page-wah .p90-fact-grid article::after,
.profixt-page-confined .p90-fact-grid article::after,
.profixt-page-ladders .p90-fact-grid article::after,
.profixt-page-ppe .p90-fact-grid article::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -42px;
    width: 112px;
    height: 112px;
    border: 1px solid rgba(245,130,31,.13);
    transform: rotate(45deg);
}

/* Cleaner syllabus / checklist */
.profixt-page-irata .p90-checklist,
.profixt-page-wah .p90-checklist,
.profixt-page-confined .p90-checklist,
.profixt-page-ladders .p90-checklist,
.profixt-page-ppe .p90-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
}

.profixt-page-irata .p90-checklist li,
.profixt-page-wah .p90-checklist li,
.profixt-page-confined .p90-checklist li,
.profixt-page-ladders .p90-checklist li,
.profixt-page-ppe .p90-checklist li {
    min-height: 62px;
    padding-top: 17px;
    padding-bottom: 17px;
}

/* Stronger audience section */
.profixt-page-irata .p90-two-column,
.profixt-page-wah .p90-two-column,
.profixt-page-confined .p90-two-column,
.profixt-page-ladders .p90-two-column,
.profixt-page-ppe .p90-two-column {
    gap: clamp(36px, 6vw, 78px);
    align-items: center;
}

/* Final CTA */
.profixt-page-irata .p90-final,
.profixt-page-wah .p90-final,
.profixt-page-confined .p90-final,
.profixt-page-ladders .p90-final,
.profixt-page-ppe .p90-final {
    position: relative;
    overflow: hidden;
    padding-top: clamp(78px, 8vw, 112px);
    padding-bottom: clamp(78px, 8vw, 112px);
}

.profixt-page-irata .p90-final::after,
.profixt-page-wah .p90-final::after,
.profixt-page-confined .p90-final::after,
.profixt-page-ladders .p90-final::after,
.profixt-page-ppe .p90-final::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -155px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(245,130,31,.10);
    border-radius: 50%;
    box-shadow:
        0 0 0 60px rgba(245,130,31,.018),
        0 0 0 120px rgba(245,130,31,.008);
    pointer-events: none;
}

.profixt-page-irata .p90-final .p90-actions,
.profixt-page-wah .p90-final .p90-actions,
.profixt-page-confined .p90-final .p90-actions,
.profixt-page-ladders .p90-final .p90-actions,
.profixt-page-ppe .p90-final .p90-actions {
    margin-top: 28px;
}

/* CTA buttons are easier to spot */
.profixt-page-irata .p90-button,
.profixt-page-wah .p90-button,
.profixt-page-confined .p90-button,
.profixt-page-ladders .p90-button,
.profixt-page-ppe .p90-button {
    min-height: 50px;
    padding: 14px 20px;
    border-radius: 8px;
    font-size: 15px;
}

/* FAQ consistency */
.profixt-page-irata .p90-faq details,
.profixt-page-wah .p90-faq details,
.profixt-page-confined .p90-faq details,
.profixt-page-ladders .p90-faq details,
.profixt-page-ppe .p90-faq details {
    border-radius: 11px;
}

@media (max-width: 760px) {
    .profixt-page-irata .p90-page-hero,
    .profixt-page-wah .p90-page-hero,
    .profixt-page-confined .p90-page-hero,
    .profixt-page-ladders .p90-page-hero,
    .profixt-page-ppe .p90-page-hero {
        min-height: 520px;
    }

    .profixt-page-irata .p90-page-hero h1,
    .profixt-page-wah .p90-page-hero h1,
    .profixt-page-confined .p90-page-hero h1,
    .profixt-page-ladders .p90-page-hero h1,
    .profixt-page-ppe .p90-page-hero h1 {
        font-size: clamp(38px, 11vw, 52px);
    }

    .profixt-page-irata .p90-checklist,
    .profixt-page-wah .p90-checklist,
    .profixt-page-confined .p90-checklist,
    .profixt-page-ladders .p90-checklist,
    .profixt-page-ppe .p90-checklist {
        grid-template-columns: 1fr;
    }

    .profixt-page-irata .p90-fact-grid article,
    .profixt-page-wah .p90-fact-grid article,
    .profixt-page-confined .p90-fact-grid article,
    .profixt-page-ladders .p90-fact-grid article,
    .profixt-page-ppe .p90-fact-grid article {
        min-height: 0;
    }
}


/* =========================================================
   Profixt 2 v0.15.5 — Polygon identity on course pages
   ========================================================= */

.p155-polygon-course-badge {
    position: relative;
    padding: 26px 0;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(245,130,31,.055), transparent 34%, transparent 70%, rgba(245,130,31,.035)),
        #171c20;
    border-top: 1px solid rgba(255,255,255,.08);
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.p155-polygon-course-badge__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 42px;
    align-items: center;
}

.p155-polygon-course-badge__copy h2 {
    max-width: 720px;
    margin: 0 0 10px;
    color: #fff !important;
    font-size: clamp(25px, 3vw, 40px);
    line-height: 1.08;
}

.p155-polygon-course-badge__copy > p:last-child {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.66) !important;
    font-size: 15px;
    line-height: 1.55;
}

.p155-polygon-course-badge__logo {
    display: grid;
    min-height: 120px;
    place-items: center;
    padding: 16px 22px;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(0,0,0,.20);
}

.p155-polygon-course-badge__logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 95px;
    object-fit: contain;
}

@media (max-width: 850px) {
    .p155-polygon-course-badge__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .p155-polygon-course-badge__logo {
        max-width: 430px;
    }
}

@media (max-width: 520px) {
    .p155-polygon-course-badge {
        padding: 22px 0;
    }

    .p155-polygon-course-badge__logo {
        min-height: 100px;
        padding: 13px 18px;
    }

    .p155-polygon-course-badge__logo img {
        max-height: 78px;
    }
}


/* =========================================================
   Profixt 2 v0.15.6 — linked accreditation logos
   ========================================================= */

.p156-logo-link,
.p155-polygon-course-badge__logo {
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease,
        opacity .2s ease;
}

.p156-logo-link:hover,
.p156-logo-link:focus-visible,
.p155-polygon-course-badge__logo:hover,
.p155-polygon-course-badge__logo:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(0,0,0,.26);
    outline: none;
}

.p141-logo-card--irata .p156-logo-link {
    display: grid;
    width: 100%;
    min-height: 145px;
    place-items: center;
    border-radius: 8px;
}

.p141-logo-card--irata .p156-logo-link:hover,
.p141-logo-card--irata .p156-logo-link:focus-visible {
    background: rgba(255,255,255,.025);
}

.p141-logo-card__white.p156-logo-link:hover,
.p141-logo-card__white.p156-logo-link:focus-visible,
.p155-polygon-course-badge__logo:hover,
.p155-polygon-course-badge__logo:focus-visible {
    box-shadow:
        0 18px 42px rgba(0,0,0,.24),
        0 0 0 2px rgba(245,130,31,.34);
}

.p141-logo-card__dark.p156-logo-link:hover,
.p141-logo-card__dark.p156-logo-link:focus-visible {
    box-shadow:
        0 18px 42px rgba(0,0,0,.28),
        0 0 0 2px rgba(245,130,31,.28);
}

@media (prefers-reduced-motion: reduce) {
    .p156-logo-link,
    .p155-polygon-course-badge__logo {
        transition: none !important;
        transform: none !important;
    }
}


/* =========================================================
   Profixt 2 v0.16.0 — pre-launch quality pass
   ========================================================= */

.profixt-form-notice {
    margin: 0 0 24px;
    padding: 17px 19px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    line-height: 1.55;
}

.profixt-form-notice--success {
    color: #effff3;
    background: rgba(41,151,75,.19);
    border-color: rgba(90,211,124,.38);
}

.profixt-form-notice--error {
    color: #fff3f1;
    background: rgba(190,54,40,.18);
    border-color: rgba(239,101,83,.38);
}

.profixt-enquiry-form input,
.profixt-enquiry-form textarea {
    width: 100%;
}

.profixt-enquiry-form input:focus,
.profixt-enquiry-form textarea:focus {
    outline: 3px solid rgba(245,130,31,.23);
    outline-offset: 2px;
    border-color: #f5821f;
}

.profixt-enquiry-form__submit {
    display: flex;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
}

.profixt-enquiry-form__submit p {
    margin: 0;
    color: rgba(255,255,255,.58);
    font-size: 13px;
}

.profixt-consent {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
}

.profixt-consent input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
}

.profixt-enquiry-success-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.p160-sr-external {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.p160-mobile-conversion {
    display: none;
}

@media (max-width: 760px) {
    body {
        padding-bottom: 68px;
    }

    .p160-mobile-conversion {
        position: fixed;
        z-index: 99990;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: .85fr 1.15fr;
        min-height: 62px;
        padding: 7px max(10px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
        gap: 8px;
        background: rgba(11,14,16,.96);
        border-top: 1px solid rgba(255,255,255,.12);
        backdrop-filter: blur(14px);
        box-shadow: 0 -10px 30px rgba(0,0,0,.28);
    }

    .p160-mobile-conversion a {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 10px 14px;
        color: #fff;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 7px;
        font-weight: 800;
        text-decoration: none;
    }

    .p160-mobile-conversion__primary {
        color: #111 !important;
        background: #f5821f;
        border-color: #f5821f !important;
    }

    .profixt-enquiry-form__submit {
        align-items: stretch;
    }

    .profixt-enquiry-form__submit .profixt-button {
        width: 100%;
    }
}

@media (min-width: 761px) {
    .profixt-page-irata .p90-final__inner,
    .profixt-page-wah .p90-final__inner,
    .profixt-page-confined .p90-final__inner,
    .profixt-page-ladders .p90-final__inner,
    .profixt-page-ppe .p90-final__inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}


/* =========================================================
   Profixt 2 v0.16.1 — cleaner audience copy + dropdown underline
   ========================================================= */

/* Match the growing underline used on the main navigation. */
.profixt-header .sub-menu a,
.profixt-header .p90-submenu a,
.profixt-header .p140-submenu a,
.profixt-header .menu-item-has-children .sub-menu a {
    position: relative;
    display: inline-flex;
    width: auto;
    max-width: 100%;
    text-decoration: none;
}

.profixt-header .sub-menu a::after,
.profixt-header .p90-submenu a::after,
.profixt-header .p140-submenu a::after,
.profixt-header .menu-item-has-children .sub-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 100%;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .22s ease;
    pointer-events: none;
}

.profixt-header .sub-menu a:hover::after,
.profixt-header .sub-menu a:focus-visible::after,
.profixt-header .p90-submenu a:hover::after,
.profixt-header .p90-submenu a:focus-visible::after,
.profixt-header .p140-submenu a:hover::after,
.profixt-header .p140-submenu a:focus-visible::after,
.profixt-header .menu-item-has-children .sub-menu a:hover::after,
.profixt-header .menu-item-has-children .sub-menu a:focus-visible::after {
    transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
    .profixt-header .sub-menu a::after,
    .profixt-header .p90-submenu a::after,
    .profixt-header .p140-submenu a::after,
    .profixt-header .menu-item-has-children .sub-menu a::after {
        transition: none;
    }
}


/* =========================================================
   Profixt 2 v0.16.2 — reliable dropdown and CTA underlines
   ========================================================= */

/*
 * Earlier dropdown styling explicitly disabled ::after with !important.
 * These selectors intentionally override that rule.
 */
.profixt-courses-menu > .sub-menu > li > a {
    position: relative !important;
    overflow: hidden;
}

.profixt-courses-menu > .sub-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    left: 13px !important;
    right: 13px !important;
    bottom: 7px !important;
    width: auto !important;
    height: 2px !important;
    border: 0 !important;
    border-radius: 2px;
    background: #ff9d2e !important;
    opacity: 1 !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;
    transition: transform .22s ease !important;
    pointer-events: none;
}

.profixt-courses-menu > .sub-menu > li > a:hover::after,
.profixt-courses-menu > .sub-menu > li > a:focus-visible::after,
.profixt-courses-menu > .sub-menu > li.current-menu-item > a::after {
    display: block !important;
    transform: scaleX(1) !important;
}

/* White growing underline inside the orange Book now / Запишете се button. */
.profixt123-header-cta,
.profixt123-header-cta:visited {
    position: relative;
    overflow: hidden;
}

.profixt123-header-cta::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 7px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .22s ease;
    pointer-events: none;
}

.profixt123-header-cta:hover::after,
.profixt123-header-cta:focus-visible::after {
    transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
    .profixt-courses-menu > .sub-menu > li > a::after,
    .profixt123-header-cta::after {
        transition: none !important;
    }
}


/* =========================================================
   Profixt 2 v0.16.3 — true growing underlines on all buttons
   ========================================================= */

/*
 * Dropdown links use a centered inner line whose width animates from zero.
 * This avoids inherited transforms and pseudo-element rules that previously
 * made the underline appear immediately at full width.
 */
.profixt-courses-menu > .sub-menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    left: 50% !important;
    right: auto !important;
    bottom: 7px !important;
    width: 0 !important;
    height: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: #ff9d2e !important;
    opacity: 1 !important;
    transform: translateX(-50%) !important;
    transform-origin: center !important;
    transition: width .24s ease !important;
    pointer-events: none !important;
}

.profixt-courses-menu > .sub-menu > li > a:hover::after,
.profixt-courses-menu > .sub-menu > li > a:focus-visible::after,
.profixt-courses-menu > .sub-menu > li.current-menu-item > a::after {
    width: calc(100% - 26px) !important;
    transform: translateX(-50%) !important;
}

/*
 * Apply the same left-to-right growing underline to every primary site button.
 * The line inherits the button text colour, except orange-filled buttons where
 * it is explicitly white.
 */
.profixt-button,
.p90-button,
.profixt123-header-cta,
.p160-mobile-conversion a,
button.profixt-button,
a.profixt-button {
    position: relative !important;
    overflow: hidden;
    text-decoration: none !important;
}

.profixt-button::after,
.p90-button::after,
.profixt123-header-cta::after,
.p160-mobile-conversion a::after,
button.profixt-button::after,
a.profixt-button::after {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    left: 14px !important;
    right: auto !important;
    bottom: 7px !important;
    width: 0 !important;
    height: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: currentColor !important;
    opacity: 1 !important;
    transform: none !important;
    transition: width .24s ease !important;
    pointer-events: none !important;
}

.profixt-button:hover::after,
.profixt-button:focus-visible::after,
.p90-button:hover::after,
.p90-button:focus-visible::after,
.profixt123-header-cta:hover::after,
.profixt123-header-cta:focus-visible::after,
.p160-mobile-conversion a:hover::after,
.p160-mobile-conversion a:focus-visible::after,
button.profixt-button:hover::after,
button.profixt-button:focus-visible::after,
a.profixt-button:hover::after,
a.profixt-button:focus-visible::after {
    width: calc(100% - 28px) !important;
}

/* White underline on orange/filled CTA buttons. */
.profixt-button--accent::after,
.profixt123-header-cta::after,
.p160-mobile-conversion__primary::after,
.p90-button--accent::after {
    background: #fff !important;
}

/* Keep icon-only or logo links free from decorative button lines. */
.p156-logo-link::after,
.p155-polygon-course-badge__logo::after {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .profixt-courses-menu > .sub-menu > li > a::after,
    .profixt-button::after,
    .p90-button::after,
    .profixt123-header-cta::after,
    .p160-mobile-conversion a::after {
        transition: none !important;
    }
}


/* =========================================================
   Profixt 2 v0.16.4 — authoritative growing underline system
   ========================================================= */

/*
 * Disable the earlier experimental pseudo-elements. The new implementation
 * animates a dedicated inner span, so it cannot be cancelled by Kadence or
 * by the dropdown's historical !important rules.
 */
.profixt-courses-menu > .sub-menu > li > a::before,
.profixt-courses-menu > .sub-menu > li > a::after,
.profixt-button::after,
.p90-button::after,
.profixt123-header-cta::after,
.p160-mobile-conversion a::after,
.profixt-ca__button::after {
    content: none !important;
    display: none !important;
}

/* Preserve normal button/dropdown layout after JavaScript adds the label. */
.profixt164-has-underline {
    position: relative !important;
}

.profixt164-underline-label {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: inherit;
    max-width: 100%;
    padding-bottom: 4px;
}

.profixt164-underline-label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    border-radius: 99px;
    background: #ff9d2e;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .24s cubic-bezier(.22,.61,.36,1);
    pointer-events: none;
}

.profixt164-underline-label--white::after {
    background: #fff;
}

.profixt164-has-underline:hover > .profixt164-underline-label::after,
.profixt164-has-underline:focus-visible > .profixt164-underline-label::after,
.profixt-courses-menu > .sub-menu > li.current-menu-item > a > .profixt164-underline-label::after {
    transform: scaleX(1);
}

/* Dropdown links retain their full clickable width while only text underlines. */
.profixt-courses-menu > .sub-menu > li > a.profixt164-has-underline {
    display: flex !important;
    align-items: center;
    width: 100%;
}

/* Do not let existing button fill effects cover the underline label. */
.profixt164-has-underline > .profixt164-underline-label {
    z-index: 2;
}

/* The header CTA is created by JavaScript, so explicitly retain its layout. */
.profixt123-header-cta.profixt164-has-underline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Mobile fixed-bar labels stay vertically centred. */
.p160-mobile-conversion a.profixt164-has-underline {
    display: flex;
}

@media (prefers-reduced-motion: reduce) {
    .profixt164-underline-label::after {
        transition: none;
    }
}


/* =========================================================
   Profixt 2 v0.16.5 — MOBILE RESCUE
   ========================================================= */

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

.profixt165-mobile-toggle,
.profixt165-mobile-drawer {
    display: none;
}

@media (max-width: 820px) {
    /* Remove the crowded desktop navigation from the mobile header. */
    #masthead .primary-menu-container,
    .site-header .primary-menu-container,
    #masthead .profixt-global-nav,
    .site-header .profixt-global-nav,
    #masthead .profixt123-header-cta,
    .site-header .profixt123-header-cta,
    .p160-mobile-conversion {
        display: none !important;
    }

    body {
        padding-bottom: 0 !important;
    }

    #masthead,
    .site-header {
        position: sticky;
        top: 0;
        z-index: 99980;
    }

    #masthead .site-main-header-inner-wrap,
    #masthead .site-header-row-container-inner,
    .site-header .site-main-header-inner-wrap,
    .site-header .site-header-row-container-inner {
        min-height: 66px !important;
        padding-inline: 16px !important;
    }

    #masthead .site-header-main-section-right,
    .site-header .site-header-main-section-right {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
    }

    .profixt123-header-logo img,
    #masthead .custom-logo,
    .site-header .custom-logo {
        width: auto !important;
        height: 30px !important;
        max-width: 145px !important;
    }

    .profixt165-mobile-toggle {
        display: inline-grid;
        width: 44px;
        height: 44px;
        padding: 10px;
        place-content: center;
        gap: 5px;
        border: 1px solid rgba(255,255,255,.17);
        border-radius: 7px;
        background: rgba(255,255,255,.045);
        color: #fff;
        cursor: pointer;
    }

    .profixt165-mobile-toggle span {
        display: block;
        width: 21px;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
    }

    .profixt165-mobile-drawer {
        position: fixed;
        z-index: 100000;
        inset: 0;
        display: block;
        padding-left: 42px;
        background: rgba(0,0,0,.58);
        backdrop-filter: blur(5px);
    }

    .profixt165-mobile-drawer[hidden] {
        display: none !important;
    }

    .profixt165-mobile-drawer__inner {
        position: relative;
        width: 100%;
        height: 100%;
        margin-left: auto;
        padding: 76px 18px 30px;
        overflow-y: auto;
        background: #14191c;
        box-shadow: -20px 0 55px rgba(0,0,0,.32);
    }

    .profixt165-mobile-close {
        position: absolute;
        top: 15px;
        right: 16px;
        width: 44px;
        height: 44px;
        border: 1px solid rgba(255,255,255,.17);
        border-radius: 7px;
        background: rgba(255,255,255,.045);
        color: #fff;
        font-size: 32px;
        line-height: 1;
    }

    body.profixt165-menu-open {
        overflow: hidden;
    }

    .profixt165-mobile-menu,
    .profixt165-mobile-menu ul {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .profixt165-mobile-menu > li {
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .profixt165-mobile-menu a,
    .profixt165-mobile-menu .profixt-courses-menu__toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        align-items: center;
        justify-content: space-between;
        padding: 14px 4px !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-size: 17px !important;
        font-weight: 760 !important;
        text-align: left;
    }

    .profixt165-mobile-menu .sub-menu {
        position: static !important;
        display: none !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 0 10px 15px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .profixt165-mobile-menu .profixt-courses-menu.is-open > .sub-menu {
        display: block !important;
    }

    .profixt165-mobile-menu .sub-menu a {
        min-height: 44px !important;
        padding: 10px 4px !important;
        color: rgba(255,255,255,.78) !important;
        font-size: 15px !important;
    }

    /* Mobile hero: readable and contained. */
    .p90-hero,
    .p90-hero__inner {
        min-height: 0 !important;
    }

    .p90-hero__inner {
        display: block !important;
        padding: 72px 0 58px !important;
    }

    .p90-container,
    .entry-content > *,
    .content-area {
        max-width: 100% !important;
    }

    .p90-hero__copy {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }

    .p90-hero h1,
    .p90-page-hero h1 {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
        font-size: clamp(38px, 11.5vw, 50px) !important;
        line-height: 1.01 !important;
        letter-spacing: -.045em !important;
        overflow-wrap: anywhere;
        text-wrap: balance;
    }

    .p90-hero .p90-lead,
    .p90-page-hero .p90-lead {
        max-width: 100% !important;
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .p90-hero .p90-actions,
    .p90-page-hero .p90-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        margin-top: 26px !important;
    }

    .p90-hero .p90-button,
    .p90-page-hero .p90-button,
    .p90-actions .p90-button {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .p90-hero__brand {
        display: none !important;
    }
}

@media (max-width: 430px) {
    #masthead .site-main-header-inner-wrap,
    #masthead .site-header-row-container-inner,
    .site-header .site-main-header-inner-wrap,
    .site-header .site-header-row-container-inner {
        padding-inline: 12px !important;
    }

    .p90-container {
        padding-inline: 18px !important;
    }

    .p90-hero h1,
    .p90-page-hero h1 {
        font-size: clamp(36px, 11vw, 44px) !important;
    }
}


/* =========================================================
   Profixt 2 v0.16.6 — MOBILE WIDTH & CENTERING FIX
   ========================================================= */

@media (max-width: 820px) {
    html,
    body,
    #page,
    .site,
    .site-content,
    .content-area,
    .site-main,
    .entry-content,
    .profixt-shell,
    .p90-section,
    .p90-hero,
    .p90-page-hero {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .p90-container,
    .profixt-container,
    .profixt-wrap,
    .site-container,
    .content-container,
    .entry-content > .wp-block-group,
    .entry-content > .wp-block-cover {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    .content-style-unboxed .content-bg,
    .content-style-boxed .content-bg,
    .site-middle-footer-inner-wrap,
    .site-top-footer-inner-wrap,
    .site-bottom-footer-inner-wrap,
    .site-header-row-container-inner {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .p90-hero__copy,
    .p90-page-hero__copy,
    .p90-two-column,
    .p90-fact-grid,
    .p90-checklist,
    .p90-actions,
    .p141-credentials,
    .p155-polygon-course-badge__inner {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    img,
    video,
    iframe,
    svg {
        max-width: 100% !important;
    }

    .p90-map iframe,
    .profixt-map iframe {
        display: block;
        width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 430px) {
    .p90-container,
    .profixt-container,
    .profixt-wrap,
    .site-container,
    .content-container,
    .entry-content > .wp-block-group,
    .entry-content > .wp-block-cover {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}


/* =========================================================
   Profixt 2 v0.17.0 — VISUAL REFINEMENT & CONVERSION POLISH
   ========================================================= */

:root {
    --p170-orange: #f5821f;
    --p170-orange-bright: #ff9d2e;
    --p170-ink: #111619;
    --p170-surface: #171d21;
    --p170-surface-2: #20272c;
    --p170-line: rgba(255,255,255,.10);
    --p170-muted: rgba(255,255,255,.68);
}

/* Global rhythm */
.p90-section {
    padding-top: clamp(72px, 7vw, 108px);
    padding-bottom: clamp(72px, 7vw, 108px);
}

.p90-section h2 {
    text-wrap: balance;
}

.p90-lead,
.p90-section p {
    text-wrap: pretty;
}

/* Header polish */
#masthead,
.site-header {
    box-shadow: 0 8px 28px rgba(0,0,0,.18);
}

.profixt-global-nav > ul {
    gap: 4px;
}

.profixt-global-nav > ul > li > a,
.profixt-global-nav > ul > li > button {
    min-height: 42px;
    padding-inline: 12px !important;
    border-radius: 7px;
}

.profixt-global-nav > ul > li > a:hover,
.profixt-global-nav > ul > li > button:hover,
.profixt-global-nav > ul > li.current-menu-item > a {
    background: rgba(255,255,255,.045);
}

/* Hero refinement */
.p90-hero {
    min-height: min(760px, calc(100vh - 72px));
}

.p90-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 180px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(9,12,14,.30));
}

.p90-hero__inner {
    position: relative;
    z-index: 2;
}

.p90-hero .p90-kicker {
    letter-spacing: .16em;
}

.p90-hero h1 {
    max-width: 780px;
    text-shadow: 0 6px 32px rgba(0,0,0,.36);
}

.p90-hero .p90-lead {
    max-width: 700px;
    color: rgba(255,255,255,.84) !important;
}

.p90-actions {
    gap: 12px;
}

.p90-button,
.profixt-button,
.profixt123-header-cta {
    min-height: 50px;
    border-radius: 8px;
    font-weight: 800;
    letter-spacing: -.01em;
    box-shadow: 0 8px 20px rgba(0,0,0,.10);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background-color .18s ease,
        border-color .18s ease;
}

.p90-button:hover,
.p90-button:focus-visible,
.profixt-button:hover,
.profixt-button:focus-visible,
.profixt123-header-cta:hover,
.profixt123-header-cta:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

/* Accreditation section */
.p141-credentials {
    gap: 18px;
}

.p141-logo-card {
    position: relative;
    overflow: hidden;
    min-height: 214px;
    padding: 18px;
    border: 1px solid var(--p170-line);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.028), transparent),
        var(--p170-surface-2);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.p141-logo-card:hover {
    transform: translateY(-4px);
    border-color: rgba(245,130,31,.34);
    box-shadow: 0 18px 38px rgba(0,0,0,.22);
}

.p141-logo-card p {
    margin-top: 13px;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px;
    font-weight: 700;
}

/* Course cards and facts */
.p90-card,
.p90-fact-grid article,
.profixt-course-card {
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent 45%),
        var(--p170-surface);
    box-shadow: 0 14px 34px rgba(0,0,0,.13);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.p90-card:hover,
.p90-fact-grid article:hover,
.profixt-course-card:hover {
    transform: translateY(-3px);
    border-color: rgba(245,130,31,.26);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}

/* Upcoming courses */
.profixt-upcoming-courses,
.p90-upcoming {
    position: relative;
}

.profixt-course-card {
    overflow: hidden;
}

.profixt-course-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, var(--p170-orange-bright), var(--p170-orange));
}

.profixt-course-card__meta {
    gap: 8px;
}

.profixt-course-card__meta span {
    border-radius: 999px;
}

/* Partner block */
.p155-polygon-course-badge {
    padding: 34px 0;
}

.p155-polygon-course-badge__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
}

.p155-polygon-course-badge__logo {
    border: 1px solid rgba(255,255,255,.14);
}

/* Enquiry form polish */
.profixt-enquiry {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    padding: clamp(22px, 4vw, 38px);
    background:
        radial-gradient(circle at 100% 0%, rgba(245,130,31,.07), transparent 30%),
        var(--p170-surface);
    box-shadow: 0 18px 46px rgba(0,0,0,.18);
}

.profixt-enquiry-form {
    gap: 18px;
}

.profixt-enquiry-form label {
    gap: 8px;
    color: rgba(255,255,255,.82);
    font-weight: 700;
}

.profixt-enquiry-form input,
.profixt-enquiry-form textarea {
    min-height: 48px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.035);
    color: #fff;
}

.profixt-enquiry-form textarea {
    min-height: 150px;
    resize: vertical;
}

.profixt-enquiry-form input::placeholder,
.profixt-enquiry-form textarea::placeholder {
    color: rgba(255,255,255,.36);
}

/* Map presentation */
.p90-map,
.profixt-map {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 18px 44px rgba(0,0,0,.18);
}

.p90-map iframe,
.profixt-map iframe {
    min-height: 460px;
}

/* Footer polish */
.site-footer,
.profixt-footer {
    border-top: 1px solid rgba(255,255,255,.08);
}

.profixt-footer a,
.site-footer a {
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.profixt-footer a:hover,
.site-footer a:hover {
    color: var(--p170-orange-bright);
}

/* Mobile refinement */
@media (max-width: 820px) {
    .p90-section {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .p90-hero {
        min-height: 0;
    }

    .p90-hero__inner {
        padding-top: 66px !important;
        padding-bottom: 54px !important;
    }

    .p90-hero h1 {
        max-width: 13ch !important;
        margin-inline: 0 !important;
    }

    .p90-hero .p90-lead {
        max-width: 34ch !important;
    }

    .p141-credentials {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .p141-logo-card {
        min-height: 168px;
        padding: 12px;
    }

    .p141-logo-card p {
        font-size: 11px;
        line-height: 1.35;
    }

    .p141-logo-card img {
        max-height: 82px;
    }

    .p90-fact-grid,
    .p90-card-grid,
    .profixt-course-grid {
        gap: 14px !important;
    }

    .p90-card,
    .p90-fact-grid article,
    .profixt-course-card {
        border-radius: 12px;
    }

    .p155-polygon-course-badge {
        padding: 26px 0;
    }

    .p155-polygon-course-badge__inner {
        gap: 20px;
    }

    .profixt-enquiry {
        padding: 20px;
        border-radius: 13px;
    }

    .p90-map iframe,
    .profixt-map iframe {
        min-height: 360px;
    }
}

@media (max-width: 430px) {
    .p141-credentials {
        grid-template-columns: 1fr !important;
    }

    .p141-logo-card {
        min-height: 148px;
    }

    .p90-hero h1 {
        max-width: 11ch !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .p90-button,
    .profixt-button,
    .profixt123-header-cta,
    .p141-logo-card,
    .p90-card,
    .p90-fact-grid article,
    .profixt-course-card {
        transition: none !important;
        transform: none !important;
    }
}


/* =========================================================
   Profixt 2 v0.17.1 — accessibility, performance & nav polish
   ========================================================= */

.p171-skip-link {
    position: fixed;
    z-index: 100500;
    top: 10px;
    left: 10px;
    padding: 11px 15px;
    border-radius: 7px;
    color: #111;
    background: #fff;
    font-weight: 800;
    text-decoration: none;
    transform: translateY(-160%);
    transition: transform .18s ease;
}

.p171-skip-link:focus {
    transform: translateY(0);
}

#masthead,
.site-header {
    transition:
        background-color .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

#masthead.p171-header-scrolled,
.site-header.p171-header-scrolled {
    background: rgba(14,18,21,.96) !important;
    border-bottom-color: rgba(255,255,255,.10) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
}

.p171-back-to-top {
    position: fixed;
    z-index: 99920;
    right: 18px;
    bottom: 18px;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    color: #111;
    background: #f5821f;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    font-size: 23px;
    font-weight: 900;
    cursor: pointer;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        opacity .18s ease;
}

.p171-back-to-top:hover,
.p171-back-to-top:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

.p171-back-to-top[hidden] {
    display: none !important;
}

:where(a, button, input, textarea, select, summary):focus-visible {
    outline: 3px solid rgba(245,130,31,.44);
    outline-offset: 3px;
}

@media (max-width: 820px) {
    .profixt165-mobile-drawer__inner {
        display: flex;
        flex-direction: column;
    }

    .profixt165-mobile-menu {
        flex: 1 0 auto;
    }

    .profixt171-mobile-actions {
        display: grid;
        gap: 10px;
        margin-top: 24px;
        padding-top: 20px;
        border-top: 1px solid rgba(255,255,255,.10);
    }

    .profixt171-mobile-actions a {
        display: flex !important;
        min-height: 50px;
        align-items: center;
        justify-content: center;
        padding: 13px 16px !important;
        border-radius: 8px;
        text-align: center;
        text-decoration: none;
        font-weight: 800;
    }

    .profixt171-mobile-cta {
        color: #111 !important;
        background: #f5821f !important;
        border: 1px solid #f5821f !important;
    }

    .profixt171-mobile-language {
        color: #fff !important;
        background: rgba(255,255,255,.045) !important;
        border: 1px solid rgba(255,255,255,.16) !important;
    }

    .p171-back-to-top {
        right: 14px;
        bottom: 14px;
        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
    }

    .p171-skip-link,
    #masthead,
    .site-header,
    .p171-back-to-top {
        transition: none !important;
    }
}


/* ---------- v0.17.5 dual-row homepage training gallery ---------- */
.p174-training-gallery {
    padding: clamp(22px, 4vw, 34px) 0 clamp(36px, 5vw, 54px);
    background: linear-gradient(180deg, rgba(18,22,25,.96), rgba(18,22,25,.88));
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.p174-training-gallery__rows {
    display: grid;
    gap: 18px;
}

.p174-gallery-row {
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(245,130,31,.55) rgba(255,255,255,.08);
    touch-action: pan-x;
    padding-bottom: 8px;
}

.p174-gallery-row.is-dragging {
    cursor: grabbing;
}

.p174-gallery-row::-webkit-scrollbar {
    height: 8px;
}

.p174-gallery-row::-webkit-scrollbar-track {
    background: rgba(255,255,255,.08);
    border-radius: 999px;
}

.p174-gallery-row::-webkit-scrollbar-thumb {
    background: rgba(245,130,31,.6);
    border-radius: 999px;
}

.p174-gallery-track {
    display: flex;
    gap: 16px;
    width: max-content;
    padding-inline: clamp(18px, 4vw, 32px);
}

.p174-gallery-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
    box-shadow: 0 18px 38px rgba(0,0,0,.24);
}

.p174-gallery-card--landscape {
    width: clamp(300px, 33vw, 480px);
    aspect-ratio: 4 / 3;
}

.p174-gallery-card--portrait {
    width: clamp(200px, 23vw, 280px);
    aspect-ratio: 3 / 4;
}

.p174-gallery-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease, filter .35s ease;
    filter: brightness(.93);
}

.p174-gallery-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 38%;
    background: linear-gradient(180deg, transparent, rgba(8,11,13,.22));
    pointer-events: none;
}

.p174-gallery-row:hover .p174-gallery-card img,
.p174-gallery-row:focus-within .p174-gallery-card img {
    filter: brightness(.98);
}

.p174-gallery-card:hover img,
.p174-gallery-card:focus-within img {
    transform: scale(1.03);
    filter: brightness(1);
}

@media (max-width: 760px) {
    .p174-training-gallery {
        padding: 18px 0 28px;
    }

    .p174-training-gallery__rows {
        gap: 14px;
    }

    .p174-gallery-track {
        gap: 12px;
        padding-inline: 14px;
    }

    .p174-gallery-card--landscape {
        width: min(84vw, 380px);
    }

    .p174-gallery-card--portrait {
        width: min(58vw, 250px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .p174-gallery-card img {
        transition: none;
    }
}


/* ---------- v0.17.5 gallery motion, placement and visible-card sizing ---------- */
@media (min-width: 1000px) {
    .p174-gallery-card--landscape {
        width: clamp(285px, 26vw, 375px);
    }

    .p174-gallery-card--portrait {
        width: clamp(205px, 18vw, 255px);
    }
}

@media (min-width: 761px) and (max-width: 999px) {
    .p174-gallery-card--landscape {
        width: min(37vw, 340px);
    }

    .p174-gallery-card--portrait {
        width: min(25vw, 235px);
    }
}

.p174-gallery-row {
    scroll-behavior: auto;
}


/* ---------- v0.17.6 authoritative gallery sizing and motion ---------- */
.p174-training-gallery {
    overflow: hidden;
}

.p174-gallery-row {
    overflow: hidden !important;
    padding-bottom: 0 !important;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    scrollbar-width: none;
}

.p174-gallery-row::-webkit-scrollbar {
    display: none;
}

.p174-gallery-row.is-dragging {
    cursor: grabbing;
}

.p174-gallery-track {
    display: flex;
    width: max-content;
    gap: clamp(14px, 1.25vw, 22px);
    padding-inline: 0 !important;
    will-change: transform;
    transform: translate3d(0,0,0);
}

.p174-gallery-card,
.p174-gallery-card--landscape,
.p174-gallery-card--portrait {
    width: clamp(300px, 28vw, 430px) !important;
    aspect-ratio: 4 / 3 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.p174-gallery-card img {
    pointer-events: none;
}

@media (min-width: 1500px) {
    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: min(25vw, 420px) !important;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: 31vw !important;
    }
}

@media (max-width: 899px) {
    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: min(72vw, 380px) !important;
    }
}


/* ---------- v0.17.7 edge-fade overlays for the dual training gallery ---------- */
.p174-gallery-row {
    position: relative;
    isolation: isolate;
}

.p174-gallery-row::before,
.p174-gallery-row::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(34px, 7vw, 108px);
    z-index: 4;
    pointer-events: none;
}

.p174-gallery-row::before {
    left: 0;
    background: linear-gradient(90deg, rgba(18,22,25,.98) 0%, rgba(18,22,25,.92) 28%, rgba(18,22,25,.68) 58%, rgba(18,22,25,0) 100%);
}

.p174-gallery-row::after {
    right: 0;
    background: linear-gradient(270deg, rgba(18,22,25,.98) 0%, rgba(18,22,25,.92) 28%, rgba(18,22,25,.68) 58%, rgba(18,22,25,0) 100%);
}

@media (max-width: 899px) {
    .p174-gallery-row::before,
    .p174-gallery-row::after {
        width: clamp(26px, 10vw, 54px);
    }
}


/* ---------- v0.18.1 compact four-logo accreditation strip ---------- */
.p181-logo-strip {
    padding: clamp(22px, 3vw, 36px) 0 !important;
}

.p181-logo-strip .p181-logo-strip__logos {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1.5vw, 18px) !important;
    align-items: stretch !important;
}

.p181-logo-strip .p141-logo-card {
    min-height: 150px !important;
    padding: 14px !important;
    margin: 0 !important;
}

.p181-logo-strip .p141-logo-card a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 118px !important;
    align-items: center !important;
    justify-content: center !important;
}

.p181-logo-strip .p141-logo-card img {
    width: auto !important;
    max-width: 88% !important;
    max-height: 92px !important;
    object-fit: contain !important;
}

.p181-logo-strip .p141-logo-card p,
.p181-logo-strip .p141-first-impression__intro {
    display: none !important;
}

@media (max-width: 760px) {
    .p181-logo-strip .p181-logo-strip__logos {
        gap: 7px !important;
    }

    .p181-logo-strip .p141-logo-card {
        min-height: 96px !important;
        padding: 8px !important;
        border-radius: 10px !important;
    }

    .p181-logo-strip .p141-logo-card a {
        min-height: 78px !important;
    }

    .p181-logo-strip .p141-logo-card img {
        max-width: 92% !important;
        max-height: 58px !important;
    }
}


/* ---------- v0.18.2 maximise IRATA logo inside its accreditation box ---------- */
.p181-logo-strip .p141-logo-card--irata {
    padding: 4px !important;
}

.p181-logo-strip .p141-logo-card--irata .p156-logo-link {
    width: 100% !important;
    height: 100% !important;
    min-height: 138px !important;
    padding: 0 !important;
}

.p181-logo-strip .p141-logo-card--irata img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 138px !important;
    object-fit: contain !important;
    object-position: center !important;
}

@media (max-width: 760px) {
    .p181-logo-strip .p141-logo-card--irata {
        padding: 2px !important;
    }

    .p181-logo-strip .p141-logo-card--irata .p156-logo-link {
        min-height: 90px !important;
    }

    .p181-logo-strip .p141-logo-card--irata img {
        max-height: 90px !important;
    }
}


/* ---------- v0.18.3 header accreditation row + random hero support ---------- */
#masthead .p183-header-logo-strip,
.site-header .p183-header-logo-strip {
    order: 20;
    width: 100%;
    padding: 4px 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(255,255,255,.07);
    border-bottom: 0 !important;
    background: rgba(12,16,19,.98) !important;
}

#masthead .p183-header-logo-strip .p90-container,
.site-header .p183-header-logo-strip .p90-container {
    width: min(100%, 1180px) !important;
    padding-inline: 18px !important;
}

#masthead .p183-header-logo-strip .p181-logo-strip__logos,
.site-header .p183-header-logo-strip .p181-logo-strip__logos {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: clamp(12px,2vw,28px) !important;
    align-items: center !important;
}

#masthead .p183-header-logo-strip .p141-logo-card,
.site-header .p183-header-logo-strip .p141-logo-card {
    min-height: 52px !important;
    height: 52px !important;
    padding: 2px 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#masthead .p183-header-logo-strip .p141-logo-card:hover,
.site-header .p183-header-logo-strip .p141-logo-card:hover {
    transform: none !important;
}

#masthead .p183-header-logo-strip .p141-logo-card a,
.site-header .p183-header-logo-strip .p141-logo-card a {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 !important;
}

#masthead .p183-header-logo-strip .p141-logo-card img,
.site-header .p183-header-logo-strip .p141-logo-card img {
    width: auto !important;
    height: auto !important;
    max-width: 90% !important;
    max-height: 38px !important;
    object-fit: contain !important;
}

#masthead .p183-header-logo-strip .p141-logo-card--irata,
.site-header .p183-header-logo-strip .p141-logo-card--irata {
    padding: 0 !important;
}

#masthead .p183-header-logo-strip .p141-logo-card--irata a,
.site-header .p183-header-logo-strip .p141-logo-card--irata a {
    min-height: 52px !important;
    height: 52px !important;
}

#masthead .p183-header-logo-strip .p141-logo-card--irata img,
.site-header .p183-header-logo-strip .p141-logo-card--irata img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 52px !important;
}

@media (max-width: 820px) {
    #masthead .p183-header-logo-strip,
    .site-header .p183-header-logo-strip {
        padding: 2px 0 !important;
    }

    #masthead .p183-header-logo-strip .p90-container,
    .site-header .p183-header-logo-strip .p90-container {
        padding-inline: 8px !important;
    }

    #masthead .p183-header-logo-strip .p181-logo-strip__logos,
    .site-header .p183-header-logo-strip .p181-logo-strip__logos {
        gap: 5px !important;
    }

    #masthead .p183-header-logo-strip .p141-logo-card,
    .site-header .p183-header-logo-strip .p141-logo-card {
        min-height: 40px !important;
        height: 40px !important;
        padding: 1px 3px !important;
    }

    #masthead .p183-header-logo-strip .p141-logo-card a,
    .site-header .p183-header-logo-strip .p141-logo-card a {
        min-height: 38px !important;
        height: 38px !important;
    }

    #masthead .p183-header-logo-strip .p141-logo-card img,
    .site-header .p183-header-logo-strip .p141-logo-card img {
        max-width: 95% !important;
        max-height: 27px !important;
    }

    #masthead .p183-header-logo-strip .p141-logo-card--irata a,
    .site-header .p183-header-logo-strip .p141-logo-card--irata a {
        min-height: 40px !important;
        height: 40px !important;
    }

    #masthead .p183-header-logo-strip .p141-logo-card--irata img,
    .site-header .p183-header-logo-strip .p141-logo-card--irata img {
        max-height: 40px !important;
    }
}


/* ---------- v0.18.4 accreditation logos inside the homepage hero image ---------- */
#masthead .p183-header-logo-strip,
.site-header .p183-header-logo-strip {
    display: none !important;
}

.p90-hero {
    position: relative;
}

.p90-hero .p184-hero-logo-strip {
    position: absolute;
    z-index: 3;
    right: clamp(18px, 4vw, 64px);
    bottom: clamp(18px, 3.5vw, 44px);
    width: min(46vw, 690px);
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    pointer-events: none;
}

.p90-hero .p184-hero-logo-strip .p90-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.p90-hero .p184-hero-logo-strip .p181-logo-strip__logos {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: clamp(8px, 1vw, 16px) !important;
}

.p90-hero .p184-hero-logo-strip .p141-logo-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: clamp(54px, 5.4vw, 78px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 9px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 10px !important;
    background: rgba(8,11,13,.58) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(8px);
    transform: none !important;
    pointer-events: auto;
}

.p90-hero .p184-hero-logo-strip .p141-logo-card a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.p90-hero .p184-hero-logo-strip .p141-logo-card img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 78% !important;
    object-fit: contain !important;
}

.p90-hero .p184-hero-logo-strip .p141-logo-card--irata {
    padding: 2px !important;
}

.p90-hero .p184-hero-logo-strip .p141-logo-card--irata img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

@media (max-width: 980px) {
    .p90-hero .p184-hero-logo-strip {
        right: 18px;
        left: 18px;
        bottom: 18px;
        width: auto;
    }

    .p90-hero .p184-hero-logo-strip .p141-logo-card {
        height: 58px !important;
    }
}

@media (max-width: 680px) {
    .p90-hero__inner {
        padding-bottom: 118px !important;
    }

    .p90-hero .p184-hero-logo-strip {
        right: 12px;
        left: 12px;
        bottom: 12px;
    }

    .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos {
        gap: 5px !important;
    }

    .p90-hero .p184-hero-logo-strip .p141-logo-card {
        height: 46px !important;
        padding: 3px 4px !important;
        border-radius: 7px !important;
    }

    .p90-hero .p184-hero-logo-strip .p141-logo-card img {
        max-width: 96% !important;
        max-height: 76% !important;
    }

    .p90-hero .p184-hero-logo-strip .p141-logo-card--irata img {
        max-width: 100% !important;
        max-height: 100% !important;
    }
}


/* ---------- v0.18.5 non-repeating random heroes + moving sub-page backgrounds ---------- */
.p90-page-hero.p185-scrolling-page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-image:
        linear-gradient(100deg, rgba(8,11,13,.96) 0%, rgba(8,11,13,.86) 48%, rgba(8,11,13,.48) 100%),
        var(--p185-page-hero-image) !important;
    background-repeat: no-repeat !important;
    background-size: cover, 112% auto !important;
    background-position: center, 50% 30% !important;
    animation: p185PageHeroPan 20s ease-in-out var(--p185-pan-delay, 0s) infinite alternate;
}

.p90-page-hero.p185-scrolling-page-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(8,11,13,.06), rgba(8,11,13,.24)),
        linear-gradient(90deg, rgba(8,11,13,.30), transparent 62%);
    pointer-events: none;
}

.p90-page-hero.p185-scrolling-page-hero > .p90-container {
    position: relative;
    z-index: 1;
}

@keyframes p185PageHeroPan {
    0% {
        background-position: center, 44% 26%;
    }
    100% {
        background-position: center, 58% 72%;
    }
}

@media (max-width: 820px) {
    .p90-page-hero.p185-scrolling-page-hero {
        background-size: cover, auto 118% !important;
        animation-duration: 24s;
    }

    @keyframes p185PageHeroPan {
        0% {
            background-position: center, 44% 28%;
        }
        100% {
            background-position: center, 56% 68%;
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .p90-page-hero.p185-scrolling-page-hero {
        animation: none !important;
        background-position: center, center !important;
    }
}


/* ---------- v0.18.6 remove decorative section numbering ---------- */
.p121-section-index {
    display: none !important;
}


/* ---------- v0.19.0 comprehensive launch polish ---------- */
.p190-course-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.p190-course-facts span{padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,11,13,.36);backdrop-filter:blur(8px);color:#fff;font-size:14px;font-weight:700}
.profixt-ca__places[data-status]::before{content:attr(data-status) " · ";font-weight:800}.profixt-ca__places--red{background:rgba(214,67,67,.17)!important}.profixt-ca__places--orange{background:rgba(245,130,31,.17)!important}.profixt-ca__places--green{background:rgba(46,160,92,.17)!important}
.p90-section:nth-of-type(even):not(.p90-section--dark):not(.p90-section--soft){background:linear-gradient(180deg,#fff,#f6f7f7)}
.profixt-global-footer__grid{grid-template-columns:1.3fr repeat(3,minmax(160px,1fr))!important}.p190-footer-extra strong{display:block;margin-bottom:12px;color:#fff}.p190-footer-extra p{margin:0;line-height:1.9}
.p90-page-hero,.p90-hero{min-height:clamp(520px,72vh,760px)}.p90-page-hero:focus-within,.p90-hero:focus-within{outline:2px solid #f5821f;outline-offset:-2px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f5821f!important;outline-offset:3px!important}
@media(max-width:900px){.profixt-global-footer__grid{grid-template-columns:1fr 1fr!important}.p90-page-hero,.p90-hero{min-height:auto}.p90-hero__copy h1,.p90-page-hero h1{font-size:clamp(38px,10vw,58px)!important}.p184-hero-logo-strip{max-width:calc(100% - 24px)!important}.p190-course-facts{gap:7px}.p190-course-facts span{font-size:12px;padding:7px 10px}}
@media(max-width:560px){.profixt-global-footer__grid{grid-template-columns:1fr!important}.p90-actions{display:grid!important;grid-template-columns:1fr}.p90-button{width:100%;justify-content:center}.p174-gallery-card,.p174-gallery-card--landscape,.p174-gallery-card--portrait{width:min(82vw,360px)!important}}
@media(prefers-reduced-motion:reduce){.p185-scrolling-page-hero{animation:none!important}.p174-gallery-track{animation:none!important}}


/* ---------- v0.19.1 guaranteed sub-page hero backgrounds ---------- */
body:not(.home) .p90-page-hero.p185-scrolling-page-hero {
    background-color: #111517 !important;
    background-image:
        linear-gradient(100deg, rgba(8,11,13,.95) 0%, rgba(8,11,13,.82) 46%, rgba(8,11,13,.38) 100%),
        var(--p185-page-hero-image) !important;
    background-size: cover, 112% auto !important;
    background-position: center, 50% 34% !important;
}


/* ---------- v0.19.3 permanent dark surfaces: no white page backgrounds ---------- */
:root {
    --p192-page: #111517;
    --p192-surface: #171c20;
    --p192-surface-2: #20262b;
    --p192-border: rgba(255,255,255,.10);
    --p192-text: #f2f0eb;
    --p192-muted: #c9c6be;
}

html,
body,
#page,
.site,
.site-content,
.content-area,
.site-main,
.entry-content,
.p90,
.p90-main,
.p90-page,
.wp-site-blocks {
    background-color: var(--p192-page) !important;
    color: var(--p192-text);
}

/* Neutralise all previously alternating light page sections. */
.p90-section,
.p90-section:nth-of-type(even),
.p90-section:nth-of-type(odd),
.p90-section--soft,
.p90-faq,
.p90-contact,
.p90-contact-layout,
.p90-content-section,
.p90-page-content,
.p146-location,
.p190-launch-section {
    background-color: var(--p192-page) !important;
    background-image: none !important;
    color: var(--p192-text) !important;
}

/* Dark cards and content panels. */
.p90-proof article,
.p90-fact-grid article,
.p90-contact-details article,
.p90-form-card,
.p90-card,
.p90-panel,
.p90-faq details,
.p90-faq-item,
.p90-included,
.p90-who,
.p90-process article,
.p90-service-card,
.profixt-ca,
.profixt-ca__card,
.p146-location__copy,
.p146-location__map,
.profixt-enquiry-form,
.profixt-global-footer,
.entry-content .wp-block-group,
.entry-content .wp-block-columns {
    background-color: var(--p192-surface) !important;
    color: var(--p192-text) !important;
    border-color: var(--p192-border) !important;
}

/* Contact page outer panels and any generic white WordPress/Kadence containers. */
body:not(.wp-admin) .site-main > article,
body:not(.wp-admin) .entry,
body:not(.wp-admin) .entry-content > section,
body:not(.wp-admin) .content-bg,
body:not(.wp-admin) .site-container,
body:not(.wp-admin) .content-wrap,
body:not(.wp-admin) .kt-row-layout-inner,
body:not(.wp-admin) .wp-block-kadence-rowlayout,
body:not(.wp-admin) .wp-block-cover__inner-container {
    background-color: transparent !important;
}

/* Form controls stay dark and readable. */
.p90 .profixt-enquiry-form input,
.p90 .profixt-enquiry-form select,
.p90 .profixt-enquiry-form textarea,
.profixt-enquiry-form input,
.profixt-enquiry-form select,
.profixt-enquiry-form textarea,
body:not(.wp-admin) input[type="text"],
body:not(.wp-admin) input[type="email"],
body:not(.wp-admin) input[type="tel"],
body:not(.wp-admin) input[type="date"],
body:not(.wp-admin) input[type="number"],
body:not(.wp-admin) select,
body:not(.wp-admin) textarea {
    background: #12171a !important;
    color: var(--p192-text) !important;
    border-color: rgba(255,255,255,.16) !important;
}

body:not(.wp-admin) input::placeholder,
body:not(.wp-admin) textarea::placeholder {
    color: rgba(242,240,235,.58) !important;
}

/* Keep headings, labels, paragraph copy and links legible on dark surfaces. */
.p90-section h1,
.p90-section h2,
.p90-section h3,
.p90-section h4,
.p90-section strong,
.p90-form-card h2,
.p90-form-card label,
.p90-contact-layout h2,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
    color: var(--p192-text) !important;
}

.p90-section p,
.p90-section li,
.p90-contact-layout p,
.p90-contact-layout li,
.entry-content p,
.entry-content li {
    color: var(--p192-muted);
}

/* Replace former white CTA fills with the Profixt orange treatment. */
.p90-button--light {
    background: #f5821f !important;
    color: #111517 !important;
    border-color: #f5821f !important;
}

/* Logo boxes must also remain dark; white logos still render clearly. */
.p141-logo-card__white,
.p184-hero-logo-strip__item,
.p181-logo-strip__item {
    background: rgba(17,21,23,.76) !important;
    border-color: rgba(255,255,255,.14) !important;
}


/* ---------- v0.19.5 mobile viewport-centred full-width repair ---------- */
@media (max-width: 820px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    /* Break out of Kadence's padded content column while remaining centred on
       the actual mobile viewport. This avoids drifting to either side. */
    .entry-content > .p90,
    .content-area .entry-content > .p90,
    .site-main .p90,
    .p90 {
        display: block !important;
        width: 100vw !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    @supports (width: 100dvw) {
        .entry-content > .p90,
        .content-area .entry-content > .p90,
        .site-main .p90,
        .p90 {
            width: 100dvw !important;
            margin-left: calc(50% - 50dvw) !important;
            margin-right: calc(50% - 50dvw) !important;
        }
    }

    .p90 > .p90-page-hero,
    .p90 > .p90-section,
    .p90-page-hero,
    .p90-section {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }

    .p90-page-hero > .p90-container,
    .p90-section > .p90-container {
        width: min(100%, 1180px) !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        padding-inline: 18px !important;
    }
}


/* ---------- v0.19.6 mobile header scrolls away with the page ---------- */
@media (max-width: 820px) {
    #masthead,
    .site-header,
    .admin-bar #masthead,
    .admin-bar .site-header {
        position: relative !important;
        top: auto !important;
        inset-block-start: auto !important;
        transform: none !important;
    }

    #masthead.profixt-header-hidden,
    .site-header.profixt-header-hidden,
    #masthead.p171-header-scrolled,
    .site-header.p171-header-scrolled {
        position: relative !important;
        top: auto !important;
        transform: none !important;
    }
}


/* ---------- v0.19.7 restore normal mobile sub-page layout ---------- */
@media (max-width: 820px) {
    /* The previous viewport breakout was too broad and could make inner page
       content inherit a narrow, offset column. Let Kadence's wrappers span the
       viewport, then keep only the Profixt section content padded and centred. */
    body:not(.wp-admin) #page,
    body:not(.wp-admin) .site,
    body:not(.wp-admin) .site-content,
    body:not(.wp-admin) .content-container,
    body:not(.wp-admin) .site-container,
    body:not(.wp-admin) .content-area,
    body:not(.wp-admin) .site-main,
    body:not(.wp-admin) article.entry,
    body:not(.wp-admin) .entry-content {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        transform: none !important;
    }

    .entry-content > .p90,
    .content-area .entry-content > .p90,
    .site-main .p90,
    .p90 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    .p90-page-hero > .p90-container,
    .p90-section > .p90-container,
    .p90-final > .p90-container,
    .p90 > section > .p90-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    /* Keep intended mobile grids readable rather than collapsing into a
       squeezed strip on one side. */
    .p90-two-column,
    .p90-intro-grid,
    .p90-faq__grid,
    .p90-contact-layout,
    .p90-fact-grid,
    .p90-process,
    .p90-proof,
    .p143-video-grid {
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .p90-two-column > *,
    .p90-intro-grid > *,
    .p90-faq__grid > *,
    .p90-contact-layout > *,
    .p90-fact-grid > *,
    .p90-process > *,
    .p90-proof > *,
    .p143-video-grid > * {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* ---------- v0.19.8 definitive mobile sub-page width reset ---------- */
@media (max-width: 820px) {
    /* Do not let any inherited grid/flex track collapse page copy to one character. */
    body:not(.wp-admin) .p90,
    body:not(.wp-admin) .p90-inner,
    body:not(.wp-admin) .p90-page-hero,
    body:not(.wp-admin) .p90-section,
    body:not(.wp-admin) .p90-page-hero > .p90-container,
    body:not(.wp-admin) .p90-section > .p90-container,
    body:not(.wp-admin) .p90 > section > .p90-container {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }

    body:not(.wp-admin) .p90-page-hero > .p90-container,
    body:not(.wp-admin) .p90-section > .p90-container,
    body:not(.wp-admin) .p90 > section > .p90-container {
        display: block !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    body:not(.wp-admin) .p90-page-hero > .p90-container > *,
    body:not(.wp-admin) .p90-section > .p90-container > *,
    body:not(.wp-admin) .p90-page-hero__copy,
    body:not(.wp-admin) .p90-hero__copy,
    body:not(.wp-admin) .p90-heading,
    body:not(.wp-admin) .p90-two-column,
    body:not(.wp-admin) .p90-intro-grid,
    body:not(.wp-admin) .p90-contact-layout,
    body:not(.wp-admin) .p90-faq__grid,
    body:not(.wp-admin) .p90-fact-grid,
    body:not(.wp-admin) .p90-process,
    body:not(.wp-admin) .p90-proof,
    body:not(.wp-admin) .p90-checklist,
    body:not(.wp-admin) .p90-actions {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body:not(.wp-admin) .p90-two-column,
    body:not(.wp-admin) .p90-intro-grid,
    body:not(.wp-admin) .p90-contact-layout,
    body:not(.wp-admin) .p90-faq__grid,
    body:not(.wp-admin) .p90-fact-grid,
    body:not(.wp-admin) .p90-process,
    body:not(.wp-admin) .p90-proof,
    body:not(.wp-admin) .p143-video-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body:not(.wp-admin) .p90-page-hero h1,
    body:not(.wp-admin) .p90-page-hero h2,
    body:not(.wp-admin) .p90-page-hero p,
    body:not(.wp-admin) .p90-section h1,
    body:not(.wp-admin) .p90-section h2,
    body:not(.wp-admin) .p90-section h3,
    body:not(.wp-admin) .p90-section p,
    body:not(.wp-admin) .p90-section li,
    body:not(.wp-admin) .p90-button {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }

    body:not(.wp-admin) .p90-page-hero h1 {
        display: block !important;
        width: 100% !important;
        font-size: clamp(36px, 10.5vw, 50px) !important;
        line-height: 1.04 !important;
    }

    body:not(.wp-admin) .p90-page-hero .p90-kicker,
    body:not(.wp-admin) .p90-page-hero .p90-lead,
    body:not(.wp-admin) .p90-page-hero .p90-actions {
        display: block !important;
        width: 100% !important;
    }

    body:not(.wp-admin) .p90-page-hero .p90-actions {
        margin-top: 26px !important;
    }

    body:not(.wp-admin) .p90-page-hero .p90-button,
    body:not(.wp-admin) .p90-actions .p90-button {
        display: flex !important;
        width: 100% !important;
    }
}


/* ---------- v0.19.9 mobile edge-to-edge content width ---------- */
@media (max-width: 820px) {
    body:not(.wp-admin) .p90-page-hero > .p90-container,
    body:not(.wp-admin) .p90-section > .p90-container,
    body:not(.wp-admin) .p90-final > .p90-container,
    body:not(.wp-admin) .p90 > section > .p90-container {
        width: 100% !important;
        max-width: none !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body:not(.wp-admin) .p90-page-hero,
    body:not(.wp-admin) .p90-section,
    body:not(.wp-admin) .p90-final {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body:not(.wp-admin) .p90-card,
    body:not(.wp-admin) .p90-fact,
    body:not(.wp-admin) .p90-step,
    body:not(.wp-admin) .p90-proof__item,
    body:not(.wp-admin) .p90-contact-card,
    body:not(.wp-admin) .p90-form-card {
        max-width: 100% !important;
    }
}


/* ---------- v0.19.10 true mobile viewport-width content ---------- */
@media (max-width: 820px) {
    /* Remove Kadence's outer mobile gutters before applying our own small safety gutter. */
    body:not(.wp-admin) #primary,
    body:not(.wp-admin) .content-area,
    body:not(.wp-admin) .site-main,
    body:not(.wp-admin) .content-container,
    body:not(.wp-admin) .site-container,
    body:not(.wp-admin) .content-bg,
    body:not(.wp-admin) .entry,
    body:not(.wp-admin) .entry-content-wrap,
    body:not(.wp-admin) .entry-content {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Authoritative viewport breakout. Later mobile resets must not shrink this back
       to the width of Kadence's content column. */
    body:not(.wp-admin) .entry-content > .p90,
    body:not(.wp-admin) .content-area .entry-content > .p90,
    body:not(.wp-admin) .site-main .p90,
    body:not(.wp-admin) .p90 {
        box-sizing: border-box !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    body:not(.wp-admin) .p90-page-hero,
    body:not(.wp-admin) .p90-section,
    body:not(.wp-admin) .p90-final {
        box-sizing: border-box !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body:not(.wp-admin) .p90-page-hero > .p90-container,
    body:not(.wp-admin) .p90-section > .p90-container,
    body:not(.wp-admin) .p90-final > .p90-container,
    body:not(.wp-admin) .p90 > section > .p90-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* ---------- v0.20.0 IRATA level pages ---------- */
.p200-level-gallery{padding:0 0 clamp(42px,6vw,76px);background:#101417}
.p200-level-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.p200-level-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#171c20}
.p200-level-gallery img{width:100%;height:100%;display:block;object-fit:cover;filter:brightness(.88) saturate(.9);transition:transform .35s ease,filter .35s ease}
.p200-level-gallery figure:hover img{transform:scale(1.025);filter:brightness(.98) saturate(1)}
.p200-source-note{padding-top:22px!important;padding-bottom:22px!important;border-top:1px solid rgba(255,255,255,.08)}
.p200-source-note p{margin:0;color:rgba(255,255,255,.58);font-size:.86rem}
@media(max-width:900px){.p200-level-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.p200-level-gallery figure{border-radius:12px}.p200-irata-level .p90-fact-grid{grid-template-columns:1fr 1fr!important}.p200-irata-level .p90-two-column{grid-template-columns:1fr!important}}
@media(max-width:560px){.p200-irata-level .p90-fact-grid{grid-template-columns:1fr!important}.p200-level-gallery{padding-bottom:34px}.p200-level-gallery__grid{width:100%!important;padding-inline:10px!important}}


/* ---------- v0.20.1 How to get to us ---------- */
.p201-find-us__quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.p201-find-us__quick-grid article,.p201-find-us__cards article{position:relative;padding:26px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:#1b2226}.p201-find-us__quick-grid article>span{display:block;margin-bottom:14px;color:var(--p90-orange);font-size:26px}.p201-find-us__quick-grid strong{display:block;margin-bottom:7px;color:#fff;font-size:18px}.p201-find-us__quick-grid p,.p201-find-us__cards p{margin:0;color:#c3c9cd}.p201-find-us__quick-grid a{color:#fff}.p201-find-us__directions{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:54px;align-items:start}.p201-find-us__cards{display:grid;gap:16px}.p201-find-us__cards h3{margin:0 0 10px;color:#fff;font-size:22px}.p201-route-number{display:inline-grid;place-items:center;min-width:54px;height:38px;margin-bottom:14px;padding:0 12px;border-radius:999px;background:var(--p90-orange);color:#101417;font-weight:900}.p201-find-us__map{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:#101417}.p201-find-us__map iframe{display:block;width:100%;height:min(62vh,560px);min-height:390px;border:0;filter:grayscale(.12) contrast(1.03)}.p201-find-us__map-actions{display:flex;justify-content:center;margin-top:22px}.p201-find-us__transport{background:#151b1f}.p201-find-us__hero .p90-lead{max-width:780px}
@media(max-width:900px){.p201-find-us__quick-grid{grid-template-columns:1fr}.p201-find-us__directions{grid-template-columns:1fr;gap:26px}.p201-find-us__quick-grid article,.p201-find-us__cards article{padding:22px}.p201-find-us__map iframe{min-height:360px;height:52vh}}
@media(max-width:650px){.p201-find-us__quick-grid article,.p201-find-us__cards article{border-radius:13px}.p201-find-us__map{border-radius:12px}.p201-find-us__map iframe{min-height:320px;height:48vh}.p201-find-us__map-actions .p90-button{width:100%;justify-content:center}}


/* ---------- v0.20.2 floating mobile navigation dock ---------- */
.p202-mobile-dock{display:none}
@media(max-width:820px){
  body:not(.wp-admin){padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
  .p160-mobile-conversion{display:none!important}
  .p202-mobile-dock{
    position:fixed;
    z-index:99995;
    left:50%;
    bottom:max(10px,env(safe-area-inset-bottom));
    transform:translateX(-50%);
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:min(calc(100vw - 20px),520px);
    min-height:66px;
    padding:6px;
    gap:3px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    background:rgba(13,17,20,.91);
    -webkit-backdrop-filter:blur(18px) saturate(1.25);
    backdrop-filter:blur(18px) saturate(1.25);
    box-shadow:0 16px 42px rgba(0,0,0,.46),0 1px 0 rgba(255,255,255,.05) inset;
  }
  .p202-mobile-dock__item{
    display:flex;
    min-width:0;
    min-height:54px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:6px 3px;
    border:0!important;
    border-radius:15px;
    color:#cbd1d5!important;
    background:transparent!important;
    font-size:10px;
    font-weight:800;
    line-height:1.05;
    text-align:center;
    text-decoration:none!important;
    white-space:nowrap;
    box-shadow:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .p202-mobile-dock__icon{
    display:grid;
    width:25px;
    height:25px;
    place-items:center;
  }
  .p202-mobile-dock__icon svg{
    display:block;
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .p202-mobile-dock__item.is-current{
    color:#fff!important;
    background:rgba(255,255,255,.075)!important;
  }
  .p202-mobile-dock__item--primary{
    color:#11171a!important;
    background:#f5821f!important;
  }
  .p202-mobile-dock__item:active{transform:scale(.97)}
  .p171-back-to-top,
  .profixt-back-to-top{
    bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
}
@media(max-width:380px){
  .p202-mobile-dock{width:calc(100vw - 12px);border-radius:18px}
  .p202-mobile-dock__item{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .p202-mobile-dock__item{transition:none!important}
}

/* ---------- v0.21.0 comprehensive launch polish ---------- */
.p210-proof-grid,.p210-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.p210-proof-grid article,.p210-info-grid article{padding:24px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.035)}
.p210-proof-grid strong,.p210-info-grid h3{display:block;color:#fff;margin:0 0 8px;font-size:clamp(17px,1.4vw,21px)}
.p210-proof-grid p,.p210-info-grid p{margin:0;color:rgba(255,255,255,.72)}
.p210-proof-actions{margin-top:24px}.p210-level-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.p210-level-links a{display:flex;flex-direction:column;gap:5px;padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.035);text-decoration:none!important;color:#fff!important;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.p210-level-links a:hover,.p210-level-links a:focus-visible,.p210-level-links a.is-current{transform:translateY(-2px);border-color:rgba(245,130,31,.65);background:rgba(245,130,31,.10)}
.p210-level-links strong{font-size:20px}.p210-level-links span{color:rgba(255,255,255,.67)}.p210-level-advice{margin:22px 0 0;color:rgba(255,255,255,.72)}
.p210-about-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}.p210-about-gallery img{width:100%;height:230px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.p210-faq-list{max-width:980px}.p210-faq-list details{border-bottom:1px solid rgba(255,255,255,.10);padding:0}.p210-faq-list summary{cursor:pointer;padding:22px 0;color:#fff;font-weight:700;font-size:18px}.p210-faq-list details p{padding:0 0 22px;margin:0;color:rgba(255,255,255,.72);max-width:78ch}
.p210-course-badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.p210-course-badges>span{padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.05);font-size:11px;font-weight:800;letter-spacing:.04em;color:rgba(255,255,255,.80)}
.p210-course-badges .p210-availability--available{border-color:rgba(70,180,80,.45);background:rgba(70,180,80,.12);color:#bff0c3}.p210-course-badges .p210-availability--few{border-color:rgba(245,130,31,.55);background:rgba(245,130,31,.14);color:#ffc28e}.p210-course-badges .p210-availability--full{border-color:rgba(220,70,70,.5);background:rgba(220,70,70,.12);color:#ffb5b5}
.p210-course-calendar .profixt-ca__card{display:flex;flex-direction:column}.p210-course-calendar .profixt-ca__bottom{margin-top:auto}.p210-course-calendar .profixt-ca__button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:900px){.p210-proof-grid,.p210-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p210-about-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.p210-about-gallery img{height:190px}}
@media(max-width:680px){.p210-proof-grid,.p210-info-grid,.p210-level-links{grid-template-columns:1fr}.p210-proof-grid article,.p210-info-grid article,.p210-level-links a{padding:18px}.p210-about-gallery{grid-template-columns:1fr 1fr;gap:8px}.p210-about-gallery img{height:145px}.p210-faq-list summary{font-size:17px;padding:18px 0}.p210-course-badges{margin-top:4px}.p202-mobile-dock{transition:transform .22s ease,opacity .22s ease,width .22s ease}.p202-mobile-dock.is-compact{transform:translateX(-50%) translateY(7px) scale(.94);opacity:.92}.p202-mobile-dock.is-menu-open{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(120%)}}
@media(prefers-reduced-motion:reduce){.p210-level-links a,.p202-mobile-dock{transition:none!important}.p210-level-links a:hover,.p210-level-links a:focus-visible{transform:none}}

.p210-footer-links{display:flex;flex-direction:column;gap:5px;margin-top:10px}.p210-footer-links a{color:rgba(255,255,255,.72)!important;text-decoration:none}.p210-footer-links a:hover,.p210-footer-links a:focus-visible{color:#fff!important;text-decoration:underline}


/* ---------- v0.21.5 compact dropdown navigation ---------- */
/* Keep desktop dropdowns compact. The previous two-column IRATA mega-menu
   made a simple navigation list feel like a full-screen panel. */
@media (min-width: 821px) {
    .profixt-irata-menu > .p213-irata-submenu {
        display: block !important;
        width: min(390px, calc(100vw - 28px)) !important;
        min-width: 0 !important;
        max-width: 390px !important;
        padding: 8px !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }

    .profixt-courses-menu:not(.profixt-irata-menu) > .sub-menu {
        width: min(360px, calc(100vw - 28px)) !important;
        min-width: 0 !important;
        max-width: 360px !important;
    }
}

/* No category headings inside a dropdown: the item order is already clear. */
.profixt-irata-menu > .p213-irata-submenu > li[data-menu-label]::before {
    display: none !important;
    content: none !important;
}

.profixt-irata-menu > .p213-irata-submenu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

.profixt-irata-menu > .p213-irata-submenu > li > a {
    display: flex !important;
    width: 100% !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* A quiet divider separates Profixt training pages from external IRATA links. */
.profixt-irata-menu > .p213-irata-submenu > .p213-irata-resource:first-of-type {
    margin-top: 5px !important;
    padding-top: 5px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
}

.profixt-irata-menu > .p213-irata-submenu > li > a:hover,
.profixt-irata-menu > .p213-irata-submenu > li > a:focus-visible,
.profixt-irata-menu > .p213-irata-submenu > li.current-menu-item > a {
    background: rgba(245,130,31,.10) !important;
}

.profixt-external-link {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #f5821f !important;
}

@media (max-width: 820px) {
    .profixt-irata-menu > .p213-irata-submenu {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 4px 0 4px 10px !important;
    }

    .profixt-irata-menu > .p213-irata-submenu > li > a {
        min-height: 0 !important;
        padding: 9px 6px !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
}


/* ---------- v0.21.5 consistent compact desktop dropdowns ---------- */
/* The three desktop dropdowns are deliberately sized to their content instead
   of sharing one oversized panel width. */
@media (min-width: 821px) {
    .profixt-courses-menu > .sub-menu {
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;
        padding: 6px !important;
    }

    .profixt-irata-menu > .p213-irata-submenu {
        width: 320px !important;
        max-width: min(320px, calc(100vw - 24px)) !important;
    }

    .profixt-training-menu > .sub-menu {
        width: 286px !important;
        max-width: min(286px, calc(100vw - 24px)) !important;
    }

    .profixt-contact-menu > .sub-menu {
        width: 210px !important;
        max-width: min(210px, calc(100vw - 24px)) !important;
    }

    .profixt-courses-menu > .sub-menu > li > a {
        min-height: 0 !important;
        padding: 10px 11px !important;
        font-size: 13px !important;
        line-height: 1.28 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    /* Contact only has two short destinations, so keep it especially tidy. */
    .profixt-contact-menu > .sub-menu > li > a {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
    }
}


/* ---------- v0.21.7 essential IRATA learning / registration callouts ---------- */
.p217-irata-essential {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(255, 132, 28, .24);
    border-bottom: 1px solid rgba(255, 132, 28, .24);
}
.p217-irata-essential::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 82% 35%, rgba(255, 132, 28, .15), transparent 34%);
}
.p217-irata-essential__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 44px;
}
.p217-irata-essential__copy { max-width: 790px; }
.p217-irata-essential__copy h2 {
    margin: 0 0 14px;
    max-width: 760px;
}
.p217-irata-essential__copy > p:not(.p90-kicker):not(.p217-irata-essential__url) {
    margin: 0;
    max-width: 760px;
    font-size: clamp(17px, 1.6vw, 20px);
    line-height: 1.65;
}
.p217-irata-essential__url {
    display: inline-flex;
    margin: 18px 0 0;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: .02em;
    color: rgba(255,255,255,.84);
}
.p217-irata-essential__button {
    min-width: 230px;
    justify-content: center;
    flex: 0 0 auto;
}
@media (max-width: 820px) {
    .p217-irata-essential__inner {
        display: block;
    }
    .p217-irata-essential__button {
        display: flex !important;
        width: 100% !important;
        min-width: 0;
        margin-top: 24px;
    }
}

/* ---------- v0.25.4 certificate validity callout ---------- */
.p90-certificate-validity{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding:18px 22px;border:1px solid rgba(255,132,31,.38);border-radius:16px;background:rgba(255,132,31,.08)}
.p90-certificate-validity span{font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--p90-muted)}
.p90-certificate-validity strong{font-size:clamp(24px,2vw,34px);line-height:1;color:var(--p90-orange)}
@media(max-width:820px){.p90-certificate-validity{margin-top:22px;padding:16px 18px}.p90-certificate-validity span{font-size:13px}.p90-certificate-validity strong{font-size:24px}}

/* ===== source: profixt-v232-consolidated.css ===== */
/* Profixt 2 v0.23.2 — consolidated late-stage frontend refinement layer. */
/* Exact v0.22.0–v0.23.1 cascade preserved; delivered as one stylesheet request. */


/* ===== SOURCE: profixt-v220-refinement.css ===== */
/* Profixt 2 v0.22.0 — comprehensive refinement */
:root{--p220-accent:#f5821f;--p220-line:rgba(255,255,255,.11);--p220-soft:rgba(255,255,255,.045)}
.p220-skip-link{position:fixed;left:16px;top:-80px;z-index:1000000;background:#fff;color:#111!important;padding:12px 16px;border-radius:0 0 10px 10px;font-weight:800;text-decoration:none!important}.p220-skip-link:focus{top:0}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #f5821f!important;outline-offset:3px!important}
.p220-level-audience{padding-top:clamp(38px,5vw,70px)!important;padding-bottom:clamp(38px,5vw,70px)!important;border-bottom:1px solid var(--p220-line)}
.p220-level-audience__inner{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(30px,6vw,90px);align-items:end}.p220-level-audience__inner h2{margin-bottom:0}.p220-level-audience__inner .p90-large{margin:0}
.p220-progression{overflow:hidden}.p220-progression__track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;position:relative;margin-top:30px}.p220-progression__track:before{content:"";position:absolute;left:6%;right:6%;top:12px;height:2px;background:linear-gradient(90deg,rgba(245,130,31,.3),rgba(245,130,31,.95),rgba(245,130,31,.3))}.p220-progression__step{position:relative;display:flex;flex-direction:column;gap:7px;padding:34px 12px 16px;color:#fff!important;text-decoration:none!important;min-width:0}.p220-progression__dot{position:absolute;top:4px;left:12px;width:17px;height:17px;border:3px solid #15191c;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:0 0 0 1px rgba(255,255,255,.2)}.p220-progression__step.is-current .p220-progression__dot{background:var(--p220-accent);box-shadow:0 0 0 5px rgba(245,130,31,.16)}.p220-progression__step strong{font-size:16px}.p220-progression__step small{font-size:12px;line-height:1.45;color:rgba(255,255,255,.62)}.p220-progression__step[href]:hover strong{color:#ffad65}
.p220-level2-prep{background:linear-gradient(135deg,rgba(245,130,31,.08),rgba(255,255,255,.02));border-block:1px solid rgba(245,130,31,.2)}
.p220-level-final .p90-container{border:1px solid rgba(245,130,31,.22);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.p220-arrival__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.p220-arrival__grid article{padding:24px;border:1px solid var(--p220-line);border-radius:18px;background:var(--p220-soft)}.p220-arrival__grid article>span{display:inline-flex;margin-bottom:18px;color:var(--p220-accent);font-size:12px;font-weight:900;letter-spacing:.12em}.p220-arrival__grid strong{display:block;font-size:20px;color:#fff;margin-bottom:8px}.p220-arrival__grid p{margin:0;color:rgba(255,255,255,.7)}.p220-arrival__photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.p220-arrival__photos img{display:block;width:100%;height:240px;object-fit:cover;border-radius:15px;border:1px solid var(--p220-line)}
.p220-form-context{margin:0 0 18px!important;padding:11px 14px;border-left:3px solid var(--p220-accent);background:rgba(245,130,31,.08);color:rgba(255,255,255,.78)!important}.profixt-enquiry-form input,.profixt-enquiry-form textarea,.profixt-enquiry-form select{min-height:48px;border-radius:10px!important}.profixt-enquiry-form textarea{min-height:140px}
/* Header/dropdowns final normalization */
@media(min-width:821px){.profixt-courses-menu>.sub-menu{box-shadow:0 22px 60px rgba(0,0,0,.34)!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:12px!important;overflow:hidden}.profixt-irata-menu>.p213-irata-submenu{width:330px!important}.profixt-training-menu>.sub-menu{width:300px!important}.profixt-contact-menu>.sub-menu{width:205px!important}.profixt-courses-menu>.sub-menu>li>a{padding:9px 11px!important;line-height:1.25!important}.profixt-courses-menu>.sub-menu>li+li{border-top:1px solid rgba(255,255,255,.045)}}
/* Homepage editorial rhythm */
.p220-home>.p90-section{scroll-margin-top:90px}.p220-home .p90-heading--wide{max-width:920px}.p220-home .p210-proof-grid article{min-height:150px}.p220-home .p90-final{margin-top:0}
/* Course cards */
.p210-course-calendar .profixt-ca__card{border-radius:18px!important;overflow:hidden}.p210-course-calendar .profixt-ca__topline h3{line-height:1.18}.p210-course-calendar .profixt-ca__button{width:100%}.p210-course-calendar .profixt-ca__card.is-level-mismatch{display:none!important}
/* Mobile dock */
@media(max-width:820px){.p202-mobile-dock{bottom:max(8px,env(safe-area-inset-bottom))!important;padding-bottom:max(5px,env(safe-area-inset-bottom))!important;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:0 16px 50px rgba(0,0,0,.42)!important}.p202-mobile-dock__item{min-height:48px;touch-action:manipulation}.p202-mobile-dock__item[aria-current="page"]{background:rgba(245,130,31,.15)!important;color:#fff!important}}
/* Micro interactions */
@media(hover:hover) and (pointer:fine){.p90-button,.p210-proof-grid article,.p220-arrival__grid article,.p200-level-gallery figure{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.p90-button:hover{transform:translateY(-1px)}.p210-proof-grid article:hover,.p220-arrival__grid article:hover{transform:translateY(-3px);border-color:rgba(245,130,31,.28);box-shadow:0 16px 36px rgba(0,0,0,.15)}.p200-level-gallery figure:hover{transform:scale(1.012)}}
/* 404 */
.p220-404{min-height:70vh;display:grid;align-items:center}.p220-404__code{font-size:clamp(80px,18vw,210px);line-height:.75;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.05);margin-bottom:-18px}.p220-404 h1{max-width:850px}.p220-404 .p90-actions{margin-top:28px}
@media(max-width:820px){.p220-level-audience__inner{grid-template-columns:1fr;gap:16px}.p220-progression__track{grid-template-columns:1fr;margin-left:8px;padding-left:20px}.p220-progression__track:before{left:7px;right:auto;top:8px;bottom:8px;width:2px;height:auto}.p220-progression__step{padding:0 0 24px 26px}.p220-progression__dot{left:-21px;top:2px}.p220-arrival__grid{grid-template-columns:1fr}.p220-arrival__photos{grid-template-columns:1fr 1fr}.p220-arrival__photos img{height:155px}.p220-arrival__photos img:last-child{grid-column:1/-1;height:190px}.p220-home .p210-proof-grid article{min-height:0}}
@media(max-width:520px){.p220-arrival__photos{grid-template-columns:1fr}.p220-arrival__photos img,.p220-arrival__photos img:last-child{grid-column:auto;height:190px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.p90-button:hover,.p210-proof-grid article:hover,.p220-arrival__grid article:hover,.p200-level-gallery figure:hover{transform:none!important}}



/* ===== SOURCE: profixt-v221-faq-type.css ===== */
/* Profixt 2 v0.22.1 — dedicated FAQ + more readable desktop typography */

/* FAQ is now a true standalone page. */
.p221-faq-layout{
    display:grid;
    grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);
    gap:clamp(42px,7vw,100px);
    align-items:start;
}
.p221-faq-intro{position:sticky;top:125px}
.p221-faq-intro h2{margin-bottom:14px}
.p221-faq-intro>p:not(.p90-kicker){max-width:34ch;color:rgba(255,255,255,.70);font-size:17px;line-height:1.65}
.p221-faq-list{max-width:none!important}
.p221-faq-list details{border-top:1px solid rgba(255,255,255,.10)!important;border-bottom:0!important}
.p221-faq-list details:last-child{border-bottom:1px solid rgba(255,255,255,.10)!important}
.p221-faq-list summary{padding:24px 38px 24px 0!important;font-size:20px!important;line-height:1.35!important;position:relative}
.p221-faq-list summary::after{content:"+";position:absolute;right:4px;top:22px;color:#f5821f;font-size:25px;font-weight:500;line-height:1}
.p221-faq-list details[open] summary::after{content:"–"}
.p221-faq-list details p{padding:0 44px 25px 0!important;max-width:78ch!important;font-size:17px;line-height:1.72;color:rgba(255,255,255,.75)!important}

/* Desktop typography: the previous visual scale was too small on large monitors. */
@media (min-width: 1024px) {
    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size:16px!important;
        line-height:1.2!important;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a,
    .profixt123-header-cta {
        font-size:15px!important;
    }

    .profixt-courses-menu > .sub-menu > li > a,
    .profixt-irata-menu > .p213-irata-submenu > li > a {
        font-size:14px!important;
        line-height:1.32!important;
    }

    .p220-home .p90-lead{font-size:clamp(20px,1.45vw,23px)!important;line-height:1.58!important}
    .p220-home .p90-heading>p:not(.p90-kicker),
    .p220-home .p90-programme p,
    .p220-home .p90-process p,
    .p220-home .p90-trust-card p,
    .p220-home .p210-proof-grid p,
    .p220-home .profixt-course-card,
    .p220-home .profixt-course-card div {
        font-size:17px;
        line-height:1.62;
    }
    .p220-home .p90-trust-card h2{font-size:20px;line-height:1.25}
    .p220-home .p90-programme h3{font-size:clamp(23px,1.75vw,28px);line-height:1.18}
    .p220-home .p90-process h3{font-size:20px;line-height:1.25}
    .p220-home .p90-programme>a{font-size:16px;font-weight:800}
    .p220-home .p100-credentials span{font-size:15px;line-height:1.55}
    .p220-home .p90-kicker{font-size:13px}
}

@media (min-width:1024px) and (max-width:1249px){
    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle{font-size:15px!important;padding-inline:9px!important}
}

@media(max-width:820px){
    .p221-faq-layout{grid-template-columns:1fr;gap:20px}
    .p221-faq-intro{position:static}
    .p221-faq-list summary{font-size:18px!important;padding:20px 34px 20px 0!important}
    .p221-faq-list summary::after{top:18px}
    .p221-faq-list details p{font-size:16px;padding-right:0!important}
}



/* ===== SOURCE: profixt-v222-wide-desktop.css ===== */
/* Profixt 2 v0.22.2 — wider desktop canvas + stronger large-screen typography */

/*
 * On large desktop monitors the old 1180px content rail left too much unused
 * space. Widen the public Profixt layouts while preserving comfortable gutters.
 */
@media (min-width: 1280px) {
    body:not(.wp-admin) .p90-container {
        width: min(1380px, calc(100% - 96px)) !important;
        max-width: 1380px !important;
    }
}

@media (min-width: 1600px) {
    body:not(.wp-admin) .p90-container {
        width: min(1640px, calc(100% - 120px)) !important;
        max-width: 1640px !important;
    }

    /* Use the extra width rather than simply stretching empty section space. */
    .p221-faq-layout {
        grid-template-columns: minmax(280px, .46fr) minmax(0, 1.54fr) !important;
        gap: clamp(56px, 5vw, 96px) !important;
    }

    .p221-faq-intro > p:not(.p90-kicker) {
        max-width: 38ch !important;
    }

    .p221-faq-list details p {
        max-width: 92ch !important;
    }

    .p90 .profixt-course-grid {
        gap: 22px !important;
    }

    .p90 .profixt-course-card {
        padding: 30px 32px !important;
    }

    .p220-home .p90-heading,
    .p220-home .p90-heading--wide {
        max-width: 1040px !important;
    }
}

/* Stronger desktop type scale, especially noticeable at 2560×1440/100% zoom. */
@media (min-width: 1280px) {
    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size: 17px !important;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a,
    .profixt123-header-cta {
        font-size: 16px !important;
    }

    .p220-home .p90-lead {
        font-size: clamp(22px, 1.35vw, 27px) !important;
    }

    .p220-home .p90-heading > p:not(.p90-kicker),
    .p220-home .p90-programme p,
    .p220-home .p90-process p,
    .p220-home .p90-trust-card p,
    .p220-home .p210-proof-grid p,
    .p220-home .profixt-course-card,
    .p220-home .profixt-course-card div {
        font-size: 18px !important;
        line-height: 1.62 !important;
    }

    .p220-home .p90-programme h3 {
        font-size: clamp(26px, 1.55vw, 31px) !important;
    }

    .p220-home .p90-process h3,
    .p220-home .p90-trust-card h2 {
        font-size: 22px !important;
    }

    .p220-home .p90-programme > a,
    .p220-home .p100-credentials span {
        font-size: 17px !important;
    }

    .p221-faq-list summary {
        font-size: 21px !important;
    }

    .p221-faq-list details p,
    .p221-faq-intro > p:not(.p90-kicker) {
        font-size: 18px !important;
    }

    .p90 .profixt-course-card h3 {
        font-size: 28px !important;
    }

    .p90 .profixt-course-card p,
    .p90 .profixt-course-meta,
    .p90 .profixt-course-card__meta,
    .p90 .profixt-course-card__meta span {
        font-size: 16px !important;
    }
}

/* Desktop back-to-top becomes an easier-to-hit labelled pill. */
@media (min-width: 821px) {
    .p171-back-to-top {
        right: 24px !important;
        bottom: 24px !important;
        width: auto !important;
        min-width: 88px !important;
        height: 54px !important;
        padding: 0 18px !important;
        border-radius: 999px !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .p171-back-to-top__label {
        display: inline-block;
        font-size: 13px;
        font-weight: 950;
        letter-spacing: .08em;
    }

    .p171-back-to-top[hidden] {
        display: none !important;
    }
}

@media (max-width: 820px) {
    .p171-back-to-top__label {
        display: none !important;
    }
}



/* ===== SOURCE: profixt-v223-responsive-scale.css ===== */
/* Profixt 2 v0.22.3 — adaptive typography + ultra-wide/tablet/foldable refinement */

/*
 * Responsive canvas philosophy:
 * - phones keep the proven edge-to-edge mobile layout;
 * - tablets/foldables gain breathing room without becoming narrow columns;
 * - desktop uses more of the viewport;
 * - 1440p/4K displays scale both canvas and type rather than leaving a tiny site
 *   floating in the middle of the monitor.
 */

/* Large phones, foldables and portrait tablets. */
@media (min-width: 681px) and (max-width: 820px) {
    body:not(.wp-admin) .p90-page-hero > .p90-container,
    body:not(.wp-admin) .p90-section > .p90-container,
    body:not(.wp-admin) .p90 > section > .p90-container {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    body:not(.wp-admin) .p90-page-hero h1 {
        font-size: clamp(42px, 7.2vw, 58px) !important;
    }

    body:not(.wp-admin) .p90-lead,
    body:not(.wp-admin) .p90-section p,
    body:not(.wp-admin) .p90-section li {
        font-size: 17px;
    }
}

/* Tablets, small laptops and unfolded devices in landscape. */
@media (min-width: 821px) and (max-width: 1199px) {
    body:not(.wp-admin) .p90-container {
        width: calc(100% - 48px) !important;
        max-width: none !important;
    }

    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size: 16px !important;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a,
    .profixt123-header-cta {
        font-size: 15px !important;
    }

    .p90-two-column,
    .p90-intro-grid,
    .p90-contact-layout,
    .p90-faq__grid {
        gap: clamp(26px, 4vw, 48px) !important;
    }

    .p90-page-hero h1 {
        font-size: clamp(48px, 5.7vw, 68px) !important;
    }
}

/* Normal desktop: larger menu from this release onward. */
@media (min-width: 1200px) {
    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size: 18px !important;
        line-height: 1.18 !important;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a,
    .profixt123-header-cta {
        font-size: 17px !important;
    }

    /* Dropdown text should scale with the main navigation, but remain denser. */
    .profixt-courses-menu > .sub-menu > li > a,
    .profixt-irata-menu > .p213-irata-submenu > li > a {
        font-size: 15px !important;
        line-height: 1.34 !important;
        padding-top: 11px !important;
        padding-bottom: 11px !important;
    }
}

/* 1440p-class wide desktops. */
@media (min-width: 1600px) {
    body:not(.wp-admin) .p90-container {
        width: min(1760px, calc(100% - 112px)) !important;
        max-width: 1760px !important;
    }

    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size: 19px !important;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a,
    .profixt123-header-cta {
        font-size: 18px !important;
    }

    .p220-home .p90-lead {
        font-size: clamp(24px, 1.25vw, 30px) !important;
    }

    .p220-home .p90-heading > p:not(.p90-kicker),
    .p220-home .p90-programme p,
    .p220-home .p90-process p,
    .p220-home .p90-trust-card p,
    .p220-home .p210-proof-grid p,
    .p90 .profixt-course-card,
    .p90 .profixt-course-card div,
    .p221-faq-list details p,
    .p221-faq-intro > p:not(.p90-kicker) {
        font-size: 19px !important;
    }

    .p90-page-hero h1 {
        font-size: clamp(66px, 4.35vw, 88px) !important;
    }

    .p90-section h2,
    .p90-heading h2 {
        font-size: clamp(38px, 2.6vw, 56px) !important;
    }
}

/* Ultra-wide / 4K layouts. Use the space, but retain readable line lengths. */
@media (min-width: 2400px) {
    body:not(.wp-admin) .p90-container {
        width: min(2180px, calc(100% - 176px)) !important;
        max-width: 2180px !important;
    }

    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size: 21px !important;
    }

    .profixt-language-button > a,
    .profixt-language-switcher > a,
    .profixt123-header-cta {
        font-size: 20px !important;
    }

    .profixt-courses-menu > .sub-menu > li > a,
    .profixt-irata-menu > .p213-irata-submenu > li > a {
        font-size: 17px !important;
    }

    /* Keep long-form text readable rather than stretching paragraphs to 2m wide. */
    .p90-heading > p,
    .p90-page-hero__copy,
    .p221-faq-intro,
    .p217-irata-essential__copy {
        max-width: 980px;
    }

    .p221-faq-layout {
        grid-template-columns: minmax(330px, .42fr) minmax(0, 1.58fr) !important;
        gap: clamp(72px, 4.5vw, 124px) !important;
    }

    .p221-faq-list details p {
        max-width: 105ch !important;
    }

    .p90 .profixt-course-grid {
        gap: 28px !important;
    }

    .p90 .profixt-course-card {
        padding: 34px 38px !important;
    }

    .p90 .profixt-course-card h3 {
        font-size: 32px !important;
    }

    .p90 .profixt-course-card p,
    .p90 .profixt-course-meta,
    .p90 .profixt-course-card__meta,
    .p90 .profixt-course-card__meta span {
        font-size: 18px !important;
    }
}

/* Extra-wide 4K workstations. Do not let the site remain a narrow centre strip. */
@media (min-width: 3200px) {
    body:not(.wp-admin) .p90-container {
        width: min(2460px, calc(100% - 240px)) !important;
        max-width: 2460px !important;
    }

    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle {
        font-size: 22px !important;
    }

    .p220-home .p90-heading,
    .p220-home .p90-heading--wide {
        max-width: 1240px !important;
    }
}

/* Coarse pointers (touch laptops/tablets/foldables): larger targets regardless of width. */
@media (pointer: coarse) and (min-width: 821px) {
    #masthead .primary-menu-container > ul > li > a,
    .site-header .primary-menu-container > ul > li > a,
    .profixt-global-nav > ul > li > a,
    .profixt-global-nav > .menu > li > a,
    .profixt-courses-menu__toggle,
    .profixt-language-button > a,
    .profixt-language-switcher > a {
        min-height: 48px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .p90-button,
    .profixt-course-card a,
    .p171-back-to-top {
        min-height: 48px !important;
    }
}

/* Landscape foldables / short tablet viewports: reduce vertical waste. */
@media (min-width: 821px) and (max-height: 700px) and (orientation: landscape) {
    .p90-page-hero {
        min-height: 0 !important;
    }
    .p90-page-hero > .p90-container {
        padding-top: clamp(42px, 7vh, 72px) !important;
        padding-bottom: clamp(42px, 7vh, 72px) !important;
    }
    .p90-section {
        padding-top: clamp(48px, 8vh, 76px) !important;
        padding-bottom: clamp(48px, 8vh, 76px) !important;
    }
}



/* ===== SOURCE: profixt-v224-gallery-rail.css ===== */
/* Profixt 2 v0.22.4 — keep the dual training gallery visually controlled on wide displays. */

/*
 * The gallery itself used to span the full ultra-wide viewport. On 1440p/4K
 * screens that exposed five or six cards at once and made the photos feel tiny.
 * Give the moving rows their own centred viewing rail instead. Each desktop card
 * is sized so roughly three photographs occupy the visible row at any moment.
 */
@media (min-width: 1200px) {
    .p174-training-gallery__rows {
        width: min(1640px, calc(100% - 96px)) !important;
        margin-inline: auto !important;
        overflow: hidden !important;
    }

    .p174-gallery-row {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }

    .p174-gallery-track {
        gap: 20px !important;
    }

    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: clamp(420px, 30vw, 535px) !important;
        aspect-ratio: 4 / 3 !important;
    }
}

/* 1440p / large desktop: settle very close to three cards across. */
@media (min-width: 1600px) and (max-width: 2399px) {
    .p174-training-gallery__rows {
        width: min(1640px, calc(100% - 112px)) !important;
    }

    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: 520px !important;
    }
}

/* 4K / ultra-wide: scale the gallery modestly, not with the entire viewport. */
@media (min-width: 2400px) {
    .p174-training-gallery__rows {
        width: min(1880px, calc(100% - 176px)) !important;
    }

    .p174-gallery-track {
        gap: 22px !important;
    }

    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: 612px !important;
    }
}

/* Tablets/unfolded foldables keep a useful 2-ish-card view. */
@media (min-width: 821px) and (max-width: 1199px) {
    .p174-training-gallery__rows {
        width: calc(100% - 48px) !important;
        margin-inline: auto !important;
        overflow: hidden !important;
    }

    .p174-gallery-card,
    .p174-gallery-card--landscape,
    .p174-gallery-card--portrait {
        width: min(44vw, 470px) !important;
    }
}



/* ===== SOURCE: profixt-v225-availability.css ===== */
/* Profixt 2 v0.22.5 — stronger course availability hierarchy. */
.p210-course-badges .p210-availability {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 13px !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.025) inset !important;
}
.p210-course-badges .p210-availability::before {
    content: "";
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);
}
.p210-course-badges .p210-availability--available {
    border-color: rgba(72, 206, 104, .72) !important;
    background: rgba(45, 145, 72, .24) !important;
    color: #d5ffdc !important;
    box-shadow: 0 0 22px rgba(55, 190, 88, .10) !important;
}
.p210-course-badges .p210-availability--few {
    border-color: rgba(245, 130, 31, .82) !important;
    background: rgba(245, 130, 31, .22) !important;
    color: #ffd0a6 !important;
    box-shadow: 0 0 22px rgba(245, 130, 31, .12) !important;
}
.p210-course-badges .p210-availability--urgent,
.p210-status-urgent .p210-availability {
    border-color: rgba(255, 74, 74, .90) !important;
    background: rgba(188, 35, 35, .34) !important;
    color: #ffe0e0 !important;
    box-shadow: 0 0 0 1px rgba(255, 83, 83, .10) inset, 0 0 24px rgba(220, 48, 48, .18) !important;
}
.p210-status-urgent {
    border-color: rgba(220, 66, 66, .42) !important;
}
.p210-status-urgent .profixt-ca__places {
    color: #ffb0b0 !important;
    font-weight: 900 !important;
}
.p210-status-full .p210-availability--full {
    border-color: rgba(255, 74, 74, .72) !important;
    background: rgba(165, 30, 30, .28) !important;
    color: #ffd6d6 !important;
}
@media (min-width: 1200px) {
    .p210-course-badges .p210-availability {
        padding: 10px 15px !important;
        font-size: 15px !important;
    }
}
@media (max-width: 680px) {
    .p210-course-badges .p210-availability {
        padding: 8px 11px !important;
        font-size: 12px !important;
        letter-spacing: .04em !important;
    }
}



/* ===== SOURCE: profixt-v230-final-polish.css ===== */
/* Profixt 2 v0.23.1 — final visual, UX, responsive and conversion refinement. */
:root{
  --p230-accent:#f5821f;
  --p230-rail:1680px;
  --p230-rail-4k:1880px;
  --p230-reading:78ch;
}

/* ---------- Responsive canvas: wide enough for modern displays, never billboard-wide ---------- */
@media (min-width:1200px){
  body:not(.wp-admin) .p90-container{width:min(var(--p230-rail),calc(100% - 96px))!important;max-width:var(--p230-rail)!important}
  #masthead .primary-menu-container>ul>li>a,.site-header .primary-menu-container>ul>li>a,.profixt-global-nav>ul>li>a,.profixt-global-nav>.menu>li>a,.profixt-courses-menu__toggle{font-size:19px!important;font-weight:750!important;letter-spacing:.005em!important}
  .profixt-language-button>a,.profixt-language-switcher>a,.profixt123-header-cta{font-size:18px!important}
}
@media (min-width:1600px){
  #masthead .primary-menu-container>ul>li>a,.site-header .primary-menu-container>ul>li>a,.profixt-global-nav>ul>li>a,.profixt-global-nav>.menu>li>a,.profixt-courses-menu__toggle{font-size:20px!important}
  .p90-page-hero h1{font-size:clamp(66px,3.75vw,84px)!important}
  .p90-lead{font-size:clamp(21px,1.18vw,27px)!important;line-height:1.52!important}
  .p90-section p,.p90-section li{font-size:18px;line-height:1.68}
}
@media (min-width:2400px){
  body:not(.wp-admin) .p90-container{width:min(var(--p230-rail-4k),calc(100% - 176px))!important;max-width:var(--p230-rail-4k)!important}
  #masthead .primary-menu-container>ul>li>a,.site-header .primary-menu-container>ul>li>a,.profixt-global-nav>ul>li>a,.profixt-global-nav>.menu>li>a,.profixt-courses-menu__toggle{font-size:22px!important}
  .profixt-language-button>a,.profixt-language-switcher>a,.profixt123-header-cta{font-size:20px!important}
  .p90-section p,.p90-section li{font-size:20px}
  .p90-page-hero h1{font-size:clamp(76px,3vw,102px)!important}
}
@media (min-width:3200px){
  body:not(.wp-admin) .p90-container{width:min(1980px,calc(100% - 240px))!important;max-width:1980px!important}
}

/* Keep prose readable even while sections become wider. */
.p90-heading>p:not(.p90-kicker),.p90-large,.p90-lead,.p217-irata-essential__copy>p,.p210-about-proof .p90-heading>p{max-width:var(--p230-reading)}

/* ---------- Header / dropdown finish ---------- */
@media(min-width:821px){
  .profixt-courses-menu>.sub-menu{margin-top:2px!important}
  .profixt-courses-menu>.sub-menu>li>a,.profixt-irata-menu>.p213-irata-submenu>li>a{font-size:15.5px!important;font-weight:700!important;line-height:1.32!important;padding:12px 13px!important}
  .profixt-courses-menu__toggle,.profixt-global-nav a{transition:color .16s ease,background-color .16s ease!important}
}

/* ---------- Vertical rhythm: reduce needless desktop scrolling ---------- */
@media(min-width:1200px){
  .p90-section{padding-top:clamp(60px,4.6vw,86px)!important;padding-bottom:clamp(60px,4.6vw,86px)!important}
  .p90-page-hero>.p90-container{padding-top:clamp(70px,5vw,100px)!important;padding-bottom:clamp(70px,5vw,100px)!important}
  .p90-heading{margin-bottom:clamp(28px,2.3vw,42px)!important}
}

/* ---------- Homepage hero / cards ---------- */
.p220-home .p90-hero__copy,.p220-home .p90-page-hero__copy{max-width:980px!important}
.p220-home .p90-programme,.p220-home .p210-proof-grid article,.p220-home .p90-process article,.p220-home .p90-trust-card{border-radius:18px!important}
@media(min-width:1600px){
  .p220-home .p90-heading--wide{max-width:1100px!important}
  .p220-home .p210-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
}

/* ---------- Course calendar: clearer hierarchy, less dead height ---------- */
.p210-course-calendar .profixt-ca__grid{gap:18px!important}
.p210-course-calendar .profixt-ca__card{padding:26px!important;border:1px solid rgba(255,255,255,.10)!important;background:linear-gradient(150deg,rgba(255,255,255,.065),rgba(255,255,255,.035))!important;box-shadow:0 16px 44px rgba(0,0,0,.13)}
.p210-course-calendar .profixt-ca__card--nearest{padding:30px!important}
.p210-course-calendar .profixt-ca__topline{align-items:flex-start!important;gap:24px!important}
.p210-course-calendar .profixt-ca__topline h3{font-size:clamp(25px,1.65vw,32px)!important;margin:4px 0 10px!important}
.p210-course-calendar .profixt-ca__dates{display:flex!important;flex-wrap:wrap!important;gap:10px 24px!important;margin-top:14px!important}
.p210-course-calendar .profixt-ca__dates span{font-size:15px!important}
.p210-course-calendar .profixt-ca__places{font-size:15px!important;font-weight:850!important;padding:8px 11px!important;border-radius:999px;background:rgba(255,255,255,.07)}
.p210-course-calendar .profixt-ca__price strong{font-size:23px!important}
.p210-course-calendar .profixt-ca__button{min-height:50px!important;font-size:16px!important;font-weight:850!important}
@media(min-width:1500px){
  .p210-course-calendar .profixt-ca__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .p210-course-calendar .profixt-ca__card--nearest{grid-column:1/-1!important}
}
@media(min-width:2400px){
  .p210-course-calendar .profixt-ca__grid{gap:24px!important}
  .p210-course-calendar .profixt-ca__card{padding:32px!important}
  .p210-course-calendar .profixt-ca__dates span{font-size:17px!important}
}

/* ---------- IRATA progression: make current level unmistakable ---------- */
.p220-progression__step{border-radius:14px!important}
.p220-progression__step.is-current{background:rgba(245,130,31,.10)!important;box-shadow:inset 0 0 0 1px rgba(245,130,31,.28)}
.p220-progression__step.is-current strong{color:#ffab61!important;font-size:18px!important}
.p220-progression__step.is-current small{color:rgba(255,255,255,.84)!important}
.p220-progression__step.is-current .p220-progression__dot{width:20px!important;height:20px!important;top:2px!important;box-shadow:0 0 0 7px rgba(245,130,31,.17)!important}

/* Essential learning portals should look like course steps, not optional links. */
.p217-irata-essential{background:linear-gradient(105deg,rgba(245,130,31,.12),rgba(255,255,255,.025) 58%)!important}
.p217-irata-essential__inner{padding-block:12px}
.p217-irata-essential__copy h2{font-size:clamp(34px,2.5vw,52px)!important}
.p217-irata-essential__button{min-width:260px!important;min-height:54px!important;font-size:17px!important;box-shadow:0 12px 32px rgba(245,130,31,.16)}

/* ---------- About: more visual, less wall-of-text ---------- */
.p210-about-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.p210-about-gallery img{height:clamp(260px,22vw,430px)!important;border-radius:20px!important}
.p210-about-proof .p210-proof-grid{margin-top:28px}
@media(min-width:1500px){.p210-about-proof .p210-proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* ---------- Directions: practical arrival information ---------- */
.p220-arrival__grid article{min-height:190px!important;padding:28px!important}
.p220-arrival__grid strong{font-size:23px!important}.p220-arrival__grid p{font-size:17px!important;line-height:1.6!important}
.p201-route-number{font-size:clamp(30px,2.4vw,44px)!important;font-weight:950!important;color:var(--p230-accent)!important}
.p201-find-us__map iframe{min-height:480px!important}

/* ---------- FAQ: use width on large screens without making answers hard to read ---------- */
.p210-faq-page .p210-faq-list,.p221-faq-list{max-width:none!important}
@media(min-width:1300px){
  .p210-faq-page .p210-faq-list,.p221-faq-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:72px!important;align-items:start!important}
  .p210-faq-page .p210-faq-list details,.p221-faq-list details{break-inside:avoid}
}
.p210-faq-list summary,.p221-faq-list summary{font-size:19px!important;line-height:1.35!important}
.p210-faq-list details p,.p221-faq-list details p{font-size:17px!important;line-height:1.68!important;max-width:70ch!important}

/* ---------- Forms: preserve context and make confirmation obvious ---------- */
.profixt-enquiry{max-width:1100px}
.profixt-enquiry-form{gap:18px!important}
.profixt-enquiry-form label{font-size:15px!important;font-weight:750!important}
.profixt-enquiry-form input,.profixt-enquiry-form textarea,.profixt-enquiry-form select{font-size:17px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.045)!important}
.profixt-enquiry-form .p230-prefilled{border-color:rgba(245,130,31,.55)!important;background:rgba(245,130,31,.075)!important}
.p230-enquiry-context{margin:0 0 20px;padding:15px 18px;border:1px solid rgba(245,130,31,.34);border-radius:14px;background:rgba(245,130,31,.08);color:#fff;font-size:16px;line-height:1.55}
.p230-enquiry-context strong{color:#ffad65}
.profixt-form-notice--success{padding:22px 24px!important;border:1px solid rgba(83,205,109,.45)!important;border-radius:16px!important;background:rgba(83,205,109,.10)!important;font-size:18px!important;font-weight:750!important}
.profixt-enquiry-success-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}

/* ---------- Footer: deliberate final section ---------- */
.profixt-global-footer{border-top:1px solid rgba(255,255,255,.09)!important;background:#111518!important}
.profixt-global-footer__grid{gap:clamp(34px,4vw,74px)!important;padding-top:58px!important;padding-bottom:44px!important}
.profixt-global-footer__grid strong{display:block;margin-bottom:12px;font-size:17px!important;color:#fff}
.profixt-global-footer__grid p,.profixt-global-footer__grid a{font-size:15px!important;line-height:1.8!important}
.profixt-global-footer__bottom{padding-top:20px!important;padding-bottom:26px!important;border-top:1px solid rgba(255,255,255,.07)!important}

/* ---------- Buttons / cards / focus ---------- */
.p90-button,.profixt-ca__button{border-radius:12px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease!important}
@media(hover:hover) and (pointer:fine){
  .p90-button:hover,.profixt-ca__button:hover{transform:translateY(-2px)!important;box-shadow:0 12px 30px rgba(0,0,0,.20)}
  .p210-course-calendar .profixt-ca__card:hover{border-color:rgba(245,130,31,.25)!important;box-shadow:0 20px 52px rgba(0,0,0,.18)}
}

/* ---------- Tablet / foldable tuning ---------- */
@media(min-width:821px) and (max-width:1199px){
  body:not(.wp-admin) .p90-container{width:calc(100% - 40px)!important}
  .p210-course-calendar .profixt-ca__grid{grid-template-columns:1fr!important}
  .p210-about-gallery img{height:280px!important}
  .p217-irata-essential__inner{gap:26px!important}
}
@media(min-width:600px) and (max-width:820px){
  .p210-course-calendar .profixt-ca__card{padding:22px!important}
  .p210-about-gallery{grid-template-columns:1fr 1fr!important}
  .p210-about-gallery img{height:220px!important}
  .p201-find-us__map iframe{min-height:390px!important}
}
@media(max-width:599px){
  .p210-about-gallery{grid-template-columns:1fr!important}
  .p210-about-gallery img{height:240px!important}
  .p210-course-calendar .profixt-ca__topline{display:block!important}
  .p210-course-calendar .profixt-ca__places{display:inline-flex!important;margin-top:8px!important}
  .p201-find-us__map iframe{min-height:330px!important}
}

/* Short landscape screens: keep controls reachable without giant empty bands. */
@media(min-width:700px) and (max-height:650px) and (orientation:landscape){
  .p90-section{padding-top:44px!important;padding-bottom:44px!important}
  .p90-page-hero>.p90-container{padding-top:42px!important;padding-bottom:42px!important}
}

@media(prefers-reduced-motion:reduce){.p90-button,.profixt-ca__button,.profixt-ca__card{transition:none!important;transform:none!important}}
\n\n/* ---------- v0.23.1 desktop dropdown hover-corridor fix ---------- */\n/* Remove the physical gap between the top-level button and its submenu.\n   The old top: calc(100% + 8px) created a dead strip that fired mouseleave\n   while moving the pointer down into the menu. */\n@media (min-width:821px){\n  .profixt-courses-menu > .sub-menu,\n  .profixt-irata-menu > .p213-irata-submenu{\n    top:calc(100% - 1px)!important;\n    margin-top:0!important;\n  }\n\n  /* Invisible corridor makes diagonal movement from the trigger forgiving too. */\n  .profixt-courses-menu > .sub-menu::before,\n  .profixt-irata-menu > .p213-irata-submenu::before{\n    content:\"\";\n    position:absolute;\n    left:0;\n    right:0;\n    top:-10px;\n    height:10px;\n    background:transparent;\n  }\n}\n


/* ===== v0.23.2 responsive QA guardrails ===== */
html, body { max-width: 100%; }
body:not(.wp-admin) { overflow-x: clip; }

body:not(.wp-admin) .p90,
body:not(.wp-admin) .p90-inner,
body:not(.wp-admin) .p90-container,
body:not(.wp-admin) .p90-section,
body:not(.wp-admin) .p90-page-hero,
body:not(.wp-admin) .p90-two-column,
body:not(.wp-admin) .p90-intro-grid,
body:not(.wp-admin) .p90-contact-layout,
body:not(.wp-admin) .p90-faq__grid,
body:not(.wp-admin) .profixt-course-grid,
body:not(.wp-admin) .profixt-course-card { min-width: 0; }

body:not(.wp-admin) .p90 img,
body:not(.wp-admin) .p90 video,
body:not(.wp-admin) .p90 iframe,
body:not(.wp-admin) .p90 svg { max-width: 100%; }

/* Narrow phones: protect against long labels / translated words causing horizontal overflow. */
@media (max-width: 380px) {
  body:not(.wp-admin) .p90-page-hero > .p90-container,
  body:not(.wp-admin) .p90-section > .p90-container,
  body:not(.wp-admin) .p90 > section > .p90-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  body:not(.wp-admin) .p90-button,
  body:not(.wp-admin) .profixt-ca__button { min-width: 0 !important; max-width: 100% !important; }
}

/* Foldables / portrait tablets: force flexible tracks, never fixed-width children. */
@media (min-width: 600px) and (max-width: 1024px) {
  body:not(.wp-admin) .p90-two-column,
  body:not(.wp-admin) .p90-intro-grid,
  body:not(.wp-admin) .p90-contact-layout,
  body:not(.wp-admin) .p90-faq__grid,
  body:not(.wp-admin) .profixt-course-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
}

/* Large desktop / 4K: retain the intentionally bounded content rail. */
@media (min-width: 2560px) {
  body:not(.wp-admin) .p90-heading > p:not(.p90-kicker),
  body:not(.wp-admin) .p90-large,
  body:not(.wp-admin) .p90-lead { text-wrap: pretty; }
}

/* Touch-first large screens (tablets/foldables with desktop-sized CSS pixels). */
@media (hover: none) and (pointer: coarse) and (min-width: 821px) {
  .profixt-global-nav a,
  .profixt-courses-menu__toggle,
  .profixt-language-button > a,
  .profixt-language-switcher > a { min-height: 44px; }
}

/* ===== source: profixt-v240-prelaunch.css ===== */
/* Profixt 2 v0.24.0 — pre-launch polish */

/* ---- Global rhythm + typography ---- */
@media (min-width: 1200px) {
  body:not(.wp-admin) .p90-section { padding-top: clamp(58px, 4.2vw, 82px); padding-bottom: clamp(58px, 4.2vw, 82px); }
  body:not(.wp-admin) .p90-page-hero { padding-top: clamp(70px, 5vw, 104px); padding-bottom: clamp(64px, 4.6vw, 94px); }
  body:not(.wp-admin) .p90 p,
  body:not(.wp-admin) .p90 li { font-size: clamp(17px, .72vw, 20px); line-height: 1.62; }
  body:not(.wp-admin) .p90-kicker { font-size: clamp(13px, .52vw, 15px) !important; letter-spacing: .11em; }
  body:not(.wp-admin) .p90 h2 { text-wrap: balance; }
}
@media (min-width: 1920px) {
  body:not(.wp-admin) .p90-container { max-width: 1540px !important; }
  body:not(.wp-admin) .p90-heading--wide { max-width: 1120px; }
}
@media (min-width: 3000px) {
  body:not(.wp-admin) .p90-container { max-width: 1680px !important; }
}

/* ---- Header/footer final polish ---- */
@media (min-width: 1200px) {
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li > a,
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li > button,
  body:not(.wp-admin) .profixt-courses-menu__toggle { font-size: clamp(18px, .83vw, 21px) !important; font-weight: 700; letter-spacing: .015em; }
  body:not(.wp-admin) .site-header .sub-menu a { line-height: 1.28; }
  body:not(.wp-admin) .site-header .current-menu-item > a,
  body:not(.wp-admin) .site-header .current-menu-ancestor > button { color: #fff; }
}
body:not(.wp-admin) .profixt-global-footer__grid { align-items: start; }
body:not(.wp-admin) .profixt-global-footer a { text-underline-offset: 4px; }

/* ---- Homepage: reduce scroll without crowding ---- */
@media (min-width: 1200px) {
  body:not(.wp-admin).p240-page-home .p90-section { padding-top: clamp(52px, 3.6vw, 72px); padding-bottom: clamp(52px, 3.6vw, 72px); }
  body:not(.wp-admin).p240-page-home .p90-programme-grid,
  body:not(.wp-admin).p240-page-home .p210-proof-grid { gap: clamp(18px, 1.3vw, 28px); }
}

/* ---- Course cards: scanability and scarcity ---- */
body:not(.wp-admin) .profixt-ca__card { position: relative; overflow: hidden; }
body:not(.wp-admin) .profixt-ca__dates { font-size: 1.02em; }
body:not(.wp-admin) .profixt-ca__price strong { font-size: clamp(22px, 1.3vw, 30px); }
body:not(.wp-admin) .p240-seat-meter { margin: 18px 0 8px; }
body:not(.wp-admin) .p240-seat-meter__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
body:not(.wp-admin) .p240-seat-meter__meta strong { font-size:16px; }
body:not(.wp-admin) .p240-seat-meter__track { height:10px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); }
body:not(.wp-admin) .p240-seat-meter__track span { display:block; height:100%; border-radius:inherit; background:#55c77a; min-width:3px; }
body:not(.wp-admin) .p240-seat-meter.is-limited .p240-seat-meter__track span { background:#ff9f32; }
body:not(.wp-admin) .p240-seat-meter.is-urgent .p240-seat-meter__track span { background:#ff3b3b; }
body:not(.wp-admin) .p240-seat-meter.is-urgent .p240-seat-meter__meta { color:#ff7777; }

/* ---- IRATA pathway and essential resources ---- */
body:not(.wp-admin) .p220-progression__track { position:relative; }
body:not(.wp-admin) .p220-progression__step { transition:border-color .2s ease, background .2s ease, transform .2s ease; }
body:not(.wp-admin) .p220-progression__step.is-current { border-color:rgba(255,255,255,.75) !important; background:rgba(255,255,255,.09) !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); }
body:not(.wp-admin) .p220-progression__step.is-current strong { font-size:1.08em; }
body:not(.wp-admin) .p217-irata-essential { position:relative; overflow:hidden; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
body:not(.wp-admin) .p217-irata-essential::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#ff3b3b; }
body:not(.wp-admin) .p217-irata-techconnect::before { background:#50a7ff; }
body:not(.wp-admin) .p217-irata-essential__inner { gap:clamp(24px,4vw,68px); }
body:not(.wp-admin) .p217-irata-essential__button { min-width:min(100%,280px); justify-content:center; }
body:not(.wp-admin) .p217-irata-essential .p90-kicker { display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.08); }

/* ---- Consistent trust strip on course pages ---- */
body:not(.wp-admin) .p240-course-trust { padding:clamp(54px,4.2vw,82px) 0; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.055)); border-top:1px solid rgba(255,255,255,.1); }
body:not(.wp-admin) .p240-course-trust__heading { max-width:920px; margin-bottom:28px; }
body:not(.wp-admin) .p240-course-trust__heading h2 { margin:.35em 0 0; }
body:not(.wp-admin) .p240-course-trust__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
body:not(.wp-admin) .p240-course-trust__item { padding:20px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.035); }
body:not(.wp-admin) .p240-course-trust__item strong { display:block; font-size:clamp(20px,1.2vw,28px); margin-bottom:5px; }
body:not(.wp-admin) .p240-course-trust__item span { color:rgba(255,255,255,.72); line-height:1.42; }
body:not(.wp-admin) .p240-course-trust__links { display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; }
body:not(.wp-admin) .p240-course-trust__links a { font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.35); }

/* ---- Directions: make the arrival landmarks impossible to miss ---- */
body:not(.wp-admin) .p220-arrival__grid article { border-width:2px; }
body:not(.wp-admin) .p220-arrival__grid article span { font-size:13px; font-weight:800; opacity:.7; }
body:not(.wp-admin) .p220-arrival__grid article strong { font-size:clamp(21px,1.3vw,28px); line-height:1.12; }
body:not(.wp-admin).p240-page-find_us .p201-find-us__quick-grid > * { min-height:100%; }

/* ---- About: more visual, less text-wall ---- */
body:not(.wp-admin).p240-page-about .p210-about-proof .p200-level-gallery__grid,
body:not(.wp-admin).p240-page-about .p210-about-proof .p90-gallery-grid { gap:14px; }
body:not(.wp-admin).p240-page-about .p210-about-proof img { border-radius:18px; aspect-ratio:4/3; object-fit:cover; }
body:not(.wp-admin).p240-page-about .p90-large { max-width:72ch; }

/* ---- FAQ search + wide-screen layout ---- */
body:not(.wp-admin) .p240-faq-search { max-width:720px; margin:0 0 26px; }
body:not(.wp-admin) .p240-faq-search input { width:100%; min-height:52px; padding:12px 16px; border-radius:14px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.055); color:#fff; font:inherit; }
body:not(.wp-admin) .p240-faq-search input::placeholder { color:rgba(255,255,255,.55); }
body:not(.wp-admin) .p240-faq-search__empty { margin:14px 0 0; }
body:not(.wp-admin) .p210-faq-list details[hidden] { display:none !important; }
@media (min-width: 1500px) {
  body:not(.wp-admin) .p210-faq-list { column-gap:24px !important; }
}

/* ---- Buttons / focus / microinteraction ---- */
@media (hover:hover) and (pointer:fine) {
  body:not(.wp-admin) .p90-button:hover,
  body:not(.wp-admin) .profixt-ca__button:hover { transform:translateY(-2px); }
  body:not(.wp-admin) .profixt-ca__card:hover { border-color:rgba(255,255,255,.23); }
}
body:not(.wp-admin) :where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #8bc8ff !important; outline-offset:3px !important; }
body:not(.wp-admin) .p240-print { margin-top:24px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(0,0,0,.28); color:#fff; padding:10px 15px; font:inherit; font-weight:700; cursor:pointer; }

/* ---- Mobile dock contrast ---- */
@media (max-width: 820px) {
  body:not(.wp-admin) .p210-mobile-dock,
  body:not(.wp-admin) .p220-mobile-dock { border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(18px); }
  body:not(.wp-admin) .p210-mobile-dock a,
  body:not(.wp-admin) .p220-mobile-dock a { min-height:48px; font-weight:700; }
  body:not(.wp-admin) .p210-mobile-dock a[aria-current="page"],
  body:not(.wp-admin) .p220-mobile-dock a[aria-current="page"] { background:rgba(255,255,255,.12); color:#fff; }
}

/* ---- Tablet/foldable: intentional intermediate layouts ---- */
@media (min-width: 600px) and (max-width: 1199px) {
  body:not(.wp-admin) .p90-container { width:min(100% - 40px,1080px) !important; }
  body:not(.wp-admin) .p240-course-trust__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:not(.wp-admin) .p90-section { padding-top:56px; padding-bottom:56px; }
}
@media (min-width: 821px) and (max-width: 1100px) and (pointer:coarse) {
  body:not(.wp-admin) .p90-button,
  body:not(.wp-admin) .site-header a,
  body:not(.wp-admin) .site-header button { min-height:46px; }
}
@media (max-width: 599px) {
  body:not(.wp-admin) .p240-course-trust__grid { grid-template-columns:1fr; }
  body:not(.wp-admin) .p240-course-trust__item { padding:16px; }
  body:not(.wp-admin) .p240-print { display:none; }
}

/* ---- Print: useful course requirements/directions, no chrome ---- */
@media print {
  #masthead,.site-header,.profixt-global-footer,.p210-mobile-dock,.p220-mobile-dock,.p240-print,.p174-training-gallery,.p200-level-gallery,.p90-actions,.profixt-ca__button { display:none !important; }
  body,body:not(.wp-admin),.p90,.p90-section,.p90-page-hero,.p240-course-trust { background:#fff !important; color:#000 !important; }
  body:not(.wp-admin) .p90-container { width:100% !important; max-width:none !important; padding:0 !important; }
  body:not(.wp-admin) .p90-section,body:not(.wp-admin) .p90-page-hero,body:not(.wp-admin) .p240-course-trust { padding:18px 0 !important; border-color:#ccc !important; }
  body:not(.wp-admin) * { color:#000 !important; box-shadow:none !important; text-shadow:none !important; }
  a[href]::after { content:" (" attr(href) ")"; font-size:10pt; word-break:break-all; }
  a[href^="#"]::after,a[href^="tel:"]::after { content:""; }
  details { display:block !important; break-inside:avoid; }
  details > * { display:block !important; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) .p90-button,
  body:not(.wp-admin) .profixt-ca__card,
  body:not(.wp-admin) .p220-progression__step { transition:none !important; transform:none !important; }
}

/* ===== source: profixt-v241-fine-polish.css ===== */
/* Profixt 2 v0.24.1 — fine polish and consistency pass */

/* ---------- Overall desktop composition ---------- */
@media (min-width: 1200px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 88px), 1500px) !important;
  }
  body:not(.wp-admin) .p90-heading,
  body:not(.wp-admin) .p90-page-hero__copy,
  body:not(.wp-admin) .p90-hero__copy {
    text-wrap: balance;
  }
  body:not(.wp-admin) .p90-lead,
  body:not(.wp-admin) .p90-heading > p,
  body:not(.wp-admin) .p90-page-hero__copy > p {
    max-width: 78ch;
  }
}
@media (min-width: 1920px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 120px), 1560px) !important;
  }
}
@media (min-width: 3000px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 180px), 1640px) !important;
  }
}

/* ---------- Header: more deliberate sizing and spacing ---------- */
@media (min-width: 1200px) {
  body:not(.wp-admin) .site-header .primary-menu-container > ul {
    align-items: center;
  }
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li > a,
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li > button,
  body:not(.wp-admin) .profixt-courses-menu__toggle {
    font-size: clamp(19px, .86vw, 22px) !important;
    line-height: 1.12 !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  body:not(.wp-admin) .site-header .sub-menu a,
  body:not(.wp-admin) .p213-irata-submenu a {
    font-size: 15.5px !important;
    line-height: 1.34 !important;
  }
}

/* ---------- Section rhythm and hierarchy ---------- */
body:not(.wp-admin) .p90-section + .p90-section {
  border-top: 1px solid rgba(255,255,255,.045);
}
body:not(.wp-admin) .p90-heading h2,
body:not(.wp-admin) .p90-heading h1 {
  letter-spacing: -.025em;
}
body:not(.wp-admin) .p90-kicker {
  font-weight: 850 !important;
}
@media (min-width: 1200px) {
  body:not(.wp-admin) .p90-section {
    padding-top: clamp(56px, 3.8vw, 76px) !important;
    padding-bottom: clamp(56px, 3.8vw, 76px) !important;
  }
  body:not(.wp-admin) .p90-page-hero > .p90-container {
    padding-top: clamp(66px, 4.4vw, 90px) !important;
    padding-bottom: clamp(66px, 4.4vw, 90px) !important;
  }
}

/* ---------- Cards and content blocks ---------- */
body:not(.wp-admin) :is(.p90-programme,.p90-trust-card,.p210-proof-grid article,.p220-arrival__grid article,.p240-course-trust__item,.profixt-ca__card) {
  border-color: rgba(255,255,255,.115) !important;
}
body:not(.wp-admin) :is(.p90-programme,.p90-trust-card,.p210-proof-grid article,.p240-course-trust__item) {
  background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
}
@media (hover:hover) and (pointer:fine) {
  body:not(.wp-admin) :is(.p90-programme,.p90-trust-card,.p210-proof-grid article,.p240-course-trust__item) {
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
  }
  body:not(.wp-admin) :is(.p90-programme,.p90-trust-card,.p210-proof-grid article,.p240-course-trust__item):hover {
    border-color: rgba(255,255,255,.22) !important;
    transform: translateY(-2px);
  }
}

/* ---------- Course cards: cleaner information hierarchy ---------- */
body:not(.wp-admin) .profixt-ca__topline {
  min-width: 0;
}
body:not(.wp-admin) .profixt-ca__topline h3 {
  text-wrap: balance;
}
body:not(.wp-admin) .profixt-ca__places {
  white-space: nowrap;
  letter-spacing: .02em;
}
body:not(.wp-admin) .p240-seat-meter__meta {
  color: rgba(255,255,255,.78);
}
body:not(.wp-admin) .p240-seat-meter.is-urgent .p240-seat-meter__meta {
  color: #ff6969;
}
body:not(.wp-admin) .profixt-ca__button {
  justify-content: center;
}
@media (min-width: 1500px) {
  body:not(.wp-admin) .p210-course-calendar .profixt-ca__card:not(.profixt-ca__card--nearest) {
    min-height: 100%;
  }
}

/* ---------- IRATA level journey ---------- */
body:not(.wp-admin) .p220-progression__step {
  min-height: 116px;
}
body:not(.wp-admin) .p220-progression__step strong {
  line-height: 1.18;
}
body:not(.wp-admin) .p220-progression__step small {
  line-height: 1.42;
}
body:not(.wp-admin) .p217-irata-essential {
  border-radius: 18px;
  margin-inline: auto;
  width: min(100%, 1500px);
}

/* ---------- FAQ readability and interaction ---------- */
body:not(.wp-admin) .p210-faq-list details,
body:not(.wp-admin) .p221-faq-list details {
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding-block: 3px;
}
body:not(.wp-admin) .p210-faq-list summary,
body:not(.wp-admin) .p221-faq-list summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding-block: 13px !important;
}
body:not(.wp-admin) .p210-faq-list details[open] summary,
body:not(.wp-admin) .p221-faq-list details[open] summary {
  color: #fff;
}
body:not(.wp-admin) .p210-faq-list details p,
body:not(.wp-admin) .p221-faq-list details p {
  margin-top: 4px;
  padding-bottom: 18px;
}

/* ---------- Gallery: cinematic but controlled ---------- */
body:not(.wp-admin) .p174-training-gallery {
  overflow: hidden;
}
body:not(.wp-admin) .p174-gallery-card {
  border-radius: 18px !important;
}
body:not(.wp-admin) .p174-gallery-card img {
  transition: transform .35s ease;
}
@media (hover:hover) and (pointer:fine) {
  body:not(.wp-admin) .p174-gallery-card:hover img {
    transform: scale(1.018);
  }
}

/* ---------- Footer and utility controls ---------- */
body:not(.wp-admin) .profixt-global-footer__grid a:hover {
  color: #fff;
}
@media (min-width: 821px) {
  body:not(.wp-admin) .p171-back-to-top {
    min-width: 88px !important;
    min-height: 48px !important;
    padding-inline: 17px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    letter-spacing: .04em;
  }
}

/* ---------- Tablet / foldable refinement ---------- */
@media (min-width: 821px) and (max-width: 1199px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 46px), 1080px) !important;
  }
  body:not(.wp-admin) .p90-section {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }
  body:not(.wp-admin) .p220-progression__track {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    row-gap: 10px;
  }
  body:not(.wp-admin) .p220-progression__track::before {
    display: none;
  }
}
@media (min-width: 600px) and (max-width: 820px) {
  body:not(.wp-admin) .p90-container {
    width: calc(100% - 28px) !important;
  }
  body:not(.wp-admin) .p240-course-trust__grid {
    gap: 12px;
  }
}

/* ---------- Small phone guardrails ---------- */
@media (max-width: 430px) {
  body:not(.wp-admin) .p90-page-hero h1 {
    hyphens: auto;
  }
  body:not(.wp-admin) .p90-button,
  body:not(.wp-admin) .profixt-ca__button {
    min-height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) .p174-gallery-card img,
  body:not(.wp-admin) :is(.p90-programme,.p90-trust-card,.p210-proof-grid article,.p240-course-trust__item) {
    transition: none !important;
    transform: none !important;
  }
}

/* ===== source: profixt-v242-micro-polish.css ===== */
/* Profixt 2 v0.24.2 — micro polish, consistency and edge-case refinement */

/* ---------- A calmer global rhythm ---------- */
body:not(.wp-admin) .p90 :where(h1,h2,h3,h4) {
  text-wrap: balance;
}
body:not(.wp-admin) .p90 :where(p,li) {
  text-wrap: pretty;
}
body:not(.wp-admin) :where(section,[id]) {
  scroll-margin-top: 96px;
}

/* ---------- Desktop header: larger, clearer, more intentional ---------- */
@media (min-width: 1200px) {
  body:not(.wp-admin) .site-header .primary-menu-container > ul {
    gap: clamp(2px, .25vw, 8px);
  }
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li > a,
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li > button,
  body:not(.wp-admin) .profixt-courses-menu__toggle {
    position: relative;
    min-height: 50px;
    padding-inline: clamp(11px, .7vw, 18px) !important;
  }
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li.current-menu-item > a::after,
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li.current-menu-ancestor > a::after,
  body:not(.wp-admin) .site-header .primary-menu-container > ul > li.current-menu-ancestor > button::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: .8;
  }
  body:not(.wp-admin) .site-header .sub-menu,
  body:not(.wp-admin) .p213-irata-submenu {
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.34) !important;
  }
  body:not(.wp-admin) .site-header .sub-menu a,
  body:not(.wp-admin) .p213-irata-submenu a {
    font-size: 16px !important;
    padding-block: 11px !important;
  }
}

/* ---------- Hero / section copy: use width without becoming hard to read ---------- */
@media (min-width: 1200px) {
  body:not(.wp-admin) .p90-page-hero__copy,
  body:not(.wp-admin) .p90-hero__copy {
    max-width: min(1040px, 74vw);
  }
  body:not(.wp-admin) .p90-heading {
    max-width: 1100px;
  }
  body:not(.wp-admin) .p90-heading > p,
  body:not(.wp-admin) .p90-lead,
  body:not(.wp-admin) .p90-large {
    line-height: 1.58;
  }
}

/* ---------- Cards: consistent geometry ---------- */
body:not(.wp-admin) :is(.p90-programme,.p90-trust-card,.p210-proof-grid article,.p240-course-trust__item,.profixt-ca__card,.p220-arrival__grid article) {
  border-radius: 18px !important;
}
body:not(.wp-admin) .p90-programme :where(h3,p),
body:not(.wp-admin) .p90-trust-card :where(h3,p),
body:not(.wp-admin) .p210-proof-grid article :where(h3,p) {
  margin-top: 0;
}

/* ---------- Course cards: stronger scan path ---------- */
body:not(.wp-admin) .profixt-ca__card {
  isolation: isolate;
}
body:not(.wp-admin) .profixt-ca__card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: rgba(255,255,255,.12);
  pointer-events: none;
}
body:not(.wp-admin) .profixt-ca__card--nearest::before {
  background: #f5821f;
}
body:not(.wp-admin) .profixt-ca__dates {
  font-weight: 800;
  letter-spacing: -.01em;
}
body:not(.wp-admin) .profixt-ca__price {
  margin-top: 8px;
}
body:not(.wp-admin) .p240-seat-meter__track {
  height: 12px;
}
body:not(.wp-admin) .p240-seat-meter.is-urgent .p240-seat-meter__track {
  box-shadow: 0 0 0 1px rgba(255,59,59,.22);
}
body:not(.wp-admin) .p240-seat-meter.is-urgent .p240-seat-meter__meta strong {
  color: #ff7777;
  font-size: 18px;
}

/* ---------- Buttons: one consistent physical size ---------- */
body:not(.wp-admin) :is(.p90-button,.profixt-ca__button) {
  min-height: 50px;
  border-radius: 999px !important;
  padding-inline: clamp(18px, 1.2vw, 26px) !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
}
@media (hover:hover) and (pointer:fine) {
  body:not(.wp-admin) :is(.p90-button,.profixt-ca__button):hover {
    box-shadow: 0 10px 26px rgba(0,0,0,.18);
  }
}

/* ---------- IRATA journey: make hierarchy obvious without adding clutter ---------- */
body:not(.wp-admin) .p220-progression__step {
  padding: 20px !important;
}
body:not(.wp-admin) .p220-progression__step.is-current {
  transform: translateY(-3px);
}
body:not(.wp-admin) .p220-progression__step.is-current::after {
  content: "CURRENT";
  display: inline-flex;
  margin-top: 12px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .09em;
}
html[lang^="bg"] body:not(.wp-admin) .p220-progression__step.is-current::after {
  content: "ТЕКУЩО НИВО";
}
body:not(.wp-admin) .p217-irata-essential__copy > p:not(.p90-kicker):not(.p217-irata-essential__url) {
  max-width: 70ch;
}

/* ---------- FAQ: clearer affordance ---------- */
body:not(.wp-admin) .p210-faq-list summary,
body:not(.wp-admin) .p221-faq-list summary {
  position: relative;
  padding-right: 42px !important;
}
body:not(.wp-admin) .p210-faq-list summary::after,
body:not(.wp-admin) .p221-faq-list summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  translate: 0 -50%;
  font-size: 24px;
  line-height: 1;
  color: rgba(255,255,255,.62);
}
body:not(.wp-admin) .p210-faq-list details[open] summary::after,
body:not(.wp-admin) .p221-faq-list details[open] summary::after {
  content: "−";
  color: #fff;
}

/* ---------- Footer: denser and easier to scan ---------- */
body:not(.wp-admin) .profixt-global-footer__grid {
  gap: clamp(22px, 2.8vw, 46px) !important;
}
body:not(.wp-admin) .profixt-global-footer__grid :where(h2,h3,h4) {
  margin-bottom: 10px;
}
body:not(.wp-admin) .profixt-global-footer__grid a {
  line-height: 1.45;
}

/* ---------- 1440p / 4K: scale typography, not line length ---------- */
@media (min-width: 1920px) {
  body:not(.wp-admin) .p90 :where(p,li) {
    font-size: clamp(18px, .63vw, 21px);
  }
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 120px), 1560px) !important;
  }
}
@media (min-width: 3000px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 180px), 1660px) !important;
  }
  body:not(.wp-admin) .p90 :where(p,li) {
    font-size: 21px;
  }
}

/* ---------- Tablet / foldable balance ---------- */
@media (min-width: 821px) and (max-width: 1199px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 40px), 1060px) !important;
  }
  body:not(.wp-admin) .p90-two-column,
  body:not(.wp-admin) .p90-intro-grid,
  body:not(.wp-admin) .p90-contact-layout {
    gap: clamp(22px, 3.5vw, 38px) !important;
  }
  body:not(.wp-admin) .p90 :where(p,li) {
    font-size: 17px;
  }
}
@media (min-width: 600px) and (max-width: 820px) {
  body:not(.wp-admin) .p90-container {
    width: calc(100% - 24px) !important;
  }
}

/* ---------- Small/mobile guardrails ---------- */
@media (max-width: 599px) {
  body:not(.wp-admin) :where(section,[id]) {
    scroll-margin-top: 16px;
  }
  body:not(.wp-admin) .p220-progression__step.is-current {
    transform: none;
  }
  body:not(.wp-admin) .p220-progression__step.is-current::after {
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) .p220-progression__step.is-current,
  body:not(.wp-admin) :is(.p90-button,.profixt-ca__button) {
    transform: none !important;
    transition: none !important;
  }
}
/* Profixt 2 v0.35.0 consolidated bundle. Generated from v0.34.6 sources; source order preserved. */

/* ===== source: profixt-v250.css ===== */
/* Profixt 2 v0.25.0 — conversion, performance, SEO and final UX polish */

/* Consistent responsive type system */
body:not(.wp-admin) .p90{--p250-body:clamp(16px,1vw,19px);--p250-small:clamp(13px,.72vw,15px);--p250-h2:clamp(32px,3vw,58px);--p250-rail:1540px}
body:not(.wp-admin) .p90 :where(p,li){font-size:var(--p250-body);line-height:1.58}
body:not(.wp-admin) .p90 :where(.p90-kicker,.profixt-ca__meta,.profixt-ca__places){font-size:var(--p250-small)}
body:not(.wp-admin) .p90 h2{font-size:var(--p250-h2);line-height:1.08;letter-spacing:-.025em}
@media(min-width:1920px){body:not(.wp-admin) .p90{--p250-body:clamp(18px,.72vw,21px);--p250-small:clamp(14px,.52vw,16px);--p250-h2:clamp(42px,2.2vw,64px)}}
@media(min-width:3000px){body:not(.wp-admin) .p90{--p250-body:21px;--p250-small:16px;--p250-h2:64px}}

/* Breadcrumbs */
body:not(.wp-admin) .p250-breadcrumbs{border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}
body:not(.wp-admin) .p250-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:13px 0;font-size:14px;color:rgba(255,255,255,.62)}
body:not(.wp-admin) .p250-breadcrumbs li+li:before{content:'›';margin-right:12px;color:rgba(255,255,255,.3)}
body:not(.wp-admin) .p250-breadcrumbs a{color:rgba(255,255,255,.78);text-decoration:none}
body:not(.wp-admin) .p250-breadcrumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Homepage: make upcoming courses visually dominant */
body:not(.wp-admin).p240-page-home #upcoming-courses{position:relative;background:linear-gradient(180deg,rgba(245,130,31,.08),rgba(0,0,0,0) 42%),#0b0d10}
body:not(.wp-admin).p240-page-home #upcoming-courses:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:#f5821f}
body:not(.wp-admin).p240-page-home #upcoming-courses .p90-heading{max-width:980px}

/* Course cards: clearer hierarchy + urgency */
body:not(.wp-admin) .profixt-ca__card{padding:clamp(20px,1.6vw,30px)!important;display:flex;flex-direction:column;min-width:0}
body:not(.wp-admin) .profixt-ca__dates{font-size:clamp(21px,1.35vw,30px)!important;line-height:1.12!important}
body:not(.wp-admin) .profixt-ca__places{font-weight:900!important;letter-spacing:.035em!important}
body:not(.wp-admin) .profixt-ca__button{margin-top:auto!important;width:100%;justify-content:center;text-align:center}
body:not(.wp-admin) .p250-course-urgent{box-shadow:inset 0 0 0 1px rgba(255,59,59,.35),0 14px 40px rgba(0,0,0,.18)!important}
body:not(.wp-admin) .p250-course-urgent:before{background:#ff3b3b!important;height:4px!important}

/* Enquiry flow */
body:not(.wp-admin) .p250-enquiry-summary{display:grid;gap:7px;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(245,130,31,.4);border-radius:16px;background:rgba(245,130,31,.08)}
body:not(.wp-admin) .p250-enquiry-summary>strong{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:#ffb36f}
body:not(.wp-admin) .p250-enquiry-summary span{font-size:16px;color:#fff}
body:not(.wp-admin) .profixt-enquiry-form input,body:not(.wp-admin) .profixt-enquiry-form textarea{font-size:16px!important}
body:not(.wp-admin) .profixt-form-notice--success{border:1px solid rgba(85,199,122,.5)!important;background:rgba(85,199,122,.10)!important;padding:18px 20px!important;border-radius:16px!important}

/* IRATA route: stronger visual continuity */
body:not(.wp-admin) .p220-progression__track{gap:12px!important}
body:not(.wp-admin) .p220-progression__step{border-width:1px!important}
body:not(.wp-admin) .p220-progression__step.is-current{border-color:#f5821f!important;box-shadow:inset 0 0 0 1px rgba(245,130,31,.38),0 12px 30px rgba(0,0,0,.16)!important}
body:not(.wp-admin) .p217-irata-essential{border-radius:18px!important;margin-block:clamp(28px,3vw,54px)!important;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02))!important}
body:not(.wp-admin) .p217-irata-essential .p90-kicker{font-weight:900!important}

/* FAQ categories + search */
body:not(.wp-admin) .p250-faq-categories{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px}
body:not(.wp-admin) .p250-faq-categories button{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.78);padding:9px 14px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
body:not(.wp-admin) .p250-faq-categories button:hover,body:not(.wp-admin) .p250-faq-categories button.is-active{background:#fff;color:#111;border-color:#fff}
body:not(.wp-admin) .p210-faq-list details,body:not(.wp-admin) .p221-faq-list details{break-inside:avoid}

/* Directions quick-scan landmarks */
body:not(.wp-admin) .p220-arrival__grid article strong{font-size:clamp(24px,1.8vw,34px)!important;line-height:1.05}
body:not(.wp-admin) .p220-arrival__grid article{border-color:rgba(255,255,255,.16)!important;background:rgba(255,255,255,.04)!important}

/* Header/footer finishing pass */
@media(min-width:1200px){
body:not(.wp-admin) .site-header .primary-menu-container>ul>li>a,body:not(.wp-admin) .site-header .primary-menu-container>ul>li>button,body:not(.wp-admin) .profixt-courses-menu__toggle{font-size:clamp(19px,.86vw,22px)!important;min-height:54px!important}
body:not(.wp-admin) .site-header .sub-menu a,body:not(.wp-admin) .p213-irata-submenu a{font-size:16px!important;line-height:1.32!important}
}
body:not(.wp-admin) .profixt-global-footer{border-top:1px solid rgba(255,255,255,.12)}
body:not(.wp-admin) .profixt-global-footer__grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}

/* Foldables/tablets */
@media(min-width:600px) and (max-width:1199px){body:not(.wp-admin) .p90-container{width:min(calc(100% - 32px),1080px)!important}.profixt-ca__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:821px) and (max-width:1100px) and (pointer:coarse){body:not(.wp-admin) .site-header :is(a,button),body:not(.wp-admin) :is(.p90-button,.profixt-ca__button){min-height:48px!important}}
@media(max-width:820px){body:not(.wp-admin) .p250-breadcrumbs{display:none}.profixt-ca__grid{grid-template-columns:1fr!important}.p250-faq-categories{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.p250-faq-categories::-webkit-scrollbar{display:none}}

/* 4K: scale surfaces, keep readable rails */
@media(min-width:2560px){body:not(.wp-admin) .p90-container{width:min(calc(100% - 160px),1660px)!important}body:not(.wp-admin) .profixt-ca__grid{gap:28px!important}}
@media(min-width:3600px){body:not(.wp-admin) .p90-container{width:min(calc(100% - 220px),1720px)!important}}

/* Accessibility */
body:not(.wp-admin) :where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #9bd1ff!important;outline-offset:4px!important}
@media(prefers-reduced-motion:reduce){body:not(.wp-admin) *,body:not(.wp-admin) *:before,body:not(.wp-admin) *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Print */
@media print{.p250-breadcrumbs,.p250-faq-categories,.p240-faq-search{display:none!important}}

/* ===== source: profixt-v255.css ===== */
/* Profixt 2 v0.25.6 — Singing Rock branding and larger homepage association logos */
.p255-sr-section{
  position:relative;
  margin-top:-8px;
}
.p255-sr-card{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);
  gap:clamp(18px,2vw,34px);
  align-items:center;
  padding:clamp(18px,2vw,28px);
  border:1px solid rgba(245,130,31,.22);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(245,130,31,.10),rgba(245,130,31,.03) 32%,rgba(255,255,255,.015) 100%);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.p255-sr-copy h2{
  margin:8px 0 12px;
  font-size:clamp(24px,2.2vw,38px);
  line-height:1.08;
}
.p255-sr-copy p:last-child{
  margin:0;
  max-width:62ch;
  color:var(--p90-text-muted,#b8bec8);
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.7;
}
.p255-sr-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100%;
}
.p255-sr-logos{
  width:100%;
  display:grid;
  gap:14px;
}
.p255-sr-logo-card{
  margin:0;
  border-radius:18px;
  background:#ffffff;
  padding:14px 18px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  border:1px solid rgba(17,17,17,.06);
}
.p255-sr-logo-card--primary{padding:20px 22px;}
.p255-sr-logo{
  width:100%;
  height:auto;
  display:block;
}
.p255-sr-logo--primary{max-width:360px;}
.p255-sr-logo--partner{max-width:360px;}
body:not(.wp-admin).p240-page-wah .p255-sr-card,
body:not(.wp-admin).p240-page-confined .p255-sr-card,
body:not(.wp-admin).p240-page-ppe .p255-sr-card{margin-top:0;}

/* Homepage: make the 4 association logos larger and visually sit on the hero image */
.home .p181-logo-strip{
  position:relative;
  z-index:5;
  margin-top:clamp(-98px,-6vw,-64px);
  padding:0 0 22px;
}
.home .p181-logo-strip .p90-container{
  max-width:min(1600px,calc(100vw - 48px));
}
.home .p181-logo-strip .p181-logo-strip__logos{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.3vw,24px);
}
.home .p181-logo-strip .p141-logo-card{
  min-height:156px;
  border-radius:22px;
  padding:16px 18px;
  background:rgba(10,16,24,.78);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  box-shadow:0 18px 36px rgba(0,0,0,.26);
}
.home .p181-logo-strip .p141-logo-card a,
.home .p181-logo-strip .p141-logo-card .p156-logo-link{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}
.home .p181-logo-strip .p141-logo-card img{
  max-height:84px;
  width:auto;
  max-width:100%;
}
.home .p181-logo-strip .p141-logo-card--irata img{max-height:104px;}
.home .p181-logo-strip .p141-logo-card--polygon img{max-height:80px;}
.home .p181-logo-strip .p141-logo-card--sprat img{max-height:74px;}
.home .p181-logo-strip .p141-logo-card--cresto img{max-height:74px;}

@media (max-width: 1100px){
  .p255-sr-card{grid-template-columns:1fr;}
  .p255-sr-logo-wrap{justify-content:flex-start;}
  .home .p181-logo-strip{margin-top:-42px;}
  .home .p181-logo-strip .p181-logo-strip__logos{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .p255-sr-section{margin-top:-4px;}
  .p255-sr-card{padding:18px;border-radius:20px;gap:16px;}
  .p255-sr-copy h2{font-size:26px;}
  .p255-sr-copy p:last-child{font-size:15px;line-height:1.6;}
  .p255-sr-logo-wrap{justify-content:center;}
  .p255-sr-logo-card{padding:14px;}
  .home .p181-logo-strip{margin-top:10px;}
  .home .p181-logo-strip .p90-container{max-width:calc(100vw - 24px);}
  .home .p181-logo-strip .p181-logo-strip__logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .home .p181-logo-strip .p141-logo-card{min-height:114px;padding:10px 12px;border-radius:18px;}
  .home .p181-logo-strip .p141-logo-card a,
  .home .p181-logo-strip .p141-logo-card .p156-logo-link{min-height:86px;padding:6px;}
  .home .p181-logo-strip .p141-logo-card img{max-height:56px;}
  .home .p181-logo-strip .p141-logo-card--irata img{max-height:68px;}
}

/* ---------- v0.25.7 hero association logo correction ---------- */
/* The legacy JS moves .p181-logo-strip into .p90-hero and adds
   .p184-hero-logo-strip. Override the older compact rules explicitly. */
.home .p90-hero{
  min-height:clamp(680px,46vw,820px);
}
.home .p90-hero .p90-hero__inner{
  padding-bottom:clamp(190px,13vw,230px) !important;
}
.home .p90-hero .p184-hero-logo-strip{
  position:absolute !important;
  z-index:6 !important;
  left:50% !important;
  right:auto !important;
  bottom:clamp(22px,2.2vw,38px) !important;
  width:min(84vw,1320px) !important;
  margin:0 !important;
  padding:0 !important;
  transform:translateX(-50%) !important;
  border:0 !important;
  background:transparent !important;
  pointer-events:none;
}
.home .p90-hero .p184-hero-logo-strip .p90-container{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.home .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(14px,1.4vw,24px) !important;
  align-items:stretch !important;
}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:clamp(130px,9vw,164px) !important;
  height:auto !important;
  margin:0 !important;
  padding:clamp(12px,1vw,18px) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:18px !important;
  background:rgba(7,10,13,.72) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(10px);
  transform:none !important;
  pointer-events:auto;
}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card a,
.home .p90-hero .p184-hero-logo-strip .p141-logo-card .p156-logo-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:100px !important;
  height:100% !important;
  padding:0 !important;
}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:92% !important;
  max-height:108px !important;
  object-fit:contain !important;
}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card--irata img{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:130px !important;
}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card--polygon img{max-height:108px !important;}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card--sprat img{max-height:94px !important;}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card--cresto img{max-height:94px !important;}

/* Three remaining homepage trust cards after removing the language/support card. */
.home .p90-trust .p90-trust__grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.home .p100-credentials__grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

@media (min-width: 1900px){
  .home .p90-hero .p184-hero-logo-strip{width:min(78vw,1500px) !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card{min-height:176px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card img{max-height:122px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--irata img{max-height:146px !important;}
}
@media (max-width: 1100px){
  .home .p90-hero{min-height:auto;}
  .home .p90-hero .p90-hero__inner{padding-bottom:210px !important;}
  .home .p90-hero .p184-hero-logo-strip{width:calc(100% - 32px) !important;bottom:18px !important;}
  .home .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card{min-height:88px !important;padding:8px 12px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card a,
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card .p156-logo-link{min-height:70px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card img{max-height:62px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--irata img{max-height:74px !important;}
}
@media (max-width: 700px){
  .home .p90-hero .p90-hero__inner{padding-bottom:190px !important;}
  .home .p90-hero .p184-hero-logo-strip{width:calc(100% - 24px) !important;bottom:12px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card{min-height:76px !important;border-radius:12px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card a,
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card .p156-logo-link{min-height:58px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card img{max-height:50px !important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--irata img{max-height:60px !important;}
  .home .p90-trust .p90-trust__grid,
  .home .p100-credentials__grid{grid-template-columns:1fr !important;}
}

/* ===== source: profixt-v263.css ===== */
/* Profixt 2 v0.26.3 — Maps CTA + trade mark footer polish */
.p146-location__details > a:first-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:14px 22px;
  border-radius:14px;
  background:#f5821f;
  border:1px solid #f5821f;
  color:#0b0d10 !important;
  font-size:clamp(17px,1.15vw,20px);
  font-weight:850;
  line-height:1.15;
  text-decoration:none !important;
  box-shadow:0 10px 28px rgba(245,130,31,.18);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.p146-location__details > a:first-child:hover,
.p146-location__details > a:first-child:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(245,130,31,.26);
  filter:brightness(1.04);
}
.p146-location__details > a:first-child span{
  font-size:1.05em;
}
.profixt-global-footer__trademark{
  display:block;
  margin-top:7px;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.01em;
  color:rgba(255,255,255,.52);
}
@media(max-width:820px){
  .p146-location__details > a:first-child{
    width:100%;
    min-height:56px;
    padding:15px 18px;
    font-size:17px;
  }
  .profixt-global-footer__trademark{font-size:11px;}
}

/* ===== source: profixt-v258.css ===== */
/* Profixt 2 v0.25.8 — compact, nav-like language switcher */
@media (min-width: 981px) {
  .profixt-language-button,
  .profixt-language-switcher {
    margin-inline: 4px !important;
  }
  .profixt-language-button > a,
  .profixt-language-switcher > a {
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    width:auto !important;
    min-width:70px !important;
    min-height:44px !important;
    padding:9px 13px !important;
    border:1px solid rgba(255,255,255,.11) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.025) !important;
    color:rgba(255,255,255,.86) !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.02em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease !important;
  }
  .profixt-language-button > a:hover,
  .profixt-language-button > a:focus-visible,
  .profixt-language-switcher > a:hover,
  .profixt-language-switcher > a:focus-visible {
    color:#fff !important;
    background:rgba(245,130,31,.09) !important;
    border-color:rgba(245,130,31,.52) !important;
    transform:translateY(-1px);
  }
  .p258-lang__flag{font-size:17px;line-height:1;}
  .p258-lang__code{font-size:14px;line-height:1;}
}

@media (max-width:980px) {
  .profixt-language-button > a,
  .profixt-language-switcher > a {
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
  }
  .p258-lang__flag{font-size:18px;}
  .p258-lang__code{font-size:15px;font-weight:800;}
}

/* ===== source: profixt-v261.css ===== */
/* Profixt 2 v0.26.1 — photographic content bands */
body:not(.wp-admin) .p261-photo-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#111517 !important;
}
body:not(.wp-admin) .p261-photo-section::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background-image:var(--p261-photo);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:var(--p261-position,50% 45%);
  opacity:.34;
  transform:scale(1.035);
}
body:not(.wp-admin) .p261-photo-section::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(90deg,rgba(9,12,14,.95) 0%,rgba(9,12,14,.78) 46%,rgba(9,12,14,.64) 100%),
    linear-gradient(180deg,rgba(8,11,13,.48),rgba(8,11,13,.78));
  pointer-events:none;
}
body:not(.wp-admin) .p261-photo-section > .p90-container{
  position:relative;
  z-index:1;
}
body:not(.wp-admin) .p261-photo-section h1,
body:not(.wp-admin) .p261-photo-section h2,
body:not(.wp-admin) .p261-photo-section h3,
body:not(.wp-admin) .p261-photo-section strong{color:#f5f3ee;}
body:not(.wp-admin) .p261-photo-section p,
body:not(.wp-admin) .p261-photo-section li{color:#d4d1ca;}
body:not(.wp-admin) .p261-photo-section .p90-kicker{color:#f5821f;}

/* Give photographic bands slightly more breathing room without making pages taller overall. */
@media (min-width: 1100px){
  body:not(.wp-admin) .p261-photo-section{padding-top:clamp(66px,4vw,92px)!important;padding-bottom:clamp(66px,4vw,92px)!important;}
}
@media (max-width: 820px){
  body:not(.wp-admin) .p261-photo-section::before{opacity:.28;background-position:center;transform:scale(1.02);}
  body:not(.wp-admin) .p261-photo-section::after{background:linear-gradient(180deg,rgba(8,11,13,.84),rgba(8,11,13,.90));}
}
@media (prefers-reduced-motion:reduce){
  body:not(.wp-admin) .p261-photo-section::before{transform:none;}
}

/* ===== source: profixt-v264.css ===== */
/* Profixt 2 v0.26.4 — remove decorative 01 / 02 / 03 / 04 labels from cards. */
body:not(.wp-admin) .p90-programme > span,
body:not(.wp-admin) .p90-process > article > span,
body:not(.wp-admin) .p220-arrival__grid > article > span,
body:not(.wp-admin) .profixt-service-card__number {
    display: none !important;
}

/* Reclaim the vertical space that used to be reserved for the numbers. */
body:not(.wp-admin) .p90-programme h3 {
    margin-top: 6px !important;
}

body:not(.wp-admin) .p90-process h3 {
    margin-top: 4px !important;
}

body:not(.wp-admin) .p220-arrival__grid > article strong {
    margin-top: 0 !important;
}

/* Legacy card layout: don't keep the heading pushed to the bottom after the number is removed. */
body:not(.wp-admin) .profixt-service-card h3 {
    margin-top: 0 !important;
}

/* ===== source: profixt-v262.css ===== */
/* Profixt 2 v0.26.2 — subtle photo visibility lift */
body:not(.wp-admin) .p261-photo-section::before{
  opacity:.40;
}
body:not(.wp-admin) .p261-photo-section::after{
  background:
    linear-gradient(90deg,rgba(9,12,14,.91) 0%,rgba(9,12,14,.72) 46%,rgba(9,12,14,.57) 100%),
    linear-gradient(180deg,rgba(8,11,13,.42),rgba(8,11,13,.72));
}
@media (max-width:820px){
  body:not(.wp-admin) .p261-photo-section::before{
    opacity:.32;
  }
  body:not(.wp-admin) .p261-photo-section::after{
    background:linear-gradient(180deg,rgba(8,11,13,.80),rgba(8,11,13,.87));
  }
}

/* ===== source: profixt-v259.css ===== */
/* Profixt 2 v0.25.9 — make the desktop language switcher truly tiny */
@media (min-width:981px){
  #masthead .profixt-language-button,
  #masthead .profixt-language-switcher,
  .site-header .profixt-language-button,
  .site-header .profixt-language-switcher,
  .profixt123-header .profixt-language-button,
  .profixt123-header .profixt-language-switcher{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin-inline:2px!important;
    flex:0 0 auto!important;
  }

  #masthead .profixt-language-button>a,
  #masthead .profixt-language-switcher>a,
  .site-header .profixt-language-button>a,
  .site-header .profixt-language-switcher>a,
  .profixt123-header .profixt-language-button>a,
  .profixt123-header .profixt-language-switcher>a,
  .profixt-language-button>a,
  .profixt-language-switcher>a{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    min-height:32px!important;
    height:32px!important;
    padding:3px 7px!important;
    gap:4px!important;
    border-radius:6px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:transparent!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:0!important;
    box-shadow:none!important;
  }
  .p258-lang__flag{font-size:14px!important;line-height:1!important;}
  .p258-lang__code{font-size:11px!important;font-weight:800!important;line-height:1!important;}
}

@media (min-width:1600px){
  .profixt-language-button>a,
  .profixt-language-switcher>a{
    min-height:34px!important;
    height:34px!important;
    padding:4px 8px!important;
  }
  .p258-lang__flag{font-size:15px!important;}
  .p258-lang__code{font-size:12px!important;}
}

/* ===== source: profixt-v260.css ===== */
/* Profixt 2 v0.26.0 — dependable language flag icon */
@media (min-width:821px){
  .profixt-language-switcher>a,
  .profixt-language-button>a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:0!important;
    width:auto!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 9px!important;
    border-radius:7px!important;
  }
  .p260-lang__flag{
    display:block!important;
    width:22px!important;
    height:14px!important;
    flex:0 0 22px!important;
    object-fit:cover!important;
    border-radius:2px!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.18)!important;
  }
  .p258-lang__flag{display:none!important;}
  .p258-lang__code{
    display:inline-block!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
  }
}
@media (max-width:820px){
  .p260-lang__flag{
    display:block;
    width:24px;
    height:16px;
    flex:0 0 24px;
    object-fit:cover;
    border-radius:2px;
  }
  .p258-lang__flag{display:none!important;}
}

/* ===== source: profixt-v265.css ===== */
/* Profixt 2 v0.26.5 — scroll-aware header logo + dominant homepage brand mark */

/* Desktop: no brand mark in the header while the visitor is at the top.
   It fades/slides into the sticky header once the page is actually scrolled. */
@media (min-width:1025px){
  #masthead .profixt123-header-logo,
  .site-header .profixt123-header-logo,
  #masthead .site-branding .custom-logo-link,
  .site-header .site-branding .custom-logo-link{
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) scale(.94) !important;
    pointer-events:none !important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease !important;
  }
  html.profixt265-scrolled #masthead .profixt123-header-logo,
  html.profixt265-scrolled .site-header .profixt123-header-logo,
  html.profixt265-scrolled #masthead .site-branding .custom-logo-link,
  html.profixt265-scrolled .site-header .site-branding .custom-logo-link{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }
}

/* Homepage: the hero itself carries the brand at first impression. */
.home .p90-hero{
  position:relative;
}
.home .p90-hero .p90-hero__brand{
  display:flex !important;
  position:absolute !important;
  z-index:4 !important;
  top:46% !important;
  right:clamp(34px,5vw,110px) !important;
  width:clamp(430px,34vw,850px) !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  align-items:center !important;
  justify-content:center !important;
  transform:translateY(-50%) !important;
  pointer-events:none !important;
  opacity:.96 !important;
}
.home .p90-hero .p90-hero__brand img{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.72)) drop-shadow(0 2px 3px rgba(0,0,0,.8));
}
.home .p90-hero .p90-hero__brand span{
  display:none !important;
}

/* Leave the left-hand hero copy its own readable zone. */
@media (min-width:1200px){
  .home .p90-hero .p90-hero__copy{
    max-width:min(47vw,760px) !important;
    position:relative;
    z-index:5;
  }
}

/* On very large displays the brand should still feel intentionally large. */
@media (min-width:1900px){
  .home .p90-hero .p90-hero__brand{
    width:clamp(660px,31vw,980px) !important;
    right:clamp(70px,6vw,180px) !important;
  }
}

/* Tablets: retain the hero brand, but move it away from the copy. */
@media (min-width:701px) and (max-width:1199px){
  .home .p90-hero .p90-hero__brand{
    top:auto !important;
    right:28px !important;
    bottom:228px !important;
    width:clamp(300px,40vw,470px) !important;
    transform:none !important;
    opacity:.9 !important;
  }
}

/* Phones already have a dense hero and a 2x2 association strip: avoid crowding it. */
@media (max-width:700px){
  .home .p90-hero .p90-hero__brand{
    display:none !important;
  }
}

@media (prefers-reduced-motion:reduce){
  #masthead .profixt123-header-logo,
  .site-header .profixt123-header-logo,
  #masthead .site-branding .custom-logo-link,
  .site-header .site-branding .custom-logo-link{
    transition:none !important;
  }
}

/* ===== source: profixt-v266.css ===== */
/* Profixt 2 v0.26.6 — official transparent hero logo treatment */
.home .p90-hero .p90-hero__brand{
  top:50% !important;
  right:clamp(42px,5.2vw,118px) !important;
  width:clamp(500px,39vw,780px) !important;
  opacity:1 !important;
}
.home .p90-hero .p90-hero__brand img{
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.34)) drop-shadow(0 1px 2px rgba(0,0,0,.28)) !important;
}
@media (min-width:1900px){
  .home .p90-hero .p90-hero__brand{
    width:clamp(700px,36vw,1000px) !important;
    right:clamp(80px,6vw,190px) !important;
  }
}
@media (min-width:701px) and (max-width:1199px){
  .home .p90-hero .p90-hero__brand{
    top:auto !important;
    right:clamp(22px,4vw,46px) !important;
    bottom:clamp(190px,24vw,250px) !important;
    width:clamp(310px,43vw,500px) !important;
    transform:none !important;
  }
}
@media (max-width:700px){
  .home .p90-hero .p90-hero__brand{display:none !important;}
}

/* ===== source: profixt-v267.css ===== */
/* Profixt 2 v0.26.7 — keep the brand beside the hero copy, with a gentler shadow. */

/* Desktop: use the existing hero grid instead of absolutely laying the logo over the copy. */
@media (min-width:1200px){
  .home .p90-hero .p90-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,.84fr) minmax(500px,1.16fr) !important;
    gap:clamp(42px,4vw,86px) !important;
    align-items:center !important;
  }

  .home .p90-hero .p90-hero__copy{
    position:relative !important;
    z-index:5 !important;
    width:100% !important;
    max-width:720px !important;
    min-width:0 !important;
  }

  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    z-index:4 !important;
    width:100% !important;
    max-width:820px !important;
    min-width:0 !important;
    margin:0 0 0 auto !important;
    padding:0 !important;
    border:0 !important;
    align-self:center !important;
    justify-self:end !important;
    align-items:center !important;
    justify-content:flex-end !important;
    transform:none !important;
    opacity:1 !important;
    pointer-events:none !important;
  }

  .home .p90-hero .p90-hero__brand img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:820px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    /* Intentionally very soft: enough separation from changing photos without a halo. */
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.18)) drop-shadow(0 1px 1px rgba(0,0,0,.12)) !important;
  }
}

/* 4K / ultrawide: let both columns breathe while still keeping the logo beside the copy. */
@media (min-width:1900px){
  .home .p90-hero .p90-hero__inner{
    grid-template-columns:minmax(0,.8fr) minmax(680px,1.2fr) !important;
    gap:clamp(70px,5vw,120px) !important;
  }
  .home .p90-hero .p90-hero__copy{max-width:800px !important;}
  .home .p90-hero .p90-hero__brand,
  .home .p90-hero .p90-hero__brand img{max-width:980px !important;}
}

/* Intermediate desktop/tablet: still side-by-side while there is genuinely enough room. */
@media (min-width:1025px) and (max-width:1199px){
  .home .p90-hero .p90-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr) !important;
    gap:30px !important;
    align-items:center !important;
  }
  .home .p90-hero .p90-hero__copy{
    max-width:none !important;
    min-width:0 !important;
  }
  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:470px !important;
    margin-left:auto !important;
    padding:0 !important;
    border:0 !important;
    transform:none !important;
    align-self:center !important;
    justify-self:end !important;
  }
  .home .p90-hero .p90-hero__brand img{
    width:100% !important;
    max-width:470px !important;
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.18)) drop-shadow(0 1px 1px rgba(0,0,0,.12)) !important;
  }
}

/* On tablets the layout can stack naturally; keep the logo modest and away from the copy. */
@media (min-width:701px) and (max-width:1024px){
  .home .p90-hero .p90-hero__brand{
    position:relative !important;
    inset:auto !important;
    width:min(72vw,520px) !important;
    margin:26px 0 0 auto !important;
    transform:none !important;
  }
  .home .p90-hero .p90-hero__brand img{
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.18)) !important;
  }
}

/* ===== source: profixt-v268.css ===== */
/* Profixt 2 v0.26.8 — use the logo asset's own localized shadow; no box/halo. */
.home .p90-hero .p90-hero__brand{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.home .p90-hero .p90-hero__brand img{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  object-fit:contain !important;
}
.home .p90-hero .p90-hero__brand > span{
  display:none !important;
}

/* Desktop: retain the side-by-side composition from v0.26.7. */
@media (min-width:1200px){
  .home .p90-hero .p90-hero__brand img{
    max-width:780px !important;
  }
}
@media (min-width:1900px){
  .home .p90-hero .p90-hero__brand img{
    max-width:940px !important;
  }
}

/* Tablet: visible but secondary to the copy. */
@media (min-width:701px) and (max-width:1024px){
  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    width:min(70vw,500px) !important;
    margin:22px 0 0 auto !important;
  }
  .home .p90-hero .p90-hero__brand img{
    width:100% !important;
    max-width:500px !important;
  }
}

/* Mobile: the brand must be visible near the top of the site, not only in the footer. */
@media (max-width:700px){
  .home .p90-hero .p90-hero__inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .home .p90-hero .p90-hero__copy{
    order:1 !important;
  }
  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    order:2 !important;
    width:min(88vw,430px) !important;
    max-width:430px !important;
    margin:24px auto 4px !important;
    padding:0 !important;
    transform:none !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:center !important;
    pointer-events:none !important;
  }
  .home .p90-hero .p90-hero__brand img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:430px !important;
    margin:0 auto !important;
  }
}
@media (max-width:430px){
  .home .p90-hero .p90-hero__brand{
    width:min(92vw,370px) !important;
    margin-top:20px !important;
  }
}

/* ===== source: profixt-v269.css ===== */
/* Profixt 2 v0.26.9 — official transparent SVG, no panel/box, tiny localized drop shadow. */
.home .p90-hero .p90-hero__brand{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home .p90-hero .p90-hero__brand::before,
.home .p90-hero .p90-hero__brand::after{
  content:none !important;
  display:none !important;
}
.home .p90-hero .p90-hero__brand img{
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  object-fit:contain !important;
  /* SVG transparency makes this follow only the painted logo paths. */
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.20)) !important;
}

/* Desktop: logo remains beside the copy, never underneath it. */
@media (min-width:1200px){
  .home .p90-hero .p90-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr) !important;
    column-gap:clamp(44px,4.5vw,92px) !important;
    align-items:center !important;
  }
  .home .p90-hero .p90-hero__copy{
    grid-column:1 !important;
    min-width:0 !important;
    max-width:720px !important;
  }
  .home .p90-hero .p90-hero__brand{
    grid-column:2 !important;
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:820px !important;
    margin:0 0 0 auto !important;
    padding:0 !important;
    transform:none !important;
    align-items:center !important;
    justify-content:flex-end !important;
    align-self:center !important;
    justify-self:end !important;
    pointer-events:none !important;
  }
  .home .p90-hero .p90-hero__brand img{
    width:min(100%,820px) !important;
    height:auto !important;
    margin:0 !important;
  }
}

@media (min-width:1900px){
  .home .p90-hero .p90-hero__inner{
    grid-template-columns:minmax(0,.84fr) minmax(700px,1.16fr) !important;
    column-gap:clamp(72px,5vw,120px) !important;
  }
  .home .p90-hero .p90-hero__copy{max-width:820px !important;}
  .home .p90-hero .p90-hero__brand{max-width:980px !important;}
  .home .p90-hero .p90-hero__brand img{width:min(100%,980px) !important;}
}

/* Small desktop / landscape tablet: still side-by-side while space allows. */
@media (min-width:1025px) and (max-width:1199px){
  .home .p90-hero .p90-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(360px,.78fr) !important;
    gap:30px !important;
    align-items:center !important;
  }
  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:470px !important;
    margin-left:auto !important;
    padding:0 !important;
    transform:none !important;
  }
  .home .p90-hero .p90-hero__brand img{width:100% !important;height:auto !important;}
}

/* Tablet: stack it cleanly after the buttons. */
@media (min-width:701px) and (max-width:1024px){
  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    width:min(68vw,500px) !important;
    max-width:500px !important;
    margin:24px 0 0 auto !important;
    padding:0 !important;
    transform:none !important;
    opacity:1 !important;
  }
  .home .p90-hero .p90-hero__brand img{width:100% !important;height:auto !important;}
}

/* Mobile: show the actual brand near the top instead of waiting until the footer. */
@media (max-width:700px){
  .home .p90-hero .p90-hero__inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .home .p90-hero .p90-hero__copy{order:1 !important;}
  .home .p90-hero .p90-hero__brand{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    order:2 !important;
    width:min(86vw,390px) !important;
    max-width:390px !important;
    margin:22px auto 2px !important;
    padding:0 !important;
    transform:none !important;
    opacity:1 !important;
    align-items:center !important;
    justify-content:center !important;
    pointer-events:none !important;
  }
  .home .p90-hero .p90-hero__brand img{
    width:100% !important;
    height:auto !important;
    max-width:390px !important;
    margin:0 auto !important;
    filter:drop-shadow(0 1.5px 1.5px rgba(0,0,0,.22)) !important;
  }
}
@media (max-width:430px){
  .home .p90-hero .p90-hero__brand{
    width:min(90vw,350px) !important;
    margin-top:18px !important;
  }
}

/* ===== source: profixt-v270.css ===== */
/* Profixt 2 v0.27.0 — visible, tight shadow that follows only the SVG artwork. */
.home .p90-hero .p90-hero__brand,
.home .p90-hero .p90-hero__brand::before,
.home .p90-hero .p90-hero__brand::after{
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home .p90-hero .p90-hero__brand::before,
.home .p90-hero .p90-hero__brand::after{
  content:none !important;
  display:none !important;
}
.home .p90-hero .p90-hero__brand img{
  background:transparent !important;
  box-shadow:none !important;
  /* Tight path-following shadow: visible separation, no rectangular haze. */
  filter:
    drop-shadow(0 3px 3px rgba(0,0,0,.46))
    drop-shadow(0 1px 1px rgba(0,0,0,.52)) !important;
}

/* Removing the BG lead leaves the headline/buttons intentionally tighter. */
html[lang^="bg"] .home .p90-hero .p90-hero__copy .p90-actions{
  margin-top:clamp(22px,2vw,32px) !important;
}

@media (max-width:700px){
  .home .p90-hero .p90-hero__brand img{
    filter:
      drop-shadow(0 2px 2px rgba(0,0,0,.44))
      drop-shadow(0 1px 1px rgba(0,0,0,.48)) !important;
  }
}

/* ===== source: profixt-v271.css ===== */
/* Profixt 2 v0.27.1 — English hero without lead copy, plus a slightly stronger clean drop shadow. */

/* Match the tighter spacing already used when the BG lead is removed. */
html[lang^="en"] .home .p90-hero .p90-hero__copy .p90-actions{
  margin-top:clamp(22px,2vw,32px) !important;
}

/* Still only a path-following logo shadow — no panel, no rectangular haze. */
.home .p90-hero .p90-hero__brand img{
  filter:
    drop-shadow(0 4px 6px rgba(0,0,0,.58))
    drop-shadow(0 1px 1px rgba(0,0,0,.62)) !important;
}

@media (max-width:700px){
  .home .p90-hero .p90-hero__brand img{
    filter:
      drop-shadow(0 3px 4px rgba(0,0,0,.54))
      drop-shadow(0 1px 1px rgba(0,0,0,.58)) !important;
  }
}

/* ===== source: profixt-v272.css ===== */
/* Profixt 2 v0.27.2 — keep the language switcher visible beside the mobile hamburger. */
.profixt272-mobile-language{
  display:none;
}

@media (max-width:820px){
  #masthead .site-header-main-section-right,
  .site-header .site-header-main-section-right{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }

  .profixt272-mobile-language{
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    width:auto !important;
    min-width:52px !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 9px !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:7px !important;
    background:rgba(255,255,255,.035) !important;
    color:#fff !important;
    text-decoration:none !important;
    line-height:1 !important;
    box-shadow:none !important;
    flex:0 0 auto !important;
  }

  .profixt272-mobile-language .p260-lang__flag{
    display:block !important;
    width:22px !important;
    height:14px !important;
    flex:0 0 22px !important;
    object-fit:cover !important;
    border-radius:2px !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.16) !important;
  }

  .profixt272-mobile-language .p258-lang__code{
    display:inline-block !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:850 !important;
    letter-spacing:.02em !important;
  }

  .profixt272-mobile-language:hover,
  .profixt272-mobile-language:focus-visible{
    border-color:rgba(245,130,31,.58) !important;
    background:rgba(245,130,31,.09) !important;
  }

  /* The drawer now contains only navigation + booking CTA. */
  .profixt171-mobile-language{
    display:none !important;
  }
}

/* ===== source: profixt-v273.css ===== */
/* Profixt 2 v0.27.3 — force mobile language switcher immediately left of hamburger. */
@media (max-width:820px){
  #masthead .site-header-main-section-right,
  .site-header .site-header-main-section-right,
  #masthead .site-main-header-inner-wrap,
  .site-header .site-main-header-inner-wrap{
    display:flex !important;
    align-items:center !important;
  }

  .profixt272-mobile-language{
    display:inline-flex !important;
    order:80 !important;
    margin-left:auto !important;
    margin-right:8px !important;
    flex:0 0 auto !important;
  }

  .profixt165-mobile-toggle{
    order:90 !important;
    margin-left:0 !important;
    flex:0 0 auto !important;
  }

  /* Keep the cloned language item out of the drawer itself. */
  .profixt165-mobile-drawer .profixt272-mobile-language,
  .profixt165-mobile-drawer .profixt171-mobile-language{
    display:none !important;
  }
}

/* ===== source: profixt-v274.css ===== */
/* Profixt 2 v0.27.4
   Keep Kadence's mobile header geometry intact. The language control is taken
   out of document flow and anchored just left of the existing hamburger. */
@media (max-width:820px){
  /* Undo v0.27.3's broad flex override that could drag the hamburger left. */
  #masthead .site-main-header-inner-wrap,
  .site-header .site-main-header-inner-wrap{
    display:grid !important;
  }

  #masthead .site-header-main-section-right,
  .site-header .site-header-main-section-right{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:0 !important;
  }

  /* Preserve the hamburger's original mobile-rescue positioning. */
  .profixt165-mobile-toggle{
    order:initial !important;
    margin:0 !important;
    flex:0 0 44px !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
  }

  /* Language sits beside the hamburger but does not push/reflow it. */
  .profixt272-mobile-language{
    display:inline-flex !important;
    position:absolute !important;
    right:52px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:3 !important;
    order:initial !important;
    margin:0 !important;
    width:auto !important;
    min-width:46px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 7px !important;
    gap:5px !important;
    flex:none !important;
  }

  .profixt272-mobile-language .p260-lang__flag{
    width:20px !important;
    height:13px !important;
    flex:0 0 20px !important;
  }

  .profixt272-mobile-language .p258-lang__code{
    font-size:10px !important;
  }

  /* Never display a second copy in the drawer. */
  .profixt165-mobile-drawer .profixt272-mobile-language,
  .profixt165-mobile-drawer .profixt171-mobile-language{
    display:none !important;
  }
}

/* ===== source: profixt-v280.css ===== */
/* Profixt 2 v0.28.0 — authoritative standalone header/mobile placement. */
#masthead.site-header{
  width:100%;
  background:rgba(14,18,21,.94);
  border-bottom:1px solid rgba(255,255,255,.08);
}
#masthead .profixt-standalone-header-inner{
  position:relative;
}
#masthead .site-header-main-section-right{
  margin-left:auto;
}

/* Desktop navigation belongs entirely to Profixt now. */
@media (min-width:821px){
  #masthead .profixt165-mobile-toggle,
  #masthead .profixt280-mobile-language{display:none!important}
  #masthead .primary-menu-container{display:block!important}
}

/* Mobile: brand at left; language + hamburger are a fixed pair at right. */
@media (max-width:820px){
  #masthead.site-header{
    position:relative!important;
    top:auto!important;
  }
  #masthead .profixt-standalone-header-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-height:66px!important;
    padding:0 16px!important;
  }
  #masthead .site-header-main-section-left{
    min-width:0!important;
  }
  #masthead .site-header-main-section-right{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
  }
  #masthead .primary-menu-container,
  #masthead .profixt123-header-cta{display:none!important}

  #masthead .profixt280-mobile-language{
    display:inline-flex!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    order:1!important;
    width:auto!important;
    min-width:50px!important;
    height:40px!important;
    margin:0!important;
    padding:0 8px!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:7px!important;
    background:rgba(255,255,255,.04)!important;
    color:#fff!important;
    text-decoration:none!important;
  }
  #masthead .profixt165-mobile-toggle{
    display:inline-grid!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    order:2!important;
    margin:0!important;
    flex:0 0 44px!important;
  }
  #masthead .profixt272-mobile-language{display:none!important}

  .profixt165-mobile-drawer .profixt-language-button,
  .profixt165-mobile-drawer .profixt-language-switcher{display:none!important}
}

/* ===== source: profixt-v281.css ===== */
/* Profixt 2 v0.28.1 — cleaner homepage course section + larger scarcity labels. */

/* The homepage schedule now starts directly with its actual section title. */
.home #upcoming-courses .p90-heading{
  margin-bottom:clamp(24px,2.4vw,38px)!important;
}

/* Give limited-availability messages enough visual weight, especially on phones. */
.p210-course-badges .p210-availability--few,
.p210-course-badges .p210-availability--urgent,
.p210-status-urgent .p210-availability{
  font-size:16px!important;
  padding:10px 15px!important;
  line-height:1.05!important;
  letter-spacing:.04em!important;
}

@media (min-width:1200px){
  .p210-course-badges .p210-availability--few,
  .p210-course-badges .p210-availability--urgent,
  .p210-status-urgent .p210-availability{
    font-size:17px!important;
    padding:11px 17px!important;
  }
}

@media (max-width:680px){
  .p210-course-badges .p210-availability--few,
  .p210-course-badges .p210-availability--urgent,
  .p210-status-urgent .p210-availability{
    font-size:15px!important;
    padding:10px 13px!important;
    letter-spacing:.025em!important;
  }
}
/* Profixt 2 v0.35.0 consolidated bundle. Generated from v0.34.6 sources; source order preserved. */

/* ===== source: profixt-v338.css ===== */
/* Profixt 2 v0.33.8 — contextual internal-link crawl paths. */
.p338-related{padding:clamp(44px,5vw,82px) 0;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.035));border-top:1px solid rgba(255,255,255,.07)}
.p338-related .p90-container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(28px,5vw,78px);align-items:start}
.p338-related__heading h2{margin:.25em 0 .35em;font-size:clamp(30px,3vw,48px);line-height:1.04;max-width:15ch}
.p338-related__heading>p:last-child{max-width:52ch;color:rgba(255,255,255,.72)}
.p338-related__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.p338-related__links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:15px 17px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);color:#fff;text-decoration:none;font-weight:750;line-height:1.25;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.p338-related__links a b{font-size:22px;line-height:1;color:#f5821f;font-weight:500;transition:transform .18s ease}
.p338-related__links a:hover,.p338-related__links a:focus-visible{transform:translateY(-2px);border-color:rgba(245,130,31,.5);background:rgba(245,130,31,.075)}
.p338-related__links a:hover b,.p338-related__links a:focus-visible b{transform:translateX(3px)}
@media(max-width:820px){.p338-related .p90-container{grid-template-columns:1fr;gap:24px}.p338-related__heading h2{max-width:none}.p338-related__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.p338-related{padding:38px 0}.p338-related__links{grid-template-columns:1fr}.p338-related__links a{min-height:58px}}
@media(prefers-reduced-motion:reduce){.p338-related__links a,.p338-related__links a b{transition:none!important}.p338-related__links a:hover,.p338-related__links a:focus-visible{transform:none!important}}

/* ===== source: profixt-v339.css ===== */
/* Profixt 2 v0.33.9 — course decision support */
.p339-decision{padding:clamp(28px,4vw,54px) 0;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.p339-decision__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.p339-decision__head h2{margin:.2em 0 0;font-size:clamp(28px,3vw,44px);line-height:1.05}
.p339-decision__head .p90-button{flex:0 0 auto}
.p339-decision__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.p339-decision__item{min-width:0;padding:18px 18px 20px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(8,11,13,.54);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.p339-decision__item h3{margin:0 0 9px;color:#f5821f;font-size:13px;line-height:1.2;text-transform:uppercase;letter-spacing:.07em}
.p339-decision__item p{margin:0;color:rgba(255,255,255,.86);font-size:15px;line-height:1.55}
@media(max-width:980px){.p339-decision__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p339-decision__head{align-items:flex-start}}
@media(max-width:620px){.p339-decision{padding:26px 0}.p339-decision__head{display:grid;gap:16px}.p339-decision__head .p90-button{width:100%;text-align:center}.p339-decision__grid{grid-template-columns:1fr;gap:9px}.p339-decision__item{padding:15px 16px}.p339-decision__item p{font-size:14.5px}}

/* ===== source: profixt-v343.css ===== */
/* Profixt 2 v0.34.3 — clickable IRATA/Contact parent labels + separate dropdown arrows. */
.profixt-menu-parent-split{
  display:inline-flex;
  align-items:stretch;
  min-height:54px;
}
.profixt-menu-parent-link{
  display:inline-flex!important;
  align-items:center;
  min-height:54px!important;
  padding:9px 4px 9px 9px!important;
  color:rgba(255,255,255,.72)!important;
  font:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  text-decoration:none!important;
}
.profixt-menu-parent-link:hover,
.profixt-menu-parent-link:focus-visible,
.profixt-courses-menu.current-menu-ancestor .profixt-menu-parent-link,
.profixt-courses-menu.is-open .profixt-menu-parent-link{
  color:#fff!important;
}
.profixt-courses-menu__toggle--split{
  min-width:28px!important;
  min-height:54px!important;
  padding:9px 9px 9px 4px!important;
  gap:0!important;
}
@media(max-width:820px){
  .profixt-menu-parent-split{
    display:flex;
    width:100%;
    min-height:48px;
  }
  .profixt-menu-parent-link{
    flex:1 1 auto;
    min-height:48px!important;
    padding:11px 10px!important;
  }
  .profixt-courses-menu__toggle--split{
    flex:0 0 48px;
    min-width:48px!important;
    min-height:48px!important;
    padding:0!important;
    justify-content:center!important;
  }
}

/* ===== source: profixt-v345.css ===== */
/* Profixt 2 v0.34.5 — make split IRATA/Contact controls match the rest of the desktop nav. */
@media (min-width:821px){
  #masthead .primary-menu-container > ul > li > .profixt-menu-parent-split,
  .site-header .primary-menu-container > ul > li > .profixt-menu-parent-split{
    min-height:54px !important;
    align-items:stretch !important;
  }

  #masthead .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-menu-parent-link,
  .site-header .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-menu-parent-link{
    font-size:19px !important;
    font-weight:750 !important;
    letter-spacing:.005em !important;
    line-height:1.12 !important;
    min-height:54px !important;
    padding-top:13px !important;
    padding-bottom:13px !important;
  }

  #masthead .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-courses-menu__toggle--split,
  .site-header .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-courses-menu__toggle--split{
    font-size:19px !important;
    font-weight:750 !important;
    line-height:1.12 !important;
    min-height:54px !important;
    align-self:stretch !important;
  }
}

@media (min-width:1200px){
  #masthead .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-menu-parent-link,
  .site-header .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-menu-parent-link,
  #masthead .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-courses-menu__toggle--split,
  .site-header .primary-menu-container > ul > li > .profixt-menu-parent-split > .profixt-courses-menu__toggle--split{
    font-size:clamp(19px,.86vw,22px) !important;
  }
}
/* Profixt 2 v0.35.0 consolidated bundle. Generated from v0.34.6 sources; source order preserved. */

/* ===== source: profixt-v311.css ===== */
/* Profixt 2 v0.31.1 — visual/mobile QA polish.
   Conservative finishing layer: spacing, touch targets, wrapping, form readability,
   overflow protection and responsive rhythm. */

:root {
  --p311-mobile-gutter: clamp(16px, 4.5vw, 22px);
  --p311-tap: 44px;
}

html,
body,
.site,
.site-main,
.entry-content {
  max-width: 100%;
  overflow-wrap: anywhere;
}

body:not(.wp-admin) {
  overflow-x: clip;
}

body:not(.wp-admin) img,
body:not(.wp-admin) svg,
body:not(.wp-admin) video,
body:not(.wp-admin) iframe {
  max-width: 100%;
}

/* Accessible, consistent interaction targets. */
body:not(.wp-admin) a,
body:not(.wp-admin) button,
body:not(.wp-admin) input,
body:not(.wp-admin) select,
body:not(.wp-admin) textarea,
body:not(.wp-admin) summary {
  -webkit-tap-highlight-color: rgba(245,130,31,.18);
}

body:not(.wp-admin) :focus-visible {
  outline: 3px solid rgba(245,130,31,.92) !important;
  outline-offset: 3px !important;
}

/* Prevent long BG/EN labels from forcing horizontal overflow. */
body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) .p90-button,
body:not(.wp-admin) .profixt123-header-cta,
body:not(.wp-admin) .p190-course-facts span {
  text-wrap: balance;
  overflow-wrap: anywhere;
}

/* Desktop/tablet finish without changing established navigation structure. */
@media (min-width: 821px) {
  .profixt-standalone-header-inner {
    gap: clamp(18px, 2vw, 32px);
  }

  .primary-menu-container > ul {
    flex-wrap: nowrap;
  }

  .primary-menu-container > ul > li > a,
  .primary-menu-container > ul > li > button {
    white-space: nowrap;
  }

  .profixt123-header-cta {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* Mobile header: compact, centered and easy to tap. */
@media (max-width: 820px) {
  .profixt-standalone-header-inner {
    width: 100% !important;
    min-height: 68px !important;
    padding-left: max(var(--p311-mobile-gutter), env(safe-area-inset-left)) !important;
    padding-right: max(var(--p311-mobile-gutter), env(safe-area-inset-right)) !important;
  }

  .site-branding,
  .profixt123-header-logo {
    min-width: 0 !important;
    max-width: 170px !important;
  }

  .profixt123-header-logo img,
  .site-branding img {
    width: auto !important;
    max-width: min(165px, 42vw) !important;
    max-height: 46px !important;
    object-fit: contain !important;
  }

  .site-header-main-section-right {
    gap: 8px !important;
  }

  .profixt280-mobile-language,
  .profixt165-mobile-toggle {
    min-width: var(--p311-tap) !important;
    min-height: var(--p311-tap) !important;
  }

  .profixt280-mobile-language {
    height: var(--p311-tap) !important;
    padding-inline: 9px !important;
  }

  .profixt165-mobile-toggle {
    width: var(--p311-tap) !important;
    height: var(--p311-tap) !important;
  }

  /* Drawer QA: large tap rows, no clipped labels, safe-area spacing. */
  .profixt165-mobile-drawer__inner {
    padding-left: max(20px, env(safe-area-inset-left)) !important;
    padding-right: max(20px, env(safe-area-inset-right)) !important;
    padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
  }

  .profixt165-mobile-close {
    min-width: var(--p311-tap) !important;
    min-height: var(--p311-tap) !important;
  }

  .profixt165-mobile-menu,
  .profixt165-mobile-menu ul {
    max-width: 100% !important;
  }

  .profixt165-mobile-menu a,
  .profixt165-mobile-menu button {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
  }

  .profixt171-mobile-cta {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Global mobile content rhythm. */
  .p90-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: var(--p311-mobile-gutter) !important;
    padding-right: var(--p311-mobile-gutter) !important;
  }

  .p90-section,
  .p90-section--dark {
    padding-top: clamp(42px, 10vw, 66px) !important;
    padding-bottom: clamp(42px, 10vw, 66px) !important;
  }

  .p90-heading,
  .p90-heading--wide {
    max-width: 100% !important;
  }

  .p90-heading h2,
  .p90-page-hero h1,
  .p90-hero__copy h1 {
    max-width: 100% !important;
  }

  .p90-lead,
  .p90-heading > p:not(.p90-kicker) {
    max-width: 62ch !important;
  }

  .p90-actions {
    gap: 10px !important;
  }

  .p90-button {
    min-height: 48px !important;
    padding: 12px 17px !important;
    line-height: 1.25 !important;
  }

  /* Cards remain readable even with long Bulgarian course names. */
  .p90-programme,
  .p90-trust-card,
  .p90-process article,
  .p190-course-card,
  .p190-course-card * {
    min-width: 0 !important;
  }

  .p90-programme h3,
  .p190-course-card h2,
  .p190-course-card h3 {
    overflow-wrap: anywhere !important;
    hyphens: auto;
  }

  /* FAQ rows should feel tappable rather than like small text links. */
  .p90-faq summary {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    padding-block: 12px !important;
    line-height: 1.35 !important;
  }

  /* Forms: 16px prevents iOS zoom, generous controls improve one-thumb use. */
  .p90 input:not([type="checkbox"]):not([type="radio"]),
  .p90 select,
  .p90 textarea,
  .profixt-enquiry-form input:not([type="checkbox"]):not([type="radio"]),
  .profixt-enquiry-form select,
  .profixt-enquiry-form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
  }

  .p90 textarea,
  .profixt-enquiry-form textarea {
    min-height: 130px !important;
  }

  /* Partner grid: maintain all four marks with even visual rhythm. */
  .home .p310-mobile-accreditations {
    width: min(430px, calc(100% - (var(--p311-mobile-gutter) * 2))) !important;
    gap: 9px !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
  }

  .home .p310-mobile-accreditations__logo {
    min-height: 74px !important;
    padding: 8px 9px !important;
  }
}

@media (max-width: 520px) {
  .p90-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .p90-actions .p90-button {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .p90-page-hero,
  .p90-hero {
    min-width: 0 !important;
  }
}

@media (max-width: 390px) {
  :root { --p311-mobile-gutter: 15px; }

  .site-branding,
  .profixt123-header-logo {
    max-width: 145px !important;
  }

  .profixt123-header-logo img,
  .site-branding img {
    max-width: min(140px, 39vw) !important;
  }

  .home .p310-mobile-accreditations {
    gap: 7px !important;
  }

  .home .p310-mobile-accreditations__logo {
    min-height: 68px !important;
    padding: 7px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body:not(.wp-admin) *,
  body:not(.wp-admin) *::before,
  body:not(.wp-admin) *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ===== source: profixt-v320.css ===== */
/* Profixt 2 v0.32.0 — launch / SEO / conversion presentation polish. */

.p320-clickable-course {
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.p320-clickable-course:hover {
  transform: translateY(-2px);
  border-color: rgba(245,130,31,.36) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.24) !important;
}
.p320-clickable-course:focus-visible {
  outline: 3px solid rgba(245,130,31,.86) !important;
  outline-offset: 4px !important;
}

.p320-prefilled-enquiry {
  position: relative;
}
.p320-prefilled-enquiry::before {
  content: '';
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(245,130,31,.22);
  border-radius: 18px;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .p320-clickable-course { transition: none !important; }
  .p320-clickable-course:hover { transform: none !important; }
}

/* ===== source: profixt-v321.css ===== */
/* Profixt 2 v0.32.1 — final responsive QA / breakpoint hardening.
   Deliberately narrow scope: no content, menu, Polylang or data changes. */

/* Large desktop: prevent the content from looking either cramped or excessively stretched. */
@media (min-width: 1366px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 64px), 1460px);
    margin-inline: auto;
  }

  body:not(.wp-admin) .p90-hero__copy,
  body:not(.wp-admin) .p90-page-hero .p90-heading {
    min-width: 0;
  }
}

@media (min-width: 1920px) {
  body:not(.wp-admin) .p90-container {
    width: min(calc(100% - 96px), 1540px);
  }

  body:not(.wp-admin) .p90-hero__copy h1 {
    max-width: 17ch;
  }
}

/* Laptop / compact desktop: retain one-line navigation without squeezing the brand. */
@media (min-width: 821px) and (max-width: 1399px) {
  #masthead .profixt-standalone-header-inner,
  .site-header .profixt-standalone-header-inner {
    width: min(calc(100% - 30px), 1500px);
    gap: clamp(12px, 1.35vw, 20px) !important;
  }

  #masthead .primary-menu-container > ul,
  .site-header .primary-menu-container > ul {
    gap: clamp(7px, .8vw, 14px) !important;
  }

  #masthead .primary-menu-container > ul > li > a,
  #masthead .primary-menu-container > ul > li > button,
  .site-header .primary-menu-container > ul > li > a,
  .site-header .primary-menu-container > ul > li > button {
    font-size: clamp(13px, 1vw, 15px) !important;
  }

  #masthead .profixt123-header-logo img,
  #masthead .site-branding img,
  .site-header .profixt123-header-logo img,
  .site-header .site-branding img {
    max-width: clamp(150px, 13vw, 190px) !important;
  }
}

/* Tablet: make long page titles and card layouts behave predictably. */
@media (min-width: 600px) and (max-width: 820px) {
  body:not(.wp-admin) .p90-page-hero h1,
  body:not(.wp-admin) .p90-hero__copy h1 {
    font-size: clamp(38px, 7vw, 54px) !important;
    line-height: 1.02 !important;
  }

  body:not(.wp-admin) .p90-programmes,
  body:not(.wp-admin) .p90-trust__grid,
  body:not(.wp-admin) .p90-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:not(.wp-admin) .p90-programme,
  body:not(.wp-admin) .p90-trust-card,
  body:not(.wp-admin) .p90-process article {
    min-width: 0;
  }
}

/* Common phone treatment: explicitly cover the 360/390/430px families. */
@media (max-width: 599px) {
  body:not(.wp-admin) .p90-hero,
  body:not(.wp-admin) .p90-page-hero {
    overflow: hidden;
  }

  body:not(.wp-admin) .p90-hero__inner,
  body:not(.wp-admin) .p90-page-hero .p90-container {
    min-width: 0;
  }

  body:not(.wp-admin) .p90-hero__copy h1,
  body:not(.wp-admin) .p90-page-hero h1 {
    font-size: clamp(34px, 10.4vw, 48px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.025em !important;
    text-wrap: balance;
  }

  body:not(.wp-admin) .p90-hero__copy,
  body:not(.wp-admin) .p90-heading,
  body:not(.wp-admin) .p90-heading--wide {
    width: 100%;
    min-width: 0;
  }

  body:not(.wp-admin) .p90-programmes,
  body:not(.wp-admin) .p90-trust__grid,
  body:not(.wp-admin) .p90-process,
  body:not(.wp-admin) .p90-two-column {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:not(.wp-admin) .p90-programme,
  body:not(.wp-admin) .p90-trust-card,
  body:not(.wp-admin) .p90-process article,
  body:not(.wp-admin) .p190-course-card {
    width: 100%;
    max-width: 100%;
  }

  body:not(.wp-admin) .p190-course-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
  }

  body:not(.wp-admin) .p190-course-facts span {
    max-width: 100%;
  }

  /* Keep the 2x2 accreditation grid centred and immune to old absolute rules. */
  .home .p310-mobile-accreditations {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
  }

  .home .p310-mobile-accreditations__logo,
  .home .p310-mobile-accreditations__logo a {
    min-width: 0 !important;
    width: 100% !important;
  }

  .home .p310-mobile-accreditations__logo img {
    width: auto !important;
    height: auto !important;
    max-width: 96% !important;
    object-fit: contain !important;
  }

  /* Footer links should never create the last few pixels of horizontal scroll. */
  body:not(.wp-admin) .profixt-global-footer,
  body:not(.wp-admin) .profixt-global-footer * {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 430px) {
  #masthead .profixt-standalone-header-inner,
  .site-header .profixt-standalone-header-inner {
    padding-inline: 14px !important;
  }

  #masthead .site-branding,
  #masthead .profixt123-header-logo,
  .site-header .site-branding,
  .site-header .profixt123-header-logo {
    max-width: min(150px, 40vw) !important;
  }

  .home .p310-mobile-accreditations {
    width: calc(100% - 28px) !important;
    gap: 8px !important;
  }

  .home .p310-mobile-accreditations__logo {
    min-height: 70px !important;
  }
}

@media (max-width: 390px) {
  #masthead .profixt-standalone-header-inner,
  .site-header .profixt-standalone-header-inner {
    padding-inline: 12px !important;
  }

  #masthead .site-branding,
  #masthead .profixt123-header-logo,
  .site-header .site-branding,
  .site-header .profixt123-header-logo {
    max-width: min(138px, 38vw) !important;
  }

  .home .p310-mobile-accreditations {
    width: calc(100% - 24px) !important;
  }
}

@media (max-width: 360px) {
  #masthead .profixt280-mobile-language,
  #masthead .profixt165-mobile-toggle,
  .site-header .profixt280-mobile-language,
  .site-header .profixt165-mobile-toggle {
    min-width: 42px !important;
    width: 42px !important;
    height: 42px !important;
  }

  #masthead .profixt280-mobile-language,
  .site-header .profixt280-mobile-language {
    padding-inline: 7px !important;
  }

  body:not(.wp-admin) .p90-hero__copy h1,
  body:not(.wp-admin) .p90-page-hero h1 {
    font-size: clamp(32px, 10vw, 40px) !important;
  }
}

/* Never let decorative/background media become the cause of viewport overflow. */
body:not(.wp-admin) .p90-hero__background,
body:not(.wp-admin) .p90-hero__background img,
body:not(.wp-admin) .p185-scrolling-page-hero::before,
body:not(.wp-admin) .p174-training-gallery,
body:not(.wp-admin) .p174-training-gallery__rows {
  max-width: 100vw;
}
/* Profixt 2 v0.33.2 — conversion/UI micro-polish. */

/* Course status should be readable at a glance without inventing urgency. */
body:not(.wp-admin) .p210-course-badges {
  gap: 8px !important;
  align-items: center !important;
}
body:not(.wp-admin) .p210-course-badges .p210-availability {
  font-weight: 900 !important;
  letter-spacing: .015em !important;
}
body:not(.wp-admin) .p210-status-few,
body:not(.wp-admin) .p210-status-urgent {
  border-color: rgba(245,130,31,.46) !important;
}
body:not(.wp-admin) .p210-status-full {
  opacity: .78;
}
body:not(.wp-admin) .p210-status-full .profixt-ca__topline h3 {
  color: rgba(255,255,255,.78) !important;
}

/* Give the real conversion action a clearer visual endpoint. */
body:not(.wp-admin) .profixt-ca__button {
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding-inline: 18px !important;
  font-weight: 900 !important;
}
body:not(.wp-admin) .p210-status-few .profixt-ca__button,
body:not(.wp-admin) .p210-status-urgent .profixt-ca__button {
  box-shadow: 0 10px 28px rgba(245,130,31,.16);
}

.p332-course-help {
  width: min(100%, 980px);
  margin: clamp(18px, 2.5vw, 30px) auto 0;
  padding: 15px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}
.p332-course-help > div:first-child {
  min-width: 0;
}
.p332-course-help strong,
.p332-course-help span {
  display: block;
}
.p332-course-help strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.35;
}
.p332-course-help span {
  margin-top: 3px;
  color: rgba(255,255,255,.62);
  font-size: 13px;
  line-height: 1.4;
}
.p332-course-help__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.p332-course-help__actions a,
.p332-contact-action {
  min-height: 40px;
  padding: 9px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(245,130,31,.40);
  border-radius: 9px;
  background: rgba(245,130,31,.08);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 850;
  white-space: nowrap;
}
.p332-course-help__actions a:hover,
.p332-course-help__actions a:focus-visible,
.p332-contact-action:hover,
.p332-contact-action:focus-visible {
  border-color: rgba(245,130,31,.72);
  background: rgba(245,130,31,.16);
}

.p332-contact-phone {
  margin-bottom: 8px !important;
}
.p332-contact-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.p332-contact-action--whatsapp {
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.055);
}

/* Subtle interaction feedback for clickable course cards. */
body:not(.wp-admin) .p320-clickable-course .profixt-ca__button::after {
  content: ' →';
  margin-left: 5px;
  transition: transform .16s ease;
}
body:not(.wp-admin) .p320-clickable-course:hover .profixt-ca__button::after {
  transform: translateX(2px);
}

@media (max-width: 680px) {
  .p332-course-help {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .p332-course-help__actions {
    width: 100%;
  }
  .p332-course-help__actions a {
    flex: 1 1 0;
  }
  .p332-contact-quick-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 390px) {
  .p332-contact-quick-actions {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) .p320-clickable-course .profixt-ca__button::after {
    transition: none !important;
  }
}
/* Profixt 2 v0.35.0 consolidated bundle. Generated from v0.34.6 sources; source order preserved. */

/* ===== source: profixt-v284.css ===== */
/* Profixt 2 v0.28.4 — restore the cleaner Kadence-era system typography and 4-course homepage grid. */
:root{
  --profixt-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
}
html,body,button,input,select,textarea,
.site,.p90,.profixt-global-header,.profixt-global-footer{
  font-family:var(--profixt-font-sans) !important;
}
.p90 h1,.p90 h2,.p90 h3,.p90 h4,.p90 h5,.p90 h6,
.profixt-global-header a,.profixt-global-header button,
.p90-button,.profixt-ca__button{
  font-family:var(--profixt-font-sans) !important;
}

/* Four actual training-course cards on the homepage. */
.home .p90-programmes{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media(max-width:1100px){
  .home .p90-programmes{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  .home .p90-programmes{grid-template-columns:minmax(0,1fr) !important;}
}

/* ===== source: profixt-v285.css ===== */
/* Profixt 2 v0.28.5 — clear orange course-card actions. */
.home .p90-programme > a{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px !important;
  border:1px solid var(--p90-orange, #f47b20) !important;
  border-radius:999px !important;
  background:var(--p90-orange, #f47b20) !important;
  color:#111 !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  text-decoration:none !important;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
.home .p90-programme > a:visited{
  color:#111 !important;
}
.home .p90-programme > a:hover,
.home .p90-programme > a:focus-visible{
  color:#111 !important;
  filter:brightness(1.08);
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(0,0,0,.22);
}
.home .p90-programme > a::after{
  margin-left:7px !important;
}

@media (max-width:700px){
  .home .p90-programme > a{
    min-height:44px;
    padding:11px 17px !important;
  }
}
/* Profixt 2 v0.36.3 — Singing Rock / Polygon logo visibility on dark course pages. */
body:not(.wp-admin) .p255-sr-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:190px;
  padding:24px 28px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(9,12,15,.92),rgba(13,16,19,.98));
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
body:not(.wp-admin) .p255-sr-logo-card--primary{padding:28px 32px;}
body:not(.wp-admin) .p255-sr-logo{
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
  margin:auto;
}
body:not(.wp-admin) .p255-sr-logo--primary{max-width:430px;max-height:178px;}
body:not(.wp-admin) .p255-sr-logo--partner{max-width:455px;max-height:180px;}
@media (max-width:640px){
  body:not(.wp-admin) .p255-sr-logo-card{min-height:138px;padding:18px 20px;}
  body:not(.wp-admin) .p255-sr-logo-card--primary{padding:20px 22px;}
  body:not(.wp-admin) .p255-sr-logo--primary{max-height:124px;}
  body:not(.wp-admin) .p255-sr-logo--partner{max-height:126px;}
}
/* Profixt 2 v0.38.0 — consolidated production UI. */
/* Profixt 2 v0.37.0 — responsive UI + light/dark theme. */

/* ---------- Theme-aware Profixt wordmark ---------- */
.p370-theme-logo{display:inline-flex;align-items:center;max-width:100%;}
.p370-theme-logo img{display:block;}
.p370-theme-logo__light{display:none!important;}
html[data-profixt-theme="light"] .p370-theme-logo__dark{display:none!important;}
html[data-profixt-theme="light"] .p370-theme-logo__light{display:block!important;}

/* ---------- Theme toggle inside both menus ---------- */
.p370-theme-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:8px 10px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.055)!important;
  color:#f2f0eb!important;
  cursor:pointer;
  line-height:1!important;
}
.p370-theme-toggle:hover{border-color:rgba(245,130,31,.55)!important;background:rgba(245,130,31,.10)!important;}
.p370-theme-toggle__icon{font-size:18px;line-height:1;}
.p370-theme-toggle__label{font-size:12px;font-weight:800;white-space:nowrap;}
@media(min-width:821px){
  .p370-theme-toggle__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
}
@media(max-width:820px){
  .profixt165-mobile-menu .p370-theme-toggle{width:100%!important;justify-content:flex-start!important;border-radius:10px!important;padding:12px 14px!important;}
}

/* ---------- Mobile dock: orange follows the current destination ---------- */
@media(max-width:820px){
  .p370-mobile-dock .p202-mobile-dock__item,
  .p370-mobile-dock .p202-mobile-dock__item--primary{
    color:#cbd1d5!important;
    background:transparent!important;
  }
  .p370-mobile-dock .p202-mobile-dock__item.is-current,
  .p370-mobile-dock .p202-mobile-dock__item[aria-current="page"]{
    color:#11171a!important;
    background:#f5821f!important;
  }
}

/* ---------- Homepage: all four association marks are explicit and visible ---------- */
.home .p90-hero .p184-hero-logo-strip .p141-logo-card,
.home .p90-hero .p184-hero-logo-strip .p141-logo-card a{
  opacity:1!important;
  visibility:visible!important;
}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.home .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media(max-width:1100px){
  .home .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* ---------- Homepage mobile course chooser: compact rather than a full-card scroll marathon ---------- */
@media(max-width:640px){
  .home .p90-programmes{gap:0!important;border-top:1px solid var(--p192-border)!important;}
  .home .p90-programme,
  .home .p90-programme + .p90-programme{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-height:0!important;
    padding:15px 0!important;
    border-right:0!important;
    border-bottom:1px solid var(--p192-border)!important;
  }
  .home .p90-programme::before{display:none!important;}
  .home .p90-programme > span,
  .home .p90-programme > p{display:none!important;}
  .home .p90-programme h3{
    grid-column:1!important;
    margin:0!important;
    font-size:clamp(18px,5.3vw,22px)!important;
    line-height:1.16!important;
    text-wrap:pretty!important;
  }
  .home .p90-programme > a{
    grid-column:2!important;
    min-width:46px!important;
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:0!important;
    border-radius:12px!important;
  }
  .home .p90-programme > a::before{content:"→";font-size:20px!important;line-height:1!important;}
  .home .p90-programme > a::after{display:none!important;}
  .home .p90-heading--wide{margin-bottom:18px!important;}
  .home .p90-heading--wide>p{font-size:14px!important;line-height:1.55!important;}
}

/* ---------- IRATA overview: Level 1 / 2 / 3 are real linked cards ---------- */
.p90-fact-grid .p370-irata-level-card{
  position:relative;
  display:flex;
  min-height:210px;
  flex-direction:column;
  padding:27px;
  border:1px solid var(--p192-border);
  border-radius:10px;
  background:var(--p192-surface);
  color:var(--p192-text)!important;
  text-decoration:none!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.p90-fact-grid .p370-irata-level-card strong{display:block;margin-bottom:38px;color:var(--p90-orange)!important;font-size:25px;}
.p90-fact-grid .p370-irata-level-card p{margin:0 0 20px;color:var(--p192-muted)!important;font-size:15px;}
.p370-irata-level-card__action{margin-top:auto;color:var(--p192-text);font-size:13px;font-weight:850;}
.p370-irata-level-card:hover,.p370-irata-level-card:focus-visible{transform:translateY(-3px);border-color:rgba(245,130,31,.62)!important;box-shadow:0 14px 34px rgba(0,0,0,.18);}
.p370-irata-level-card:hover .p370-irata-level-card__action{color:var(--p90-orange);}
@media(max-width:680px){
  .p90-fact-grid .p370-irata-level-card{min-height:0;padding:20px;}
  .p90-fact-grid .p370-irata-level-card strong{margin-bottom:18px;}
}

/* =========================================================
   Light theme. The photo heroes and deliberately dark feature bands remain
   dark for contrast; the site chrome and reading surfaces become light.
   ========================================================= */
html[data-profixt-theme="light"]{
  color-scheme:light;
  --p192-page:#f5f3ee;
  --p192-surface:#ffffff;
  --p192-surface-2:#ece9e2;
  --p192-border:rgba(20,25,28,.14);
  --p192-text:#1b2023;
  --p192-muted:#5e686e;
  --p90-paper:#f5f3ee;
  --p90-soft:#ece9e2;
  --p90-text:#1b2023;
  --p90-muted:#5e686e;
  --p90-line:rgba(20,25,28,.14);
}
html[data-profixt-theme="dark"]{color-scheme:dark;}

html[data-profixt-theme="light"],
html[data-profixt-theme="light"] body,
html[data-profixt-theme="light"] #page,
html[data-profixt-theme="light"] .site,
html[data-profixt-theme="light"] .site-content,
html[data-profixt-theme="light"] .content-area,
html[data-profixt-theme="light"] .site-main,
html[data-profixt-theme="light"] .entry-content,
html[data-profixt-theme="light"] .p90,
html[data-profixt-theme="light"] .p90-main,
html[data-profixt-theme="light"] .p90-page{
  background-color:var(--p192-page)!important;
  color:var(--p192-text)!important;
}

html[data-profixt-theme="light"] .p90-section:not(.p90-section--dark),
html[data-profixt-theme="light"] .p90-section--soft,
html[data-profixt-theme="light"] .p90-trust,
html[data-profixt-theme="light"] .p90-faq,
html[data-profixt-theme="light"] .p90-contact,
html[data-profixt-theme="light"] .p90-contact-layout,
html[data-profixt-theme="light"] .p90-content-section,
html[data-profixt-theme="light"] .p90-page-content,
html[data-profixt-theme="light"] .p146-location,
html[data-profixt-theme="light"] .p190-launch-section{
  background:var(--p192-page)!important;
  color:var(--p192-text)!important;
}
html[data-profixt-theme="light"] .p90-section--soft{background:var(--p192-surface-2)!important;}

html[data-profixt-theme="light"] :is(
  .p90-proof article,.p90-fact-grid article,.p90-contact-details article,.p90-form-card,.p90-card,.p90-panel,
  .p90-faq details,.p90-faq-item,.p90-included,.p90-who,.p90-process article,.p90-service-card,
  .profixt-ca,.profixt-ca__card,.p146-location__copy,.p146-location__map,.profixt-enquiry-form,
  .p190-course-card,.p210-proof-grid article,.p210-info-grid article,.p210-level-links a,
  .p201-find-us__quick-grid article,.p201-find-us__cards article,.p364-course-price__panel
){
  background:var(--p192-surface)!important;
  color:var(--p192-text)!important;
  border-color:var(--p192-border)!important;
}

html[data-profixt-theme="light"] :is(
  .p90-section,.p90-trust,.p90-faq,.p90-contact,.p90-contact-layout,.p90-content-section,
  .p90-proof article,.p90-fact-grid article,.p90-process article,.p90-service-card,.p190-course-card,
  .p210-proof-grid article,.p210-info-grid article,.p210-level-links a,.p364-course-price__panel
) :is(h1,h2,h3,h4,strong,summary,a:not(.p90-button):not(.profixt-button)){
  color:var(--p192-text)!important;
}
html[data-profixt-theme="light"] :is(
  .p90-section,.p90-trust,.p90-faq,.p90-contact,.p90-contact-layout,.p90-content-section,
  .p90-proof article,.p90-fact-grid article,.p90-process article,.p90-service-card,.p190-course-card,
  .p210-proof-grid article,.p210-info-grid article,.p210-level-links a,.p364-course-price__panel
) :is(p,li,span:not(.p90-kicker):not(.p190-course-facts span)){
  color:var(--p192-muted);
}
html[data-profixt-theme="light"] .p90-kicker,
html[data-profixt-theme="light"] .p90-fact-grid strong,
html[data-profixt-theme="light"] .p370-irata-level-card strong{color:var(--p90-orange)!important;}

/* Header / dropdown / mobile drawer. */
html[data-profixt-theme="light"] #masthead,
html[data-profixt-theme="light"] .site-header{
  background:rgba(250,249,246,.96)!important;
  border-bottom-color:rgba(20,25,28,.12)!important;
  box-shadow:0 6px 22px rgba(20,25,28,.07)!important;
}
html[data-profixt-theme="light"] #masthead :is(.primary-menu-container a,.primary-menu-container button),
html[data-profixt-theme="light"] .site-header :is(.primary-menu-container a,.primary-menu-container button){color:#1b2023!important;}
html[data-profixt-theme="light"] .profixt-courses-menu>.sub-menu{
  background:#fff!important;
  border-color:rgba(20,25,28,.14)!important;
  box-shadow:0 18px 45px rgba(20,25,28,.12)!important;
}
html[data-profixt-theme="light"] .profixt-courses-menu>.sub-menu a{color:#1b2023!important;}
html[data-profixt-theme="light"] .profixt280-mobile-language,
html[data-profixt-theme="light"] .p370-theme-toggle{
  color:#1b2023!important;
  border-color:rgba(20,25,28,.16)!important;
  background:rgba(20,25,28,.035)!important;
}
html[data-profixt-theme="light"] .profixt165-mobile-toggle span{background:#1b2023!important;}
html[data-profixt-theme="light"] .profixt165-mobile-drawer,
html[data-profixt-theme="light"] .profixt165-mobile-drawer__inner{background:#f8f6f1!important;color:#1b2023!important;}
html[data-profixt-theme="light"] .profixt165-mobile-menu :is(a,button),
html[data-profixt-theme="light"] .profixt165-mobile-close{color:#1b2023!important;}

/* Forms. */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  input[type="text"],input[type="email"],input[type="tel"],input[type="date"],input[type="number"],select,textarea
){
  background:#fff!important;
  color:#1b2023!important;
  border-color:rgba(20,25,28,.20)!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) input::placeholder,
html[data-profixt-theme="light"] body:not(.wp-admin) textarea::placeholder{color:rgba(27,32,35,.48)!important;}

/* Mobile dock follows the selected theme; active state remains orange. */
@media(max-width:820px){
  html[data-profixt-theme="light"] .p202-mobile-dock{
    background:rgba(250,249,246,.94)!important;
    border-color:rgba(20,25,28,.14)!important;
    box-shadow:0 16px 42px rgba(20,25,28,.16)!important;
  }
  html[data-profixt-theme="light"] .p370-mobile-dock .p202-mobile-dock__item{color:#5e686e!important;background:transparent!important;}
  html[data-profixt-theme="light"] .p370-mobile-dock .p202-mobile-dock__item.is-current,
  html[data-profixt-theme="light"] .p370-mobile-dock .p202-mobile-dock__item[aria-current="page"]{color:#11171a!important;background:#f5821f!important;}
}

/* Footer and intentionally photographic/partner surfaces stay dark in both themes,
   so their high-contrast white logo artwork remains the correct variant. */
html[data-profixt-theme="light"] .profixt-global-footer{
  background:#111518!important;
  color:#f2f0eb!important;
  border-color:rgba(255,255,255,.09)!important;
}
html[data-profixt-theme="light"] .profixt-global-footer :is(strong,p,a,span){color:#d5d8da!important;}
html[data-profixt-theme="light"] .profixt-global-footer strong{color:#fff!important;}
html[data-profixt-theme="light"] .p90-hero,
html[data-profixt-theme="light"] .p90-page-hero,
html[data-profixt-theme="light"] .p90-section--dark,
html[data-profixt-theme="light"] .p90-final,
html[data-profixt-theme="light"] .p100-credentials,
html[data-profixt-theme="light"] .p255-sr-logo-card{
  color:#f2f0eb!important;
}

/* Linked IRATA cards also follow the light surface palette. */
html[data-profixt-theme="light"] .p90-fact-grid .p370-irata-level-card{
  background:#fff!important;
  color:#1b2023!important;
  border-color:rgba(20,25,28,.14)!important;
}
html[data-profixt-theme="light"] .p90-fact-grid .p370-irata-level-card p{color:#5e686e!important;}
html[data-profixt-theme="light"] .p370-irata-level-card__action{color:#1b2023!important;}

/* Light-theme exceptions for deliberately dark bands and orange price emphasis. */
html[data-profixt-theme="light"] .p364-course-price{background:var(--p192-page)!important;}
html[data-profixt-theme="light"] .p364-course-price__amount strong{color:#f5821f!important;}
html[data-profixt-theme="light"] .p364-course-price__copy strong{color:var(--p192-text)!important;}
html[data-profixt-theme="light"] .p364-course-price__amount span,
html[data-profixt-theme="light"] .p364-course-price__copy p{color:var(--p192-muted)!important;}

html[data-profixt-theme="light"] .p90-section--dark :is(h1,h2,h3,h4,strong,summary,a:not(.p90-button):not(.profixt-button)){
  color:#f2f0eb!important;
}
html[data-profixt-theme="light"] .p90-section--dark :is(p,li,span:not(.p90-kicker)){
  color:#c9c6be!important;
}
html[data-profixt-theme="light"] .p90-section--dark .p90-kicker{color:#f5821f!important;}

html[data-profixt-theme="light"] .p90-trust-card{
  background:#fff!important;
  color:var(--p192-text)!important;
  border-color:var(--p192-border)!important;
}
html[data-profixt-theme="light"] .p90-trust-card :is(h2,h3,strong){color:var(--p192-text)!important;}
html[data-profixt-theme="light"] .p90-trust-card p{color:var(--p192-muted)!important;}

/* Legacy wordmark fallbacks follow the same contrast rule as the live header. */
.profixt-site-wordmark,
.profixt-wordmark{background-image:url("../images/profixt-logo-orange-white-compact.svg")!important;}
.profixt-global-footer__brand{background-image:url("../images/profixt-logo-orange-white-compact.svg")!important;}
html[data-profixt-theme="light"] .profixt-site-wordmark,
html[data-profixt-theme="light"] .profixt-wordmark{background-image:url("../images/profixt-logo.webp")!important;}

/* Profixt 2 v0.37.1 — light-theme photo text contrast repair. */

/*
 * v0.37.0 deliberately keeps photographic and deep-dark sections dark in the
 * Light theme, but its general light-surface typography rules are loaded late
 * enough to recolour descendants of photo sections that also carry .p90-section.
 * Reassert those areas as dark-context surfaces here.
 */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-page-hero.p185-scrolling-page-hero,
  .p261-photo-section,
  .p90-centre,
  .p90-final,
  .p100-credentials,
  .p240-course-trust,
  .p255-sr-logo-card
){
  color:#f7f5f0!important;
}

html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-page-hero.p185-scrolling-page-hero,
  .p261-photo-section,
  .p90-centre,
  .p90-final,
  .p100-credentials,
  .p240-course-trust,
  .p255-sr-logo-card
) :is(h1,h2,h3,h4,h5,h6,summary){
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}

html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-page-hero.p185-scrolling-page-hero,
  .p261-photo-section,
  .p90-centre,
  .p90-final,
  .p100-credentials,
  .p240-course-trust,
  .p255-sr-logo-card
) :is(p,li,.p90-large,.p90-lead){
  color:rgba(255,255,255,.84)!important;
}

/* Small over-photo labels/facts must stay readable too. */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-page-hero.p185-scrolling-page-hero,
  .p261-photo-section,
  .p90-centre,
  .p90-final
) .p190-course-facts span{
  color:#fff!important;
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(8,11,13,.42)!important;
}

/* Keep the Profixt orange accent where it is intentional. */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-page-hero.p185-scrolling-page-hero,
  .p261-photo-section,
  .p90-centre,
  .p90-final,
  .p240-course-trust
) .p90-kicker{
  color:#f5821f!important;
}

/* Text that is literally positioned on a photograph. */
html[data-profixt-theme="light"] body:not(.wp-admin) .p90-centre__photo figcaption{
  color:#fff!important;
  text-shadow:0 2px 16px rgba(0,0,0,.36);
}
html[data-profixt-theme="light"] body:not(.wp-admin) .p90-centre__photo figcaption strong{
  color:#f5821f!important;
}

/* Secondary outline actions on photo heroes need a white foreground. */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-page-hero.p185-scrolling-page-hero,
  .p261-photo-section,
  .p90-centre,
  .p90-final
) :is(.p90-button--secondary,.p90-button--light){
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
}

/* -------------------------------------------------------------------------
   Light theme: dark-context typography
   Light-mode surface rules must never recolour text that lives on a dark/photo
   section.  These selectors are intentionally last and specific.
   ------------------------------------------------------------------------- */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-section--dark,
  .p90-final,
  .p100-credentials,
  .p240-course-trust,
  .p261-photo-section,
  .p90-centre,
  .p255-sr-logo-card,
  .p332-course-help
){
  color:#f5f3ee!important;
}

html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-section--dark,
  .p90-final,
  .p100-credentials,
  .p240-course-trust,
  .p261-photo-section,
  .p90-centre,
  .p255-sr-logo-card,
  .p332-course-help
) :is(h1,h2,h3,h4,h5,h6,summary,strong){
  color:#fff!important;
}

html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,
  .p90-page-hero,
  .p90-section--dark,
  .p90-final,
  .p100-credentials,
  .p240-course-trust,
  .p261-photo-section,
  .p90-centre,
  .p255-sr-logo-card,
  .p332-course-help
) :is(p,li,small,span:not(.p90-kicker)){
  color:rgba(255,255,255,.78)!important;
}

/* The two problem areas visible in the mobile screenshots: force a deterministic
   palette independent of surrounding historic rules. */
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses > .p90-container > .p90-heading h2,
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses > .p90-container > .p90-heading h3{
  color:#fff!important;
  text-shadow:none!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses > .p90-container > .p90-heading p{
  color:rgba(255,255,255,.75)!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .p332-course-help{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.12)!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .p332-course-help strong{
  color:#fff!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .p332-course-help span{
  color:rgba(255,255,255,.72)!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .p332-course-help__actions a{
  color:#fff!important;
  background:rgba(245,130,31,.08)!important;
  border-color:rgba(245,130,31,.45)!important;
}

/* Course announcement cards are intentionally light in Light mode even though
   they sit inside the dark Upcoming Courses band. Restore their light-card text
   after the dark-context rule above. */
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card{
  background:#fff!important;
  color:#1b2023!important;
  border-color:rgba(20,25,28,.14)!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card :is(h3,h4,strong){
  color:#1b2023!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card :is(p,small,span){
  color:#5e686e!important;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card .p210-availability,
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card .p210-status-urgent,
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card .p210-status-few{
  color:inherit;
}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__button,
html[data-profixt-theme="light"] body:not(.wp-admin) .p90-button--primary,
html[data-profixt-theme="light"] body:not(.wp-admin) .profixt-button--accent{
  color:#11171a!important;
}

/* Price labels on white cards should be comfortably readable too. */
html[data-profixt-theme="light"] body:not(.wp-admin) .p364-course-price__amount span,
html[data-profixt-theme="light"] body:not(.wp-admin) .p364-course-price__copy p{
  color:#4f585d!important;
}

/* Preserve orange as an accent on dark surfaces rather than letting the broad
   white-text rule wash it out. */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(
  .p90-hero,.p90-page-hero,.p90-section--dark,.p90-final,.p240-course-trust,.p261-photo-section,.p90-centre
) .p90-kicker{
  color:#f5821f!important;
}

/* =========================================================
   v0.38.0 stabilization rules
   ========================================================= */

/* One accreditation source only: the four p184 cards from the homepage PHP. */
.home :is(.p299-mobile-accreditations,.p310-mobile-accreditations,.p372-mobile-hero-logos,.p377-mobile-hero-logos){display:none!important;}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card:nth-child(n+5){display:none!important;}
.home .p90-hero .p184-hero-logo-strip{visibility:visible!important;opacity:1!important;}
.home .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;overflow:hidden!important;}
.home .p90-hero .p184-hero-logo-strip .p141-logo-card img{position:static!important;width:auto!important;height:auto!important;max-width:94%!important;object-fit:contain!important;}
@media(max-width:767px){
  .home .p90-hero .p184-hero-logo-strip{position:relative!important;display:block!important;width:min(430px,calc(100% - 28px))!important;margin:14px auto 22px!important;padding:0!important;inset:auto!important;height:auto!important;overflow:visible!important;}
  .home .p90-hero .p184-hero-logo-strip .p90-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
  .home .p90-hero .p184-hero-logo-strip .p181-logo-strip__logos{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;transform:none!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card{position:relative!important;inset:auto!important;width:100%!important;min-height:76px!important;height:76px!important;margin:0!important;padding:8px 10px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;background:rgba(8,11,13,.80)!important;box-shadow:0 10px 24px rgba(0,0,0,.24)!important;opacity:1!important;visibility:visible!important;transform:none!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card>a{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card img{max-width:92%!important;max-height:50px!important;margin:auto!important;filter:drop-shadow(0 4px 8px rgba(0,0,0,.30))!important;opacity:1!important;visibility:visible!important;transform:none!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--irata img{max-height:62px!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--polygon img{max-height:43px!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--sprat img{max-height:43px!important;}
  .home .p90-hero .p184-hero-logo-strip .p141-logo-card--cresto img{max-height:47px!important;}
}

/* Mobile header controls: language -> theme -> hamburger, with clean borderless controls. */
.p380-mobile-theme-toggle{display:none!important;}
@media(max-width:820px){
  #masthead .site-header-main-section-right{gap:5px!important;}
  #masthead .profixt280-mobile-language{order:1!important;min-width:48px!important;height:40px!important;padding:0 6px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;}
  #masthead .p380-mobile-theme-toggle{display:inline-flex!important;order:2!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;margin:0!important;border:0!important;border-radius:7px!important;box-shadow:none!important;background:transparent!important;color:#f2f0eb!important;align-items:center!important;justify-content:center!important;}
  #masthead .p380-mobile-theme-toggle .p370-theme-toggle__label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
  #masthead .profixt165-mobile-toggle{order:3!important;}
  html[data-profixt-theme="light"] #masthead .profixt280-mobile-language,
  html[data-profixt-theme="light"] #masthead .profixt280-mobile-language .p258-lang__code,
  html[data-profixt-theme="light"] #masthead .p380-mobile-theme-toggle{color:#1b2023!important;}
  #masthead .profixt280-mobile-language:focus-visible,#masthead .p380-mobile-theme-toggle:focus-visible{outline:2px solid #f5821f!important;outline-offset:2px!important;}
}

/* Homepage course choice: useful price signal without re-growing the mobile cards. */
.p90-programme{position:relative;}
.p380-programme-price{display:inline-flex;align-items:center;width:max-content;margin:8px 0 13px;padding:5px 9px;border-radius:999px;background:rgba(245,130,31,.11);color:var(--p90-orange)!important;font-size:12px;font-weight:850;letter-spacing:.01em;}
@media(min-width:641px){.p90-programme>a::after{content:"";position:absolute;inset:0;z-index:2;}}
@media(max-width:640px){
  .home .p90-programme .p380-programme-price{display:inline-flex!important;grid-column:1!important;margin:4px 0 0!important;padding:0!important;background:transparent!important;font-size:12px!important;}
  .home .p90-programme h3{align-self:end!important;}
  .home .p90-programme>a{grid-row:1 / span 2!important;align-self:center!important;}
}

/* Slim social proof route to the Past Courses archive. */
.p380-home-history{border-top:1px solid var(--p192-border);border-bottom:1px solid var(--p192-border);background:var(--p192-surface);}
.p380-home-history a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;color:var(--p192-text)!important;text-decoration:none!important;}
.p380-home-history a span{display:grid;gap:3px;}
.p380-home-history strong{font-size:17px;color:var(--p192-text)!important;}
.p380-home-history small{color:var(--p192-muted)!important;font-size:13px;}
.p380-home-history b{font-size:24px;color:var(--p90-orange);}

/* Past Courses: fast CSS-only year navigation and dynamic archive summary. */
.p380-archive-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 18px;border:1px solid var(--p192-border);border-radius:14px;overflow:hidden;background:var(--p192-border);}
.p380-archive-summary>div{display:grid;gap:4px;padding:18px;background:var(--p192-surface);}
.p380-archive-summary strong{font-size:clamp(24px,3vw,34px);color:var(--p192-text);}
.p380-archive-summary span{font-size:12px;color:var(--p192-muted);}
.p380-year-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px;}
.p380-year-jumps a{display:inline-flex;padding:7px 11px;border:1px solid var(--p192-border);border-radius:999px;background:var(--p192-surface);color:var(--p192-text)!important;text-decoration:none!important;font-size:13px;font-weight:800;}
.p380-year-jumps a:hover,.p380-year-jumps a:focus-visible{border-color:rgba(245,130,31,.55);color:var(--p90-orange)!important;}
.p360-year{scroll-margin-top:100px;}
@media(max-width:640px){.p380-archive-summary{grid-template-columns:1fr;}.p380-archive-summary>div{grid-template-columns:72px 1fr;align-items:center;padding:12px 14px;}.p380-archive-summary strong{font-size:24px;}}

/* Course price CTA: same action placement on every course family. */
.p364-course-price__panel{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;}
.p380-price-cta{white-space:nowrap!important;margin-left:auto!important;}
@media(max-width:760px){.p364-course-price__panel{grid-template-columns:1fr!important;}.p380-price-cta{width:100%!important;margin:4px 0 0!important;text-align:center!important;justify-content:center!important;}}

/* Light mode final contrast safety: dark/photo contexts always own their typography. */
html[data-profixt-theme="light"] body:not(.wp-admin) :is(.p90-hero,.p90-page-hero,.p90-section--dark,.p90-final,.p100-credentials,.p240-course-trust,.p261-photo-section,.p90-centre,.p255-sr-logo-card,.p332-course-help) :is(h1,h2,h3,h4,h5,h6,summary,strong){color:#fff!important;}
html[data-profixt-theme="light"] body:not(.wp-admin) :is(.p90-hero,.p90-page-hero,.p90-section--dark,.p90-final,.p100-credentials,.p240-course-trust,.p261-photo-section,.p90-centre,.p255-sr-logo-card,.p332-course-help) :is(p,li,small,span:not(.p90-kicker)){color:rgba(255,255,255,.80)!important;}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card :is(h3,h4,strong){color:#1b2023!important;}
html[data-profixt-theme="light"] body:not(.wp-admin) #upcoming-courses .profixt-ca__card :is(p,small,span){color:#5e686e!important;}

/* Directions: headings already contain route names; remove redundant orange bubbles. */
.p201-find-us__transport .p201-route-number{display:none!important;}
.p201-find-us__transport .p201-find-us__cards article h3{margin-top:0!important;}

/* v0.38.0 server-rendered theme controls avoid menu layout shift. */
.p380-desktop-theme-toggle{display:inline-flex!important;}
@media(max-width:820px){.p380-desktop-theme-toggle{display:none!important;}}
@media(min-width:821px){.p380-mobile-theme-toggle{display:none!important;}}

/* =========================================================
   v0.38.3 accessibility + motion hardening
   ========================================================= */

/* Minimum comfortable touch targets for the compact mobile header controls. */
@media(max-width:820px){
  #masthead .profixt280-mobile-language{min-height:44px!important;height:44px!important;}
  #masthead .p380-mobile-theme-toggle{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;}
  #masthead .profixt165-mobile-toggle{min-width:44px!important;min-height:44px!important;}
}

/* People who request reduced motion get a genuinely static photo rail that
   remains horizontally scrollable with touch, mouse/trackpad and arrow keys. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  body:not(.wp-admin) *,body:not(.wp-admin) *::before,body:not(.wp-admin) *::after{
    scroll-behavior:auto!important;
  }
  .p174-gallery-card img,
  .p370-irata-level-card,
  .p202-mobile-dock,
  .p171-back-to-top,
  .profixt123-header-cta,
  .p90-button{
    transition:none!important;
    animation:none!important;
  }
  .p370-irata-level-card:hover,.p370-irata-level-card:focus-visible{transform:none!important;}
}

/* v0.38.8 — privacy/performance-friendly click-to-load map shell. */
.p146-location__map.p388-map-shell{
  position:relative;
  min-height:clamp(260px,32vw,390px);
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 62% 43%,rgba(245,130,31,.14),transparent 24%),
    #101417;
  background-size:28px 28px,28px 28px,auto,auto;
}
.p388-map-load{
  appearance:none;
  position:absolute;
  inset:0;
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:28px;
  border:0;
  background:transparent;
  color:#fff;
  text-align:center;
  cursor:pointer;
  font:inherit;
}
.p388-map-load__pin{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin-bottom:4px;
  border-radius:999px;
  background:#f5821f;
  color:#111;
  font-size:25px;
  line-height:1;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.p388-map-load strong{font-size:clamp(18px,2vw,24px);line-height:1.15;}
.p388-map-load span:last-child{color:rgba(255,255,255,.72);font-size:14px;}
.p388-map-load:hover .p388-map-load__pin,
.p388-map-load:focus-visible .p388-map-load__pin{transform:translateY(-2px);}
.p388-map-load:focus-visible{outline:2px solid #f5821f;outline-offset:-4px;}
.p388-map-shell iframe{display:block;width:100%;height:100%;min-height:inherit;border:0;}
html[data-profixt-theme="light"] .p146-location__map.p388-map-shell{
  border-color:rgba(11,18,23,.13);
  background:
    linear-gradient(rgba(11,18,23,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,18,23,.055) 1px,transparent 1px),
    radial-gradient(circle at 62% 43%,rgba(245,130,31,.15),transparent 24%),
    #eef1f2;
  background-size:28px 28px,28px 28px,auto,auto;
}
html[data-profixt-theme="light"] .p388-map-load{color:#11181c;}
html[data-profixt-theme="light"] .p388-map-load span:last-child{color:rgba(11,18,23,.67);}
@media(max-width:767px){.p146-location__map.p388-map-shell{min-height:240px}.p388-map-load{padding:22px}}
@media(prefers-reduced-motion:reduce){.p388-map-load__pin{transition:none!important}.p388-map-load:hover .p388-map-load__pin,.p388-map-load:focus-visible .p388-map-load__pin{transform:none!important}}
/* Profixt 2 v0.38.5 — isolated four-logo hero accreditation component. */
.home .p385-hero-accreditations{
  position:relative;
  z-index:8;
  display:block;
  width:min(1180px,calc(100% - 48px));
  margin:18px auto 0;
  padding:0 0 24px;
  background:transparent;
}
.home .p385-hero-accreditations__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.home .p385-hero-accreditations__item{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:88px;
  padding:10px 16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(8,11,13,.74);
  text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.home .p385-hero-accreditations__item img{
  position:static;
  display:block;
  width:auto;
  height:auto;
  max-width:94%;
  max-height:58px;
  margin:auto;
  object-fit:contain;
  opacity:1;
  visibility:visible;
  transform:none;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.30));
}
.home .p385-hero-accreditations__item--irata img{max-height:72px;}
.home .p385-hero-accreditations__item--polygon img{max-height:50px;}
.home .p385-hero-accreditations__item--sprat img{max-height:50px;}
.home .p385-hero-accreditations__item--cresto img{max-height:54px;}
.home .p385-hero-accreditations__item:hover img,
.home .p385-hero-accreditations__item:focus-visible img{transform:translateY(-1px);}
.home .p385-hero-accreditations__item:focus-visible{outline:2px solid #f5821f;outline-offset:3px;}

@media(max-width:767px){
  .home .p385-hero-accreditations{
    width:min(430px,calc(100% - 28px));
    margin:12px auto 0;
    padding-bottom:20px;
  }
  .home .p385-hero-accreditations__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .home .p385-hero-accreditations__item{
    width:100%;
    height:76px;
    padding:8px 10px;
  }
  .home .p385-hero-accreditations__item img{max-width:92%;max-height:48px;}
  .home .p385-hero-accreditations__item--irata img{max-height:62px;}
  .home .p385-hero-accreditations__item--polygon img{max-height:43px;}
  .home .p385-hero-accreditations__item--sprat img{max-height:43px;}
  .home .p385-hero-accreditations__item--cresto img{max-height:47px;}
}

/* v0.40.10 — generic mobile submenu state. All injected parent menus use
   menu-item-has-children; do not depend on one historical Courses class. */
@media (max-width: 767px){
  .profixt165-mobile-menu .menu-item-has-children.is-open > .sub-menu{display:block!important;}
}
