@layer reset, base, layout, components, responsive;

@font-face {
  font-family:"Fucius Sans";src:url("./fonts/fucius-sans-regular.woff") format("woff");
  font-style:normal;font-weight:400;font-display:swap;
}
@font-face {
  font-family:"Fucius Sans";src:url("./fonts/fucius-sans-bold.woff") format("woff");
  font-style:normal;font-weight:700;font-display:swap;
}
@font-face {
  font-family:"Fucius Sans";src:url("./fonts/fucius-sans-italic.woff") format("woff");
  font-style:italic;font-weight:400;font-display:swap;
}

@font-face {
  font-family:"Fucius Roman";src:url("./fonts/lmroman17-regular.otf") format("opentype");
  font-style:normal;font-weight:400;font-display:swap;
}
@font-face {
  font-family:"Fucius Roman";src:url("./fonts/lmroman12-italic.otf") format("opentype");
  font-style:italic;font-weight:400;font-display:swap;
}

@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  body,h1,h2,h3,h4,p,figure,dl,dd{margin:0}
  button,input,textarea{font:inherit}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;height:auto;display:block}
  button{cursor:pointer}
  button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}
  [hidden]{display:none!important}
}

@layer base {
  :root {
    --ink:#1b2922;--muted:#626b63;--paper:#fcfcf9;--light:#f0f1eb;
    --dark:#0b1210;--dark-soft:#111c17;--gold:#cbb780;--gold-dark:#7d6534;
    --line:#d9dcd2;--line-dark:#ffffff22;
    --font:"Fucius Sans",Arial,Helvetica,sans-serif;--serif:"Fucius Roman",Georgia,"Times New Roman",serif;
    --text-size:1.125rem;--text-lead:1.25rem;--text-small:1rem;--text-detail:.875rem;--text-label:.75rem;
    --gutter:clamp(1.4rem,5.2vw,5rem);--header-height:104px;--compact-height:74px;
    color-scheme:light;
  }
  html{scroll-behavior:smooth;scroll-padding-top:110px}
  body{font-family:var(--font);font-size:var(--text-size);line-height:1.75;color:var(--ink);background:var(--paper);padding-top:var(--header-height);-webkit-font-smoothing:antialiased}
  ::selection{background:#dccb9d;color:#132017}
  h1,h2,h3{font-family:var(--serif);font-weight:400}
  h1,h2{letter-spacing:-.025em;line-height:1.09}
  h1{font-size:clamp(3.15rem,5.5vw,5.5rem)}
  h2{font-size:clamp(2.65rem,4.05vw,4.1rem)}
  h3{font-size:1.85rem;line-height:1.18;letter-spacing:-.012em}
  h4{font-weight:400}
  p{color:var(--muted)}
  p+p{margin-top:1.2rem}
  em{font-weight:400}
  address{font-style:normal}
  button{border:0}
  button,input,textarea,summary{border-radius:0}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold-dark);outline-offset:6px}
  .dark a:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--gold)}
  input:focus-visible,textarea:focus-visible{outline-offset:3px}
  .dark{background:var(--dark);color:var(--paper)}
  .dark p{color:#bcc5bc}
  .dark em{color:var(--gold)}
  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .skip-link{position:fixed;top:.6rem;left:1rem;transform:translateY(-160%);z-index:300;padding:.75rem 1rem;background:var(--gold);color:var(--dark)}
  .skip-link:focus{transform:none}
  #main{outline:0}
}

