:root { --ink: #061125; --ink-2: #0b1f3a; --cyan: #5ee7e1; --coral: #ff7a67; --paper: #f7f8f5; --white: #ffffff; --muted: #657080; --line: rgba(6, 17, 37, .14); --max: 1280px; --serif: Georgia, "Times New Roman", serif; --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0px; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
.wrap { width: min(calc(100% - 48px),var(--max)); margin-inline: auto; }
.eyebrow { font-size: 0.76rem; font-weight: 750; letter-spacing: 0.17em; text-transform: uppercase; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s, transform 0.7s; }
.reveal.on { opacity: 1; transform: none; }
.site-header { position: absolute; z-index: 50; inset: 0px 0px auto; height: 100px; color: rgb(255, 255, 255); border-bottom: 1px solid rgba(255, 255, 255, 0.18); transition: background 0.25s, height 0.25s; }
.site-header.is-scrolled { position: fixed; height: 76px; background: rgba(6, 17, 37, 0.96); backdrop-filter: blur(14px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand-logo { width: 210px; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 27px; font-size: 0.86rem; font-weight: 650; }
.desktop-nav > a:not(.nav-cta) { color: rgba(255, 255, 255, 0.78); transition: color 0.2s; }
.desktop-nav > a:hover, .desktop-nav > a.active { color: var(--cyan); }
.nav-cta { display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255, 255, 255, 0.44); border-radius: 999px; padding: 12px 18px; }
.nav-cta span { transition: transform 0.2s; }
.nav-cta:hover span { transform: translate(2px, -2px); }
.menu-button { display: none; width: 42px; height: 42px; padding: 0px; border: 0px; background: transparent; flex-direction: column; align-items: center; justify-content: center; gap: 7px; }
.menu-button span { width: 24px; height: 1px; background: currentcolor; transition: transform 0.2s; }
.mobile-nav { display: none; position: fixed; inset: 0px; z-index: -1; background: var(--ink); padding-top: 100px; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; }
.mobile-nav.is-open { opacity: 1; visibility: visible; }
.mobile-nav-inner { display: grid; align-content: center; min-height: calc(-100px + 100svh); padding-block: 35px; }
.mobile-nav a { padding: 13px 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.14); font-family: var(--serif); font-size: clamp(1.7rem, 7vw, 2.6rem); }
.mobile-nav .mobile-cta { margin-top: 30px; border: 1px solid var(--cyan); border-radius: 999px; padding: 14px 20px; color: var(--cyan); font-family: var(--sans); font-size: 0.94rem; text-align: center; }
.home-hero { position: relative; min-height: min(900px, 100svh); display: flex; align-items: center; isolation: isolate; overflow: hidden; background: var(--ink); color: rgb(255, 255, 255); }
.home-hero::before { content: ""; position: absolute; inset: 0px; z-index: -2; background: linear-gradient(90deg, rgba(6, 17, 37, 0.99), rgba(6, 17, 37, 0.92) 34%, rgba(6, 17, 37, 0.25) 70%, rgba(6, 17, 37, 0.04)), url("/assets/claris-hero.png") center center / cover no-repeat; }
.home-hero::after { content: ""; position: absolute; z-index: -1; width: 620px; height: 620px; right: -310px; bottom: -260px; border: 1px solid rgba(94, 231, 225, 0.25); border-radius: 50%; box-shadow: rgba(94, 231, 225, 0.04) 0px 0px 0px 90px, rgba(94, 231, 225, 0.024) 0px 0px 0px 190px; }
.home-hero-content { padding: 120px 0px 74px; max-width: 840px; }
.home-hero .eyebrow { color: var(--cyan); margin-bottom: 26px; }
.home-hero h1, .page-hero h1 { margin: 0px; font-family: var(--serif); font-weight: 400; line-height: 0.94; letter-spacing: -0.055em; }
.home-hero h1 { max-width: 940px; font-size: clamp(4rem, 7.5vw, 7.6rem); }
.home-hero h1 em, .page-hero h1 em { color: var(--cyan); font-style: normal; }
.home-hero-copy { max-width: 650px; margin: 32px 0px 0px; color: rgba(255, 255, 255, 0.76); font-size: clamp(1.05rem, 1.45vw, 1.3rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 54px; padding: 14px 22px; border: 1px solid var(--cyan); border-radius: 999px; background: var(--cyan); color: var(--ink); font-size: 0.9rem; font-weight: 750; transition: transform 0.2s, box-shadow 0.2s; }
.button:hover { transform: translateY(-2px); box-shadow: rgba(94, 231, 225, 0.18) 0px 12px 30px; }
.button.secondary { background: transparent; border-color: rgba(255, 255, 255, 0.42); color: rgb(255, 255, 255); }
.proof { background: rgb(255, 255, 255); border-bottom: 1px solid var(--line); }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.proof-item { padding: 42px 28px; border-right: 1px solid var(--line); }
.proof-item:first-child { padding-left: 0px; }
.proof-item:last-child { border-right: 0px; }
.proof-value { font-family: var(--serif); font-size: clamp(2.6rem, 4vw, 4rem); line-height: 1; letter-spacing: -0.05em; }
.proof-label { max-width: 180px; margin-top: 11px; color: var(--muted); font-size: 0.84rem; }
.content-section { padding: 118px 0px; }
.content-section.white { background: rgb(255, 255, 255); }
.content-section.dark { background: var(--ink); color: rgb(255, 255, 255); }
.section-head { display: grid; grid-template-columns: 1fr 2fr; gap: 60px; align-items: start; margin-bottom: 65px; }
.section-head .eyebrow { padding-top: 12px; color: rgb(44, 110, 114); }
.content-section.dark .section-head .eyebrow { color: var(--cyan); }
h2 { margin: 0px; font-family: var(--serif); font-size: clamp(2.65rem, 5vw, 5.1rem); font-weight: 400; line-height: 1.03; letter-spacing: -0.045em; }
.section-intro { max-width: 700px; margin: 26px 0px 0px; color: var(--muted); font-size: 1.12rem; line-height: 1.7; }
.dark .section-intro { color: rgba(255, 255, 255, 0.62); }
.principles, .focus-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.principle, .focus-item { min-height: 270px; padding: 34px 28px 40px; border-right: 1px solid var(--line); }
.principle:first-child, .focus-item:first-child { padding-left: 0px; }
.principle:last-child, .focus-item:last-child { border-right: 0px; }
.num { color: rgb(44, 110, 114); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.12em; }
.principle h3, .focus-item h3 { margin: 52px 0px 15px; font-family: var(--serif); font-size: 1.62rem; font-weight: 400; }
.principle p, .focus-item p { margin: 0px; color: var(--muted); font-size: 0.94rem; }
.investment-model { position: relative; overflow: hidden; }
.investment-model::before { content: ""; position: absolute; width: 650px; height: 650px; left: -300px; top: -280px; border-radius: 50%; background: radial-gradient(circle, rgba(94, 231, 225, 0.13), transparent 68%); }
.investment-flow { display: grid; grid-template-columns: 0.82fr 1.5fr 0.9fr; gap: 24px; }
.flow-column { display: grid; gap: 14px; }
.flow-stage { min-height: 164px; padding: 22px 20px 24px; border-top: 1px solid rgba(94, 231, 225, 0.38); }
.flow-number { color: var(--cyan); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.14em; }
.flow-stage h3, .route-card h3 { margin: 18px 0px 10px; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.flow-stage p, .route-card p { margin: 0px; color: rgba(255, 255, 255, 0.58); font-size: 0.88rem; }
.routes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.route-card { display: flex; flex-direction: column; min-height: 342px; padding: 25px; border: 1px solid rgba(94, 231, 225, 0.26); background: rgba(255, 255, 255, 0.035); }
.route-card:first-child { background: linear-gradient(145deg, rgba(94, 231, 225, 0.12), rgba(255, 255, 255, 0.024)); }
.route-label { align-self: flex-start; padding: 7px 10px; border: 1px solid rgba(94, 231, 225, 0.35); border-radius: 999px; color: var(--cyan); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.route-bottom { margin-top: auto; padding-top: 24px; color: rgba(255, 255, 255, 0.38); font-size: 0.76rem; letter-spacing: 0.1em; text-transform: uppercase; }
.focus-note { max-width: 850px; margin: 34px 0px 0px auto; padding-left: 25px; border-left: 3px solid var(--coral); color: rgb(51, 64, 84); font-size: 1.12rem; line-height: 1.65; }
.portfolio-featured { display: grid; grid-template-columns: 1.18fr 0.82fr; grid-template-rows: repeat(3, 1fr); gap: 18px; }
.company-card { position: relative; display: flex; min-height: 290px; padding: 38px; overflow: hidden; background: rgb(231, 244, 244); border-radius: 3px; flex-direction: column; justify-content: space-between; transition: transform 0.25s; }
.company-card:hover { transform: translateY(-4px); }
.company-card::after { content: ""; position: absolute; width: 320px; height: 320px; right: -130px; bottom: -160px; border: 1px solid rgba(6, 17, 37, 0.13); border-radius: 50%; box-shadow: rgba(255, 255, 255, 0.2) 0px 0px 0px 55px, rgba(255, 255, 255, 0.12) 0px 0px 0px 110px; }
.portfolio-featured .company-card:first-child { grid-row: 1 / 4; min-height: 758px; background: linear-gradient(155deg, rgb(215, 243, 242), rgb(237, 247, 245) 55%, rgb(250, 204, 196)); }
.portfolio-featured .company-card:nth-child(2) { background: linear-gradient(145deg, rgb(255, 224, 218), rgb(245, 238, 233)); }
.portfolio-featured .company-card:nth-child(3) { background: linear-gradient(145deg, rgb(220, 229, 246), rgb(237, 242, 248)); }
.portfolio-featured .company-card:nth-child(4) { background: linear-gradient(145deg, rgb(220, 239, 235), rgb(242, 247, 245)); }
.company-meta { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 16px; font-size: 0.7rem; font-weight: 750; letter-spacing: 0.11em; text-transform: uppercase; }
.company-body { position: relative; z-index: 1; }
.company-card h3 { max-width: 560px; margin: 0px 0px 17px; font-family: var(--serif); font-size: clamp(2.1rem, 4vw, 4.8rem); font-weight: 400; line-height: 1; letter-spacing: -0.04em; }
.portfolio-featured .company-card:not(:first-child) h3 { font-size: 2.35rem; }
.company-card p { max-width: 460px; margin: 0px; color: rgb(67, 80, 100); }
.company-link { display: inline-flex; gap: 10px; align-items: center; margin-top: 25px; font-size: 0.85rem; font-weight: 750; }
.portfolio-footer { display: flex; justify-content: space-between; gap: 22px; margin-top: 30px; color: var(--muted); font-size: 0.9rem; }
.text-link { color: var(--ink); font-weight: 750; border-bottom: 1px solid var(--ink); }
.page-hero { position: relative; min-height: 620px; padding: 190px 0px 100px; overflow: hidden; background: var(--ink); color: rgb(255, 255, 255); }
.page-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 2.25fr; gap: 60px; align-items: start; }
.page-hero .eyebrow { padding-top: 13px; color: var(--cyan); }
.page-hero h1 { max-width: 930px; font-size: clamp(3.8rem, 7vw, 7rem); }
.page-intro { max-width: 760px; margin: 35px 0px 0px; color: rgba(255, 255, 255, 0.68); font-size: clamp(1.05rem, 1.4vw, 1.27rem); line-height: 1.68; }
.page-orbit { position: absolute; width: 640px; height: 640px; right: -220px; bottom: -390px; border: 1px solid rgba(94, 231, 225, 0.25); border-radius: 50%; box-shadow: rgba(94, 231, 225, 0.04) 0px 0px 0px 100px, rgba(94, 231, 225, 0.024) 0px 0px 0px 210px; }
.editorial-grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 90px; }
.editorial-aside { color: rgb(44, 110, 114); font-size: 0.76rem; font-weight: 750; letter-spacing: 0.15em; text-transform: uppercase; }
.editorial-body { max-width: 820px; }
.editorial-body h2 { font-size: clamp(2.5rem, 4vw, 4.3rem); }
.editorial-body h3 { margin: 52px 0px 15px; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.editorial-body p { color: rgb(79, 91, 108); font-size: 1.06rem; line-height: 1.78; }
.editorial-body .lead { margin-top: 0px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.55rem, 2.7vw, 2.35rem); line-height: 1.35; }
.about-intro-section { padding-bottom: 60px; }
.about-defines-section { padding-top: 60px; }
.about-team-image { width: min(100%, 980px); margin: 72px auto 0px; aspect-ratio: 5 / 3; overflow: hidden; background: rgb(216, 231, 238); }
.about-team-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 80%; }
.pull-quote { margin: 52px 0px; padding: 28px 0px 28px 30px; border-left: 3px solid var(--coral); color: var(--ink); font-family: var(--serif); font-size: clamp(1.55rem, 2.6vw, 2.25rem); line-height: 1.3; }
.draft-notice { display: flex; align-items: center; gap: 14px; width: min(calc(100% - 48px),var(--max)); margin: 34px auto 0px; padding: 13px 16px; border: 1px solid rgba(255, 122, 103, 0.45); background: rgba(255, 122, 103, 0.08); color: rgb(123, 59, 49); font-size: 0.82rem; }
.draft-notice span { flex: 0 0 auto; padding: 4px 7px; background: var(--coral); color: var(--ink); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.feature-rows { border-top: 1px solid var(--line); }
.feature-row { display: grid; grid-template-columns: 0.38fr 1fr 1.25fr; gap: 35px; padding: 38px 0px; border-bottom: 1px solid var(--line); }
.feature-row .row-number { color: rgb(44, 110, 114); font-size: 0.74rem; font-weight: 750; letter-spacing: 0.12em; }
.feature-row h3 { margin: 0px; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.feature-row p { margin: 0px; color: var(--muted); }
.responsible-pillars { overflow: hidden; }
.responsible-pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.responsible-pillar { min-height: 365px; padding: 34px 32px 38px; border-right: 1px solid var(--line); }
.responsible-pillar:first-child { padding-left: 0px; }
.responsible-pillar:last-child { border-right: 0px; }
.pillar-letter { display: block; color: rgb(44, 110, 114); font-family: var(--serif); font-size: 3.9rem; line-height: 1; }
.responsible-pillar h3 { margin: 82px 0px 17px; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3rem); font-weight: 400; line-height: 1; }
.responsible-pillar p { margin: 0px; color: var(--muted); font-size: 1rem; line-height: 1.68; }
.responsible-cycle { position: relative; overflow: hidden; }
.responsible-cycle::after { content: ""; position: absolute; width: 580px; height: 580px; right: -310px; bottom: -340px; border: 1px solid rgba(94, 231, 225, 0.2); border-radius: 50%; box-shadow: rgba(94, 231, 225, 0.035) 0px 0px 0px 90px; }
.responsible-cycle-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid rgba(255, 255, 255, 0.18); }
.responsible-cycle-grid article { min-height: 330px; padding: 32px 28px 36px; border-right: 1px solid rgba(255, 255, 255, 0.18); }
.responsible-cycle-grid article:first-child { padding-left: 0px; }
.responsible-cycle-grid article:last-child { border-right: 0px; }
.responsible-cycle-grid article > span { color: var(--cyan); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.14em; }
.responsible-cycle-grid h3 { margin: 75px 0px 17px; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.responsible-cycle-grid p { margin: 0px; color: rgba(255, 255, 255, 0.6); font-size: 0.96rem; line-height: 1.68; }
.esg-governance-note { position: relative; z-index: 1; display: grid; grid-template-columns: 0.33fr 1fr; gap: 44px; max-width: 900px; margin: 54px 0px 0px auto; padding: 30px 0px 0px; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.esg-governance-note span { color: var(--cyan); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.esg-governance-note p { margin: 0px; color: rgba(255, 255, 255, 0.7); font-size: 1.05rem; line-height: 1.7; }
.article-eight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.article-eight-grid article { min-height: 310px; padding: 30px; border: 1px solid var(--line); background: var(--paper); }
.article-eight-grid article > span { color: rgb(44, 110, 114); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.article-eight-grid h3 { margin: 70px 0px 17px; font-family: var(--serif); font-size: clamp(1.85rem, 2.7vw, 2.55rem); font-weight: 400; line-height: 1.07; }
.article-eight-grid p { margin: 0px; color: var(--muted); font-size: 0.96rem; line-height: 1.65; }
.sfdr-section { border-top: 1px solid var(--line); }
.sfdr-heading { display: grid; grid-template-columns: 1fr auto; gap: 55px; align-items: end; margin-bottom: 54px; }
.sfdr-heading .eyebrow { margin-bottom: 20px; color: rgb(44, 110, 114); }
.sfdr-heading h2 { font-size: clamp(2.8rem, 4.7vw, 4.8rem); }
.language-switch { display: inline-flex; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: rgb(255, 255, 255); }
.language-switch button { min-width: 112px; min-height: 44px; padding: 9px 17px; border: 0px; border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: 0.86rem; font-weight: 750; }
.language-switch button[aria-selected="true"] { background: var(--ink); color: rgb(255, 255, 255); }
.language-switch button:focus-visible, .document-card:focus-visible, .fund-disclosure-note a:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.sfdr-copy { max-width: 1060px; margin-left: auto; }
.language-panel[hidden] { display: none; }
.language-panel { padding: 58px 64px 66px; border: 1px solid var(--line); background: rgb(255, 255, 255); }
.disclosure-title { padding-bottom: 42px; border-bottom: 1px solid var(--line); }
.disclosure-title > span { color: rgb(44, 110, 114); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.disclosure-title h3 { margin: 17px 0px 0px; font-family: var(--serif); font-size: clamp(2.7rem, 5vw, 5rem); font-weight: 400; line-height: 1; letter-spacing: -0.04em; }
.language-panel > section { padding: 45px 0px 34px; border-bottom: 1px solid var(--line); }
.language-panel > section:last-child { border-bottom: 0px; }
.language-panel h4 { max-width: 790px; margin: 0px 0px 23px; font-family: var(--serif); font-size: clamp(1.7rem, 2.8vw, 2.45rem); font-weight: 400; line-height: 1.16; }
.language-panel p { max-width: 820px; margin: 0px 0px 17px; color: rgb(79, 91, 108); font-size: 1rem; line-height: 1.76; }
.language-panel p:last-child { margin-bottom: 0px; }
.language-panel .fund-disclosure-note { margin-top: 12px; padding: 38px 40px; border: 0px; background: var(--ink); color: rgb(255, 255, 255); }
.fund-disclosure-note h4 { color: rgb(255, 255, 255); }
.fund-disclosure-note p { color: rgba(255, 255, 255, 0.65); }
.fund-disclosure-note a { display: inline-flex; gap: 14px; align-items: center; margin-top: 20px; color: var(--cyan); font-size: 0.88rem; font-weight: 750; }
.document-section { border-top: 1px solid var(--line); }
.document-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.document-card { display: flex; min-height: 320px; padding: 31px; border: 1px solid var(--line); background: var(--paper); flex-direction: column; transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s; }
.document-card:hover { transform: translateY(-4px); border-color: rgba(6, 17, 37, 0.3); box-shadow: rgba(6, 17, 37, 0.08) 0px 18px 45px; }
.document-meta { color: rgb(44, 110, 114); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.document-card > strong { max-width: 620px; margin: 58px 0px 10px; font-family: var(--serif); font-size: clamp(2rem, 3.2vw, 3.15rem); font-weight: 400; line-height: 1.06; }
.document-subtitle { color: var(--muted); font-size: 0.96rem; }
.document-download { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); font-size: 0.82rem; font-weight: 750; }
.document-download b { font-size: 1rem; transition: transform 0.2s; }
.document-card:hover .document-download b { transform: translateY(3px); }
.split-panel { display: grid; grid-template-columns: 1fr 1fr; }
.split-panel > article { min-height: 490px; padding: 62px; background: rgb(255, 255, 255); }
.split-panel > article:nth-child(2) { background: var(--ink); color: rgb(255, 255, 255); }
.split-panel .eyebrow { color: rgb(44, 110, 114); }
.split-panel > article:nth-child(2) .eyebrow { color: var(--cyan); }
.split-panel h3 { margin: 80px 0px 18px; font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 400; line-height: 1.06; }
.split-panel p { max-width: 510px; color: var(--muted); }
.split-panel > article:nth-child(2) p { color: rgba(255, 255, 255, 0.6); }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.info-card { min-height: 330px; padding: 30px; border: 1px solid var(--line); background: rgb(255, 255, 255); }
.info-card .eyebrow { color: rgb(44, 110, 114); }
.info-card h3 { margin: 78px 0px 15px; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1.1; }
.info-card p { color: var(--muted); }
.info-card a { display: inline-block; margin-top: 18px; font-size: 0.85rem; font-weight: 750; border-bottom: 1px solid; }
.portfolio-index { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.portfolio-index .company-card { min-height: 420px; }
.portfolio-index .company-card h3 { font-size: clamp(2.25rem, 4vw, 4rem); }
.accent-aqua { background: linear-gradient(145deg, rgb(215, 243, 242), rgb(237, 247, 245) 68%, rgb(250, 204, 196)); }
.accent-coral { background: linear-gradient(145deg, rgb(255, 224, 218), rgb(245, 238, 233)); }
.accent-blue { background: linear-gradient(145deg, rgb(220, 229, 246), rgb(237, 242, 248)); }
.accent-mint { background: linear-gradient(145deg, rgb(220, 239, 235), rgb(242, 247, 245)); }
.accent-violet { background: linear-gradient(145deg, rgb(229, 226, 244), rgb(246, 242, 250)); }
.accent-sand { background: linear-gradient(145deg, rgb(238, 228, 213), rgb(248, 243, 235)); }
.accent-rose { background: linear-gradient(145deg, rgb(244, 221, 228), rgb(250, 240, 242)); }
.accent-ice { background: linear-gradient(145deg, rgb(219, 239, 244), rgb(241, 247, 248)); }
.accent-teal { background: linear-gradient(145deg, rgb(207, 234, 230), rgb(237, 247, 244)); }
.accent-peach { background: linear-gradient(145deg, rgb(248, 217, 201), rgb(248, 238, 232)); }
.accent-navy { background: linear-gradient(145deg, rgb(214, 222, 236), rgb(238, 241, 247)); }
.accent-lime { background: linear-gradient(145deg, rgb(229, 237, 207), rgb(244, 247, 232)); }
.company-hero { min-height: 660px; padding-top: 190px; }
.company-hero .company-meta { margin-bottom: 42px; }
.company-hero h1 { max-width: 980px; }
.company-profile-aside { display: grid; align-content: start; gap: 26px; }
.company-logo-box { display: grid; width: min(100%, 245px); aspect-ratio: 1 / 1; place-items: center; padding: 22px; overflow: hidden; border: 1px solid var(--line); background: rgb(255, 255, 255); }
.company-logo-box img { width: 100%; height: 100%; object-fit: contain; }
.company-logo-fallback { align-content: center; gap: 9px; padding: 28px; background: var(--ink); color: rgb(255, 255, 255); text-align: center; }
.company-logo-fallback strong { font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.1; }
.company-logo-fallback span { color: var(--cyan); font-size: 0.67rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.company-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.company-fact { min-height: 180px; padding: 32px; border-right: 1px solid var(--line); }
.company-fact:first-child { padding-left: 0px; }
.company-fact:last-child { border-right: 0px; }
.company-fact span { color: rgb(44, 110, 114); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.company-fact strong { display: block; margin-top: 50px; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.fund-list { gap: 6px; display: grid !important; }
.fund-list span { color: var(--ink); font-family: var(--serif); font-size: 1.05rem; font-weight: 400; letter-spacing: 0px; line-height: 1.3; text-transform: none; }
.company-leadership { position: relative; overflow: hidden; }
.company-leadership::after { content: ""; position: absolute; width: 520px; height: 520px; right: -270px; bottom: -310px; border: 1px solid rgba(94, 231, 225, 0.2); border-radius: 50%; box-shadow: rgba(94, 231, 225, 0.035) 0px 0px 0px 90px; }
.leadership-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); border-block: 1px solid rgba(255, 255, 255, 0.18); }
.leadership-grid article { min-height: 190px; padding: 30px; border-right: 1px solid rgba(255, 255, 255, 0.18); }
.leadership-grid article:first-child { padding-left: 0px; }
.leadership-grid article:last-child { border-right: 0px; }
.leadership-grid h3 { margin: 70px 0px 8px; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.leadership-grid p { margin: 0px; color: rgba(255, 255, 255, 0.55); font-size: 0.88rem; }
.company-website { position: relative; z-index: 1; margin-top: 40px; }
.fund-stack { display: grid; gap: 18px; }
.fund-card { display: grid; grid-template-columns: 0.8fr 1.2fr; min-height: 400px; background: rgb(255, 255, 255); border: 1px solid var(--line); }
.fund-title { display: flex; flex-direction: column; justify-content: space-between; padding: 42px; background: linear-gradient(145deg, rgb(215, 243, 242), rgb(241, 248, 246)); }
.fund-card:nth-child(2) .fund-title { background: linear-gradient(145deg, rgb(255, 224, 218), rgb(247, 242, 237)); }
.fund-title h3 { margin: 0px; font-family: var(--serif); font-size: clamp(2.7rem, 5vw, 4.6rem); font-weight: 400; line-height: 1; }
.fund-title h3 em { color: rgb(44, 110, 114); font-weight: 400; }
.fund-title span { font-size: 0.72rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.fund-identity { display: grid; gap: 32px; }
.fund-capital { display: flex; align-items: baseline; gap: 12px; }
.fund-capital strong { font-family: var(--serif); font-size: 2.25rem; font-weight: 400; line-height: 1; }
.fund-capital small { color: rgb(67, 80, 100); font-size: 0.7rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.fund-content { padding: 48px; }
.fund-content p { max-width: 640px; color: var(--muted); font-size: 1.05rem; }
.fund-content p strong { color: var(--ink); }
.fund-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 40px; }
.fund-tags span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; font-size: 0.74rem; }
.fund-support { margin-top: 44px; padding-top: 34px; border-top: 1px solid var(--line); }
.fund-support img { display: block; width: min(100%, 400px); height: auto; margin: 24px 0px 28px; }
.fund-support p { font-size: 0.92rem; line-height: 1.65; }
.initiative-stack { display: grid; gap: 18px; margin-top: 70px; }
.initiative-card .fund-title h3 { font-size: clamp(2.25rem, 3.8vw, 3.8rem); }
.initiative-detail { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--line); }
.initiative-detail h4 { margin: 0px 0px 22px; font-family: var(--serif); font-size: clamp(1.8rem, 2.8vw, 2.7rem); font-weight: 400; }
.fund-overview-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: 18px; }
.fund-summary-card { position: relative; display: grid; grid-template-rows: auto auto 1fr auto; gap: 26px; min-height: 390px; padding: 38px; overflow: hidden; border: 1px solid var(--line); background: rgb(255, 255, 255); }
.fund-summary-card::before { content: ""; position: absolute; inset: 0px 0px auto; height: 5px; background: var(--cyan); }
.fund-summary-card.accent-coral::before { background: var(--coral); }
.fund-summary-card.accent-blue::before { background: rgb(93, 127, 216); }
.fund-summary-card.accent-mint::before { background: rgb(118, 203, 179); }
.fund-summary-meta { display: flex; justify-content: space-between; gap: 20px; color: rgb(44, 110, 114); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.fund-summary-meta span:last-child { color: rgb(100, 112, 128); text-align: right; }
.fund-summary-card h3 { margin: 0px; max-width: 510px; font-family: var(--serif); font-size: clamp(2.25rem, 3.7vw, 3.65rem); font-weight: 400; line-height: 1.02; }
.fund-summary-card h3 em { color: rgb(44, 110, 114); font-weight: 400; }
.fund-summary-card p { align-self: start; max-width: 520px; margin: 0px; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.fund-summary-capital { display: flex; align-items: baseline; gap: 13px; padding-top: 24px; border-top: 1px solid var(--line); }
.fund-summary-capital strong { font-family: var(--serif); font-size: 2.45rem; font-weight: 400; line-height: 1; }
.fund-summary-capital span { color: rgb(100, 112, 128); font-size: 0.7rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; }
.disclosure-grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 90px; }
.disclosure-aside { display: grid; align-content: start; gap: 34px; }
.support-logos { display: flex; align-items: center; gap: 24px; }
.support-logos img { width: 180px; height: auto; }
.support-logos .eif-logo { width: 110px; }
.fund-disclosure .editorial-body h2 { margin: 0px 0px 30px; font-size: clamp(2.4rem, 4vw, 4rem); }
.fund-disclosure .editorial-body p, .lombardia-disclosure .editorial-body p { color: rgb(79, 91, 108); font-size: 1.02rem; line-height: 1.75; }
.lombardia-programme-logos { display: block; width: 100%; height: auto; margin-top: 44px; padding-top: 30px; border-top: 1px solid var(--line); }
.team-core-section { overflow: hidden; }
.team-member-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.team-member-card { display: flex; min-width: 0px; padding: 0px; overflow: hidden; border: 1px solid var(--line); background: rgb(255, 255, 255); cursor: pointer; flex-direction: column; text-align: left; transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s; }
.team-member-card:hover { transform: translateY(-5px); border-color: rgba(6, 17, 37, 0.3); box-shadow: rgba(6, 17, 37, 0.09) 0px 22px 48px; }
.team-member-card:focus-visible, .advisor-card:focus-visible, .team-dialog-close:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.team-photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: rgb(216, 231, 238); }
.team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform 0.45s; }
.team-member-card:hover .team-photo img { transform: scale(1.025); }
.team-card-copy { display: flex; min-height: 190px; padding: 26px 28px 25px; flex-direction: column; }
.person-role { color: rgb(44, 110, 114); font-size: 0.7rem; font-weight: 750; letter-spacing: 0.13em; line-height: 1.45; text-transform: uppercase; }
.team-card-copy strong { margin: 13px 0px 0px; font-family: var(--serif); font-size: clamp(1.8rem, 2.6vw, 2.45rem); font-weight: 400; line-height: 1.03; letter-spacing: -0.03em; }
.bio-link { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); font-size: 0.78rem; font-weight: 750; }
.bio-link b, .advisor-bio-link b { font-size: 1rem; transition: transform 0.2s; }
.team-member-card:hover .bio-link b, .advisor-card:hover .advisor-bio-link b { transform: translate(2px, -2px); }
.team-subsection-head { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 90px; align-items: start; margin: 110px 0px 42px; padding-top: 42px; border-top: 1px solid var(--line); }
.team-subsection-head .eyebrow { color: rgb(44, 110, 114); }
.team-subsection-head p { max-width: 690px; margin: 0px; color: rgb(79, 91, 108); font-family: var(--serif); font-size: clamp(1.45rem, 2.5vw, 2.2rem); line-height: 1.35; }
.operations-grid { max-width: 66.6667%; grid-template-columns: repeat(2, 1fr); }
.advisor-section { border-top: 1px solid var(--line); }
.advisor-heading { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 90px; align-items: start; margin-bottom: 52px; }
.advisor-heading .eyebrow { color: rgb(44, 110, 114); }
.advisor-heading h2 { font-size: clamp(2.5rem, 4.2vw, 4.4rem); }
.advisor-heading p { max-width: 690px; margin: 24px 0px 0px; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.advisor-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.advisor-card { display: grid; grid-template-columns: 104px 1fr; gap: 22px; min-width: 0px; min-height: 132px; padding: 13px; border: 1px solid var(--line); background: var(--paper); cursor: pointer; text-align: left; transition: background 0.2s, border-color 0.2s; }
.advisor-card:hover { border-color: rgba(6, 17, 37, 0.28); background: rgb(255, 255, 255); }
.advisor-photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: rgb(216, 231, 238); }
.advisor-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.advisor-card-copy { display: flex; min-width: 0px; padding: 7px 8px 7px 0px; flex-direction: column; }
.advisor-card-copy strong { margin-top: 8px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.08; letter-spacing: -0.02em; }
.advisor-bio-link { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-top: auto; color: var(--muted); font-size: 0.72rem; font-weight: 700; }
.team-dialog { width: min(980px, 100% - 40px); max-height: min(860px, 100dvh - 40px); padding: 0px; overflow: hidden; border: 0px; background: rgb(255, 255, 255); color: var(--ink); box-shadow: rgba(0, 0, 0, 0.34) 0px 34px 110px; }
.team-dialog::backdrop { background: rgba(6, 17, 37, 0.78); backdrop-filter: blur(5px); }
.team-dialog-shell { position: relative; display: grid; grid-template-columns: 0.78fr 1.22fr; min-height: 620px; max-height: min(860px, 100dvh - 40px); }
.team-dialog-photo { min-height: 0px; overflow: hidden; background: rgb(216, 231, 238); }
.team-dialog-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.team-dialog-content { padding: 70px 64px 58px; overflow-y: auto; }
.team-dialog-content .eyebrow { color: rgb(44, 110, 114); }
.team-dialog-content h2 { margin-top: 17px; font-size: clamp(2.8rem, 5vw, 4.6rem); line-height: 0.98; }
.team-dialog-content p { color: rgb(79, 91, 108); font-size: 1rem; line-height: 1.75; }
.team-dialog-rule { width: 72px; height: 3px; margin: 28px 0px 32px; background: var(--coral); }
.team-dialog-content .team-education { margin-top: 28px; padding-top: 23px; border-top: 1px solid var(--line); font-size: 0.9rem; }
.team-education span { display: block; margin-bottom: 7px; color: rgb(44, 110, 114); font-size: 0.67rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.team-dialog-close { position: absolute; z-index: 2; top: 18px; right: 18px; display: grid; width: 42px; height: 42px; padding: 0px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255, 255, 255, 0.94); cursor: pointer; font-size: 1.6rem; font-weight: 300; line-height: 1; }
.insights-feature-section { padding: 88px 0px; background: var(--paper); }
.featured-insight { display: grid; grid-template-columns: 0.9fr 1.1fr; width: min(100%, 1120px); min-height: 470px; margin-inline: auto; overflow: hidden; border: 1px solid var(--line); background: rgb(255, 255, 255); transition: transform 0.25s, box-shadow 0.25s; }
.featured-insight:hover { transform: translateY(-5px); box-shadow: rgba(6, 17, 37, 0.1) 0px 25px 60px; }
.featured-insight-image { display: block; min-height: 100%; overflow: hidden; background: rgb(220, 233, 234); }
.featured-insight-image img { width: 100%; height: 100%; object-fit: cover; object-position: center center; transition: transform 0.5s; }
.featured-insight:hover .featured-insight-image img { transform: scale(1.025); }
.featured-insight-copy { display: flex; padding: 38px 40px 34px; flex-direction: column; }
.insight-meta { display: flex; justify-content: space-between; gap: 20px; color: rgb(44, 110, 114); font-size: 0.69rem; font-weight: 750; letter-spacing: 0.1em; line-height: 1.5; text-transform: uppercase; }
.insight-meta time { color: rgb(100, 112, 128); text-align: right; }
.featured-insight-copy > strong { margin: 44px 0px 20px; font-family: var(--serif); font-size: clamp(2.2rem, 3.3vw, 3.45rem); font-weight: 400; line-height: 1.03; letter-spacing: -0.04em; }
.featured-excerpt { color: var(--muted); font-size: 0.94rem; line-height: 1.62; }
.news-read-link { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: auto; padding-top: 30px; border-top: 1px solid var(--line); font-size: 0.8rem; font-weight: 750; }
.news-read-link b { font-size: 1rem; transition: transform 0.2s; }
.featured-insight:hover .news-read-link b, .insight-card:hover .news-read-link b { transform: translate(2px, -2px); }
.news-image-fallback { position: relative; display: grid; place-items: center; isolation: isolate; overflow: hidden; background: linear-gradient(145deg, rgb(215, 243, 242), rgb(237, 247, 245) 58%, rgb(250, 204, 196)); }
.news-image-fallback::before { content: ""; position: absolute; z-index: -1; width: 360px; height: 360px; right: -120px; bottom: -160px; border: 1px solid rgba(6, 17, 37, 0.14); border-radius: 50%; box-shadow: rgba(255, 255, 255, 0.25) 0px 0px 0px 65px, rgba(255, 255, 255, 0.15) 0px 0px 0px 130px; }
.news-image-wordmark { color: rgba(6, 17, 37, 0.72); font-family: var(--serif); font-size: clamp(1.4rem, 3vw, 2.8rem); }
.insights-archive-section { border-top: 1px solid var(--line); }
.insights-year-groups { display: grid; }
.insights-year { display: grid; grid-template-columns: 0.28fr 1fr; gap: 55px; padding: 52px 0px 72px; border-top: 1px solid var(--line); }
.insights-year > h3 { margin: 0px; color: rgb(44, 110, 114); font-family: var(--serif); font-size: clamp(2.1rem, 3.6vw, 3.5rem); font-weight: 400; letter-spacing: -0.03em; }
.insight-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.insight-card { display: flex; min-width: 0px; overflow: hidden; border: 1px solid var(--line); background: var(--paper); flex-direction: column; transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s; }
.insight-card:hover { transform: translateY(-4px); border-color: rgba(6, 17, 37, 0.3); box-shadow: rgba(6, 17, 37, 0.08) 0px 18px 45px; }
.insight-card-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: rgb(220, 233, 234); }
.insight-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center center; transition: transform 0.45s; }
.insight-card:hover .insight-card-image img { transform: scale(1.025); }
.insight-card-copy { display: flex; min-height: 390px; padding: 28px 29px 26px; flex-direction: column; }
.insight-card-copy > strong { margin: 55px 0px 18px; font-family: var(--serif); font-size: clamp(1.85rem, 2.6vw, 2.5rem); font-weight: 400; line-height: 1.08; letter-spacing: -0.03em; }
.insight-card-excerpt { color: var(--muted); font-size: 0.92rem; line-height: 1.62; }
.insight-card .news-read-link { margin-top: auto; }
.article-hero { position: relative; min-height: 690px; padding: 170px 0px 105px; overflow: hidden; background: var(--ink); color: rgb(255, 255, 255); }
.article-hero-inner { position: relative; z-index: 2; }
.article-back-link { display: inline-block; margin-bottom: 70px; color: rgba(255, 255, 255, 0.62); font-size: 0.8rem; font-weight: 700; }
.article-back-link:hover { color: var(--cyan); }
.article-hero-meta { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-bottom: 25px; color: var(--cyan); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.article-hero-meta time { color: rgba(255, 255, 255, 0.52); }
.article-hero h1 { max-width: 1160px; margin: 0px; font-family: var(--serif); font-size: clamp(3.3rem, 6.2vw, 6.6rem); font-weight: 400; line-height: 0.98; letter-spacing: -0.05em; }
.article-orbit { position: absolute; width: 640px; height: 640px; right: -250px; bottom: -410px; border: 1px solid rgba(94, 231, 225, 0.24); border-radius: 50%; box-shadow: rgba(94, 231, 225, 0.035) 0px 0px 0px 100px, rgba(94, 231, 225, 0.024) 0px 0px 0px 210px; }
.article-image-section { padding: 0px 0px 95px; background: linear-gradient(to bottom,var(--ink) 0,var(--ink) 155px,#fff 155px,#fff 100%); }
.article-image-frame { display: grid; height: min(58vw, 720px); place-items: center; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.18); background: rgb(237, 242, 242); box-shadow: rgba(6, 17, 37, 0.13) 0px 24px 65px; }
.article-image-frame img { width: 100%; height: 100%; object-fit: contain; }
.news-article { padding-top: 105px; }
.news-article-no-image { border-top: 1px solid rgba(6, 17, 37, 0.08); }
.news-article-grid { display: grid; grid-template-columns: 0.52fr 1.48fr; gap: 95px; align-items: start; }
.news-article-aside { position: sticky; top: 115px; display: grid; gap: 10px; align-self: start; padding-top: 7px; color: rgb(100, 112, 128); font-size: 0.76rem; }
.news-article-aside span { color: rgb(44, 110, 114); font-weight: 750; letter-spacing: 0.13em; text-transform: uppercase; }
.news-article-aside a { width: max-content; margin-top: 26px; color: var(--ink); font-weight: 750; border-bottom: 1px solid var(--ink); }
.news-article-body { max-width: 820px; }
.news-article-body p, .news-article-body li { color: rgb(79, 91, 108); font-size: 1.06rem; line-height: 1.8; }
.news-article-body > p:first-child { margin-top: 0px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.45rem, 2.35vw, 2rem); line-height: 1.42; }
.news-article-body h2 { margin: 58px 0px 18px; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.12; }
.news-article-body ul, .news-article-body ol { margin: 24px 0px; padding-left: 24px; }
.news-article-body blockquote { margin: 45px 0px; padding: 26px 0px 26px 30px; border-left: 3px solid var(--coral); color: var(--ink); font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.4; }
.news-article-body a { color: var(--ink); font-weight: 700; border-bottom: 1px solid; }
.contact-band { padding: 105px 0px; background: var(--cyan); }
.contact-band-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 80px; align-items: end; }
.contact-band .eyebrow { margin-bottom: 25px; }
.contact-list { display: grid; }
.contact-list a { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 20px 0px; border-bottom: 1px solid rgba(6, 17, 37, 0.3); }
.contact-list strong, .contact-list small { display: block; }
.contact-list small { max-width: 360px; margin-top: 4px; color: rgba(6, 17, 37, 0.62); font-size: 0.77rem; font-weight: 500; }
.contact-list b { font-size: 1.15rem; transition: transform 0.2s; }
.contact-list a:hover b { transform: translate(5px); }
.contact-options { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.contact-option { min-height: 360px; padding: 34px 28px 40px; border-right: 1px solid var(--line); }
.contact-option:first-child { padding-left: 0px; }
.contact-option:last-child { border-right: 0px; }
.contact-option h2 { margin-top: 70px; font-size: 2.2rem; }
.contact-option p { color: var(--muted); }
.contact-option a { display: inline-block; margin-top: 20px; font-weight: 750; border-bottom: 1px solid; }
.office-view { width: 100%; margin: 42px 0px 0px; overflow: hidden; background: var(--ink); }
.office-view img { width: 100%; height: auto; }
.legal-shell { padding: 180px 0px 110px; background: rgb(255, 255, 255); }
.legal-header-bg { height: 100px; background: var(--ink); }
.legal-grid { display: grid; grid-template-columns: 0.6fr 1.4fr; gap: 90px; }
.legal-nav { position: sticky; top: 110px; align-self: start; display: grid; gap: 10px; font-size: 0.84rem; }
.legal-nav a { padding: 7px 0px; color: var(--muted); }
.legal-nav a:hover, .legal-nav a[aria-current="page"] { color: var(--ink); }
.legal-nav a[aria-current="page"] { font-weight: 750; }
.legal-content { max-width: 790px; }
.legal-content h1 { margin: 0px 0px 35px; font-family: var(--serif); font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: 1; letter-spacing: -0.045em; }
.legal-content h2 { margin: 58px 0px 17px; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.15; }
.legal-content p, .legal-content li { color: rgb(79, 91, 108); line-height: 1.75; }
.legal-content a:not(.legal-action):not(.legal-link-list a) { color: var(--ink); border-bottom: 1px solid; }
.legal-content ul { margin: 20px 0px 0px; padding-left: 23px; }
.legal-content li + li { margin-top: 9px; }
.legal-updated { margin: -20px 0px 44px; font-size: 0.75rem; font-weight: 750; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(44, 110, 114) !important; }
.legal-lead { margin: 0px 0px 50px; font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 2.05rem); color: var(--ink) !important; line-height: 1.4 !important; }
.legal-placeholder { margin-bottom: 45px; padding: 22px; border: 1px solid rgba(255, 122, 103, 0.55); background: rgba(255, 122, 103, 0.08); }
.legal-placeholder strong { display: block; margin-bottom: 6px; }
.legal-callout { margin-top: 58px; padding: 34px; background: var(--ink); color: rgb(255, 255, 255); }
.legal-callout > strong { display: block; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.legal-callout p { color: rgba(255, 255, 255, 0.65); }
.legal-action { display: inline-flex; align-items: center; gap: 12px; margin-top: 12px; padding: 12px 18px; border: 1px solid var(--cyan); border-radius: 999px; color: var(--cyan); font-size: 0.88rem; font-weight: 750; }
.legal-action:hover { background: var(--cyan); color: var(--ink); }
.legal-action:focus-visible, .legal-link-list a:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.legal-facts { display: grid; margin: 25px 0px 0px; border-top: 1px solid var(--line); }
.legal-facts > div { display: grid; grid-template-columns: 0.6fr 1.4fr; gap: 26px; padding: 20px 0px; border-bottom: 1px solid var(--line); }
.legal-facts dt { color: rgb(44, 110, 114); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.11em; text-transform: uppercase; }
.legal-facts dd { margin: 0px; color: rgb(79, 91, 108); }
.legal-link-list { display: grid; margin-top: 28px; border-top: 1px solid var(--line); }
.legal-link-list a { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 17px 0px; border-bottom: 1px solid var(--line); font-weight: 700; }
.legal-link-list a b { font-size: 1rem; transition: transform 0.2s; }
.legal-link-list a:hover b { transform: translate(2px, -2px); }
.legal-link-list.internal a:hover b { transform: translate(3px); }
.site-footer { padding: 62px 0px 34px; background: var(--ink); color: rgb(255, 255, 255); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 0.6fr 0.6fr; gap: 60px; }
.footer-brand { margin-bottom: 20px; font-family: var(--serif); font-size: 2.1rem; }
.footer-copy { max-width: 450px; color: rgba(255, 255, 255, 0.52); }
.footer-col h2 { margin: 0px 0px 20px; color: var(--cyan); font-family: var(--sans); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.footer-col a { display: block; margin: 9px 0px; color: rgba(255, 255, 255, 0.7); }
.footer-bottom { margin-top: 52px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.4); font-size: 0.76rem; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 17px; color: rgba(255, 255, 255, 0.3); font-size: 0.69rem; }
.footer-legal a:hover { color: rgba(255, 255, 255, 0.68); }
@media (max-width: 1040px) {
  .desktop-nav { gap: 18px; }
  .desktop-nav > a:not(.nav-cta) { display: none; }
  .menu-button { display: flex; }
  .mobile-nav { display: block; }
  .site-header:has(.mobile-nav.is-open) .menu-button span:first-child { transform: translateY(4px) rotate(45deg); }
  .site-header:has(.mobile-nav.is-open) .menu-button span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .nav-cta { display: none; }
  .section-head, .page-hero-grid, .editorial-grid { grid-template-columns: 1fr; gap: 18px; }
  .page-hero { min-height: 580px; }
  .page-hero .eyebrow { padding-top: 0px; }
  .investment-flow { grid-template-columns: 1fr; }
  .routes { grid-template-columns: 1fr 1fr; }
  .portfolio-featured { grid-template-columns: 1fr; grid-template-rows: auto; }
  .portfolio-featured .company-card:first-child { grid-row: auto; min-height: 480px; }
  .contact-band-grid { grid-template-columns: 1fr; gap: 40px; }
  .team-member-grid, .team-grid, .card-grid { grid-template-columns: repeat(2, 1fr); }
  .operations-grid { max-width: 100%; }
  .team-subsection-head, .advisor-heading { grid-template-columns: 1fr; gap: 18px; }
  .responsible-cycle-grid { grid-template-columns: repeat(2, 1fr); }
  .responsible-cycle-grid article:nth-child(2) { border-right: 0px; }
  .responsible-cycle-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
  .sfdr-heading { grid-template-columns: 1fr; align-items: start; }
  .sfdr-copy { max-width: 100%; }
  .featured-insight { grid-template-columns: 1fr; width: min(100%, 820px); min-height: 0px; }
  .featured-insight-image { min-height: 0px; aspect-ratio: 16 / 7; }
  .featured-insight-copy { min-height: 360px; }
  .insights-year { grid-template-columns: 1fr; gap: 30px; }
  .news-article-grid { grid-template-columns: 0.42fr 1.58fr; gap: 55px; }
  .company-facts { grid-template-columns: repeat(2, 1fr); }
  .company-fact:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .company-fact:nth-child(2) { border-right: 0px; }
}
@media (max-width: 760px) {
  .wrap { width: min(calc(100% - 30px),var(--max)); }
  .site-header { height: 78px; }
  .site-header.is-scrolled { height: 68px; }
  .brand-logo { width: 160px; }
  .mobile-nav { padding-top: 78px; }
  .mobile-nav-inner { min-height: calc(-78px + 100svh); }
  .home-hero { min-height: 760px; }
  .home-hero::before { background: linear-gradient(90deg, rgba(6, 17, 37, 0.98), rgba(6, 17, 37, 0.66)), url("/assets/claris-hero.png") 64% center / cover; }
  .home-hero-content { padding: 112px 0px 58px; }
  .home-hero h1 { font-size: clamp(3.3rem, 16vw, 5rem); }
  .home-hero-copy { font-size: 1rem; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-item { padding: 28px 18px; }
  .proof-item:nth-child(2) { border-right: 0px; }
  .proof-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .proof-item:nth-child(3) { padding-left: 0px; }
  .content-section { padding: 80px 0px; }
  .principles, .focus-grid { grid-template-columns: 1fr; }
  .principle, .principle:first-child, .focus-item, .focus-item:first-child { min-height: auto; padding: 28px 10px; border-right: 0px; border-bottom: 1px solid var(--line); }
  .principle:last-child, .focus-item:last-child { border-bottom: 0px; }
  .principle h3, .focus-item h3 { margin-top: 32px; }
  .routes { grid-template-columns: 1fr; }
  .route-card { min-height: 265px; }
  .company-card, .portfolio-featured .company-card:first-child { min-height: 370px; padding: 26px; }
  .company-meta { flex-direction: column; gap: 5px; }
  .portfolio-footer { flex-direction: column; }
  .page-hero { min-height: 560px; padding: 145px 0px 78px; }
  .page-hero h1 { font-size: clamp(3.25rem, 15vw, 5.2rem); }
  .draft-notice { width: min(calc(100% - 30px),var(--max)); align-items: flex-start; flex-direction: column; }
  .feature-row { grid-template-columns: 1fr; gap: 12px; }
  .split-panel { grid-template-columns: 1fr; }
  .split-panel > article { min-height: 390px; padding: 35px 25px; }
  .split-panel h3 { margin-top: 56px; }
  .responsible-pillar-grid, .article-eight-grid { grid-template-columns: 1fr; }
  .responsible-pillar, .responsible-pillar:first-child { min-height: auto; padding: 30px 0px 34px; border-right: 0px; border-bottom: 1px solid var(--line); }
  .responsible-pillar:last-child { border-bottom: 0px; }
  .responsible-pillar h3 { margin-top: 42px; }
  .responsible-cycle-grid { grid-template-columns: 1fr; }
  .responsible-cycle-grid article, .responsible-cycle-grid article:first-child { min-height: auto; padding: 28px 0px 34px; border-right: 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
  .responsible-cycle-grid article:last-child { border-bottom: 0px; }
  .responsible-cycle-grid h3 { margin-top: 40px; }
  .esg-governance-note { grid-template-columns: 1fr; gap: 18px; }
  .article-eight-grid article { min-height: 270px; padding: 26px; }
  .article-eight-grid h3 { margin-top: 50px; }
  .sfdr-heading { margin-bottom: 38px; }
  .language-switch { width: 100%; }
  .language-switch button { min-width: 0px; flex: 1 1 0%; }
  .language-panel { padding: 34px 24px 38px; }
  .disclosure-title { padding-bottom: 30px; }
  .language-panel > section { padding: 34px 0px 26px; }
  .language-panel .fund-disclosure-note { padding: 30px 24px; }
  .document-grid { grid-template-columns: 1fr; }
  .document-card { min-height: 285px; padding: 26px; }
  .document-card > strong { margin-top: 46px; }
  .card-grid, .portfolio-index, .team-member-grid, .team-grid, .insight-grid { grid-template-columns: 1fr; }
  .team-card-copy { min-height: 170px; }
  .about-intro-section { padding-bottom: 44px; }
  .about-defines-section { padding-top: 44px; }
  .about-team-image { margin-top: 52px; aspect-ratio: auto; }
  .about-team-image img { height: auto; object-fit: contain; }
  .team-subsection-head { margin-top: 80px; }
  .advisor-grid { grid-template-columns: 1fr; }
  .advisor-card { grid-template-columns: 88px 1fr; min-height: 114px; gap: 17px; }
  .advisor-card-copy strong { font-size: 1.35rem; }
  .team-dialog { width: min(100% - 20px, 640px); max-height: calc(100dvh - 20px); }
  .team-dialog-shell { grid-template-columns: 1fr; max-height: calc(100dvh - 20px); overflow-y: auto; }
  .team-dialog-photo { height: 300px; }
  .team-dialog-content { padding: 40px 28px 36px; overflow: visible; }
  .team-dialog-close { top: 12px; right: 12px; }
  .insights-feature-section { padding: 64px 0px; }
  .featured-insight-image { aspect-ratio: 16 / 9; }
  .featured-insight-copy { min-height: 400px; padding: 28px 25px 25px; }
  .featured-insight-copy > strong { margin-top: 38px; font-size: clamp(2.05rem, 9vw, 2.85rem); }
  .insights-year { padding: 42px 0px 58px; }
  .insight-card-copy { min-height: 350px; padding: 25px; }
  .insight-card-copy > strong { margin-top: 42px; }
  .article-hero { min-height: 600px; padding: 130px 0px 75px; }
  .article-back-link { margin-bottom: 50px; }
  .article-hero h1 { font-size: clamp(2.8rem, 11vw, 4.5rem); }
  .article-image-section { padding-bottom: 70px; background: linear-gradient(to bottom,var(--ink) 0,var(--ink) 80px,#fff 80px,#fff 100%); }
  .article-image-frame { height: min(75vw, 480px); }
  .news-article { padding-top: 75px; }
  .news-article-grid { grid-template-columns: 1fr; gap: 48px; }
  .news-article-aside { position: static; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
  .portfolio-index .company-card { min-height: 380px; }
  .fund-overview-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .fund-summary-card { min-height: 350px; padding: 30px; }
  .fund-summary-meta { flex-direction: column; gap: 8px; }
  .fund-summary-meta span:last-child { text-align: left; }
  .disclosure-grid { grid-template-columns: 1fr; gap: 42px; }
  .disclosure-aside { gap: 24px; }
  .fund-card { grid-template-columns: 1fr; }
  .fund-title { min-height: 310px; padding: 30px; }
  .fund-content { padding: 30px; }
  .company-facts { grid-template-columns: 1fr; }
  .company-fact, .company-fact:first-child { min-height: auto; padding: 25px 0px; border-right: 0px; border-bottom: 1px solid var(--line); }
  .company-fact:last-child { border-bottom: 0px; }
  .company-fact strong { margin-top: 22px; }
  .leadership-grid { grid-template-columns: 1fr; }
  .leadership-grid article, .leadership-grid article:first-child { min-height: auto; padding: 26px 0px; border-right: 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
  .leadership-grid article:last-child { border-bottom: 0px; }
  .leadership-grid h3 { margin-top: 35px; }
  .contact-options { grid-template-columns: 1fr; }
  .contact-option, .contact-option:first-child { min-height: auto; padding: 30px 0px; border-right: 0px; border-bottom: 1px solid var(--line); }
  .contact-option:last-child { border-bottom: 0px; }
  .contact-option h2 { margin-top: 42px; }
  .legal-shell { padding: 130px 0px 80px; }
  .legal-header-bg { height: 78px; }
  .legal-grid { grid-template-columns: 1fr; gap: 45px; }
  .legal-nav { position: static; grid-template-columns: repeat(2, 1fr); gap: 6px 18px; }
  .legal-content h1 { margin-bottom: 28px; }
  .legal-lead { margin-bottom: 42px; }
  .legal-callout { padding: 27px 24px; }
  .legal-facts > div { grid-template-columns: 1fr; gap: 7px; }
  .legal-link-list a { align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .footer-bottom { margin-top: 38px; }
}
@media (min-width: 601px) and (max-height: 850px) {
  .home-hero { min-height: max(720px, 100svh); align-items: flex-start; }
  .home-hero-content { padding-top: 118px; padding-bottom: 70px; }
  .home-hero .eyebrow { margin-bottom: 18px; }
  .home-hero h1 { font-size: clamp(3.45rem, 5.8vw, 5.65rem); }
  .home-hero-copy { margin-top: 22px; font-size: 1rem; line-height: 1.55; }
  .hero-actions { margin-top: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  * { scroll-behavior: auto !important; }
}
/* Keep the open mobile menu anchored to the viewport, including after scroll. */
@media (max-width: 1040px) {
  body.menu-open .site-header {
    position: fixed;
    background: #061125;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  body.menu-open .header-inner {
    position: relative;
    z-index: 2;
    background: #061125;
  }
  .mobile-nav {
    z-index: 1;
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #061125;
    color: #fff;
  }
}
