/* Production source revision: PPM-UI-v5-2026-08-01 | 04_POWERPLAY_PLATFORM_LARAVEL/public/css/site.css */

/* UI modernization revision: PPM-UI-v5-2026-08-01 | Power Play Mandala public experience */
:root {
  --pp-ink: #0b0b0f;
  --pp-charcoal: #19181f;
  --pp-graphite: #292731;
  --pp-paper: #ffffff;
  --pp-mist: #f5f4f7;
  --pp-soft: #faf9fb;
  --pp-line: #dedbe3;
  --pp-line-strong: #b9b4c1;
  --pp-muted: #686370;
  --pp-pink: #ff2f8b;
  --pp-pink-dark: #b60056;
  --pp-pink-soft: #ffe4f1;
  --pp-blue: #175cd3;
  --pp-success: #18794e;
  --pp-warning: #9a6700;
  --pp-danger: #b42318;
  --pp-focus: #006bff;
  --pp-shadow-sm: 0 8px 24px rgba(11, 11, 15, .08);
  --pp-shadow-lg: 0 28px 80px rgba(11, 11, 15, .14);
  --pp-radius-sm: .75rem;
  --pp-radius-md: 1.1rem;
  --pp-radius-lg: 1.75rem;
  --pp-radius-xl: 2.5rem;
  --pp-container: 80rem;
  --pp-gutter: clamp(1rem, 4vw, 3.5rem);
  --pp-section: clamp(4.5rem, 9vw, 8.5rem);
  --pp-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; color: var(--pp-ink); background: var(--pp-paper); font-family: var(--pp-font); font-size: 1rem; line-height: 1.62; text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font: inherit; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .22em; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
:focus-visible { outline: .2rem solid var(--pp-focus); outline-offset: .2rem; }
::selection { color: var(--pp-ink); background: var(--pp-pink-soft); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; inset-inline-start: 1rem; top: -5rem; z-index: 999; padding: .8rem 1rem; color: var(--pp-paper); background: var(--pp-ink); border-radius: var(--pp-radius-sm); font-weight: 800; }
.skip-link:focus { top: 1rem; }
.site-container { width: min(100% - (2 * var(--pp-gutter)), var(--pp-container)); margin-inline: auto; }
.site-body { min-width: 20rem; overflow-x: hidden; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(222, 219, 227, .86); background: rgba(255, 255, 255, .9); backdrop-filter: blur(1rem); }
.site-header__inner { min-height: 5rem; display: flex; align-items: center; gap: 1.4rem; }
.brand { flex: 0 0 auto; border-radius: .5rem; }
.brand img { width: clamp(9.5rem, 14vw, 12.5rem); height: auto; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: .2rem; margin-inline: auto; }
.primary-nav > a, .nav-disclosure > button { min-height: 2.75rem; display: inline-flex; align-items: center; gap: .35rem; padding: .65rem .85rem; border: 0; border-radius: 999px; color: var(--pp-muted); background: transparent; font-weight: 700; text-decoration: none; cursor: pointer; }
.primary-nav > a:hover, .primary-nav > a.is-current, .nav-disclosure > button:hover { color: var(--pp-ink); background: var(--pp-mist); }
.primary-nav > a.is-current { box-shadow: inset 0 -2px 0 var(--pp-pink); }
.nav-disclosure { position: relative; }
.nav-disclosure__panel { position: absolute; top: calc(100% + .65rem); inset-inline-end: 0; width: 15rem; display: none; padding: .6rem; border: 1px solid var(--pp-line); border-radius: var(--pp-radius-md); background: var(--pp-paper); box-shadow: var(--pp-shadow-lg); }
.nav-disclosure.is-open .nav-disclosure__panel { display: grid; }
.nav-disclosure__panel a { padding: .75rem .8rem; border-radius: .65rem; font-weight: 700; text-decoration: none; }
.nav-disclosure__panel a:hover { background: var(--pp-mist); }
.site-header__actions { display: flex; align-items: center; gap: .6rem; }
.nav-toggle { width: 3rem; height: 3rem; display: none; align-items: center; justify-content: center; flex-direction: column; gap: .28rem; border: 1px solid var(--pp-line); border-radius: 50%; background: var(--pp-paper); cursor: pointer; }
.nav-toggle span:not(.sr-only) { width: 1.2rem; height: 2px; background: var(--pp-ink); transition: transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(.38rem) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(4) { transform: translateY(-.38rem) rotate(-45deg); }

/* Type and actions */
h1, h2, h3 { margin-block: 0; line-height: 1.05; letter-spacing: -.045em; text-wrap: balance; }
h1 { font-size: clamp(2.8rem, 7vw, 6.8rem); font-weight: 900; }
h2 { font-size: clamp(2rem, 4.2vw, 4.2rem); font-weight: 850; }
h3 { font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 800; }
p { margin-block: 0; }
.eyebrow { margin-bottom: .8rem; color: var(--pp-pink-dark); font-size: .76rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.section-lead { max-width: 45rem; margin-top: 1.4rem; color: var(--pp-muted); font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.8rem; }
.button { min-height: 3.2rem; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; padding: .78rem 1.25rem; border: 1px solid transparent; border-radius: 999px; font-weight: 850; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { color: var(--pp-paper); background: var(--pp-ink); box-shadow: 0 .7rem 1.8rem rgba(11, 11, 15, .2); }
.button--primary:hover { background: var(--pp-pink-dark); }
.button--outline { color: var(--pp-ink); border-color: var(--pp-line-strong); background: transparent; }
.button--outline:hover, .button--ghost:hover { background: var(--pp-mist); }
.button--ghost { color: var(--pp-ink); background: transparent; }
.button--light { color: var(--pp-ink); background: var(--pp-paper); }
.button--small { min-height: 2.65rem; padding: .58rem 1rem; font-size: .92rem; }
.text-link { display: inline-flex; align-items: center; gap: .4rem; color: var(--pp-pink-dark); font-weight: 850; }
.text-link:hover { color: var(--pp-ink); }

/* Home */
.home-hero { position: relative; isolation: isolate; min-height: calc(100svh - 5rem); display: grid; align-items: center; padding-block: clamp(4rem, 8vw, 8rem); overflow: hidden; background: radial-gradient(circle at 78% 30%, rgba(255, 47, 139, .17), transparent 27rem), linear-gradient(145deg, #fff 10%, #f8f5f8 55%, #f0edf2); }
.home-hero::after { content: ""; position: absolute; z-index: -1; right: -10rem; bottom: -15rem; width: 40rem; aspect-ratio: 1; border: 1px solid rgba(182, 0, 86, .16); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255, 47, 139, .03), 0 0 0 10rem rgba(255, 47, 139, .025); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .92fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.home-hero h1 span { color: var(--pp-pink-dark); }
.home-hero__lead { max-width: 43rem; margin-top: 1.5rem; color: var(--pp-muted); font-size: clamp(1.08rem, 2vw, 1.4rem); }
.trust-strip { display: flex; flex-wrap: wrap; gap: 1rem 2.4rem; margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--pp-line); }
.trust-strip div { display: grid; }
.trust-strip dt { font-size: 1.05rem; font-weight: 900; }
.trust-strip dd { margin: 0; color: var(--pp-muted); font-size: .88rem; }
.home-hero__visual { position: relative; min-height: 34rem; display: grid; align-content: center; gap: 1rem; }
.journey-card { position: relative; z-index: 2; width: min(100%, 30rem); display: flex; gap: 1rem; align-items: center; padding: 1.2rem; margin-inline-start: auto; border: 1px solid rgba(222, 219, 227, .95); border-radius: var(--pp-radius-lg); background: rgba(255, 255, 255, .88); box-shadow: var(--pp-shadow-sm); backdrop-filter: blur(.8rem); }
.journey-card:nth-child(2) { margin-inline-end: 3rem; }
.journey-card:nth-child(3) { margin-inline-end: 1.2rem; }
.journey-card--primary { color: var(--pp-paper); border-color: transparent; background: var(--pp-ink); transform: scale(1.04); box-shadow: var(--pp-shadow-lg); }
.journey-card__icon { width: 3.3rem; height: 3.3rem; flex: 0 0 auto; display: grid; place-items: center; border-radius: 1.05rem; color: var(--pp-pink-dark); background: var(--pp-pink-soft); font-size: 1.5rem; font-weight: 900; }
.journey-card p { color: inherit; opacity: .66; font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.journey-card strong, .journey-card span { display: block; }
.journey-card div > span { margin-top: .15rem; color: inherit; opacity: .68; font-size: .88rem; }
.hero-orbit { position: absolute; inset: 6% 3%; z-index: 0; border: 1px dashed rgba(182, 0, 86, .25); border-radius: 50%; transform: rotate(-18deg); }

/* Sections and patterns */
.site-section { padding-block: var(--pp-section); }
.site-section--tight { padding-block: clamp(3rem, 6vw, 5rem); }
.site-section--soft { background: var(--pp-mist); }
.site-section--ink { color: #ffffff; background: #0b0b0f; }
.site-section--ink .eyebrow { color: #ff8fc1; }
.site-section--ink .section-heading p { color: #c5c1c9; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.section-heading > div:first-child { max-width: 55rem; }
.section-heading p:not(.eyebrow) { max-width: 45rem; margin-top: 1rem; color: var(--pp-muted); font-size: 1.08rem; }
.section-heading__action { flex: 0 0 auto; }
.editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--pp-line); border: 1px solid var(--pp-line); border-radius: var(--pp-radius-lg); overflow: hidden; }
.location-tile { min-height: 12rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1.3rem; align-items: start; padding: clamp(1.5rem, 3vw, 2.4rem); background: var(--pp-paper); text-decoration: none; transition: background .2s ease; }
.location-tile:hover { background: var(--pp-pink-soft); }
.location-tile__index { color: var(--pp-pink-dark); font-size: .78rem; font-weight: 900; }
.location-tile p { margin-top: .6rem; color: var(--pp-muted); }
.feature-list { border-top: 1px solid var(--pp-graphite); }
.feature-row { display: grid; grid-template-columns: 3.5rem minmax(0, 1.2fr) minmax(10rem, .8fr) auto; gap: 1rem; align-items: center; min-height: 8rem; padding-block: 1.4rem; border-bottom: 1px solid var(--pp-graphite); text-decoration: none; }
.feature-row:hover h3, .feature-row:hover .feature-row__arrow { color: #ff8fc1; }
.feature-row__number, .feature-row > span:nth-last-child(2), .feature-row p { color: #aaa5b0; }
.feature-row__number { font-weight: 900; }
.feature-row__arrow { font-size: 1.6rem; }
.journey-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.journey-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pp-line); }
.journey-steps li { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding-block: 1.5rem; border-bottom: 1px solid var(--pp-line); }
.journey-steps li > span { color: var(--pp-pink-dark); font-size: .8rem; font-weight: 900; }
.journey-steps p { margin-top: .45rem; color: var(--pp-muted); }
.programme-event-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.spotlight-panel { min-height: 31rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: clamp(2rem, 5vw, 4rem); border-radius: var(--pp-radius-xl); overflow: hidden; }
.spotlight-panel p:not(.eyebrow) { max-width: 34rem; margin: 1rem 0 1.5rem; }
.spotlight-panel--coaching { background: linear-gradient(145deg, #ffe4f1, #fff 70%); }
.spotlight-panel--events { color: var(--pp-paper); background: linear-gradient(145deg, #3b1028, var(--pp-ink) 70%); }
.spotlight-panel--events .button--outline { color: var(--pp-paper); border-color: #665160; }
.conversion-panel { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2rem, 5vw, 4rem); border-radius: var(--pp-radius-xl); background: var(--pp-pink-soft); }
.conversion-panel > div:first-child { max-width: 55rem; }

/* Page heroes */
.page-hero { position: relative; isolation: isolate; padding-block: clamp(4rem, 8vw, 7rem); overflow: hidden; border-bottom: 1px solid var(--pp-line); }
.page-hero--compact { padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.page-hero--soft { background: var(--pp-mist); }
.page-hero--brand { background: radial-gradient(circle at 85% 40%, rgba(255, 47, 139, .17), transparent 25rem), linear-gradient(135deg, #fff 30%, #f7edf3); }
.page-hero--ink { color: var(--pp-paper); background: radial-gradient(circle at 80% 50%, rgba(255, 47, 139, .2), transparent 24rem), var(--pp-ink); }
.page-hero--ink .page-hero__lead { color: #c5c1c9; }
.page-hero__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.page-hero__lead { max-width: 48rem; margin-top: 1.3rem; color: var(--pp-muted); font-size: clamp(1.05rem, 2vw, 1.35rem); }
.page-hero__aside { align-self: center; }
.hero-note, .record-snapshot, .status-summary { padding: 1.5rem; border: 1px solid rgba(185, 180, 193, .65); border-radius: var(--pp-radius-lg); background: rgba(255, 255, 255, .7); backdrop-filter: blur(.8rem); }
.hero-note p, .record-snapshot span, .status-summary p { display: block; margin-top: .55rem; color: var(--pp-muted); }
.record-snapshot p { color: var(--pp-pink-dark); font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.record-snapshot strong { display: block; margin-top: .35rem; font-size: 1.5rem; }
.status-summary { display: flex; gap: 1rem; align-items: center; color: var(--pp-ink); }
.status-summary__pulse { width: 1rem; height: 1rem; flex: 0 0 auto; border-radius: 50%; background: var(--pp-success); box-shadow: 0 0 0 .5rem rgba(24, 121, 78, .16); }

/* Collections */
.collection-toolbar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1.4rem; color: var(--pp-muted); }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.catalog-item { min-width: 0; }
.catalog-item__link { height: 100%; min-height: 19rem; display: flex; flex-direction: column; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--pp-line); border-radius: var(--pp-radius-lg); background: var(--pp-paper); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.catalog-item__link:hover { transform: translateY(-.3rem); border-color: var(--pp-pink); box-shadow: var(--pp-shadow-lg); }
.catalog-item__top { display: flex; justify-content: space-between; gap: 1rem; color: var(--pp-pink-dark); }
.catalog-item__type { font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.catalog-item h2 { margin-top: 2.8rem; font-size: clamp(1.5rem, 2.4vw, 2.25rem); }
.catalog-item p { margin-top: 1rem; color: var(--pp-muted); }
.catalog-item__meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: auto; padding-top: 1.4rem; color: var(--pp-muted); font-size: .85rem; font-weight: 700; }
.pagination { margin-top: 2.5rem; }
.pagination nav > div:first-child { display: none; }
.pagination nav > div:last-child { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.pagination span, .pagination a { display: inline-grid; min-width: 2.7rem; min-height: 2.7rem; place-items: center; border: 1px solid var(--pp-line); border-radius: .65rem; text-decoration: none; }
.pagination [aria-current="page"] span { color: var(--pp-paper); border-color: var(--pp-ink); background: var(--pp-ink); }

/* Details and guides */
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .5fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.record-panel { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--pp-line); border-radius: var(--pp-radius-xl); background: var(--pp-paper); }
.record-panel header { margin-bottom: 2rem; }
.record-list { margin: 0; }
.record-list > div { display: grid; grid-template-columns: minmax(9rem, .35fr) minmax(0, .65fr); gap: 1.5rem; padding-block: 1.15rem; border-top: 1px solid var(--pp-line); }
.record-list dt { color: var(--pp-muted); font-size: .82rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.record-list dd { margin: 0; overflow-wrap: anywhere; font-weight: 650; }
.detail-aside { position: sticky; top: 7rem; display: grid; gap: 1rem; }
.action-panel, .trust-panel, .article-aside, .status-note { padding: 1.8rem; border-radius: var(--pp-radius-lg); }
.action-panel { background: var(--pp-pink-soft); }
.action-panel p:not(.eyebrow), .trust-panel li, .article-aside p, .status-note p { color: var(--pp-muted); }
.action-panel p:not(.eyebrow), .article-aside p, .status-note p { margin: .9rem 0 1.4rem; }
.trust-panel { border: 1px solid var(--pp-line); }
.trust-panel ul { margin: 1rem 0 0; padding-inline-start: 1.2rem; }
.trust-panel li + li { margin-top: .65rem; }
.guide-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.guide-nav { position: sticky; top: 7rem; display: grid; gap: .15rem; padding: 1.1rem; border: 1px solid var(--pp-line); border-radius: var(--pp-radius-md); }
.guide-nav a { padding: .7rem .75rem; border-radius: .55rem; color: var(--pp-muted); font-weight: 700; text-decoration: none; }
.guide-nav a:hover { color: var(--pp-ink); background: var(--pp-mist); }
.guide-content { max-width: 55rem; }
.guide-section { display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem; padding-block: 2.3rem; border-top: 1px solid var(--pp-line); }
.guide-section:first-child { border-top: 0; padding-top: 0; }
.guide-section__number { color: var(--pp-pink-dark); font-size: .75rem; font-weight: 900; }
.guide-section p { margin-top: .8rem; color: var(--pp-muted); font-size: 1.08rem; }
.guide-next { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 3rem; padding: 2rem; border-radius: var(--pp-radius-lg); background: var(--pp-mist); }

/* Articles and status */
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.prose { max-width: 48rem; font-size: 1.12rem; white-space: normal; }
.prose .article-meta { margin-bottom: 2rem; color: var(--pp-muted); font-size: .85rem; font-weight: 750; }
.prose p + p { margin-top: 1.4rem; }
.article-aside { position: sticky; top: 7rem; border: 1px solid var(--pp-line); }
.status-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.status-card { display: grid; grid-template-columns: auto 1fr auto; gap: 1.3rem; align-items: center; min-height: 12rem; padding: 1.8rem; border: 1px solid var(--pp-line); border-radius: var(--pp-radius-lg); text-decoration: none; }
.status-card:hover { border-color: var(--pp-success); box-shadow: var(--pp-shadow-sm); }
.status-card__icon { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border-radius: 50%; color: var(--pp-success); background: #ddf6e9; font-weight: 900; }
.status-card p { color: var(--pp-success); font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.status-card h2 { margin: .3rem 0 .5rem; font-size: 2rem; }
.status-card div > span { color: var(--pp-muted); }
.status-note { margin-top: 2rem; background: var(--pp-mist); }

/* Empty and errors */
.empty-state { grid-column: 1 / -1; min-height: 18rem; display: grid; place-items: center; align-content: center; padding: 2rem; border: 1px dashed var(--pp-line-strong); border-radius: var(--pp-radius-lg); text-align: center; }
.empty-state__icon { width: 4rem; height: 4rem; display: grid; place-items: center; margin-bottom: 1rem; border-radius: 1.2rem; color: var(--pp-pink-dark); background: var(--pp-pink-soft); font-size: 1.5rem; }
.empty-state p { max-width: 32rem; margin-top: .7rem; color: var(--pp-muted); }
.empty-state--dark { color: #ffffff; border-color: var(--pp-graphite); }
.empty-state--dark p { color: #aaa5b0; }
.error-page { min-height: calc(100svh - 5rem); display: grid; place-items: center; padding-block: 4rem; background: var(--pp-mist); }
.error-panel { max-width: 50rem; padding: clamp(2rem, 6vw, 5rem); border-radius: var(--pp-radius-xl); background: var(--pp-paper); box-shadow: var(--pp-shadow-lg); text-align: center; }
.error-panel__code { color: var(--pp-pink-dark); font-size: clamp(4rem, 12vw, 9rem); font-weight: 950; line-height: .9; }
.error-panel p { max-width: 38rem; margin: 1.2rem auto 0; color: var(--pp-muted); font-size: 1.1rem; }
.error-panel .button-row { justify-content: center; }

/* Footer */
.site-footer { color: var(--pp-paper); background: var(--pp-ink); }
.site-footer__grid { display: grid; grid-template-columns: minmax(15rem, 2fr) repeat(3, minmax(8rem, 1fr)); gap: clamp(2rem, 5vw, 5rem); padding-block: 4rem; }
.site-footer__brand img { width: 12rem; filter: brightness(0) invert(1); }
.site-footer__brand p { max-width: 28rem; margin: 1.3rem 0; color: #aaa5b0; }
.site-footer h2 { margin-bottom: 1rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.site-footer__grid > div:not(:first-child) { display: flex; flex-direction: column; gap: .65rem; }
.site-footer a { color: #d9d5dd; text-decoration: none; }
.site-footer a:hover { color: #ff8fc1; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding-block: 1.4rem; border-top: 1px solid var(--pp-graphite); color: #aaa5b0; font-size: .88rem; }
.site-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 1.2rem; }

@media (max-width: 72rem) {
  .site-header__actions .button--ghost { display: none; }
  .primary-nav { gap: 0; }
  .primary-nav > a, .nav-disclosure > button { padding-inline: .65rem; font-size: .92rem; }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 60rem) {
  .nav-toggle { display: flex; margin-inline-start: auto; }
  .site-header__actions { display: none; }
  .primary-nav { position: absolute; top: calc(100% + 1px); inset-inline: 0; display: none; align-items: stretch; padding: 1rem var(--pp-gutter) 1.5rem; border-bottom: 1px solid var(--pp-line); background: var(--pp-paper); box-shadow: var(--pp-shadow-sm); }
  .primary-nav.is-open { display: grid; }
  .primary-nav > a, .nav-disclosure > button { width: 100%; justify-content: space-between; border-radius: .65rem; }
  .nav-disclosure__panel { position: static; width: auto; margin: .25rem 0 .5rem 1rem; border: 0; box-shadow: none; }
  .home-hero__grid, .page-hero__inner, .journey-grid, .detail-layout, .article-layout { grid-template-columns: 1fr; }
  .home-hero__visual { min-height: auto; margin-top: 1rem; }
  .detail-aside, .article-aside { position: static; }
  .programme-event-grid { grid-template-columns: 1fr; }
  .feature-row { grid-template-columns: 3rem 1fr auto; }
  .feature-row > span:nth-last-child(2) { display: none; }
  .guide-layout { grid-template-columns: 1fr; }
  .guide-nav { position: static; display: flex; overflow-x: auto; white-space: nowrap; }
  .site-footer__grid { grid-template-columns: repeat(3, 1fr); }
  .site-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 42rem) {
  :root { --pp-section: 4rem; }
  .site-header__inner { min-height: 4.5rem; }
  .brand img { width: 9.8rem; }
  .home-hero { min-height: auto; }
  .home-hero h1 { font-size: clamp(2.9rem, 15vw, 4.8rem); }
  .journey-card, .journey-card:nth-child(2), .journey-card:nth-child(3) { width: 100%; margin: 0; transform: none; }
  .trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
  .editorial-grid, .catalog-grid, .status-grid { grid-template-columns: 1fr; }
  .location-tile { min-height: 10rem; }
  .feature-row { min-height: 7rem; }
  .section-heading, .conversion-panel, .guide-next, .collection-toolbar { align-items: flex-start; flex-direction: column; }
  .spotlight-panel { min-height: 25rem; }
  .record-list > div { grid-template-columns: 1fr; gap: .35rem; }
  .guide-section { grid-template-columns: 2.5rem 1fr; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-color-scheme: dark) {
  :root { --pp-paper: #121116; --pp-soft: #17161c; --pp-mist: #1d1b22; --pp-ink: #f8f7f9; --pp-charcoal: #eeeaf0; --pp-graphite: #3a3741; --pp-line: #37333d; --pp-line-strong: #5b5562; --pp-muted: #b4aebb; --pp-pink-dark: #ff77b4; --pp-pink-soft: #3b1028; --pp-shadow-sm: 0 8px 24px rgba(0,0,0,.3); --pp-shadow-lg: 0 28px 80px rgba(0,0,0,.45); }
  .site-header { background: rgba(18, 17, 22, .9); }
  .home-hero, .page-hero--brand { background: radial-gradient(circle at 78% 30%, rgba(255, 47, 139, .15), transparent 27rem), linear-gradient(145deg, #121116, #1c1820); }
  .journey-card, .hero-note, .record-snapshot { background: rgba(28, 26, 33, .9); }
  .button--primary { color: #fff; background: #b60056; }
  .button--outline { color: var(--pp-ink); }
  .spotlight-panel--coaching { background: linear-gradient(145deg, #3b1028, #21181f 70%); }
  .site-footer { color: #fff; background: #08070a; }
  .site-footer__brand img, .brand img { filter: brightness(0) invert(1); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .button:hover, .catalog-item__link:hover { transform: none; }
}

@media print {
  .site-header, .site-footer, .button-row, .detail-aside, .guide-nav { display: none !important; }
  .site-section, .page-hero { padding: 1.5rem 0; }
  body { color: #000; background: #fff; }
  a { text-decoration: none; }
}

/* WCAG 2.2 interaction targets: preserve a minimum 44px target without
   inflating dense text-only content or inline editorial links. */
.button,
.nav-toggle,
.primary-nav > a,
.nav-disclosure > button,
.pagination a,
.pagination span,
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea,
button {
  min-block-size: 44px;
}