@layer layout {
  .container{width:100%;max-width:1480px;padding-inline:var(--gutter);margin-inline:auto}
  .section{padding-block:clamp(5rem,8.4vw,8.5rem)}
  .site-header{position:fixed;inset:0 0 auto;z-index:100;background:#0b1210f5;color:var(--paper);border-bottom:1px solid #ffffff1c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
  .header-inner{max-width:1480px;height:var(--header-height);padding-inline:var(--gutter);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:height .24s ease}
  .brand{flex-shrink:0;display:block;line-height:0}
  .brand img{width:220px;height:auto;transition:width .24s ease}
  .site-header.is-compact .header-inner{height:var(--compact-height)}
  .site-header.is-compact .brand img{width:178px}
  .desktop-nav{display:flex;align-items:center;gap:clamp(1.75rem,3.2vw,3.5rem);font-size:var(--text-small);line-height:1.4}
  .desktop-nav>a{display:flex;align-items:center;gap:1.25rem;padding-block:.75rem;position:relative;color:#ccd1c8}
  .desktop-nav>a::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
  .desktop-nav>a:hover,.desktop-nav>a[aria-current]{color:var(--paper)}
  .desktop-nav>a:hover::after,.desktop-nav>a[aria-current]::after{transform:scaleX(1)}
  .desktop-nav>a:last-child{border-left:1px solid #ffffff25;padding-left:2rem}
  .desktop-nav>a:last-child::after{left:2rem}
  .desktop-nav .arrow{width:19px;height:19px;color:var(--gold)}
  .menu-toggle{display:none;background:none;color:var(--paper);padding:.85rem 0 .85rem 1rem;align-items:center;gap:1rem;font-size:var(--text-small)}
  .menu-lines{width:23px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
  .menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(45deg)}
  .mobile-nav{padding:0 var(--gutter) 1.5rem;border-top:1px solid var(--line-dark);max-height:calc(100dvh - 90px);overflow-y:auto;background:var(--dark)}
  .mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line-dark);color:#d5d9d1}
  .hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:730px}
  .hero-art{position:absolute;inset:0;z-index:-2}
  .hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
  .hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1210f7 0%,#0b1210d4 25%,#0b121045 56%,#0b121000 82%),linear-gradient(0deg,#0b1210e8 0%,transparent 30%)}
  .hero-content{flex:1;padding-top:clamp(3.8rem,5.6vw,5.6rem);padding-bottom:2.8rem}
  .hero h1{max-width:770px;font-size:clamp(4rem,6.25vw,6.65rem);line-height:1.02;letter-spacing:-.034em}
  .hero h1>span,.hero h1>em{display:block}
  .hero-content>p{max-width:460px;font-size:var(--text-size);line-height:1.8;margin-top:1.8rem;color:#c8cfc4}
  .hero-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2rem}
  .hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:1.2rem 1.8rem}
  .hero-bottom p{font-size:.8125rem;letter-spacing:.025em;color:#b0baac}
  .hero-bottom p span{color:var(--gold);margin-inline:.65rem}
  .hero-caption{font-size:var(--text-label);letter-spacing:.16em;text-transform:uppercase;color:#b9b59e}
  .fact-strip{background:#111b16;border-block:1px solid var(--line-dark)}
  .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:1.9rem}
  .facts>div{padding-inline:2.75rem;border-left:1px solid var(--line-dark)}
  .facts>div:first-child{padding-left:0;border:0}
  .facts span{display:block;font-size:var(--text-label);text-transform:uppercase;letter-spacing:.12em;color:#acb8aa;margin-bottom:.4rem}
  .facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.8rem;color:#dedacb;line-height:1.2}
  .intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3.5rem,7.5vw,8rem)}
  .intro-copy{max-width:600px;min-width:0}
  .intro-copy>.text-link{margin-top:2.1rem}
  .lead{font-size:var(--text-lead);line-height:1.7;color:var(--ink)}
  .strengths-section{padding-bottom:clamp(5rem,8.4vw,8.5rem)}
  .section-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1rem}
  .section-heading .eyebrow{margin:0}
  .strengths-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;border-top:1px solid var(--line)}
  .strength-card{padding-top:2rem;min-width:0}
  .card-index{display:block;font-family:var(--serif);font-size:1rem;color:var(--gold-dark);margin-bottom:1.6rem}
  .strength-card h3{font-size:1.9rem;margin-bottom:1rem}
  .strength-card p{font-size:var(--text-size)}
  .strength-card .strength-tagline{color:var(--ink);font-size:var(--text-size);line-height:1.6}
  .strength-card p+p{margin-top:.75rem}
  .strategy-feature{position:relative;background:linear-gradient(120deg,#0b1210,#152219);border-top:1px solid #cbb78070}
  .strategy-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(4rem,10vw,10rem);align-items:center}
  .strategy-intro>p:not(.risk-note){max-width:430px;margin-top:1.8rem}
  .strategy-intro>.text-link{margin-top:2rem}
  .strategy-thesis{padding:2.7rem 3rem;border:1px solid #9caa892e;background:#0b121040}
  .strategy-thesis>.label{display:block;color:var(--gold);margin-bottom:1.25rem}
  .thesis-row{padding:1.25rem 0;border-top:1px solid #ffffff1f}
  .thesis-row:last-child{padding-bottom:0}
  .thesis-row dt{font-size:var(--text-detail);color:#b0bba9;margin-bottom:.3rem}
  .thesis-row dd{font-family:var(--serif);font-size:1.45rem;line-height:1.4;color:#eeeee4}
  .process-editorial{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(4rem,8vw,8.5rem);align-items:start}
  .process-editorial-intro h2{margin-bottom:2.3rem}
  .process-image{margin-bottom:1.7rem}
  .process-image img{width:100%;aspect-ratio:1.45;object-fit:cover}
  .process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
  .process-list>li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}
  .process-number{font-family:var(--serif);font-size:1rem;color:var(--gold-dark);padding-top:.3rem}
  .process-list h3{font-size:1.8rem}
  .process-list p{font-size:var(--text-size);line-height:1.75}
  .process-list .process-tagline{font-size:var(--text-small);color:var(--gold-dark);margin-top:.35rem}
  .process-list p+p{margin-top:.6rem}
  .recognition{background:var(--light)}
  .awards-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,8vw,8rem)}
  .awards-list{border-top:1px solid #cbd1c3}
  .award-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:1.65rem;padding:2.25rem 0;border-bottom:1px solid #cbd1c3}
  .award-year{font-family:var(--serif);font-size:1.8rem;line-height:1.2;color:var(--gold-dark)}
  .award-card .label{display:block;margin-bottom:.9rem;font-size:var(--text-label)}
  .award-card h3{font-size:2rem;line-height:1.16;margin-bottom:.85rem}
  .award-card p{font-size:var(--text-small);max-width:380px}
  .contact-cta,.careers{position:relative;padding-block:clamp(5rem,7.8vw,8rem);border-bottom:1px solid var(--line-dark)}
  .contact-cta{background:var(--dark-soft)}
  .cta-layout{display:flex;justify-content:space-between;align-items:center;gap:3rem}
  .cta-layout h2{font-size:clamp(2.8rem,4.2vw,4.5rem)}
  .cta-layout>div>p{max-width:510px;margin-top:1.5rem}
  .cta-link{display:flex;align-items:center;gap:1.8rem;font-size:var(--text-small);white-space:nowrap}
  .circle-arrow{width:76px;height:76px;border:1px solid #cbb7808c;border-radius:50%;display:grid;place-items:center;transition:background .2s,border-color .2s}
  .circle-arrow .arrow{width:28px;height:28px;color:var(--gold)}
  .cta-link:hover .circle-arrow{background:#cbb78014;border-color:var(--gold)}
  .site-footer{--social-accent:var(--gold);background:var(--dark);color:#c3cbbe;padding-block:3.7rem 2.5rem}
  .footer-addresses{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:3rem;padding-bottom:2.5rem}
  .footer-addresses address,.footer-email{display:grid;align-content:start;gap:.7rem;font-size:var(--text-small);line-height:1.85;color:#adb7a7}
  .footer-addresses strong{font-size:var(--text-label);letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--gold)}
  .footer-email a{font:inherit;color:inherit;overflow-wrap:anywhere}
  .footer-email a:hover,.footer-bottom a:hover{color:var(--gold)}
  .footer-email .social-links{margin-top:.1rem}
  .site-footer .social-links a:focus-visible{outline-color:var(--gold)}
  .footer-bottom{border-block:1px solid var(--line-dark);padding-block:1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;font-size:var(--text-detail);color:#acb7a5}
  .footer-bottom nav{display:flex;gap:1.5rem;flex-wrap:wrap}
  .back-top span{margin-left:.65rem;color:var(--gold)}
  .footer-notes{padding-top:1.5rem;max-width:1120px}
  .footer-notes p{font-size:.8125rem;line-height:1.8;color:#a3ae9d}
  .footer-regulatory strong{font-weight:400;color:#c4ccbd}
  .footer-regulatory+.footer-regulatory{margin-top:.2rem}
  .footer-disclaimer{margin-top:.8rem}
  .page-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line-dark);padding-block:4.7rem}
  .page-hero--image{display:flex;align-items:center;isolation:isolate;min-height:570px;padding-block:5rem}
  .page-hero h1{max-width:860px}
  .page-hero-content{position:relative;z-index:2}
  .page-hero-art{position:absolute;inset:0 0 0 12%;z-index:-1}
  .page-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
  .page-hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b1210 0%,#0b1210e3 17%,#0b121075 48%,#0b121019 78%),linear-gradient(0deg,#0b121078,transparent 45%)}
  .page-intro{max-width:515px;margin-top:1.8rem;font-size:var(--text-size);line-height:1.85}
  .page-hero--image .page-intro{color:#c1ccbd}
  .page-contact .page-hero--image{min-height:500px}
  .page-about .page-hero h1{font-size:clamp(3rem,4.9vw,5rem)}
  .page-subnav{position:sticky;top:var(--compact-height);z-index:80;background:#fcfcf9f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .page-subnav nav{display:flex;justify-content:space-between;gap:1.5rem;white-space:nowrap;overflow-x:auto;padding-block:1.2rem;font-size:var(--text-small)}
  .page-subnav a{display:inline-flex;align-items:center;gap:.65rem}
  .page-subnav a>span{font-size:var(--text-label);color:var(--gold-dark)}
  .page-subnav a:hover{color:var(--gold-dark)}
  .page-investment-philosophy section[id]{scroll-margin-top:58px}
  .story-dates{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.75rem}
  .story-dates strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.8rem;color:var(--gold-dark);line-height:1.3}
  .story-dates span{display:block;font-size:var(--text-detail);color:var(--muted);margin-top:.5rem}
  .research-split,.process-section{background:var(--light)}
  .image-text{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(3.5rem,7vw,7rem);align-items:center}
  .image-text figure{position:relative}
  .image-text figure img{width:100%;aspect-ratio:1.18;object-fit:cover}
  .image-text figure figcaption{position:absolute;inset:auto auto 1.25rem 1.4rem;background:#fcfcf9e8;padding:.55rem .8rem;font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
  .image-text>div>p{margin-top:1.5rem}
  .image-text .text-link{margin-top:1.8rem}
  .process-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3.5rem}
  .heading-aside{font-size:var(--text-small);max-width:300px}
  .team-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
  .team-card{border-top:1px solid var(--line);padding-top:2.3rem;min-width:0}
  .team-heading{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}
  .team-monogram{width:65px;height:65px;flex:0 0 65px;display:grid;place-items:center;border:1px solid #b7a06c;color:var(--gold-dark);font-family:var(--serif);font-size:1.3rem}
  .team-heading h3{font-size:2rem}
  .team-role{color:var(--gold-dark);font-size:var(--text-detail);margin-top:.3rem}
  .team-card>p,.bio>div p{font-size:var(--text-size)}
  .bio{margin-top:1.5rem;border-block:1px solid var(--line)}
  .bio summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:var(--text-small)}
  .bio summary::-webkit-details-marker{display:none}
  .bio summary span{font-size:1.4rem;line-height:1;color:var(--gold-dark)}
  .bio[open] summary span{transform:rotate(45deg)}
  .bio>div{padding-block:.5rem 1.5rem}
  .portfolio-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
  .portfolio-copy{padding-top:1.7rem}
  .portfolio-copy .lead{font-size:var(--text-lead)}
  .frontier{min-width:0;width:100%;margin:0;padding:0;background:var(--paper)}
  .frontier img{width:100%;height:auto}
  .property-list{margin-top:2rem;border-top:1px solid #c6cebf}
  .property-list>div{display:flex;gap:1.75rem;align-items:center;padding:.9rem 0;border-bottom:1px solid #c6cebf}
  .property-list span{font-size:var(--text-label);color:var(--gold-dark)}
  .property-list strong{font-weight:400;font-size:var(--text-small)}
  .topic-rule{max-width:280px;display:flex;justify-content:space-between;position:relative;margin-top:3rem}
  .topic-rule::before{content:"";position:absolute;top:4px;left:0;right:0;height:1px;background:var(--line)}
  .topic-rule span{width:9px;height:9px;border:1px solid #9b8756;border-radius:50%;position:relative;background:var(--paper)}
  .topic-rule span:nth-child(3){background:var(--gold);box-shadow:0 0 0 5px #cbb78020}
  .process-steps{border-top:1px solid #c6cebf}
  .process-step{display:grid;grid-template-columns:55px 1fr 1.1fr;gap:2.5rem;padding:2.4rem 0;border-bottom:1px solid #c6cebf}
  .step-index{font-family:var(--serif);font-size:1.3rem;color:var(--gold-dark);padding-top:.2rem}
  .process-step h3{font-size:1.9rem}
  .step-tagline{font-size:var(--text-small);margin-top:.5rem;color:var(--gold-dark)}
  .process-step>p{font-size:var(--text-size)}
  .contact-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(4rem,8vw,8rem);align-items:start}
  .contact-details dl{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 2rem;margin-top:2.7rem}
  .contact-details dl>div{padding-top:1.25rem;border-top:1px solid var(--line)}
  .contact-email{grid-column:1/-1;padding-bottom:.5rem}
  .contact-details dt{font-size:var(--text-label);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.75rem}
  .contact-details dd{font-size:var(--text-size);color:var(--muted)}
  .contact-email .arrow{width:18px;height:18px}
  .contact-details dd a{display:flex;align-items:center;gap:.75rem;overflow-wrap:anywhere}
  .contact-details a:hover{color:var(--gold-dark)}
  .contact-social{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}
  .contact-social>.label{display:block;margin-bottom:.35rem}
  .enquiry-panel{background:var(--light);padding:clamp(1.75rem,3.5vw,3.4rem);border-top:1px solid #b7a06c}
  .enquiry-panel h3{font-size:2.4rem;margin-top:1rem}
  .enquiry-panel>p{font-size:var(--text-size);margin-top:.9rem}
  .enquiry-panel form{margin-top:2rem}
  .enquiry-panel fieldset{border:0;padding:0;margin:0;min-width:0}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
  .form-field{margin-bottom:1.5rem;min-width:0}
  .form-field label{display:block;margin-bottom:.6rem;font-size:var(--text-small)}
  .form-field label span{font-size:.8125rem;color:var(--muted)}
  .form-field input,.form-field textarea{width:100%;border:1px solid #7e8975;background:#fcfcf980;color:var(--ink);padding:.75rem;font-size:var(--text-size)}
  .form-field input:focus,.form-field textarea:focus{border-color:var(--gold-dark);background:var(--paper)}
  .form-field textarea{resize:vertical;min-height:130px}
  .checkbox-label{display:flex;align-items:flex-start;gap:.7rem;font-size:var(--text-detail);line-height:1.65}
  .checkbox-label input{accent-color:var(--gold-dark);width:17px;height:17px;margin:2px 0 0;flex-shrink:0}
  .form-note{font-size:var(--text-detail);line-height:1.7;margin-block:1.25rem}
  .form-note a,.legal-prose a{text-decoration:underline;text-underline-offset:.2em}
  .form-status{font-size:var(--text-small);margin-top:1rem}
  .form-status:empty{display:none}
  .contact-band{background:var(--light);padding-block:2rem;border-top:1px solid var(--line)}
  .contact-band>.container{display:flex;justify-content:space-between;align-items:center;gap:2rem}
  .contact-band p{font-family:var(--serif);font-size:1.8rem;color:var(--ink)}
  .legal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(3rem,7vw,7rem)}
  .legal-sidebar{align-self:start;position:sticky;top:105px}
  .legal-sidebar nav{display:grid;gap:.25rem}
  .legal-sidebar a{padding:.5rem 0;font-size:var(--text-small);color:var(--muted)}
  .legal-sidebar a[aria-current]{color:var(--gold-dark)}
  .legal-prose{max-width:810px}
  .legal-prose h2,.legal-prose h3,.legal-prose h4{font-family:var(--font);font-size:var(--text-lead);line-height:1.5;font-weight:700;letter-spacing:0;margin-block:2rem 1rem}
  .legal-prose p{margin-bottom:1rem;overflow-wrap:anywhere}
  .legal-prose li{color:var(--muted);margin-bottom:.7rem}
  .legal-prose strong{font-weight:700}
  .legal-prose p:has(>strong:only-child){margin-top:2rem;color:var(--ink)}
}

@layer components {
  .eyebrow{display:flex;align-items:center;gap:1rem;font-size:var(--text-label);line-height:1.6;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:1.8rem}
  .eyebrow::before{content:"";flex:0 0 26px;height:1px;background:currentColor;opacity:.7}
  .eyebrow:has(.section-number)::before{display:none}
  .section-number{font-size:var(--text-label);color:#687360;letter-spacing:.06em}
  .dark .eyebrow,.dark .label{color:var(--gold)}
  .hero .eyebrow{margin-bottom:1.7rem}
  .hero .eyebrow::before{flex-basis:30px}
  .label{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.13em;line-height:1.7;color:var(--gold-dark)}
  .subtle-label{font-size:var(--text-detail);color:var(--muted)}
  .social-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
  .social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #9ba58b55;border-radius:50%;color:var(--social-accent,var(--gold-dark));transition:background .18s,border-color .18s}
  .social-icon{display:block;width:20px;height:20px;flex-shrink:0}
  .social-links a:hover{background:#cbb78018;border-color:currentColor}
  .arrow{width:22px;height:22px;display:block;flex-shrink:0}
  .button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:52px;padding:.95rem 1.4rem;font-size:var(--text-small);line-height:1.4;transition:background .18s,color .18s}
  .button.gold{background:var(--gold);color:#152015;border:1px solid var(--gold)}
  .button.gold:hover{background:#dec996;border-color:#dec996}
  .dark-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}
  .dark-button:hover{background:#304332}
  .text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:1.4rem;padding-block:.2rem .6rem;border-bottom:1px solid #a3ab97;font-size:var(--text-small);line-height:1.5}
  .text-link .arrow{width:20px;height:20px;transition:transform .18s}
  .text-link:hover .arrow{transform:translateX(3px)}
  .text-link.light{color:var(--paper);border-color:#b8bfaa70}
  .award-source{display:inline-flex;align-items:center;gap:.65rem;margin-top:1rem;font-size:var(--text-detail);color:var(--gold-dark);border-bottom:1px solid #c2c8b8;padding-bottom:.3rem}
  .award-source .arrow{width:16px;height:16px}
  .risk-note{font-size:var(--text-detail);line-height:1.75;max-width:620px;margin-top:2rem}
  .dark .risk-note{color:#a9b39f}
}

@layer responsive {
  @media (min-width:1700px){
    .hero{min-height:810px}
    .hero-art img{object-position:center 57%}
  }
  @media (max-width:1100px){
    .desktop-nav{gap:1.7rem}
    .desktop-nav>a:last-child{padding-left:1.7rem}
    .brand img{width:196px}
    .strengths-grid{gap:2rem}
    .strategy-layout{gap:4rem}
    .strategy-thesis{padding:2.25rem}
    .process-editorial{gap:4rem}
    .awards-layout{gap:4rem}
    .hero-caption{display:none}
    .contact-details dl{grid-template-columns:1fr}
    .portfolio-layout{grid-template-columns:1fr;gap:2.5rem}
    .portfolio-content{max-width:760px}
    .frontier{max-width:900px;margin-inline:auto}
    .portfolio-copy{max-width:640px}
  }
  @media (max-width:800px){
    :root{--header-height:86px;--compact-height:66px;--text-size:1.0625rem;--text-lead:1.1875rem}
    .desktop-nav{display:none}
    .menu-toggle{display:flex}
    .brand img{width:198px}
    .site-header.is-compact .brand img{width:164px}
    .hero{min-height:0}
    .hero-content{padding-top:4.4rem;padding-bottom:2.7rem}
    .hero h1{font-size:clamp(3.65rem,9.7vw,5.4rem)}
    .hero-art img{object-position:60% center}
    .hero-art::after{background:linear-gradient(90deg,#0b1210ee,#0b121097 55%,#0b12102b),linear-gradient(0deg,#0b1210dc,transparent 55%)}
    .hero-bottom{padding-bottom:1.8rem}
    .facts>div{padding-inline:1.5rem}
    .facts strong{font-size:1.5rem}
    .facts span{letter-spacing:.09em}
    .intro-grid,.image-text,.strategy-layout,.process-editorial,.awards-layout,.contact-layout{grid-template-columns:1fr;gap:3rem}
    .intro-copy{max-width:none}
    .strengths-grid{grid-template-columns:1fr;gap:0}
    .strength-card{display:grid;grid-template-columns:35px minmax(0,1fr);gap:.6rem 1rem;border-bottom:1px solid var(--line);padding-block:1.8rem}
    .strength-card .card-index{grid-column:1;grid-row:1;margin:0}
    .strength-card h3{grid-column:2;margin:0;font-size:1.85rem}
    .strength-card p{grid-column:2}
    .strength-card p+p{margin:0}
    .process-editorial-intro{max-width:none}
    .process-image img{aspect-ratio:2}
    .strategy-thesis{padding:2.4rem;max-width:650px}
    .strategy-thesis dl{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}
    .thesis-row:nth-last-child(2){padding-bottom:0}
    .awards-list{max-width:none}
    .award-card{grid-template-columns:95px minmax(0,1fr);gap:1rem}
    .cta-layout{align-items:start;flex-direction:column;gap:2.3rem}
    .cta-link{gap:1.5rem}
    .circle-arrow{width:64px;height:64px}
    .footer-addresses{grid-template-columns:1fr 1fr;gap:2rem}
    .footer-email{grid-column:1/-1}
    .footer-bottom{justify-content:start}
    .footer-bottom>span{width:100%}
    .back-top{margin-left:auto}
    .page-hero--image{min-height:490px;padding-block:4rem}
    .page-contact .page-hero--image{min-height:450px}
    .page-hero-art{inset:0}
    .page-hero-art img{object-position:65% center}
    .page-hero-art::after{background:linear-gradient(90deg,#0b1210e8,#0b1210bc 55%,#0b12106e),linear-gradient(0deg,#0b12109e,transparent 65%)}
    .page-hero h1,.page-about .page-hero h1{font-size:clamp(3.1rem,7.2vw,4.5rem);max-width:650px}
    .page-intro{max-width:480px}
    .page-subnav{position:static}
    .page-subnav nav{justify-content:start;gap:1.75rem}
    .page-investment-philosophy section[id]{scroll-margin-top:0}
    .image-text figure img{aspect-ratio:1.7}
    .process-heading{align-items:start;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}
    .team-grid{gap:2rem}
    .team-heading{flex-direction:column;align-items:start;gap:1.3rem}
    .team-heading h3{font-size:1.8rem}
    .process-step{grid-template-columns:35px 1fr;gap:.65rem 1.2rem}
    .process-step>p{grid-column:2}
    .contact-details dl{grid-template-columns:1fr 1fr}
    .enquiry-panel{padding:2.3rem}
    .legal-layout{grid-template-columns:1fr;gap:2.5rem}
    .legal-sidebar{position:static}
    .legal-sidebar nav{display:flex;gap:1.5rem;flex-wrap:wrap}
    .legal-sidebar .eyebrow{margin-bottom:.8rem}
  }
  @media (max-width:560px){
    .header-inner{gap:1rem}
    .brand img{width:168px}
    .site-header.is-compact .brand img{width:150px}
    .section{padding-block:4rem}
    h2{font-size:clamp(2.35rem,9.3vw,3rem)}
    .hero-content{padding-top:3.5rem;padding-bottom:2.1rem}
    .hero .eyebrow{letter-spacing:.1em;gap:.75rem;flex-wrap:wrap}
    .hero .eyebrow::before{flex-basis:20px}
    .hero h1{font-size:clamp(3.15rem,12.5vw,4.4rem)}
    .hero-content>p{max-width:335px;margin-top:1.5rem}
    .hero-actions{align-items:start;flex-direction:column;gap:1.25rem;margin-top:1.6rem}
    .hero-bottom p{letter-spacing:0}
    .hero-bottom p span{margin-inline:.35rem}
    .hero-art img{object-position:58% center}
    .hero-art::after{background:linear-gradient(90deg,#0b1210eb,#0b1210b0),linear-gradient(0deg,#0b1210dd,transparent)}
    .facts{grid-template-columns:1fr 1fr;gap:1.5rem 0;padding-block:1.75rem}
    .facts>div{padding-inline:1rem}
    .facts>div:last-child{grid-column:1/-1;border:0;padding:1.35rem 0 0;border-top:1px solid var(--line-dark);display:flex;align-items:center;justify-content:space-between;gap:1rem}
    .facts>div:last-child>span{margin:0}
    .facts strong{font-size:1.45rem}
    .section-heading .subtle-label{display:none}
    .strengths-section{padding-bottom:4rem}
    .strategy-thesis{padding:1.5rem}
    .strategy-thesis dl{grid-template-columns:1fr}
    .thesis-row:nth-last-child(2){padding-bottom:1.25rem}
    .process-image img{aspect-ratio:1.55}
    .process-list>li{grid-template-columns:30px minmax(0,1fr);gap:.75rem}
    .process-list h3{font-size:1.65rem}
    .award-card{grid-template-columns:64px minmax(0,1fr);gap:.9rem;padding-block:1.8rem}
    .award-year{font-size:1.45rem}
    .award-card h3{font-size:1.65rem}
    .award-card .label{letter-spacing:.08em}
    .cta-layout h2{font-size:2.6rem}
    .contact-cta,.careers{padding-block:4rem}
    .site-footer{padding-top:3rem}
    .footer-addresses{grid-template-columns:1fr;gap:1.6rem}
    .footer-bottom{gap:1.2rem}
    .footer-bottom nav{gap:.95rem}
    .back-top{margin-left:0}
    .page-hero{padding-block:3.4rem}
    .page-hero--image{min-height:460px}
    .page-hero h1,.page-about .page-hero h1{font-size:clamp(2.75rem,10.7vw,3.5rem)}
    .page-intro{line-height:1.8;max-width:340px}
    .page-contact .page-hero--image{min-height:420px}
    .story-dates{gap:1.3rem;margin-top:2rem}
    .story-dates strong{font-size:1.45rem}
    .image-text figure img{aspect-ratio:1.22}
    .image-text figure figcaption{left:.8rem;bottom:.8rem;right:.8rem;letter-spacing:.04em}
    .team-grid{grid-template-columns:1fr;gap:2.5rem}
    .team-heading{flex-direction:row;align-items:center}
    .team-monogram{width:58px;height:58px;flex-basis:58px}
    .portfolio-copy{padding-top:1.5rem}
    .process-step h3{font-size:1.6rem}
    .contact-details dl{grid-template-columns:1fr;gap:1.4rem}
    .enquiry-panel{padding:1.5rem}
    .enquiry-panel h3{font-size:2.1rem}
    .form-grid{grid-template-columns:1fr;gap:0}
    .contact-band>.container{align-items:start;flex-direction:column;gap:1rem}
    .contact-band p{font-size:1.6rem}
    .legal-sidebar nav{gap:.6rem 1.2rem}
    .heading-aside br{display:none}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation:none!important;transition:none!important}
  }
  @media print{
    body{padding:0;background:white;font-size:11pt}
    .site-header,.site-footer,.page-subnav,.contact-cta,.hero-art,.page-hero-art,.button,.hero-bottom{display:none!important}
    .dark{background:white!important;color:black!important}
    .dark p,.dark em{color:black!important}
    .section,.page-hero{padding-block:1rem;min-height:0}
    .container{padding:0}
    h1,.hero h1{font-size:30pt}
    h2{font-size:24pt}
    .legal-layout,.intro-grid,.portfolio-layout,.strategy-layout,.process-editorial,.awards-layout{display:block}
    .legal-sidebar{display:none}
    .bio>div{display:block}
    .enquiry-panel{break-inside:avoid}
  }
}
