/* Retail Think Different — shared site styles. Page layout styles stay inline in each page. */
body{margin:0;background:#FFFFFF;color:#000;font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
a{color:#922DA9;text-decoration:none}
a:hover{color:#3F3F42}
*{box-sizing:border-box}
.page{min-height:100vh;background:#fff}

/* Header */
.site-header-wrap{position:sticky;top:0;z-index:20}
.site-header{background:rgba(255,255,255,0.94);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--color-overlay-3)}
.site-header__inner{max-width:1240px;margin:0 auto;padding:12px clamp(16px,4vw,40px);display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:#000}
.brand__bar{width:3px;height:32px;border-radius:2px;background:var(--color-accent-purple)}
.brand__text{display:flex;flex-direction:column}
.brand__name{font-family:var(--font-display);font-weight:800;font-size:18px;line-height:19px;letter-spacing:-0.02em}
.brand__tag{font-size:11px;line-height:14px;font-weight:600;color:var(--color-accent-purple)}
.site-nav{display:flex;gap:2px;flex:1;flex-wrap:wrap;justify-content:center}
.site-nav a{padding:8px 11px;border-radius:6px;color:var(--color-neutral-10);font-size:14px}
.site-nav a:hover{background:var(--color-overlay-2);color:#000}
.site-nav a[aria-current="page"]{background:rgba(146,45,169,0.08);color:var(--color-accent-purple);font-weight:600}
.site-nav a[aria-current="page"]:hover{color:#3F3F42}
.btn-cta{padding:10px 16px;border-radius:6px;background:var(--color-accent-purple);color:#fff;font-size:14px;font-weight:600}
.btn-cta:hover{background:#7A2290;color:#fff}

/* Footer */
.site-footer{background:var(--color-neutral-11);color:rgba(255,255,255,0.7)}
.site-footer__grid{max-width:1240px;margin:0 auto;padding:56px clamp(16px,4vw,40px) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:32px;font-size:14px}
.site-footer__col{display:flex;flex-direction:column;gap:10px}
.site-footer__about{display:flex;flex-direction:column;gap:14px}
.site-footer .brand{color:#fff}
.site-footer .brand__bar{background:#C98BDA}
.site-footer .brand__tag{color:#C98BDA}
.site-footer__heading{margin:0;font-size:inherit;line-height:inherit;color:#fff;font-weight:600}
.site-footer__col a{color:rgba(255,255,255,0.7)}
.site-footer__col a:hover{color:#fff}
.site-footer__bottom{max-width:1240px;margin:0 auto;padding:20px clamp(16px,4vw,40px) 32px;border-top:1px solid rgba(255,255,255,0.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px}
.site-footer__bottom a{color:inherit}
.site-footer__bottom a:hover{color:#fff}

/* Images (formerly <image-slot>): the frame fills its sized wrapper and crops like the original */
.slot{position:absolute;inset:0;display:block;overflow:hidden}
.slot-img{display:block;width:100%;height:100%;object-fit:cover}
.slot-contain{object-fit:contain}

/* Accessibility */
:focus-visible{outline:2px solid var(--focus-color,#922DA9) !important;outline-offset:2px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:1000;padding:10px 16px;border-radius:6px;background:#000;color:#fff !important;font-size:14px;font-weight:600}
.skip-link:focus{top:12px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto !important}}

/* Accordion (FAQ) — native <details>/<summary> */
.acc summary{list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc-icon::before{content:"+"}
.acc[open] .acc-icon::before{content:"\2212"}

/* Tabs (Programme switcher, FAQ categories). Without JavaScript every panel stays visible. */
html:not(.js) [role="tablist"]{display:none}
.js [data-inactive]{display:none}
.prog-tab{border:0;cursor:pointer;padding:14px 26px;border-radius:8px;background:transparent;color:var(--color-neutral-10);font:inherit;font-size:17px;font-weight:600}
.prog-tab:hover{background:rgba(146,45,169,0.08);color:#000}
.prog-tab[aria-selected="true"]{background:var(--color-accent-purple);color:#fff}
.faq-tab{border:0;cursor:pointer;text-align:left;padding:10px 14px;border-radius:7px;background:transparent;color:var(--color-neutral-10);font:inherit;font-size:15px}
.faq-tab:hover{background:var(--color-overlay-2)}
.faq-tab[aria-selected="true"]{background:rgba(146,45,169,0.08);color:var(--color-accent-purple);font-weight:600}

/* Advisory board biography dialog */
.bio-dialog{padding:0;border:0;background:transparent;width:calc(100% - 32px);max-width:560px;max-height:calc(100vh - 32px);overflow:visible}
.bio-dialog::backdrop{background:rgba(0,0,0,0.5)}
.member-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:4px 8px;margin:-4px -8px;border-radius:6px}
.member-btn:hover{background:var(--surface-secondary)}

/* Hover states (formerly style-hover attributes); !important because base styles are inline */
.hv-dark:hover{background:var(--color-neutral-10) !important;color:#fff !important}
.hv-ghost-dark:hover{background:rgba(255,255,255,0.08) !important;color:#fff !important}
.hv-ghost-dark-strong:hover{background:rgba(255,255,255,0.16) !important;color:#fff !important}
.hv-keynote-pill:hover{background:rgba(201,139,218,0.24) !important;color:#fff !important}
.hv-lilac:hover{background:#F4ECF7 !important;color:#000 !important}
.hv-mauve:hover{background:#B978CB !important;color:#000 !important}
.hv-outline-purple:hover{border-color:var(--color-accent-purple) !important;color:#000 !important}
.hv-primary:hover{background:#7A2290 !important;color:#fff !important}
.hv-purple-tint:hover{background:rgba(146,45,169,0.08) !important;color:#000 !important}
.hv-purple-tint-soft:hover{background:rgba(146,45,169,0.06) !important;color:var(--color-accent-purple) !important}
.hv-surface:hover{background:var(--surface-secondary) !important}
.hv-tint:hover{background:var(--color-overlay-2) !important;color:#000 !important}
.hv-tint-bg:hover{background:var(--color-overlay-2) !important}
.hv-white:hover{color:#fff !important}
