/* Experience layer — motion, discovery and conversion enhancements. */
:root { --experience-gold: #c8912c; --experience-navy: #071633; }
.home-hero--immersive {
  background-image: linear-gradient(90deg,rgba(4,17,36,.97) 0%,rgba(5,22,45,.91) 48%,rgba(5,22,45,.68) 100%),url('../images/backgrounds/home-science-systems-v2.jpg');
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.home-hero--immersive::before { background:linear-gradient(90deg,rgba(3,14,30,.42),transparent 74%); }
.home-hero__glow { opacity:.58; }

/* Purposeful environmental imagery: literary work, public thought and purchase. */
.books-hero,.book-single-hero {
  background-image:linear-gradient(90deg,rgba(4,17,36,.98) 0%,rgba(5,22,45,.88) 51%,rgba(5,22,45,.3) 100%),url('../images/backgrounds/books-public-life-v2.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
}
.home-book {
  background-image:linear-gradient(90deg,rgba(250,247,240,.97),rgba(250,247,240,.9)),url('../images/backgrounds/books-public-life-v2.jpg');
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.home-book__cover { margin:0; max-width:390px; border:1px solid rgba(183,124,29,.35); box-shadow:22px 28px 55px rgba(7,22,51,.24); }
.home-book__cover img { display:block; width:100%; height:auto; }
.purchase-section {
  background-image:linear-gradient(110deg,rgba(5,22,42,.97),rgba(9,39,70,.8)),url('../images/backgrounds/books-public-life-v2.jpg');
  background-position:center;
  background-size:cover;
}

/* Image-led CTA bands across page families. */
.archive-cta {
  position:relative;
  color:rgba(255,255,255,.76);
  background-image:linear-gradient(100deg,rgba(4,17,36,.97),rgba(5,22,45,.73)),url('../images/backgrounds/books-public-life-v2.jpg');
  background-position:center;
  background-size:cover;
}
.archive-cta h2,.archive-cta .os-button { color:#fff; }
.archive-cta .os-button { border-color:#d9ad57; background:#b57c1d; }
.speaking-preview {
  color:rgba(255,255,255,.76);
  background-image:linear-gradient(105deg,rgba(4,17,36,.97),rgba(5,22,45,.7)),url('../images/backgrounds/media-speaking.jpg');
  background-position:center;
  background-size:cover;
}
.speaking-preview h2,.speaking-preview h3,.speaking-preview h3 a,.speaking-preview .os-text-link { color:#fff; }
.speaking-preview .speaking-list article { border-color:rgba(255,255,255,.18); }
.speaking-preview .os-button { border-color:#d9ad57; background:#b57c1d; }
.thesis-section {
  background-image:linear-gradient(95deg,rgba(250,247,240,.97),rgba(250,247,240,.82)),url('../images/backgrounds/research-energy.jpg');
  background-position:center;
  background-size:cover;
}
.journey {
  background-image:linear-gradient(110deg,rgba(4,17,36,.98),rgba(11,42,78,.78)),url('../images/backgrounds/personal-contact.jpg');
  background-position:center;
  background-size:cover;
}
.home-latest {
  background-image:linear-gradient(rgba(244,245,247,.94),rgba(244,245,247,.94)),url('../images/backgrounds/books-public-life-v2.jpg');
  background-position:center;
  background-size:cover;
}

/* Let the existing page-family photography remain visible through the overlays. */
.research-hero,.research-archive-hero { background-image:linear-gradient(90deg,rgba(5,22,42,.96),rgba(5,22,42,.79) 52%,rgba(5,22,42,.2)),url('../images/backgrounds/research-energy.jpg')!important; }
.media-landing-hero,.media-hero,.speaking-hero { background-image:linear-gradient(90deg,rgba(5,22,42,.96),rgba(5,22,42,.78) 52%,rgba(5,22,42,.16)),url('../images/backgrounds/media-speaking.jpg')!important; }
.contact-hero,.cv-hero { background-image:linear-gradient(90deg,rgba(5,22,42,.96),rgba(5,22,42,.76) 54%,rgba(5,22,42,.14)),url('../images/backgrounds/personal-contact.jpg')!important; }
.reading-progress { position: fixed; z-index: 10000; inset: 0 0 auto; height: 3px; pointer-events: none; }
.reading-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#d8a843,#f3d487); transform: scaleX(var(--scroll-progress,0)); transform-origin: left; }
.header-search { gap: .35rem; }
.header-search kbd { border: 1px solid rgba(255,255,255,.25); border-radius: .3rem; font: 500 .58rem/1 sans-serif; padding: .25rem .3rem; opacity: .65; }

/* Command palette */
.command-palette[hidden] { display: none; }
.command-palette { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: start center; padding: clamp(5rem,12vh,9rem) 1rem 1rem; }
.command-palette__backdrop { position: absolute; inset: 0; background: rgba(2,10,27,.76); backdrop-filter: blur(12px); }
.command-palette__panel { position: relative; width: min(42rem,100%); max-height: min(42rem,75vh); overflow: hidden auto; border: 1px solid rgba(201,145,44,.35); border-radius: 1rem; color: #eef3ff; background: #0a1936; box-shadow: 0 32px 100px rgba(0,0,0,.5); }
.command-palette__head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: 1rem 1.1rem .75rem; color: #d9ad57; }
.command-palette__head label { font: 700 .72rem/1 sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.command-palette__head button { border: 1px solid rgba(255,255,255,.2); border-radius: .35rem; padding: .3rem .45rem; color: inherit; background: transparent; cursor: pointer; }
.command-palette input { width: calc(100% - 2rem); margin: 0 1rem 1rem; border: 1px solid rgba(255,255,255,.18); border-radius: .65rem; padding: 1rem; color: #fff; background: rgba(255,255,255,.07); font-size: 1rem; }
.command-palette input:focus { outline: 2px solid #d8a843; outline-offset: 2px; }
.command-palette__results { padding: 0 1rem 1rem; }
.command-palette__hint { margin: .25rem 0 .5rem; color: rgba(255,255,255,.55); font: 600 .68rem/1 sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.command-palette__results nav { display: grid; gap: .25rem; }
.command-palette__results a { display: flex; gap: .8rem; align-items: center; border-radius: .55rem; padding: .85rem; color: #fff; text-decoration: none; }
.command-palette__results a span { color: #d9ad57; font-size: .7rem; }
.command-palette__results a:is(:hover,:focus,.is-active) { background: rgba(255,255,255,.09); }
.command-palette__footer { display: flex; gap: 1rem; margin: 0; padding: .7rem 1rem; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.5); font: .65rem/1 sans-serif; }
body.has-dialog { overflow: hidden; }

/* Signature constellation */
.constellation { position: relative; overflow: hidden; color: #f8f6ef; background: radial-gradient(circle at 75% 45%,rgba(31,72,126,.65),transparent 35%),#071633; }
.constellation::before { content: ''; position: absolute; inset: 0; opacity: .13; background-image: radial-gradient(circle,#fff 1px,transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to right,transparent,#000); }
.constellation__grid { position: relative; display: grid; grid-template-columns: minmax(16rem,.7fr) minmax(28rem,1.3fr); align-items: center; gap: 4rem; min-height: 42rem; }
.constellation h2 { max-width: 10ch; color: #fff; font-size: clamp(2.6rem,5vw,5.3rem); line-height: .98; }
.constellation p { max-width: 35rem; color: rgba(255,255,255,.7); }
.constellation__prompt { color: #d9ad57 !important; font: 600 .72rem/1.3 sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.constellation__map { position: relative; min-height: 31rem; }
.constellation__map svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.constellation__map path { fill: none; stroke: rgba(217,173,87,.48); stroke-width: 1.5; stroke-dasharray: 7 8; transition: opacity .3s,stroke-width .3s; }
.constellation__node { position: absolute; z-index: 2; display: grid; place-content: center; width: 9.5rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #fff; text-align: center; text-decoration: none; background: rgba(10,30,64,.72); backdrop-filter: blur(8px); transition: transform .35s,border-color .35s,background .35s; }
.constellation__node small { color: #d9ad57; }
.constellation__node strong { font-family: var(--font-serif,serif); font-size: 1.35rem; }
.constellation__node span { color: rgba(255,255,255,.6); font-size: .65rem; }
.constellation__node:is(:hover,:focus) { z-index: 4; transform: scale(1.08); border-color: #d9ad57; background: #153464; }
.constellation__node--science { left: 4%; top: 4%; }.constellation__node--systems { left: 48%; top: 32%; }.constellation__node--society { right: 0; bottom: 0; }.constellation__node--energy { left: 14%; bottom: 4%; width: 5.5rem; background: #b57c1d; }
.constellation__map:has([data-node="science"]:hover) path:not([data-link~="science"]),.constellation__map:has([data-node="systems"]:hover) path:not([data-link~="systems"]),.constellation__map:has([data-node="society"]:hover) path:not([data-link~="society"]) { opacity: .12; }
.constellation__map:has(.constellation__node:hover) path { stroke-width: 2.5; }

/* Reveal and premium surfaces */
.js [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .75s ease,transform .75s ease; }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
.book-object,[data-tilt] { transform-style: preserve-3d; transition: transform .18s ease-out,box-shadow .25s; }
.book-object:hover,[data-tilt]:hover { box-shadow: -20px 28px 45px rgba(0,0,0,.24); }

/* Page-family fixes and controls */
.book-single-hero .book-subtitle,.book-single-hero .entry-kicker { color: rgba(255,255,255,.78) !important; }
.book-single-hero h1 { color: #fff; }
.book-cover-image { margin:0; max-width:420px; overflow:hidden; border:1px solid rgba(217,173,87,.45); box-shadow:22px 28px 60px rgba(0,0,0,.38); }
.book-cover-image img { display:block; width:100%; height:auto; }
.availability-note { margin:0; color:#536174; }.availability-note strong { color:#071633; font:600 1.75rem/1.2 var(--font-serif,serif); }
.global-breadcrumbs .breadcrumbs { display: flex; flex-wrap: wrap; gap: .35rem .55rem; align-items: center; }
.archive-filters select,.archive-filters input { min-height: 3rem; border: 1px solid rgba(8,25,55,.2); border-radius: .4rem; padding: .65rem 2.4rem .65rem .8rem; background-color: #fff; box-shadow: 0 8px 25px rgba(8,25,55,.05); }
.archive-filters button { min-height: 3rem; border-radius: .35rem; }
.cv-content section { position: relative; }
.js .cv-content section > :not(h2):not(h3):not(.cv-section-toggle) { transition: opacity .3s; }
.cv-section-toggle { float: right; width: 2.25rem; height: 2.25rem; border: 1px solid rgba(8,25,55,.18); border-radius: 50%; color: #071633; background: transparent; cursor: pointer; }
.cv-content section.is-collapsed > :not(h2):not(h3):not(.cv-section-toggle) { display: none; }

@media (max-width: 1050px) {
  .header-search kbd { display: none; }
  .constellation__grid { grid-template-columns: 1fr; gap: 1rem; }
  .constellation h2 { max-width: 14ch; }
}
@media (max-width: 720px) {
  .site-header__inner { gap: .45rem; }
  .site-branding { flex: 0 0 76px; overflow: hidden; }
  .brand-lockup--header { display: block; width: 76px; overflow: hidden; }
  .brand-lockup--header img { width: 230px !important; max-width: none !important; height: 56px !important; object-fit: contain; object-position: left center; }
  .header-search { width: 2.6rem; height: 2.6rem; }
  .site-header .header-cart span:not(.cart-count),.site-header .cart-label { display: none; }
  .site-header .header-cart { min-width: 2.6rem; width: 2.6rem; height: 2.6rem; padding: 0; justify-content: center; border-radius: 50%; }
  .site-header .commerce-cart-link { display:grid; place-items:center; width:2.5rem; height:2.5rem; margin:0; font-size:0; }
  .site-header .commerce-cart-link .cart-icon { display:block; }
  .site-header .commerce-cart-link .cart-count { position:absolute; right:-1px; top:-1px; width:17px; min-width:17px; height:17px; border:2px solid #fff; font-size:.55rem; }
  .global-breadcrumbs { overflow: hidden; }
  .global-breadcrumbs .breadcrumbs { flex-wrap: nowrap; white-space: nowrap; font-size: .7rem; }
  .global-breadcrumbs .breadcrumbs > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .book-single-hero h1 { font-size: clamp(2.25rem,11vw,3.4rem) !important; }
  .constellation__grid { min-height: auto; padding-block: 4.5rem; }
  .constellation__map { min-height: 27rem; transform: scale(.94); }
  .constellation__node { width: 7.5rem; }
  .constellation__node--energy { width: 4.5rem; }
  .command-palette { padding-top: 4.5rem; }
  .command-palette__panel { max-height: calc(100vh - 6rem); }
  .command-palette__footer { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .js [data-reveal] { opacity: 1; transform: none; transition: none; }
  .reading-progress,.constellation__map path { display: none; }
  .book-object,[data-tilt] { transform: none !important; }
}

/* Compact editorial rhythm */
.os-section { padding-block:clamp(3.25rem,5.5vw,5.5rem); }
.home-hero--immersive { min-height:680px; padding-block:clamp(3.5rem,5vw,5rem); }
.home-pillars__grid>a { min-height:160px; padding:1.5rem 1.75rem; }
.home-record { padding-block:clamp(2.75rem,4vw,4rem); background:#fff; }
.home-record__grid { display:grid; grid-template-columns:1.15fr repeat(3,1fr); gap:0; align-items:stretch; }
.home-record header { padding:1rem 2rem 1rem 0; }
.home-record h2 { max-width:13ch; margin-top:.55rem; font-size:clamp(1.7rem,2.7vw,2.6rem); }
.home-record__grid>a { display:flex; flex-direction:column; padding:1rem 1.5rem; border-left:1px solid var(--os-border); color:inherit; text-decoration:none; transition:background .25s ease; }
.home-record__grid>a:hover { background:var(--os-ivory); }
.home-record__grid>a span { color:var(--os-gold); font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.home-record__grid>a strong { margin:.55rem 0 .45rem; color:var(--os-navy); font-family:var(--os-serif); font-size:1.18rem; line-height:1.2; }
.home-record__grid>a p { margin:0; color:var(--os-muted); font-size:.78rem; line-height:1.55; }
.constellation__grid { min-height:34rem; gap:2.5rem; }
.constellation__map { min-height:26rem; }
.article-feature,.idea-grid,.research-grid,.media-grid { margin-top:2rem; }
.section-link { margin-top:1.75rem; }
.home-book__grid,.home-about__grid { gap:clamp(2.5rem,5vw,5rem); }
.journey-track { margin:2.5rem 0 2rem; }
.journey-track article { min-height:6.5rem; }
.impact-dashboard,.topic-network,.purchase-section,.archive-cta { padding-block:clamp(3.25rem,5.5vw,5.5rem); }
.site-footer { padding-top:clamp(3.25rem,5vw,4.75rem); }
.site-footer__grid { gap:2rem; }
.site-footer__identity { max-width:23rem; }
.site-footer__focus { margin-top:1rem; color:rgba(255,255,255,.58); font-size:.78rem; line-height:1.6; }
.site-footer__enquiry { display:inline-block; margin-top:1rem; color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.site-footer__enquiry span { color:var(--os-gold-soft); }
.site-footer__bottom { margin-top:2.5rem; }

/* Readable typography on every photographic or navy surface */
.research-hero,.research-archive-hero,.research-single__header,.science-single>header,
.systems-hero,.archive-hero,.insight-header,.ideas-hero,.idea-single-hero,.books-hero,.book-single-hero,.search-hero,
.media-hero,.speaking-hero,.media-landing-hero,.media-single-hero,.speaking-single-hero,.contact-hero,.cv-hero,
.home-writing,.home-about,.journey,.impact-dashboard,.research-programmes,.endorsements,.idea-quote,.constellation,.site-footer {
  color:rgba(255,255,255,.86);
}
.home-writing .section-header>p:last-child,.home-about p,.research-programmes p,.impact-dashboard p,
.constellation p,.endorsements p,.idea-quote p { color:rgba(255,255,255,.76); }
.home-writing h2,.home-writing h3,.home-about h2,.home-about h3,.research-programmes h2,.research-programmes h3,
.impact-dashboard h2,.impact-dashboard h3,.endorsements h2,.idea-quote h2,.constellation h2 { color:#fff; }
.site-footer a { color:rgba(255,255,255,.82); }
.research-single__header .research-facts { border-color:rgba(255,255,255,.38); }
.research-single__header .research-facts div { border-color:rgba(255,255,255,.38); }
.research-single__header .research-facts span { color:rgba(255,255,255,.68); font-weight:700; letter-spacing:.08em; }
.research-single__header .research-facts strong { color:#fff; font-weight:650; }
.science-single>header .standfirst,.book-single-hero .book-meta,.book-single-hero .book-meta span,
.ideas-hero p,.idea-single-hero .standfirst,.media-single-hero p,.speaking-single-hero dd,
.contact-hero p,.cv-hero p { color:rgba(255,255,255,.86)!important; }
.book-single-hero .eyebrow,.research-single__header .eyebrow,.science-single>header .eyebrow,
.media-single-hero .eyebrow,.speaking-single-hero .eyebrow,.contact-hero .eyebrow,.cv-hero .eyebrow { color:#e8bd66!important; }
.content-availability { max-width:46rem; padding:1.15rem 1.25rem; border-left:3px solid var(--os-gold); background:var(--os-ivory); color:var(--os-muted); font-family:var(--os-sans); font-size:.92rem; line-height:1.65; }
.research-row__journal { color:var(--os-muted); }
.research-row__abstract,.archive-abstract { max-width:52rem; margin-top:.75rem; color:var(--os-muted); font-size:.88rem; line-height:1.65; }
.insight-header .standfirst { color:rgba(255,255,255,.9)!important; text-shadow:0 2px 24px rgba(0,0,0,.28); }
.insight-header .article-byline { color:rgba(255,255,255,.78)!important; }
.insight-header .article-byline time,.insight-header .article-byline span { color:inherit; }
.insight-header .article-topics a { color:#efc56f!important; border-color:#efc56f; }
.patent-number { color:var(--os-gold)!important; font-size:.76rem; font-weight:700; letter-spacing:.04em; }

/* Research archive: compact, self-contained filter toolbar */
.research-archive-hero { padding-block:clamp(3.25rem,5vw,5rem); }
.research-archive-hero .os-container { position:relative; z-index:1; }
.research-archive-hero .eyebrow { margin-bottom:.55rem; }
.research-archive-hero h1 { margin:0; }
.research-archive .archive-shell { padding-block:clamp(2.5rem,4vw,4rem); }
.research-archive .archive-filters { display:grid; grid-template-columns:minmax(12rem,1.25fr) minmax(9rem,.75fr) minmax(10rem,.9fr) auto auto; align-items:end; gap:1rem; margin:0; padding:1.25rem; border:1px solid var(--os-border); border-radius:var(--os-radius); background:var(--os-soft-grey); box-shadow:0 12px 35px rgba(7,26,51,.06); }
.research-archive .archive-filters>div { min-width:0; }
.research-archive .archive-filters label { display:block; margin:0 0 .4rem; color:var(--os-navy); font-size:.64rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.research-archive .archive-filters select { display:block; width:100%; min-height:3rem; margin:0; color:var(--os-text); font-size:.86rem; }
.research-archive .archive-filters .os-button { min-height:3rem; margin:0; padding:.75rem 1.15rem; white-space:nowrap; }
.research-archive .filter-reset { align-self:center; margin-top:1.3rem; padding:.5rem .15rem; color:var(--os-navy); font-size:.7rem; font-weight:750; text-transform:uppercase; }
.research-archive .research-results { margin-top:2.5rem; }

@media (max-width:900px) {
  .home-record__grid { grid-template-columns:1fr 1fr; }
  .home-record header { grid-column:1/-1; padding:0 0 1.5rem; }
  .home-record h2 { max-width:none; }
  .home-record__grid>a { border-top:1px solid var(--os-border); border-left:0; }
  .home-record__grid>a:nth-of-type(even) { border-left:1px solid var(--os-border); }
  .research-archive .archive-filters { grid-template-columns:1fr 1fr; }
  .research-archive .archive-filters .os-button { justify-self:start; }
  .research-archive .filter-reset { align-self:end; margin-top:0; }
}
@media (max-width:680px) {
  .os-section { padding-block:3rem; }
  .home-hero--immersive { min-height:620px; padding-block:3.5rem 5rem; }
  .home-pillars__grid>a { min-height:125px; }
  .home-record { padding-block:2.75rem; }
  .home-record__grid { grid-template-columns:1fr; }
  .home-record__grid>a:nth-of-type(even) { border-left:0; }
  .home-record__grid>a { padding:1.15rem 0; }
  .constellation__grid { padding-block:3rem; }
  .constellation__map { min-height:23rem; }
  .site-footer__grid { gap:2.25rem; }
  .research-archive-hero { padding-block:3rem; }
  .research-archive .archive-filters { grid-template-columns:1fr; padding:1rem; }
  .research-archive .archive-filters .os-button { width:100%; justify-content:center; }
  .research-archive .filter-reset { justify-self:center; }
}

/* Journey timeline */
.journey { color:#eef3ff; background:linear-gradient(135deg,#071633,#102c57); }
.journey h2 { max-width:13ch; color:#fff; font-size:clamp(2.4rem,5vw,4.8rem); }
.journey-track { position:relative; margin:4rem 0 3rem; }
.journey-track::before { content:''; position:absolute; left:calc(22% + 7px); top:0; bottom:0; width:1px; background:linear-gradient(#d9ad57,rgba(217,173,87,.15)); }
.journey-track article { display:grid; grid-template-columns:22% 2rem 1fr; gap:1.25rem; min-height:8rem; }
.journey-track time { color:#d9ad57; font:700 .75rem/1.3 sans-serif; letter-spacing:.08em; }
.journey-track article>span { z-index:1; width:15px; height:15px; border:3px solid #071633; border-radius:50%; background:#d9ad57; box-shadow:0 0 0 1px #d9ad57; }
.journey-track h3 { margin:0; color:#fff; font-size:1.45rem; }.journey-track p { color:rgba(255,255,255,.65); }

/* Research evidence dashboard */
.impact-dashboard { padding:clamp(4rem,8vw,7rem) 0; color:#fff; background:#071633; }
.impact-dashboard__grid { display:grid; grid-template-columns:1.4fr repeat(3,.55fr); gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.impact-dashboard__grid>div { padding:clamp(1.4rem,3vw,2.7rem); background:#071633; }
.impact-dashboard h2 { color:#fff; }.impact-stat { display:flex; flex-direction:column; justify-content:end; }
.impact-stat strong { color:#d9ad57; font:400 clamp(3rem,5vw,5rem)/1 var(--font-serif,serif); }.impact-stat span { color:rgba(255,255,255,.62); font-size:.75rem; }
.impact-spectrum { grid-column:1/-1; display:flex; align-items:end; gap:1.2rem; height:10rem; padding-top:1rem !important; }
.impact-spectrum i { flex:1; height:var(--value); background:linear-gradient(#d9ad57,rgba(217,173,87,.1)); transform-origin:bottom; animation:spectrum-rise 1.2s ease both; }
@keyframes spectrum-rise { from { transform:scaleY(0); } }

/* Systems topic network */
.topic-network { padding:clamp(4rem,8vw,7rem) 0; overflow:hidden; background:#f0ede4; }
.topic-network__grid { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:4rem; }
.topic-network__map { position:relative; min-height:34rem; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 72px,rgba(8,25,55,.12) 73px 74px); }
.topic-network__core,.topic-network__map a { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:7rem; aspect-ratio:1; border-radius:50%; text-align:center; text-decoration:none; transform:translate(-50%,-50%); }
.topic-network__core { z-index:2; color:#fff; background:#071633; font:1.2rem var(--font-serif,serif); }
.topic-network__map a { --angle:calc(var(--i)*60deg); width:6.3rem; border:1px solid rgba(8,25,55,.2); color:#071633; background:#fff; transform:translate(-50%,-50%) rotate(var(--angle)) translateX(13rem) rotate(calc(var(--angle)*-1)); transition:.25s; }
.topic-network__map a:hover { color:#fff; background:#b57c1d; transform:translate(-50%,-50%) rotate(var(--angle)) translateX(13rem) rotate(calc(var(--angle)*-1)) scale(1.08); }

/* Contact decision cards and commerce cues */
.enquiry-cards { display:grid; gap:.65rem; margin-top:2rem; }.enquiry-cards button { display:flex; align-items:center; gap:.8rem; width:100%; border:1px solid rgba(8,25,55,.16); border-radius:.55rem; padding:1rem; color:#071633; text-align:left; background:#fff; cursor:pointer; transition:.25s; }
.enquiry-cards button span { color:#b57c1d; }.enquiry-cards button:hover { border-color:#b57c1d; transform:translateX(5px); box-shadow:0 12px 30px rgba(8,25,55,.08); }
.book-hero-cta { margin-top:1.5rem; }.commerce-cart-link { position:relative; margin-left:.75rem; white-space:nowrap; }.cart-icon { position:relative; width:15px; height:13px; overflow:hidden; border:1.5px solid currentColor; border-radius:2px; color:transparent; transform:none; }.cart-icon::before { content:''; position:absolute; left:3px; top:-5px; width:6px; height:7px; border:1.5px solid #071633; border-radius:50%; }.commerce-cart-link .cart-count { flex:0 0 20px; width:20px; min-width:20px; height:20px; padding:0; display:grid; place-items:center; border-radius:50%; color:#071633; background:#d9ad57; font-size:.62rem; line-height:1; }

@media(max-width:760px){
 .journey-track::before{left:7px}.journey-track article{grid-template-columns:2rem 1fr;min-height:10rem}.journey-track time{grid-column:2}.journey-track article>span{grid-column:1;grid-row:1}.journey-track article>div{grid-column:2}
 .impact-dashboard__grid{grid-template-columns:1fr}.impact-dashboard__grid>div:first-child,.impact-spectrum{grid-column:1}.impact-stat{min-height:9rem}.impact-spectrum{height:7rem}
 .topic-network__grid{grid-template-columns:1fr;gap:1rem}.topic-network__map{min-height:28rem;transform:scale(.8);margin-inline:-3rem}.topic-network__map a{transform:translate(-50%,-50%) rotate(var(--angle)) translateX(11rem) rotate(calc(var(--angle)*-1))}
 .book-hero-cta{display:inline-flex!important}
}

/* Featured public-media treatment */
.media-feature { padding:clamp(4rem,8vw,7rem) 0; color:#fff; background:#071633; }
.media-feature__grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:clamp(2rem,6vw,6rem); }
.media-feature__visual { position:relative; display:block; min-height:28rem; overflow:hidden; border-radius:.35rem; background:#102c57; }
.media-feature__visual img { position:absolute; width:100%; height:100%; object-fit:cover; transition:transform .7s; }.media-feature__visual:hover img { transform:scale(1.035); }
.media-feature__play { position:absolute; right:1.5rem; bottom:1.5rem; display:grid; place-items:center; width:4rem; aspect-ratio:1; border-radius:50%; color:#071633; background:#d9ad57; font-size:1.4rem; }
.media-feature h2,.media-feature h2 a { color:#fff; }.media-feature p { color:rgba(255,255,255,.68); }
.media-wave { display:flex; align-items:center; gap:4px; height:4rem; margin:2rem 0; }.media-wave i { width:3px; height:var(--h); background:#d9ad57; animation:wave 1.8s ease-in-out infinite alternate; animation-delay:calc(var(--h)*-10ms); }
@keyframes wave { to { height:20%;opacity:.4; } }
@media(max-width:760px){.media-feature__grid{grid-template-columns:1fr}.media-feature__visual{min-height:16rem}.media-wave{height:3rem}}
@media(prefers-reduced-motion:reduce){.impact-spectrum i,.media-wave i{animation:none}}
