/* Hornbill reference-led editorial refinement, 20 October 2026.
   Uses the existing palette and preserves page content, order and behavior. */
:root {
  --section-space:clamp(4.5rem,7.5vw,7rem);
  --eyebrow-heading-gap:1.5rem;
}
body {line-height:1.65}
h1,h2,h3 {text-wrap:balance}
h1,.display,.visual-hero h1 {font-size:clamp(3rem,4.8vw,4.5rem);line-height:1.06;letter-spacing:-.035em}
h2 {font-size:clamp(2.2rem,3.5vw,3.25rem);line-height:1.13;letter-spacing:-.03em}
h3 {line-height:1.25}
.lead {font-size:1.125rem;line-height:1.7}
.eyebrow,.editorial-kicker,.page-index {font-size:.68rem;font-weight:550;letter-spacing:.14em}
.eyebrow::before {width:1.25rem;height:1px}
.btn,.text-link {font-size:.73rem;letter-spacing:.07em;font-weight:550}
.btn {padding:1rem 1.4rem;border-radius:0}
.text-link {width:fit-content;gap:1rem}
.site-header {border-bottom:1px solid var(--line)}
.site-header.is-scrolled {box-shadow:none}
.nav-shell {min-height:88px}
.brand {width:clamp(12rem,17vw,15rem)}
.nav-link {font-size:.74rem;letter-spacing:.065em;font-weight:550}
.nav-link::after {height:1px}
.nav-cta {min-height:44px}
html.snap-enabled {scroll-snap-type:none}
.home-hero--editorial {min-height:0}
.home-hero__layout {min-height:0;column-gap:clamp(3rem,6vw,6rem)}
.home-hero--editorial .home-hero__copy {padding-block:4.5rem}
.home-hero--editorial h1 {font-size:clamp(3rem,4.4vw,4.35rem);max-width:20ch;line-height:1.08;letter-spacing:-.035em}
.home-hero--editorial .home-hero__copy .eyebrow {font-size:.68rem;margin-bottom:1.75rem}
.home-hero--editorial .home-hero__copy .hero-sectors {font-size:1.05rem;max-width:36ch}
.home-hero__photograph {height:clamp(25rem,36vw,33rem);margin-block:3.5rem}
.home-hero__photograph figcaption {padding:.7rem .9rem;font-size:.65rem}
.home-hero--editorial .home-hero__rail > div {min-height:80px}
.home-hero--editorial .home-hero__rail span {font-size:.65rem}
.home-hero--editorial .home-hero__rail strong {font-size:.9rem;font-weight:500}
.opportunity-grid {gap:clamp(3rem,7vw,7rem)}
.opportunity-copy {font-size:clamp(2.15rem,3.3vw,3.1rem);max-width:24ch;line-height:1.15}
.opportunity-body {padding-top:.25rem;font-size:1rem}
.opportunity-body p + p {margin-top:1.15rem}
.opportunity-visual-grid {background:transparent;border:0;border-radius:0;overflow:visible;gap:1.5rem;margin-top:3.5rem}
.opportunity-visual,.opportunity-visual-grid > :last-child {height:310px;border-radius:0}
.opportunity-signal {color:var(--ink);background:var(--ivory);padding:2.5rem}
.opportunity-signal::before,.opportunity-signal::after {display:none}
.opportunity-signal > span {color:var(--muted);font-size:.7rem;letter-spacing:.1em}
.opportunity-signal strong {color:var(--forest);font-family:var(--serif);font-size:5rem;line-height:1.1}
.opportunity-signal p {color:var(--muted);font-size:.9rem;line-height:1.55}
.opportunity-visual figcaption strong {font-size:1.65rem;max-width:24ch}
.focus-intro {align-items:start;margin-bottom:3rem;gap:4rem}
.focus-intro h2 {font-family:var(--sans);font-size:clamp(2.1rem,3.25vw,3rem);font-weight:400;line-height:1.12;max-width:24ch;letter-spacing:-.045em}
.focus-intro__aside {padding:3rem 0 0;font-size:1rem;max-width:30ch}
.investment-qualities {gap:1rem;margin-top:0}
.investment-quality {position:relative;padding:2rem;min-height:310px;background:var(--ivory);border:0;display:flex;flex-direction:column}
.quality-index {font-size:.7rem;margin-bottom:3rem;letter-spacing:.1em}
.investment-quality::after {content:"+";position:absolute;right:2rem;top:1.5rem;font-size:1.25rem;color:var(--muted);font-weight:400}
.investment-quality h3 {font-family:var(--sans);font-size:1.35rem;font-weight:450;max-width:23ch;letter-spacing:-.025em}
.investment-quality p {font-size:.95rem;line-height:1.6}
.rooted-section {margin:0 auto var(--section-space);border:0;gap:clamp(2rem,5vw,5rem);align-items:center}
.rooted-media {height:clamp(26rem,38vw,36rem)}
.rooted-copy {padding:1rem 0}
.rooted-copy h2 {font-size:clamp(2.3rem,3.5vw,3.25rem);max-width:19ch}
.rooted-copy p {line-height:1.65}
.rooted-copy .text-link {margin-top:.5rem}
.photo-credit {font-size:.65rem;line-height:1.4}
.section--compact {padding-block:4.5rem}
.strategy-strip {width:min(100%,1480px);margin-inline:auto;padding-inline:var(--page-pad);gap:3rem;border:0}
.strategy-card {display:flex;flex-direction:column;align-items:flex-start;padding:2.25rem 0 3.5rem;border:0;border-top:1px solid var(--line)}
.strategy-card:last-child {border-right:0}
.strategy-card h2 {font-size:2.3rem}
.strategy-card p {font-size:1rem;max-width:47ch}
.strategy-card .text-link {margin-top:auto}
.unified-contact,.contact-band--left {padding-block:4.5rem}
.unified-contact h2 {font-size:clamp(2.5rem,4vw,3.7rem)}
.unified-contact .lead {max-width:58ch;margin-bottom:1.75rem}
.visual-hero__grid {gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:3.5rem}
.visual-hero__copy {padding:1.5rem 0}
.visual-hero__copy h1 {max-width:17ch}
.visual-hero__media {height:440px;min-height:0;max-height:none;margin:0}
.visual-hero__media > img {height:100%;object-fit:cover}
.photo-split {border:0;background:transparent;gap:clamp(2rem,5vw,5rem);align-items:center}
.photo-split--story .photo-split__media {height:460px}
.photo-split__copy {padding:0}
.editorial-heading,.editorial-section-heading {gap:clamp(2rem,5vw,5rem)}
.principles-intro {gap:0 4rem}
.principles-grid {gap:1.5rem;margin-top:3rem}
.principle figure {margin-bottom:1.5rem}
.principle figcaption {font-size:.7rem;padding-block:.8rem}
.principle h3 {font-family:var(--sans);font-size:1.4rem;font-weight:450;letter-spacing:-.02em}
.principle > p:last-child {line-height:1.65}
.asset-classes-panel--text {min-height:0}
.asset-classes-panel--text .visual-story-panel__quote > div {gap:0 5rem}
.asset-class-links {margin-top:1rem}
.strategy-hero {padding-block:5rem}
.strategy-hero__grid {gap:5rem}
.strategy-hero h1 {font-size:clamp(3rem,4.6vw,4.2rem)}
.strategy-hero__scope {padding-top:1.5rem;margin-top:1.5rem;font-size:.8rem;font-weight:500}
.strategy-tabs {box-shadow:none;border-radius:0;padding:.3rem}
.strategy-tab {border-radius:0;font-size:.8rem;letter-spacing:.06em}
.strategy-awards__item {padding-block:1.75rem}
.strategy-awards__item h3 {font-size:1.5rem}
.risk-grid {gap:1rem;border:0}
.risk-card {border:1px solid var(--line);padding:2rem}
.risk-card h3 {font-size:1.3rem}
.portfolio-logo-grid {gap:1rem}
.portfolio-company {padding:2rem 1.5rem}
.portfolio-company img {margin-bottom:2rem}
.portfolio-company h3 {font-size:1.55rem}
.team-hero--text .editorial-hero__grid {padding-block:0}
.team-hero--text .visual-hero__copy {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:end;gap:4rem;max-width:none;padding:5rem 0}
.team-hero--text .visual-hero__copy h1 {max-width:19ch;font-size:clamp(3rem,4.6vw,4.4rem)}
.team-hero--text .lead {font-size:1rem;margin:0 0 .25rem;max-width:28ch}
.team-leadership-section,.visual-team-section {padding-block:4rem 5rem}
.team-leadership-section .editorial-section-heading,.visual-team-section .editorial-section-heading {border-top:1px solid var(--line);padding-top:1.25rem;margin-bottom:2.5rem}
.team-leadership-section .editorial-section-heading h2,.visual-team-section .editorial-section-heading h2 {font-family:var(--sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin:0}
.team-grid,.team-leadership-grid {gap:2rem 1.5rem;border:0;background:transparent}
.team-card.team-profile-card {border:0;background:transparent;box-shadow:none;overflow:visible}
.team-profile-card__media {padding:1.4rem;aspect-ratio:1;min-height:0;background:var(--ivory-deep)}
.team-profile-card__body {padding:1.3rem 0 0;min-height:12rem}
.team-profile-card__body h3 {font-family:var(--sans);font-size:1.2rem;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin-bottom:.45rem}
.team-profile-card__body > p {font-size:.85rem;line-height:1.55}
.team-profile-trigger {padding-block:.9rem;font-size:.65rem;font-weight:550;letter-spacing:.08em}
.team-linkedin {font-size:.75rem;margin-top:.6rem}
.visual-careers-band {padding-block:5rem}
.visual-careers-band .visual-split__copy {max-width:900px}
.visual-careers-band h2 {max-width:23ch}
.news-item {padding-block:2rem;gap:3rem}
.news-item h2 {font-family:var(--sans);font-size:1.45rem;font-weight:400;line-height:1.35;letter-spacing:-.025em}
.news-item p {font-size:.8rem;line-height:1.55}
body[data-page="journal"] .page-hero {padding-block:5rem}
.news-linkedin {padding:3rem}
.contact-layout {padding-block:4.5rem;gap:5rem}
.contact-intro h1 {font-size:clamp(3rem,4.8vw,4.5rem);margin-bottom:1.5rem}
.office-details {margin-top:2.5rem}
.office-map {margin-top:1.5rem;height:220px}
.enquiry-panel {padding-left:3rem}
.enquiry-panel h2 {font-size:2.2rem;margin-bottom:2rem}
.form-grid {gap:1.3rem 1rem}
.form-field label {font-size:.8rem;margin-bottom:.5rem}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea {min-height:48px;padding:.8rem;border-color:var(--line)}
.enquiry-form textarea {height:125px}
.form-submit-row {margin-top:1.5rem}
.site-footer {padding-top:0}
.footer-main {padding-block:5rem 4rem;grid-template-columns:1.4fr .7fr .9fr;gap:4rem}
.footer-brand img {width:15rem}
.footer-brand p {margin-top:1.5rem;max-width:36ch;font-size:.95rem;line-height:1.7}
.footer-column h4 {font-size:.68rem;letter-spacing:.14em;font-weight:500;margin-bottom:1.5rem}
.footer-column a {font-size:.9rem;margin-top:.65rem}
.footer-bottom {padding-block:1.5rem;font-size:.65rem;letter-spacing:.07em}
@media(max-width:1100px) {
 .nav-shell {min-height:80px}.brand {width:14rem}
 .home-hero--editorial h1 {font-size:3rem}
 .home-hero__photograph {height:430px}
 .team-hero--text .visual-hero__copy {gap:2rem}
 .team-grid,.team-leadership-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-main {gap:2.5rem}
 .footer-brand {grid-column:auto}
 .contact-layout {gap:3rem}
 .investment-quality {padding:1.5rem}
 .investment-quality::after {right:1.5rem}
}
@media(max-width:820px) {
 .visual-hero__grid {grid-template-columns:minmax(0,1fr)}
 .photo-split {grid-template-columns:minmax(0,1fr)}
 .photo-split--story .photo-split__media {height:360px}
 .footer-main {grid-template-columns:1fr 1fr}
 .footer-brand {grid-column:1/-1}
 .contact-layout {gap:2rem}
 .enquiry-panel {padding-left:1.5rem}
}
@media(max-width:760px) {
 :root {--section-space:3.75rem}
 h1,.display,.visual-hero h1 {font-size:clamp(2.6rem,9vw,3.4rem)}
 h2 {font-size:clamp(2rem,7.8vw,2.6rem)}
 .home-hero__layout {grid-template-columns:minmax(0,1fr)}
 .home-hero--editorial .home-hero__copy {padding-block:3rem 2.25rem}
 .home-hero--editorial h1 {font-size:clamp(2.6rem,9vw,3.4rem);max-width:21ch}
 .home-hero__photograph {height:270px;margin:0 0 1.75rem}
 .home-hero--editorial .home-hero__rail > div {min-height:60px}
 .home-hero--editorial .home-hero__rail strong {font-size:.8rem}
 .home-hero__actions {gap:1rem}
 .opportunity-grid,.focus-intro {gap:1.5rem}
 .opportunity-copy,.focus-intro h2 {font-size:2.2rem}
 .opportunity-visual-grid {gap:1rem;margin-top:2rem}
 .opportunity-visual,.opportunity-visual-grid > :last-child {height:250px}
 .opportunity-signal {padding:2rem}
 .opportunity-signal strong {font-size:4.5rem}
 .focus-intro__aside {padding:0;max-width:38ch}
 .focus-intro {margin-bottom:2rem}
 .investment-qualities {gap:1rem}
 .investment-quality {min-height:0;padding:1.75rem}
 .quality-index {margin-bottom:2.5rem}
 .rooted-section {gap:2rem;margin-bottom:3.75rem}
 .rooted-media {height:300px}
 .rooted-copy {padding:0}
 .rooted-copy h2 {font-size:2.3rem}
 .strategy-strip {grid-template-columns:minmax(0,1fr);gap:0}
 .strategy-card {padding-block:2rem}
 .strategy-card h2 {font-size:2.2rem}
 .section--compact,.unified-contact,.contact-band--left {padding-block:3rem}
 .visual-hero__grid {padding-block:2.5rem;gap:2rem}
 .visual-hero__copy {padding:0}
 .visual-hero__media {height:320px}
 .photo-split--story .photo-split__media {height:300px}
 .photo-split__copy {padding:0}
 .principles-grid {gap:2.5rem;margin-top:2rem}
 .asset-classes-panel--text .visual-story-panel__quote > div {gap:1rem}
 .strategy-hero {padding-block:3rem}
 .strategy-hero__grid {gap:2rem}
 .strategy-hero h1 {font-size:2.8rem}
 .risk-card {padding:1.5rem}
 .portfolio-company {padding:1.25rem}
 .portfolio-company h3 {font-size:1.3rem}
 .team-hero--text .visual-hero__copy {grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:3rem}
 .team-hero--text .visual-hero__copy h1 {font-size:2.8rem}
 .team-hero--text .lead {max-width:36ch}
 .team-leadership-section,.visual-team-section {padding-block:3rem}
 .team-profile-card__body {min-height:0}
 .visual-careers-band {padding-block:3.5rem}
 .news-item {gap:.75rem;padding-block:1.5rem}
 .news-item h2 {font-size:1.4rem}
 body[data-page="journal"] .page-hero {padding-block:3rem}
 .news-linkedin {padding:1.75rem}
 .contact-layout {padding-block:3rem;gap:0}
 .enquiry-panel {padding:0}
 .contact-intro h1 {font-size:3rem}
 .footer-main {padding-block:3.5rem 2.5rem;gap:2.5rem}
 .footer-brand img {width:14rem}
 .footer-bottom {font-size:.65rem}
}
@media(max-width:480px) {
 .team-grid,.team-leadership-grid {grid-template-columns:minmax(0,1fr);gap:2.75rem}
 .team-profile-card__media img {max-width:280px}
 .footer-main {grid-template-columns:minmax(0,1fr)}
 .footer-brand {grid-column:auto}
 .portfolio-logo-grid {grid-template-columns:minmax(0,1fr)}
}

@media(max-width:380px){.nav-shell {gap:.5rem}.brand {width:12rem}}

/* Compact shared footer. */
.site-footer {background:var(--ink);color:var(--paper);padding-top:0}
.footer-main {grid-template-columns:minmax(0,1.3fr) minmax(0,.65fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding-block:3.5rem 3rem;align-items:start}
.footer-brand {grid-column:auto;max-width:27rem}
.footer-logo {display:block;width:fit-content}
.footer-brand img {width:14rem;max-width:100%;height:auto;background:var(--paper);padding:.55rem .7rem;border-radius:0;filter:none}
.footer-brand p {font-family:var(--sans);font-size:.95rem;font-weight:400;line-height:1.75;letter-spacing:0;color:rgba(255,253,248,.7);max-width:38ch;margin:1.3rem 0 0;text-wrap:pretty}
.footer-column {padding-top:.4rem;min-width:0}
.footer-column h4 {font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.1em;line-height:1.4;color:rgba(255,253,248,.55);margin:0 0 1.2rem}
.footer-column a {font-size:.9rem;line-height:1.6;color:rgba(255,253,248,.85);padding:0;margin-top:.5rem;border:0;text-decoration:none}
.footer-column a:hover {color:var(--paper);text-decoration:underline;text-underline-offset:4px}
.footer-contact a {overflow-wrap:anywhere}
.footer-bottom {border-top:1px solid rgba(255,253,248,.12);padding-block:1.25rem;gap:1rem;font-size:.7rem;line-height:1.5;letter-spacing:0;text-transform:none;color:rgba(255,253,248,.5)}
.footer-bottom span {margin:0}
.footer-credits {text-decoration:none}
.footer-credits:hover {color:var(--paper);text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){
 .footer-main {grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-block:3rem}
 .footer-brand {grid-column:1/-1;max-width:32rem}
 .footer-brand p {max-width:45ch}
}
@media(max-width:480px){
 .footer-main {grid-template-columns:minmax(0,1fr);gap:2rem;padding-block:2.5rem}
 .footer-brand {grid-column:auto}
 .footer-brand img {width:13rem}
 .footer-brand p {font-size:.9rem;max-width:37ch}
 .footer-column h4 {margin-bottom:.85rem}
 .footer-bottom {flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.68rem}
}
