/* Dedicated Designer Honours layout, based on the supplied reference.
   All selectors are scoped; the public navigation and other categories stay unchanged. */
.honours-page {
    margin-top: 115px;
    color: #fff;
    background: #0b0b0b;
    font-family: var(--nyx-body);
    font-size: 1.2rem;
    line-height: 1.5;
}
.honours-page p { margin: 0 0 1.25rem; color: #c7c7c7; }
.honours-page section { scroll-margin-top: calc(var(--public-header-height, 100px) + 1.5rem); }
.honours-page h1, .honours-page h2 { margin: 0 0 1.5rem; font-family: var(--nyx-display); font-weight: 400; line-height: 1.12; }
.honours-page h1 { font-size: clamp(2.6rem, 4vw, 3.5rem); }
.honours-page h2 { font-size: clamp(2.2rem, 3vw, 3.15rem); }
.honours-page h3 { margin: 0 0 1rem; font-family: var(--nyx-display); font-size: 1.8rem; line-height: 1.15; }
.honours-page .kicker { margin-bottom: 1.125rem; color: var(--nyx-yellow); font-size: 1.2rem; font-weight: 700; text-transform: uppercase; }
.honours-page .home-button { max-width: 100%; white-space: normal; }
.honours-page .section-shell { width: min(1210px, calc(100% - 4rem)); }
.honours-page .framework, .honours-page .programme, .honours-page .future,
.honours-page .faq-section, .honours-page .legacy { padding-block: clamp(3rem, 5.5vw, 4.5rem); }
.honours-page .framework-grid > *, .honours-page .programme-grid > *, .honours-page .future-grid > *,
.honours-page .legacy-grid > *, .honours-page .final-honours .section-shell > * { min-width: 0; }

.honours-page .honours-live-hero {
    position: relative;
    isolation: isolate;
    background-color: #080808;
    background-image: var(--honours-hero-image, none);
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}
.honours-page .honours-live-hero::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgb(0 0 0 / .5), rgb(0 0 0 / .25) 45%, transparent 75%);
    pointer-events: none;
}
.honours-page .honours-live-hero > .section-shell { display: flex; align-items: center; min-height: 740px; padding: calc(var(--public-header-height, 100px)) 0 4.5rem; }
.honours-page .honours-hero-copy { width: 59%; max-width: 720px; }
.honours-page .honours-hero-copy h1 { color: #fff; margin-bottom: 2rem; }
.honours-page .honours-hero-subtitle { margin-bottom: 1.7rem; color: var(--nyx-yellow); font-size: 1.25rem; font-weight: 700; line-height: 1.5; text-transform: uppercase; }
.honours-page .honours-hero-subtitle > span { display: block; }
.honours-page .honours-hero-description { max-width: 650px; margin-bottom: 1.75rem; color: #c4c4c4; font-size: 1.2rem; line-height: 1.5; }

.honours-page .framework { color: #111; background: #fff; }
.honours-page .framework-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) repeat(2, minmax(0, 1fr)); gap: 1.375rem; align-items: stretch; }
.honours-page .framework-intro { padding: 1rem 0 .75rem; }
.honours-page .framework-intro .home-button { margin-top: 1rem; }
.honours-page .framework-title-line { display: block; }
.honours-page .framework p { color: #414141; }
.honours-page .framework .kicker { color: #d8b900; }
.honours-page .honour-card { display: flex; flex-direction: column; align-items: center; padding: 2rem 1.25rem; border: 1px solid #d3d3d3; text-align: center; }
.honours-page .honour-card .kicker { font-size: .95rem; margin-bottom: .75rem; }
.honours-page .honour-card p { font-size: 1.1rem; margin-bottom: 0; }
.honours-page .honours-icon { flex-shrink: 0; width: 49px; height: 49px; color: #d8b900; margin-bottom: 1.5rem; }

.honours-page .programme { color: #111; background: #f1f0ef; }
.honours-page .programme-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3rem; }
.honours-page .programme-grid > article + article { padding-left: 2.75rem; border-left: 1px solid #d6d6d6; }
.honours-page .programme h2 { color: #d8b900; }
.honours-page .programme p { color: #414141; font-size: 1.1rem; }
.honours-page .programme .kicker { color: #111; }
.honours-page .programme ul { padding-left: 1.25rem; font-size: 1.1rem; }
.honours-page .steps { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin: 1.65rem 0 1.875rem; padding: 0; list-style: none; }
.honours-page .steps li { position: relative; flex: 1; min-width: 0; font-size: .95rem; line-height: 1.4; text-align: center; text-transform: uppercase; }
.honours-page .steps b { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin: 0 auto .75rem; color: #fff; background: #000; border-radius: 50%; font-size: .95rem; }
.honours-page .steps li:not(:last-child)::after { position: absolute; top: 0; right: -.55rem; content: "›"; color: #968400; font-size: 1.5rem; }
.honours-page .points-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; table-layout: fixed; }
.honours-page .points-table th, .honours-page .points-table td { padding: .85rem; border: 1px solid #d6d6d6; text-align: left; vertical-align: middle; font-family: var(--nyx-body); font-size: 1.1rem; font-weight: 400; }
.honours-page .points-table thead th { background: #e7e5e3; font-size: .95rem; font-weight: 700; text-transform: uppercase; }
.honours-page .points-table th:last-child, .honours-page .points-table td:last-child { width: 42%; text-align: center; }
.honours-page .points-table td:last-child { font-family: var(--nyx-display); font-size: 1.8rem; }
.honours-page .points-table tbody tr:first-child { background: #fffbdc; }

.honours-page .future-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); align-items: center; gap: 2.25rem; }
.honours-page .future-image img { display: block; width: 100%; height: auto; }
.honours-page .future h2 > span { display: block; }
.honours-page .future .home-button { margin-top: 1rem; }

.honours-page .faq-section { color: #111; background: #f1f0ef; }
.honours-page .faq-section .kicker { color: #d8b900; }
.honours-page .faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 0 1.5rem; }
.honours-page .faq-grid details { border-bottom: 1px solid #d6d6d6; }
.honours-page .faq-grid summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.3rem 1.4rem; color: #111; cursor: pointer; list-style: none; font-size: 1.1rem; line-height: 1.45; }
.honours-page .faq-grid summary::-webkit-details-marker { display: none; }
.honours-page .faq-grid summary::after { content: "+"; color: #b59d00; font-size: 1.5rem; }
.honours-page .faq-grid details[open] summary::after { content: "−"; }
.honours-page .faq-grid details p { padding: 0 1.4rem 1.4rem; margin: 0; color: #414141; font-size: 1.1rem; line-height: 1.5; }

.honours-page .legacy { color: #111; background: #fff; }
.honours-page .legacy-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: 4rem; }
.honours-page .legacy .kicker { color: #d8b900; }
.honours-page .legacy p { color: #414141; font-size: 1.1rem; }
.honours-page .brand-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 1.65rem 1.25rem; }
.honours-page .brand-grid a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 95px; }
.honours-page .brand-grid img { display: block; width: 100%; height: auto; max-height: 110px; object-fit: contain; }

.honours-page .final-honours { padding: 4rem 0 0; color: #080808; background: var(--nyx-yellow); }
.honours-page .final-honours .section-shell { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 4rem; }
.honours-page .honours-closing-title { padding-bottom: 3.5rem; }
.honours-page .honours-closing-title h2 { margin: 0; }
.honours-page .closing-arimo { display: block; color: #000; font-family: var(--nyx-body); font-size: clamp(1.2rem, 2vw, 1.875rem); font-weight: 700; line-height: 1.1; }
.honours-page .closing-career { display: block; margin: 1rem 0 1.125rem; color: #fff; font-family: var(--nyx-display); font-size: clamp(4rem, 7vw, 6rem); font-weight: 400; line-height: .93; }
.honours-page .closing-career > span { display: block; }
.honours-page .honours-closing-action { display: flex; flex-direction: column; align-items: flex-start; }
.honours-page .honours-closing-action > p { margin: 0 0 1.875rem; color: #000; font-size: 1.2rem; line-height: 1.5; }
.honours-page .honours-closing-action > .home-button { margin: 0 0 2.8rem; }
.honours-page .honours-closing-action > .home-button:hover { color: var(--nyx-yellow); background: #000; }
.honours-page .honours-nyx-wordmark { display: block; width: min(100%, 500px); height: auto; margin-top: auto; }
.honours-page a:focus-visible, .honours-page summary:focus-visible { outline: 2px solid #d8b900; outline-offset: 4px; }

@media (max-width: 1100px) {
    .honours-page .honours-hero-copy { width: 62%; }
    .honours-page .framework-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
    .honours-page .framework-intro { grid-column: 1 / -1; }
    .honours-page .programme-grid, .honours-page .future-grid, .honours-page .legacy-grid { grid-template-columns: 1fr; }
    .honours-page .programme-grid > article + article { padding: 2rem 0 0; border-left: 0; border-top: 1px solid #d6d6d6; }
    .honours-page .future-image { max-width: 600px; margin-inline: auto; }
    .honours-page .brand-grid { max-width: 800px; width: 100%; margin-inline: auto; }
    .honours-page .final-honours .section-shell { gap: 2rem; }
}
@media (max-width: 900px) {
    .honours-page .section-shell { width: calc(100% - 2.25rem); }
    .honours-page .honours-live-hero { background-image: var(--honours-hero-mobile-image, var(--honours-hero-image, none)); background-size: auto 360px; background-position: 78% bottom; }
    .honours-page .honours-live-hero::before { background: linear-gradient(#080808 calc(100% - 350px), transparent calc(100% - 250px)); }
    .honours-page .honours-live-hero > .section-shell { display: block; min-height: 0; padding-top: calc(3rem + var(--public-header-height, 72px)); padding-bottom: 350px; }
    .honours-page .honours-hero-copy { width: 100%; max-width: none; }
    .honours-page .honours-hero-subtitle { font-size: 1.1rem; }
    .honours-page .framework-grid, .honours-page .faq-grid, .honours-page .final-honours .section-shell { grid-template-columns: 1fr; }
    .honours-page .framework-intro { grid-column: auto; }
    .honours-page .honour-card { width: 100%; max-width: 400px; margin-inline: auto; }
    .honours-page .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem .8rem; }
    .honours-page .steps li:nth-child(3)::after { content: none; }
    .honours-page .brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.75rem; }
    .honours-page .brand-grid a { min-height: 80px; }
    .honours-page .honours-closing-title { padding-bottom: 0; }
    .honours-page .honours-closing-action > p { font-size: 1.1rem; }
    .honours-page .points-table th, .honours-page .points-table td { padding: .75rem .6rem; font-size: .95rem; }
    .honours-page .points-table td:last-child { font-size: 1.8rem; }
}

/* Mobile section spacing and natural line wrapping, 2026-10-05.
   The preceding desktop styles are retained from designer-honours-v1.css. */
@media (max-width: 767px) {
    #main-content.honours-page { padding-top: var(--public-header-height, 72px); }
    #main-content.honours-page section { padding: 2rem 1rem !important; }
    #main-content.honours-page > section:last-of-type { padding: 2rem 1rem 0 !important; }
    #main-content.honours-page h1 { font-size: clamp(3rem, 5vw, 3rem) !important; overflow-wrap: anywhere; }
    #main-content.honours-page br { display: none !important; }
    #main-content.honours-page section .section-shell { width: 100% !important; max-width: none !important; padding: 0 !important; margin-inline: 0 !important; }
    #main-content.honours-page > section:first-of-type,
    #main-content.honours-page > section:first-of-type > .section-shell { min-height: 0 !important; }
    #main-content.honours-page .honours-hero-copy { padding-bottom: 350px; }
}

