.credential-mark,
.pillar-number,
.service-block-number,
.service-index a,
.process-step-number,
.outcome-icon,
.match-num,
.net-stat strong,
.channel-abbr,
.hours-row strong,
.contact-detail-icon {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
}

.service-block-tag,
.channel-scope,
.contact-detail small,
.contact-detail-icon + div small {
    font-family: var(--font-mono);
    letter-spacing: .12em;
}

.credential,
.pillar,
.net-card,
.process-step,
.contact-form-wrap {
    position: relative;
    border-color: var(--border-light-soft);
    background: #fff;
    transition:
        border-color .4s var(--ease-out),
        transform .4s var(--ease-out),
        background .4s var(--ease-out);
}

.outcome {
    position: relative;
    background: transparent;
    border: none;
}

.credential::before,
.pillar::before,
.net-card::before,
.outcome::before,
.process-step::before { content: none; }

.credential:hover,
.pillar:hover,
.net-card:hover,
.process-step:hover {
    border-color: var(--steel-line);
    transform: translateY(-3px);
}

.credential-mark,
.pillar-number,
.process-step-number,
.match-num {
    color: var(--amber);
    font-weight: 400;
    transition: color .35s ease;
}

.credential:hover .credential-mark,
.pillar:hover .pillar-number,
.process-step:hover .process-step-number {
    color: var(--gold);
}

.service-block-note,
.partner-note,
.programme-note {
    border-left: 2px solid var(--amber);
    background: var(--grey-100);
    font-family: var(--font-body);
}

.founder-image-label {
    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, .88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--border-light-soft);
    color: var(--text-secondary);
}

.founder-image img {
    filter: grayscale(.15) contrast(1.02) saturate(.9);
}

.d5-code {
    background: var(--off-white);
    border: 1px solid var(--border-light-soft);
    color: var(--amber);
}

.d5-item {
    border-bottom-color: var(--border-light-soft);
}

.service-index {
    background: rgba(255, 255, 255, .92);
    backdrop-filter: saturate(1.4) blur(14px);
    -webkit-backdrop-filter: saturate(1.4) blur(14px);
    border-bottom: 1px solid var(--border-light-soft);
}

.service-index a {
    color: var(--text-muted);
    transition: color .3s ease;
}

.service-index a:hover,
.service-index a.active { color: var(--amber); }

.service-block-number {
    color: var(--amber);
    font-weight: 300;
    letter-spacing: -.03em;
}

.service-block-tag {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--gold);
}

.service-block-tag::before {
    content: "";
    width: 18px;
    height: 1px;
    background: currentColor;
    opacity: .6;
}

.cap-list {
    border-top: 1px solid var(--border-light-soft);
}

.cap-list li {
    border-bottom: 1px solid var(--border-light-soft);
    transition: background .3s ease, padding-left .3s var(--ease-out);
}

.cap-list li:hover {
    background: var(--amber-soft);
    padding-left: 10px;
}

.cap-heading {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--amber);
}

.enquiry-strip {
    background:
        radial-gradient(ellipse 70% 100% at 100% 0%, var(--amber-soft), transparent 62%),
        var(--off-white);
    border-top: 1px solid var(--border-light-soft);
}

.outcome-icon {
    color: var(--amber);
    font-weight: 400;
}

.faq-list { border-top-color: var(--border-light-soft); }
.faq-item { border-bottom-color: var(--border-light-soft); }

.faq-question {
    font-family: var(--font-display);
    font-weight: 400;
    transition: color .3s ease;
}

.faq-item.open .faq-question,
.faq-question:hover { color: var(--amber); }

.faq-icon {
    border: 1px solid var(--border-light);
    font-family: var(--font-mono);
    transition: all .4s var(--ease-out);
}

.faq-item.open .faq-icon {
    border-color: var(--amber);
    background: var(--amber);
    color: #fff;
}

.net-stats {
    background: var(--off-white);
    border-bottom: 1px solid var(--border-light-soft);
}

.net-stat {
    border-left: 1px solid var(--border-light-soft);
}

.net-stat:first-child { border-left: 0; }

.net-stat strong {
    color: var(--amber);
    font-weight: 300;
    font-size: clamp(28px, 2.8vw, 40px);
    line-height: 1;
}

.net-stat span {
    font-family: var(--font-mono);
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.net-card-mark {
    color: var(--amber);
    opacity: .85;
    font-family: var(--font-mono);
}

.channel-list { border-top-color: var(--border-light-soft); }

.channel-row {
    border-bottom-color: var(--border-light-soft);
    transition: background .35s ease, padding-left .35s var(--ease-out);
}

.channel-row:hover {
    background: rgba(26, 39, 51, .03);
    padding-left: 16px;
}

.channel-abbr {
    color: var(--amber);
    font-weight: 500;
    letter-spacing: .1em;
}

.channel-agency { font-family: var(--font-display); font-weight: 400; }

.channel-scope {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--text-muted);
}

.match-step {
    position: relative;
    padding-left: 34px;
}

.match-step::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 34px;
    bottom: -18px;
    width: 1px;
    background: linear-gradient(var(--steel-line), transparent);
}

.match-step:last-child::before { display: none; }

.match-num {
    position: absolute;
    left: 0;
    top: 0;
    color: var(--amber);
}

.contact-detail-icon {
    border: 1px solid var(--amber-line);
    color: var(--amber);
    background: var(--amber-soft);
}

.contact-detail small {
    color: var(--text-muted);
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.consult-pill {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
    border: 1px solid var(--amber-line);
    background: var(--amber-soft);
    color: var(--amber);
}

.consult-pill span {
    background: var(--amber);
}

.form-field label {
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--text-muted);
}

.form-field input,
.form-field select,
.form-field textarea {
    font-family: var(--font-body);
    background: rgba(26, 39, 51, .03);
    border: 1px solid var(--border-light-soft);
    transition: border-color .3s ease, background .3s ease;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    outline: none;
    border-color: var(--amber);
    background: var(--amber-soft);
}

.form-heading h3 {
    font-family: var(--font-display);
    font-weight: 300;
    letter-spacing: -.03em;
}

.form-success {
    border: 1px solid rgba(79, 180, 119, .4);
    background: rgba(79, 180, 119, .08);
}

.consult-band {
    background:
        radial-gradient(ellipse 60% 80% at 100% 50%, rgba(176, 141, 62, .08), transparent 65%),
        var(--off-white);
}

.consult-points li {
    border-bottom: 1px solid var(--border-light-soft);
}

.consult-points b {
    font-family: var(--font-mono);
    font-weight: 400;
    color: var(--gold);
}

.hours-list {
    border: none;
    background: transparent;
}

.hours-row {
    border-bottom: 1px solid var(--border-light-soft);
}

.hours-row strong {
    color: var(--amber);
    font-weight: 400;
}

.hours-note {
    font-family: var(--font-mono);
    font-size: 10px;
    line-height: 1.9;
    color: var(--text-muted);
}

.page-hero-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 56px 56px, 56px 56px;
    -webkit-mask-image: linear-gradient(to top, #000 5%, transparent 72%);
    mask-image: linear-gradient(to top, #000 5%, transparent 72%);
}

.page-hero-inner { position: relative; }

.section-pad + .section-pad.bg-white,
.bg-offwhite + .bg-white {
    border-top: 1px solid var(--light-line);
}
